dos33fsprogs/vaporlock/doubledouble/effect_sin_window.s

118 lines
1.6 KiB
ArmAsm
Raw Permalink Normal View History

2023-05-15 18:50:24 +00:00
; double hi-res with configuratble sliding window
2023-05-14 05:44:14 +00:00
; show dhgr image on page1
; show sliding 32-line window of dgr page 1
2023-05-14 05:44:14 +00:00
; note come in at 6 (jsr) + 6 (rts from vblank) + vblank jitter
effect_dhgr_dgr:
;==========================
; top
;==========================
effect_top_smc: ; 12
2023-05-14 05:44:14 +00:00
ldx #100 ; 2
lda $00 ; nop3 ; 3
nop ; 2
nop ; 2
jmp aloop_24 ; 3
2023-05-14 05:44:14 +00:00
aloop:
jsr delay_12 ; 12
jsr delay_12 ; 12
aloop_24:
2023-05-14 05:44:14 +00:00
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
; 60
2023-05-14 05:44:14 +00:00
dex ; 2
; 62
2023-05-14 05:44:14 +00:00
bne aloop ; 2/3
; 65
;==========================
; middle (Switch mode)
;==========================
; -1
2023-05-14 05:44:14 +00:00
ldx #32 ; 2
2023-05-15 18:50:24 +00:00
middle_smc1:
sta LORES ; 4
2023-05-15 18:50:24 +00:00
middle_smc2:
sta SET80COL ; 4
2023-05-15 18:50:24 +00:00
middle_smc3:
sta CLRAN3 ; 4
2023-05-15 18:50:24 +00:00
middle_smc4:
sta PAGE1 ; 4
; 17
nop ; 2
nop ; 2
jmp bloop_24 ; 3
; 24
2023-05-14 05:44:14 +00:00
bloop:
; update the movement mid-way
ldy FRAME ; 3
lda sin_table,Y ; 4 (aligned)
sta effect_top_smc+1 ; 4
; 11
clc ; 2
adc #32 ; should this be 31? ; 2
sta effect_bottom_smc+1 ; 4
; 19
nop ; 2
lda $00 ; nop3 ; 3
bloop_24:
; 24
2023-05-14 05:44:14 +00:00
jsr delay_12 ; 12
; 36
2023-05-14 05:44:14 +00:00
jsr delay_12 ; 12
; 48
2023-05-14 05:44:14 +00:00
jsr delay_12 ; 12
; 60
2023-05-14 05:44:14 +00:00
dex ; 2
bne bloop ; 2/3
;============================================
; bottom (Switch back to double-hires page 1)
;============================================
2023-05-14 05:44:14 +00:00
effect_bottom_smc: ; -1
2023-05-14 05:44:14 +00:00
ldx #60 ; 2
2023-05-15 18:50:24 +00:00
bit SET_GR ; 4
bit HIRES ; 4
sta CLRAN3 ; 4
sta SET80COL ; 4
bit PAGE1 ; 4
2023-05-15 18:50:24 +00:00
; 21
jmp cloop_plus_24 ; 3
2023-05-14 05:44:14 +00:00
cloop:
jsr delay_12 ; 12
jsr delay_12 ; 12
cloop_plus_24:
2023-05-14 05:44:14 +00:00
jsr delay_12 ; 12
jsr delay_12 ; 12
; 48
nop ; 2
nop ; 2
nop ; 2
nop ; 2
nop ; 2
; 58
2023-05-14 17:48:17 +00:00
inx ; 2
cpx #192 ; 2
; 62
2023-05-14 17:48:17 +00:00
bcs cloop ; 2/3
2023-05-14 05:44:14 +00:00
rts