-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathToDo.txt
24 lines (23 loc) · 1.68 KB
/
ToDo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
TODO:
Allocate (mostly) all the memory at once, and localize the memory blocks as much as possible.
Try do do more buffer swapping, and less copying.
Split the UI requirements from the emulation requirements (eg. bilinear interpolation)
- Plugin options shouldn't be exposed to the emulation layer.
Enhance the new video renderer infrastructure to make it less awkward, and re-implement previous features.
Reimplement SGB border rendering.
Audio !
Switch to .NET 4.6 and use Buffer.MemoryCopy.
Have a better video emulation (Allow more dynamic changes during video rendering
Do not have thread-aware handlers anymore: let the UI code do its own marshalling. ( => Less clutter on the UI thread, maybe no more UI thread freezes… )
Use some kind of versioning to determine when to update data (e.g. SGB border) in VideoFrameData: Allow the most recent data to always be available, but minimize copying.
Reorganize the GameBoyMemoryBus for the code to be more easy to locate.
Implement a 2bit rendering for more accurate SGB emulation… ? The border update might then be done inside the video renderer itself.
Implement an interface to provide the joypad feature, instead of an event.
Optimize the processor emulation a bit more ? And check the assembly generated for basic instructions like ADD, DEC, …
DONE:
Totally rework the VideoRenderer infrastructure
- Either let it do the rendering (by using the public API exposed by the lib)
- Or do not call it a renderer anymore… More like a "VideoPresenter" or something like that.
- Make it fully asynchronous if possible
Fix the bugs of color palette setting for non-CGB games: the palette memory gets disabled.
Reimplement Direct2D renderer.