mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-25 20:30:31 +00:00
xmas2018: reflections code, urgh that is a pain
running up to filesize limit too
This commit is contained in:
parent
2ebeb90d80
commit
751da01f90
@ -27,7 +27,7 @@ xmas2018.o: xmas2018.s \
|
||||
vapor_lock.s delay_a.s wait_keypress.s gr_putsprite.s \
|
||||
play_music.s mockingboard.s rts.s \
|
||||
wreath.s wreath.img.lz4 sprites.inc \
|
||||
ball.s ball.img.lz4 greets.raw.lz4t gr_scroll.s \
|
||||
ball.s ball.img.lz4 greets.raw.lz4t gr_scroll.s reflection.s \
|
||||
merry.s merry.img.lz4
|
||||
ca65 -o xmas2018.o xmas2018.s -l xmas2018.lst
|
||||
|
||||
|
497
xmas_2018/ball.s
497
xmas_2018/ball.s
@ -150,13 +150,13 @@ baloopF:dex ; 2
|
||||
|
||||
; do_nothing should be 4550
|
||||
; -1023 music
|
||||
; -1841 scroll/else
|
||||
; -1844 scroll/else
|
||||
; -18 frame adjust
|
||||
; -10 keypress
|
||||
; -8 pick which
|
||||
; -7 check for end
|
||||
; ===========
|
||||
; 1643
|
||||
; 1640
|
||||
|
||||
inc FRAME ; 5
|
||||
lda FRAME ; 3
|
||||
@ -196,39 +196,41 @@ done_framing:
|
||||
|
||||
do_something_else:
|
||||
; -1
|
||||
jsr do_reflection ; 6+678
|
||||
jsr do_reflection ; 6+1836
|
||||
|
||||
|
||||
; 1842 (+1 incoming)
|
||||
; 1845 (+1 incoming)
|
||||
; -3 jmp
|
||||
; -684 do_reflection
|
||||
;-1842 do_reflection
|
||||
;===================
|
||||
; 1155
|
||||
; 0
|
||||
|
||||
; Try X=114 Y=2 cycles=1153 R2
|
||||
; Try X=16 Y=1 cycles=87
|
||||
|
||||
nop
|
||||
|
||||
ldy #2 ; 2
|
||||
baloopQ:ldx #114 ; 2
|
||||
baloopR:dex ; 2
|
||||
bne baloopR ; 2nt/3
|
||||
dey ; 2
|
||||
bne baloopQ ; 2nt/3
|
||||
; ldy #1 ; 2
|
||||
;baloopQ:ldx #16 ; 2
|
||||
;baloopR:dex ; 2
|
||||
; bne baloopR ; 2nt/3
|
||||
; dey ; 2
|
||||
; bne baloopQ ; 2nt/3
|
||||
|
||||
jmp done_actions ; 3
|
||||
|
||||
|
||||
do_scrolling:
|
||||
jsr scroll_loop ; 6+1835
|
||||
lda $0 ; 3
|
||||
;=========
|
||||
; 1841
|
||||
; 1844
|
||||
done_actions:
|
||||
|
||||
; Try X=163 Y=2 cycles=1643
|
||||
; Try X=16 Y=19 cycles=1635 R5
|
||||
|
||||
ldy #2 ; 2
|
||||
baloop1:ldx #163 ; 2
|
||||
nop
|
||||
lda $0
|
||||
|
||||
ldy #19 ; 2
|
||||
baloop1:ldx #16 ; 2
|
||||
baloop2:dex ; 2
|
||||
bne baloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
@ -248,459 +250,4 @@ ball_done:
|
||||
rts ; 6
|
||||
|
||||
|
||||
;======================================
|
||||
; First two = (30*4)*2 = 240
|
||||
; Next two = (30*2+26*2) = 224
|
||||
; Next two = (26*4)*2 = 208
|
||||
; return 6
|
||||
;======================================
|
||||
; 678
|
||||
|
||||
do_reflection:
|
||||
|
||||
;20========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 20x40 -> HIRES 126x156
|
||||
lda $664 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $51d0+(126/7) ; 4
|
||||
sta $55d0+(126/7) ; 4
|
||||
sta $59d0+(126/7) ; 4
|
||||
sta $5dd0+(126/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 20x42 -> HIRES 126x152
|
||||
lda $6E4 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $5150+(126/7) ; 4
|
||||
sta $5550+(126/7) ; 4
|
||||
sta $5950+(126/7) ; 4
|
||||
sta $5d50+(126/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 20x44 -> HIRES 126x148
|
||||
lda $764 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $41d0+(126/7) ; 4
|
||||
sta $45d0+(126/7) ; 4
|
||||
sta $49d0+(126/7) ; 4
|
||||
sta $4dd0+(126/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 20x46 -> HIRES 126x144
|
||||
lda $7E4 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $4150+(126/7) ; 4
|
||||
sta $4550+(126/7) ; 4
|
||||
sta $4950+(126/7) ; 4
|
||||
sta $4d50+(126/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;19========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 19x40 -> HIRES 119x156
|
||||
lda $663 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $51d0+(119/7) ; 4
|
||||
sta $55d0+(119/7) ; 4
|
||||
sta $59d0+(119/7) ; 4
|
||||
sta $5dd0+(119/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 19x42 -> HIRES 119x152
|
||||
lda $6E3 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $5150+(119/7) ; 4
|
||||
sta $5550+(119/7) ; 4
|
||||
sta $5950+(119/7) ; 4
|
||||
sta $5d50+(119/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 19x44 -> HIRES 119x148
|
||||
lda $763 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $41d0+(119/7) ; 4
|
||||
sta $45d0+(119/7) ; 4
|
||||
sta $49d0+(119/7) ; 4
|
||||
sta $4dd0+(119/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 19x46 -> HIRES 119x144
|
||||
lda $7E3 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $4150+(119/7) ; 4
|
||||
sta $4550+(119/7) ; 4
|
||||
sta $4950+(119/7) ; 4
|
||||
sta $4d50+(119/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;18========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 18x40 -> HIRES 112x153x4
|
||||
lda $662 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $5550+(112/7) ; 4
|
||||
sta $5950+(112/7) ; 4
|
||||
sta $5d50+(112/7) ; 4
|
||||
sta $51d0+(112/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
;=============
|
||||
; LORES 18x42 -> HIRES 112x149x4
|
||||
lda $6E2 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $45d0+(112/7) ; 4
|
||||
sta $49d0+(112/7) ; 4
|
||||
sta $4dd0+(112/7) ; 4
|
||||
sta $5150+(112/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 18x44 -> HIRES 112x146x3
|
||||
lda $762 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $4950+(112/7) ; 4
|
||||
sta $4d50+(112/7) ; 4
|
||||
sta $41d0+(112/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;=============
|
||||
; LORES 18x46 -> HIRES 112x143x3
|
||||
lda $7E2 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $5cd0+(112/7) ; 4
|
||||
sta $4150+(112/7) ; 4
|
||||
sta $4550+(112/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;16========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 16x40 -> HIRES 105x151x4
|
||||
lda $660 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $4dd0+(105/7) ; 4
|
||||
sta $5150+(105/7) ; 4
|
||||
sta $5550+(105/7) ; 4
|
||||
sta $5950+(105/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 16x42 -> HIRES 105x147x4
|
||||
lda $6E0 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $4d50+(105/7) ; 4
|
||||
sta $41d0+(105/7) ; 4
|
||||
sta $45d0+(105/7) ; 4
|
||||
sta $49d0+(105/7) ; 4
|
||||
;===========
|
||||
; 30
|
||||
|
||||
;=============
|
||||
; LORES 16x44 -> HIRES 105x144x3
|
||||
lda $760 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $4150+(105/7) ; 4
|
||||
sta $4550+(105/7) ; 4
|
||||
sta $4950+(105/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;=============
|
||||
; LORES 16x46 -> HIRES 105x141x3
|
||||
lda $7E0 ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $54d0+(105/7) ; 4
|
||||
sta $58d0+(105/7) ; 4
|
||||
sta $5cd0+(105/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;13========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 13x40 -> HIRES 98x149x3
|
||||
lda $65d ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $45d0+(98/7) ; 4
|
||||
sta $49d0+(98/7) ; 4
|
||||
sta $4dd0+(98/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
;=============
|
||||
; LORES 13x42 -> HIRES 98x145x3
|
||||
lda $6dd ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $4550+(98/7) ; 4
|
||||
sta $4950+(98/7) ; 4
|
||||
sta $4d50+(98/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;=============
|
||||
; LORES 13x44 -> HIRES 98x142x3
|
||||
lda $75d ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $58d0+(98/7) ; 4
|
||||
sta $5cd0+(98/7) ; 4
|
||||
sta $4150+(98/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;=============
|
||||
; LORES 13x46 -> HIRES 98x139x3
|
||||
lda $7dd ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$aa ; 2
|
||||
sta $4c90+(98/7) ; 4
|
||||
sta $50d0+(98/7) ; 4
|
||||
sta $54d0+(98/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;10========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 10x40 -> HIRES 91x145x3
|
||||
lda $65a ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $4550+(91/7) ; 4
|
||||
sta $4950+(91/7) ; 4
|
||||
sta $4d50+(91/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;=============
|
||||
; LORES 10x42 -> HIRES 91x142x4
|
||||
lda $6da ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $58d0+(91/7) ; 4
|
||||
sta $5cd0+(91/7) ; 4
|
||||
sta $4150+(91/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;=============
|
||||
; LORES 10x44 -> HIRES 91x139x3
|
||||
lda $75a ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $4cd0+(91/7) ; 4
|
||||
sta $50d0+(91/7) ; 4
|
||||
sta $54d0+(91/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
;=============
|
||||
; LORES 10x46 -> HIRES 91x136x3
|
||||
lda $7da ; 4
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and #$d5 ; 2
|
||||
sta $40d0+(91/7) ; 4
|
||||
sta $44d0+(91/7) ; 4
|
||||
sta $48d0+(91/7) ; 4
|
||||
;===========
|
||||
; 26
|
||||
|
||||
|
||||
|
||||
|
||||
rts ; 6
|
||||
.include "reflection.s"
|
||||
|
665
xmas_2018/reflection.s
Normal file
665
xmas_2018/reflection.s
Normal file
@ -0,0 +1,665 @@
|
||||
;=====================================
|
||||
; XMAS2018 -- Ball Reflections
|
||||
;=====================================
|
||||
|
||||
;======================================
|
||||
; First two = (54+47+47+47)*2 = 390
|
||||
; Next four = (54+47+42+42)*4 = 740
|
||||
; Next two = (49+42+42+42)*4 = 700
|
||||
; return 6
|
||||
;======================================
|
||||
; 1836
|
||||
|
||||
do_reflection:
|
||||
|
||||
;19========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 19x40 -> HIRES 119x156
|
||||
ldx #$d5 ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(119/7) ; 2
|
||||
lda $663 ; 4
|
||||
jsr reflection11 ; 6+37
|
||||
;===========
|
||||
; 54
|
||||
|
||||
;=============
|
||||
; LORES 19x42 -> HIRES 119x152
|
||||
lda $6E3 ; 4
|
||||
jsr reflection12 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
|
||||
;=============
|
||||
; LORES 19x44 -> HIRES 119x148
|
||||
lda $763 ; 4
|
||||
jsr reflection13 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
;=============
|
||||
; LORES 19x46 -> HIRES 119x144
|
||||
lda $7E3 ; 4
|
||||
jsr reflection14 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
|
||||
|
||||
;20========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 20x40 -> HIRES 126x156
|
||||
ldx #$aa ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(126/7) ; 2
|
||||
lda $664 ; 4
|
||||
jsr reflection11 ;6+37
|
||||
;============
|
||||
; 49
|
||||
;=============
|
||||
; LORES 20x42 -> HIRES 126x152
|
||||
lda $6E4 ; 4
|
||||
jsr reflection12 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
;=============
|
||||
; LORES 20x44 -> HIRES 126x148
|
||||
lda $764 ; 4
|
||||
jsr reflection13 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
;=============
|
||||
; LORES 20x46 -> HIRES 126x144
|
||||
lda $7E4 ; 4
|
||||
jsr reflection14 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
|
||||
|
||||
;18========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 18x40 -> HIRES 112x153x4
|
||||
ldx #$aa ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(112/7) ; 2
|
||||
lda $662 ; 4
|
||||
jsr reflection21 ; 6+37
|
||||
;=============
|
||||
; 49
|
||||
|
||||
;=============
|
||||
; LORES 18x42 -> HIRES 112x149x4
|
||||
lda $6E2 ; 4
|
||||
jsr reflection22 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
|
||||
;=============
|
||||
; LORES 18x44 -> HIRES 112x146x3
|
||||
lda $762 ; 4
|
||||
jsr reflection23 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
;=============
|
||||
; LORES 18x46 -> HIRES 112x143x3
|
||||
lda $7E2 ; 4
|
||||
jsr reflection24 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
|
||||
|
||||
|
||||
;21========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 21x40 -> HIRES 133x153x4
|
||||
ldx #$d5 ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(133/7) ; 2
|
||||
lda $665 ; 4
|
||||
jsr reflection21 ; 6+37
|
||||
;=============
|
||||
; 49
|
||||
;=============
|
||||
; LORES 21x42 -> HIRES 112x149x4
|
||||
lda $6E5 ; 4
|
||||
jsr reflection22 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
|
||||
;=============
|
||||
; LORES 21x44 -> HIRES 112x146x3
|
||||
lda $765 ; 4
|
||||
jsr reflection23 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
;=============
|
||||
; LORES 21x46 -> HIRES 112x143x3
|
||||
lda $7E5 ; 4
|
||||
jsr reflection24 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
;16========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 16x40 -> HIRES 105x151x4
|
||||
ldx #$d5 ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(105/7) ; 2
|
||||
lda $660 ; 4
|
||||
jsr reflection31 ; 6+37
|
||||
;=============
|
||||
; 49
|
||||
|
||||
;=============
|
||||
; LORES 16x42 -> HIRES 105x147x4
|
||||
lda $6E0 ; 4
|
||||
jsr reflection32 ; 6+37
|
||||
;=============
|
||||
; 47
|
||||
;=============
|
||||
; LORES 16x44 -> HIRES 105x144x3
|
||||
lda $760 ; 4
|
||||
jsr reflection33 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
;=============
|
||||
; LORES 16x46 -> HIRES 105x141x3
|
||||
lda $7E0 ; 4
|
||||
jsr reflection34 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
|
||||
;23========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 23x40 -> HIRES 133x151x4
|
||||
ldx #$aa ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(140/7) ; 2
|
||||
lda $667 ; 4
|
||||
jsr reflection31 ; 6+37
|
||||
|
||||
;=============
|
||||
; LORES 23x42 -> HIRES 133x147x4
|
||||
lda $6E7 ; 4
|
||||
jsr reflection32 ; 6+37
|
||||
|
||||
;=============
|
||||
; LORES 23x44 -> HIRES 133x144x3
|
||||
lda $767 ; 4
|
||||
jsr reflection33 ; 6+32
|
||||
|
||||
;=============
|
||||
; LORES 23x46 -> HIRES 133x141x3
|
||||
lda $7E7 ; 4
|
||||
jsr reflection34 ; 6+32
|
||||
|
||||
;13========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 13x40 -> HIRES 98x149x3
|
||||
ldx #$aa ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(98/7) ; 2
|
||||
lda $65d ; 4
|
||||
jsr reflection41 ; 6+32
|
||||
;============
|
||||
; 44
|
||||
;=============
|
||||
; LORES 13x42 -> HIRES 98x145x3
|
||||
lda $6dd ; 4
|
||||
jsr reflection42 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
;=============
|
||||
; LORES 13x44 -> HIRES 98x142x3
|
||||
lda $75d ; 4
|
||||
jsr reflection43 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
;=============
|
||||
; LORES 13x46 -> HIRES 98x139x3
|
||||
lda $7dd ; 4
|
||||
jsr reflection44 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
|
||||
|
||||
;26========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 26x40 -> HIRES 147x149x3
|
||||
ldx #$d5 ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(147/7) ; 2
|
||||
lda $66a ; 4
|
||||
jsr reflection41 ; 6+32
|
||||
|
||||
;=============
|
||||
; LORES 26x42 -> HIRES 147x145x3
|
||||
lda $6ea ; 4
|
||||
jsr reflection42 ; 6+32
|
||||
|
||||
;=============
|
||||
; LORES 26x44 -> HIRES 147x142x3
|
||||
lda $76a ; 4
|
||||
jsr reflection43 ; 6+32
|
||||
|
||||
;=============
|
||||
; LORES 26x46 -> HIRES 147x139x3
|
||||
lda $7ea ; 4
|
||||
jsr reflection44 ; 6+32
|
||||
|
||||
|
||||
|
||||
;10========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 10x40 -> HIRES 91x145x3
|
||||
ldx #$d5 ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(91/7) ; 2
|
||||
lda $65a ; 4
|
||||
jsr reflection51 ; 6+32
|
||||
;=============
|
||||
; 44
|
||||
|
||||
|
||||
;=============
|
||||
; LORES 10x42 -> HIRES 91x142x4
|
||||
lda $6da ; 4
|
||||
jsr reflection52 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
;=============
|
||||
; LORES 10x44 -> HIRES 91x139x3
|
||||
lda $75a ; 4
|
||||
jsr reflection53 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
;=============
|
||||
; LORES 10x46 -> HIRES 91x136x3
|
||||
lda $7da ; 4
|
||||
jsr reflection54 ; 6+32
|
||||
;=============
|
||||
; 42
|
||||
|
||||
;29========================
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=============
|
||||
; LORES 29x40 -> HIRES 154x145x3
|
||||
ldx #$aa ; 2
|
||||
stx MASK ; 3
|
||||
ldy #(154/7)
|
||||
lda $66d ; 4
|
||||
jsr reflection51
|
||||
|
||||
;=============
|
||||
; LORES 29x42 -> HIRES 154x142x4
|
||||
lda $6ed ; 4
|
||||
jsr reflection52
|
||||
|
||||
;=============
|
||||
; LORES 29x44 -> HIRES 154x139x3
|
||||
lda $76d ; 4
|
||||
jsr reflection53
|
||||
|
||||
;=============
|
||||
; LORES 29x46 -> HIRES 154x136x3
|
||||
lda $7ed ; 4
|
||||
jsr reflection54
|
||||
|
||||
|
||||
|
||||
rts ; 6
|
||||
|
||||
|
||||
;==================================
|
||||
;==================================
|
||||
|
||||
|
||||
reflection11:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $51d0,Y ; 5
|
||||
sta $55d0,Y ; 5
|
||||
sta $59d0,Y ; 5
|
||||
sta $5dd0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
|
||||
|
||||
reflection12:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $5150,Y ; 5
|
||||
sta $5550,Y ; 5
|
||||
sta $5950,Y ; 5
|
||||
sta $5d50,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
reflection13:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $41d0,Y ; 5
|
||||
sta $45d0,Y ; 5
|
||||
sta $49d0,Y ; 5
|
||||
sta $4dd0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
|
||||
reflection14:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4150,Y ; 5
|
||||
sta $4550,Y ; 5
|
||||
sta $4950,Y ; 5
|
||||
sta $4d50,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
|
||||
reflection21:
|
||||
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $5550,Y ; 5
|
||||
sta $5950,Y ; 5
|
||||
sta $5d50,Y ; 5
|
||||
sta $51d0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
|
||||
reflection22:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $45d0,Y ; 5
|
||||
sta $49d0,Y ; 5
|
||||
sta $4dd0,Y ; 5
|
||||
sta $5150,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
|
||||
reflection23:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4950,Y ; 5
|
||||
sta $4d50,Y ; 5
|
||||
sta $41d0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
reflection24:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $5cd0,Y ; 5
|
||||
sta $4150,Y ; 5
|
||||
sta $4550,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
|
||||
reflection31:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4dd0,Y ; 5
|
||||
sta $5150,Y ; 5
|
||||
sta $5550,Y ; 5
|
||||
sta $5950,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
|
||||
|
||||
reflection32:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4d50,Y ; 5
|
||||
sta $41d0,Y ; 5
|
||||
sta $45d0,Y ; 5
|
||||
sta $49d0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 37
|
||||
|
||||
|
||||
reflection33:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4150,Y ; 5
|
||||
sta $4550,Y ; 5
|
||||
sta $4950,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
reflection34:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $54d0,Y ; 5
|
||||
sta $58d0,Y ; 5
|
||||
sta $5cd0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
reflection41:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $45d0,Y ; 5
|
||||
sta $49d0,Y ; 5
|
||||
sta $4dd0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
reflection42:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4550,Y ; 5
|
||||
sta $4950,Y ; 5
|
||||
sta $4d50,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
|
||||
reflection43:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $58d0,Y ; 5
|
||||
sta $5cd0,Y ; 5
|
||||
sta $4150,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
|
||||
reflection44:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4c90,Y ; 5
|
||||
sta $50d0,Y ; 5
|
||||
sta $54d0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
|
||||
reflection51:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4550,Y ; 5
|
||||
sta $4950,Y ; 5
|
||||
sta $4d50,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
|
||||
reflection52:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $58d0,Y ; 5
|
||||
sta $5cd0,Y ; 5
|
||||
sta $4150,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
|
||||
reflection53:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $4cd0,Y ; 5
|
||||
sta $50d0,Y ; 5
|
||||
sta $54d0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
||||
|
||||
reflection54:
|
||||
; if 0 make 0, otherwise make FF
|
||||
cmp #1 ; 2
|
||||
lda #$00 ; 2
|
||||
adc #$ff ; 2
|
||||
eor #$ff ; 2
|
||||
|
||||
and MASK ; 3
|
||||
sta $40d0,Y ; 5
|
||||
sta $44d0,Y ; 5
|
||||
sta $48d0,Y ; 5
|
||||
rts ; 6
|
||||
;===========
|
||||
; 32
|
Loading…
Reference in New Issue
Block a user