復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第206回]
●ファンクションコール0E(ディスクドライブセレクト)
ファンクションコール0Eのテストは[第82回]〜[第86回]で行なっています。
そこで作ったテストプログラムはFTST10−2です。
[第140回]ではRAMディスク版での動作テストをしています。
今回はFTST10−2を64KBフルRAM用に一部を書き換えてファイル名をVFTST102にしました。
下はそのソースプログラムリストです。
●ソースプログラムVFTST102.TXT
; BDOS TEST10 filename search function0e,11,12
;2012/3/19 4/4 8/27
;
ORG $0100
FCALL=$0005
FCB=$005C
DMA=$0080
;
LOOP:LD DE,INPMSG
CALL MSGDP
LD C,01
CALL FCALL
CP 1A;^z
RET Z
CP 30
JP Z,DNOPASS
AND 0F
DEC A
LD E,A
LD C,0E
CALL FCALL
DNOPASS:CALL CRLF
LD C,11;first file search
LD DE,FCB
CALL FCALL
CP FF
JP Z,NOFILE
;
LD HL,DMA
LD DE,$0020
OR A;dirctory code 00-03
LOOP1: JP Z,NMDISP
ADD HL,DE
DEC A
JP LOOP1
NMDISP:INC HL;pass drive no.
LD B,08
NMDISP2:LD A,(HL)
CP 20
JP Z,NMDISP3
CALL ADP
NMDISP3:INC HL
DEC B
JP NZ,NMDISP2
LD A,2E;"."
CALL ADP
LD B,03
NMDISP4:LD A,(HL)
CALL ADP
INC HL
DEC B
JP NZ,NMDISP4
CALL CRLF
;next file search
LD C,12;next file search
LD DE,FCB
CALL FCALL
CP FF
JP Z,END
LD HL,DMA
LD DE,$0020
OR A;dirctory code 00-03
NXTSRCH:JP Z,NMDISP
ADD HL,DE
DEC A
JP NXTSRCH
;
NOFILE:LD DE,NFMSG
CALL MSGDP
JP LOOP
;
END:LD DE,ENDMSG
CALL MSGDP
JP LOOP
;
MSGDP:LD C,09
CALL FCALL
RET
;
;CL & LF
CRLF:LD A,0D
CALL ADP
LD A,0A
JP ADP
;space disp
SPDP:LD A,20
;A disp
ADP:PUSH BC
PUSH HL
LD E,A
LD C,02
CALL FCALL
POP HL
POP BC
RET
;
INPMSG:"drvn"
"o."
DB 3F;?
DB 24;$
NFMSG:"not "
"foun"
"d"
DB 0D
DB 0A
DB 24;$
ENDMSG:"end"
DB 0D
DB 0A
DB 24;$
;
|
logfile nd80zlog\08272032.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** can't open D.vfd >jp d233 A>copy z:vftst102.bin A>vftst102 *.* drvno.?a F80.COM F80.COM HELL1.FOR HELL1.REL . . FNC0BT-2.COM FNC06T-2.COM FNC03T-2.COM VFTST102.COM end drvno.?b TEST2.COM MBASIC.COM . . FORLIB.REL HELLO.COM end drvno.?0 TEST2.COM MBASIC.COM . . FORLIB.REL HELLO.COM end drvno.? A> |
A>b: B>a:vftst102 *.* drvno.?0 TEST2.COM MBASIC.COM . . FORLIB.REL HELLO.COM end drvno.?a F80.COM F80.COM HELL1.FOR HELL1.REL . . FNC0BT-2.COM FNC06T-2.COM FNC03T-2.COM VFTST102.COM end drvno.?0 F80.COM F80.COM HELL1.FOR HELL1.REL . . FNC0BT-2.COM FNC06T-2.COM FNC03T-2.COM VFTST102.COM end drvno.? B> |