dos33fsprogs/music/pt3_player/TODO

39 lines
1.5 KiB
Plaintext
Raw Normal View History

2019-05-20 16:40:35 +00:00
2019-05-16 05:04:57 +00:00
1. Merge some of the common code in decode_note()
2. Use a jump table for the two switch() statements in decode_note()
3. Make the frequency and volume table lookups use self-modify code
instead of checking which table to use at runtime
4. The time-length calculation can be much faster, it only needs to find
the length of one channel (not all three, right now re-using code)
5. I also should run some more PT3 files through to verify correctness,
I've only validated 3 so far.
6. Merge mockingboard output to register calc, instead of setting
all 13 registers then walking through and outputting them
2019-05-16 18:45:25 +00:00
7. Clear out the channel data with a memset() instead of explicitly
setting values?
2019-05-20 16:40:35 +00:00
8. Self modify the 1MHz vs 1.7MHz change
2019-05-23 04:28:55 +00:00
9. Align the volume/frequency tables. Save a few cycles on the reads?
2019-05-20 16:40:35 +00:00
2019-05-16 05:04:57 +00:00
some further out things
1. I think the z80 assembly version generates the lookup tables at startup,
potentially saving a lot of space
2. Each channel uses roughly 40 bytes of state, so 120 bytes total.
Putting that in the zero page will save a lot of space in the executable
(though wouldn't really help speed that much if I keep using index-X
addressing mode). I don't think game/demo authors would be excited
about giving up half the zero page though.
Player:
1. Loop support
2. Keys to increase/decrease pattern
2019-05-17 16:13:38 +00:00
3. Handle LZ4 compressed files?
4. Have RTS code exit with error if file not found
5. Center the title/author?
2019-05-16 05:04:57 +00:00
2019-05-17 03:09:25 +00:00
Bugs:
Sometimes when using arrows, the next song will have channels out
of synch?