double: more effects

This commit is contained in:
Vince Weaver 2023-05-15 01:18:24 -04:00
parent eca6a50832
commit 26e272ff42
6 changed files with 126 additions and 9 deletions

View File

@ -31,7 +31,10 @@ double.o: double.s \
interrupt_handler.s pt3_lib_mockingboard_patch.s \
wait_a_bit.s wait.s pt3_lib_init.s \
music/fighting.zx02 \
effect_static.s effect_slide.s \
effect_static.s \
effect_dhgr_dgr.s \
effect_dhgr_hgr.s \
effect_midline.s \
table/sin.table \
graphics/sworg_hgr.hgr.zx02 \
graphics/sworg_dhgr.aux.zx02 \

View File

@ -435,17 +435,19 @@ vblank_smc:
; .include "effect_static.s"
.include "effect_slide.s"
; .include "effect_dhgr_dgr.s"
; .include "effect_dhgr_hgr.s"
.include "effect_midline.s"
inc FRAME
ldx FRAME
lda sin_table,X
sta effect_top_smc+1
; lda sin_table,X
; sta effect_top_smc+1
clc
adc #32
sta effect_bottom_smc+1
; clc
; adc #32
; sta effect_bottom_smc+1
jmp double_loop ; 3

View File

@ -0,0 +1,67 @@
; goal
;
; 192 lines
; window is 32 lines
; so 0...current
; current...current+32
; current+32...192
; double hi-res / double lo-res
; test, 100 lines of double-hires
; 100*65 = 6500
; 2+ X*(12+2+3) - 1
effect_top_smc:
ldx #100 ; 2
aloop:
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
dex ; 2
bne aloop ; 2/3
; return to regular hi-res
sta SETAN3 ; leave double mode
sta CLR80COL ; leave 80-col mode
bit PAGE2
ldx #32 ; 2
bloop:
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
dex ; 2
bne bloop ; 2/3
bit SET_GR
bit HIRES
sta CLRAN3 ; enable double mode
sta SET80COL ; enable 80-column mode
bit PAGE1
effect_bottom_smc:
ldx #60 ; 2
cloop:
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
inx ; 2
cpx #192
bcs cloop ; 2/3

View File

@ -0,0 +1,44 @@
; goal
;
; 192 lines
; window is 32 lines
; so 0...current
; current...current+32
; current+32...192
; double hi-res / double lo-res
; test, 100 lines of double-hires
; 100*65 = 6500
; 2+ X*(12+2+3) - 1
effect_top_smc:
ldx #192 ; 2
qloop:
bit HIRES ; 4
bit PAGE1 ; 4
bit PAGE1 ; 4
; 12
jsr delay_12 ; 12
jsr delay_12 ; 12
; 36
bit LORES ; 4
bit PAGE2 ; 4
bit PAGE2 ; 4
; 48
jsr delay_12 ; 12
; 60
dex ; 2
; 62
bne qloop ; 2/3

View File

@ -8,8 +8,9 @@ EIGHTYSTOREON = $C001 ; (write) page2 writes to AUX memory
WRMAINRAM = $C004 ; (write)
WRAUXRAM = $C005 ; (write)
CLR80COL = $C00C
SET80COL = $C00D
CLR80COL = $C00C ; (write)
SET80COL = $C00D ; (write)
CLRMOUSETET = $C00E ; (write) disable moust text
SETMOUSETEXT = $C00F ; (write) enable mouse text
KEYRESET = $C010