2012.8.14
前へ
次へ
ホームページトップへ戻る

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第196回]

●ファンクションコール一覧表(4)

ファンクションコール一覧表は、最初に[第60回]でお見せしました。
その後に整理したものとして[第94回]に再掲いたしました。
そこまではCP/M2.2をND80ZVに移植して、それが正常に動作することを確認する過程を記録するためのものでした。
[第133回]では3回目のファンクションコール一覧表を作成しました。
CP/M互換DOS(仮RAMディスク版)であらためて検証をしていくために作成したものです。

そして今回はいよいよ総仕上げです。
仮RAMディスク版で行なってきた検証作業を、最終的な製品版とでもいうべき、64KBフルRAM版(仮想フロッピーディスクドライブ版)であらためて最終的な検証作業を行ないます。

まあ、実のところ、すでにMBASIC(BASIC−80)、FORTRAN−80、MACRO−80が動作することを実証してきましたので、いまさらそこまでしなくても、という感もあるのですけれど、ひとつには今まで使ってきましたテストプログラムを仮想フロッピーディスクドライブ版で動くものに仕上げておきたい、という目的もあるのです。

ああ。そういえば。
BASIC−80とFORTRAN−80なのですけれど。
簡単なサンプルプログラムでは動作することが確認できましたけれど、いろいろな命令動作が正常に行なわれるかどうかのテストまではまだ全然しておりません。
いやあ、そこまではとても簡単にはできません。
そのあたりを掘り下げての動作確認は、ぜひND80ZVのユーザーの皆様のご協力をお願いできれば、と願っております。

さて。
今回のファンクションコール一覧表です。
[第133回]のものに少し手を加えて、動作確認に使ったテストプログラム名をつけ加えました。
そのときの気分でずいぶんいい加減な名前をつけてきたものですから、こうやって整理しませんと、能率が上がりません。
ここまで整理したうえで、ちょっとスピードアップして最後の仕上げにかかりたいと思います。
ファンクション(Cレジスタにセットする値) 機能 パラメータセット
DEまたはEに値をセットする
結果 テストプログラム名(互換DOS/RAMディスク) 説明(初出)回(互換DOS/RAMディスク) テストプログラム名(互換DOS/64KRAM) 説明回(互換DOS/64KRAM)
0  00(16進) システムリセット なし システムがリセットされる
1  01 コンソール入力 なし A=文字コード FTEST1 第122回 VFTST1 第197回
2  02 コンソール出力 E=文字コード 文字が表示される FTEST1 第122回 VFTST1 第197回
3  03 リーダー(RDR)入力 なし A=文字コード FNC0304T 第139回 FNC03T−2 第205回
4  04 パンチ(PUN)出力 E=文字コード PUN:に出力される FNC0304T 第139回 FNC03T−2 第205回
5  05 リスト(LST)出力 E=文字コード LST:(プリンタ)に出力される
6  06 コンソール入出力 入力:E=FF 出力:E=文字コード 入力:A=文字コード 出力:文字が表示される FNC06T2 第139回 FNC06T−2 第205回
7  07 IOバイト取り出し なし A=IOバイト FTST7 第137回 VFTST7 第203回
8  08 IOバイトセット E=IOバイト IOバイトがセットされる FTST8 第137回 VFTST8 第203回
9  09 文字列出力 DE=文字列アドレス 文字列が表示される FTST2 第134回 VFTST2 第199回
10  0A コンソールバッファ入力 DE=バッファアドレス バッファに入力される FTST9 第128回 VFTST9 第198回
11  0B コンソールステータスチェック なし 入力あり:A=01 入力なし:A=00 FNC0BT 第138回 FNC0BT−2 第204回
12  0C バージョンn謔闖oし なし H=00 L=バージョン FTST7 第137回 VFTST7 第203回
13  0D ディスクリセット なし すべてのディスクがリセットされる FTST13 第142回 VFTST13 第208回
14  0E ディスクドライブセレクト E=ドライブ デフォルトディスクに指定される FTST10−2 第140回 VFTST102 第206回
15  0F ファイルオープン DE=FCBアドレス 正常:A=ディレクトリコード 異常:A=FF FTEST4 第134回 VFTST4 第200回
16  10 ファイルクローズ DE=FCBアドレス 正常:A=ディレクトリコード 異常:A=FF FTST5CPY 第135回 VFTST5 第201回
17  11 最初のファイルサーチ DE=FCBアドレス 正常:A=ディレクトリコード 異常:A=FF FTST10 第138回 VFTST10 第204回
18  12 次のファイルサーチ なし 正常:A=ディレクトリコード 異常:A=FF FTST10 第138回 VFTST10 第204回
19  13 ファイル削除 DE=FCBアドレス 正常:A=ディレクトリコード 異常:A=FF FTST5CPY 第135回 VFTST5 第201回
20  14 シーンシャルリード DE=FCBアドレス 正常:A=00 異常:A=エラーコード FTEST4 第134回 VFTST4 第200回
21  15 シーケンシャルライト DE=FCBアドレス 正常:A=00 異常:A=エラーコード FTST5CPY 第135回 VFTST5 第201回
22  16 新規ファイル作成 DE=FCBアドレス 正常:A=00 異常:A=エラーコード FTST5CPY 第135回 VFTST5 第201回
23  17 ファイル名の変更 DE=FCBアドレス 正常:A=00 異常:A=FF FTST14 第144回 VFTST14 第213回
24  18 ログインベクトルの取り出し なし HL=ログインベクトル FTST10−5 第141回 VFTST105 第207回
25  19 ログインディスクbフ取り出し なし A=ディスク FTST10−5 第141回 VFTST105 第207回
26  1A DMAアドレスのセット DE=DMAアドレス DMAアドレスがセットされる FTST6CMP 第136回 VFTST6 第202回
27  1B アローケーションアドレスの取り出し なし HL=アローケーションベクトルアドレス FTST15 第143回 VFTST15 第210回
28  1C ライトプロテクトセット なし ログインディスクがR/O(リードオンリー)になる FTST11 第141回 VFTST11 第207回
29  1D R/Oベクトルの取り出し なし HL=I/Oベクトル FTST12 第141回 VFTST12 第207回
30  1E ファイルアトリビュートセット DE=FCBアドレス 正常:A=ディレクトリコード 異常:A=FF FTST17 第144回 VFTST17 第214回
31  1F ディスクパラメータアドレスのセット なし HL=ディスクパラメータアドレス FTST16 第143回 VFTST16 第212回
32  20 ユーザーコードのセット
33  21 ランダムリード DE=FCBアドレス 正常:A=00 エラー:A=エラーコード FTST21−2 第146回 VFTST21 第225回
34  22 ランダムライト DE=FCBアドレス 正常:A=00 エラー:A=エラーコード FTST20 第145回 VFTST202 第216回
35  23 ファイルサイズの計算 DE=FCBアドレス FCB末尾3バイトにファイルサイズが入る FTST22 第148回 VFTST22 第226回
36  24 ランダムレコードアクセスポインタの更新 DE=FCBアドレス FCB末尾3バイトにレコードbェ入る FTEST23 第149回 VFTST25 第236回
37  25 ディスクドライブのリセット DE=ドライブベクトル ベクトルで指定したドライブがリセットされる FTST18
FTST19
第142回 VFTST18
VFTST19
第209回
38  26 未定義
39  27 未定義
40  28 ゼロファイルを伴うランダムライト DE=FCBアドレス 正常:A=00 エラー:A=エラーコード FTST20−3 第147回 VFTST205 第229回
(2012.10.25現在)

ワンボードマイコンでCP/Mを![第196回]
2012.8.14upload
2012.8.15更新
2012.8.16更新
2012.8.17更新
2012.8.18更新
2012.8.20更新
2012.8.21更新
2012.8.23更新
2012.8.24更新
2012.8.25更新
2012.8.27更新
2012.8.29更新
2012.8.31更新
2012.9.3更新
2012.9.5更新
2012.9.10更新
2012.9.11更新
2012.9.12更新
2012.9.17更新
2012.10.3更新
2012.10.9更新
2012.10.17更新
2012.10.25更新

前へ
次へ
ホームページトップへ戻る