What's New:
- New games: 'To Heart House'
- New Working games: Slime Kun and Tsururin Kun
- New Non-Working games: Club Ultraman - Daichi Boeisen, Cyber Troopers Virtual-On 4 Force (Rev E), Disc 2000, Disc 2001, Disc 3000, Doppelpot, DS-6000 Driving Simulator, Elite Disc, Excellent, Huanle Dou Dizhu (V104CN), Jackpot Knight (V1.1), Jin Huangguan 6th, Jin Huangguan II (V310CN), Jin Zuanshi, Kaimen Hu (PAN Electronics), Keno 21 (Ver. A-2.30), Kniffi, Major Poker Deluxe (Ver. 1.12), Merkur Service Testgeraet, Neo Print - European Version II (World) (T4i 3.07), Premiums Line, Shizhan Majiang Wangchao (Version 2.0), Super Dragon (Ver 211), Taishan Wuxian Jiaqiang Ban (V101CN), Tieban Shensuan (Mainland version 2.0), Treasure Ocean (v1.5A), 'unknown Alba game', 'unknown Paradise poker game', 'unknown YungYu game' and Zhongji Dou Dizhu (V204CN).
- New clones: 280-ZZZAP (set 2), 7 Smash (set 2), Arkanoid (bootleg of version Japan, older), Arthur's Knights (v1.00), Blackjack (Cadillac Jack, Ver. 1.22), Butterfly Video Game (version U863M), Dogyuun (bootleg), Driving Force (Galaxian conversion, Seatongrove UK), Emeraldia (Japan Version D), Gals Hustler (set 2), Hana Awase (set 2), Jiyou Gaoshou (China, Ver 1.2), Magic Bomb (Ver. A4.0A, 4/06/01), Magic Bomb (Ver. A4.1A, 5/4/01), Magic Bomb (Ver. A4.2A, 7/06/01), Magic Bomb (Ver. A4.2A, 8/09/01), Magic Bomb (Ver. AA.71.A, 30/04/04), Magic Bomb (Ver. AA.73.A, 17/10/06), Magic Bomb (Ver. AB4.3A, 11/22/01S), Magic Bomb (Ver. AB4.3A, 12/19/01S), Magic Bomb (Ver. AB4.5A, 05/24/02S), Magic Bomb (Ver. AB5.0, 09/26/02), Magic Bomb (Ver. AB5.1, 01/10/03), Magic Bomb (Ver. AB6.0J, 26/11/03), Magic Bomb (Ver. BB6.0, 02/24/04), Magic Bomb (Ver. EB4.3, 08/22/01), Magic Bomb (Ver. L3.7S), Magic Bomb (Ver. L4.0S), Magic Bomb (Ver. LB5.1 12/13/02), Mahjong Electron Base (parts 2 & 3, Japan bootleg set 2), Mahjong Electron Base (parts 2 & 3, Japan bootleg set 3), Major Poker Deluxe (Ver. 1.09), Monkey Land (Ver. A1.1), San Se Caishen (Version 0118), Western Venture (Ver. AA.01.B), Western Venture (Ver. AA.02.E) and Zuanshi II (version V153A)
- Removed games: Alpine Surfer (World, AF2 Ver.A, set 2), Loto-Play (set 4), Motocross Go! (Japan, MG1 Ver. A, set 2), Motocross Go! (World, MG2 Ver. A, set 2), Panic Park (Japan, PNP1 Ver. B, set 2) and Poker (Version 50.02 ICB, set 3)
- New drivers: banprestomsz80.cpp, ds6000.cpp, jinhuang6.cpp, ps_m3.cpp and servicetastatur.cpp
- New devices: coldfire_dma, coldfire_mbus, coldfire_sim, coldfire_timer, cs4334, k005849, mcf5206euart, pl6_fpga, pl6_pic, pl6expslot, pl6gpu, serial_vfd, serial_votraxtnt, ua858d and votraxtnt
- New Cheat.dat (Pugsy): http://www.mamecheat.co.uk/
- CPU
. Hitachi SH-2 (SH7604): Hookup UBC BARA/BARB r/w (sh\sh7604.cpp), fixes sound in (MESS) 32x aburner.
. Motorola MC68010: 'ctor' accepts type param. Support being able to subclass and pass in type param (m68000\m68010.cpp).
. NEC Vxx: REP opcodes are interruptable. Fixed issue with prefetch (can't do prev_icount - m_icount to determine opcode cycles since m_icount can be cleared externally) (nec\nec.cpp). Fixes incorrectly effects in 'Ninja Baseball Bat Man' (ID 06021) and the status bar in Battle Chopper and clone appear twice (ID 00816). Fixes Major Title 2 and clones hangs at title screen if flip screen is enabled (ID 05342).
- SOUND
. Atari C012294 POKEY: Synchronize on SOD output transitions during serial transmission. Disable logging again (sound\pokey.cpp).
. Biquad Filter: Added calculator functions for RC-based band-pass filters (sound\flt_biquad.cpp)
. Ensoniq ES5503: Fixed error in emulation of oscillator over-contribution glitch (GitHub #13669) and use m_ prefixes consistently. Oscillators halted by the CPU have the same behavior as those halted internally if the low bit of the mode is set, as per the datasheet. Fixes Skate or Die for the Apple IIgs's music freezing (sound\es5503.cpp)
. Sony LDP-1450 HLE: Fixed display mode selection issue and grey background (machine\ldp1450hle.cpp)
- DEVICE
. Floppy: Include IPF, 86F disk formats in floptool. IPF is included unconditionally by scripts/formats.lua, so the HAS_FORMATS condition was always false. 86F is also included unconditionally but simply wasn't added to formats/all.cpp when it was introduced. Added 86F to the "Container FM/MFM" category for consistency with the grouping in devices/imagedev/floppy.cpp and moved IPF to the "PC" category for the same reason (formats\all.cpp).
. Fujitsu MB87030 SCSI controller: Fixed SCSI hookup in (MESS) FZ-20M (machine\mb87030.cpp)
. I2C Memory: Revert change from MAME 0.278 (Don't enter start condition except from idle state) that broke dreamlss. Don't falsely register I2C bus start or stop condition while device as slave is driving SDA. Modernize logging (machine\i2cmem.cpp). Fixes bmiidx2, bmiidx3, bmiidx4, bmiidx5, bmiidx6, bmiidx7 and bmiidx8 fails to boot with "E800 NO SECURITY CARD ERROR" (ID 09212). Fixes BnB Arcade has severe slowdown, black screen in attract mode and unable to start game (ID 09220).
. Konami 005849 Video Controller: Added preliminary k005849_device
. Konami 007121 Video Controller: FIRQ is every other frame. Removed dirtytiles_cb (konami\k007121.cpp).
. Konami 051960 Sprite Generator
. Improved sprite y zoom. Fixes bad sprite zooming for the planes in Devastators level 2 (ID 00505). Added sprite buffer, fixes sprite lag in Aliens (ID 02014 and ID 06873). Added sprite busy flag and irq enable. Removed old #if 0 spriteram savedump.
. Improved NMI timer and sprite busy duration.
. Konami 052109 Tilemap Generator: Added screen raw params to all K052109 drivers. Added col+rowscroll, fixes possible graphical corruption during stage 2 in Thunder Cross II and clones (ID 08275). Added NMI and FIRQ timers (copy paste to/from k051960). Added callback for custom scrolling to emu\tilemap.cpp and added one to K052109 for its combined col/rowscroll. Update scroll before active display (konami\k052109.cpp).
. Konami 053244/053245 Sprite Generator: Removed old #if 0 spriteram savedump. Moved sprite buffer clear to reg 7. Limit sprite size to 1024x512. Assume sprite size limit is cliprect, not zoom level (konami\k053244_k053245.cpp)
. Konami 053250 LVC: Small cleanup (konami\k053250.cpp)
. Konami 053251 Priority Encoder: Removed obsolete code (all dirty tilemap marking after colorbase changed is done locally in drivers). Removed unused read() function (konami\k053251.cpp).
. Konami Custom: Correction to device strings (Konami 0xxx instead of K0xxx)
. Sega 315-6154 Northbridge: Handle statuses and IRQ callback. Updated docs (sega\315-6154.cpp).
. Z80 DMA Controller: Added UA858D DMA Controller variant to machine\z80dma.cpp. Added extra memory read wait state at 28MHz for (MESS) ZX Spectrum Next (machine\z80dma.cpp).
- aristmk6.cpp: Dumped SPC2 board rom gambs2m_01.05.07.u3 (SPC stands for serial protocol converter)
- astrcorp.cpp: Avoided completely patching out protection routines for a bunch of games, fixes some problems at start up and when exiting test mode. Reversed remaining CPU codes. Factory reset EEPROMs. Got rid of checksum/original ROM content related patches. Switched to mnemonic suffixes for clones. Metadata improvements and Q/A for most magibomb sets.
- badlands_ms.cpp and galpanic_ms.cpp: Added missing PLDs to clones Bad Lands (Modular System) and New Quiz (Modular System bootleg of Gals Panic)
- battlnts.cpp and rockrage.cpp: Use screen raw parameters as in similar Konami games. Added clocks for video ASICs.
- boramz80.cpp: Implemented NVRAM, hopper and protection workaround. Moved out of skeleton to misc. GFX problems remain, games are otherwise playable (tpkborama excluded, since it's encrypted).
- cave.cpp: Added hopper device. Fixes Crusher Makochan and Koro Koro Quest returns "Error 3" after completing a stage (ID 09223).
- cdi.cpp
. Implemented cursor blinking (philips\mcd212.cpp). Fixed double width cursor. This fixes cursor width is too wide in The Challenge (GitHub #13968). Originally this flag made the cursor 2x as wide (4 pixels). However the Validation Disc (EU) test GC_Ptn has a clarifying comment that in double-resolution mode, the cursor should be half the width of the normal cursor (philips\mcd212.cpp).
. Fixed Pixel Hold Clut4. Console verification identified a descrepency in CLUT4 pixel hold behavior. This corrects a factor of 2 error in the width for CLUT4 (GitHub #13513) (philips\mcd212.cpp).
. Added Undefined Matte Behavior. Fixes GitHub #13976. Greenbook says not to change the MF flag within a line. However, if you do, the behavior is undefined. Console verification shows that the real console will use these values. The non-spec behavior is explained in a comment. Additionally, this tidies up the Matte function. Fixed RGB Transparency. This fixes RGB transparency checks. Previously it was checking the high bit. This would pass when checking the false condition (mode 10) but not on the true condition (mode 2) (philips\mcd212.cpp).
. Fixed Cursor Inversion Color. This corrects a slight error in the cursor inversion color. A full brightness color should keep the brightness value and only invert the RGB. See MCD212 section 7.5 (philips\mcd212.cpp).
. Introduce External Video Input. This replaces the static background color with a function that will switch behavior if the EV flag is set. Currently there is no DVC chip, so this will produce black output. This fixes (GitHub #13980) (philips\mcd212.cpp).
. Simplified CD-i CDIC MCU. This simplifies the reference functions while making small changes to the used functions. Fixed CDIC XA audio header offset. Fixes Github #13991 (philips\cdicdic.cpp).
- circus.cpp: Set maincpu ROM_LOAD to 0x0. Fixes Robot Bowl hang/freeze at boot (ID 09225).
- cps1.cpp
. Removed unneeded init function. Do interrupts with IPL pins and HOLD_LINE and copy over raster interrupts from cps2. Re-add cpu space map for irqack.
. Correct the cpu space back to fully take into account the impact of vpa on the timings. Added debugger side effects check. Removed old TODO notes (one about raster effects and one about supposedly missing sf2 layers) [hap]. Correct the cpu space back to fully take into account the impact of vpa on the timings.
. Ganbare! Marine Kun irq4 is actually the same raster interrupt as on cps2 (it writes to the raster regs too). Comment out n/a button3 in Final Fight.
- cps2.cpp: Improved raster irq. Make sure to mask raster counter with 0x1ff. Correction to raster irq timing. Fixes Shuma Gorath super move raster effect is not working in Marvel Super Heroes (ID 09221).
- cps3.cpp, pluto5.cpp and luckgrln.cpp: Removed if(0)ed-out routines for dumping decrypted ROMs
- ddragon3.cpp: Lower overall volume. Added sprite size mask and wwfwfest sprite buffer trigger. Fixes Combatribes sprite player glitch (ID 07595) (GitHub #13986).
- ghosteo.cpp: evert I2C Memory change from MAME 0.278 (Don't enter start condition except from idle state) that broke dreamlss. Don't falsely register I2C bus start or stop condition while device as slave is driving SDA. Modernize logging (machine\i2cmem.cpp). Fixes BnB Arcade has severe slowdown, black screen in attract mode and unable to start game (ID 09220).
- goldstar.cpp: Fixed NVRAM regression for sets in wingco_state
- hikaru.cpp: Added 2nd AICA and 315-5881 encryption and fixed ROM layout.
- hummer.cpp: Hooked up decryption
- igs017.cpp: Fixed tarzan and starzan addrmaps. Fixes graphical or security error causes the appearance of a character that does not exist in the original game in jking200pr and all starzan dependents (ID 09193).
- konmedal.cpp
. Inverted hopper sensor. Reorder dsw settings (left = less, right = more).
. Promoted Slime Kun and Tsururin Kun to working
- m72.cpp
. Tweak bg layer 2 transmask workaround. Improved tile priorities. Fixes graphic priority issues in bchopper and clone mrheli (ID 09205).
. Do spritelist fill with push_back. NEC Vxx REP opcodes are interruptable, fixes status bar in Battle Chopper and clone appear twice (ID 00816).
- m90.cpp: Small cleanup (irem\m90_v.cpp)
- m92.cpp
. Added sprite/video disable flags and put bootlegs on different hw in subclass. Updated flipscreen before screen update (irem\m92_v.cpp).
. Updated dipswitches. Fixes Gun Force II has wrong difficulty setting "very easy", should be shown as "hardest" (ID 07725).
. NEC Vxx REP opcodes are interruptable. Fixes incorrectly effects in 'Ninja Baseball Bat Man' (ID 06021) and 'Major Title 2' and clones hangs at title screen if flip screen is enabled (ID 05342).
- mainevt.cpp: Added missing watchdog
- megadriv.cpp: Fixed Megadrive version register incoherent (no TMSS ROM) (GitHub #13941).
- model1/2.cpp: Sort out register update priority (mb86233\mb86233.cpp)
- model2.cpp
. Implemented proper lighting and improved "gamma" table. Stadium ads in Virtua Striker have the correct colors now. Do geo_parse even if frame was skipped. Removed the (void) func params from h file too. Revert frameskip workaround.
. Actually fixed Super GT 24h and Over Rev reverses gas and brake activeness by default (ID 07445)
- namcos22/23.cpp: Removed duplicate romsets (or rather, only the embedded s/n differs)
- namcos23.cpp: Added point ROM auto-increment to Namco System 23. Improves Downhill Bikers and Race On! visuals.
- phoenix.cpp: Small cleanup
- pluto6.cpp: Added support for Freescale mcf5206e peripherals for Pluto 6 emulation. Cleaned up driver.
- senjyo.cpp: Star Force boardset has 4mhz and 12mhz xtals and copy paste screen raw params from bombjack (pace matches PCB video). Fixes rarely no sound on Star Force (ID 09200).
- stella8085.cpp: Re-enable games that were commented in 0.278 release
- taitotz.cpp: Use versions as printed on Taito's hard disk labels in descriptions
- tecmo.cpp
. Lower YM volume in Gemini Wing and small correction to mcfg. Fixes OKI MSM5205 is quiet compared to the PCB and OST (ID 08785).
. More accurate ADPCM addressing (no audible change).
- tmnt.cpp: Removed VIDEO_UPDATE_AFTER_VBLANK flag and changed joystick to 4way in Cue Brick
- tmnt2.cpp
. Invert vblank flag and removed m_toggle hack. This fixes corrupt graphics at bonus screens in Quiz Gakumon no Susume (ID 06651) and slow transitions (ID 06652). Removed VIDEO_UPDATE_AFTER_VBLANK flag.
. Re-Added support for high priority shadows (emu\drawgfx.h + drawgfxt.ipp). Fixes graphic error with high priority shadows in tmnt2 and ssriders (ID 03644).
- twin16.cpp: Lower pixel clock
- twinkle.cpp: Revert I2C Memory change from MAME 0.278 (Don't enter start condition except from idle state) that broke dreamlss. Don't falsely register I2C bus start or stop condition while device as slave is driving SDA. Modernize logging (machine\i2cmem.cpp). Fixes bmiidx2, bmiidx3, bmiidx4, bmiidx5, bmiidx6, bmiidx7 and bmiidx8 fails to boot with "E800 NO SECURITY CARD ERROR" (ID 09212).
- vendetta.cpp: Set VIDEO_UPDATE_AFTER_VBLANK flag. Probably just sprite DMA.
- Asterix: Added screen raw params. Small tweak to layer offsets. Lower soundcpu clock and added brief pcb info.
- Arcadia (NMK): Removed duplicated PROM entries from ROM definition
- Beyond Kung-Fu: Protection/MCU notes and research. Make most of the ingame HUD elements work: Proper dirty marking. Make the floor counter display work. Handle the credit number / continue counter. Allow high score table to be drawn. Allow high score name entry. Added notes. Make the tilemap wide enough for the background, put some dummy (column position values) in the tilemap when the command is issued. Put the draw on a timer.
- Bottom of the Ninth: Fixed sprite priority regression, fixes graphics priority issue at upper part of screen (ID 09191). Small cleanup.
- Chequered Flag: Assume vtotal is 264. Tweak analog controls.
- Cherry Master '97: Improved GFX. Started reorganizing some.
- Cherry Master '99: Dumped one PAL
- Crime Fighters: Set VIDEO_UPDATE_AFTER_VBLANK flag. Writes tilemap registers during active display area, which won't have effect until the next frame.
- Escape Kids: Removed black screen edges by default
- Go & Stop: Reversed 'CPU code', goes in game.
- Hana Awase: Added NO_DUMP entry for MCU very likely used for I/O on this set (but not the clone)
- Inferno (Meadows): Fixed samples_device reset. Fixes Inferno (Meadows) crash emulation (ID 09226).
- Iron Horse: Lower maincpu clock and improved screen raw params
- Jin Huangguan 3-dai: Started reorganizing
- Kyuukoukabakugekitai - Dive Bomber Squad: Lower quantum
- Loto-Play: Added info and clock frequency for PIC-based Loto Play
- Magic Bomb: Dumped GFX ROM for clone Magic Bomb (Ver. AB5.3, 20/06/03). Q/A for most magibomb sets. Improved magibomb related documentation and correct GFX ROMs for some sets.
- Mole Attack: Simplify gfxlayout
- Pleiads: Fixed/Swap color proms for Pleiads (Tehkan) amd clones (Centuri), (Niemer S.A.) and (bootleg set 1). Added a note about protection chips. Removed TODO note about palette banking, it is already correct when compared to PCB video.
- Rampart: Removed n/c buttons
- Revolution X: Redumped PIC
- Rollergames: Added screen raw params
- Shuang Long Qiang Zhu 2 VS: Demoted clone (China, VS203J, set 2) to not working
- S.P.Y. - Special Project Y: Small cleanup
- Super Basketball: Fixed default 'Starting Score' dip based on manual
- Super Speed Race: Fixed sound regression and added screen raw params
- Surprise Attack
. Added callback for custom scrolling to emu\tilemap.cpp and added one to K052109 for its combined col/rowscroll (konami\k052109.cpp). This improved star field background scrolling and rotation in Surprise Attack (ID 06790).
. Re-Added support for high priority shadows (emu\drawgfx.h + drawgfxt.ipp). Fixes graphic error with high priority shadows in suratk (ID 03644).
- Swinging Singles: Added xtal and tweak palette a bit. Fixes music is too high pitched and choppy in Swinging Singles (ID 09201). Swap car green/yellow. Added 'Lives' and 'Cabinet' dsw and small cleanup. Swap palette bits0/1 back again.
- Tekken 3: Used recently dumped sound ROM from clone Tekken 3 (Japan, TET1/VER.D) for clones Tekken 3 (World, TET2/VER.B), (World, TET2/VER.C), (World, TET2/VER.D) and (US, TET3/VER.D).
- Toaplan: Removed hidden keybinding to test switch. Show Toaplan test switch as input instead of dip switch and removed default keybind (toaplan\toaplipt.h; batsugun.cpp, dogyuun.cpp, dt7.cpp, enmadaio.cpp, fixeight.cpp, ghox.cpp, kbash.cpp, pipibibi.cpp, raizing.cpp, snowbro2.cpp, sunwise.cpp, tekipaki.cpp, toaplan1.cpp, truxton2.cpp, twincobr.cpp, vfive.cpp and wardner.cpp).
- Vapor TRX: Removed PORT_CODE for buttons
- Xexex: Hook up CCU
- Xin Jin Huangguan: Filled in memory map
- Zombie Revenge: Redumped redumped program ROM for clone Zombie Revenge (Export)
- Fixed rom names in namcos12.cpp
- Description changes of 280-ZZZAP (set 1), 7 Smash (set 1), Alpine Surfer (World, AF2 Ver.A), Armed Police Unit Gallop (Japan, M72 hardware), Armed Police Unit Gallop (Japan, M84 hardware), Battle Gear (VER.2.40A), Battle Gear 2 (VER.2.04J), Battle Gear 2 (VER.2.01J, Side by Side conversion), Black Jack (Olympic Games, v5.04, upgrade kit for Wild Card), Blackjack (Cadillac Jack, Ver. 1.31), Club Ultraman - Daichi Boeisen, Densha de GO 3! Tsukin-hen (VER.2.03J), Final Furlong 2 (Japan, FFS1 Ver. A), Final Furlong 2 (World, FFS2 Ver. A), Gals Hustler (set 1), Gunforce: Battle Fire Engulfed Terror Island (Japan), Gunforce: Battle Fire Engulfed Terror Island (US), Gunforce: Battle Fire Engulfed Terror Island (World), Hana Awase (set 1), Hyper Dyne Side Arms (Japan, 861128), Hyper Dyne Side Arms (US, 861128), Hyper Dyne Side Arms (US, 861202), Hyper Dyne Side Arms (World, 861129), Jack's Venture - Inca Treasure (US.02.01.A, 2010/01/21), Jin Zuanshi, Kaimen Hu (BMC), Landing High Japan (VER.2.01OK), Landing High Japan (VER.2.02O), Mahjong Electron Base (parts 2 & 3, Japan bootleg set 1), Motocross Go! (Japan, MG1 Ver. A), Motocross Go! (World, MG2 Ver. A), Panic Park (Japan, PNP1 Ver. B), Penguin Party (TM.01.01.B, 2012/01/16), Poker (Version 50.02 ICB, set 3), Power Shovel ni Norou!! - Power Shovel Simulator (VER.2.07J), Raizin Ping Pong (VER.2.01O), Raizin Ping Pong (VER.2.01J), S.P.Y.: Special Project Y. (US ver. M), S.P.Y.: Special Project Y. (World ver. N), Stunt Typhoon Plus (VER.2.04J), Teenage Mutant Hero Turtles: Turtles in Time (2 Players ver EBA), Teenage Mutant Hero Turtles: Turtles in Time (4 Players ver EAA), Teenage Mutant Ninja Turtles: Turtles in Time (2 Players ver UDA), Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver ADA), Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver OAA), Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver UAA) and Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver UEA)
- Dipswitch fixes in bottom9.cpp, konmedal.cpp, m92.cpp, mole.cpp, skylncr.cpp, ssingles.cpp, tecmo.cpp and tmnt.cpp
- Renamed (emeraldaj) to (emeraldajb), (emeraldaja) to (emeraldaj), (gepoker2a) to (gepoker2), (hapfarma) to (hapfarm_in0102b), (magibomba) to (magibomb_br44), (magibombb) to (magibomb_ab45a), (magibombc) to (magibomb_ab42), (magibombd) to (magibomb_aa72d), (magibombe) to (magibomb_a31), (magibombf) to (magibomb_nb45), (magibombg) to (magibomb_nb61), (magibombh) to (magibomb_a40a), (magibombi) to (magibomb_a36a), (magibombj) to (magibomb_aa72c), (magibombk) to (magibomb_a30), (magibombl) to (magibomb_ab43a), (magibombm) to (magibomb_ab53), (magibombn) to (magibomb_eb40), (magibombo) to (magibomb_br71a), (monkeyla) to (monkeyl_aa13b), (monkeylb) to (monkeyl_aa21b), (monkeylc) to (monkeyl_aa21c), (monkeyld) to (monkeyl_a12), (monkeyle) to (monkeyl_en20b), (showhanc) to (showhandc), (skilldrpa) to (skilldrp_g10s), (speedmsta) to (speedmst_d14), (speedmstb) to (speedmst_d201ca) and (winbingoa) to (winbingo_gm051)
- MAME
. VIDEO RENDERING SYSTEM
. Removed unused (and not working) TILE_LINE_DISABLED flag, just use cliprect for something like that. Added col+rowscroll. Added callback for custom scrolling (emu\tilemap.cpp).
. Small optimization to scroll cache (emu\tilemap.cpp)
. Re-Added support for high priority shadows (emu\drawgfx.h + drawgfxt.ipp)
. UI: Added shift/ctrl/alt modifier keys to some controls (ui\viewgfx.cpp)
. INPUT: Added coinage settings 10C_1C, 1C_10/20/25/50/100C (emu\ioport.cpp)
. New sound infrastructure
. Added full/channel route via menu instead of f/c keys (ui\audiomix.cpp). Moved notch filter check to ui (audio_effects\filter.cpp and ui\audio_effect_filter.cpp).
. Put devtag in add ful/channel menu entry. Added not initialzed message when entering menu too early (eg. pressing tab on the red warning screen) (ui\audiomix.cpp)
. Clamp final output to -32768, 32767 (emu\resampler.cpp). Fixed problem when default devices are missing (emu\sound.cpp), fixes Portaudio error when WASAPI is enabled with no audio input devices in the OS (ID 09192).
. Don't repeat default settings at several places and removed unneeded float<->double conversions (emu\sound.cpp). Round default q down instead of up (probably has no audible effect) (audio_effects\eq.h).
. Fixed initial -volume setting (emu\sound.cpp). Use emplace instead of emplace_back when reconfiguring mapping (emu\sound.cpp), fixes cursor highlight issue in Audio Mixer menu (ID 09204).
. Finer control over HQ resampler settings (keeping max settings same as before) (emu\resampler.cpp and ui\audioeffects.cpp). Safety check for filter len (emu\resampler.cpp).
. Correction to input gain calc. Increase max input db so input gain won't distort the signal. Re-added infinite release option and also infinite ratio. Added a header to advanced settings (audio_effects\compressor.cpp).
. Misc sound fixes (emu\sound.cpp)
. Sound modules
. PortAudio: Re-add printf list of found devices with -verbose and added a check for duplicate device names (ID 09195). Can use unordered_map instead of map (sound\pa_sound.cpp)
. SDL: Fall back to 2 channels if 0 channels are detected on a device (sound\sdl_sound.cpp)
. Correct various games SN76489/SN76489A/SN76496 type based on PCB photos and/or schematics (appoooh.cpp, bankp.cpp, circusc.cpp, exedexes.cpp, hyperspt.cpp, ikki.cpp, mrjong.cpp, pingpong.cpp, senjyo.cpp, suprloco.cpp, tp84.cpp and trackfld.cpp)
. Added PLDs to several Modular System games (Blood Bros. (Modular System), Euro League (Gaelco bootleg, Modular System), Power Spikes (Modular System), Splash (Modular System, ver. 1.0, checksum 16EDD8FB, non North America, censored), Splash (Modular System, ver. 1.0, checksum A6C431A4, non North America, uncensored) and Toki (Modular System)).
- SDLMAME: Testing for glibc does not guarantee pty.h is available. It's possible to build glibc for targets where its PTY wrapper functions are not implemented (osd\modules\file\posixptty.cpp).
- Compiling
. Added SN76496 to scripts\target\mame\tiny.lua
. MinGW/MSYS2 mktime() cannot handle dates before the Unix epoch, so use a precalculated offset between the Unix and MacOS epochs
. Prevent excessive link times with the default optimization level for emscripten build (scripts\genie.lua)
. Removed Wayland-EGL-backend requirement at compile-time. Since MAME 0.274 Wayland is dynamically loaded at run-time (scripts\src\3rdparty.lua).
. Fixed LZMA PPMD support (src\3rdparty.lua)
- Debugger
. Requiring every debugger window class to care about the console window's views is bad design. That's a clear case of unnecessary coupling (debugger\win\*).
. Used DCA_SELECTED color friendly for Light/Dark theme (qt\debuggerview.cpp)
. Do not drop into debugger when no MAME window has focus. On Windows, the debugger has a special Windows-specific feature that drops the user into the debugger if the key sequence is pressed. This seems to be present so that the key sequence triggers dropping into the debugger not just from the main window, but also from debugger windows. This has also created an oddity where pressing the debugger key sequence from a MAME window will cause a "User-initiated break" but pressing it from a debugger window will cause "Internal breakpoint" to be displayed. However, while this logic has a check to not apply when to a MAME window, it seems to also activate even if MAME itself is not in focus. This change ensures that a stray debugger sequence in a completely unrelated application won't cause the user to be dropped in the debugger (debugger\debugwin.cpp and win\debugwininfo.cpp).
. Have print command insert spaces between numbers (debug\debugcmd.cpp)
. Fixed symlist default CPU: When executed with no parameters, symlist was displaying the symbol tables for the first CPU and the debugger built-in globals. Defaulting to the first CPU like that didn't make sense. It now displays the symbol tables for the VISIBLE cpu and the debugger built-in globals (debug\debugcmd.cpp).