Aaron's To-Do List
From MAMEDEV Wiki
Note that nothing here is a promise. This all just represents ideas in my head. Who knows if I'll get to it all!
High-level
- convert sound cores into devices
- make scheduling a device thing instead of a CPU thing, allowing any device to participate
- integrate proper localization (work with MAMEPlus!)
- compile with UNICODE=1 for all builds (will deprecate Windows 9x support)
- define & implement more general pipe-like interface for external communication
- change OSD sound interface so it creates sound "targets" much like render targets
- allow setting of realtime clock to fixed value from command line for regression testing
CPUs
- write x86 DRC front-end, unifying all x86/NEC variants
- investigate and fix TMS32031 calculation bug
Debugger
- add timer window
- add CHD viewer window
- make workable in a fully command-line fashion
- convert to using pipes
- separate debugger from core application
3D
- Add texture management to poly.c
- Accepts array of 8 32-bit parameters
- Hashes those parameters and performs lookups
- Automatically manages via LRU
- Pre-compute textures in voodoo at upload time and remove on-the-fly format conversion for a bit more speed
Video
- render crosshairs in UI layer not in game containers
- game-specific crosshair bitmaps and sizes
- user selectable?
- fix crosshair rendering to understand scale and offset factors
- font improvements:
- start with built-in font, then load others
- standardize on BDC as the font format, provide BDF2BDC converter
- find a good unicode font
- user-selectable at runtime via menu?
Outputs
- convert output system to use pipes
- add ability to get XML description of current game
Drivers
- write tests to figure out 3dfx mipmapping algorithm
- remove use of MDRV_VBLANK_INT(count) where count > 1
- cliffhgr.c:
- add proper latching/buffering to ensure no dropouts
- fix 9928a emulation to match screenshot
- 3DO-based systems
Documentation
- write debugger documentation
- Debugger basics (covers the main window, the keyboard shortcuts, and a couple of very basic commands)
- Viewing memory (covers disasm/dump, memory and disassembly windows)
- Breakpoints and watchpoints (covers basic breakpoints and watchpoint usage)
- Expressions (covers using expressions to change values and the whole expression syntax)
- Advanced breakpoints and watchpoints (covers conditionals, actions, etc)
- Other techniques (covers tracing and other things)
- write description for how to compute crosshair parameters
Other Stuff
- look into inpout32.dll for hooking up ZVG to WinMAME