mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 08:54:51 +00:00
|
||
---|---|---|
.. | ||
art | ||
lyrics | ||
music | ||
ascii_art_lz4.inc | ||
ascii_art.inc | ||
display_art.s | ||
display_lyrics.s | ||
interrupt_handler.s | ||
lyrics.inc | ||
Makefile | ||
README.still_alive | ||
SA.KR4 | ||
SA.KRW | ||
still_alive.dsk | ||
still_alive.s | ||
title.bas | ||
TODO | ||
zp.inc |
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) 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) 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. Goal: Binary fits in 16k (16384 bytes) note size (bytes) --------------------- ------ initial music player: 2078 add raw ascii art: 9142 add 3-channel music+lyrics,then slim a bit: 18787 initial 40 col support: 18864 have art loading properly 40col: 18910 lz4 encode the ascii art: 15529 revert because lz4 code not re-entrant: 18910 add 4-channel music (KR4): 20128 add cursor (a bit distracting) 20162 feature complete 40 col: 20180 intial 80 col support: 20191 Memory Map Lowmem: 4k Code: 20k (8k=audio, 5k=lyrics, 3k=art) Sound buffers: 14k