SSブログ

はじめてのDOSは… [プログラム]

はじめてのDOSは、

起動画面:PC-DOS V3.1 (1983)(Kyoto Computer Brains)
PC-DOS V3.1 (1983)(Kyoto Computer Brains)



PC-8001 用の Disk BASIC を DOS と呼ぶには抵抗があるので、それ以外で DOS と呼べるものに触れたのは、この PC-DOS が最初です。
KCB のメンバーとはじめて会った頃は、まだバージョン 1.3 から 1.4 への移行の時期でした。
たしか、1981年の夏くらいじゃなかったかと記憶しています。
他の記事で「KCB標準DOS」と書いてあるのは、この PC-DOS のことです。

ネーミングに関しては、開発者の弁によりますと…
「PC-8001 用の DOS なので、PC-DOS と名づけた」
…とのことです。
命名に関しては某PC DOS よりもこちらが先ですので念の為(笑)。




はじめてのグラフィックエディタ…」で紹介したグラフィックエディタや「元祖美少女グラフィックス」で取り上げた店頭デモも、この PC-DOS があったからこそ誕生したものです。




なんといっても特筆すべきは、起動時以外はメインメモリ領域のフリーエリアを消費しないということ。
雑誌に載っていたゲームでサイズの大きいものは Disk BASIC のシステム領域とアドレスが衝突するため、ディスクにはセーブ不可能なモノが多かったのですが、PC-DOS のおかげで全く苦労なく遊べました。

本館サイトで公開している「Dash-80」は、この「フリーエリアを消費しない」コンセプトを受け継いでいます。




PC-9801 シリーズで使用されている 2DD / 2HD ディスクドライブは、メインメモリとのデータのやり取りを DMA を使って行っていますが、PC-8001 / 8801 ではディスクユニット内に CPU とメモリを搭載し、シリアル転送でデータをやり取りしています。
PC-8801 シリーズで本体にディスクドライブを搭載している機種ならば、CPU とメモリのセットが2個ある事になります。
カタログなどに「サブシステム」という記述があるのは、このディスクユニット内の CPU とメモリを指しています。

PC-DOS ではフリーエリアを消費しないためにコマンド処理のほとんどをサブシステム側で行っています。
当時もデバッガは発売されていましたが、サブシステム側の CPU やメモリを確認する方法までは提供されていませんでしたし、エミュレータなんて物は影も形も無かった時代ですから、サブシステムのメモリダンププログラムまで自作してデバグしたそうです。

nice!(0)  コメント(11)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 11

本名荒井

自分が初めて弄ったOSはMSX-DOSでした。
さておき、フリーエリアを消費せずにディスクが使えるというのは便利そうですね。MSXのDisk-BASICは、フリーエリアを一部侵食しますから、容量の大きなプログラムはテープで動かすしかありませんでした。このおかげで、エミュ全盛の現在でも、打ち込んだプログラムを手動でテープイメージ化しているわけです。
88にはディスク用のCPUがあったのですね。「ハイドライド3」等のソフトで、ディスクを読みながらプログラム本体が動かせたのも少々納得です。
by 本名荒井 (2009-02-20 10:54) 

M_t

>命名に関しては某PC DOS よりもこちらが先ですので念の為(笑)。
命名に関しては、HAL研のように、某社の一歩先を行ってたのですね。
PCと全く関係ないですが、「DOS(ドス)」と聞くと、祇園のことばとか、武器の名称の方が先に浮かんでしまいます。
今でこそ一般的になってますが、80年代初頭となると、わかる人にしかわからなかったでしょうね。


by M_t (2009-02-20 13:12) 

Thunderbolt

本名荒井さん、M_tさん、コメントありがとうございます。

>88にはディスク用のCPUがあったのですね。「ハイドライド3」等のソフトで、ディスクを読みながらプログラム本体が動かせたのも少々納得です。

たしか ADV 「アステカ」等も、場面切り換え時のディレイを少なくする為、サブシステム側で次の場面のグラフィックを先に読み出していましたね。
エミュではディスクよりも、テープの読み書きの方が実装が大変そうです。

>今でこそ一般的になってますが、80年代初頭となると、わかる人にしかわからなかったでしょうね。

「京都だからドス?」なんて言われた事もありましたね(笑)。
実は某システムハウスの旧版の DOS も、某雑誌に載った OS も、全国に広がったデモプログラムに使われていた PC-DOS V1.4 のバッドコピーだったりします。
両方ともコマンドは変更されてていますが、ファイルエントリテーブルの構造がそっくりです。

by Thunderbolt (2009-02-20 16:47) 

まぇけん。

はじめまして。

以前、PC-8001mkIIと一緒にPC-DOSフォーマットのディスクを譲り受け、使い方をいろいろ調べてたことがありますが、ネットでも情報が得られず、プログラムのロード、実行しか、使い方がわかりませんでした(^^;;
マシン語ファイルのセーブアドレスやスタートアドレスなどが知りたかったのですがね・・・
(DOSによっては、ファイル名と一緒に表示されるので)
by まぇけん。 (2009-02-21 00:50) 

Thunderbolt

まぇけん。さん、はじめまして。

PC-DOS はアドレスを調べなくてもプログラム実行はできるはずですが…
セーブ時とは別のアドレスへロードしたいという要望なのでしょうか?
by Thunderbolt (2009-02-21 03:27) 

まぇけん。

ご返答ありがとうございます。

プログラムを実行するだけなら不自由はないのですが、たとえば、マシン語のプログラムをテープ経由で別フォーマットのDOSに移しかえる必要がある場合、セーブアドレスや実行アドレスが分からないままだと困ってしまうのです・・。

その他にもマシン語プログラムの範囲と実行アドレスが知りたい場面があったのですが、やはり、外からでは見れないものなのでしょうか。


by まぇけん。 (2009-02-21 17:18) 

Thunderbolt

PC-DOSではバージョンによりコマンドの使用方法に違いがありますので、お手持ちのバージョンをお教え頂ければありがたいです。

by Thunderbolt (2009-02-21 19:21) 

まぇけん。

バージョンは 3.1 です。
こちらのブログの写真と同じ画面です。

by まぇけん。 (2009-02-21 20:08) 

Thunderbolt

了解しました。
PC-DOSには「DOSモード」と「BASICモード」があります。
BASICモードからDOSモードにするにはCMDコマンドを、逆にDOSモードからBASICモードにするには「!」コマンドを実行します。

ご質問の件ですが、DOSモードだと、「dtal,File name」、BASICモードだと「MAT"dtal,File name」でファイルの詳細が表示できます。

他に不明の点があれば、本館サイトからメールでご質問ください。
本館サイトへのリンクはこのページ左側「リンク集」に、メアドは「総合案内」ページの一番下です。
by Thunderbolt (2009-02-21 22:08) 

まぇけん。

ありがとうございます!!

長い間、解決できなかった問題が解決しました。感謝です。

これからも、ちょくちょく覗きにきますね。

どうもありがとうございました。

by まぇけん。 (2009-02-22 00:12) 

Thunderbolt

お悩み解消できたようで良かったです。
これからもよろしくお願いします。

by Thunderbolt (2009-02-22 02:24) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。