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??
|
; First 8*4 = 32 lines GR??
|
||||||
; 2080 cycles
|
; 2080 cycles
|
||||||
|
|
||||||
bit SET_GR ; 4
|
ldx #15 ; 2
|
||||||
bit LORES ; 4
|
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
|
; odd lines PAGE0
|
||||||
|
bit SET_TEXT ; 4
|
||||||
lda COLOR ; 3
|
bit LORES ; 4
|
||||||
|
bit PAGE0 ; 4
|
||||||
ldy #188 ; 2
|
; 65-12 = 53 - 25 - 2 -2 -3 =21
|
||||||
bloop1: ldx #1 ; 2
|
lda #21 ; 2
|
||||||
bloop2: dex ; 2
|
jsr delay_a ; 46
|
||||||
bne bloop2 ; 2nt/3
|
dex ; 2
|
||||||
dey ; 2
|
bpl top_loop ; 3
|
||||||
bne bloop1 ; 2nt/3
|
|
||||||
|
|
||||||
|
; -1
|
||||||
|
|
||||||
;=====================================
|
;=====================================
|
||||||
; Next 32*4 = 128 lines HGR1/GR1 for 20 cycles/HGR1
|
; Next 32*4 = 128 lines HGR1/GR1 for 20 cycles/HGR1
|
||||||
@ -165,9 +172,9 @@ bloop2: dex ; 2
|
|||||||
middle_loop:
|
middle_loop:
|
||||||
|
|
||||||
|
|
||||||
|
bit SET_GR ; 4
|
||||||
bit HIRES ; 4
|
bit HIRES ; 4
|
||||||
; 27
|
; 23
|
||||||
|
|
||||||
lda COLOR ; 3
|
lda COLOR ; 3
|
||||||
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
|
lda COLOR ; 3
|
||||||
lda COLOR ; 3
|
nop
|
||||||
lda COLOR ; 3
|
|
||||||
|
|
||||||
bit LORES ; 4
|
bit LORES ; 4
|
||||||
; 16
|
; 16
|
||||||
@ -195,7 +202,6 @@ middle_loop:
|
|||||||
|
|
||||||
lda COLOR ; 3
|
lda COLOR ; 3
|
||||||
|
|
||||||
|
|
||||||
dex ; 2
|
dex ; 2
|
||||||
bpl middle_loop ; 3
|
bpl middle_loop ; 3
|
||||||
; -1
|
; -1
|
||||||
@ -204,20 +210,34 @@ middle_loop:
|
|||||||
; Next 8*4 = 32 lines GR ??
|
; Next 8*4 = 32 lines GR ??
|
||||||
; 2080 cycles -8 -2 +1=2071
|
; 2080 cycles -8 -2 +1=2071
|
||||||
|
|
||||||
bit SET_GR ; 4
|
; we have extraneous 1 (from us)
|
||||||
bit LORES ; 4
|
; extraneous 1 (from above)
|
||||||
|
|
||||||
; Try X=1 Y=188 cycles=2069 R2
|
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
|
||||||
|
|
||||||
nop
|
; 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
|
||||||
|
|
||||||
ldy #188 ; 2
|
; -1
|
||||||
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:
|
vblank_start:
|
||||||
|
|
||||||
|
|
||||||
@ -225,13 +245,14 @@ vblank_start:
|
|||||||
; alternate between tree and snow/music
|
; alternate between tree and snow/music
|
||||||
; every other frame
|
; every other frame
|
||||||
;===========================
|
;===========================
|
||||||
|
; 6 leftover from above
|
||||||
|
|
||||||
lda #1 ; 2
|
lda #1 ; 2
|
||||||
eor FRAME ; 3
|
eor FRAME ; 3
|
||||||
sta FRAME ; 3
|
sta FRAME ; 3
|
||||||
beq tree_half ; 3
|
beq tree_half ; 3
|
||||||
;====
|
;====
|
||||||
; 11
|
; 17
|
||||||
|
|
||||||
; -1
|
; -1
|
||||||
jmp music_snow ; 3
|
jmp music_snow ; 3
|
||||||
@ -410,25 +431,32 @@ ll_smc4:
|
|||||||
;==============================================================
|
;==============================================================
|
||||||
|
|
||||||
; 4550 cycles
|
; 4550 cycles
|
||||||
; -11 alternate frame
|
; -17 alternate frame
|
||||||
;-1703 erase lores
|
;-1703 erase lores
|
||||||
; -13 move tree
|
; -13 move tree
|
||||||
; -3 jmp (alignment)
|
; -3 jmp (alignment)
|
||||||
;-2797 draw tree
|
;-2797 draw tree
|
||||||
; -3 jmp at end
|
; -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
|
; Try X=2 Y=1 cycles=17
|
||||||
eloop1: ldx #2 ; 2
|
|
||||||
eloop2: dex ; 2
|
; lda COLOR
|
||||||
bne eloop2 ; 2nt/3
|
|
||||||
dey ; 2
|
; ldy #1 ; 2
|
||||||
bne eloop1 ; 2nt/3
|
;eloop1: ldx #2 ; 2
|
||||||
|
;eloop2: dex ; 2
|
||||||
|
; bne eloop2 ; 2nt/3
|
||||||
|
; dey ; 2
|
||||||
|
; bne eloop1 ; 2nt/3
|
||||||
|
|
||||||
jmp display_loop ; 3
|
jmp display_loop ; 3
|
||||||
|
|
||||||
@ -448,6 +476,7 @@ eloop2: dex ; 2
|
|||||||
;=======================================================
|
;=======================================================
|
||||||
;=======================================================
|
;=======================================================
|
||||||
; Display falling snow
|
; Display falling snow
|
||||||
|
.align $100
|
||||||
music_snow:
|
music_snow:
|
||||||
|
|
||||||
|
|
||||||
@ -653,19 +682,21 @@ draw_loop:
|
|||||||
; -1
|
; -1
|
||||||
|
|
||||||
; 4550 cycles
|
; 4550 cycles
|
||||||
; -11 even/odd
|
; -17 even/odd
|
||||||
; -2 even/odd jump
|
; -2 even/odd jump
|
||||||
; -851 erase
|
; -851 erase
|
||||||
;-1161 move
|
;-1161 move
|
||||||
; -971 draw
|
; -971 draw
|
||||||
; -3 jump at end
|
; -3 jump at end
|
||||||
;======
|
;======
|
||||||
; 1551
|
; 1545
|
||||||
|
|
||||||
; Try X=5 Y=50 cycles=1551
|
; Try X=153 Y=2 cycles=1543R2
|
||||||
|
|
||||||
ldy #50 ; 2
|
nop
|
||||||
dloop1: ldx #5 ; 2
|
|
||||||
|
ldy #2 ; 2
|
||||||
|
dloop1: ldx #153 ; 2
|
||||||
dloop2: dex ; 2
|
dloop2: dex ; 2
|
||||||
bne dloop2 ; 2nt/3
|
bne dloop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
|
Loading…
Reference in New Issue
Block a user