|
|
(10 intermediate revisions by 2 users not shown) |
Line 4: |
Line 4: |
| * Use modern C++ to replace macros and platform-specific code wherever possible | | * Use modern C++ to replace macros and platform-specific code wherever possible |
| * Eliminate remaining static variables in drivers and devices | | * Eliminate remaining static variables in drivers and devices |
| + | * Replace global_alloc/auto_alloc/pool_alloc with smart pointers |
| | | |
| | | |
| '''Drivers''' | | '''Drivers''' |
− | * Remove deprecated direct_update_handler functions from the remaining drivers that have one. This will facilitate speeding up the memory system, which in turn will improve all drivers
| |
| * Rewrite older drivers to modern standards | | * Rewrite older drivers to modern standards |
| * Rewrite the 2 or 3 drivers still outstanding from the license change | | * Rewrite the 2 or 3 drivers still outstanding from the license change |
| * Convert more shared custom chips and function boards into devices | | * Convert more shared custom chips and function boards into devices |
− | * Convert the remaining devices that use the old floppy system. | + | * Convert the remaining devices that use the old floppy system |
| + | * Substitute proper IRQ acking for HOLD_LINE |
| + | * "MAME doesn't really provide a way to run with no machine loaded. Changing this would be a huge amount of work. It would be nice as a long-term goal, but in the short term it isn't realistic to be considering changing it." - Vas Crabb |
| + | |
| + | |
| + | '''CPU cores''' |
| + | * Remove fake port addresses from MCU memory maps (use callbacks instead) |
| + | * Provide and improve emulation of MCU on-chip peripherals (timers are generally the most critical) |
| | | |
| | | |
| '''Slots''' | | '''Slots''' |
| * Come up with a clean way to allow devices to have multiple slot connectors | | * Come up with a clean way to allow devices to have multiple slot connectors |
| + | |
| + | |
| + | '''Input''' |
| + | * Decouple input port updates from video frame rate |
| + | * Make natural keyboard cooperate better with matrix scanning keyboards |
| + | * External files for defining button names |
| | | |
| | | |
Line 30: |
Line 43: |
| | | |
| '''Lua''' | | '''Lua''' |
− | * Add tools necessary for TASing. | + | * Offload more secondary frontend/UI functions to Lua scripts |
| + | * Add tools necessary for TASing |
| + | * Add scripting hooks for autopatching ROMs/image files |