ワンボードマイコンをつくろう!(パソコンの原点はここから始まった)
TK80ソフトコンパチブル!8080、Z80マシン語からBASICまでこれ1台でこなせます
当記事は2009年11月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 |
2011.6.30 前へ 次へ 目次へ戻る ホームページトップへ戻る |
☆ND80ZVでBASICを。 とんでもない機能追加を思いついてしまいました。 ND80ZVでBASICを実行できるようにしようというのです。 それも浮動小数点演算ができて、三角関数や対数計算までできる本物のBASICです! |
[第55回]
●今度は/SAVEコマンドがハングアップです
前回は時間が無くなってしまいましたので、そのことについて書くことができなかったのですが、今度はテストプログラムを保存しておこうと思いましたら、/SAVEコマンドでハングアップしてしまいました。
前回の最後のところでお見せしましたログファイルがそれです。
>run a%=123 b%=456 c%=579 0 1 2 3 4 5 6 7 8 9 10 abc=123.5 0 0 1 1 2 1.41421 3 1.73205 4 2 5 2.23607 6 2.44949 7 2.64575 8 2.82843 9 3 10 3.16228 >/save bstest.txt ndremote.exeを終了しました logfile closed at Wed Jun 23 09:07:16 2010 |
logfile nd80zlog\06230602.txt open ND80ZVに接続しました send[read+] 0001 0000 - zzentry 1000 00C3 - send goto zentry |
logfile nd80zlog\06231501.txt open ND80ZVに接続しました [00],inbfend=1 send[read+] [14] [04][00][01][00][00][00],inbfend=6 0001 0000 - /[WR+] [15] [04][00][02][00][08][00],inbfend=6 0002 0008 - zzentry [01] [00],inbfend=1 [00] [00],inbfend=1 [00] [00],inbfend=1 [00] [00],inbfend=1 [12] [04][10][00][00][C3][00],inbfend=6 1000 00C3 - [10] send goto zentry [3E][01],inbfend=2 >help [48][45][4C][50][0D][0A] [54][45][58][54][20][38][30][30][34][2D][38][31][32][37][0D][0A][CD][DD][BD][B3][20][44][46][45][46][2D][44][46][46][46][0D][0A][3E][01],inbfend=34 TEXT 8004-8127 ヘンスウ DFEF-DFFF >list [4C][49][53][54][0D][0A] [20][20][20][20][31][30][20][41][25][3D][31][32][33][0D][0A][20][20][20][20][31][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][32][30][20][42][25][3D][34][35][36][0D][0A][20][20][20][20][33][30][20][43][25][3D][41][25][2B][42][25][0D][0A][20],inbfend=62 [20][20][20][34][30][20][50][52][49][4E][54][20][22][61][25][3D][22][3B][41][25][2C][22][62][25][3D][22][3B][42][25][2C][22][63][25][3D][22][3B][43][25][0D][0A][20][20][20][20][34][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][35][30][20][46],inbfend=124 [4F][52][20][41][25][3D][30][20][54][4F][20][31][30][0D][0A][20][20][20][20][36][30][20][50][52][49][4E][54][20][41][25][2C][0D][0A][20][20][20][20][37][30][20][4E][45][58][54][20][41][25][0D][0A][20][20][20][20][37][31][20][41][42][43][3D],inbfend=184 [31][32][33][2E][35][0D][0A][20][20][20][20][37][32][20][50][52][49][4E][54][20][22][61][62][63][3D][22][3B][41][42][43][0D][0A][20][20][20][20][37][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][38][30][20][46][4F][52][20][41][25][3D][30][20],inbfend=246 [54][4F][20][31][30][0D][0A][20][20][20][20][38][35][20][50][52][49][4E][54][20][41][25][2C][0D][0A][20][20][20][20][39][30][20][50][52][49][4E][54][20][53][51][52][28][41][25][29][0D][0A][20][20][20][31][30][30][20][4E][45][58][54][20][41][25][0D],inbfend=308 [0A][3E][01],inbfend=311 10 A%=123 15 'STOP 20 B%=456 30 C%=A%+B% 40 PRINT "a%=";A%,"b%=";B%,"c%=";C% 45 'STOP 50 FOR A%=0 TO 10 60 PRINT A%, 70 NEXT A% 71 ABC=123.5 72 PRINT "abc=";ABC 75 'STOP 80 FOR A%=0 TO 10 85 PRINT A%, 90 PRINT SQR(A%) 100 NEXT A% >/save zbtest.txt savefile ZBTEST.TXT open [4C][49][53][54][0D][0A] [20][20][20][20][31][30][20][41][25][3D][31][32][33][0D][0A][20][20][20],inbfend=18 10 A%=123 [20][31][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][32][30][20][42][25][3D][34][35][36][0D][0A][20][20][20][20][33][30][20][43][25][3D][41][25][2B][42][25][0D][0A][20][20][20][20][34][30][20][50][52][49][4E][54][20][22][61][25][3D][22][3B],inbfend=62 15 'STOP 20 B%=456 30 C%=A%+B% 40 PRINT "a%=";[41][25][2C][22][62][25][3D][22][3B][42][25][2C][22][63][25][3D][22][3B][43][25][0D][0A][20][20][20][20][34][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][35][30][20][46][4F][52][20][41][25][3D][30][20][54][4F][20][31][30][0D][0A][20][20][20],inbfend=62 A%,"b%=";B%,"c%=";C% 45 'STOP 50 FOR A%=0 TO 10 [20][36][30][20][50][52][49][4E][54][20][41][25][2C][0D][0A][20][20][20][20][37][30][20][4E][45][58][54][20][41][25][0D][0A][20][20][20][20][37][31][20][41][42][43][3D][31][32][33][2E][35][0D][0A][20][20][20][20][37][32][20][50][52][49][4E][54][20],inbfend=62 60 PRINT A%, 70 NEXT A% 71 ABC=123.5 72 PRINT [22][61][62][63][3D][22][3B][41][42][43][0D][0A][20][20][20][20][37][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][38][30][20][46][4F][52][20][41][25][3D][30][20][54][4F][20][31][30][0D][0A][20][20][20][20][38][35][20][50][52][49][4E][54][20],inbfend=62 "abc=";ABC 75 'STOP 80 FOR A%=0 TO 10 85 PRINT [41][25][2C][0D][0A][20][20][20][20][39][30][20][50][52][49][4E][54][20][53][51][52][28][41][25][29][0D][0A][20][20][20][31][30][30][20][4E][45][58][54][20][41][25][0D][0A][3E][01],inbfend=45 A%, 90 PRINT SQR(A%) 100 NEXT A% >/exit ndremote.exeを終了しました logfile closed at Wed Jun 23 15:01:57 2010 |
logfile nd80zlog\06231527.txt open ND80ZVに接続しました [00],inbfend=1 send[read+] [14] [04][00][01][00][00][00],inbfend=6 0001 0000 - zzentry [01] [00],inbfend=1 [00] [00],inbfend=1 [00] [00],inbfend=1 [00] [00],inbfend=1 [12] [04][10][00][00][C3][00],inbfend=6 1000 00C3 - [10] send goto zentry [3E][01],inbfend=2 >help [48][45][4C][50][0D][0A] [54][45][58][54][20][38][30][30][34][2D][38][31][32][37][0D][0A],inbfend=16 TEXT 8004-8127 [CD][DD][BD][B3][20][44][46][45][46][2D][44][46][46][46][0D][0A][3E][01],inbfend=18 ヘンスウ DFEF-DFFF >list [4C][49][53][54][0D][0A] [20][20][20][20][31][30][20][41][25][3D][31][32][33][0D][0A][20][20][20][20][31][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][32][30][20][42][25][3D][34][35][36][0D][0A][20][20][20][20][33][30][20][43][25][3D][41][25][2B],inbfend=57 10 A%=123 15 'STOP 20 B%=456 30 C%=A%+[42][25][0D][0A][20][20][20][20][34][30][20][50][52][49][4E][54][20][22][61][25][3D][22][3B][41][25][2C][22][62][25][3D][22][3B][42][25][2C][22][63][25][3D][22][3B][43][25][0D][0A][20][20][20][20][34][35][20][27][53][54][4F][50][0D][0A][20][20][20],inbfend=62 B% 40 PRINT "a%=";A%,"b%=";B%,"c%=";C% 45 'STOP [20][35][30][20][46][4F][52][20][41][25][3D][30][20][54][4F][20][31][30][0D][0A][20][20][20][20][36][30][20][50][52][49][4E][54][20][41][25][2C][0D][0A][20][20][20][20][37][30][20][4E][45][58][54][20][41][25][0D][0A][20][20][20][20][37][31][20][41],inbfend=62 50 FOR A%=0 TO 10 60 PRINT A%, 70 NEXT A% 71 A[42][43][3D][31][32][33][2E][35][0D][0A][20][20][20][20][37][32][20][50][52][49][4E][54][20][22][61][62][63][3D][22][3B][41][42][43][0D][0A][20][20][20][20][37][35][20][27][53][54][4F][50][0D][0A][20][20][20][20][38][30][20][46][4F][52][20][41][25],inbfend=62 BC=123.5 72 PRINT "abc=";ABC 75 'STOP 80 FOR A%[3D][30][20][54][4F][20][31][30][0D][0A][20][20][20][20][38][35][20][50][52][49][4E][54][20][41][25][2C][0D][0A][20][20][20][20][39][30][20][50][52][49][4E][54][20][53][51][52][28][41][25][29][0D][0A][20][20][20][31][30][30][20][4E][45][58][54][20],inbfend=62 =0 TO 10 85 PRINT A%, 90 PRINT SQR(A%) 100 NEXT [41][25][0D][0A][3E][01],inbfend=6 A% >/exit ndremote.exeを終了しました logfile closed at Wed Jun 23 15:27:00 2010 |