Lime3DS/TODO
2020-02-13 17:42:09 +08:00

143 lines
No EOL
6.9 KiB
Text

☐ Save/load UI
✔ Basic version @done(20-01-03 15:27)
☐ Multiple slots etc.
☐ Add 'force flush all' to Rasterizer interface + impls
☐ Custom texture cache
☐ Review constructor/initialization code
✔ Core timing events @done(20-01-12 15:14)
☐ Serialize codeset with an apploader reference instead
✔ Review base class serialization everywhere @done(20-01-10 23:47)
Make sure that all base/derived relationships are registered
✔ Additional stuff to serialize @done(20-01-11 16:32)
✔ Self-NCCH archive @done(20-01-11 16:32)
✔ File backends @done(20-01-11 16:32)
✘ Directory backends @cancelled(20-01-11 16:32)
Not needed for now
✔ File/directory 'services' @done(20-01-10 23:46)
✔ CPU @done(19-08-13 15:41)
✔ Memory @done(19-08-13 15:41)
✔ Page tables @done(20-01-05 16:33)
Need to change uses to shared_ptr
✔ Skip N3DS RAM if unused @done(20-01-03 23:26)
✔ DSP @done(19-12-28 16:57)
Memory only
✔ Service manager @started(19-12-23 00:36) @done(19-12-23 11:38) @lasted(11h2m3s)
✔ Fix or ignore inverse map @done(19-12-23 12:46)
✘ App loader @cancelled(20-01-01 22:59)
No relevant state
✔ Archive manager @started(20-01-01 23:03) @done(20-01-03 13:23) @lasted(1d14h20m40s)
NB that 'FileBackend' classes are not persistent
✔ NCCH @started(20-01-02 22:50) @done(20-01-03 12:35) @lasted(13h45m50s)
✔ Normal @done(20-01-02 22:50)
✔ Self @done(20-01-03 12:35)
✔ SaveData @started(20-01-02 23:03) @done(20-01-02 23:27) @lasted(25m)
✔ Normal @done(20-01-02 23:03)
✔ Ext @done(20-01-02 23:26)
✔ Other @done(20-01-02 23:21)
✔ Source SD @done(20-01-02 23:03)
✔ System @done(20-01-02 23:13)
✔ SDMC @done(20-01-02 23:34)
✔ Normal @done(20-01-02 23:34)
✔ Write-only @done(20-01-02 23:34)
✔ IVFC @done(20-01-11 16:33)
✔ File refs @done(20-01-11 16:33)
✘ Replace delay generator with virtual fns @cancelled(20-01-03 13:16)
While they have no state, the extra refactoring here is unneeded
✘ MMIO @cancelled(20-01-01 01:06)
Seems that this whole subsystem is only used in tests
✘ Movie @cancelled(20-01-01 01:07)
Doesn't need to be serialized here
✘ Perf stats @cancelled(20-01-01 01:09)
Doesn't need to be serialized here
✘ Settings @cancelled(20-01-01 01:11)
For now, let the settings just be whatever they are
✘ Telemetry session @cancelled(20-01-01 01:12)
Doesn't need to be serialized here
✔ Replace SERIALIZE_AS_POD with BOOST_IS_BITWISE_SERIALIZABLE @started(20-01-03 13:47) @done(20-01-03 13:58) @lasted(11m22s)
✔ Fix CI @done(19-12-31 21:32)
✔ HW @done(19-08-13 15:41)
✔ GPU regs @done(19-08-13 15:41)
✔ LCD regs @done(19-08-13 15:41)
✔ Video core @started(19-08-13 16:43) @done(19-12-22 16:06)
✔ Geometry pipeline @done(19-12-22 15:52)
Required more use of g_state
✔ PICA state @done(19-08-13 15:41)
✔ Primitive assembly @done(19-12-22 16:05)
✔ Shader @done(19-08-13 16:03)
✔ HLE @started(19-08-13 16:43) @done(20-01-06 20:37) @lasted(20w6d4h54m19s)
✔ Kernel @started(19-08-13 16:43) @done(20-01-06 20:37) @lasted(20w6d4h54m17s)
Most of these require adding Core::Global
✔ Address arbiter @done(19-08-13 16:40)
✔ Client port @done(19-08-13 16:40)
✔ Client session @done(19-08-13 16:40)
✔ Config mem @done(20-01-04 21:09)
✔ Event @done(19-12-22 18:44)
✔ Handle table @done(19-08-13 16:42)
✔ HLE IPC @done(19-12-23 00:36)
✔ IPC @done(19-12-23 00:36)
✔ Memory @started(19-08-13 16:43) @done(19-12-22 18:34)
✔ Mutex @done(19-08-13 16:43)
✔ Object @done(19-08-13 15:41)
✔ Process @started(19-08-13 16:43) @done(19-12-22 18:41)
✔ Code set @started(19-12-22 18:41) @done(20-01-03 15:15) @lasted(1w4d20h34m2s)
Needs a way to reference loaded images (so we don't serialize the entire ROM as well)
✔ Resource limit @done(19-08-13 16:43)
✔ Semaphore @done(19-08-13 16:44)
✔ Server port @done(19-08-13 16:44)
✔ Server session @done(19-08-13 16:44)
✔ Mapped buffer context @done(20-01-03 15:25)
This is needed because IPC can take as long as it takes
Changed the unique_ptr<u8[]> to vector<u8>
✔ Session @done(19-08-13 16:44)
✔ Shared memory @started(19-12-22 21:20) @done(20-01-04 21:09) @lasted(1w5d23h49m26s)
Need to figure out backing memory (a u8*)
✔ Shared page @done(20-01-04 21:09)
✔ SVC @done(19-12-22 21:32)
Nothing to do - all data is constant
✔ Thread @started(19-08-13 16:45) @done(20-01-06 20:01) @lasted(20w6d4h16m22s)
This requires refactoring wakeup_callback to be an object ref
✔ Timer @done(19-08-13 16:45)
✔ VM Manager @started(19-08-13 16:46) @done(20-01-04 21:09) @lasted(20w4d5h23m42s)
Just need to figure out backing_mem (a u8*)
✔ Wait object @done(19-08-13 16:46)
✔ Service @started(19-12-23 12:49) @done(20-01-05 16:41) @lasted(1w6d3h52m17s)
✔ AC @started(19-12-23 12:48) @done(19-12-24 22:38) @lasted(1d9h50m3s)
✔ ACT @done(19-12-24 23:17)
✔ AM @started(19-12-24 23:17) @done(19-12-24 23:53) @lasted(36m8s)
✔ APT @done(19-12-25 21:41)
✔ BOSS @started(19-12-25 21:48) @done(19-12-25 23:18) @lasted(1h30m14s)
✔ CAM @started(19-12-26 10:37) @done(20-01-03 23:38) @lasted(1w1d13h1m50s)
Need to check capture_result
✔ CECD @done(20-01-01 23:58)
✔ CFG @done(20-01-02 00:44)
Also needs archive backend..
✔ CSND @started(19-12-26 17:51) @done(19-12-26 17:56) @lasted(5m30s)
✔ DLP @done(19-12-26 18:02)
✔ DSP @done(19-12-26 18:10)
✔ ERR @done(19-12-26 18:14)
✔ FRD @done(19-12-26 19:09)
✔ FS @done(19-12-27 11:46)
✔ GSP @done(19-12-30 12:45)
✔ Fix the global weak_ptr to gsp @done(20-01-04 00:29)
Didn't quite 'fix' it but worked around it
✔ HID @done(19-12-30 14:46)
✔ HTTP @done(19-12-30 15:18)
✔ IR @done(19-12-30 16:06)
✔ LDR_RO @done(19-12-30 16:25)
✔ MIC @done(19-12-30 16:53)
✔ MVD @done(19-12-31 18:26)
✔ NDM @done(19-12-31 18:26)
✔ NEWS @done(19-12-31 18:29)
✔ NFC @done(19-12-31 20:35)
✔ NIM @done(19-12-31 21:08)
✔ NS @done(20-01-01 00:46)
✔ NWM @done(20-01-01 21:31)
✔ Fix wifi_packet_received @done(20-01-05 16:41)
✔ PM @done(20-01-01 22:14)
✔ PS @done(20-01-01 00:54)
✔ PTM @done(20-01-01 22:36)
✔ PXI @done(20-01-01 00:53)
✔ QTM @done(20-01-01 22:41)
✔ SOC @done(20-01-01 00:51)
✔ SSL @done(20-01-01 00:48)
✔ Y2R @done(20-01-01 22:56)