Mercurial > hg > Members > kono > os9 > sbc09
diff src/os9/level2/boot.asm @ 57:2088fd998865
sbc09 directry clean up
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 23 Jul 2018 16:07:12 +0900 |
parents | os9/level2/boot.asm@52f7ad4c2ebb |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/os9/level2/boot.asm Mon Jul 23 16:07:12 2018 +0900 @@ -0,0 +1,94 @@ +******************************************************************** +* Boot - V09 Boot module +* +* $Id: boot_1773.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $ +* +* Ed. Comments Who YY/MM/DD +* ------------------------------------------------------------------ + + nam Boot + ttl v09 Boot module + + ifp1 + use defsfile + endc + +* +* map extended rom on page 0x40- +* first two bytes are extra rom module size + +tylg set Systm+Objct +atrv set ReEnt+rev +rev set $01 +edition set 1 + + mod eom,name,tylg,atrv,start,size + +size equ . + +name fcs /Boot/ + fcb edition + +start + lbra entry + lbra btdebug +entry + ldy #$40 extended rom page no. + clra + clrb + pshs d,x,y,u + tfr d,x + leay 4,s pointer to page no + ** read boot rom file size + os9 F$LDDDXY + bcs last + addb #$ff + adca #0 + clrb + std ,s size return as d + ** OS9 lv2 use $a000-$dfff as a temporary page + ** demand at least that size ( ROM start at $ed00 ) + cmpa #$ed-$a0 + bhi ok + lda #$ed-$a0 +ok + os9 F$BtMem + bcs last + ** u points the memory + stu 2,s return as x + ldd ,s + std 6,s + ldx #0 + ** copy to Bt BtRAM +pagel ldd #$2000 + cmpd 6,s + blo lo + ldd 6,s +lo tfr d,y + lda 5,s + sta $ffa0 + tfr y,d +loop ldy ,x++ + sty ,u++ + subd #2 + bne loop + clr $ffa0 back to system map + ldd 6,s + subd #$2000 + bmi last all transfered + std 6,s + ** 2k boundary + inc 5,s + ldx #0 + bra pagel +last clr $ffa0 + puls d,x,y,u,pc + + ** put lbsr btdebug on <$5e +btdebug anda #$7f + sta $ff81 + rts + + emod +eom equ * + end