mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-26 11:30:12 +00:00
xmas2019: vapor lock again
This commit is contained in:
parent
ef9d0347d5
commit
ec690d7c46
@ -143,20 +143,27 @@ display_loop:
|
||||
; First 8*4 = 32 lines GR??
|
||||
; 2080 cycles
|
||||
|
||||
bit SET_GR ; 4
|
||||
ldx #15 ; 2
|
||||
top_loop:
|
||||
; even lines PAGE1
|
||||
bit SET_TEXT ; 4
|
||||
bit LORES ; 4
|
||||
bit PAGE1 ; 4
|
||||
; 65-12 = 53 - 25 - 2 = 26
|
||||
lda #26 ; 2
|
||||
jsr delay_a ; 51
|
||||
|
||||
; Try X=1 Y=188 cycles=2069 R3
|
||||
|
||||
lda COLOR ; 3
|
||||
|
||||
ldy #188 ; 2
|
||||
bloop1: ldx #1 ; 2
|
||||
bloop2: dex ; 2
|
||||
bne bloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
bne bloop1 ; 2nt/3
|
||||
; odd lines PAGE0
|
||||
bit SET_TEXT ; 4
|
||||
bit LORES ; 4
|
||||
bit PAGE0 ; 4
|
||||
; 65-12 = 53 - 25 - 2 -2 -3 =21
|
||||
lda #21 ; 2
|
||||
jsr delay_a ; 46
|
||||
dex ; 2
|
||||
bpl top_loop ; 3
|
||||
|
||||
; -1
|
||||
|
||||
;=====================================
|
||||
; Next 32*4 = 128 lines HGR1/GR1 for 20 cycles/HGR1
|
||||
@ -165,9 +172,9 @@ bloop2: dex ; 2
|
||||
middle_loop:
|
||||
|
||||
|
||||
|
||||
bit SET_GR ; 4
|
||||
bit HIRES ; 4
|
||||
; 27
|
||||
; 23
|
||||
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
@ -175,8 +182,8 @@ middle_loop:
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
nop
|
||||
|
||||
|
||||
bit LORES ; 4
|
||||
; 16
|
||||
@ -195,7 +202,6 @@ middle_loop:
|
||||
|
||||
lda COLOR ; 3
|
||||
|
||||
|
||||
dex ; 2
|
||||
bpl middle_loop ; 3
|
||||
; -1
|
||||
@ -204,20 +210,34 @@ middle_loop:
|
||||
; Next 8*4 = 32 lines GR ??
|
||||
; 2080 cycles -8 -2 +1=2071
|
||||
|
||||
; we have extraneous 1 (from us)
|
||||
; extraneous 1 (from above)
|
||||
|
||||
ldx #7 ; 2
|
||||
bottom_loop:
|
||||
; top two lines PAGE1
|
||||
bit SET_GR ; 4
|
||||
bit LORES ; 4
|
||||
bit PAGE1 ; 4
|
||||
; 65+65-12 = 118 - 25 - 2 = 91
|
||||
lda #91 ; 2
|
||||
jsr delay_a ; 116
|
||||
|
||||
; Try X=1 Y=188 cycles=2069 R2
|
||||
; nottom two lines PAGE0
|
||||
bit SET_GR ; 4
|
||||
bit LORES ; 4
|
||||
bit PAGE0 ; 4
|
||||
; 65+65-12 = 118 - 25 - 2 -2 -3 =86
|
||||
lda #86 ; 2
|
||||
jsr delay_a ; 111
|
||||
dex ; 2
|
||||
bpl bottom_loop ; 3
|
||||
|
||||
nop
|
||||
; -1
|
||||
|
||||
ldy #188 ; 2
|
||||
cloop1: ldx #1 ; 2
|
||||
cloop2: dex ; 2
|
||||
bne cloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
bne cloop1 ; 2nt/3
|
||||
jmp vblank_start ; 3 (so total extra = 3+1+1+1=6)
|
||||
|
||||
.align $100
|
||||
vblank_start:
|
||||
|
||||
|
||||
@ -225,13 +245,14 @@ vblank_start:
|
||||
; alternate between tree and snow/music
|
||||
; every other frame
|
||||
;===========================
|
||||
; 6 leftover from above
|
||||
|
||||
lda #1 ; 2
|
||||
eor FRAME ; 3
|
||||
sta FRAME ; 3
|
||||
beq tree_half ; 3
|
||||
;====
|
||||
; 11
|
||||
; 17
|
||||
|
||||
; -1
|
||||
jmp music_snow ; 3
|
||||
@ -410,25 +431,32 @@ ll_smc4:
|
||||
;==============================================================
|
||||
|
||||
; 4550 cycles
|
||||
; -11 alternate frame
|
||||
; -17 alternate frame
|
||||
;-1703 erase lores
|
||||
; -13 move tree
|
||||
; -3 jmp (alignment)
|
||||
;-2797 draw tree
|
||||
; -3 jmp at end
|
||||
;========
|
||||
; 20
|
||||
; 14
|
||||
|
||||
; Try X=2 Y=1 cycles=17R3
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
lda COLOR ; 3
|
||||
nop ; 2
|
||||
|
||||
lda COLOR
|
||||
|
||||
ldy #1 ; 2
|
||||
eloop1: ldx #2 ; 2
|
||||
eloop2: dex ; 2
|
||||
bne eloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
bne eloop1 ; 2nt/3
|
||||
; Try X=2 Y=1 cycles=17
|
||||
|
||||
; lda COLOR
|
||||
|
||||
; ldy #1 ; 2
|
||||
;eloop1: ldx #2 ; 2
|
||||
;eloop2: dex ; 2
|
||||
; bne eloop2 ; 2nt/3
|
||||
; dey ; 2
|
||||
; bne eloop1 ; 2nt/3
|
||||
|
||||
jmp display_loop ; 3
|
||||
|
||||
@ -448,6 +476,7 @@ eloop2: dex ; 2
|
||||
;=======================================================
|
||||
;=======================================================
|
||||
; Display falling snow
|
||||
.align $100
|
||||
music_snow:
|
||||
|
||||
|
||||
@ -653,19 +682,21 @@ draw_loop:
|
||||
; -1
|
||||
|
||||
; 4550 cycles
|
||||
; -11 even/odd
|
||||
; -17 even/odd
|
||||
; -2 even/odd jump
|
||||
; -851 erase
|
||||
;-1161 move
|
||||
; -971 draw
|
||||
; -3 jump at end
|
||||
;======
|
||||
; 1551
|
||||
; 1545
|
||||
|
||||
; Try X=5 Y=50 cycles=1551
|
||||
; Try X=153 Y=2 cycles=1543R2
|
||||
|
||||
ldy #50 ; 2
|
||||
dloop1: ldx #5 ; 2
|
||||
nop
|
||||
|
||||
ldy #2 ; 2
|
||||
dloop1: ldx #153 ; 2
|
||||
dloop2: dex ; 2
|
||||
bne dloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
|
Loading…
Reference in New Issue
Block a user