mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-26 00:29:29 +00:00
second: hook up lo-res plasma
This commit is contained in:
parent
20ac0645f1
commit
7e97333185
|
@ -1,60 +1,26 @@
|
||||||
; PLASMAGORIA
|
; PLASMAGORIA
|
||||||
|
|
||||||
; original code by French Touch
|
; based on original code by French Touch
|
||||||
|
|
||||||
; this is just part3 and size optimized
|
|
||||||
; just the graphics, no music
|
|
||||||
|
|
||||||
|
|
||||||
; Note: look into modifying color lookup table
|
|
||||||
; there's a wide setting that gives a slightly different effect
|
|
||||||
|
|
||||||
.include "../hardware.inc"
|
.include "../hardware.inc"
|
||||||
|
.include "../zp.inc"
|
||||||
|
|
||||||
; Page Zero
|
|
||||||
OUT1 = $20 ; +$21
|
|
||||||
OUT2 = $22 ; +$23
|
|
||||||
|
|
||||||
; counter if not MOCKING
|
|
||||||
COMPT1 = $30
|
|
||||||
COMPT2 = $31
|
|
||||||
|
|
||||||
;
|
|
||||||
PARAM1 = $60
|
|
||||||
PARAM2 = $61
|
|
||||||
PARAM3 = $62
|
|
||||||
PARAM4 = $63
|
|
||||||
count = $64
|
|
||||||
count2 = $65
|
|
||||||
;
|
|
||||||
|
|
||||||
GRLINE = $F0 ; +$F1
|
|
||||||
IndexMask = $F2
|
|
||||||
Mask = $F3
|
|
||||||
|
|
||||||
Beat = $FA
|
|
||||||
Mark = $FB
|
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
; ROUTINE MAIN
|
; ROUTINE MAIN
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
PLASMA_DEBUT:
|
|
||||||
|
plasma_main:
|
||||||
|
|
||||||
bit PAGE2 ; set page 2
|
bit PAGE2 ; set page 2
|
||||||
bit SET_TEXT ; set text
|
; bit SET_TEXT ; set text
|
||||||
bit LORES ; set lo-res
|
bit LORES ; set lo-res
|
||||||
|
|
||||||
|
|
||||||
; jsr setup_dump
|
step3:
|
||||||
|
|
||||||
; ============================================================================
|
|
||||||
|
|
||||||
; -------------------------------------
|
|
||||||
STEP3:
|
|
||||||
; init
|
; init
|
||||||
|
|
||||||
; lda #00
|
|
||||||
; sta Beat
|
|
||||||
|
|
||||||
lda #02
|
lda #02
|
||||||
sta COMPT2
|
sta COMPT2
|
||||||
sta PARAM1
|
sta PARAM1
|
||||||
|
@ -62,18 +28,26 @@ STEP3:
|
||||||
sta PARAM3
|
sta PARAM3
|
||||||
sta PARAM4
|
sta PARAM4
|
||||||
|
|
||||||
BP3:
|
bp3:
|
||||||
jsr precalc ; pre-calc
|
jsr precalc ; pre-calc
|
||||||
jsr display_normal ; display normal
|
jsr display_normal ; display normal
|
||||||
jsr VBLANK
|
jsr VBLANK
|
||||||
; jsr DUMP
|
|
||||||
|
lda KEYPRESS
|
||||||
|
bpl keep_making_plasma
|
||||||
|
|
||||||
|
jmp done_plasmacube
|
||||||
|
|
||||||
|
|
||||||
|
keep_making_plasma:
|
||||||
|
|
||||||
|
|
||||||
inc COMPT1
|
inc COMPT1
|
||||||
bne BP3
|
bne bp3
|
||||||
dec COMPT2
|
dec COMPT2
|
||||||
bne BP3
|
bne bp3
|
||||||
|
|
||||||
jmp STEP3
|
jmp step3
|
||||||
|
|
||||||
|
|
||||||
; ============================================================================
|
; ============================================================================
|
||||||
|
@ -160,10 +134,16 @@ display_lookup_smc:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
VBLANK:
|
VBLANK:
|
||||||
inc Mark
|
inc FRAME
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
done_plasmacube:
|
||||||
|
bit KEYRESET
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
;.align 256
|
;.align 256
|
||||||
|
|
||||||
|
@ -215,19 +195,6 @@ sin3: ; 256
|
||||||
.byte $3E,$42,$45,$47,$49,$4B,$4B,$4B,$4A,$49,$47,$45,$42,$3D,$3A,$35,$30,$2B,$26,$22,$1E,$1A,$17,$14,$13,$11,$10,$10,$10,$12,$12,$14
|
.byte $3E,$42,$45,$47,$49,$4B,$4B,$4B,$4A,$49,$47,$45,$42,$3D,$3A,$35,$30,$2B,$26,$22,$1E,$1A,$17,$14,$13,$11,$10,$10,$10,$12,$12,$14
|
||||||
.byte $15,$18,$1A,$1B,$1D,$1E,$1F,$1F,$1F,$1F,$1E,$1D,$1B,$18,$16,$14,$10,$0E,$0C,$0B,$09,$08,$08,$09,$0A,$0C,$0E,$11,$14,$19,$1D,$22
|
.byte $15,$18,$1A,$1B,$1D,$1E,$1F,$1F,$1F,$1F,$1E,$1D,$1B,$18,$16,$14,$10,$0E,$0C,$0B,$09,$08,$08,$09,$0A,$0C,$0E,$11,$14,$19,$1D,$22
|
||||||
|
|
||||||
.if 0
|
|
||||||
; This appears to be roughly 64+64*sin(x)
|
|
||||||
sin4: ; 256
|
|
||||||
.byte $40,$41,$43,$44,$46,$47,$49,$4A,$4C,$4D,$4F,$50,$52,$53,$55,$56,$58,$59,$5B,$5C,$5D,$5F,$60,$61,$63,$64,$65,$67,$68,$69,$6A,$6B
|
|
||||||
.byte $6C,$6D,$6F,$70,$71,$72,$73,$73,$74,$75,$76,$77,$78,$78,$79,$7A,$7A,$7B,$7B,$7C,$7C,$7D,$7D,$7D,$7E,$7E,$7E,$7F,$7F,$7F,$7F,$7F
|
|
||||||
.byte $7F,$7F,$7F,$7F,$7F,$7F,$7E,$7E,$7E,$7D,$7D,$7D,$7C,$7C,$7B,$7B,$7A,$7A,$79,$78,$78,$77,$76,$75,$74,$73,$73,$72,$71,$70,$6F,$6D
|
|
||||||
.byte $6C,$6B,$6A,$69,$68,$67,$65,$64,$63,$61,$60,$5F,$5D,$5C,$5B,$59,$58,$56,$55,$53,$52,$50,$4F,$4D,$4C,$4A,$49,$47,$46,$44,$43,$41
|
|
||||||
.byte $3F,$3E,$3C,$3B,$39,$38,$36,$35,$33,$32,$30,$2F,$2D,$2C,$2A,$29,$27,$26,$24,$23,$22,$20,$1F,$1E,$1C,$1B,$1A,$18,$17,$16,$15,$14
|
|
||||||
.byte $13,$12,$10,$0F,$0E,$0D,$0C,$0C,$0B,$0A,$09,$08,$07,$07,$06,$05,$05,$04,$04,$03,$03,$02,$02,$02,$01,$01,$01,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$01,$01,$01,$02,$02,$02,$03,$03,$04,$04,$05,$05,$06,$07,$07,$08,$09,$0A,$0B,$0C,$0C,$0D,$0E,$0F,$10,$12
|
|
||||||
.byte $13,$14,$15,$16,$17,$18,$1A,$1B,$1C,$1E,$1F,$20,$22,$23,$24,$26,$27,$29,$2A,$2C,$2D,$2F,$30,$32,$33,$35,$36,$38,$39,$3B,$3C,$3E
|
|
||||||
.endif
|
|
||||||
|
|
||||||
|
|
||||||
; Lookup table for colors
|
; Lookup table for colors
|
||||||
; Note the sine tables point roughly to the middle and go to the edges
|
; Note the sine tables point roughly to the middle and go to the edges
|
||||||
|
@ -308,32 +275,9 @@ lores_colors_wide: ; 256
|
||||||
.byte $11,$11,$11,$11,$11,$11,$11,$11
|
.byte $11,$11,$11,$11,$11,$11,$11,$11
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
Table1 = $6000
|
||||||
|
Table2 = $6000+64
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.include "../wait_keypress.s"
|
||||||
|
|
||||||
|
|
||||||
Table1 = $8000
|
|
||||||
Table2 = $8000+64
|
|
||||||
|
|
||||||
.if 0
|
|
||||||
Table1: ; !fill 64,0
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
Table2: ; !fill 64,0
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
.endif
|
|
||||||
|
|
|
@ -158,6 +158,16 @@ load_program_loop:
|
||||||
;==========================
|
;==========================
|
||||||
;==========================
|
;==========================
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; run PLASMACUBE (#9)
|
||||||
|
;=======================
|
||||||
|
; copy PLASMACUBE from AUX $2000 to MAIN $8000
|
||||||
|
|
||||||
|
lda #$20 ; AUX src $1000
|
||||||
|
ldy #$80 ; MAIN dest $8000
|
||||||
|
ldx #16 ; 16 pages
|
||||||
|
jsr copy_aux_main
|
||||||
|
jsr $8000
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; run DOTS (#9)
|
; run DOTS (#9)
|
||||||
|
|
|
@ -188,8 +188,32 @@ SPRITE_Y = $F2
|
||||||
SPRITE_X = $F3
|
SPRITE_X = $F3
|
||||||
CURRENT_ROW = $F4
|
CURRENT_ROW = $F4
|
||||||
|
|
||||||
|
; DOTS
|
||||||
|
|
||||||
COLOR_MASK = $F2
|
COLOR_MASK = $F2
|
||||||
|
|
||||||
|
; PLASMACUBE
|
||||||
|
|
||||||
|
OUT1 = $20
|
||||||
|
OUT1H = $21
|
||||||
|
OUT2 = $22
|
||||||
|
OUT2H = $23
|
||||||
|
COMPT1 = $30
|
||||||
|
COMPT2 = $31
|
||||||
|
|
||||||
|
PARAM1 = $60
|
||||||
|
PARAM2 = $61
|
||||||
|
PARAM3 = $62
|
||||||
|
PARAM4 = $63
|
||||||
|
;count = $64
|
||||||
|
;count2 = $65
|
||||||
|
|
||||||
|
GRLINE = $F2
|
||||||
|
GRLINEH = $F3
|
||||||
|
;IndexMask = $F4
|
||||||
|
;Mask = $F5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user