懐かしのMS-DOSプログラミング ver.2
■ このスレッドは過去ログ倉庫に格納されています
mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
msg db '懐かしのDOS時代のプログラミングについて語ろうぜ ver.2',0dh,0ah,'$'
前スレ
懐かしのMS-DOSプログラミング
http://toro.2ch.net/test/read.cgi/tech/1271821343/ PC-88はメインCPUがZ80だけど、FDにも専用のZ80(とRAM)を持っていて
データはそれら同士でI/Oポート介してハンドシェイクしていたんだよね。
FDの方のZ80がDMA使っていたんじゃないの? 俺は詳しくしらんけど。 >データはそれら同士でI/Oポート介してハンドシェイク
ハンドシェイクはI/O経由でも良いけど
データ転送はDMA使った方が良くね? Web見てもオーバーヘッドの問題はあったみたいだね。
もともとFDDの無かったPC-8801(8001?)から拡張して、何かしら互換性を持たせるために
建て増し的に設計して、それでFDDはサブシステムに追い出したのかも知れないし
NECの中の人が何を思う所あってそう設計したのか俺には分からないw PC-8001の外付けFDDから既にサブシステムだったから、それを継承したんだろう 元々PC-8001とPC-8031とは別々に開発がスタートしたんじゃなかったかな。
PC-8031を開発始めた段階で、どんな代物と繋ぐのかよく分かってなかったと言うw PC-8031は簡単な外付け回路でセルフブートできるし、プリンタ等繋げられるI/Fもついてるから
スタンドアロンのマイコン装置としての活用も想定されてたと思う。 スタンドアロンで音楽を演奏(ヘッドをガチャガチャ動かして)というのがあった記憶が PC-8031にプリンタ繋いで、プリンタサーバにしたことならある。 PC-8031って変換アダプタつければP6にも繋げたよな。 PC-8031にプログラムを転送して実行、結果を受け取るプログラムなら作った事ある >>124
そうか8255を使ったパラレルポートだからプログラム次第でプリンタを繋いで動かしたりとかできたんだな >>127
PC-8001との通信用とは別のポートだよ。 PC-8031って本体用ポートの他にプリンタポートも付いてたのか。 8001用のペンプリンタの試作機って見たことある
カンカンカンカンうるせーのw あのPC-8023だって十分うるさい
PC-8023でググったらWindowsから印刷してる人がしてわらた csvdeでメンバーのデータをツリー状に出力する方法ってありませんか? csvdeでメンバーのデータをツリー状に出力する方法ってありませんか? LSIC80は完全に16bitアプリなので、win7にしたら使えなくなった。
(今でも8085のコードを書く仕事がある)
netで msdos.exe というのを拾って使えるようになった。感謝。 8085なんてまだ現役なのか。
せいぜい80186くらいだと思ってた。 8085が現役なんじゃなくて、互換チップが未だ生き延びているんじゃないか?
川崎重工辺りが頑なに作っていた気がするぞ。 >>136
>LSIC80は完全に16bitアプリなので、
http://www.lsi-j.co.jp/products/lsic80.html
SolarisやFreeBSD、Linuxにも対応してるし違うんじゃない。
Windows版だけは16bitって主張? >>139
そのFreeBSD/Linuxパックも2.2.6-RELEASEだのlibc5だのって
20年くらい前のバージョンだろ
Windowsパックだって32bit版OSのみって時点で
16bit DOSアプリだと考えた方が自然 川重が作ってるのはZ80(Z180?)互換チップです。
8085は今はどこも作ってないでしょう。年に数枚しか作らない基板なので、
必要なCPUはアキバで別の基板から抜いた奴を調達してるのではないかと。
今売ってるLXIC80があれば64bit環境にも対応してるかもしれませんが、
私のは20年近く前にお客のPC98の中から拾ってきた奴なのでもろ16bit製品(w >>140
> Windowsパックだって32bit版OSのみって時点で
> 16bit DOSアプリだと考えた方が自然
動作環境にDOSもWin3.1もないんだしそれはなかろ。
いまだに売ってるDOS用ツールはDOS用って言って売ってるし。
http://www.lsi-j.co.jp/products/lsic80_debug.html
> 動作環境
> 対応OS MS-DOS 2.11以上
> 対応メモリ 384KB以上
> 対応機種 NEC PC-9800シリーズ(XA,XL,XL2,RLのハイレゾリューションモードも含む)
> PC-H98シリーズ およびその互換機 >>142
それはPC-98専用の製品だからだろ・・・ >>145
C9を瞬時に理解してしまった自分にワロタ Opcode Mnemonic Description
C9 LEAVE Set SP to BP, then pop BP. さて質問だ
com 形式で 'C9' だけおきリターンすると,無事にプロセス終了となるわけだが,そう簡単な話ではない
なぜこれでうまく終了できるのか説明願いたい.RET っていってもいったいどこに戻るのか? そうだね
scの晴れるかな
http://toro.2ch.s c/test/read.cgi/esite/1401073775/326 8080でもRETだよ。
C9の場所をcallする前にSPに適切な値を入れてやる必要がある。
それをするのはOS(の、ローダー機能)のはずだから、OSの存在が前提に
なってるね。デバッカなどでRETの場所をステップ実行すれば、PCの値が
SPの指していたメモリの内容に置換されるのが見える。 『はじめて読む486』のサンプルプログラム集がGitHubで公開されたね。
https://github.com/tkmc/486 DOSエクステンダを自作したい人なんかには有用な本だとは思うが、あんま一般的な内容じゃないと
思うんだがツイッター見てると絶賛の声が多いな >はじめて読む486 リセット直後の32bitリアルモードがずっと使えると便利なんだけどな。
リアルモードのアドレッシングだけど4GB全部アクセスできるモードが。 486の頃は既に高級言語に移行してたな…。
パフォーマンス必要なとこだけアセンブラで書いてた。
それにしても、MONコマンドとBSAVEだけでプログラム作ってたとか今じゃありえんよな。
ってこれはDOSじゃなくてN88BASICの話だけど。
DOSもDEBUGコマンドで似たような事してたから、やはりマジキチ。 >>157
え、DATA分にバイナリを羅列しておいて、BACIS では確保していた領域に POKE し、USR 関数でジャンプしていたんでは?あーわすれたね >>158
そのバイナリを作るのに、俺はまだ厨房だったからさすがに直接ニモニックコードは書けず、アセンブラでやってたのです。
読むのはできたけどね、プロテクトディスクダンプして解除とか(笑
ちなみに引数もPOKEで書いてCALLしてた。 >>159
> 直接ニモニックコードは書けず、アセンブラでやってたのです。
意味がわからん。
単語は知らんが、英語はしゃべれるみたいな? db XX,YY,ZZ〜
みたいなソース書いてアセンブラに食わせてたんじゃないの >>160
16進数でcd 21とか直接バイト列をゴリゴリ書くレベルではなかったけど、int 21hと打つことはできた、みたいな。
まあ実際は上くらいならいいけど、アドレス計算が面倒なので、機械語コードを言語に翻訳してくれるdebugコマンドはありがたかったという話。
今で言うなら、メモ帳だけでプログラム書くのはめんどいけど、IDE使うなら楽ちん、みたいな感覚かな。 ああ、ニモニックコードの意味の使い方を間違えてたのか、失礼しました ついでに言えば、masmを使えるようになった時の快適さもすごかったな。
エディタはedlinだったけど。
今じゃviエディタすら使う気がしない、もうろくしたものです。
そういや、みんなはDOS最終期は何のエディタ使ってたの?
俺はeliseだったなあ。
Turbo系のIDE系はUMBを限界まで張ってると起動できなかったから、結局コンパイラ単体しか使わなかったなあ。 MIFES, Vz …と言いたいが、俺はその時大学生だったのでフリーソフトくらいしか
選択肢が無くSE3を使っていた。
教育用 フルスクリーンテキストエディタ PC-98 アナログカラー 版
http://www.vector.co.jp/soft/dos/writing/se004927.html
パソ通の書き込みをそれで作ってkmtermで送信していたような記憶が。
FEPはソフトベンダーTAKERUで入手したWXPだったかな。 おお、こんなのあったんだね、知らなかった。
ニフティに入ってなかったから、地元の草の根でしかフリーソフトの情報なんて仕入れられなかったよ。
これ移植してる機種数すごいな。
それにしても、ベクターは偉大だなあ、本業はもうすっかりゲームになったけど、ソフトライブラリは会社がつぶれても何らかの形で残してほしい、ここからしかもう入手できない遺産が多すぎる。
実際、俺が作ったソフトもいくつか登録されてんだが、作った俺本人がここからしか入手できない、ソースも実行ファイルも読む手段のない5インチフロッピーに封印されてるので。
TAKERUも懐かしいね、魔導物語かなんかを買った記憶があるなあ。
FEPは最後までNECAIだった。
あれをUMBに入れるには、いったんVRAMもUMB領域に割り当てる必要があったなあ。 DOS時代は RED-->CW だった。winになってWZ viは、exモードを駆使して初めて真価を発揮する。
それができないなら、使う意味はあまりない。 exモードが駆使できるならvisualモードなど不要 >>169
その発想はただのヲタ
両方をTPOに応じて的確に使い分けられてこそ、真のvi使い それには同意だが、私はNitEmacsを使っていた。 おっちゃんの最期のDOSエディタはVzだった
Win3.1に入り秀丸に出会った。
今も秀丸だ。
キーバインドはWordStart&Vzな変態だw vzにシェアを食われて肩身の狭い思いをしたmifes派 Vzが出てMIFESが食われたかは知らんけど、Finalは消えた。
まあFinalは品質に問題あるソフトだったけどな。 しかし生き延びてるのはMIFESという…。
今更買う人いるのかねえ…。 そういうけどエディタってIMEやフォントと同じで慣れたものから離れられない。
生き延びるって重要だ。
仕事で永く使えるといったらMIFESの他に何かあるかな? (秀丸はちょっと…) オープンソースのものなら最悪自分でメンテ続けられるので安心だよ うーん、仕事でプレーンなテキストを書きまくるっていうシチュエーションがまず思いつかないなあ。
最近のMIFESはCSVに特化したモードとかはあるらしいけど、Excelでいいじゃん、みたいな。
1万以上する価格設定も今時強気すぎる気がする…。
今公式サイト見てきたら、内容をSNSに投稿できますってのをウリにしてる段階で、なんかもうなんか違う気がする。 ソースコード作成とか閲覧とかはテキストエディタを使うよ
csvもexcelを通すと変に加工されることがあるし、そもそも使いにくいので、csvエディタ機能はあると嬉しい
高すぎるからmifesは使わないけど MIFES風マクロだとやっぱり微妙に使いにくいのん? ソースなんてもうコード補完がないと書きたくないくらいに怠け者になってしまった Vzなつかしいな
Windows版のVzもっと早く出てれば
秀丸には乗り換えなかっただろうな >>186
>Windows版のVzもっと早く出てれば
いまだにそんなもの出てないのに? それを言い出したらMIFESだってDOS版とは別物だろうに。 >>166
nifty にしかないものも多かったからね‥MIDI データ群は返す返すも惜しい‥今 MIDI やってる人はどういう発表形態をとるの? >>190
作業比率は減ってるらしいがDOS版の作者が今も関わっててるみたいだから別物ではないだろ Mifesはバージョン5よりバージョン4のほうが軽くてよかったな。 >>192
オリジナルならニコ動とかにうpするんじゃないかな?
版権ものは分からん。
>>193
開発者がどうであれ、ソフトそのものはスクラッチだろ。 >>154
あれが有用なのは「動く」32ビットコードが省略なしに載っていて誰でも試せるところにある
実際、アラインメントの調整くらいで、タスクスイッチングが動いた、‥i386SX でのお話 特権モード関連の分かりやすい資料として高く評価されているよ。 >>156
リセット直後ってCSのベース値が特殊なだけで32bitでも何でもないぞ
いったんプロテクトモードにしてからリミット4Gのセレクタをロードして
そのままリアルモードに戻すと4GBアクセスできたりするらしいが >>190
VZはc.mos氏作であるが故のVZといえるけど、MIFESは別にそういうわけじゃないよなぁ MIFESはDOSの頃はメガソフトの外部の人ひとりでやってて、Windowsになってその人とメガソフトの中の
チームとでやってるんでなかったかな。 8085の仕事がまたキター---いよいよ基板がなくなるみたいなのでこれが最後
かな〜。使われてる石見ると1980年代の半ば頃の設計のはずなんだけど、
よく同じ石があるなと感心する。 >>206
置き換えたくても、基板アートワークを起こすのに数十万円掛かるからな。 うん、それはお客さんも言ってた。年に数枚しか出ない基板だから、その起こし
の費用が出ないんだって。今後は最近の1チップでuartが4CH載ってる適当な
基板にソフトを載せ換えることで対応するらしいので、実際にあるH8Sの基板を
想定してHEWに移植してみた。XPマシンが壊れる前に単体までは動かしてみた。
ルネでHEWなら石に見合ったiodefine.h使うだけで移植可能なので、それを
お奨めしてみたい。 そういうのに国が補助金出せばいいのに
ルネなんて救済しないでいいから 1週間返信が無いから、動いてる(確認中)なのだとおもう。
動かなければ動かんぞゴルァ!はすぐ来るだろうから。暇だったので最適化(w
_asm_c("\n\tEXTRN\teventfg_,clrdata_\n");
_asm_c("\n\tLDA\teventfg_\n\tORA\tA\n"); /* if(eventfg) */
_asm_c("\n\tCNZ\tclrdata_\n"); /* crldata() */ まあインラインアセンブラなんて局所的にしか使わんし
使い勝手なんてどうでもいいよ。 ■ このスレッドは過去ログ倉庫に格納されています