mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-26 11:30:12 +00:00
chiptune: move some memory addresses around, probably in final locations
This commit is contained in:
parent
e4dc7fbed3
commit
5f14b954f4
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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"
|
||||
|
||||
;=========
|
||||
|
Loading…
Reference in New Issue
Block a user