X-Git-Url: http://cloudbase.mooo.com/gitweb/avrcpm.git/blobdiff_plain/5482d75ffeb537629e1fe0a82c3eb22986dcbbc5..dc705dc097bfa619a556c12a838634fb811c81f7:/avr/dsk_mgr.asm diff --git a/avr/dsk_mgr.asm b/avr/dsk_mgr.asm index f0a5702..40a2cd4 100644 --- a/avr/dsk_mgr.asm +++ b/avr/dsk_mgr.asm @@ -75,7 +75,7 @@ mgr_picl: ; Start mmc Card interaction lcall mmcInit - andi temp,MMCST_NOINIT & MMCST_NODISK + andi temp,MMCST_NOINIT | MMCST_NODISK brne mgr_pierr ;Load first sector from MMC (boot sector) @@ -97,10 +97,10 @@ mgr_check_bootsektor: ;Test, if it has a valid MBR lds temp,hostbuf+510 ;MBR signature (0xAA55) at and of sector? - lds temp2,hostbuf+510+1 - ldi temp4,0xAA cpi temp,0x55 - cpc temp2,temp4 + lds temp,hostbuf+510+1 + ldi temp2,0xAA + cpc temp,temp2 breq mgr_search ;No MBR, no partition table ... @@ -125,7 +125,6 @@ mgr_check_bootsektor: ; Search for valid Partitions and ImageFiles mgr_search: ldiw z,hostbuf+510-64 ;Point to first byte of partition table - ldi temp4,4 ;Partition table has 4 entries. mgr_ploop: @@ -145,14 +144,13 @@ mgr_ploop: mgr_nextp: adiw z,16 - dec temp4 + cpi zl,low(hostbuf+510) ;End of partition table reached? brne mgr_ploop #if FAT16_SUPPORT ; Test for FAT16 Partition ldiw z,hostbuf+510-64 ;Point to first byte of partition table - ldi temp4,4 mgr_ploop2: ; Get Partitiontype @@ -174,19 +172,18 @@ mgr_fatfound: mgr_nextp2: adiw zl,16 - dec temp4 + cpi zl,low(hostbuf+510) brne mgr_ploop2 #endif mgr_pend: - lds temp4,ndisks clr temp3 mgr_imgd_lp: - tst temp4 + lds temp,ndisks + cp temp3,temp breq mgr_pend2 rcall dpb_imgdata_get inc temp3 - dec temp4 rjmp mgr_imgd_lp mgr_pend2: @@ -208,22 +205,24 @@ mgr_pend2: ; ==================================================================== mgr_prnt_parttbl: + push r15 + push r14 ldiw z,hostparttbl lds yl,ndisks ldi xh,'A' pprl: + printnewline + ldd temp ,z+1 ;Get partition start ldd temp2,z+2 - ldd temp3,z+3 - ldd temp4,z+4 - - printnewline + ldd r14,z+3 + ldd r15,z+4 cp temp,_0 ;If zero ... cpc temp2,_0 - cpc temp3,_0 - cpc temp4,_0 + cpc r14,_0 + cpc r15,_0 breq mgr_prnop ;... no partition table at 0 ; Partitiontype examining @@ -269,12 +268,9 @@ mgr_prnt_size: ldd temp ,z+5 ;Get partition size ldd temp2,z+6 - ldi temp3,0 - ldi temp4,0 - - lsr temp4 - ror temp3 - ror temp2 + clr r14 + clr r15 + lsr temp2 ror temp lcall print_ultoa printstring "KB." @@ -286,6 +282,8 @@ mgr_goto_next_part: brne pprl mgr_pppre: + pop r14 + pop r15 ret