boot_again:
printnewline
- printstring "Initing mmc...",0
+ printstring "Initing mmc..."
printnewline
lcall mgr_init_partitions
lcall mgr_prnt_parttbl
printnewline
printstring "Partinit done."
+
+ ldi temp,0
+ rcall dsk_img_type ;parameter for boot disk image.
- rcall dsk_cboot ;init (de)blocking buffer
+ lcall dsk_inval_hostbuf ;init (de)blocking buffer
; Read first sector of first CP/M partition (ipl)
-; lds xl,hostparttbl+1
-; lds xh,hostparttbl+2
-; lds yl,hostparttbl+3
-; lds yh,hostparttbl+4
-; rcall mmcReadSect
-
; Disk 0
sts seekdsk,_0
; Track 0
; Sector 0
sts seeksec,_0
- rcall dsk_read
-
-; rcall dsk_cboot ;init (de)blocking buffer
-
-;First sector of disk or first CP/M partition is in hostbuf.
+; Destination
+ ldiw x,IPLADDR
+ stsw dmaadr,x
+
+ lcall dsk_read
-;Save to Z80 RAM (only 128 bytes because that's retro)
- ldiw z,hostbuf
- ldiw x,IPLADDR
-iplwriteloop:
- ld temp,z+
- rcall dram_write_pp
- cpi zl,low(hostbuf+128)
- brne iplwriteloop
- cpi zh,high(hostbuf+128)
- brne iplwriteloop
+; lift off
ljmp z80_init