mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-03 12:31:32 +00:00
xmas2023: plasma looking nice
This commit is contained in:
parent
51c6c90414
commit
c8ca10b60e
demos/xmas_2023
@ -8,96 +8,9 @@
|
||||
|
||||
plasma_tree:
|
||||
|
||||
lda #$00
|
||||
sta DRAW_PAGE
|
||||
sta clear_all_color+1
|
||||
|
||||
lda #$04
|
||||
sta DRAW_PAGE
|
||||
jsr clear_all
|
||||
|
||||
|
||||
bit PAGE2 ; set page 2
|
||||
; bit SET_TEXT ; set text
|
||||
bit LORES ; set lo-res
|
||||
|
||||
lda #0
|
||||
sta FRAME
|
||||
|
||||
; load image offscreen $6000
|
||||
|
||||
lda #<mask01_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask01_data
|
||||
sta zx_src_h+1
|
||||
lda #$60
|
||||
jsr zx02_full_decomp
|
||||
|
||||
; load image offscreen $6400
|
||||
|
||||
lda #<mask02_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask02_data
|
||||
sta zx_src_h+1
|
||||
lda #$64
|
||||
jsr zx02_full_decomp
|
||||
|
||||
; load image offscreen $6800
|
||||
|
||||
lda #<mask03_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask03_data
|
||||
sta zx_src_h+1
|
||||
lda #$68
|
||||
jsr zx02_full_decomp
|
||||
|
||||
; load image offscreen $6C00
|
||||
|
||||
lda #<mask04_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask04_data
|
||||
sta zx_src_h+1
|
||||
lda #$6C
|
||||
jsr zx02_full_decomp
|
||||
|
||||
; load image offscreen $7000
|
||||
|
||||
lda #<mask05_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask05_data
|
||||
sta zx_src_h+1
|
||||
lda #$70
|
||||
jsr zx02_full_decomp
|
||||
|
||||
; load image offscreen $7400
|
||||
|
||||
lda #<mask06_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask06_data
|
||||
sta zx_src_h+1
|
||||
lda #$74
|
||||
jsr zx02_full_decomp
|
||||
|
||||
; load image offscreen $7800
|
||||
|
||||
lda #<mask07_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask07_data
|
||||
sta zx_src_h+1
|
||||
lda #$78
|
||||
jsr zx02_full_decomp
|
||||
|
||||
; load image offscreen $7C00
|
||||
|
||||
lda #<mask08_data
|
||||
sta zx_src_l+1
|
||||
lda #>mask08_data
|
||||
sta zx_src_h+1
|
||||
lda #$7C
|
||||
jsr zx02_full_decomp
|
||||
|
||||
|
||||
|
||||
|
||||
; remap the masks
|
||||
; $00->$00
|
||||
@ -108,7 +21,7 @@ plasma_tree:
|
||||
|
||||
ldy #0
|
||||
sty OUTL
|
||||
lda #$60
|
||||
lda #$40
|
||||
sta OUTH
|
||||
remap_mask:
|
||||
lda (OUTL),Y
|
||||
@ -141,11 +54,43 @@ bp3:
|
||||
jsr display_normal ; display normal
|
||||
jsr VBLANK
|
||||
|
||||
lda #60
|
||||
jsr wait_for_pattern
|
||||
bcc keep_making_plasma
|
||||
; lda #40
|
||||
; jsr wait_for_pattern
|
||||
; bcc keep_making_plasma
|
||||
; jmp done_plasmacube
|
||||
|
||||
jmp done_plasmacube
|
||||
; update frame count
|
||||
|
||||
inc FRAMEL ; 5
|
||||
lda FRAMEL ; 3
|
||||
and #$3f ; 2
|
||||
sta FRAMEL ; 3
|
||||
bne frame_noflo5 ; 2/3
|
||||
inc FRAMEH ; 5
|
||||
frame_noflo5:
|
||||
|
||||
|
||||
lda KEYPRESS
|
||||
bmi done_making_plasma
|
||||
|
||||
; wait for_pattern / end
|
||||
|
||||
lda SOUND_STATUS
|
||||
and #SOUND_MOCKINGBOARD
|
||||
beq no_music5
|
||||
|
||||
; lda #1
|
||||
; cmp current_pattern_smc+1
|
||||
; bcc done_making_plasma
|
||||
; beq done_making_plasma
|
||||
; jmp done_music5
|
||||
|
||||
no_music5:
|
||||
lda FRAMEH
|
||||
cmp #6
|
||||
beq done_making_plasma
|
||||
|
||||
done_music5:
|
||||
|
||||
|
||||
keep_making_plasma:
|
||||
@ -158,6 +103,10 @@ keep_making_plasma:
|
||||
|
||||
jmp step3
|
||||
|
||||
done_making_plasma:
|
||||
bit KEYRESET
|
||||
rts
|
||||
|
||||
|
||||
; ============================================================================
|
||||
; Precalculate some values
|
||||
@ -264,8 +213,8 @@ VBLANK:
|
||||
lda FRAME
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
; lsr
|
||||
; lsr
|
||||
and #$f
|
||||
tax
|
||||
lda mask_src_table,X
|
||||
@ -497,15 +446,16 @@ lores_colors_wide: ; 256
|
||||
.byte $11,$11,$11,$11,$11,$11,$11,$11
|
||||
.endif
|
||||
|
||||
Table1 = $5000
|
||||
Table2 = $5000+64
|
||||
Table1 = $2000
|
||||
Table2 = $2000+64
|
||||
|
||||
remap_table:
|
||||
.byte $00,$40,$80,$00,$C0
|
||||
|
||||
mask_src_table:
|
||||
.byte $40-8,$44-8,$48-8,$4C-8,$50-8,$54-8,$58-8,$5C-8
|
||||
.byte $60-8,$64-8,$68-8,$6C-8,$70-8,$74-8,$78-8,$7C-8
|
||||
.byte $7C-8,$78-8,$74-8,$70-8,$6C-8,$68-8,$64-8,$60-8
|
||||
; .byte $7C-8,$78-8,$74-8,$70-8,$6C-8,$68-8,$64-8,$60-8
|
||||
|
||||
|
||||
mask01_data:
|
||||
|
@ -217,7 +217,7 @@ frame_noflo4:
|
||||
|
||||
no_music4:
|
||||
lda FRAMEH
|
||||
cmp #6
|
||||
cmp #7
|
||||
beq done_regular_tree
|
||||
|
||||
done_music4:
|
||||
|
@ -26,6 +26,8 @@ xmas_main:
|
||||
|
||||
jsr fireplace
|
||||
|
||||
repeat:
|
||||
|
||||
;======================================
|
||||
; 3D tree
|
||||
;======================================
|
||||
@ -40,7 +42,7 @@ xmas_main:
|
||||
|
||||
|
||||
finished:
|
||||
jmp finished
|
||||
jmp repeat
|
||||
|
||||
|
||||
.include "wait_keypress.s"
|
||||
|
@ -119,13 +119,13 @@ TEMPY = $E4
|
||||
XPOS = $E5 ; gr_plot
|
||||
YPOS = $E6 ; gr_plot
|
||||
COLOR_MASK = $E7 ; gr_plot
|
||||
FRAME = $E8
|
||||
FRAMEL = $E8
|
||||
FRAMEH = $E9
|
||||
BTC_L = $EA ; audio
|
||||
BTC_H = $EB ; audio
|
||||
MASKL = $EC ; gr_putsprite_mask
|
||||
MASKH = $ED
|
||||
FRAME = $EE
|
||||
|
||||
;==============================================
|
||||
; $F0-$FB can re-use in each file
|
||||
|
Loading…
x
Reference in New Issue
Block a user