annotate Plugins/Input/console/todo.txt @ 108:cde5ca21ddc3 trunk

[svn] Improved latency on the decode loop.
author nenolod
date Wed, 02 Nov 2005 21:45:23 -0800
parents 252843aac42f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
90
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
1 Game_Music_Emu 0.2.4: Problems and planned improvements
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
2
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
3
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
4 Interface
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
5 ---------
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
6
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
7 - Refer to sound chip oscillators as channels, since Nes_Channel was
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
8 renamed a long time ago.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
9
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
10 - Rename setters with set_ prefix. I decided the terseness wasn't worth
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
11 it.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
12
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
13 - Consider putting buffer pointer before count in play() etc. Only
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
14 reason I put count first is to allow making buffer pointer default to
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
15 NULL for skip. But it seems better to have skip() a separate function.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
16 One other reason to put count first is to follow the left-to-right
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
17 principle in organizing arguments: play( count, buf ) generates 'count'
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
18 samples and writes them into 'buf', and count is a more significant
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
19 parameter than the buffer to write to.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
20
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
21 - VGM, GYM: change track_length() to return length and start of loop?
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
22
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
23
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
24 Misc
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
25 ----
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
26
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
27 - NSF: Partial implementation of DAC non-linearity causes possible
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
28 drift. Messes up saw wave demo at high frequencies.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
29
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
30 - GYM: See if ignoring PCM when it's disabled eliminates pop in some
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
31 tracks.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
32
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
33 - All CPU emulators: what if instruction straddles page boundary? Might
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
34 need to completely avoid reading words from code memory.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
35
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
36 - Test reloading a new file into emulator after already loading one
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
37
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
38 - Optimize resampling in Sega Genesis GYM emulator
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
39
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
40 - Improve GBS emulation
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
41
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
42 - Improve GYM PCM channel emulation
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
43
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
44 - SPC: Finish KON and KOFF reverse-engineering and incorporate into
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
45 Spc_Dsp
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
46
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
47 - GBS: Crystalis track 18 plays really fast. Does same in gbsplay 0.7.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
48
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
49 - GBS: Ultima 3 overflows stack. Messes up in gbsplay 0.7.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
50
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
51 - Set track_ended flag when emulation error occurs (log emulation error
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
52 only in debug mode).
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
53
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
54 - Change wave and noise Gb_Oscs to blip_good_quality?
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
55
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
56 - VGM: Support Sega Genesis
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
57
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
58 - VGM: Parse extended header
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
59
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
60 - VGM: Support new version of VGM file format that might be released
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
61 soon
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
62
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
63 - GYM: Check Altered Beast tracks with samples. They cut off seemingly
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
64 too soon.
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
65
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
66 - Include example of how to use NSF non-linear handling (with note about
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
67 limitations)
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
68
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
69 - Keep SP and PC as 32-bit in CPU registers structure so emulator can
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
70 detect overflow/underflow and halt emulation, rather than having them
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
71 masked when written back?
252843aac42f [svn] Import the initial sources for console music support.
nenolod
parents:
diff changeset
72