MAME 0.178

From MAMEDEV Wiki

Release Date

MAME 0.178 was released on 28 September 2016.


MAMETesters Bugs Fixed


Contributions

The known contributions for this version are, in the order specified in the whatsnew:


  • Carl moved UI dats to Lua plugin:
    • Makes the selgame UI sidebar get the dat information from a plugin rather than the hardcoded C++.
    • Much easier to add other dat files and allow for scripted data.
    • Example included that uses the hi2txt XML parser files to display high score info from hiscore file or NVRAM.
  • Nathan Woods fixed setting m_filetype for images loaded from softlists.
  • Nathan Woods changed the "extension as filetype" behavior for software list images to be opt in behavior.
  • Nathan Woods did some modernization/C++-ification:
    • Modernized option_guide, touched up imgtool.
    • Initial imgtool C++-ification.
    • Added a template wrapper for a contiguous array of objects that mimics a subset of SequenceContainer behaviour.
    • Modernized CoCo cartridge infrastructure (use 'enum class', scoping, etc.).
    • Changed win_get_window_text_utf8() to return std::string.
    • Consolidated menu code for text input.
  • Nathan Woods fixed an issue in the i860 disassembler that could cause an undefined string to be used.
  • Nathan Woods allowed devices to indicate whether image creation should be supported at the command line.
  • Nathan Woods fixed a potential buffer overrun in the code that reads headers for the CoCo JVC disk image format.
  • Nathan Woods provided a CoCo and Dragon FDC code overhaul:
    • Split CoCo and Dragon FDC code.
    • Added save state support.
    • Fixed regression introduced on the Dragon FDC from 0.154.
  • Nathan Woods fixed an off by one error when identifying best entries for typeahead on the file selection and software list dialogs.
  • Nathan Woods retired imgtool_basename(), in favor of core_filename_extract_base().
  • AJR updated the big10 driver: Various modest input/output improvements:
    • Use gambling inputs and keypad for numbers instead of BUTTON(n).
    • Added ticket dispenser for payout.
    • Added lamp output(?).
    • Try to puzzle out some more DIP switches based on what the code does.
  • AJR added more new features for UI graphics viewer:
    • Mouse over GFX tiles to reveal pixel values.
    • Mouse over tilemap to reveal tile codes and colors.
    • UI tilemap scrolling controls are now orientation-relative.
    • Made mouse visible everywhere in UI graphics viewer by treating it like a menu.
  • AJR updated the darkmist driver: Correct manufacturer info.
  • AJR updated the witch driver: Sort out which inputs and outputs are which:
    • Use standard gambling input types where appropriate.
    • Identified "Attendant Pay" (keyout?) and payout switches.
    • Removed fake DIP switches.
    • Names of real DIP switches no longer all-caps.
    • Expanded range of NVRAM.
    • Added two PPIs for I/O.
    • Partially implemented hopper output.
  • AJR updated cps1.cpp, mitchell.cpp: Restrict inputs for some games:
    • ghouls, pang, spang, pang3: Change joysticks to 4-way as flyers and manuals indicate.
    • pang, spang: Mark button 2 as optional (for what little that's worth).
    • pang3: Remove buttons 2 and 3 (even service mode only shows one "Shot" button).
  • AJR made Mega System 1 tilemaps into a device.
  • AJR updated amusco cpp: Start fleshing out the driver:
    • Changed CPU type to 8088.
    • Hooked up a bunch of devices.
    • Identifed a few inputs.
  • Michael Zapf provided ti99 improvements:
    • Fixed debugger access in ti_fdc.
    • State save capability - not yet fully stable, but basically working.
    • Improve performance by stopping GROM clock in idle state.
    • Switch to ram_devices for RAM.
  • Michael Zapf added save state support to tms99xx; replaced new/delete by unique_ptr.
  • Risugami added layout for California Speed Surprise: same output system as the Midway V Unit.
  • Risugami added layout/LEDs to Hyperdrive.
  • Risugami fixed Midway V Unit wheel output. Seems the diagnostics test for the wheel is poorly coded for turning left as it is correct in-game.
  • fulivi added a filter for Hp9845 data files added to imgtool. Translates record-based DATA HP9845 to and from text files.
  • fulivi made imgtool support HP9845B tape image. The "hti" format is used to simulate tape cartridges in hp9845b.
  • fulivi updated the hp_hybrid core: added hp_hybrid & hp_5061_3001 to unidasm.
  • Joakim Larsson Edstrom added a new driver for Esselte 100, has built in BASIC, supports cassette save/load and capable of 256x256 monochrome semigraphics.
  • Joakim Larsson Edstrom updated the Esselte 100 driver: Serial support. It still has some issues as it is a polled PIA based bitbanging serial support and there are timing issues.
  • Joakim Larsson Edstrom added interrupt support in DUSCC device, Force CPU30 board driver and interrupt controller support in the FGA002 device. Improved LOG messages in the 68230 device. Now able to boot VMEPROM with interrupt driven serial I/O.
  • Joakim Larsson Edstrom updated the didact driver: simplified internal layouts removing dependencies on external artwork. Not fancy but it works.
  • Joakim Larsson Edstrom updated the didact driver: Cleaned up driver and added serial support (though it has issues still).
  • einstein95 added <?xml version="1.0"?> to layout files missing them; fixed minor grammar in layout README.
  • einstein95 added clickable buttons for 3bagflnz and 3bagflvt, more grammar fixes for layout README.
  • John Parker added 146 MPU5 layouts: m5addams, m5all41d, m5arab, m5austin11, m5barkng, m5barmy, m5baxe04, m5bbro, m5bbrocl, m5beansa, m5bigchs, m5biggam, m5bling, m5blkwht11, m5bnzclb, m5btlbnk, m5bttf, m5bwaves, m5carou, m5cashat, m5cashrn, m5cbw, m5centcl, m5circlb33, m5circus0a, m5clifhn, m5clown11, m5codft, m5cosclb, m5crzkni, m5cshkcb, m5cshstx, m5dblqtsb, m5devil, m5dick10, m5doshpk05, m5egr, m5elband, m5elim, m5evgrhr, m5ewn, m5extrm, m5fiddle, m5fire, m5firebl, m5flipcr, m5fortby, m5frnzy, m5funsun, m5gdrag, m5ggems20, m5gimmie, m5grush, m5grush5, m5gsstrk07, m5gstrik, m5hellrz, m5hgl14, m5hiclau, m5hifly, m5hilok, m5hisprt, m5hlsumo, m5holy, m5hopidl, m5hotslt, m5hotstf, m5hypvip, m5jackbx, m5jackp2, m5jackpt, m5jlyjwl, m5jmpgem01, m5kingqc06, m5kkebab, m5korma, m5loony, m5loot, m5lotta, m5martns07, m5mega, m5mmak06, m5monmst, m5mpfc, m5mprio, m5neptun, m5nnww, m5oohaah, m5oohrio, m5openbx05, m5overld, m5peepsh, m5piefac, m5piefcr, m5ppussy, m5psyccl01, m5psycho, m5ptyani, m5qdrawb, m5qshot04, m5ratpka, m5razdz10, m5redbal, m5redrcka, m5resfrg, m5revo13, m5rfymc, m5rgclb12, m5rhrgt02, m5ritj, m5rollup, m5rollx, m5rthh, m5rub, m5rwb, m5scharg, m5seven, m5shark, m5sheik, m5skulcl20, m5sondra, m5speccl, m5spiker, m5spins, m5squids06, m5sstrk, m5starcl, m5stars26, m5stax, m5supnov, m5supro, m5tbird, m5tempcl, m5tempp, m5tempt2, m5tictacbwb, m5trail, m5ultimo04, m5upover, m5vampup, m5vertgo, m5wking05, m5wonga, m5wthing20, m5xchn, m5xfact11.
  • John Parker added 6 ACESYS1 layouts: ac1clbmn, ac1gogld, ac1pster, ac1pstrt, ac1primt, ac1taklv.
  • John Parker added 12 SYSTEM80 layouts: j80bac, j80bounc, j80frogh, j80golds, j80hotln, j80myspn, j80nudg2, j80rr j80supst j80supbk j80topsp, j80wsprt2.
  • John Parker update fruit machines layouts with fixes/improvements:
    • Now correctly uses a coloured rect rather than PNG reference.
    • More compact terminators for innermost tags.
    • Removed redundant elements.
    • Added the new "MFME2MAME Debug" view.
    • j2: Changed to 16 segment display.
  • MetalliC updated the vector06 driver: add software list and TODOs.
  • Brad Hughes partially fixed SDL joysticks with same name. Fixes GitHub issue #1334.
  • Curt Coder updated the pc1512 driver: Fixed keyboard reset behavior.
  • Nigel Barnes updated the electron driver: Added Acorn Plus 3 expansion as slot device (floppy support):
    • now uses RAM device instead of ROM_REGION.
    • added CSW cassette format.
    • pressing BREAK will now hold until released.
    • reset expansion devices on BREAK.
    • minor progress on M2501 device.
  • Nigel Barnes added header checks to identify in uef_cas and csw_cas formats.
  • Nigel Barnes updated the bbc driver: Added Opus Challenger (floppy and ramdisc) device on 1mhz bus:
    • moved joystick to analogue port slot device.
    • added Voltmace self-centering joysticks.
    • updated to use input merger device.
    • keyboard and joystick use ioport_array.
    • reset devices on BREAK.
  • Nigel Barnes updated the bbcb driver: Moved FDC to slot device to support various controller boards:
    • Acorn 8271 and 1770, supporting Acorn, Amcom, Watford DFS's.
    • Cumana QFS (8877a).
    • Opus DDOS and EDOS (1770, 2793, 2791).
    • Watford DDFS (1770 and 1772).
    • Removed fake bbcb1770 machine.
  • Nigel Barnes updated the bbcm driver: Replaced cassette LED with power LED in layout.
  • Nigel Barnes updated the bbcmc driver: Added joyport slot device to Master Compact, defaulting to joystick.
  • Lord Nightmare and Elgen updated the superqix driver: Various changes:
    • Added notes about the sqixb1 MCU code origin, and caveats.
    • Marked the sqixb1 MCU dump good for that specific set.
  • Lord Nightmare and Stefan Lindberg updated the superqix driver: Various changes:
    • Implemented AY-3-8910 mixing based on PCB tracing.
    • Added notes about incorrect "SYSTEM" register bits.
    • Added notes about superqix versions, and PCB factory hacks/fixes for coin lockout.
  • Lord Nightmare and ShouTime updated the superqix driver: Added notes about lack of Taito game ID and PCB label for pbillian; fixed ROM labels and locations.
  • Lord Nightmare updated the superqix driver: Various changes:
    • Improved driver notes for all sets.
    • Added some debugger access fences on read handlers.
    • Got rid of various timer hacks for Z80<->MCU communication, implemented MCU DDR registers, documented the hotsmash MCU code functionality, made the AY port bits readback consistent, and unified the machine configuration/memory map for both hotsmash and pbillian.
    • Implemented proper readback of Z80<->MCU semaphores for all sets.
    • Removed HOLD_LINE hack for NMI by implementing acknowledge register.
    • Changed sample playback engine sample rate from 5KHz to 3.96KHz (which can be derived from the 12MHz master clock).
    • Renamed sqixr1, sqix, and sqixb1 set long names to include versions.
    • Replaced bootleg MCU code on sqix and sqixr1 sets with a dump created from the sqixu MCU, based on the bootleg MCU code.
    • Cleaned up MCU semaphore implementation for sqix and clones, shuffled the superqix machine configurations to make more sense.
  • Lord Nightmare and techfury90 updated the atarist driver: Added correct ROM labels for the TOS 1.02 and 1.04 ROMs for the MegaST.
  • Leezer provided various updates to hiscore.dat.
  • Barry Rodewald updated the fmtowns driver: Switched off layer debug keys by default.
  • Sandro Ronco updated the chessmst driver: Fixed HALT button.
  • Curt Coder provided various improvements to the pc1512 driver:
    • Added joystick port to the keyboard.
    • Added mouse port slot interface.
    • Added a software list for hard disks, and a preinstalled HD20 image to it.
  • Guru updated the nss driver: Revised and corrected hardware info.
  • Barry Rodewald updated the fmtowns driver: Reduced logerror spam a bit.
  • O. Galibert provided dirom banking fixes:
    • Reject out-of-bounds bank numbers.
    • Add a mandatory callback on bank change.
  • O. Galibert updated the okim6295 driver: Directly use set_rom_bank.
  • O. Galibert updated the dimemory and dirom interfaces: Added some documentation.
  • Giuseppe Gorgoglione updated the gba_lcd device: Added missing check for BG2 enable flag in draw_roz_bitmap_scanline().
  • John Rieman updated the gb driver: Fixed Mega Duck envelope and LFSR sound registers:
    • Determined that envelope/LFSR register nibbles are reversed relative to Game Boy by comparing writes made by Mega Duck and Game Boy versions of Snake Roy and Pile Wonder.
  • Barry Rodewald updated the octopus driver: Various changes:
    • Corrected CPU speeds, added Z80, added basic video output.
    • Added some more components, pass a few more tests.
    • Added more components, hooked up DIP switches; all systems tests now pass.
    • Fixed floppy use, now attempts to boot from floppy; CP/M 86-80 Plus and MS-DOS both now load to the command prompt.
    • Added keyboard.
    • Added PIT timer and speaker sound.
    • Made a start at switching between the 8088 and Z80 CPUs.
    • Fixed mapping of graphics PROM, now detected on boot.
    • Hooked up RTC to the PPI (hopefully more or less correctly).
  • hap updated the fidel6502 driver: Hooked up EAS speech chip. Game still not playable.
  • Enik Land updated the sms driver: Added more accurate FM Sound Unit behavior.
  • Mick updated the photon2 driver: Updated documentation based on schematics research.
  • tabbycat12 fixed GitHub issue #1364 (Straighten tilted crt-geom and crt-geom-deluxe shaders).
  • Luca Elia updated the intelfsh device: Added 16-bit hookup for the Sharp LH28F016S flash memory.
  • Peter Ferrie updated the apple2e driver: Made write-only soft-switches write-only.
  • Angelo Salese updated the combatsc driver: Fixed text tilemap char select enable and opacity in Combat School.
  • Tomer Verona added support for binding devices to controller IDs: This allows for stable controller ids even if USB devices are plugged or unplugged, system is rebooted, etc.
  • Tomer Verona added id() property to input_device:
    • Adds an id() property representing unique device ID.
    • This allows the OSD layer to supply display name along with unique identifier.
    • Currently only used to map a physical controller device to controller ID, but can be used more generally in the future.
    • For raw input devices, device ID is full raw input name.
    • For all other devices, we fall back to device name as the device ID.
    • Device ID uniqueness is not currently enforced programmatically.
  • Brad Hughes provided various OSD changes:
    • Converted OSD monitor info to modules, added DXGI implementation.
    • Converted the monitor information code from video.cpp in SDL and Windows to modules.
  • Angelo Salese updated the tecmo driver: Added preliminary raster effects, improves ending screen in Gemini Wing.
  • Angelo Salese updated the rollrace driver: Various changes:
    • Converted foreground to tilemap system and fixed flip flags, fixing service mode in rollace2 set.
    • Fixed a wrap-around regression.
  • Ryan Holtz updated the cmi2x driver: Various changes:
    • Fixed FDC DMA behavior.
    • Fixed channel card memory tests.
    • Fixed inverted data writes to I8214 PICUs.
    • Fixed 6809 interrupt vectoring.
  • Lord Nightmare and Joe Zbiciak updated the ay8910 device: Implemented register readback masking for AY-3-8914 as used on Intellivision.
  • O. Galibert updated the 6840ptm device: Load the counter when held in reset.
  • Carl updated the mcd device: Added incomplete Mitsumi ISA CDROM emulation.
  • Andreas Naive updated the namcos10 driver: Added on-the-fly decryption support for mrdrilr2.
  • Angelo Salese updated the freekick driver: Added flipscreen support to Gigas, Free Kick and Counter Run.
  • Brad Hughes fixed compile for DirectWrite font provider and made it compile with normal Windows build.
  • Angelo Salese updated the ssriders driver: Fixed protection chip to use the work RAM buffer for horizontal scrolling in collision detection routine (fixes collision detection for players/enemies on slopes).
  • Samuele Zannoli updated the xbox driver: Added ability to select BIOSes 4134, 3944, 4034, and 4817.
  • Samuele Zannoli updated the chihiro driver: Added debugger command "chihiro threadlist" to list ready threads except current one.
  • Angelo Salese and Lord Nightmare updated the taitosj driver: Added semaphore and command handshake flags to audio section, and added proper handling of sound CPU NMI on sound command register/ semaphore writes and clears.
  • Angelo Salese and Lord Nightmare updated the taitosj driver: Added "sound stop" bit emulation, which improves but does not completely fix the spurious startup sound in Time Tunnel.
  • Lord Nightmare updated the taitosj driver: Various changes:
    • Added XTALs for various clocks based on schematics, documented and implemented AY-3-8910 output mixing.
    • Fixed some save state and initialization issues.
    • Fixed watchdog timing per schematics and re-enabled watchdog.
    • Cleaned up ROM labels/locations for the Elevator Action sets.
  • smf and Guru updated the zn driver: Renamed ZN1/ZN2 BIOS ROMs based on the label (where known), renamed the bios sets after the board, moved cat702 to files.
  • Lord Nightmare updated the dec_lk201 driver: Various changes:
    • Additional key matrix documentation.
    • Documented the switch IDs for each key.
    • Fixed Setup(F3)->F3 and PF1->NumLock mapping.
    • Added 8051 version ROM, not used yet.
    • Added note about D13 contact being omitted from original schematic.
  • smf updated debugcmd: Various changes:
    • Fixed trace command accessing a parameter beyond the list supplied.
    • Added an error message if an invalid boolean is provided.
    • Added functionality to allow boolean to be case-insensitive.
    • Added code to skip empty strings when parsing booleans.
  • Angelo Salese updated the saturn driver: Initial work towards debug command hookups.
  • Angelo Salese updated the asterix driver: Added coin counter and lockout.
  • Tafoid updated the sauro driver: Various changes:
    • Fixed up recent saurob submission.
    • Added documentation readme with locations from original dump.
    • Removed SP0256 entry as it did not exist on the bootleg.
    • Added unknown PROM unique to the bootleg.
  • Tafoid allowed STRIP_SYMBOLS=1 and DEBUG=1 to be applied simultaneously.
  • Lord Nightmare updated the vt100 driver: Added VT100-AC ROM set with intelligent STP board (not working, needs one ROM redumped and 8085 STP CPU hooked up).
  • Angelo Salese updated the wc90b driver: Fixed sprite priority bug with the ball being above the net in Euro League / Tecmo World Cup '90 bootlegs.
  • Angelo Salese updated the wc90b driver: Added IRQ acknowledge and second YM2203 sound chip to Euro League, which adds piano keys to sound.
  • system11 updated the jangou driver: Fixed more Mahjong dips as per manuals.
  • Carl updated the vis driver: Added sound.
  • Lord Nightmare updated the mac driver: Replaced bad dump in macplus v2 ROM set with redump, and use split ROMs for macplus, mac512ke, mac128k and mac512k, macclasc, macclas2 sets, with proper labels.
  • Guru updated the igs009 driver: Redumped graphics ROM for Grand Prix '98 (V100K).
  • system11 updated the stv driver: Removed optional joystick control inputs from Virtual Mahjong since this game only supports Mahjong panel but was defaulting to Joystick.
  • dankan1890 provided a partial fix for MT06383: exporting is now also possible for the favorites list, except if it has software in it.
  • Felipe Sanches updated the forte2 driver: Updated comments on Forte 2 Pesadelo/Knightmare bootleg.
  • MASH updated the galaxian driver: Fixed ROMs in Moon Alien Part 2 (older version).
  • MASH updated the galaga driver: Fixed palette in Battles (set 1).
  • MASH changed use of IPT_START to IPT_START1 in bartop52, guab, midyunit, namcos22, sshot and turrett.
  • Hans Ostermeyer updated the apollo driver: eliminate logerror spam on unmapped ISA access.
  • Aeternal updated psx.xml: removed duplicates, fixed shortname consistency. Some images were identical but dumped with different offset.


Machine Support

New machines added or promoted from NOT_WORKING status


New clones added or promoted from NOT_WORKING status


New machines marked as MACHINE_NOT_WORKING


New clones marked as MACHINE_NOT_WORKING


Notable new WORKING software list additions


Notable new not WORKING software list additions