/
TODO
63 lines (52 loc) · 1.91 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
General:
========
* [DONE] Configurable verbosity
* [DONE] Add a pause option (using pthread_mutex I think...)
* [DONE] Screenshot support
* [TO FIX] Internal state saving
* [DONE] SRAM saving
* [DOING] Add audio support
* [DONE] Add internationalization (i18n)
* [v0.2] Finish spanish translation
* [v0.2] Finish german translation
CPU:
====
* [DONE] Change the way that the CPU addresses are read/written.
For this I should have a separate (inline?) method to do this.
* [DONE] Handle the mirroring by means of this separate method
* [DONE] Fix the ADC/SBC instructions (recognize the C flag change)
* [DONE] Check ASL
* [DONE] Add illegal opcodes
* [ ] Improve CPU/PPU timing
APU:
====
* [TESTING] Emulate noise channel
* [TESTING] Emulate DMC channel
* [TESTING] Correct output of audio samples via SDL (use a queue + pull mechanism?)
* [TESTING] Check that the current triangle channel is well implemented
* [TESTING] Check that the current square channel is well implemented
PPU:
====
* [DONE] PPU VRAM read/write in separate method
* [WON'T BE IMPLEMENTED] Draw first sprites / background / last sprites in
separate layers, and do a merge after that.
* [DONE] Configurable video scaling
* [DONE] Fix *once for all* the background drawing
* [DONE] Fix sprite drawing (they seem to be 1 pixel above)
* [DONE] Support for vertical flip sprites feature
* [DONE] Support background scrolling
* [DONE] Recognize and set "pixel 0 bit"
* [ ] Proper hit flag timing
* [DONE] Add support for 8x16 sprites
* [DONE] Fix the back and front sprites drawing
* [ ] Re-check the sprite drawing, it seems to fail in some cases, have to
check the drawing limits of the NES again
Pads:
=====
* [DONE] Add initial support for user input through keyboard
* [DONE] Support second pad
* [v0.3] Configurable keys
Mappers:
========
* [TESTING] Finish and test MMC1
* [TESTING] Finish and test MMC3