MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第114回]
●ファンクションコール一覧表(MYCPU80用)
ファンクションコール一覧表は、過去に4回作成しています。
最初は「ワンボードマイコンでCP/Mを!」[第60回]で作りました。
その後に整理して「ワンボードマイコンでCP/Mを!」[第94回]に再掲しました。
「ワンボードマイコンでCP/Mを!」[第133回]では3回目のファンクションコール一覧表を作成しました。
ND80Z3.5(ND80ZV)用ZB3DOS(CP/M互換DOS)の総仕上げとして「ワンボードマイコンでCP/Mを!」[第196回で4回目のファンクションコール一覧表を作成しました。
今回はその4回目のファンクションコール一覧表をもとにしてMYCPU80用ZB3DOS(CP/M互換DOS)のファンクションコール一覧表を作成しました。
背景が水色になっているファンクションはすでにMYCPU80用としてテスト済みのものです。
白地はこれからテストをしなければならないファンクションです。
うーん。
なんとか今月中には片付けたいと思っていたのですけれど…。
とにかく急いで片付けましょう。
ファンクション(Cレジスタにセットする値) | 機能 | パラメータセット DEまたはEに値をセットする |
結果 | テストプログラム名(ND80Z3用) | 説明回(ND80Z3用) | テストプログラム名(MYCPU80用) | 説明回(MYCPU80用) |
0 00(16進) | システムリセット | なし | システムがリセットされる | VFTST0−2 | 第391回 | MVFTS0−2 | 第102回 |
1 01 | コンソール入力 | なし | A=文字コード | VFTST1 | 第197回 | MVFTST1 | 第102回 |
2 02 | コンソール出力 | E=文字コード | 文字が表示される | VFTST1 | 第197回 | MVFTST1 | 第102回 |
3 03 | リーダー(RDR)入力 | なし | A=文字コード | FNC03T−2 | 第205回 | 第104回 | |
4 04 | パンチ(PUN)出力 | E=文字コード | PUN:に出力される | FNC03T−2 | 第205回 | 第104回 | |
5 05 | リスト(LST)出力 | E=文字コード | LST:(プリンタ)に出力される | FNC05T2 | 第249回 | 第104回 | |
6 06 | コンソール入出力 | 入力:E=FF 出力:E=文字コード | 入力:A=文字コード 出力:文字が表示される | FNC06T−2 | 第205回 | MF06T−2 | 第105回 |
7 07 | IOバイト取り出し | なし | A=IOバイト | VFTST7 | 第203回 | MFTST7 | 第106回 |
8 08 | IOバイトセット | E=IOバイト | IOバイトがセットされる | VFTST8 | 第203回 | MFTST8 | 第106回 |
9 09 | 文字列出力 | DE=文字列アドレス | 文字列が表示される | VFTST2 | 第199回 | MFTST2 | 第106回 |
10 0A | コンソールバッファ入力 | DE=バッファアドレス | バッファに入力される | VFTST9 | 第198回 | MFTST9 | 第108回 |
11 0B | コンソールステータスチェック | なし | 入力あり:A=01 入力なし:A=00 | FNC0BT−2 | 第204回 | MF0BT−3 | 第109回 |
12 0C | バージョンn謔闖oし | なし | H=00 L=バージョン | VFTST7 | 第203回 | MFTST7 | 第106回 |
13 0D | ディスクリセット | なし | すべてのディスクがリセットされる | VFTST13 | 第208回 | MFTST13 | 第112回 |
14 0E | ディスクドライブセレクト | E=ドライブ | デフォルトディスクに指定される | VFTST102 | 第206回 | MFTST102 | 第113回 |
15 0F | ファイルオープン | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | VFTST4 | 第200回 | MFTST4 | 第115回 |
16 10 | ファイルクローズ | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | VFTST5 | 第201回 | MFTST5 | 第116回 |
17 11 | 最初のファイルサーチ | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | VFTST10 | 第204回 | MFTST10 | 第117回 |
18 12 | 次のファイルサーチ | なし | 正常:A=ディレクトリコード 異常:A=FF | VFTST10 | 第204回 | MFTST10 | 第117回 |
19 13 | ファイル削除 | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | VFTST5 | 第201回 | MFTST5 | 第116回 |
20 14 | シーケンシャルリード | DE=FCBアドレス | 正常:A=00 異常:A=エラーコード | VFTST4 | 第200回 | MFTST4 | 第115回 |
21 15 | シーケンシャルライト | DE=FCBアドレス | 正常:A=00 異常:A=エラーコード | VFTST5 | 第201回 | MFTST5 | 第116回 |
22 16 | 新規ファイル作成 | DE=FCBアドレス | 正常:A=00 異常:A=エラーコード | VFTST5 | 第201回 | MFTST5 | 第116回 |
23 17 | ファイル名の変更 | DE=FCBアドレス | 正常:A=00 異常:A=FF | VFTST14 | 第213回 | MFTST14 | 第122回 |
24 18 | ログインベクトルの取り出し | なし | HL=ログインベクトル | VFTST105 | 第207回 | MFTST105 | 第118回 |
25 19 | ログインディスクbフ取り出し | なし | A=ディスク | VFTST105 | 第207回 | MFTST105 | 第118回 |
26 1A | DMAアドレスのセット | DE=DMAアドレス | DMAアドレスがセットされる | VFTST6 | 第202回 | MFTST6−3 | 第120回 |
27 1B | アローケーションアドレスの取り出し | なし | HL=アローケーションベクトルアドレス | VFTST15 | 第210回 | MFTST15 | 第121回 |
28 1C | ライトプロテクトセット | なし | ログインディスクがR/O(リードオンリー)になる | VFTST11 | 第207回 | MFTST11 | 第112回 |
29 1D | R/Oベクトルの取り出し | なし | HL=I/Oベクトル | VFTST12 | 第207回 | MFTST12 | 第112回 |
30 1E | ファイルアトリビュートセット | DE=FCBアドレス | 正常:A=ディレクトリコード 異常:A=FF | VFTST17 VFTST107 |
第214回 | MFTST17 MFTST107 |
第122回 |
31 1F | ディスクパラメータアドレスのセット | なし | HL=ディスクパラメータアドレス | VFTST16 | 第212回 | MFTST16 | 第121回 |
32 20 | ユーザーコードのセット | ||||||
33 21 | ランダムリード | DE=FCBアドレス | 正常:A=00 エラー:A=エラーコード | VFTST21 | 第394回 | MFTST21 | 第124回 |
34 22 | ランダムライト | DE=FCBアドレス | 正常:A=00 エラー:A=エラーコード | VFTST20B RAFTDOUT |
第393回 | MFTST20B MRAFTDOT |
第123回 |
35 23 | ファイルサイズの計算 | DE=FCBアドレス | FCB末尾3バイトにファイルサイズが入る | VFTST22 | 第226回 | MFTST22 | 第125回 |
36 24 | ランダムレコードアクセスポインタの更新 | DE=FCBアドレス | FCB末尾3バイトにレコードbェ入る | VFTST25 | 第236回 | MFTST25 | 第129回 |
37 25 | ディスクドライブのリセット | DE=ドライブベクトル | ベクトルで指定したドライブがリセットされる | VFTST18 VFTST19 |
第209回 | MFTST18 MFTST19 |
第119回 |
38 26 | 未定義 | ||||||
39 27 | 未定義 | ||||||
40 28 | ゼロファイルを伴うランダムライト | DE=FCBアドレス | 正常:A=00 エラー:A=エラーコード | VFTST20C | 第395回 | MFTST20C | 第126回 |