1
0
mirror of https://github.com/pfusik/xasm.git synced 2024-09-24 07:56:30 +00:00
xasm/xbootpro.asx

79 lines
1015 B
Plaintext
Raw Normal View History

* Boot executable file loader coded by Fox/Taquart
* Version for professionals - can load file under ROM.
* Note interrupts and ROM are disabled when running loaded program.
org $480
bufr equ $400
tp equ $43
vc equ $44
* Boot header
boot equ *
rts rts
dta b(1),a(boot,$e477)
* Nice blank screen
lda #0
sta $22f
lda #$52
sta $2c8
lda 20
cmp 20
beq *-2
* Init run vector
lda <rts
sta $2e0
lda >rts
sta $2e1
ldy #$fe
* Load header
lhead lda <rts
sta $2e2
lda >rts
sta $2e3
ldx <-5
* Store byte of header
hput sta vc+4,x
inx
stx tp
jmp get
next inw vc
get iny
bpl getx
inw $30a
lda #$ff
sta ^31
lsr ^4e
cli
jsr $e453
sec
bmi rts
ldy #0
sei
sty ^4e
dec ^31
getx lda bufr,y
ldx tp
bne hput
sta (vc,x)
lda vc
cmp vc+2
bne next
lda vc+1
cmp vc+3
bne next
endseq tya
pha
jsr init
pla
tay
bpl lhead !
init jmp ($2e2)
* This will be added at the end of loaded file
org endseq
jmp ($2e0)
end