復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第254回]
●BIOSに即席のデバッガを組み込みました
前回からの続きです。
プリントアウトされた意味不明の文字列なのですが、しかしLLISTとRUNを交互に繰り返してみますと、文字そのものは意味不明ででたらめなのですが、なんとなくプリンタに出力しようとしているらしく思えます。
どうもMBASICから送られてくる文字コードに問題がありそうです。
そこでMBASICからどういうコードが送られてくるのか、こないのか、そこのところを確かめてみることにしました。
どうやらBIOSのプリンタ出力ルーチンはコールされているらしく思えましたので、BIOSのその部分にデバッグのためのちょいとしたプログラムを仕込みました。
といってもそれほど大げさなものではありません。
ほんの小ワザです。
これがその小ワザを仕込んだBIOSのプリンタ出力部です。
D3A0 3EFF CONOUTJ3:LD A,FF D3A2 D39C OUT (9C),A D3A4 C9 RET ; ;PRINTER OUT D3A5 DB82 LISTJ:IN A,(82) D3A7 E680 AND 80 D3A9 C2A5D3 JP NZ,LISTJ D3AC 7B LD A,E D3AD D380 OUT (80),A D3AF AF XOR A D3B0 D383 OUT (83),A D3B2 00 NOP D3B3 3C INC A D3B4 D383 OUT (83),A ; printer check ************ D3B6 AF XOR A D3B7 D39C OUT (9C),A D3B9 E5 PUSH HL D3BA 63 LD H,E D3BB CD4B10 CALL HDP2 D3BE E1 POP HL D3BF C3A0D3 JP CONOUTJ3 ; RET ************ ; |
logfile nd80zlog\11180723.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >/ld zbios2qt.bin,d200 loading ZBIOS2QT.BIN ...0360(864)bytes loaded,from D200 to D55F >/cpm can't open D.vfd loading ZBDOS,wait a while... A>b: B>mbasic BASIC-80 Rev. 5.21 [CP/M Version] Copyright 1977-1981 (C) by Microsoft Created: 28-Jul-81 25400 Bytes free Ok auto 10 for a=0 to 5 20 lprint a, 30 next a 40 ^C Ok list 10 FOR A=0 TO 5 20 LPRINT A, 30 NEXT A Ok llist 19191900000000000000000000000000001919192C2C2C2C2C2C2C2C2C2C2C1919194141414141414141Ok run 1515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151313Ok system B>zb3 end of ZBDOS >0000 00C3 - リモート接続を終了しました logfile closed at Sun Nov 18 07:26:13 2012 |
NFUNCTS EQU 41 ;number of functions in followin table. ; FUNCTNS DW WBOOT,GETCON,OUTCON,GETRDR,PUNCH,LIST,DIRCIO,GETIOB DW SETIOB,PRTSTR,RDBUFF,GETCSTS,GETVER,RSTDSK,SETDSK,OPENFIL DW CLOSEFIL,GETFST,GETNXT,DELFILE,READSEQ,WRTSEQ,FCREATE DW RENFILE,GETLOG,GETCRNT,PUTDMA,GETALOC,WRTPRTD,GETROV,SETATTR DW GETPARM,GETUSER,RDRANDOM,WTRANDOM,FILESIZE,SETRAN,LOGOFF,RTN DW RTN,WTSPECL |
;************************************************************** ;* ;* B I O S J U M P T A B L E ;* ;************************************************************** ; BOOT JMP 0 ;NOTE WE USE FAKE DESTINATIONS WBOOT JMP 0 CONST JMP 0 CONIN JMP 0 CONOUT JMP 0 LIST JMP 0 PUNCH JMP 0 READER JMP 0 HOME JMP 0 SELDSK JMP 0 SETTRK JMP 0 SETSEC JMP 0 SETDMA JMP 0 READ JMP 0 WRITE JMP 0 PRSTAT JMP 0 SECTRN JMP 0 ; |