MAMEWorld Central >> News
Previous thread Previous  View all threads Index   Next thread Next   Flat Mode Flat  

Reged: 09/26/03
Posts: 1600
Loc: Germany
Send PM
MAMEinfo 0.189 :)
08/30/17 12:06 PM


* Updated to MAME 0.189 -

* Added Source/Listinfo changes

* Newest Bugs (30th Aug)

* Added Kawaks v1.65 and other Emulator infos

* Added/Reorganized 'Recommended Games'

* Fixed Mameinfo.dat infos

Download at:

MAME Testers at:


- New games: Kick Ball, Poosho Poosho, Tekken Battle Scratch and 'unknown 'Space Invaders' gambling game'
- New Working games: Football Power, Forty-Love (Japan), International Toote II (v1.24, P387.V01), Night Gal Summer, TH Strikes Back and Virtua Bowling (Hong Kong, V101HJS)
- New Non-Working games: Konnano Hajimete! (Japan), Magic Reels, Nurete Mitaino... - Net Idol Hen (Japan), Sengoku Mahjong Kurenai Otome-tai (Japan), Sexy Gal Tropical [BET] (Japan 850805 SXG T-02), Super Game (Sega Master System Multi-game bootleg) (alt games)
- New clones: 1943: Midway Kaisen (Japan), Alligator Hunt (unprotected, set 2), B.Rap Boys Special (World), Carrier Air Wing (USA 901130), Cool Minigame Collection (Italy), Crash Road (bootleg of Space Chaser), Crazy Climber (US set 2), Crime Fighters 2 (Japan, 4 Players, ver. N), Daiku no Gensan (Japan, M82), Derby Owners Club World Edition (Rev B), Dirt Devils (Japan, Revision A), DoDonPachi III (World, 2002.05.15 Master Ver), Donkey Kong Jr. (bootleg on Moon Cresta hardware, set 2), Mega Zone (program code L), Ordyne (World), Popeye (Japan, Sky Skipper hardware, Older), Port Man (Japan), Print Club (World), Street Fighter (World) (protected), Street Fighter II: The World Warrior (Quicken, bootleg), Super Athena (bootleg), Super Chase - Criminal Termination (1992/01/18 18:29:18 CHASE 3 VER 1.3O, prototype), Trigger Heart Exelica (Japan) (GDL-0036), Vamf x1/2 (Europe, version 1.0.0903), Virtua Fighter 4 Evolution (Version B) (Japan) (GDS-0024C) and WWF Superstars (US revision 6)
- New AGEMAME games: Honey Pot (03J00241, NSW/ACT), Koala Mint (CHG1573, US) and Venice (02J02056, Venezuela)
- New PinMAME games: Goldeneye (4.02) and Star Wars (1.06, Display S1.05)
- Removed games: Koala Mint (CHG1573, US, set 2)
- New drivers: magreel.cpp
- New devices: cd4099, f9334, hc259, hct259, ipt_merge_all_hi, ipt_merge_all_lo, ipt_merge_any_hi, ipt_merge_any_lo, ls259, mb8421_mb8431_16, taitoio_yoke and tmpz84c015
- HD44801 CPU: Workaround related to MT #06638 (Exception when using -debug); this disables a poorly implemented disassembly feature to prevent assertion failures and crashes when debugging drivers using HD44801 CPU (champbas.cpp, equites.cpp and shougi.cpp). Get rid of next_pc tables (cpu\hmcs40\hmcs40d.cpp)
- I386 CPU: Created explicit i386dasm include for x86 DRC
- I8086 CPU: Added support for IF status and segreg address spaces
- M6502 CPU: Corrected cycle counts for undocumented $BF instruction (om6502.lst). Note: Passes now the Lorenz testsuite-2.15's cputiming.prg and does not break laxay.prg. Ref: NMOS 6510 Unintended Opcodes no more secrets (v0.91 - 24/12/16) page 14 ($BF) cycles = 3 to read and 4+1 if page boundary.
- MC68340 CPU: Added implementations for VCO clock synthesizer and Timer module Counters, IRQs and one operational mode.
- V25 CPU: Make IDB register state visible to debugger
- Irem M72 Audio: ACCESSING_BITS cleanup (m72_audio_device; m72.cpp, m90.cpp, shisen.cpp and vigilant.cpp)
- MSM5205 and MSM6585 sound: Delay data capture timing (should help with synchronization later)
- Seibu Sound System: Use 8-bit handlers for main CPU accesses (audio\seibu.cpp)
- Sound Interface
. Soundlatch modernization in amspdwy.cpp, brkthru.cpp, btime.cpp, buggychl.cpp, dassault.cpp, dec0.cpp, flstory.cpp, gaelco.cpp, lsasquad.cpp, m107.cpp, madalien.cpp, nycaptor.cpp, progolf.cpp, rpunch.cpp, shangha3.cpp, sidepckt.cpp, splash.cpp, tagteam.cpp, tbowl.cpp, toaplan2.cpp and tubep.cpp
. Synchronize machine\gen_latch.cpp at start to ensure broadcast of initial "not written" state. This fixes sound in Onna Sanshirou and makes the N.Y. Captor hack unnecessary.
- Yamaha YMW-258-F sound: Confirmed Sega/Yamaha 315-5560 MultiPCM as Yamaha YMW-258-F
- YM2151 sound: Emulate reset line
- 8259 PIC: Removed hack used by M92 driver (HACK_get_base_vector(); machine\pic8259.h)
- CD-ROM: Added cdrom_get_chd (Get a handle to a CHD from a cdrom; util\cdrom.cpp)
- HuC6260 video: Fixed B&W mode in (MESS) PC Engine 'Son Son II' causes total palette corruption (ID 06641)
- Imgtool
. Changed a pointer to a reference and fixed a std::string(nullptr) bug (imgtool\imgtool.cpp)
. Proper cleanup of floppy object after create/open failure (imgtool\iflopimg.cpp)
. Merged normalize_filename() into cannonicalize_path() and C++-ification
. Eliminated Imgtool-specific rand() function. Changed another charconverter access.
. C++-ification of imgtool_forkent structure
. Made the logic for B&W icon able to handled non-masked set pixels for (MESS) Classic MacOS images (imgtool\modules\mac.cpp)
. Fixed features.supports_geticoninfo. Fixed the "GET" command (imgtool\imgtool.cpp)
- Irem Custom: VCK modernization and removed unnecessary subdevice resets (audio\irem.cpp and sound\msm5205.cpp; m52.cpp, m57.cpp, m58.cpp, m62.cpp and travrusa.cpp)
- MOS6526 CIA: Show state of registers that can be read without side effects in debugger
. New 74LS259/9334/CD4099 devices
. These humble 16-pin logic devices were commonly used in 8-bit arcade games to control coin counters/lockouts, IRQ flipflops, graphics banking, slave CPU reset lines, discrete audio triggers, screen flipping, serial EEPROMs and much else. Over 100 drivers and a few bus devices have been updated to use the new implementation, and a great deal of research has gone into documenting the physical location of these devices on actual PCBs in the source. Write handlers have been provided for both orthodox and somewhat less conventional memory mappings.
. Added coin counters and/or lockouts to Atari System 1 games, Basketball, Gauntlet, Gyruss, Hana Yayoi, Hole Land, Jr. Pac-Man, Mahjong Sisters, Pooyan, Roc'n Rope, Squash, Thunder Hoop, Time Limit, Time Pilot '84 and many others. This also cleans up coin counter behavior in Sauro and Rally Bike.
. Note: The purpose of committing this change, which has been several months in the making, early in the 0.189GIT cycle will be to allow time for fixing potential regressions; I've fixed a number of drivers that lost sound from this for various reasons (hnayayoi.cpp having missing or garbage ADPCM was particularly painful, since the three games in that driver all work slightly differently), but I can't test all affected drivers exhaustively. @Tafoid, don't bother running automated screen capture comparison tests on this, as many drivers are now expected to have the screen flipped for the first few seconds after reset.
. Make 74LS259 configuration member const, avoid Object and object distinguished only by case in one line, use MAME_ prefix on all include guards to make it easier to deal with them in -dM (dump preprocessor macros) output.
. Added write_d1 handler
. Added 74LS259 device to ambush.cpp, asteroid.cpp, atarisy1.cpp, bagman.cpp, cclimber.cpp, centiped.cpp, champbas.cpp, changela.cpp, cinemat.cpp, circusc.cpp, cloak.cpp, cloud9.cpp, clshroad.cpp, cortex.cpp, crgolf.cpp, ddenlovr.cpp, dynax.cpp, equites.cpp, fastfred.cpp, firefox.cpp, freekick.cpp, funkybee.cpp, gaelco.cpp, gaelco2.cpp, gaelco3d.cpp, galaga.cpp, gauntlet.cpp, gladiatr.cpp, glass.cpp, gng.cpp, gomoku.cpp, gridlee.cpp, gyruss.cpp, harddriv.cpp, hnayayoi.cpp, holeland.cpp, hyperspt.cpp, jedi.cpp, joctronic.cpp, jp.cpp, jpms80.cpp, jrpacman.cpp, junofrst.cpp, kchamp.cpp, kyugo.cpp, ladybug.cpp, liberatr.cpp, looping.cpp, m63.cpp, mappy.cpp, marineb.cpp, mario.cpp, mastboy.cpp, megazone.cpp, mermaid.cpp, mikie.cpp, mirax.cpp, mjsister.cpp, mouser.cpp, nemesis.cpp, pacman.cpp, pandoras.cpp, pengo.cpp, playch10.cpp, polepos.cpp, pooyan.cpp, punchout.cpp, rallyx.cpp, retofinv.cpp, rocnrope.cpp, rollrace.cpp, sauro.cpp, sbasketb.cpp, shangkid.cpp, shougi.cpp, skyarmy.cpp, slapfght.cpp, sonson.cpp, spcforce.cpp, splash.cpp, stactics.cpp, targeth.cpp, thepit.cpp, thoop2.cpp, timelimt.cpp, timeplt.cpp, toaplan1.cpp, tomcat.cpp, tp84.cpp, trackfld.cpp, tsamurai.cpp, tubep.cpp, turbo.cpp, tutankhm.cpp, vastar.cpp, warpwarp.cpp, wiping.cpp, wrally.cpp, xorworld.cpp, zaccaria.cpp and zaxxon.cpp
. Added 74HC259 device to de_3.cpp (video\decodmd1.cpp) and neogeo.cpp
. Added F9334 device to avalnche.cpp, bsktball.cpp, canyon.cpp, copsnrob.cpp, destroyr.cpp, dragrace.cpp, flyball.cpp, orbit.cpp, sbrkout.cpp, skydiver.cpp, sprint2.cpp, sprint4.cpp, sprint8.cpp, starshp1.cpp, starwars.cpp, subs.cpp, triplhnt.cpp and ultratnk.cpp
. Added CD4099 device to tankbatt.cpp
. Driver and audio cleanups for asteroid.cpp, avalnche.cpp, copsnrob.cpp and playch10.cpp
. dynax.cpp: Fixed blitter IRQ acknowledgment in most games. Use bankdev for gekisha and tenkai.
. jp.cpp: Added ADPCM sound system used by some game
. mappy.cpp: Clean up I/O handlers. Don't pulse the reset line when it's already being asserted. This allows Mappy and Pac & Pal to boot again (machine\namcoio.cpp).
. mario.cpp: Added coin counters
. spcforce.cpp: Added coin counters, start lamps and addressable latch device.
. starwars.cpp: Put 'esb' bank2 in memory map so DEVCB can find it
. tankbatt.cpp: Improved handling of sample triggers (fire sound is no longer doubled)
- uPD4701 counter: Added read-triggered X reset & Y reset routines to device
- V-System C7-01 GGA: Document some pins and clocks
- Voodoo GFX: Updated comments for PCI config registers (video\voodoo_pci.cpp)
- aerofgt.cpp, f1gp.cpp, pipedrm.cpp, rpunch.cpp, tail2nos.cpp and welltris.cpp: Clock all Video System GGAs
- aristmk5.cpp
. Driver update. Fixes some sets.
. Redumped Koala Mint
- atlantis.cpp: Use standard way of handling keypad inputs
- bublbobl.cpp and missb2.cpp
. Reimplemented sound cpu semaphores and sound NMI according to schematics.
. Implemented sound semaphores into Tokio / Scramble Formation as well, fixing SOUND ERROR in test mode. Added notes about sound cpu addressing.
. Reimplemented /SRESET as a separate function called on sound cpu reset according to schematics.
. Added correct watchdog to Bubble Bobble and Tokio and disabled it on clone Bubble Bobble (prototype on Tokio hardware).
. Added proper 'wired-or' sound cpu IRQs to Bubble Bobble. Renamed 'slave' cpu to 'subcpu' to match schematics.
. Added NMI back to Miss Bubble II. Fixed some potential reset issues and made 'soundnmi' a required device.
- bwing.cpp: PSG and DAC correction
- csplayh5.cpp: Added dipswitches
- dec8.cpp: Sound IRQ timing from schematics; eliminate timer_set.
- deco32.cpp
. Rewritten interrupt handling. Input repetition removal and labels.
. Locked 'n Loaded: Improved X axis gun input. Added raw_params and fixed second OKI frequency, matching other games in the driver. Improved lightgun support. Note: It's now possible to actually play the game to some extent assuming you recalibrate the guns by holding both service buttons. Game randomly crashes tho so not yet markable as working.
- decocass.cpp
. Major improvements to colors and graphics layer priorities
. Implement the PRI2 pen modification effect. This makes the tunnels and headlight in Highway Chase look much more accurate, and makes some color changes work in Astro Fantasia.
. Shadow color in Skater is now properly black (not a pen modification effect)
. Correct background fill color, making high score screen in Super Doubles Tennis properly blue.
- dynax.cpp
. Reduced log spam in Mahjong Gekisha. Added alternate flyer title note: Mahjoung Exposé.
. Changed CPU type to TMPZ84C015 in mjelctrn, mjembase, majxtal7 and neruton and improved interrupt handling
. Use address map bank device for most games in this driver. Many of these games will now successfully retrieve the local time at the start through an RTC device previously treated as read-only.
. Added blitter IRQ ack to Mahjong Tenkaigen; doesn't fix interrupt problems.
- flstory.cpp
. Fixed CPU communication issue that sometimes caused sound to disappear entirely
. Eliminated NMI trampolines
- fromance.cpp: Use gen_latch and added GGA clocks
- gaelco2.cpp
. Added some workarounds to Play 2000 so that it actually boots. Fixed gfx rom loading.
. Bang! supposed to have not PORT_IMPULSE
- gaelco3d.cpp
. Increased TMS ROM region, makes Football Power players models visible.
. Added analog inputs. Better Football Power ball mechanic simulation (Game now playable).
- gaiden.cpp: Acknowledge main IRQ
- galaxia.cpp: Restored original refresh rates to Galaxia/Astro Wars, fixes wrong sound for time being. Speed issues still need to be figured out, perhaps something relating to S2650 interrupts?.
- galpanic.cpp and kaneko16.cpp: Disentangle dependencies
- igs011.cpp
. Decrypted clone Virtua Bowling (Hong Kong, V101HJS) and added its own bitswaps for IGS003 and IGS011
. Found dipswitches to perform a protection test in Virtua Bowling. Changed IGS012 mode toggling to pass the test.
. Changed IGS003 command 48 in Long Hu Bang II and Virtua Bowling to potentially work in more cases (based on Long Hu Bang II tables)
- jangou.cpp and nightgal.cpp
. Rewritten blitter setters (video\jangou_blitter.cpp)
. Fixed Night Gal Summer GFX ROM out of bounds accesses. Fixed rom loading. Added preliminary protection emulation (Game now playable).
. Fixed gfxs for Sexy Gal and clone Sweet Gal. Added audio CPU (NSC8105) to Sexy Gal. For clone Sweet Gal this definitely doesn't exist (PCB photo).
- kaneko16.cpp
. Further organizational cleanups
. Removed shadowing RAM with ROM in sound CPU.
- m107.cpp: Removed IRQ hacks
- midvunit.cpp: Better documentation for Midway V-Unit wheel board. Added part numbers.
- mlanding.cpp and taitoair.cpp
. Wrote a new device for Taito yoke-based inputs (found in Midnight Landing and Top Landing).
. Added screen raw parameters to Taito Air System, fixes pilot acknowledge sound sample timing. Mark missing Mecha rom as undumped.
. Added coin counters and Yoke device to Midnight Landing, fixed throttle counter (it's 12 bits).
- naomi.cpp: Atomiswave security notes (machine\awboard.cpp)
- royalmah.cpp
. Changed CPU type to TMPZ84C015 in Janputer '96 and Janputer Special (Japan). Changed drive interrupts through internal CTC.
. Completed dipswitches for Mahjong If (ID 05608)
. HOLD_LINE cleanup
- seattle.cpp
. Buffer multiple writes for PCI stall (machine\gt64xxx.cpp). Fixes triangles flicker in California Speed (ID 06636).
. Set proper NFL Blitz '99 dipsettings
. Added gearshift to California Speed (ID 00975)
. Fixed Hyperdrive brake button doesn't function in calibration (ID 00470)
- seibuspi.cpp: Provide full chip name and standard oscillator frequency (machine\ds2404.cpp)
- shangkid.cpp:
. Redo interrupt handling based on Chinese Hero schematics. This fixed sounds get really screwy in the later levels of Shanghai Kid (ID 01005).
. Added coin counters
- spinb.cpp: Correct ADPCM type for jolypark and vrnwrld
- supbtime.cpp: IRQ modernization
- toaplan2.cpp
. Added HD647180X MCU dumps to Ghox and Pipi & Bibis / Whoopee!! (Teki Paki hardware), allowing for sound emulation in both of them. This also fixes the high score table background in Ghox, which was also MCU related (ID 04024).
. Corrected the decryption of some V25 opcodes used in the EEPROM service routine. Removed the ugly FixEight EEPROM routine that hardcoded a region for each set. Added and document a secret input that rewrites the EEPROM for any region.
- vegas.cpp
. Re-added blitz00_nov30_1999.u27 rom. Mark as BAD_DUMP and added patch to fix.
. Correct DIPs for Gauntlet Dark Legacy and Road Burners
. Added 16550 UART subdevice (machine\vrc5074.cpp). This fixed Gauntlet Legends randomly freezes (ID 01991).
- zaccaria.cpp: Improved documentation. Note: The protection device at 1A on the ROM board (1B11147) is unidentified on the schematics but appears to be a PAL16L8 or PAL16R4. It sits on bits 4-7 of the data bus, and is read from locations where only bits 0-3 are connected to regular devices (6400-6407 has 4-bit RAM, while 6c00-6c07 has a 4-bit input port).
- Beraboh Man: Fixed joystick dropping inputs bug for crouching/running actions
- Buggy Challenge: Corrected clocks and added sound semaphores. Replaced AY-3-8910A sound with YM2149.
- Chanbara: Identified sprite flip X bit (player sword thrusts)
- Change Lanes: Changed default DIP setting to keep coin counters separate. Workaround for mistaken activation of test switch due to LS259 changes.
- Combat School
. Fixed wrong priority in the drill instructor screen (ID 06259)
. Improved interrupt handling in clone Combat School (bootleg)
- Deco Cassette System Multigame
. Replaced gross hack for banking "dongle" with something likelier
. Fixed Treasure Island sprites and removed stray Unicode character
- Desert Gun: Replaced bad rom in clone Road Runner (Midway) and added notes
- Dragonball Z: Fixed 'Language' and 'Demo Sounds' dipswitches (ID 05788)
- Forty-Love: Added input labels, promoted clone Forty-Love (Japan) as working.
- Funny Strip: Separate driver state class
- Gyruss: Added missing DIP location for DSW3. Fixed dipswitches for clone Gyruss (Centuri). Added correct labels and locations to clone Gyruss (Centuri). Fixed labels for clone Gyruss (bootleg?). Updated diagnostic ROM info. Adjust some memory region sizes. Removed unused DRIVER_INIT.
- Hanafuda Hana Tengoku: Use address map bank device
- Hebereke no Popoon: Better documentation
- Jockey Club
. Added layout with keyboards. Clean up inputs and added own dipswitches. Correct RTC and emulated hoppers. Hook up outputs, NVRAM and trackball (for hidden editor).
. Promoted clone International Toote II to working
- Jockey Club II: Greatly simplify the layout files jclub2.lay and jclub2o.lay thanks to the new group feature
- Karate Champ and King of Boxer: Identified DAC type
- King of Boxer: NMI modernization
- Legend of Silkroad: Base OKI clocks on OSC values. Note: PCB pic reveals no resonators so the clock is based off of either 32MHz or 3.579545MHz. Old guessed values where 1.056MHz and 2.112MHz so new values are 32MHz/32 & 32MHz/16 for 1 & 2 MHz respectively.
- Midnight Landing: Added coin counters
- Mirax: Changed PSG type to AY-3-8912A and use device finders
- Ninja-Kid II: Fixed missing sound in Ninja-Kid II and clones (ID 06645)
- Ordyne: Ordyne and clones uses an older IO MCU ROM (sys2_c65b.3f). Clean ROM labels as per PCB photos. Documented sprite zoom table rom.
- Pengo: Added partial dipswitches for clones Pengo (bootleg on Pac-Man hardware, set 1) and (bootleg on Pac-Man hardware, set 2) (ID 05945)
- Penguin Adventure: Added start/continue button, this partially fixes game resets itself in stage 4 (see MT #04528). Note: A timer apparently expires when beating stage 4 (signalled by a long beeping sound). Player needs to insert another credit and press start button (?) in order to continue. Is this timer supposed to be shown on screen or there are additional 7-LEDs not handled?
- Poker Ladies: Added PALs and EEPROM dumps to clone Poker Ladies (Leprechaun ver. 401), also corrected rom labels.
- Return of Lady Frog: Added NMI ack
- Salamander: Improved VLM5030 control
- Shadow Warriors: Implemented dual OPN + dual MSM5205 ADPCM sound system for clone Master Ninja (bootleg of Shadow Warriors / Ninja Gaiden) as in Automat
- Shock Troopers: Swapped Shock Troopers sets since what was known as set 2 is actually a newer revision than set 1, as per MAME parent-clone policies parent must be the newer revision.
- Street Fighter II': Champion Edition: Correct dipswitches for clone (Accelerator Pt.II, bootleg) (ID 05277)
- Teki Paki: MCU soundlatch modernization and cleanup
- Tetris (Japan, System E): Fixed 2-Player mode (ID 06644)
- TH Strikes Back
. Added new DS5002FP SRAM dump (Game now playable). Note: Dumped from 3 boards, reconstructed with 2/3 wins rule, all bytes verified by hand as correct. There is a priority bug on the title screen (Gaelco logo is hidden by black borders). It seems sprite priority is hacked around on most of the older Gaelco drivers.
. Added PCB layout
- Thunder Zone
. Created MB8421/MB8431 16-bit expanded variant and added it to Thunder Zone/Desert Assault
. Acknowledge IRQs
- Trick Trap: Fixed tile-sprite priorities, mostly visible when exiting an area in most stages (ID 04872).
- Virtua Striker 4 Ver.2006 (Japan): Redumped GDROM
- Input port
. Fixed up input_merger: Added more variants, synchronisation and save state support and removed dubious reset behaviour (machine\input_merger.cpp; drivers\aristmk5.cpp, beezer.cpp, buggychl.cpp, rpunch.cpp, includes\btime.h, bublbobl.h, flstory.h, kingobox.h, lsasquad.h, nycaptor.h and audio\efo_zsu.h (cedar_magnet.cpp and play_3.cpp)).
. Use input merger device for btime.cpp
. Return explicit "file not found" error if inp file isn't found on playback, added error code number to any other error found (emu\ioport.cpp).
- Save state: Fixed new load/save state menu does not respect -statename (ID 06621)
- Dipswitch fixes in changela.cpp, cps1.cpp, csplayh5.cpp, dbz.cpp, dynax.cpp, gyruss.cpp, m90.cpp, namcos2.cpp, pacman.cpp, royalmah.cpp, seattle.cpp and vegas.cpp
- Fixed rom names in gyruss.cpp, kaneko16.cpp, mitchell.cpp, pacman.cpp, pastelg.cpp, segae.cpp, seta.cpp, shangha3.cpp and snk6502.cpp
- Description changes of 1943: Midway Kaisen (Japan, no protection hack), Ai-mode - Pet Shiiku (Japan), Alligator Hunt (unprotected, set 1), Brave Firefighters, Cosplay Tengoku 7 - Super Kogal Ranking (Japan), Crazy Climber (US set 1), DoDonPachi Dai-Ou-Jou V101 (Japan, 2002.04.05.Master Ver), DoDonPachi Dai-Ou-Jou V100 (Japan, 2002.04.05.Master Ver), DoDonPachi Dai-Ou-Jou (Japan, 2002.04.05 Master Ver), DoDonPachi Dai-Ou-Jou (Japan, 2002.10.07.Black Ver), DoDonPachi Dai-Ou-Jou (Japan, 2002.10.07 Black Ver), DoDonPachi Dai-Ou-Jou (Japan, 2002.10.07 Black Ver., bootleg Knights of Valour Super Heroes conversion), Donkey Kong Jr. (bootleg on Moon Cresta hardware, set 1), Donkey Kong Junior (Japan set F-1), Goldeneye (4.04), Koala Mint (CHG1573, US), International Toote (Germany, P523.V01), International Toote II (v1.24, P387.V01), Jockey Club (v1.18), Mahjong Mogitate (Japan), Mario Bros. (Japan, Revision C), Mega Zone (program code I), Mega Zone (unknown program code 2), Mega Zone (program code J), Mega Zone (program code H), Mega Zone (unknown program code 1), Neo Geo CTHD Protection (bootleg) (ID 06649), Nibbler (Pioneer Balloon conversion - rev 6), Nibbler (rev 9, alternate set), Night Gal Summer [BET] (Japan 850702 NGS 0-01), Star Wars: Racer Arcade, Star Wars Trilogy Arcade (Revision A), Star Wars Trilogy Arcade (ID 06659), Vamf x1/2 (Europe, version 1.1.0908), Vamp x1/2 (Korea, version 1.1.0908), WWF Superstars (US revision 4) and WWF Superstars (US revision 7)
- Renamed (1943ja) to (1943jah), (brapboysj) to (brapboyspj), (brapboysu) to (brapboyspu), (cawingu) to (cawingur1), (inttootea) to (inttoote2), (ordyne) to (ordyneje), (podrace) to (swracer), (grtesoro) to (play2000a), (grtesoro4) to (play2000), (megazonec) to (megazoneh), (megazoneb) to (megazonej), (megazonea) to (megazoneb), (megazonei) to (megazonea), (megazone) to (megazonei), (shocktro) to (shocktroa), (shocktroa) to (shocktro), (vendetta2p) to (vendetta2pw), (vendettaj) to (vendetta2pp), (vf4evo) to (vf4evob), (wwfsstaru) to (wwfsstaru7) and (wwfsstarua) to (wwfsstaru4).
. Reduced weight of render.h by moving component specialisation declarations into emu\rendlay.cpp
. Added support for layout item groups, replaced simple_list with more appropriate containers, removed misleading const qualifiers and reduced repeated XML walking (build\, emu\render.cpp/h and rendlay.cpp). Groups aren't parameterised, so they aren't as useful as they could be. However, it's already useful for putting a common set of elements in multiple views, potentially at different locations/scales. See intlc44.lay and intlc440.lay for examples of the level of copypasta this can eliminate. Be aware that groups with explicit bounds don't clip thair content, it's only used for calucating the transform matrix. Get rid of string hashes when fetching output values in layout rendering.
. Get rid of forced sleep in emu\video.cpp
. Added minimal support for reading Adam7 interlaced PNG (emu\rendutil.cpp and util\png.cpp). Note: Decompression and unfiltering is fully supported, at least for all the pixel formats that previously worked. Expanding 1/2/4bpp to 8bpp should work properly, too. Bitmap mapping for Adam7 is only implemented in rendutil.cpp which is whate everything in MAME uses. The function in png.cpp (used by pngcmp) has not been updated. At some point I'll unify at least one of the functions in rendutil.cpp with the one in png.cpp and we can go from three functions that need to do the mapping down to two at the most.
. Unified code for copying PNG data into bitmap for MAME and pngcmp. Fixed upsampling of monochrome PNGs (need to splat across byte). Added support for greyscale+alpha. Detect more unsupported conditions rather than just behaving badly. Support 16-bit samples.
. Support greyscale with transparent pen, encode/decode text chunks as UTF. Fixed indexed transparency.
. Fixed -slot card, bios=rev (selected BIOS was being applied to slot itself, not card)
. Added address-shifted versions of AM_DEVREAD/_DEVWRITE/_DEVREADWRITE. These new macros make it easy to map devices addressed using higher address lines (which on actual HW helps to reduce loads on the lowest address lines) without needing to set up custom handlers and associated device finders. The implementation should not impact the efficiency of the core memory system since the semantic details are contained within C++11 lambdas. Improved way to transform offsets for AM_DEVREAD/_DEVWRITE. Replaced AM_DEVREADWRITE_RSHIFT with a similar but more functional-looking interface (now known as AM_DEVREADWRITE_MOD), which also now supports address line inversion as well as shifting (drivers\equites.cpp, gaelco.cpp, gaelco3d.cpp, goodejan.cpp, gridlee.cpp, legionna.cpp, r2dx_v33.cpp, raiden2.cpp, splash.cpp, taito_l.cpp, thoop2.cpp, timeplt.cpp and wrally.cpp).
. UI
. Eliminated use of hairline spaces for alignment in the info box (ui\selgame.cpp, selmenu.cpp and ui\text.cpp)
. Use aggregate emulation status in UI menus, expose more flags in info box. Use aggregate flags for -ui simple as well.
. Added indication for presence of analog controls and keyboard inputs in info box (ui\selgame.cpp).
. Greatly reduce copy/paste code for drawing menu header/footer boxes. Display full name of selected slot device below slots menu. Fixed spacing on dircetory configuration menu. Fixed minimum/maximum for UI font rows per screen setting.
. Fixed info box navigation when system selection menu doesn't have focus
. Make filter names localisable, fixed keyboard navigation of software filter box, encapsulate a couple more things in selmenu and friends, get rid of hacks in selector tying it to implementation details of other menus. Note: This turns the filters into polymorphic objects that will be more manageable and not require so much copy/pasting when updating APIs.
. Polymorphic machine/software list filters: Localisable filter names. Uniform interface for most filters without far less special-casing. Stacking year/manufacturer/etc. does OR rather than useless AND. Prevent stacking contradictory filters (e.g. parents and clones). Fixed alignment of filter list. Removed most of the lambdas added the other day. There's no longer an implicit "not BIOS" filter. Can't add (un)available to custom machine filter (will address).
. Improved layout of art/info box, support mouse wheel scroll in info text, allow home/end to jump to beginning/end of filter list, consolidate logic. A number of vestigial constants have been removed. Some hacky input types that were just used as a trick to pass information between menu functions are gone. MACHINE_NO_STANDALONE is a relic from when drivers were used as arbitrary ROM containers, and in a world of first-class devices this is no longer necessary.
. Don't process every character individually when searching, this reduces lag if you keep typing while a big list is searched.
. Make category filter work like all the other filters: Category filter is now saved/restored if it's last used. Category filter can be used in composite custom filters. Less confusing when no categories found. De-duplicated code for drawing category list.
. Fixed software art/info display when keyboard focus leaves software selection list, consolidate more logic, more code deduplication, fixed gutters on dats view and fallthrough from dats to save. There's some weirdness with shortcust for dats/export/favourite toggle if they result in a character being typed.
. Save/restore images/info selection in right panel
. Fixed selecting a slot to fill for "EXP" causes Fatal Error in (MESS) C64 (ui\slotopt.cpp) (ID 06657). Note: The source of the issue is that the logic for rotating slot options was broken. It would count selectable options and skip over options that were not selectable, except for the specific scenario where the index was zero. I ended up largely replacing the logic to be more C++-ish.
. Added a not BIOS machine filter (useful in composite filters), support RGB PNG with transparent pen because why not.
. Clean up some of the UI filter stuff, show list descriptions rather than names when choosing list to filter on. Fixed a localisation issue and a loop bounds issue.
. Make (Un)Available a polymorphic filter (works in custom filter again). Fixed bugs and improved performance of code for detecting systems without ROMs. Show progress while auditing ROMs. Use actual INI file format for mame_avail.ini.
. Fixed crash on invalid/empty/outdated ui.ini
. LUA engine
. Added debugger manager support
. Refactor server_{ws,http}.hpp into separate interface and implementation headers. When shutting down the HTTP server, also explicitly stop the asio::io_context (emu\http.cpp).
. Catch errors in cheat scripts and preliminary breakpoint/watchpoint support (cheat\init.lua)
. Added GDB stub plugin
. Use 2 column format and clean up some parse errors (plugins\data\data_story.lua and load_dat.lua)
. Added MARP scores plugin
. Updated hiscore.dat
. Moved unimplemented/imperfect flags from machines into devices. Allows dynamic warning flags depending on slot configuration. Unclutters GAME/CONS/COMP/etc. definitions where a family of machines or a device have the same flags. Allows more combinations of flags. Right now, flags for unemulated/imperfect features apply at system level. This falls over quickly with systems that have slot devices. For example you can plug in a broken sound card or keyboard on a PC or Amiga driver and get no warnings. There's also no way to propagate these flags from a device to all systems using it. This changeset addresses these issues. It's now possible to report unemulated/imperfect features on a device level with static unemulated_feeatures() and imperfect_features() member functions. So far the only thing using this is the votrax device. To support front-ends, this is exposed in -listxml output as a new "feature" element that can appear in system/device descriptions. It has a "type" attribute indicating which feature it is, potentially a "status" attribute if the device itself declares that the feature is unemulated/imperfect, and potentially an "overall" attribute if the device inherits a more severe indication from a subdevice. The embedded DTD describes possible values. Example: device/machine declares imperfect sound: . Example: device/machine declares unemulated keyboard: . Example: device declares imperfect controls but inherits unemulated controls from a subdevice: . Example: device doesn't declare imperfect LAN but inherits it from a subdevice: . It's still possible to add these flags to machines in the GAME/COMP/CONS macro. If the state class declares them with static member functions, the two sources will be combined. If you subclass a device, you inherit its flags if you don't redefine the relevant static member functions (no override qualifier is necessary since they're static). The UI has been updated to display appropriate warnings for the overall machine configuration, including selected slot devices, at launch time. The menus don't display overall status, only status for the machine itself. We can make it scan subdevices if we decide that's desirable, it just needs caching to enure we don't take a huge performance hit. Trade MACHINE_IMPERFECT_KEYBOARD, MACHINE_NODEVICE_CAMERA and MACHINE_NODEVICE_WAN for MACHINE_IMPERFECT_CONTROLS: MACHINE_IMPERFECT_KEYBOARD is more applicable on keyboard devices - most of them should be devicified eventually. MACHINE_NODEVICE_CAMERA tends to apply across a family of machines, so it's easy to apply at state class level. MACHINE_NODEVICE_WAN isn't even used. MACHINE_IMPERFECT_CONTROLS is widely applicable, knock yourselves out adding it to GAME macros. Updated machines that were using MACHINE_IMPERFECT_KEYBOARD or MACHINE_NODEVICE_CAMERA to apply it at device or state class level. Added flag for imperfect timing.
. Multi-Language
. Update localisation .po files. Our localisations are rotting badly, so please update what you can for recent UI changes. Note that to run make translation you need to patch GNU gettext to support C++14 digit grouping. See the attached patch here:
. Updated Chinese (simplified/traditional), German, Greek, Italian, Japanese, Portuguese (Brazil), Russian, Serbian, Serbian (Cyrillic), Spanish, Swedish and Turkish translations.
. Added "minimaws" scripts, a reference -listxml consumer (implemented with Python/WSGI and JavaScript): Provides verbs for loading data, some basic batch queries and an interactive web server mode. Serves linked HTML pages for machines, devices and source files. Demonstrates how to dynamically discover slot/BIOS options from static -listxml output. Allows user to build a slot configuration and shows necessary command-line arguments or INI lines to produce it in MAME. As a side effect, this provides additional validation of -listxml output, several issues and limitations were addressed [Vas Crabb].
. Fixed -sleep and -refreshspeed options (MAME will no longer use 100% of a CPU core for the least demanding systems; emu\emuopts.cpp)
. Validity
. Fixed description check (emu\validity.cpp)
. Validate BIOS names and fix most errors found: Error on characters other than [a-z0-9.-_] in name. Error on duplicate name or description and Error on non-existent default BIOS.
. Use proper font metrics and handle space glyphs with null bounding box on OS X.
. Handle fonts where space glyphs return a null bounding box (e.g. Hiragino family) restore ability to localise info box headings (font\font_osx.cpp).
- Android: Modification for Android build (NDK r14b, build-tools 21.1.2 and gradle 2.2.1)
- Compiling
. Work around GCC ambiguous template error (emu\output.h)
. Removed a whole lot of I64 from format strings. There are a couple of issues here: Firstly, the determining factor for whether I64 or ll is needed as the size qualifier doesn't depend entirely on whether you're using MSVC or not, it depends on the the C runtime library. The msys64 C runtime apes the Microsoft runtime and requires I64 as well, so a lot of files where LLFORMAT had been copy/pasted wouldn't work right if you depeneded on it anyway. Secondly, one of the major benefits of util::string_format, util::stream_format and logerror in their current forms is that you don't need size specifiers for integers at all (unless you're using them to truncate a value, but in that case you're better off casting the argument for clarity). If you do use them, logerror and friends will accept both Microsoft- and SUS-style independently of the C runtime.
. Moved additional content for release archive from build repository to main repository (artwork\apertureXXXXX.png, artwork\scanlines.png, ctrlr\hotrod.cfg, hotrodse.cfg, scorpionxg.cfg, slikstik.cfg, ctrlr\xarcade.cfg and dist.mak).
- Debugger: In the windows debugger log window added a Log/Clear menu to removed all logged messages

"Theory is when you know everthing but nothing works. Practice is when everything works but no one knows why.
In our lab, theory and practice are combined: nothing works and no one knows why."

Entire thread
Subject Posted by Posted on
* MAMEinfo 0.189 :) MASH 08/30/17 12:06 PM
. * r71993 MASH  09/16/17 01:05 AM

Extra information Permissions
Moderator:  John IV, Tafoid 
1 registered and 32 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 284