X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp-cpm3.git/blobdiff_plain/3735c546703c5f57dadd74318bcf9e727388be5a..4fc939ea71f1c4979525f2cb059da81a5e3fb07c:/cbios/sdio.180 diff --git a/cbios/sdio.180 b/cbios/sdio.180 index 220a15f..0d29645 100644 --- a/cbios/sdio.180 +++ b/cbios/sdio.180 @@ -6,9 +6,11 @@ ; Disk drive dispatching tables for linked BIOS public sd0,sd1,sd2,sd3 + public sd4,sd5,sd6,sd7 ; Variables containing parameters passed by BDOS + extrn @xdph extrn @adrv,@rdrv extrn @trk,@sect,@cnt extrn @dma,@dbnk @@ -85,6 +87,35 @@ sd2: dph 0,dpbsimhd512 sd3: dph 0,dpbsimhd512 + dw sd$write + dw sd$read + dw sd$login + dw sd$init4 + db 4,0 ; relative drive zero +sd4: dph 0,dpbsimhd512 + + dw sd$write + dw sd$read + dw sd$login + dw sd$init5 + db 5,0 ; relative drive one +sd5: dph 0,dpbsimhd512 + + dw sd$write + dw sd$read + dw sd$login + dw sd$init6 + db 6,0 ; relative drive zero +sd6: dph 0,dpbsimhd512 + + dw sd$write + dw sd$read + dw sd$login + dw sd$init7 + db 7,0 ; relative drive one +sd7: dph 0,dpbsimhd512 + + cseg ; DPB must be resident dpbsimhd512: @@ -104,15 +135,20 @@ sd$init0: sd$init1: sd$init2: sd$init3: +sd$init4: +sd$init5: +sd$init6: +sd$init7: ret ; all initialization done by drive 0 - - ; This entry is called when a logical drive is about to ; be logged into for the purpose of density determination. ; It may adjust the parameters contained in the disk ; parameter header pointed at by +; +; absolute drive number in @adrv (8 bits) +0 +; relative drive number in @rdrv (8 bits) +1 sd$login: xor a @@ -144,8 +180,11 @@ sd$login: ld b,recv_msg_len ; max receive message len call msg.recv -; ld a,(recv_msg_rc) -; or a + ld a,(recv_msg_rc) + or a + ret z + ld hl,0 + ld (@xdph),hl ret ;