mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-17 08:54:50 +00:00
chiptune_player: some doc changes
This commit is contained in:
parent
f45fff6c55
commit
4161bf2c8a
@ -7,7 +7,21 @@ 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 0x1000 CHIPTUNE_PLAYER
|
||||||
$(DOS33) -y chiptune_player.dsk SAVE B 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/FIGHTING.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/LYRA2.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/SDEMO.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/UNIVERSE.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/CAMOUFLAGE.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/DEATH2.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/SPUTNIK.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/WAVE.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/CHRISTMAS.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/DEMO4.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/KORO.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/ROBOT.KRW
|
||||||
|
$(DOS33) -y chiptune_player.dsk SAVE B ./krw/TECHNO.KRW
|
||||||
# $(DOS33) -y chiptune_player.dsk SAVE B OUT.LZ4
|
# $(DOS33) -y chiptune_player.dsk SAVE B OUT.LZ4
|
||||||
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x6000 OUT.0
|
# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x6000 OUT.0
|
||||||
|
|
||||||
|
@ -25,6 +25,30 @@ it doesn't compress as well so it takes up more disk/memory space
|
|||||||
for the raw file.
|
for the raw file.
|
||||||
|
|
||||||
|
|
||||||
|
As can be seen from the memory map, if we assume our player can fit in 4k
|
||||||
|
we have roughly from $2000 to $9600 for memory. That's $7600 (29.5k).
|
||||||
|
|
||||||
|
If we could have single buffered, we could have had 256*3*14 (10.5k) for
|
||||||
|
decompress and 19k for file size which would let us play most of the
|
||||||
|
reasonable sized songs on our play list (KRW(3) in table at end).
|
||||||
|
|
||||||
|
If we need to double buffer, then we need 256*2*14*2 (14k) for decompress
|
||||||
|
and 15.5k for file size which still works, at least if the move to KRW(2)
|
||||||
|
sized files doesn't bloat things too much.
|
||||||
|
|
||||||
|
|
||||||
|
Proposed plan
|
||||||
|
|
||||||
|
Decompress 3, but in the room of 4?
|
||||||
|
|
||||||
|
1234 in memory
|
||||||
|
ABCC decode as ABC, then copy C to 4
|
||||||
|
when playing C, play from 4, bring in next 3
|
||||||
|
DEFF
|
||||||
|
|
||||||
|
This lets us have 14k of buffer, allowing 15.5k of compressed file.
|
||||||
|
Do we have the spare cycles for this?
|
||||||
|
|
||||||
|
|
||||||
Memory Map
|
Memory Map
|
||||||
(not to scale)
|
(not to scale)
|
||||||
@ -54,28 +78,39 @@ Memory Map
|
|||||||
|
|
||||||
|
|
||||||
Sizes
|
Sizes
|
||||||
|
Disk
|
||||||
|
time ym5 KRW(3) KRW(2) Blocks(3)
|
||||||
|
~~~~ ~~~ ~~~~~~ ~~~~~~ ~~~~~~
|
||||||
|
KORO.KRW 0:54 ? 2740 3039 12 12
|
||||||
|
FIGHTING.KRW 1:40 ? 3086 3316 14 14
|
||||||
|
CAMOUFLAGE.KRW 1:32 1162 4054 4972 17 17
|
||||||
|
DEMO4.KRW 2:05 1393 4061 6336 17 17
|
||||||
|
SDEMO.KRW 2:12 1635 5266 7598 22 22
|
||||||
|
CHRISTMAS.KRW 1:32 1751 4975 5811 21 21
|
||||||
|
SPUTNIK.KRW 2:05 2164 8422 10779 34 34
|
||||||
|
DEATH2.KRW 2:27 2560 8064 10295 33 33
|
||||||
|
CRMOROS.KRW 1:29 2566 8045 9565 33 33
|
||||||
|
TECHNO.KRW 2:23 2630 8934 11126 36 36
|
||||||
|
WAVE.KRW 2:52 2655 8368 11318 34 34
|
||||||
|
LYRA2.KRW 3:04 2870 9826 14418 40 40
|
||||||
|
INTRO2.KRW 2:59 3217 9214 9294 37 37
|
||||||
|
ROBOT.KRW 1:26 3448 7724 8337 32 32
|
||||||
|
UNIVERSE.KRW 1:49 4320 9990 11225 41 41
|
||||||
|
NEURO.KRW 3:47 8681 22376 25168 89
|
||||||
|
AXELF.KRW 10:55 9692 47989 54420 189
|
||||||
|
----- -----
|
||||||
|
423 30:29
|
||||||
|
|
||||||
time ym5 KRW(3) KRW(2)
|
Notes: my home-made songs don't have ym5 sizes as I don't have a
|
||||||
~~~~ ~~~ ~~~~~~ ~~~~~~
|
working LHA encoder to make a real size.
|
||||||
KORO.KRW 0:54 ? 2740
|
|
||||||
FIGHTING.KRW 1:40 ? 3086
|
|
||||||
CAMOUFLAGE.KRW 1:32 1162 4054
|
|
||||||
DEMO4.KRW 2:05 1393 4061
|
|
||||||
SDEMO.KRW 2:12 1635 5266
|
|
||||||
CHRISTMAS.KRW 1:32 1751 4975
|
|
||||||
SPUTNIK.KRW 2:05 2164 8422
|
|
||||||
DEATH2.KRW 2:27 2560 8064
|
|
||||||
CRMOROS.KRW 1:29 2566 8045
|
|
||||||
TECHNO.KRW 2:23 2630 8934
|
|
||||||
WAVE.KRW 2:52 2655 8368
|
|
||||||
LYRA2.KRW 3:04 2870 9826
|
|
||||||
INTRO2.KRW 2:59 3217 9214
|
|
||||||
ROBOT.KRW 1:26 3448 7724
|
|
||||||
UNIVERSE.KRW 1:49 4320 9990
|
|
||||||
NEURO.KRW 3:47 8681 22376
|
|
||||||
AXELF.KRW 10:55 9692 47989
|
|
||||||
|
|
||||||
|
Apple II disk file sizes: uses 256 byte blocks. Needs an extra
|
||||||
|
for the catalog entry (and an additional for every X blocks used)
|
||||||
|
|
||||||
|
The Disk II / DOS3.3 can in theory hold 140k, but first 3 tracks
|
||||||
|
are reserved for DOS (12k) and the Catalog track (4k) and the
|
||||||
|
Hello program (512 bytes) and our chiptune player (4k), totalling
|
||||||
|
24.5k of overhead, with 115.5k free (462 blocks)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Binary file not shown.
@ -509,6 +509,7 @@ next_subsong:
|
|||||||
;==========
|
;==========
|
||||||
krw_file:
|
krw_file:
|
||||||
.asciiz "INTRO2.KRW"
|
.asciiz "INTRO2.KRW"
|
||||||
|
.asciiz "TECHNO.KRW"
|
||||||
|
|
||||||
;=========
|
;=========
|
||||||
;routines
|
;routines
|
||||||
|
BIN
chiptune_player/krw/AXELF.KRW
Normal file
BIN
chiptune_player/krw/AXELF.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/CAMOUFLAGE.KRW
Normal file
BIN
chiptune_player/krw/CAMOUFLAGE.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/CHRISTMAS.KRW
Normal file
BIN
chiptune_player/krw/CHRISTMAS.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/CRMOROS.KRW
Normal file
BIN
chiptune_player/krw/CRMOROS.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/DEATH2.KRW
Normal file
BIN
chiptune_player/krw/DEATH2.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/DEMO4.KRW
Normal file
BIN
chiptune_player/krw/DEMO4.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/FIGHTING.KRW
Normal file
BIN
chiptune_player/krw/FIGHTING.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/INTRO2.KRW
Normal file
BIN
chiptune_player/krw/INTRO2.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/KORO.KRW
Normal file
BIN
chiptune_player/krw/KORO.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/LYRA2.KRW
Normal file
BIN
chiptune_player/krw/LYRA2.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/NEURO.KRW
Normal file
BIN
chiptune_player/krw/NEURO.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/ROBOT.KRW
Normal file
BIN
chiptune_player/krw/ROBOT.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/SDEMO.KRW
Normal file
BIN
chiptune_player/krw/SDEMO.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/SPUTNIK.KRW
Normal file
BIN
chiptune_player/krw/SPUTNIK.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/TECHNO.KRW
Normal file
BIN
chiptune_player/krw/TECHNO.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/UNIVERSE.KRW
Normal file
BIN
chiptune_player/krw/UNIVERSE.KRW
Normal file
Binary file not shown.
BIN
chiptune_player/krw/WAVE.KRW
Normal file
BIN
chiptune_player/krw/WAVE.KRW
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user