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

マイコン独立大作戦
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

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