chiptune: move some memory addresses around, probably in final locations

This commit is contained in:
Vince Weaver 2018-02-24 15:50:10 -05:00
parent e4dc7fbed3
commit 5f14b954f4
4 changed files with 37 additions and 7 deletions

View File

@ -4,7 +4,7 @@
; FIXME: make these a parameter
; filename
disk_buff EQU $2000
disk_buff EQU $1C00
read_size EQU $4000 ; 16kB
;; For the disk-read code

View File

@ -36,7 +36,7 @@
;COUNT EQU $06
;DELTA EQU $08
orgoff EQU $6000 ; offset of first unpacked byte
orgoff EQU $5C00 ; offset of first unpacked byte
;======================
; LZ4 decode

View File

@ -6,7 +6,7 @@ PNG2GR = ../gr-utils/png2gr
all: chiptune_player.dsk
chiptune_player.dsk: CHIPTUNE_PLAYER OUT.0
$(DOS33) -y chiptune_player.dsk BSAVE -a 0x1000 CHIPTUNE_PLAYER
$(DOS33) -y chiptune_player.dsk BSAVE -a 0x0C00 CHIPTUNE_PLAYER
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/INTRO2.KRW
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/CRMOROS.KRW
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/FIGHTING.KRW
@ -27,7 +27,7 @@ chiptune_player.dsk: CHIPTUNE_PLAYER OUT.0
CHIPTUNE_PLAYER: chiptune_player.o
ld65 -o CHIPTUNE_PLAYER chiptune_player.o -C ../linker_scripts/apple2_1000.inc
ld65 -o CHIPTUNE_PLAYER chiptune_player.o -C ../linker_scripts/apple2_c00.inc
chiptune_player.o: chiptune_player.s \
../asm_routines/mockingboard.s \

View File

@ -1,9 +1,12 @@
; VMW Chiptune Player
.include "zp.inc"
; program is 4k, so from 0xc00 to 0x1C00
LZ4_BUFFER EQU $2000 ; 16k for now, FIXME: expand
CHUNK_BUFFER EQU $6000 ; 10.5k, $2A00
LZ4_BUFFER EQU $1C00 ; 16k for now, FIXME: expand
CHUNK_BUFFER EQU $5C00 ; $5C00 - $9600, 14k, $3A00
; trying not to hit DOS at 9600
; Reserve 3 chunks plus spare (14k)
CHUNKSIZE EQU $3
;=============================
@ -506,19 +509,46 @@ bloop22:
jmp print_both_pages ; print, tail call
;==============================================
; plan: takes 256 50Hz to play a chunk
; need to copy 14 256-byte blocks
; PLAY A (copying C)
; PLAY B (copying C)
; PLAY D (decompressing A/B/C)
;========================
; page copy
;========================
page_copy:
ldx #$00 ; 2
page_copy_loop:
lda $1000,x ; 4
sta $1000,X ; 5
inx ; 2
bne page_copy_loop ; 2nt/3
rts ; 6
;======================
; 2+14*256+6= 3592
;==========
; filenames
;==========
krw_file:
.asciiz "DEATH2.KRW"
.asciiz "DEMO4.KRW"
.asciiz "WAVE.KRW"
.asciiz "SDEMO.KRW"
.asciiz "SPUTNIK.KRW"
.asciiz "ROBOT.KRW"
.asciiz "LYRA2.KRW"
.asciiz "KORO.KRW"
.asciiz "INTRO2.KRW"
.asciiz "CRMOROS.KRW"
.asciiz "CHRISTMAS.KRW"
.asciiz "CAMOUFLAGE.KRW"
.asciiz "FIGHTING.KRW"
.asciiz "UNIVERSE.KRW"
.asciiz "TECHNO.KRW"
;=========