mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-28 09:30:41 +00:00
xmas2018: more reflections
This commit is contained in:
parent
5a438ee57e
commit
2ebeb90d80
398
xmas_2018/ball.s
398
xmas_2018/ball.s
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -188,6 +188,7 @@ game_over_man:
|
||||
.include "delay_a.s"
|
||||
.include "gr_scroll.s"
|
||||
.include "mockingboard.s"
|
||||
.align $100
|
||||
.include "ball.s"
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user