mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-14 13:33:48 +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
|
; 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
|
||||||
|
@ -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
|
||||||
|
@ -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 \
|
||||||
|
@ -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"
|
||||||
|
|
||||||
;=========
|
;=========
|
||||||
|
Loading…
x
Reference in New Issue
Block a user