Next
-------------
- * Make config file for corbenik plaintext. Nobody likes binary configs. They suck.
+ * Make config file for corbenik plaintext. Nobody likes binary configs. They suck. Massively. Especially when you fuck up a setting and need to change it on something that isn't a 3ds.
Shortterm
-------------
- * Implement some kind of curses-like backend and replace terrible printf rewind on top screen.
- * Alternatively, implement a monochrome GUI.
- * We also need UTF8 support. I want translation support.
- * Dragging in freetype or a bitmap font tool.
- * Ugh, VWF. Not like I haven't done it before...
- * Kconfig?
+ * Implement some kind of GUI menu functionality.
+ * We also probably need UTF8 support. I want translations.
+ * Dragging in freetype or a bitmap font tool is likely needed.
+ * Also, VWF. Not like I haven't done it before...but ugh. It's still a pain.
+ * Kconfig-based menus?
+ * The logic can't be easily ported from linux, and would need to be reimplemented.
+
+ * Implement program loading as...something else. The current linker is broken. There's multiple ways to go about this:
+ * Figure out why it breaks. Fix it up. (Deemed impossible without static linking, which defeats the point.)
+ * Scripting language / VM maybe?
+ * Lua is the obvious choice, but there's a few negatives to this.
+ * It isn't terribly hard to write an assembler and bytecode VM. Maybe I'll do that.
+ * Has the advantages of code plus ARM9/ARM11 independence.
Longterm
-------------
+ * Optimize the buffer logic out of printf. Render directly to the FB and keep track of dirty areas instead.
* Attempt to create a replacement handler for Service 0x3D, AKA OutputDebugString(void const, int) to log to a file on SD.
* Might be a pipe dream. It still would be cool to capture debug logs from games.
* Pretty sure this goes over JTAG on PARTNER units and anything else >/dev/null.
- * Config fragments for modules; and these need to be part of the modules, not corbenik's options menu.
- * Oppa Kconfig style.
- * Busybox may be helpful.
- * Probably need to reimplement anyways due to lack of userland.
- * Implement program loading as...something else. The current linker is broken. There's multiple ways to go about this:
- * Figure out why it breaks, and fix it up.
- * Embed a function table in corbenik itself, and rip this table out and generate a header post-compile which can be used by modules.
- * Allow modules to be internal AND external, and to build either way. Think of the whole kmod-versus-builtin deal.
- * All in all, this simplifies testing and allows multiple release types.
+ * Maybe replace svc 0xFF with something fancy.
* Rewrite all hardcoded constants that are machine code as assembly.
- * Read: all the patches
- * Change some stdlib functions to more closely imitate their real userland counterparts
+ * Read: all the patches.
+ * Change some stdlib functions to more closely imitate their userland counterparts