mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-29 21:31:53 +00:00
190 lines
5.3 KiB
ArmAsm
190 lines
5.3 KiB
ArmAsm
|
|
; ============================================================================
|
|
; init hires colors (inline)
|
|
; ============================================================================
|
|
|
|
init_plasma_colors:
|
|
|
|
;==============================================
|
|
|
|
init_hires_colors_even_l0:
|
|
ldx #0
|
|
ldy #0
|
|
; 347
|
|
|
|
init_hires_colors_even_l0_loop:
|
|
lda hires_colors_even_lookup_l0,X
|
|
sta hires_colors_even_l0,Y
|
|
iny
|
|
sta hires_colors_even_l0,Y
|
|
iny
|
|
sta hires_colors_even_l0,Y
|
|
iny
|
|
sta hires_colors_even_l0,Y
|
|
iny
|
|
beq done_init_hires_colors_even_l0
|
|
|
|
inx
|
|
txa
|
|
and #$f
|
|
tax
|
|
jmp init_hires_colors_even_l0_loop
|
|
|
|
done_init_hires_colors_even_l0:
|
|
|
|
;============================
|
|
|
|
init_hires_colors_odd_l0:
|
|
ldx #0
|
|
ldy #0
|
|
; 347
|
|
|
|
init_hires_colors_odd_l0_loop:
|
|
lda hires_colors_odd_lookup_l0,X
|
|
sta hires_colors_odd_l0,Y
|
|
iny
|
|
sta hires_colors_odd_l0,Y
|
|
iny
|
|
sta hires_colors_odd_l0,Y
|
|
iny
|
|
sta hires_colors_odd_l0,Y
|
|
iny
|
|
beq done_init_hires_colors_odd_l0
|
|
|
|
inx
|
|
txa
|
|
and #$f
|
|
tax
|
|
jmp init_hires_colors_odd_l0_loop
|
|
|
|
done_init_hires_colors_odd_l0:
|
|
|
|
;==============================================
|
|
|
|
init_hires_colors_even_l1:
|
|
ldx #0
|
|
ldy #0
|
|
; 347
|
|
|
|
init_hires_colors_even_l1_loop:
|
|
lda hires_colors_even_lookup_l1,X
|
|
sta hires_colors_even_l1,Y
|
|
iny
|
|
sta hires_colors_even_l1,Y
|
|
iny
|
|
sta hires_colors_even_l1,Y
|
|
iny
|
|
sta hires_colors_even_l1,Y
|
|
iny
|
|
beq done_init_hires_colors_even_l1
|
|
|
|
inx
|
|
txa
|
|
and #$f
|
|
tax
|
|
jmp init_hires_colors_even_l1_loop
|
|
|
|
done_init_hires_colors_even_l1:
|
|
|
|
;============================
|
|
|
|
init_hires_colors_odd_l1:
|
|
ldx #0
|
|
ldy #0
|
|
; 347
|
|
|
|
init_hires_colors_odd_l1_loop:
|
|
lda hires_colors_odd_lookup_l1,X
|
|
sta hires_colors_odd_l1,Y
|
|
iny
|
|
sta hires_colors_odd_l1,Y
|
|
iny
|
|
sta hires_colors_odd_l1,Y
|
|
iny
|
|
sta hires_colors_odd_l1,Y
|
|
iny
|
|
beq done_init_hires_colors_odd_l1
|
|
|
|
inx
|
|
txa
|
|
and #$f
|
|
tax
|
|
jmp init_hires_colors_odd_l1_loop
|
|
|
|
done_init_hires_colors_odd_l1:
|
|
|
|
rts
|
|
|
|
hires_colors_even_lookup_l0:
|
|
.byte $00 ; black
|
|
.byte $A2 ; 01 00 01 0 -> 1 01 00 01 0 = $A2 ; dark orange
|
|
.byte $A2 ; 01 00 01 0 -> 1 01 00 01 0 = $A2 ; med orange
|
|
.byte $88 ; 01 00 01 0 -> 1 01 00 01 0 = $A2 ; light orange
|
|
.byte $AA ; 01 01 01 0 -> 1 01 01 01 0 = $AA ; solid orange
|
|
.byte $EE ; 01 11 01 1 -> 1 11 01 11 0 = $EE ; white orange
|
|
.byte $EE ; 01 11 01 1 -> 1 11 01 11 0 = $EE ; med white/o
|
|
.byte $EE ; 01 11 01 1 -> 1 11 01 11 0 = $EE ; wwo
|
|
.byte $FF ; 11 11 11 1 -> 1 11 11 11 1 = $FF ; white
|
|
.byte $DD ; 10 11 10 1 -> 1 10 11 10 1 = $DD ; white/blue
|
|
.byte $DD ; 10 11 10 1 -> 1 10 11 10 1 = $DD ; med white/blue
|
|
.byte $DD ; 10 11 10 1 -> 1 10 11 10 1 = $DD ; blue/white
|
|
.byte $D5 ; 10 10 10 1 -> 1 10 10 10 1 = $D5 ; blue
|
|
.byte $91 ; 10 00 10 0 -> 1 00 10 00 1 = $91 ; black/blue
|
|
.byte $91 ; 10 00 10 0 -> 1 00 10 00 1 = $91 ; med
|
|
.byte $91 ; 10 00 10 0 -> 1 00 10 00 1 = $91 ; med/dark
|
|
|
|
hires_colors_odd_lookup_l0:
|
|
.byte $00 ; black
|
|
.byte $91 ; 1 00 01 00 -> 1 00 10 00 1 = $91 ; dark orange
|
|
.byte $91 ; 1 00 01 00 -> 1 00 10 00 1 = $91 ; med orange
|
|
.byte $91 ; 1 00 01 00 -> 1 00 10 00 1 = $91 ; light orange
|
|
.byte $D5 ; 1 01 01 01 -> 1 10 10 10 1 = $D5 ; solid orange
|
|
.byte $DD ; 1 01 11 01 -> 1 10 11 10 1 = $DD ; white orange
|
|
.byte $DD ; 1 01 11 01 -> 1 10 11 10 1 = $DD ; med white/o
|
|
.byte $DD ; 1 01 11 01 -> 1 10 11 10 1 = $DD ; wwo
|
|
.byte $FF ; 1 11 11 11 -> 1 11 11 11 1 = $FF ; white
|
|
.byte $BB ; 1 10 11 10 -> 1 01 11 01 1 = $BB ; white/blue
|
|
.byte $BB ; 1 10 11 10 -> 1 01 11 01 1 = $BB ; med white/blue
|
|
.byte $BB ; 1 10 11 10 -> 1 01 11 01 1 = $BB ; blue/white
|
|
.byte $AA ; 0 10 10 10 -> 1 01 01 01 0 = $AA ; blue
|
|
.byte $A2 ; 0 10 00 10 -> 1 01 00 01 0 = $A2 ; black/blue
|
|
.byte $A2 ; 0 10 00 10 -> 1 01 00 01 0 = $A2 ; med
|
|
.byte $A2 ; 0 10 00 10 -> 1 01 00 01 0 = $A2 ; med/dark
|
|
|
|
hires_colors_even_lookup_l1:
|
|
.byte $00 ; black
|
|
.byte $00 ; dark orange
|
|
.byte $88 ; 00 01 00 0 -> 1 00 01 00 0 = $88 ; med orange
|
|
.byte $AA ; 01 01 01 0 -> 1 01 01 01 0 = $AA ; light orange
|
|
.byte $AA ; 01 01 01 0 -> 1 01 01 01 0 = $AA ; solid orange
|
|
.byte $AA ; 01 01 01 0 -> 1 01 01 01 0 = $AA ; white orange
|
|
.byte $BB ; 11 01 11 0 -> 1 01 11 01 1 = $BB ; med white/o
|
|
.byte $FF ; 11 11 11 1 -> 1 11 11 11 1 = $FF ; wwo
|
|
.byte $FF ; 11 11 11 1 -> 1 11 11 11 1 = $FF ; white
|
|
.byte $FF ; 11 11 11 1 -> 1 11 11 11 1 = $FF ; white/blue
|
|
.byte $F7 ; 11 10 11 1 -> 1 11 10 11 1 = $F7 ; med white/blue
|
|
.byte $D5 ; 10 10 10 1 -> 1 10 10 10 1 = $D5 ; blue/white
|
|
.byte $D5 ; 10 10 10 1 -> 1 10 10 10 1 = $D5 ; blue
|
|
.byte $D5 ; 10 10 10 1 -> 1 10 10 10 1 = $D5 ; black/blue
|
|
.byte $C4 ; 00 10 00 1 -> 1 10 00 10 0 = $C4 ; med
|
|
.byte $00 ; med/dark
|
|
|
|
hires_colors_odd_lookup_l1:
|
|
.byte $00 ; black
|
|
.byte $00 ; dark orange
|
|
.byte $91 ; 1 00 01 00 -> 1 00 10 00 1 = $91 ; med orange
|
|
.byte $D5 ; 1 01 01 01 -> 1 10 10 10 1 = $D5 ; light orange
|
|
.byte $D5 ; 1 01 01 01 -> 1 10 10 10 1 = $D5 ; solid orange
|
|
.byte $D5 ; 1 01 01 01 -> 1 10 10 10 1 = $D5 ; white orange
|
|
.byte $F7 ; 1 11 01 11 -> 1 11 10 11 1 = $F7 ; med white/o
|
|
.byte $FF ; 1 11 11 11 -> 1 11 11 11 1 = $FF ; wwo
|
|
.byte $FF ; 1 11 11 11 -> 1 11 11 11 1 = $FF ; white
|
|
.byte $FF ; 1 11 11 11 -> 1 11 11 11 1 = $FF ; white/blue
|
|
.byte $EE ; 0 11 10 11 -> 1 11 01 11 0 = $EE ; med white/blue
|
|
.byte $AA ; 0 10 10 10 -> 1 01 01 01 0 = $AA ; blue/white
|
|
.byte $AA ; 0 10 10 10 -> 1 01 01 01 0 = $AA ; blue
|
|
.byte $AA ; 0 10 10 10 -> 1 01 01 01 0 = $AA ; black/blue
|
|
.byte $A2 ; 0 10 00 10 -> 1 01 00 01 0 = $A2 ; med
|
|
.byte $00 ; med/dark
|
|
|