blue_flame: further init

This commit is contained in:
Vince Weaver 2023-02-03 16:43:17 -05:00
parent b7f0dc76e0
commit 5e823b17d3
3 changed files with 43 additions and 44 deletions

View File

@ -1,6 +1,6 @@
; Apple II graphics/music in 1k
; by deater (Vince Weaver) <vince@deater.net>
; by deater (Vince Weaver) <vince@deater.net> / DsR
; Lovebyte 2023
@ -10,15 +10,10 @@
; 1007 bytes -- merge in sier_parallax
; 1006 bytes -- mildly optimzie hgr table gen
; 1046 bytes (+26) -- add static_column
; TODO:
; MIRROR (140)
; THICK_LINES (88)
; RAINBOW SQUARES (106)
; THICK (113) ***
; WIRES (91)
; STAGGERED (60)
; STATIC_COLUMN (44) ***
; 1044 bytes (+24) -- optimize hgr table gen
; 1040 bytes (+20) -- no need to init FRAME/FRAMEH
; 1038 bytes (+18) -- re-arrange sound init so don't have to set Y to 0
; 1035 bytes (+15) -- combine memory zeroing functions
.include "zp.inc"
.include "hardware.inc"
@ -37,8 +32,24 @@ blue_flame:
; A and Y are 0 now?
sty FRAME ; init frame. Maybe only H important?
sty FRAMEH
;===================
; music Player Setup
; assume mockingboard in slot#4
; inline mockingboard_init
; Y must be 0
.include "mockingboard_init.s"
; frame is in init area so need to init
; sty FRAME ; init frame. Maybe only H important?
; sty FRAMEH
;===================
; int tables
@ -63,9 +74,10 @@ hgr_table_loop:
dex
cpx #$ff ; can't bpl/bmi as start > 128
; cpx #$ff ; can't bpl/bmi as start > 128
bne hgr_table_loop ; though if never use address 0 can we?
; lookup table of 0..40 but divided by 4
; in $90 to $C0 or so
@ -75,23 +87,13 @@ div4_loop:
asl
asl
sta div4_lookup,X
lda #0 ; also clear out $60 - $87 (sound init, etc)
sta $60,X
dex
bpl div4_loop
;===================
; music Player Setup
; assume mockingboard in slot#4
; inline mockingboard_init
; Y must be 0
ldy #0
.include "mockingboard_init.s"
.include "tracker_init.s"
cli ; enable music
@ -114,7 +116,6 @@ div4_loop:
.include "letters.s"
.include "interrupt_handler.s"
.include "mockingboard_constants.s"

View File

@ -2,14 +2,17 @@ tracker_init:
; setup initial ay-3-8910 values (this depends on song)
; claer out $70-$90
; clear out $60-$90
init_registers_to_zero:
ldx #$20 ; init registers to zero
lda #0
init_loop:
sta AY_REGS,X
dex
bpl init_loop
; done elsewhere
; ldx #$30 ; init registers to zero
; lda #0
;init_loop:
; sta AY_REGS-16,X
; dex
; bpl init_loop
lda #$38 ; ABC channels on
sta AY_REGS+7 ; $07 mixer

View File

@ -11,6 +11,9 @@ GBASH = $27
BASL = $28
BASH = $29
; our init routine zeros $60-$90 at start
AY_REGS = $70
; through = $7D
@ -39,12 +42,4 @@ ROTATE = $FD
XPOS = $FE
YPOS = $FF
.if 0
SAVE_Y = $F7
LETTER_X = $F8
LETTER_Y = $F9
COUNT = $FA
INL = $FD
INH = $FE
TEMP = $FF
.endif