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 ; FIXME: make these a parameter
; filename ; filename
disk_buff EQU $2000 disk_buff EQU $1C00
read_size EQU $4000 ; 16kB read_size EQU $4000 ; 16kB
;; For the disk-read code ;; For the disk-read code

View File

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

View File

@ -6,7 +6,7 @@ PNG2GR = ../gr-utils/png2gr
all: chiptune_player.dsk all: chiptune_player.dsk
chiptune_player.dsk: CHIPTUNE_PLAYER OUT.0 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/INTRO2.KRW
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/CRMOROS.KRW $(DOS33) -y chiptune_player.dsk SAVE B ./krw/CRMOROS.KRW
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/FIGHTING.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 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 \ chiptune_player.o: chiptune_player.s \
../asm_routines/mockingboard.s \ ../asm_routines/mockingboard.s \

View File

@ -1,9 +1,12 @@
; VMW Chiptune Player ; VMW Chiptune Player
.include "zp.inc" .include "zp.inc"
; program is 4k, so from 0xc00 to 0x1C00
LZ4_BUFFER EQU $2000 ; 16k for now, FIXME: expand LZ4_BUFFER EQU $1C00 ; 16k for now, FIXME: expand
CHUNK_BUFFER EQU $6000 ; 10.5k, $2A00 CHUNK_BUFFER EQU $5C00 ; $5C00 - $9600, 14k, $3A00
; trying not to hit DOS at 9600
; Reserve 3 chunks plus spare (14k)
CHUNKSIZE EQU $3 CHUNKSIZE EQU $3
;============================= ;=============================
@ -506,19 +509,46 @@ bloop22:
jmp print_both_pages ; print, tail call 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 ; filenames
;========== ;==========
krw_file: 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 "INTRO2.KRW"
.asciiz "CRMOROS.KRW" .asciiz "CRMOROS.KRW"
.asciiz "CHRISTMAS.KRW" .asciiz "CHRISTMAS.KRW"
.asciiz "CAMOUFLAGE.KRW" .asciiz "CAMOUFLAGE.KRW"
.asciiz "FIGHTING.KRW" .asciiz "FIGHTING.KRW"
.asciiz "UNIVERSE.KRW" .asciiz "UNIVERSE.KRW"
.asciiz "TECHNO.KRW" .asciiz "TECHNO.KRW"
;========= ;=========