2018-05-24 15:59:07 +00:00
|
|
|
Fun fact:
|
|
|
|
The letter 'Z' does not appear at all in the lyrics to the song.
|
|
|
|
(Noticed when I had to edge comparison for uppercase off by one)
|
|
|
|
|
|
|
|
|
2018-05-23 15:59:56 +00:00
|
|
|
Challenges:
|
|
|
|
+ 6-channel audio
|
|
|
|
+ Fitting it all in 48k (want to avoid disk routines if can)
|
|
|
|
+ Printing the ASCII art simple code (takes longer than 50Hz)
|
|
|
|
|
2018-05-23 20:09:44 +00:00
|
|
|
ASCII Art Size
|
|
|
|
The ASCII art is roughly 7k.
|
|
|
|
You can LZ4 compress it and decompress on the fly, saving 3k or
|
|
|
|
so even when factoring in the decompression code.
|
|
|
|
The problem is decompression is slower (pauses the music) and
|
|
|
|
can't be run at the same time as the music decompression is
|
|
|
|
happening unless we duplicate a lot of code.
|
|
|
|
May revisit if we need the room.
|
|
|
|
|
2018-05-23 15:59:56 +00:00
|
|
|
|
2018-05-23 18:07:19 +00:00
|
|
|
Goal: Binary fits in 16k (16384 bytes)
|
2018-05-23 15:59:56 +00:00
|
|
|
|
2018-05-23 18:07:19 +00:00
|
|
|
note size (bytes)
|
|
|
|
--------------------- ------
|
2018-05-23 16:50:12 +00:00
|
|
|
initial music player: 2078
|
|
|
|
add raw ascii art: 9142
|
|
|
|
add 3-channel music+lyrics,then slim a bit: 18787
|
|
|
|
initial 40 col support: 18864
|
2018-05-23 18:07:19 +00:00
|
|
|
have art loading properly 40col: 18910
|
2018-05-23 20:04:27 +00:00
|
|
|
lz4 encode the ascii art: 15529
|
|
|
|
revert because lz4 code not re-entrant: 18910
|
2018-05-24 03:49:18 +00:00
|
|
|
add 4-channel music (KR4): 20128
|
2018-05-24 14:33:05 +00:00
|
|
|
add cursor (a bit distracting) 20162
|
2018-05-24 16:42:27 +00:00
|
|
|
feature complete 40 col: 20180
|
|
|
|
intial 80 col support: 20191
|
2018-05-24 18:40:21 +00:00
|
|
|
80 col cursor: 20344
|
2018-05-24 18:47:49 +00:00
|
|
|
strip out some unneeded text printing: 19962
|
2018-05-22 03:46:47 +00:00
|
|
|
|
|
|
|
Memory Map
|
|
|
|
|
|
|
|
|
2018-05-24 21:01:42 +00:00
|
|
|
|
|
|
|
0000: Zero Page
|
|
|
|
0100: Stack
|
|
|
|
0400: Text Page 0 (AUX 0400: 80 column text)
|
|
|
|
|
|
|
|
2000: HGR Page0
|
|
|
|
4000: HGP Page1
|
|
|
|
9600: DOS 37.5k
|
|
|
|
C000: I/O Space
|
|
|
|
D000: ROM
|
|
|
|
FFFF: END
|
|
|
|
|
|
|
|
|
|
|
|
Code: c00 - 8c00 32k
|
|
|
|
(8k=audio, 5k=lyrics, 3k=art)
|
|
|
|
Sound buffers: 5e00-9600 = 14k
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
16k compressed Load at 32k? 8000
|
|
|
|
20k decompressed Decompress from 0c00 - 6000 or so
|
|
|
|
|
2018-05-24 03:49:18 +00:00
|
|
|
|