MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第31回]
●BASICの関数演算でまさかのエラー発生
修理依頼品のMYCPU80の修理がやっと完了して、念のため数日間電源を入れたまま様子を見ましたが、全く正常に動作しています。
これなら大丈夫ということでお客様に返送しようと思ったのですが。
実はこのお客様はMYCPU80に自作の拡張メモリボードを取り付けてみえて、そのように拡張すると誤動作をする、という連絡を以前にいただいていました。
その時点ではMYCPU80単独では正しく動作していたとのことでした。
まあ、お客様が自作された拡張ボードを接続しての誤動作ということですから、それは私の守備範囲外でありまして、なんとも申し上げられません。
ましかし、そういうことも過去にはありましたので、この際念のため、ちょうど移植を進めておりましたMYCPU80用ZB3BASICを、まだ作業の途中ではありますが、できたところまでを修理済みのMYCPU80にロードして動作を確認してみるのもよいのではないか、と思いました。
こちらのほうも中日電工製の拡張メモリ基板をMYCPU80に増設します。
MYCPU80に拡張メモリ基板を増設しているところの写真は[第2回]でお見せしました。
下はそのようにして修理済みのMYCPU80でBASICプログラムを実行したときのログです。
ところが、ご覧の通りまさかのエラーが発生してしまいました。
logfile nd80zlog\08310922.txt open
zb3dos3m 2014.3.31 by Chunichidenko
MYCPU80に接続しました
*** nd80z3 basic ****
>/load sqrtest.txt
10 FOR A=0 TO 10
20 PRINT "a=";A,"sqr(a)=";SQR(A)
30 NEXT A
40 PRINT "end"
data end
>r.
a= 0 sqr(a)= 0
a= 1 sqr(a)= 1
a= 2 sqr(a)= 1
a= 3 sqr(a)= 2
a= 4 sqr(a)= 2
a= 5 sqr(a)= 2
a= 6 sqr(a)= 2
a= 7 sqr(a)= 2
a= 8 sqr(a)= 2
a= 9 sqr(a)= 2
a= 10 sqr(a)= 4
end
>.
10 FOR A=0 TO 10
20 PRINT "a=";A,"sqr(a)=";SQR(A)
30 NEXT A
40 PRINT "end"
> 20 PRINT "a=";A,"a/10=";a/10
>.
10 FOR A=0 TO 10
20 PRINT "a=";A,"a/10=";A/10
30 NEXT A
40 PRINT "end"
>r.
a= 0 a/10= 0
a= 1 a/10= 0.1
a= 2 a/10= 0.2
a= 3 a/10= 0.3
a= 4 a/10= 0.4
a= 5 a/10= 0.5
a= 6 a/10= 0.6
a= 7 a/10= 0.7
a= 8 a/10= 0.8
a= 9 a/10= 0.9
a= 10 a/10= 1
end
>.
10 FOR A=0 TO 10
20 PRINT "a=";A,"a/10=";A/10
30 NEXT A
40 PRINT "end"
> 10 FOR A=0 TO 90 step 5
> 20 PRINT "a=";A,"sid(a)=";sid(a)
>.
10 FOR A=0 TO 90 STEP 5
20 PRINT "a=";A,"sid(a)=";SID(A)
30 NEXT A
40 PRINT "end"
>r.
a= 0 sid(a)= 0
a= 5 sid(a)= 0.872664E-1
a= 10 sid(a)= 0.174533
a= 15 sid(a)= 0.261799
a= 20 sid(a)= 0.349066
a= 25 sid(a)= 0.436332
a= 30 sid(a)= 0.523599
a= 35 sid(a)= 0.610865
a= 40 sid(a)= 0.698132
a= 45 sid(a)= 0.785398
a= 50 sid(a)= 0.872664
a= 55 sid(a)= 0.959931
a= 60 sid(a)= 1.0472
a= 65 sid(a)= 1.13446
a= 70 sid(a)= 1.22173
a= 75 sid(a)= 1.309
a= 80 sid(a)= 0.942582
a= 85 sid(a)= 0.939356
a= 90 sid(a)= 0.924833
end
>/exit
リモート接続を終了しました
logfile closed at Sun Aug 31 09:41:46 2014
|
logfile nd80zlog\09012231.txt open
zb3dos3m 2014.3.31 by Chunichidenko
MYCPU80に接続しました
*** nd80z3 basic ****
>p.sid(30)
0.5
>/load sqrtest.txt
10 FOR A=0 TO 10
20 PRINT "a=";A,"sqr(a)=";SQR(A)
30 NEXT A
40 PRINT "end"
data end
>r.
a= 0 sqr(a)= 0
a= 1 sqr(a)= 1
a= 2 sqr(a)= 1.41421
a= 3 sqr(a)= 1.73205
a= 4 sqr(a)= 2
a= 5 sqr(a)= 2.23607
a= 6 sqr(a)= 2.44949
a= 7 sqr(a)= 2.64575
a= 8 sqr(a)= 2.82843
a= 9 sqr(a)= 3
a= 10 sqr(a)= 3.16228
end
>.
10 FOR A=0 TO 10
20 PRINT "a=";A,"sqr(a)=";SQR(A)
30 NEXT A
40 PRINT "end"
> 10 FOR A=0 TO 90 step 5
> 20 PRINT "a=";A,"sid(a)=";sid(A)
>.
10 FOR A=0 TO 90 STEP 5
20 PRINT "a=";A,"sid(a)=";SID(A)
30 NEXT A
40 PRINT "end"
>/save sidtest.txt
10 FOR A=0 TO 90 STEP 5
20 PRINT "a=";A,"sid(a)=";SID(A)
30 NEXT A
40 PRINT "end"
>r.
a= 0 sid(a)= 0
a= 5 sid(a)= 0.871557E-1
a= 10 sid(a)= 0.173648
a= 15 sid(a)= 0.258819
a= 20 sid(a)= 0.34202
a= 25 sid(a)= 0.422618
a= 30 sid(a)= 0.5
a= 35 sid(a)= 0.573576
a= 40 sid(a)= 0.642787
a= 45 sid(a)= 0.707107
a= 50 sid(a)= 0.766044
a= 55 sid(a)= 0.819152
a= 60 sid(a)= 0.866025
a= 65 sid(a)= 0.906308
a= 70 sid(a)= 0.939692
a= 75 sid(a)= 0.965926
a= 80 sid(a)= 0.984808
a= 85 sid(a)= 0.996194
a= 90 sid(a)= 1
end
>.
10 FOR A=0 TO 90 STEP 5
20 PRINT "a=";A,"sid(a)=";SID(A)
30 NEXT A
40 PRINT "end"
> 20 PRINT "a=";A,"cod(a)=";cod(A)
>.
10 FOR A=0 TO 90 STEP 5
20 PRINT "a=";A,"cod(a)=";COD(A)
30 NEXT A
40 PRINT "end"
>r.
a= 0 cod(a)= 1
a= 5 cod(a)= 0.996195
a= 10 cod(a)= 0.984808
a= 15 cod(a)= 0.965926
a= 20 cod(a)= 0.939693
a= 25 cod(a)= 0.906308
a= 30 cod(a)= 0.866025
a= 35 cod(a)= 0.819152
a= 40 cod(a)= 0.766044
a= 45 cod(a)= 0.707107
a= 50 cod(a)= 0.642788
a= 55 cod(a)= 0.573577
a= 60 cod(a)= 0.5
a= 65 cod(a)= 0.422618
a= 70 cod(a)= 0.34202
a= 75 cod(a)= 0.258819
a= 80 cod(a)= 0.173648
a= 85 cod(a)= 0.871559E-1
a= 90 cod(a)= 0
end
>/exit
リモート接続を終了しました
logfile closed at Mon Sep 01 22:34:11 2014
|