xmas2018: more reflections

This commit is contained in:
Vince Weaver 2018-12-21 13:09:42 -05:00
parent 5a438ee57e
commit 2ebeb90d80
2 changed files with 388 additions and 11 deletions

View File

@ -196,20 +196,21 @@ done_framing:
do_something_else:
; -1
jsr do_reflection ; 6+126
jsr do_reflection ; 6+678
; 1842 (+1 incoming)
; -3 jmp
; -132 do_reflection
; -684 do_reflection
;===================
; 1707
; 1155
; Try X=114 Y=2 cycles=1153 R2
; Try X=84 Y=4 cycles=1705 R2
nop
ldy #4 ; 2
baloopQ:ldx #84 ; 2
ldy #2 ; 2
baloopQ:ldx #114 ; 2
baloopR:dex ; 2
bne baloopR ; 2nt/3
dey ; 2
@ -248,10 +249,19 @@ ball_done:
;======================================
; 120 + 6 = 126
; 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
@ -262,7 +272,7 @@ do_reflection:
adc #$ff ; 2
eor #$ff ; 2
and #$ff ; 2
and #$aa ; 2
sta $51d0+(126/7) ; 4
sta $55d0+(126/7) ; 4
sta $59d0+(126/7) ; 4
@ -280,7 +290,7 @@ do_reflection:
adc #$ff ; 2
eor #$ff ; 2
and #$ff ; 2
and #$aa ; 2
sta $5150+(126/7) ; 4
sta $5550+(126/7) ; 4
sta $5950+(126/7) ; 4
@ -298,7 +308,7 @@ do_reflection:
adc #$ff ; 2
eor #$ff ; 2
and #$ff ; 2
and #$aa ; 2
sta $41d0+(126/7) ; 4
sta $45d0+(126/7) ; 4
sta $49d0+(126/7) ; 4
@ -316,7 +326,7 @@ do_reflection:
adc #$ff ; 2
eor #$ff ; 2
and #$ff ; 2
and #$aa ; 2
sta $4150+(126/7) ; 4
sta $4550+(126/7) ; 4
sta $4950+(126/7) ; 4
@ -324,6 +334,372 @@ do_reflection:
;===========
; 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

View File

@ -188,6 +188,7 @@ game_over_man:
.include "delay_a.s"
.include "gr_scroll.s"
.include "mockingboard.s"
.align $100
.include "ball.s"