X-Git-Url: http://cloudbase.mooo.com/gitweb/avrcpm.git/blobdiff_plain/29ce189c438e15067a26aebcb12227a9c172a384..50302378a423ed3275f0b6a5cfd11486635c1ca2:/avrcpm/avr/dsk_fsys.asm diff --git a/avrcpm/avr/dsk_fsys.asm b/avrcpm/avr/dsk_fsys.asm index 8565620..1f3a195 100644 --- a/avrcpm/avr/dsk_fsys.asm +++ b/avrcpm/avr/dsk_fsys.asm @@ -35,7 +35,7 @@ ;***************************************************** ;* CP/M to host disk constants * ;***************************************************** - .equ MAXDISKS = 6 ;Max number of Disks (partitions) + .equ MAXDISKS = 8 ;Max number of Disks (partitions) .equ PARTENTRY_SIZE = 9 ;Size of a Partitiontableentry .equ blksize = 1024 ;CP/M allocation size .equ hostsize = 512 ;host disk sector size @@ -351,6 +351,42 @@ tmpdpb: .byte 15 ; Test DPBs (avrcpm format) dpblist: +;dpb243 + .db 0x1A,0x00 ;spt + .db 0x03,0x07 ;block shift, bock mask + .db 0x00,0xF2 ;extent mask, low(disk size -1), + .db 0x00,0x3F ;high(disk size -1), low(dir max) + .db 0x00,0xC0 ;high(dir max), alloc0 + .db 0x00,0x10 ;alloc1, low(chk size) + .db 0x00,0x02 ;high(chk size), low(offset) + .db 0x00,0x00 ;high(offset), fill +;dpb243 + .db 0x1A,0x00 ;spt + .db 0x03,0x07 ;block shift, bock mask + .db 0x00,0xF2 ;extent mask, low(disk size -1), + .db 0x00,0x3F ;high(disk size -1), low(dir max) + .db 0x00,0xC0 ;high(dir max), alloc0 + .db 0x00,0x10 ;alloc1, low(chk size) + .db 0x00,0x02 ;high(chk size), low(offset) + .db 0x00,0x00 ;high(offset), fill +;dpb243 + .db 0x1A,0x00 ;spt + .db 0x03,0x07 ;block shift, bock mask + .db 0x00,0xF2 ;extent mask, low(disk size -1), + .db 0x00,0x3F ;high(disk size -1), low(dir max) + .db 0x00,0xC0 ;high(dir max), alloc0 + .db 0x00,0x10 ;alloc1, low(chk size) + .db 0x00,0x02 ;high(chk size), low(offset) + .db 0x00,0x00 ;high(offset), fill +;dpb243 + .db 0x1A,0x00 ;spt + .db 0x03,0x07 ;block shift, bock mask + .db 0x00,0xF2 ;extent mask, low(disk size -1), + .db 0x00,0x3F ;high(disk size -1), low(dir max) + .db 0x00,0xC0 ;high(dir max), alloc0 + .db 0x00,0x10 ;alloc1, low(chk size) + .db 0x00,0x02 ;high(chk size), low(offset) + .db 0x00,0x00 ;high(offset), fill ;dpb243 .db 0x1A,0x00 ;spt .db 0x03,0x07 ;block shift, bock mask @@ -431,9 +467,6 @@ cpydpb_l: pop zh ret -; clear drive table -; for now, only entries 1 - 3 are cleared. - ; ==================================================================== ; Function: Clear drive table ; ==================================================================== @@ -446,12 +479,12 @@ cpydpb_l: ; Description: ; ==================================================================== -; For now, only entries 1 - 3 are cleared. +; For now, only entries 1 - 7 are cleared. dsk_drvtblinit: ldsw x,biosdrvtbl adiw x,2 - ldi temp3,3 + ldi temp3,7 dsk_drvi_l: ldi temp,0 ldi temp2,0 @@ -690,7 +723,6 @@ dsk_read: cpi temp,dskType_None brne PC+2 rjmp dsk_read_err - ; It must be a FAT16-Imagefile or CP/M Partition. sts unacnt,_0 sbi flags,rsflag ;must read data