VM02/src/apple2/hrLine.s
2018-04-25 09:13:44 -07:00

74 lines
880 B
ArmAsm
Executable File

;
; HIRES COLOR HLINE
;
LDY #$07 ; SAVE VM02, RESTORE HGR
: LDA $E0,Y
STA $40F8,Y
LDA $4078,Y
STA $E0,Y
DEY
BPL :-
LDA $1C
STA $41FE
LDA $417E
STA $1C
LDA $1D
STA $41FF
LDA $417F
STA $1D
BIT $C081
PLA ; SAVE RETURN ADDRESS
STA $A0
PLA
STA $A1
PLA
STA $A2 ; VERTICAL POSITION 2
PLA
PLA
PLA
PLA
STA $A3 ; HORIZ POSITION 2
PLA
STA $A4
PLA
PLA
PLA
STA $A5 ; VERTICAL POSITION 1
PLA
PLA
PLA
PLA
TAX ; HORIZ POSITION 1
PLA
TAY
PLA
PLA
LDA $A5
JSR $F411 ; vm02.call((x1 << 8) | y1, 0xF411); // HPOSN
LDY $A2
LDX $A4
LDA $A3
JSR $F53A ; vm02.call(x2 | (y2 << 16), 0xF53A); // HLINE
LDA $A1 ; RESTORE RETURN ADDRESS
PHA
LDA $A0
PHA
BIT $C083
BIT $C083
LDY #$07 ; SAVE HGR, RESTORE VM02
: LDA $E0,Y
STA $4078,Y
LDA $40F8,Y
STA $E0,Y
DEY
BPL :-
LDA $1C
STA $417E
LDA $41FE
STA $1C
LDA $1D
STA $417F
LDA $41FF
STA $1D
RTS