復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第69回]
●ファンクションコール0BH(2)
前回はファンクションコール0BHについて説明をしましたが、Windows側のプログラムの都合で、期待通りの動きにはなりません、と書きました。
ファンクションコール0BHはコンソールのステータスをチェックしてキー入力があったかどうかを調べます。
キー入力があった場合には、その直後にファンクションコール01(コンソール入力)を実行することで、キー入力待ちをすることなくコンソールからキー入力文字を受取ることができます。
これはBASICのINKEY$と同じ動作です。
ところが実際にテストプログラムを作って実行してみましたら、どうもキーからの読み込みが思わしくないのです。
キーによっては全く読み込んでくれないものもあります。
これは、おそらくWindows側のプログラム(ZB3.exe)がそのように作られていないためだと思いました。
で、前回はそのように書いたのですけれど。
本日になりましてから、あれ?おかしいぞ。
おかしなことに気が付いてしまいました。
INKEY$はZB3BASICにもあります。
でも。
確か、こんなに読み取りが悪いことは無かったはず…。
むむむ。
確認してみました。
logfile nd80zlog\03230647.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >10 A$=INKEY$ >20 IF A$=" "THEN PRINT "*";ELSE PRINT A$; >30 GOTO 10 >run ******************************************************************************** **********************a*****************************a****a********************** **********a****a***********a****a****a****a******a******************b******b**** b*******b*b**b*b*********b****b******b***b****b******b*******************b****b* ***b****b**b*******bc**************c*********c****c*c***************c*********** *c*******c********c*************************************c*************c****c**** *************************************d***************d******d****d****d****d**** **d***********d****d*d**d*d*d*********d*d****d***e*************e****e****e****e* *****************e******e****e****e*******e**e*e**e****e******e***********e***** *e*************************************************************^B break in 10 |
logfile nd80zlog\03230731.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >help TEXT 8004-8049 ヘンスウ DFF7-DFFF >list 10 A$=INKEY$ 20 IF A$=" "THEN PRINT "*";ELSE PRINT A$; 30 GOTO 10 >run [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[61]a [00]*[00]*[00]*[00]*[61]a[00]*[00]*[61]a[00]*[61]a[00]*[00]*[00]*[00]*[00]*[00]* [61]a[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[61]a[00]*[00]*[00]*[61]a[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[61]a[00]*[00]*[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[62]b[00]*[00]*[00]*[00]*[62]b [00]*[00]*[00]*[00]*[62]b[00]*[62]b[00]*[00]*[00]*[00]*[62]b[00]*[00]*[62]b[00]* [00]*[00]*[00]*[62]b[00]*[00]*[00]*[00]*[62]b[00]*[00]*[00]*[00]*[00]*[00]*[00]* [00]*[00]*[62]b[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[62]b[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[62]b[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [63]c[00]*[00]*[00]*[00]*[63]c[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[63]c [00]*[00]*[00]*[00]*[00]*[00]*[00]*[63]c[00]*[00]*[00]*[00]*[63]c[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [64]d[00]*[00]*[64]d[00]*[00]*[00]*[00]*[00]*[00]*[64]d[00]*[64]d[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]* [00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00]*[00] *[00] >0000 00C3 - リモート接続を終了しました logfile closed at Fri Mar 23 07:33:32 2012 |
logfile nd80zlog\03230735.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >jp d233 [00][00] [00]a[00]>[00]d[00]i[00]r[00][00][00] [00]A[00]:[00] [00]F[00]N[00]C[00]0[00]B[00]T[00]S[00]T[00] [00]C[00]O[00]M[00][ 00] [00]:[00] [00]F[00]N[00]C[00]0[00]B[00]T[00]2[00] [00] [00]C[00]O[00]M[00][0 0] [00]:[00] [00]F[00]N[00]C[00]0[00]B[00]T[00]3[00] [00] [00]C[00]O[00]M[00][00 ] [00]:[00] [00]F[00]N[00]C[00]0[00]B[00]T[00]4[00] [00] [00]C[00]O[00]M[00][00] [00] [00]A[00]:[00] [00]F[00]N[00]C[00]0[00]B[00]T[00]1[00] [00] [00]C[00]O[00]M[00][ 00][00] [00]a[00]>[00]f[00]n[00]c[00]0[00]b[00]t[00]1[00][00][00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00 ]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[ 00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00] 0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [ 00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[61]061 0161[0 0]a[61]a 0161[00]a[00]a[00] [00][00]0[00]0[00]0[61]0 0161[00]a[00]a[00] [00][61] 0061 0161[00]a[00]a[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00 ] [00][00]0[00]0[00]0[61]0 0161[00]a[00]a[00] [61]0161[00]a[00]a[00] [00][61]006 1 0161[00]a[61]a 0162[00]b[00]b[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[62]0[ 00]0[00]0[00] [00][62]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][62] 0[00]0[62]0[00]0[00] [00][00]0[62]0[00]0[00]0[00] [00][62]0[00]0[00]0[00]0[00] [ 62][00]0[00]0[00]0[00]0[00] [00][62]0[00]0[00]0[62]0[00] [62][00]0[00]0[00]0[00] 0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[0 0]0[00]0[00] [00][00]0[00]0[00]0[63]0 0163[00]c[00]c[00] [00][00]0[00]0[00]0[00] 0[00] [63]0163[00]c[00]c[00] [00][63]0063 0163[00]c[00]c[00] [00][63]0063 0163[0 0]c[63]c 0163[00]c[63]c 0163[00]c[00]c[00] [00][00]0[00]0[00]0[00]0[00] [00][00] 0[00]0[00]0[00]0[63] 0163[00]c[00]c[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[0 0]0[00]0[00]0[63] 0164[00]d[00]d[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0 [00]0[64]0[00] [64][00]0[00]0[64]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00 ]0[64]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[64] [00][00]0[64]0[00]0[64]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00 ]0[00] [00][00]0[00]0[00]0[00]0[65] 0165[00]e[00]e[00] [00][65]0065 0165[00]e[00 ]e[65] 0165[00]e[65]e 0165[00]e[00]e[00] [00][65]0065 0165[00]e[65]e 0165[00]e[6 5]e 0165[00]e[00]e[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[65]0 016 6[00]f[00]f[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][0 0]0[00]0[00]0[66]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[00]0[00]0[00] [00][00]0[00]0[66]0[00]0[00] [00][00]0[66]0[00]0[0 0]0[00] [00][00]0[00]0[00]0[00]0[00] |