; ====================================================================
; Parameters
; --------------------------------------------------------------------
-;
+;
; Registers : [w] temp Number of disk images (raw and fat16) found.
; + 0x80 if sd card changes. (not used, doesn't work)
; SREG : Z according to temp
; on the Disk will be used for a detailed analyses. If there
; are any Files like "cpm_x.img" are found, these Files will be
; used as Disks by the CP/M- System. ( x must be in the Range A to D )
-; ====================================================================
+; ====================================================================
mgr_init_partitions:
sts ndisks,_0 ; Set Number of Disks to 0
lcall mmcInit
andi temp,MMCST_NOINIT | MMCST_NODISK
brne mgr_pierr
-
+
;Load first sector from MMC (boot sector)
ldiw y,0 ; Sector 0
movw x,y
;Test, if it has a valid MBR
lds temp,hostbuf+510 ;MBR signature (0xAA55) at and of sector?
- cpi temp,0x55
+ cpi temp,0x55
lds temp,hostbuf+510+1
ldi temp2,0xAA
cpc temp,temp2
#if CPMDSK_SUPPORT
-; Search for valid Partitions and ImageFiles
+; Search for valid Partitions and ImageFiles
ldiw z,hostbuf+510-64 ;Point to first byte of partition table
mgr_ploop:
; Test for CP/M Partition
cpi temp,PARTID_CPM
brne mgr_nextp
-
+
lcall cpm_add_partition
inc temp3
sts ndisks,temp3
adiw y,PARTENTRY_SIZE
cpi temp3,MAXDISKS
breq mgr_pend
-
+
mgr_nextp:
adiw z,16
cpi zl,low(hostbuf+510) ;End of partition table reached?
rcall mgr_prnt_diskname
rcall mgr_prnt_table_ram
rjmp mgr_prnt_size
-mgr_prnt_noramdisk:
+mgr_prnt_noramdisk:
#endif
#endif
lcall print_ultoa
printstring "KB."
-mgr_goto_next_part:
+mgr_goto_next_part:
adiw z,PARTENTRY_SIZE
inc xh
dec yl
pop r14
pop r15
ret
-
+
mgr_prnt_diskname:
push temp
mgr_prnt_table_err:
printstring "Unknown Entry at: "
ret
-
-