マイコン独立大作戦
CRT/VGAIF+KEYIF+SDCARDIFボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[総合第98回]
●628128のテスト
前回は628512のテストを行ないました。
ROM/RAM/RTCボードには増設RAMとして、628512、628128、62256を実装することができます。
実装するRAMに合わせて8PディップスイッチのbV、bWを設定します。
628512はbV=ON、bW=OFFにします。
628128と62256はそれとは逆にbV=OFF、bW=ONにします。
前回の628512のテストでは何も問題なく正常に終了しましたので、多分628128も問題になるようなことはないだろうと思いますが、念のため628128についてもテストをしておくことにします。
628128については「ROM/RAM/RTCボードの製作」[第28回]でテストをしました。
そこでは628128用のテストプログラムを作ってテストしましたが、今回は前回作った628512用のプログラムを手直ししたものを作って、それでテストを行ないます。
下が今回作った628128用のテストプログラムram128t3のアセンブルリストです。
2017/10/2 15:5 ram128t3.txt END=8689 ;;;628128 test ;17/10/2 ; ORG $8600 ; REENT=$1033 BKWR=$E9A0 BKRD=$E9A9 ; 8600 C31B86 JP WRTEST ; 8603 D39C BKWRT:OUT (9C),A;$E9A0 8605 EB EX DE,HL 8606 71 LD (HL),C 8607 EB EX DE,HL 8608 AF XOR A;don't use JP! see assemble list 8609 D39C OUT (9C),A 860B C9 RET 860C D39C BKRDT:OUT (9C),A;$E9A9 860E 4E LD C,(HL) 860F AF XOR A 8610 D39C OUT (9C),A 8612 C9 RET 8613 D39C BKMVT:OUT (9C),A;$E9B0 8615 EDB0 LDIR 8617 AF XOR A 8618 D39C OUT (9C),A 861A C9 RET;end=$E9B8 ; 861B 210386 WRTEST:LD HL,BKWRT 861E 11A0E9 LD DE,BKWR 8621 011800 LD BC,$0018;=24bytes 8624 EDB0 LDIR 8626 06FF LD B,FF 8628 CD4586 WRTEST1:CALL WRSB 862B 78 LD A,B 862C D610 SUB 10 862E 47 LD B,A 862F FEBF CP BF 8631 C22886 JP NZ,WRTEST1 ; 8634 06FF RDTEST:LD B,FF 8636 CD6186 RDTEST1:CALL RDSB 8639 78 LD A,B 863A D610 SUB 10 863C 47 LD B,A 863D FEBF CP BF 863F C23686 JP NZ,RDTEST1 8642 C33310 JP REENT ; 8645 110000 WRSB:LD DE,$0000 8648 78 WRSB1:LD A,B 8649 4F LD C,A 864A CDA0E9 CALL BKWR 864D 13 INC DE 864E 78 LD A,B 864F 4B LD C,E 8650 CDA0E9 CALL BKWR 8653 13 INC DE 8654 7A LD A,D 8655 FE80 CP 80 8657 C8 RET Z 8658 78 LD A,B 8659 4A LD C,D 865A CDA0E9 CALL BKWR 865D 13 INC DE 865E C34886 JP WRSB1 ; 8661 210000 RDSB:LD HL,$0000 8664 78 RDSB1:LD A,B 8665 CDA9E9 CALL BKRD 8668 79 LD A,C 8669 B8 CP B 866A C28986 JP NZ,ERR 866D 23 INC HL 866E 78 LD A,B 866F CDA9E9 CALL BKRD 8672 79 LD A,C 8673 BD CP L 8674 C28986 JP NZ,ERR 8677 23 INC HL 8678 7C LD A,H 8679 FE80 CP 80 867B C8 RET Z 867C 78 LD A,B 867D CDA9E9 CALL BKRD 8680 79 LD A,C 8681 BC CP H 8682 C28986 JP NZ,ERR 8685 23 INC HL 8686 C36486 JP RDSB1 8689 00 ERR:NOP;break point set ; BKMVT =8613 BKRD =E9A9 BKRDT =860C BKWR =E9A0 BKWRT =8603 ERR =8689 RDSB =8661 RDSB1 =8664 RDTEST =8634 RDTEST1 =8636 REENT =1033 WRSB =8645 WRSB1 =8648 WRTEST =861B WRTEST1 =8628 |
前回の628512テストプログラムram512t3を2箇所変更しただけです。
アドレス862Fと863DのCP FFをCP BFに直しただけです。
628512はバンクFFから10ずつ減じて0Fまで16バンクをテストしますから、10を減じてFFになったところで終了します。
628128はバンクFF、EF、DF、CFの4バンクですから10を減じてBFになったところで終了します。
下はram128t3.binを実行したときのログです。
logfile nd80zlog\10021541.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** ndwr2h.bin loaded,from E23F to E535 >/ld ram128t3.bin,8600 loading RAM128T3.BIN ...008a(138)bytes loaded,from 8600 to 8689 >bp 8689 >jp 8600 >/exit 0000 00C3 - リモート接続を終了しました logfile closed at Mon Oct 02 15:43:20 2017 |
エラーブレークすることなく正常に終了しました。
628128も動作テストOKです。
●62256のテスト
628512と628128のテストを行ないましたから、62256についてもテストをしておくことにしました。
62256は8Pディップスイッチの設定は628128と同じですが、ICのピン数が628512、628128よりも4ピン少ないのでICソケットに実装するときに間違えないように注意する必要があります。
写真のように1ピン側(左側)の上下各2ピンを空けて右側に寄せて実装します。
62256用のテストプログラムもram512t3をもとにして新たに作成しましたが、62256はFFの1バンクだけをテストするだけですから、バンクアドレスの10を減ずるところがなくなって、その分簡単になっています。
lo2017/10/2 15:46 ram256t3.txt END=8677 ;;;62256 test ;17/10/2 ; ORG $8600 ; REENT=$1033 BKWR=$E9A0 BKRD=$E9A9 ; 8600 C31B86 JP WRTEST ; 8603 D39C BKWRT:OUT (9C),A;$E9A0 8605 EB EX DE,HL 8606 71 LD (HL),C 8607 EB EX DE,HL 8608 AF XOR A;don't use JP! see assemble list 8609 D39C OUT (9C),A 860B C9 RET 860C D39C BKRDT:OUT (9C),A;$E9A9 860E 4E LD C,(HL) 860F AF XOR A 8610 D39C OUT (9C),A 8612 C9 RET 8613 D39C BKMVT:OUT (9C),A;$E9B0 8615 EDB0 LDIR 8617 AF XOR A 8618 D39C OUT (9C),A 861A C9 RET;end=$E9B8 ; 861B 210386 WRTEST:LD HL,BKWRT 861E 11A0E9 LD DE,BKWR 8621 011800 LD BC,$0018;=24bytes 8624 EDB0 LDIR 8626 06FF LD B,FF 8628 CD3386 WRTEST1:CALL WRSB ; 862B 06FF RDTEST:LD B,FF 862D CD4F86 RDTEST1:CALL RDSB 8630 C33310 JP REENT ; 8633 110000 WRSB:LD DE,$0000 8636 78 WRSB1:LD A,B 8637 4F LD C,A 8638 CDA0E9 CALL BKWR 863B 13 INC DE 863C 78 LD A,B 863D 4B LD C,E 863E CDA0E9 CALL BKWR 8641 13 INC DE 8642 7A LD A,D 8643 FE80 CP 80 8645 C8 RET Z 8646 78 LD A,B 8647 4A LD C,D 8648 CDA0E9 CALL BKWR 864B 13 INC DE 864C C33686 JP WRSB1 ; 864F 210000 RDSB:LD HL,$0000 8652 78 RDSB1:LD A,B 8653 CDA9E9 CALL BKRD 8656 79 LD A,C 8657 B8 CP B 8658 C27786 JP NZ,ERR 865B 23 INC HL 865C 78 LD A,B 865D CDA9E9 CALL BKRD 8660 79 LD A,C 8661 BD CP L 8662 C27786 JP NZ,ERR 8665 23 INC HL 8666 7C LD A,H 8667 FE80 CP 80 8669 C8 RET Z 866A 78 LD A,B 866B CDA9E9 CALL BKRD 866E 79 LD A,C 866F BC CP H 8670 C27786 JP NZ,ERR 8673 23 INC HL 8674 C35286 JP RDSB1 8677 00 ERR:NOP;break point set ; BKMVT =8613 BKRD =E9A9 BKRDT =860C BKWR =E9A0 BKWRT =8603 ERR =8677 RDSB =864F RDSB1 =8652 RDTEST =862B RDTEST1 =862D REENT =1033 WRSB =8633 WRSB1 =8636 WRTEST =861B WRTEST1 =8628 |
下はram256t3.binを実行したときのログです。
logfile nd80zlog\10021553.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** ndwr2h.bin loaded,from E23F to E535 >/ld ram256t3.bin,8600 loading RAM256T3.BIN ...0078(120)bytes loaded,from 8600 to 8677 >bp 8677 >jp 8600 >/exit 0000 00C3 - リモート接続を終了しました logfile closed at Mon Oct 02 15:54:20 2017 |
エラーブレークすることなく正常に終了しました。
62256も動作テストOKです。
CRT/VGAIF+KEYIF+SDCARDIFボードの製作[総合第98回]
2017.10.4upload
前へ
次へ
ホームページトップへ戻る