MAME 0.200 was released on 25 July 2018.
MAMETesters Bugs Fixed
New working machines
New working clones
Machines promoted to working
Clones promoted to working
New machines marked as NOT_WORKING
New clones marked as NOT_WORKING
New working software list additions
Software list items promoted to working
New NOT_WORKING software list additions
The known contributions for this version are, in the order specified in the whatsnew:
- AJR standardized order of "On"/"Off" items in UI menus with "On" consistently to the right of "Off".
- AJR updated the x68000 driver: Compute refresh rates from CRTC parameters and known crystal values.
- AJR eliminated "Atari VG EAROM" in favor of newer ER2055 device.
- AJR updated the z8 core: Added dump of pre-programmed Z8671 MCU with BASIC/DEBUG interpreter.
- AJR updated the x68000 driver: Separated VINAS/VICON CRTC device.
- Angelo Salese updated cischeat.cpp: Improvements:
- Reworked interrupt generation, and fixed attract mode de-synchronization in Big Run.
- Fixed Grand Prix Star stuck tyre sprite in attract mode.
- Angelo Salese updated ironhors.cpp: Changed Iron Horse frame rate to 61 Hz.
- Angelo Salese updated tetrisp2.cpp: Added support for YUV422 colors in Stepping Stage.
- Barry Rodewald updated the amstrad driver: Added a device for PPI clone implemented by the Amstrad Plus ASIC, and used it for the Plus and GX4000.
- Fixes Plus detection in some games, and correctly breaks inputs in Barbarian.
- cam900 updated taito_b.cpp, tc0180vcu.cpp: Cleanup:
- Moved TC0180VCU functionality from driver state class to device class and internalized graphics decoding.
- Deferred allocation of buffers to start time.
- Removed unused/redundant code.
- cam900 updated lastduel.cpp: Cleanup:
- Improved tag and variable naming, reduced code duplication, and reduced runtime tag map lookups.
- Added a palette decoder function for palette.
- cam900 updated seta001.cpp: Deferred allocation to start time and cleaned up code.
- cam900 updated srmp2.cpp, thedealr.cpp, seta.cpp, champbwl.cpp: Reduced runtime tag lookups and cleaned up code.
- cam900 updated taito_x.cpp: Cleanup:
- Split out common parts of memory maps, and separated kyustrkr machine configuration.
- Reduced runtime tag map lookups.
- cam900 updated atarigt.cpp, cage.cpp, metalmx.cpp: Minor cleanup and runtime tag map lookup reduction.
- cam900 updated nmk16.cpp: Updates and cleanup:
- Reduced code duplication, improved tags, modernized banking, and reduced runtime tag map lookups.
- Implemented sprite and palette size limits.
- Added bad dump flag to ROMs in tdragon3h set sourced from a different PCB.
- Improved save state support.
- cam900 updated unico.cpp: Cleanup:
- Improved member names and tags.
- Deferred video RAM allocation to start time.
- Reduced runtime tag map lookups and ACCESSING_BITS checks.
- Added palette decoder function.
- cam900 updated silkroad.cpp: Reduced redundant/unused code, and reduced ACCESSING_BITS checks.
- cam900 updated drgnmst.cpp: Reduced code duplication and added palette decoder function.
- cam900 updated namcoic.cpp: Simplified graphics decoding/manipulation and reduced code duplication.
- Also moved Namco NB-2 ROZ banking to namconb1.cpp driver.
- cam900 updated vgmplay.cpp: Fixed NMK112 bank table mask, and added support for Irem GA20, RF5C68, and RF5C164.
- cam900 updated c140.cpp, c45.cpp, namco_c139.cpp: Cleaned up code, removed MCFG_ macros, and added object finders.
- cam900 updated namcona1.cpp, tceptor2.cpp: Minor cleanup.
- cam900 updated namcos2.cpp: Split out common C116 configuration and removed MCFG_ macros.
- cam900 updated bbusters.cpp: Split out mechatt state class, reduced runtime tag map lookup, and simplified graphics decoding.
- cam900 updated m107.cpp: Added buffered sprite RAM device, and split machine configuration according to ROM size/banking.
- cam900 updated lynx.cpp: Modernized banking, reduced runtime tag map lookups, and cleaned up palette code.
- cam900 updated argus.cpp: Cleanup:
- Improved argus tilemap handling and added MACHINE_NO_COCKTAIL as scrolling is wrong when flipped.
- Moved butasan tilemap scanning into mapper function.
- Reduced code duplication.
- cam900 updated realbrk.cpp: Fixed sprite priority, reduced runtime tag map lookups, and added notes.
- cam900 updated sknsspr.cpp: Implemented bitmap clearing disable bit (used by galpani3).
- cam900 updated suprnova.cpp: Restricted bitmap drawing to clipping rectangle.
- cam900 updated galpani3.cpp: Implemented/fixed some effects and added notes.
- Fixes background color fading in intro, and girl display in stage start.
- cam900 updated kaneko_grap2.cpp: Added device_palette_interface for palette.
- David Haywood made many class members private and removed dead code exposed.
- Enik Land updated 315_5124.cpp: Updates and improvements:
- Renamed Game Gear VDP to 315-5377 to match the maintenance manual.
- Added a device to support behaviour specific to the 315-5313 in mode 4.
- Made 315-5377 (Game Gear) and 315-5212 (Mega Drive) derive from 315-5256 (SMS2) rather than 314-5124 (SMS1).
- Improved timing behaviour (verified with Flubba's VDP Test for 315-5313 in mode 4).
- Emulated sprite status register bits indicating first sprite that overflows.
- Implemented sprite zoom limit for 315-5124/315-5313.
- Fixed incorrect scrolling exhibited in Charles' scrolling test.
- Improved color of leftmost column in mode 4 when fine scroll is applied.
- Implemented display mode 1 (text) and mode 3 (multicolor).
- Justin Kerk fixed crash when running a DRC CPU core under Emscripten (github #2794).
- Frank Palazzolo updated cassette.cpp: Fixed handling of multi-channel reads.
- MoochMcGee updated the i386 core: Fixed two cppcheck warnings.
- Nigel Barnes added Acorn Bus slot devices.
- For Acorn Atom: AtomSID, Acorn Atom Disc Pack, Econet Board.
- For Acorn System: 32K Dynamic RAM Board, 8K Static RAM Board, Cassette Interface Board, Econet Board, Floppy Disc Controller Board, 40 Column VDU Board, 80x25 VDU Board, Versatile Interface Board.
- For CMS: CMS 40/80 Video Terminal Card, CMS Floppy Disc Controller, CMS High Resolution Colour Graphics Card.
- Nigel Barnes updated the a6809 driver: Renamed to acrnsys3_6809, and rewrote with card slot devices.
- Nigel Barnes updated the ef9365 device: Clear frame buffer memory on reset.
- Nigel Barnes updated the camplynx_cas softlist: Added support for multiple files (concatenated) in TAP file.
- O. Galibert updated emumem.cpp: Replaced with new, modernized back-end.
- OzFalcon updated williams.cpp, wmg.cpp: Removed hard-coded default service button assignments.
- Patrick Mackinlay updated interpro.cpp: Improved to the point where CLIX boots on the ip2000.
- Includes re-written IOGA interrupt and DMA handling, and fixes for CPU and MMU issues.
- Patrick Mackinlay updated the nscsi device: Added support for CD-ROM drives with 512-byte blocks (required for many UNIX workstations).
- Also added stubs for "prevent/allow medium removal", and improved hard disk "inquiry" command behaviour.
- R. Belmont provided apple2e updates:
- Added debugger guards to avoid accidentally banking out ROM.
- Fixed floating bus reads - synchronizes Talbot Fantasy Seven credits screen.
- R. Belmont re-wrote the apple2gs driver using address map bank device.
- R. Belmont updated the apple2gs driver: Fixed issues with Jam Session and ACS Demo Disk #2.
- R. Belmont updated the es5503 device: Fixed bad playback of synthLAB sampled-attack looped-sustain instruments.
- R. Belmont updated the mc146818 device: Added support for direct-access bus hook-up method used by MIPS DECstations.
- Robbbert provided trs80 work in progress:
- Split into separate sources.
- Fixed UI paste/natural keyboard.
- Added UART, RS-232, and Baud rate clock/BRG depending on hardware.
- Fixed UART status on sys80.
- Fixed cassette waveform.
- Tidied up and modernised code.
- Added monitor documentation.
- Robbbert updated the ht1080z driver: Added ay8910.
- Ryan Holtz updated the ps2sony driver: Fleshed out the skeleton driver.
- Added device to encapsulate PlayStation 2 timers.
- Temporarily hacked R5900 core to always have scratchpad RAM mapped at 0x70000000.
- Added reference counting to divtlb so it does not unmap pages that are still shared with other entries.
- Added skeleton GIF, VIF1 and GS devices.
- Ryan Holtz updated the mips3 core: Added basic Emotion Engine support.
- shattered updated the kr03 driver: Defined native keyboard layout (partially addresses MT05818).
- snickerbockers updated the PowerVR2 device: re-implemented color calculation.
- Stefan Bruns moved instantiation of device_finder for interface classes from implementation sources to interface sources.
- Avoids multiple explicit instantiations with the same template arguments.
- Vas Crabb updated the devcb system: Replaced with new, more flexible implementation.
- Converted a number of devices and drivers to use the newly supported less macro-dependent syntax.
- Vas Crabb provided layout system improvements:
- Allow screens to be referenced by tag in layouts.
- Allow an internal layout to be supplied per device rather than just per system, with relative screen and input tags.
- Improved view generation and selection for systems with two screens.
- Added support for user variables and repetition in layouts, and converted a number of layouts.
- Al Kossow updated the v550 driver: Added keyboard program ROM dump.
- Al Kossow added skeleton device for WD1007A ESDI hard disk controller.
- Leezer updated hiscore.dat: Updated for recent changes.
- Wayder updated the x68k_flop softlist: Updates:
- Organised and corrected entries, and replaced disk images with new dumps.
- Removed Ninin Battle (Alt) - it's a modified copy.
- Updated/corrected missing dumps, release years, and Japanese titles.
- xinyingho updated the ibm5170 softlist: Fixed typo in interface for Turbo Pascal 6.01 (German).