ようこそゲストさん

80mkII愛友会 別館

2015/01/19(月) サイト更新 - BASICでCP/Mファイルを読む

お知らせ
本日の更新は「BASICでCP/Mファイルを読む」の動作確認です。
内容はほぼタイトルの通りで,BASIC上からCP/Mのディスクからファイル読み込み/書き込み/一覧表示を行うことができるプログラムとなっています。


本ソフトは,ファンクションキーに登録されたDEFUSR文で使用するコマンドを指定して,USR文で処理を実行するという形式であるため,少々使いにくい部分があります。

そんなこともあってか,本ソフト発表の4ヶ月後のI/O 1985/11号に同じ作者による「BASICでCP/Mファイルを読む Ver2.0」が掲載されました。
こちらは,BASICの拡張命令ISETを使用してコマンドを実行できるほか,文字列の検索/置換,テキストのマージ,バイナリファイルの取り扱いなど大幅な機能強化がなされています。
しかし,PC-8801シリーズ専用となっため,残念ながらPC-8001mkIIでは使えなくなってしまいました。


逆に,CP/M上でPC-8001/8801などのDISK BASICで保存されたファイルを読み書きするプログラムとしては,I/O 1988/08号掲載の「Small-Cによるファイル転送プログラム(岡田清一)」という記事があります。
本ソフトはPC-8001mkIIで開発されたとのことで,起動時のタイトルにも「File Transfer Program V 1.0 for PC-8001 mkII CP/M」と表示されるのですが,ソフト自体はPC-8001mkII独自の機能は使用せずCP/M汎用で動作するため,弊サイトでは取り扱いしません。

また,このCP/M版はSmall-Cのソースコードでリスト掲載されていたので,個人的にメインOSとして使用していたS-OS SWORDに移植して利用してました。

この頃はメインマシンがPC-8001mkIIからPC-8801FAになっていたので,タイトルはN80-BASICでなくN88-BASICとなっています。N80-BASIC相手でも使えますが。
画面の表示位置を指定するエスケープシーケンスの部分と,ディスクのセクタREAD/WRITEを実行するBDOSコールの部分をS-OSのシステムコールに置き換えて,改行コードの変換(CP/M=CR+LF, S-OS=CRのみ)を追加するだけで,あっさり動いてしまったと記憶しています。

名前:  非公開コメント   

  • TB-URL(確認後に公開)  http://www5f.biglobe.ne.jp/~apaslothy/cgi_bin/adiary/adiary.cgi/010/tb/