mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-13 03:38:14 +00:00
blue_flame: further init
This commit is contained in:
parent
b7f0dc76e0
commit
5e823b17d3
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user