X-Git-Url: http://cloudbase.mooo.com/gitweb/avrcpm.git/blobdiff_plain/678fc0b01b6a5e7ebb30388383ce2bea0d30303a..9220263651f90651ce0106bd1f570ac0cd598597:/avrcpm/avr/init.asm?ds=sidebyside diff --git a/avrcpm/avr/init.asm b/avrcpm/avr/init.asm index 374bdd2..4ffff96 100644 --- a/avrcpm/avr/init.asm +++ b/avrcpm/avr/init.asm @@ -1,5 +1,4 @@ ; Various functions: init, (RAM) disk, mmc, timer -; This file needs to get split up. ; ; Copyright (C) 2010 Sprite_tm ; Copyright (C) 2010 Leo C. @@ -141,8 +140,7 @@ clr_l: ramtestw: mov temp,xh eor temp,xl - mem_write - adiw xl,1 + rcall dram_write_pp brcc ramtestw printstring "wait..." @@ -194,8 +192,7 @@ ramtestrok: ldiw x,0 ramfillw: ldi temp,MEMFILL_VAL - mem_write - adiw xl,1 + rcall dram_write_pp brcc ramfillw .endif @@ -206,7 +203,7 @@ boot_again: printnewline printstring "Initing mmc...",0 printnewline - call mgr_init_partitions + lcall mgr_init_partitions cbr temp,0x80 brne boot_ipl2 @@ -222,21 +219,31 @@ boot_iplwl: boot_ipl2: - call mgr_prnt_parttbl + lcall mgr_prnt_parttbl printnewline printstring "Partinit done." - rcall dsk_cboot ;init (de)blocking buffer + rcall dsk_cboot ;init (de)blocking buffer -; Read first sector of first CP/M partition +; 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 +; lds xl,hostparttbl+1 +; lds xh,hostparttbl+2 +; lds yl,hostparttbl+3 +; lds yh,hostparttbl+4 +; rcall mmcReadSect - rcall dsk_cboot ;init (de)blocking buffer +; Disk 0 + sts seekdsk,_0 +; Track 0 + sts seektrk,_0 + sts seektrk+1,_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. @@ -245,12 +252,11 @@ boot_ipl2: ldiw x,IPLADDR iplwriteloop: ld temp,z+ - mem_write - adiw xl,1 + rcall dram_write_pp cpi zl,low(hostbuf+128) brne iplwriteloop cpi zh,high(hostbuf+128) brne iplwriteloop - jmp z80_init + ljmp z80_init