; Utility routines in standard BIOS\r
\r
extrn ?wboot ; warm boot vector\r
- extrn ?pmsg ; print message @<HL> up to 00, saves <BC> & <DE>\r
- extrn ?pdec ; print binary number in <A> from 0 to 99.\r
+ extrn ?pmsg,pr.inln ; print message @<HL>, print inline message\r
+ extrn pr.crlf ; print <cr><lf>\r
extrn ?pderr ; print BIOS disk error header\r
extrn ?conin,?cono ; con in and out\r
extrn ?const ; get console status\r
dw sd$write\r
dw sd$read\r
dw sd$login\r
- dw sd$init0\r
+ dw sd$init2\r
db 2,0 ; relative drive zero\r
sd2: dph 0,dpbsimhd512\r
\r
dw sd$write\r
dw sd$read\r
dw sd$login\r
- dw sd$init1\r
+ dw sd$init3\r
db 3,0 ; relative drive one\r
sd3: dph 0,dpbsimhd512\r
\r
tst 080h\r
jr z,prompt ; no fatfs error\r
\r
- ld hl,fsmsg\r
- call ?pmsg\r
+ call pr.inln\r
+ db 'FatFs: ',0\r
\r
ld hl,fr$msg0 ; point at first FatFs message\r
ld c,fr$msg$count\r
call pdecoded\r
\r
prompt:\r
- ld hl,error$msg\r
- call ?pmsg ; print "<BEL>, Retry (Y/N) ? "\r
+ call pr.inln\r
+ db ' Retry (Y/N) ? ',0\r
+\r
call u$conin$echo ; get operator response\r
cp 'Y'\r
jr z,retry ; Yes, then retry 10 more times\r
drvmsg_size equ $ - drvmsg0\r
drvmsg_count equ 3\r
\r
-fsmsg: db 'FatFs: ',0\r
\r
; table of pointers to error message strings\r
\r
fr$msg$size equ $ - fr$msg0\r
fr$msg$count equ 20\r
\r
-error$msg:\r
- db ' Retry (Y/N) ? ',0\r
-\r
-\r
end\r