MAMEWorld >> News
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

MASH
MASH
Reged: 09/26/03
Posts: 1776
Loc: Germany
Send PM


MAMEinfo 0.200 :)
#377785 - 07/25/18 10:32 AM


MAMEINFO.DAT

* Updated to MAME 0.200GIT - http://git.redump.net/mame/log/

* Added Source/Listinfo changes

* Newest Bugs (24th Jul)

* Added FB Alpha v0.2.97.43 emulator infos

* Added/Fixed 'Recommended Games'

* Fixed Mameinfo.dat infos



Download at: http://mameinfo.mameworld.info/

MAME Testers at: http://mametesters.org/view_all_set.php?sort=last_updated&dir=DESC&type=2



0.200

- New Non-Working games: Captain Zodiac, Donkey Kong / Donkey Kong Jr / Mario Bros, Fever Chance and Marbella Vice
- New clones: Air Rescue (World), Apache 3 (rev E), Hayaoshi Quiz Nettou Namahousou (ver 1.2), Led Storm Rally 2011 (US, prototype 12), Pink Sweets: Suicide Club (2017/10/31 SUICIDECLUB VER., bootleg), Raiden DX (Portugal), Scramble (bootleg, set 2), Street Fighter II': Champion Edition (Mstreet-6, bootleg, set 1), Street Fighter II': Champion Edition (Mstreet-6, bootleg, set 2) and Street Fighter II': Champion Edition (Mstreet-6, bootleg, set 3)
- New PinMAME games: Jokerz! (G-4), Safe Cracker (1.0) and Topaz (Inder)
- New drivers: cpzodiac.cpp and dkmb.cpp
- New devices: am8753, ams40489_ppi, arm11, arm1176jzf_s, ps2gif, ps2gs, ps2intc, ps2vif1, sonyiop, sonyvu0, sonyvu1, wd1007a and z8671
- New Cheat.dat: http://www.mamecheat.co.uk/forums/viewtopic.php?f=10&t=12477
- Intel 4004 CPU: Fix for ambiguous call to overloaded function when using MSVC (mcs40\mcs40.h)
- Intel I386/I486 CPUs: Avoid some unintended undefined behavior. Spotted by cppcheck.
- MIPS CPUs: Added basic Emotion Engine support ((MESS) PS2). Added S bit to TLB mapping. Added support for VSUB, VIADD, VSQI, VISWR, VOR, LQ, SQ, MFSA, MTSA, MFHI1, MFLO1, MULT1, DIV1, DIVU1, PEXTLW, PADDUW, PMFHI, PMFLO, PCPYLD, PCPYUD, SQC2 and LQC2 opcodes.
- MIPS R30XX CPUs: Fixed some R3000 bugs, started fleshing out IOP devices in (MESS) Sony PS2.
- Motorola MC68000 CPU: Stop the cpu on recursive BERR (Bus error)
- RCA CDP1802 CPU
. Interface overhaul: Splitted execution of long branch/long skip instructions into two separate states. Eliminated reset state. Sample pushed EF lines at the right time. Implemented a few CDP1801 differences. Correct disassembly of destinations for skip instructions. SC callback also includes state of N lines for I/O instructions. TPB callback added (not used yet). Callbacks can be configured through devcb3 bindings.
. Fixed disassembly (cosmac\cosdasm.cpp). Added helper functions. Minor cleanup.
- Zilog Z8 CPUs: Added dump of pre-programmed Z8671 MCU with BASIC/DEBUG interpreter
- Atari CAGE sound: Minor cleanups. Use device finder. Fixed communication.
- DCS2 Audio Denver: Reinstate hastily removed eat_cycles to audio\dcs.cpp. Fixes DCS2 sound hardware test failed in War: The Final Assault (ID 07027).
- Ensoniq ES5503 sound: Fixed bad playback of synthLAB sampled-attack looped-sustain instruments
- Gottlieb sound: Clean up/encapsulate gottlieb sound (audio\gottlieb.cpp)
- Seibu Sound System: Interrupt modernization (audio\seibu.cpp)
- Sound Interface: Added seperated acknowloge case to machine\gen_latch.cpp
- YM3812 OPL2 sound: Synchronized IRQ outputs to prevent lossage
- 6821 PIA and MC6850 ACIA: 6821 and 6850 have no clock for bus logic side
- Cassette tape image: Bug fix for multi-channel reads in cassette_get_samples() (formats\cassimg.cpp). Use the unused "sample_bytes" arg the same way as cassette_put_samples(). Can be used with multi-channel files now. Rename sample_bytes to more descriptive sample_spacing. Added some comments about sample functions and sample_spacing variable.
- ER2055 EAROM (64x8)
. Eliminated "Atari VG EAROM" in favor of newer ER2055 device (astdelux, bwidow.cpp, centiped.cpp, digdug, redbaron and tempest)
. Removed spurious address space and added pin diagram
- Floppy: Mostly tiying up and simplifying the i82072 behaviour; the only change that could potentially impact other upd765 users is marking the st0_filled after every interrupt-generating command ends, rather than only the non-data ones. This appears to be correct behaviour, and will only affect systems which actually do a "sense interrupt status" after a command-completion interrupt (like the (MESS) InterPro does). Report valid interrupt sense data after all interrupt-generating commands. Improved i82072 drive busy handling and motor control (machine\upd765.cpp).
- Intel 8255 PPI: Created 8255 PPI clone based on the (MESS) Amstrad Plus ASIC, and use it with the Amstrad Plus/GX4000 drives. Made device flags const. Clean up.
- MB3773 Power Supply Monitor: There is no reset input, so resetting the status of the variable tracking the external signal makes no sense. However we should probably restart the timer on all resets (instead of just at start/watchdog timeout), to avoid a watchdog reset if you press F3 at the wrong time.
- MC146818 RTC: Support direct-access bus hookup method. This chip has 8 address/data lines and an address/data strobe. Most users hooked it up so the low-order address bit is the address/data strobe, allowing you to write an address and then read/write data at an adjacent address. But if you don't mind using a few more gates you can latch the low-order address bits from the CPU into the chip then latch the data in or out of it so it works just like a RAM. The (MESS) DECstation did this in their I/O ASICs.
- NAMCO Custom (machine\namcoic.cpp)
. Converted ROZ tilemap code mangles into callback. Splitted config for each game when tilemap mangle is different. Reduced code duplication.
. Fixed Final Lap R title screen
. Fixed Lucky & Wild graphics
. Moved Metal Hawk swap xy function into gfxdecode. Fixed Metal Hawk zoom.
. Added C169 wraparound disable bit
. Moved Namco NB-2 hardware specific ROZ bankswitch into namconb1.cpp
- PowerVR 2: Improved color handling. Note: PowerVR2 represents color using two components: A base color and an optional offset color. The base color is combined with the incoming texture sample (if any) according to the fixed-function specified by the tsinstruction in the per-polygon parameters, and then the offset is added to this color (with the exception of alpha; the offset color has an alpha component but it does not appear to ever be used). The base color and offset color can be specified on a per-vertex basis (as either a group of four 8-bit integers or a group of four single-precision floating points) or they can be specified on a per-polygon basis (in floating-point only) and then scaled based on per-vertex scalar values (also floating point).
- SCSI CD-ROM: Added support for CD-ROMs with 512-byte blocks (machine\nscsi_cd.cpp). Older UNIX workstations used SCSI CD-ROM drives with 512-byte logical blocks instead of the now standard 2048. This change makes the block size configurable, and adds logic to translate logical blocks to/from the underlying 2048 byte sectors as needed. Added stub for "prevent/allow medium removal" command.
- SCSI Hard Disk: Minor fix for "inquiry" command (machine\nscsi_hd.cpp)
- Sega Custom
. 315-5124: Emulated bits of the status register for the number of the first sprite that overflows. Emulated sprite zoom limit of sega315_5124 VDP. Fixed inaccurate scrolling reproduced with Charles' scrolling test. Improved leftmost column color behaviour in mode 4 when fine scroll is applied. Implemented display modes 1 (text) and 3 (multicolor). Renamed vram_write()/vram_read() to data_write()/data_read(). Renamed register_write()/register_read() to control_write()/control_read(). Use "const" and the "BIT" macro where appropriate.
. 315-5313: Created a sega315_5313_mode4_device class to emulate some specific 315-5313 behavior in mode 4. Derivate sega315_5313_mode4 (MD) from sega315_5246 (SMS2) instead sega315_5124 (SMS1). Emulated some sega315_5313_mode4 timings and behavior verified with Flubba's VDP Test. Emulated sprite zoom limit of sega315_5313 VDP.
. 315-5377: Renamed GG VDP from sega315_5378 to sega315_5377 to match maintenance manual. Derivate sega315_5377 (GG) from sega315_5246 (SMS2) instead sega315_5124 (SMS1). Emulated some specific sega315_5377 timings verified on hardware.
- Seta SETA001 Sprites: Converted arrays into std::unique_ptr. Minor cleanups (video\seta001.cpp).
- Signetics SCN2674 AVDC: Added optional second space and associated buffers for attribute RAM
- Xicor X2212 256x4 NOVRAM: Eliminated MCFG_X2212 macros from drivers (balsente.cpp, ccastles.cpp, cloud9.cpp, firefox.cpp, foodf.cpp, irobot.cpp, jedi.cpp, quantum.cpp and starwars.cpp) and added pin diagram.
- Z80 SCC Channel
. Fixed transmit interrupt behavior that was locking up the (MESS) Apple IIgs
. Clear tranmitter interrupt if a written byte fills the FIFO. Fixes (MESS) Apple IIgs problems without breaking Intergraph.
- arachnid.cpp: Added NVRAM and correct clocks and CPU type
- argus.cpp
. Removed tilemap hack of Argus (tilemap size can be larger than 65536). Reduced RAM usage of argus tilemap.
. Moved Butasan tilemap scanning into TILEMAP_MAPPER_MEMBER
. Added MACHINE_NO_COCKTAIL tag because scroll is wrong when flip screen. Reduced code duplication. Fixed spacing.
- atarigt.cpp: Cleanup video. Converted m_expanded_mram into std::unique_ptr and m_is_primrage into bool.
- bbusters.cpp: Splitted mechatt_state (difference at tilemap size, number of sprite layer, gun in/output and used register). Cleanup duplicates. Reduced runtime tag lookups. Moved GFX byte-swap into ROM load.
- cidelsa.cpp: CDP1802 CPU interface overhaul. Replaced CDP1852 I/O callback macros with devcb3 bindings; use line write handler to clock output from TPB
- cischeat.cpp
. Reworked interrupt generation. Fixed attract mode desyncs in Big Run.
. Fixed Grand Prix Star stuck tyre sprite in attract mode bug
- galpani3.cpp
. Implemented/Fixed some effects. Fixes background color fading in intro and girl display in stage start.
. Added device_palette_interface for palette (video\kaneko_grap2.cpp). Minor cleanups.
- galpani3.cpp, jchan.cpp and suprnova.cpp: Implemented bitmap clearing disable bit (video\sknsspr.cpp)
- iteagle.cpp: Use callbacks to access IO ports
- lastduel.cpp: Cleanups. Fixed naming. Added PALETTE_DECODER for palette. Reduced code duplication.
- m107.cpp: Added buffered_spriteram16_device for buffered spriteram. Splitted address map/machine configs related to ROM size/bankswitch. Removed MCFGs (sound\iremga20.cpp). Minor cleanups.
- m92.cpp: Minor cleanups
- mappy.cpp: Use timer delegates instead of device_timer
- metalmx.cpp: Minor cleanup. Reduced duplicates.
- model1/2.cpp
. Screen indexes have flipped due to device replace instead of remove/add (layout\model1io2.lay)
. Allow layouts to specify screen tags rather than indices (emu\rendlay.cpp) - makes order of instantiation irrelevant in Model 1 etc.
- mpu4vid.cpp: Added optional second space and associated buffers for attribute RAM
- namconb1.cpp: Simplified tile bitswap. Moved Namco NB-2 hardware specific ROZ bankswitch (machine\namcoic.cpp) into Namco NB-1 driver. Minor cleanups.
- namcos2.cpp: Simplified tile bitswap (video\namcos2.cpp). Converted C116 to device. Fixed Final Lap boot.
- neogeo.cpp: Added edge connector pinouts
- nmk16.cpp
. Reduced code duplication and runtime tag map lookups
. Moved tilemap ram bankswitching into seperated value. Added save states and for protection values. Implemented sprite limitation. Simplified bit manipulations.
. Fixed Acrobat Mission palette size related to palette RAM size
. Added bad dump flag to roms in clone Thunder Dragon 3 (bootleg of Thunder Dragon 2) sourced from a different PCB
- peplus.cpp: Use output finder, removed timer_set and added save state support.
- play_2.cpp and play_3.cpp: Use TPB callback (CDP1802) instead of artificial clock
- realbrk.cpp: Fixed sprite priority and rotation bits. Added notes. Reduced runtime tag lookups.
- runaway.cpp: Added addressable latch
- seattle.cpp and vegas.cpp
. Make io member naming consistent
. Reinstate hastily removed eat_cycles to audio\dcs.cpp. Fixes DCS2 sound hardware test failed in War: The Final Assault.
- sigmab52.cpp: Fixed framerate to 60 Hz
- srmp2.cpp: Minor cleanups
- suprnova.cpp: Restricted bitmap drawing to clipping rectangle (video\suprnova.cpp). Minor cleanup.
- taito_b.cpp
. Update/Cleanup driver and video. Moved TC0180VCU functions from into video\tc0180vcu.cpp. Reduced unnecessary gfxdecode (in Nastar schematics, TC0180VCU GFX ROM is 32-bit wide (CH0-31 is connected by data bus)).
. TC0180VCU: Converted some arrays into required_shared_ptr. Internalized gfxdecode. Added notes
- taito_x.cpp: Split out common parts of memory maps and separated kyustrkr machine configuration. Reduced runtime tag map lookups.
- tmmjprd.cpp: Clean-up driver. Make the dead code actually compilable, if not runnable.
- unico.cpp: Variable and namings cleanups. Converted video RAMs into shared_ptrs. Reduced runtime tag lookups. Some ACCESSING_BITS cleanups. Added PALETTE_DECODER for palette.
- usgames.cpp: More specific CPU type
- williams.cpp and wmg.cpp: Removed hard-coded service button assignments and map to IPT_SERVICE buttons. IPT_MEMORY_RESET used for high score reset.
- Arkanoid: Updated documentation and replaced a75-23.ic14 MCU in clone Arkanoid (Japan, newer w/level select) with one created from an original MCU rather than the bootleg.
- Dig Dug: Use MCFG_DEVCB_RSHIFT for MCU DSW inputs
- Dragon Master: Cleanups. Reduced code duplication. Added PALETTE_DECODER for palette.
- Fortune Pot (Castle): Added 6821 PIA and RAM
- Game Magic: IDE works, basic system is usable now (machine\i82371sb.cpp)
- Iron Horse: Fixed framerate to 61 Hz (ID 04621)
- The Legend of Silkroad: Reduced redundant/unused code and ACCESSING_BITS checks
- Lucky Girl: Slight improvements to decryption
- Quiz Show: Verified m2 gfx rom
- Shanghai III: Reverted MACHINE_IMPERFECT_GRAPHICS flag for Shanghai III. Not that big of a reason to flag it as such.
- Stepping Stage Special: Added support for YUV422 colors. Clamp YUV422 conversion with std::min/max.
- Treasure Bonus: Added NVRAM, as verified on real hardware.
- Fixed rom names in artmagic.cpp, namcos2.cpp, raiden2.cpp and system1.cpp
- Description changes of Apache 3 (rev F), Apache 3 (Kana Corporation license, rev G), Ferrari F355 Challenge (twin/deluxe, preview), Safe Cracker (1.8 German sound) and Scramble (bootleg, set 1)
- Renamed (apache3a) to (apache3b) and (arescue) to (arescueu)
- MAME
. VIDEO RENDERING SYSTEM
. Improved behaviour in general for systems with two screens
. Reduces blowups in render\drawbgfx.cpp and make bgfx\chainmanager.cpp a little less crash-prone
. LAYOUT
. Allow layouts to specify screen tags rather than indices (emu\rendlay.cpp) - makes order of instantiation irrelevant in Model 1 etc.
. Allow per-device internal layouts. Input and screen tags are now resolved relative to a layout's owner device. Easy way to demonstrate is with: mame64 intlc440 -tty ie15. Previously you'd only get the IE15 terminal's layout and you'd be unable to use the INTELLEC 4/40 front panel. Now you'll get the choice of layouts from both the system and the terminal device in video options.
. Allow user variables and repetition in layouts, also add a few more predefined variables.
. Allow repeating elements and groups - useful if you need e.g. a lot of numbered labels, but it limits complay.py's ability to check for invalid references as it can't evaluate expressions.
. Disabled multiple constructor warning for rendlay.cpp (scripts\genie.lua)
. DEVCB3
. There are multiple issues with the current device callbacks:
. They always dispatch through a pointer-to-member
. Chained callbacks are a linked list so the branch unit can't predict the early
. There's a runtime decision made on the left/right shift direction
. There are runtime NULL checks on various objects
. Binding a lambda isn't practical
. Arbitrary transformations are not supported
. When chaining callbacks it isn't clear what the MCFG_DEVCB_ modifiers apply to
. It isn't possible to just append to a callback in derived configuration
. The macros need a magic, hidden local called devcb
. Moving code that uses the magic locals around is error-prone
. Writing the MCFG_ macros to make a device usable is a pain
. You can't discover applicable MCFG_ macros with intellisense
. Macros are not scoped
. Using an inappropriate macro isn't detected at compile time
. Lots of other things
. This changeset overcomes the biggest obstacle to remving MCFG_ macros altogether. Essentially, to allow a devcb to be configured, call .bind() and expose the result (a bind target for the callback). Bind target methods starting with "set" repace the current callbacks; methods starting with "append" append to them. You can't reconfigure a callback after resolving it. There's no need to use a macro matching the handler signatures - use FUNC for everything. Current device is implied if no tag/finder is supplied (no need for explicit this).
. Lambdas are supported, and the memory space and offset are optional. These kinds of things work: .read_cb().set([this] () { return something; }), .read_cb().set([this] (offs_t offset) { return ~offset; }), .write_cb().set([this] (offs_t offset, u8 data) { m_array[offset] = data; }) and .write_cb().set([this] (int state) { some_var = state; }).
. Arbitrary transforms are allowed, and they can modify offset/mask for example: .read_cb().set(FUNC(my_state::handler)).transform([] (u8 data) { return bitswap<4>(data, 1, 3, 0, 2); }) and .read_cb().set(m_dev, FUNC(some_device::member)).transform([] (offs_t &offset, u8 data) { offset ^= 3; return data; }).
. It's possible to stack arbitrary transforms, at the cost of compile time (the whole transform stack gets inlined at compile time). Shifts count as an arbitrary transform, but mask/exor does not.
. Order of mask/shift/exor now matters. Modifications are applied in the specified order. These are NOT EQUIVALENT: .read_cb().set(FUNC(my_state::handler)).mask(0x06).lshift(2) and .read_cb().set(FUNC(my_state::handler)).lshift(2).mask(0x06).
. The bit helper no longer reverses its behaviour for read callbacks, and I/O ports are no longer aware of the field mask. Binding a read callback to no-op is not supported - specify a constant. The GND and VCC aliases have been removed intentionally - they're TTL-centric, and were already being abused.
. Other quirks have been preserved, including write logger only logging when the data is non-zero (quite unhelpful in many of the cases where it's used). Legacy syntax is still supported for simple cases, but will be phased out. New devices should not have MCFG_ macros.
. Standardized "On"/"Off" items in UI menus. "On" is now consistently to the right of "Off", as with dipswitches.
. Moved ROM loading macros to romentry.h and removed romload.h from emu.h
. Backend modernization (emu\emumem.cpp). Ensure split accesses are always done in increasing addresses order (emu\emumem_heu.cpp).
. Eliminated MCFG_DEVICE_VBLANK_INT and use MCFG_SCREEN_RAW_PARAMS in avalnche.cpp, canyon.cpp, nitedrvr.cpp, skydiver.cpp and sprint2.cpp
. Removed MCFG macros in 1942.cpp, machine\315_5649.h, arkanoid.cpp, asuka.cpp, beezer.cpp, c140.cpp, c45.cpp, coolridr.cpp, ddenlovr.cpp, dynax.cpp, fitfight.cpp, flicker.cpp, fruitpc.cpp, homedata.cpp, sound\iremga20.cpp, kurukuru.cpp, m72.cpp, m90.cpp, macs.cpp, magtouch.cpp, cpu\mcs40\mcs40.h, metro.cpp, mlanding.cpp, model2.cpp, model3.cpp, mtouchxl.cpp, namco_c116.cpp, namco_c139.cpp, neogeo.cpp, opwolf.cpp, pcat_dyn.cpp, piratesh.cpp, rbisland.cpp, segas32.cpp, shisen.cpp, slapfght.cpp, sound\sp0256.h, taito.cpp, taito_f2.cpp, taito_x.cpp, taitoair.cpp, machine\taitocchip.h, upd7810.h, cpu\nec\v53.cpp, vigilant.cpp and volfied.cpp
. Removed timer_set() in irobot.cpp, mappy.cpp, peplus.cpp and cedar_magnet.cpp
. Identified CPU type for darwin, ddragonb and maniach
. Updated hiscore.dat (plugins\hiscore\hiscore.dat)
. VGM player: Added support for GA20, RF5C68 and RF5C164. Fixed NMK112 banked table mask. Added PCM Write handler. Fixed PCM write command and address of chips. Reduced address space usage. Added sound cores to mame\virtual.lua.
- UNIX: Fixed crash when running a DRC CPU core under Emscripten (lib\osdlib_unix.cpp)
- MAC OS X: Fixed getting unwanted macros and out of discovered "check"
- Compiling
. Allow passing std::unique_ptr directly to save_pointer and remove now-superfluous .get() in many drivers/devices (emu\save.h and emu\device.h).
. Made many class members private and removed dead code exposed. Fixed Clang build [-Werror,-Wunused-private-field]. Some private -> protected are needed for derived classes.
. Reduced runtime tag lookups for champbwl.cpp, lastduel.cpp, nmk16.cpp, seattle.cpp, seta.cpp, srmp2.cpp, taito_x.cpp, thedealr.cpp, vegas.cpp, machine\iteagle_fpga.cpp, midwayic.cpp and audio\cage.cpp
. Eliminated machine().device usage in chihiro.cpp, megazone.cpp and machine\namco_c148.cpp
. emu.h must be the first thing in a compilation unit and nowhere else, or behaviour becomes inconsistent between MSVC and GCC due to how pre-compiled headers are handled in MAME.
. Misc cleanup and devcb3 prep. Stuff to make macro removal easier.
. Fixed building with Clang 6.0.1 and Microsoft Visual Studio 2015
. Added AppVeyor badge back to README.md (https://ci.appveyor.com/project/startaq/mame)
. Allow multiple digits in components of Clang version (makefile)
. Updated WebAssembly parameters for current Emscripten (scripts\src\main.lua)
. srcclean and some cleanup
. Make more #include guards follow standard format - using MAME_ as the prefix makes it easy to see which ones come from our code in a preprocessor dump, and having both src/devices/machine/foo.h and src/mame/machine/foo.h causes issues anyway
. Get #include "emu.h" out of headers - it should only be the first thing in a complilation unit or we get differences in behaviour with PCH on/off
. Added out-of-line destructors to some devices - it forces the compiler to instantiate the vtable in a certain location and avoids some non-deterministic compiler behaviours
- Debugger
. Removed running_machine::device() call in QT debugger (debugger\qt\deviceinformationwindow.cpp)
. Fixed some watchpoints (debug\debugcpu.cpp)




"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."





MASH
MASH
Reged: 09/26/03
Posts: 1776
Loc: Germany
Send PM


MAMEinfo 0.201GIT (22nd Aug) new [Re: MASH]
#378253 - 08/22/18 01:50 AM


MAMEINFO.DAT

* Updated to MAME 0.201GIT - http://git.redump.net/mame/log/

* Added Source/Listinfo changes

* Newest Bugs (21st Aug)

* Added Visual PinMAME v3.1 emulator infos

* Added/Fixed 'Recommended Games'

* Fixed Mameinfo.dat infos



Download at: http://mameinfo.mameworld.info/

MAME Testers at: http://mametesters.org/view_all_set.php?sort=last_updated&dir=DESC&type=2



0.201GIT

- New games: A Day In Space (31/03/87) and The Burning Cavern (31/03/87)
- New Working games: Psychic Force EX (Ver 2.0J)
- New Non-Working games: F-Zero AX Monster Ride
- New clones: 18 Wheeler (deluxe), 18 Wheeler (deluxe) (Rev T), Asian Dynamite / Dynamite Deka EX (older), Astro Blaster (version 2b), Biomechanical Toy (Ver. 1.0.1870), Club Kart: European Session (Rev C), Crash (Alt), Devastators (ver. 2), Dog Fight (Orca, prototype), Flicky (64k Version, on Up'n Down boardset), Golfing Greats (US, version K), Hacha Mecha Fighter (19th Sep. 1991, protected, set 2), Halley's Comet (Japan, prototype), The House of the Dead 2 (Export), Ikari Warriors (US, set 2), The King of Fighters 2002 Unlimited Match (Japan), Mario Bros. (bootleg on Ambush Hardware, set 2), Master Boy (1987, Z80 hardware, set 1), Pool 10 (Italian, set 9), Ring Out 4x4, Super Shanghai Dragon's Eye (World), Tecmo World Cup '90 (Euro set 3), Virtua Striker 2 Ver. 2000, War Mission (WM 09/04/87), World Cup Volley '95 (Asia v1.0), World Grand Prix (World), WWF WrestleFest (US) and Zombie Revenge (Export)
- New PinMAME games: Night Fever and Third World
- New devices: a1200kbd_rb, a2000kbd_de, a2000kbd_dk, a2000kbd_gb, a2000kbd_se, a2000kbd_us, a2052, a2091, a2232, a500_kbd_ch, a500_kbd_de, a500_kbd_dk, a500_kbd_es, a500_kbd_fr, a500_kbd_gb, a500_kbd_it, a500_kbd_no, a500_kbd_se, a500_kbd_us, a590, amiga_ar1, amiga_ar2, amiga_ar3, amiga_dmac, amiga_kbd, arm710a, buddha, cr511b, exp_slot, gayle, idt71321, m65ce02, m68hc05c4, m68hc05c8, m68hc705c8a, orca_ovg_40c, pls100, rf5c164, tpi6525, xr68c681, zorro_slot and zorro2
- New Cheat.dat: http://www.mamecheat.co.uk/
- Hitachi H8 CPUs: Added H8/3003 support
- Hudson Soft HuC6280 CPU: Internalized peripherals and sound
- Intel I386 CPU
. Fixed a bug that could cause a relatively common CPU detection check to see a 386 as a 486. Fixed a dead code bug.
. Added Athlon XP processor
- Intel I486 CPU: XADD instructions must set flags based on sum result (i386\i486ops.hxx). This is required by Windows XP setup.
- Intel i860XR: Hotfix for coverity issue (cpu\i860\i860dec.hxx)
- MC6809 CPU: Disassembly tweaks: Use FCB directive to represent illegal opcodes. Removed unnecessary spaces for instructions without operands (m6809\6x09dasm.cpp).
- MOS Technology M6502 CPU: Added MCU capabilities
- NEC V33/V53 CPUs
. Emulated V33/V53 expanded addressing mode, including BRKXA and RETXA instructions.
. Start pushing down V33/V53-specific memory stuff into a new base class
. Added 8-bit mappings to V53 for internal peripherals and save associated registers
- PSX CPU: Hookup debugger_exception_hook and debugger_interrupt_hook
- Texas Instruments TMS57002 CPU
. Added instructions 3c/3d, make them behave as NOP as they're undocumented and not understood. Added undocumented instruction saom / raom, they set saturation mode for the ALU. Added a few unimplemented instructions.
. Fixes to make Taito Zoom DSP working. Implemented MACC pipeline. Added callbacks for dready, EMPTY and PC0 pins.
. Proper behavior of CMEM UPLOAD mode. Fixed an issue where program is not properly loaded if PLOAD is set after a program has already been written.
. Fixed a TMS57002/KonamiGX regression. Changed flag instructions back to type "2b" (cpu\tms57002\tmsinstr.lst).
- Toshiba TMP87PH40AN CPU
. Flesh out TLCS870 core. This added opcode execution for all TLCS870 opcodes that I previously wrote a skeleton of for the Hyper Neogeo 64 IO MCU, refactoring and cleaning code along the way. Flags still need verifying (and in some cases adding), CPU cycles for timing still need adding. TMP87PH40 specific peripherals (including interrupt handling) etc. still need adding. Overall this should move things forward and make it easier to work with tho, obviously with the goal of finishing it off and seeing if the dumped HNG64 IO MCU is suitable for all board types or not. ALU flags, passes internal RAM check. Interrupt wait loop depends on JF always getting set.
. Takes first interrupt. Bit of port interface guessing to pass port based shared RAM check. Added analog ports, fixed some TLCS870 exec issues. Start adding stubs for various tlcs870 features. Fake timer to push it along.
- Discrete sound
. Fixed DISC_555_TRIGGER_DISCHARGES_CAP option in DISCRETE_555_MSTABLE. This fixes the sound in Amazing Maze so that it plays for more then 30s (sound\disc_dev.hxx).
. Fixed filenames in DISCRETE_CSVLOGx and DISCRETE_WAVLOGx making them function again and use device->basetag() (sound\disc_sys.hxx).
- Hudson Soft HuC6280 sound: Added notes
- NEC uPD7759 sound
. Converted to use device_rom_interface and added md input for selecting between master and slave
. Finished hooking the UPD7759 up to the following drivers VGM player, Bay Route (encrypted, protected bootleg), E-Swat - Cyber Police (bootleg, set 1), Golden Axe (encrypted bootleg) and Passing Shot (2 Players) (bootleg)
- QSound (HLE)
. Fixed a couple of typos pointed out by Coverity (dsp16\dsp16fe.cpp)
. Saturate ROM offsets (sound\qsoundhle.cpp). Apply ADPCM sample bank (sound\qsound.cpp).
. Added improved qsound_hle core. Use ROM lookups instead of copying tables at init and use enums for most DSP ROM addresses. Replacing memset at the cost of legibility (sound\qsoundhle.cpp).
- Seta X1-010: Simpler handlers
- Sound stream: Fixed sound_stream::sample_rate(). Was broken since adding support for setting a zero rate, nothing appears to rely on it (emu\sound.h).
- Yamaha AICA sound
. Added input clock related to sample rate
. Implemented MONO/MVOL and EXTS mixing
- Yamaha YMF278B sound: Added device_post_load for FM part and device_clock_changed
- YMF292-F SCSP: Added device_clock_changed, support device_rom_interface, use correct clock frequency, "space" removal and fixed some endian issues.
- Cassette tape image: Allow cassette sound to be directly routed to a sound output (imagedev\cassette.cpp)
- Floppy
. Added debug asserts to help catch geometry errors (formats\flopimg.h)
. Fixed FIFO mess-up on unexpected FIFO pushes on HX5102 floppy drive (machine\upd765.cpp)
. Simplified API of machine\wd_fdc.cpp
- Imgtool
. Fixed parsing options with enum values. When parsing an enumerated option, we should use the parameter of the enumerated value, as an integer, instead of the raw identifier as a string. The behaviour probably changed around commit b60879e595 (2016-08-27), but modules still expect the old behaviour.
. Fixed off by one error with leap years (util\timeconv.h)
- Intel 8255 PPI
. Added handlers for strobed Port A/B reads in Modes 1 & 2, this allow some side effects to be disabled in Sindbad Mystery and Super Locomotive.
. Refactor to make clear the exact sequences of actions acka_r and ackb_r correspond to
- MB8421 SRAM: Converted callbacks to DEVCB3 and update to recent coding standards
- MC146818 RTC: Fixed problems with direct-access mode
- MC68681 DUART: Added Exar XR68C681 support to MC68681 with MISR register and extended baud rate
- Polygon rendering: Bumped up the default number of scanlines per bucket (video\poly.h)
- PowerVR 2: Turn some per-pixel branches into per-polygon branches. Note: In MAME 0.200 I did something stupid from a performance standpoint, which was to select the shading function on a per-pixel basis even though it can only change on a per-polygon basis. This commit uses c++ templates and inline functions to so that the compiler's constant folding can eliminate the switch statement that selects shading functions (thus making the choice a per-polygon one). I also did the same thing for the texture and bilinear filtering checks. This brings back a little less than half of the performance hit on my PC, so things still aren't as fast as they used to be. Benchmark (running a full cycle of Crazy Taxi NAOMI's attract) on my PC: Before MAME 0.200: 30%, after MAME 0.200: 23% and with this commit: 26%. Regarding the other 4% of the drop, that is coming from the pixel shading. When I hardcode powervr2 to always use shading instruction 0, performance jumps up to 29.5%, but when I hardcode it to use shading instruction 3 performance falls a bit down to 25%. Shading instruction 3 is the most complicated of the four and shading instruction 0 is the simplest, so I think that proves that the shading instructions themselves are a major bottleneck. I don't have any ideas about how to make them faster yet.
- PSX GPU: Use device_palette_interface. Real hardware is connected with triple 8-bit video DAC; so allow RGB24 display. Some old GPU has only 16bit video output. Fixed debug mesh display.
- Sega 315-5124: Minor fixes. Make code more consistent.
- Timekeeper
. Default input clock for all devices
. Converted M48T37 callbacks to DEVCB3 (atlantis.cpp and vegas.cpp)
- TMS9928A VDP: Configuration modernization: Replaced callback configuration macros with DEVCB3 (slightly shortening function names in the process). Changed configured clock to be twice the dot clock (as on hardware), rather than equal to it. Allow the VDP to configure the screen in device_config_complete (taking into account 60 Hz/50 Hz variations), making MCFG_TMS9928A_SCREEN_ADD_NTSC/_PAL macros obsolete. Added notes on clock outputs.
- Z80 SCC Channel
. Serial control signal fixes: /CTS, /DCD and /SYNC are active low lines represented as 1's in rr0 when asserted. Immediately deassert /RTS in some circumstances. Fixed rr1 "all sent" status handling. There is no ring indicator input line. Generated interrupts for /SYNC input. Fixed zbus access.
. Updated /WREQ when transmitter is enabled/disabled, use 0 for assert state of active low output.
- actfancr.cpp and dec0.cpp: Reduced code duplication
- cntsteer.cpp: Eliminated MCFG_DEVICE_VBLANK_INT
- dcheese.cpp: Corrected palette size. Reduced some runtime tag lookups. Cleanup naming etc.
- deco32.cpp: Fixed background color for Dragon Gun. Added notes to video\deco_zoomspr.cpp.
- hikaru.cpp
. Fixed AICA sound output and added XTAL connected with AICA. Correct number of AICAs (1x at motherboard and 1x at AICA PCB).
. Dumped Development / prototype BIOS v.074
- hng64.cpp
. Flesh out TLCS870 core. Added notes about MIPS side IRQ, sams64 IRQ and some IRQ addresses.
. Added DPRAM device. Added dualport ram device (really just gets treated as RAM, but on a technical level, it should be a device). Converted fake IO handlers to 8-bit, and ports to 8-bit since the real IOMCU reads 8-bit ports, the DPRAM is also 8-bit, and this should make transition to proper emulation easier later. Hook TLCS870 up to the dualport RAM device. Allow emulated TLCS870 to do the initial handshake with the MIPS instead of the simulation (takes a few seconds before ffwa allows coins now, but thats probably due to IRQ timing and timers being completely fake). Read a bunch of ports through the IO MCU instead of simulation. Start actually reading some inputs through IO MCU.
. Allow IOMCU to trigger MIPS IRQs. Removed coinage hack in Buriki One.
. Added save states to sound\l7a1045_l6028_dsp_a.cpp
. Misc cleanups. Added kludge so that Roads Edge and Xtreme Rally can be coined up and played without them crashing. Properly mapped inputs.
- konamigx.cpp
. Fixed a TMS57002/KonamiGX regression. Changed flag instructions back to type "2b" (cpu\tms57002\tmsinstr.lst).
. Hook up channels 3 and 4 of TMS57002. The Lethal Enforcers II schematics are not complete so I couldn't figure out exactly how they are connected to the sound chips and the DAC, but this sounds OK for now. Documented TMS57002 outputs.
- konamim2.cpp and vegas.cpp: Tidy-up terminal
- laserbat.cpp: Added PLS100 (82S100) PLA device
- m72.cpp: Overhaul V30/8751 comms using DPRAM and GENERIC_LATCH_8
- mainevt.cpp: Added proper screen parameters and some extra notes
- mastboyo.cpp: Cleaned-up the driver. Added remaining dipswitches allowing the initial test mode.
- naomi.cpp
. Added NAOMI Development / tester BIOS (Nov 1998), Ferrari F355 DLX prototype Japan and Export BIOSes, NAOMI Rev F Export BIOS and Ferrari F355 DLX prototype motor board firmware.
. Dumped Cycraft Motion PC software for Club-Kart and Initial D Arcade Stage Ver. 3 Cycraft Edition
- neogeo.cpp: Added start buttons to dial controller (bus\neogeo_ctrl\dial.cpp). This fixed start buttons don't work in Pop 'n Bounce (ID 07073)
- policetr.cpp
. Cleanup. Converted bitmap_ind8 for dstbitma. Cleanup pointer/runtime tag lookups/ACCESSING_BITs/naming. Added save states.
. Removed a no-longer-needed video check. Identified some unknowns ports.
- seta.cpp
. Converted X1-010 address XOR into LRW8. Simpler handlers for X1-010 sound.
. Implemented Caliber 50 PCMMUTE and NVRAM
. Fixed Twin Eagle music (timing is related to screen framerate) (ID 00867)
- seta.cpp and seta2.cpp: Added memory_banks for X1-010 bankswitching.
- taitogn.cpp and zn.cpp
. ZOOM ZSG-2 (sound\zsg2.cpp)
. Improved Taito Zoom ZSG-2 sound emulation. Implemented emphasis filter, this is a noise reduction scheme that amplifies higher frequncies to reduce quantization noise.
. Added sample interpolation and another adjustable lowpass filter. This seems to be roughly what real hardware does.
. Improved panning registers and identify DSP output gain registers. Register 0b appears to be status flags. Proper ramping implemenation and added register map.
. Attempt to reduced clicks
. Made the emphasis filter much more simple. I think this matches hardware, as a filter like this could be implemented with very few gates in hardware. Also reset the filter state when the sample position reaches the start address, this fixes Ray Crisis song #9.
. Clamp audio output to 16-bits. Optimized the filters. Saturated the emphasis filter output. Right shifting will cause unwanted noise.
. Discharge the output filter slowly when the cutoff is set to 0. Fixes popping noises in Ray Crisis song #12.
. Taito Zoom ZSG-2 sound board (audio\taito_zm.cpp):
. Added working DSP emulation. Reduced MCFGs. Added device_mixer_interface for sound gain. Added imperfect_features related to DSP and notes. Fixed TMS57002 clock.
. Adjust volume balance, hopefully fixing Psyvariar -Revision-. I would need hardware recording for proper verification though.
. Texas Instruments TMS57002 CPU
. Added instructions 3c/3d, make them behave as NOP as they're undocumented and not understood. Added undocumented instruction saom / raom, they set saturation mode for the ALU. Added a few unimplemented instructions.
. Fixes to make Taito Zoom DSP working. Implemented MACC pipeline. Added callbacks for dready, EMPTY and PC0 pins.
. Proper behavior of CMEM UPLOAD mode. Fixed an issue where program is not properly loaded if PLOAD is set after a program has already been written.
- tx1.cpp
. Fixed non-functioning shifter in Buggy Boy and Buggy Boy Junior (layout\buggyboy.lay and buggybjr.lay) (ID 07058)
. Fixed missing engine sounds in Buggy Boy and TX-1 (ID 07059)
- yunsung8.cpp: Minor doc update
- Battle Rangers: Removed unnecessary handlers, bank read/writes and added notes.
- Canvas Croquis: Fixed flip screen
- Come On Baby: Fixed CPU model so that it doesn't jump to 0 when it writes to a p6+ msr
- Decathlete: Implemented 315-5838 compression / encryption chip
- El Fin Del Tiempo: Various things: Use line callback instead of VBLANK_INT and acknowledge interrupt. Use (likely) addressable latches instead of pointers to (fake?) RAM. Added watchdog timer. Clean up audio CPU ROM region length.
- Eyes: Fixed gfx loading and color prom in clone Eyes (bootleg set 1)
- F1 Exhaust Note: Improved control
- Funky Ball: Use UART and RS232 port for diagnostic serial output
- Gondomania: Decapped MCU for clone Makyou Senshi (Japan)
- Mega Phoenix: Verified PALs as BAD_DUMP/protected
- PinMAME
. Various mrgame.cpp updates and modernizations. Screen raw parameters (circuitry is surprisingly similar to Galaxian). Addressable latch for video CPU. VBLANK callback instead of MCFG_DEVICE_VBLANK_INT (interrupt also acknowledged now). Separated machine configuration for World Cup 90, which now displays something.
. Use 'Generic ripple counter' device in play_2.cpp
- Psychic Force: Added a new e22-11.2 rom to clone Psychic Force EX (Ver 2.0J) (Game now playable)
- Spectar: Fixed explosion samples playing (audio\targ.cpp) (ID 07067) (ID 07068)
- Super Shanghai Dragon's Eye: Added PCB layout and corrected the clocks based off of actual OSC
- Twin Cobra: Verified OSC
- War Mission: Added new floppy image
- Fixed year info for pc_rrngr (ID 06192)
- Fixed rom names in cosmic.cpp, ddragon3.cpp, gaelco.cpp, toaplan1.cpp and yunsung8.cpp
- Description changes of Caliber 50 (Ver. 1.01), Club Kart: European Session (Rev A), The Combatribes (US, rev 2, set 1), The Combatribes (US, rev 2, set 2), The Combatribes (US, rev 1), The Combatribes (Japan, rev 2), Fever Chance (W-6), Golfing Greats (World, version L), Golfing Greats (Japan, version J), Halley's Comet (Japan), Hacha Mecha Fighter (19th Sep. 1991, protected, set 1), Halley's Comet (Japan, rev 1), Ikari Warriors (US, set 1), The King of Fighters - Fuchou Zhi Lu/Road to Revenge / The King of Fighters 2002 Unlimited Match (China), Mario Bros. (bootleg on Ambush Hardware, set 1), Master Boy (1987, Z80 hardware, set 2), Quiz Gakumon no Susume (Japan ver. JA1 Type H) (ID 06653), Ring Out 4x4 (Rev A), Tecmo World Cup '90 (World set 1), War Mission (WM 04/06/87) and WWF WrestleFest (US, rev 2)
- Renamed (ctribe1) to (ctribeua), (ctribeo) to (ctribeu1), (devstors2) to (devstorsx), (devstors3) to (devstorsv), (halleysc) to (halleyscja), (halleys) to (halleysc), (halleycj) to (halleyscj), (halley87) to (halleysc87), (mastboyo) to (mastboyoa), (sshangha) to (sshanghaj), (wcvol95) to (wcvol95j), (wgp) to (wgpu) and (wwfwfestb) to (wwfwfestub)
- MAME
. VIDEO RENDERING SYSTEM
. Better support for screen orientation/geometry
. Eliminates the need for the horizontal/vertical/LCD/SVG layout files
. Screens can now have orientation and physical aspect ratio specified
. RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time
. System orientation is applied on top of screen orientation
. Added save state support for std::array/C array nested to any depth
. Automatically generated single-screen views and orientation flags in XML output now work correctly for systems with multiple screens in different geometries/orientations, e.g. housemnq, rocnms, stepstag or netmerc.
. The "core rotation options" only interact with system orientation. Allowing multi-screen systems to work well with one monitor per emulated screen is a complex topic. System orientation also affects the GFX viewer while screen orientation doesn't. The orientation displayed in the system selection menu is from the system orientation.
. Make rectangle work better with constexpr, changed many things to use designated getters/setters.
. Ignore SVG dimensions (emu\screen.cpp)
. Clean up some corner cases in layouts with repeating blocks. Make complay.py validate many more elements and attributes. Make complay.py easier to use for just validating a layout. Removed redundant view from Sega VMU layout. Make buttons visually respond to input in (MESS) whousetc.lay. Added view with LED displays as well as terminal for (MESS) aim65_40 and use repeats. Start documenting layout format. Make highlights visible on white squares in (MESS) mephisto_modena.lay.
. Allow and to work on group references. Fix some corner cases where group bounds could be miscalculated and MAME could incorrectly refuse to instantiate groups.
. Calculated physical aspect ratio whenever required, not in device_config_complete, since the renderer caches the result anyway (emu\screen.cpp).
. DEVICE
. Removed timer_set() in orbit.cpp, seta.cpp, machine\namco50.cpp and namco53.cpp
. Use already present device_finder (machine\pcecommn.cpp)
. Removed some device tag look-ups from model3.cpp and machine\inder_vid.cpp
. Added device_clock_changed to sound\k053260.cpp, k054539.cpp, qsound.cpp, sn76496.cpp, ymf262.cpp and ymf278b.cpp
. HuC6272 device_add_mconfig modernization
. Added DEVCB3 support to MC6854, ataintf, MB89352 and WD33c93
. Set default clocks to 0 in machine\8042kbdc.h, i8255.h, idectrl.cpp, intelfsh.h, mb89352.h, ram.h, wd33c93.h and sound\volt_reg.h
. Removed legacy DEVCB accessors in 8042kbdc, MB89352 and MC6854
. Allow set_tag() with a reference or a pointer to a device (emu\devfind.h). Fixed the build by removing calls that don't exist when DeviceClass happens to be an interface (emu\devfind.h).
. Removed MCFG usage in actfancr.cpp, battlera.cpp, boogwing.cpp, cbuster.cpp, chexx.cpp, cninja.cpp, darkseal.cpp, dassault.cpp, dec0.cpp, deco32.cpp, dietgo.cpp, ggconnie.cpp, madmotor.cpp, model3.cpp, nsg6809.cpp, paranoia.cpp, rastersp.cpp, rohga.cpp, supbtime.cpp, tourvis.cpp, trvquest.cpp, uapce.cpp, vaportra.cpp, vectrex.cpp and machine\6522via.h, 6532riot.h, 6821pia.h, 68230pit.h, 68307.h, 6840ptm.h, 6850acia.h, 7200fifo.h, 7400.cpp, 7404.cpp, 74123.h, 74145.cpp, 74148.cpp, 74148.h, 74153.h, 74157.h, 74161.h, 74165.h, 74166.h, 74175.h, 74259.h, 74259.h, 8364_paula.h, aakart.h, adc0808.h, adc083x.h, adc0844.h, adc1038.cpp, adc1213x.h, akiko.h, am2847.h, am53cf96.h, am9519.h, amigafdc.h, ataintf.cpp, bankdev.h, cxd1095.h, idectrl.cpp, mos6551.h, pci-ide.cpp, ram.h and cpu\cosmac\cosmac.h
. Machine config modernization for cops, gameplan, gts3, gts3a, itech32, itech8 and jvh
. Converted 'Generic ripple counter', MB8421, MC68901 and M48T37 to DEVCB3. Added DEVCB3 accessors to I8279, YM2608, ES5503, TMS34061 and Z80 SCC
. Modern configuration accessors for COP400, NVRAM, TLC34076 and Watchdog
. Fetch screen to be potentially configured during device_config_complete. Allow device finder to be used as an argument for set_screen (emu\divideo.cpp).
. MEMORY SYSTEM
. Allow simplified versions of handlers
. A standard memory handler has as a prototype (where uX = u8, u16, u32 or u64): uX device::read(address_space &space, offs_t offset, uX mem_mask) and void device::write(address_space &space, offs_t offset, uX data, uX mem_mask). We now allow simplified versions which are: uX device::read(offs_t offset, uX mem_mask), void device::write(offs_t offset, uX data, uX mem_mask), uX device::read(offs_t offset), void device::write(offs_t offset, uX data), uX device::read() and void device::write(uX data). Use them at will. Also consider (DECLARE_)(READ|WRITE)(8|16|32|64)_MEMBER on the way out, use the explicit prototypes. Same for lambdas in the memory map, the parameters are now optional following the same combinations.
. Examples: bloodbro.cpp, cabal.cpp, dcon.cpp, legionna.cpp, pntnpuzl.cpp, r2dx_v33.cpp, raiden2.cpp, machine\6522via.cpp and audio\seibu.cpp
. Put capabilities at parity (emu\addrmap.cpp, devcb.cpp and emumem.cpp)
. Default input clock for 'Address Map Bank' (machine\bankdev.h)
. ROMLOAD: Fixed disk entry processing
. UI
. Make the software list "special" to prevent pausing while typing (ui\imgcntrl.cpp)
. Clean up some outdated "game" terminology in clifront.cpp
. Fixed incorrect "On/Off" color on "AutoFire Status" screen (ui\cheatopt.cpp) (ID 07069)
. Adjust indent of condition (mame\info.cpp)
. Multi-Language: Created a full Norwegian translation
- SDLMAME: Fixed debug assert failure when using SDL fullscreen toggle
- VGM player
. Added support for C140, OKIM6258, SCSP, X1-010, Y8950, YMF262 and YMF278B. Preliminary hook up of YM2610. Added QUICKLOAD and software list support. Start all clocks at zero and reset all sound chips on a song change. Note: This is damn sensitive code (emu\schedule.cpp and sound.cpp), and generates differences all over the place we don't really explain. The changes should be justified by themselves and tested in collaboration with Tafoid to ensure the differences are not a problem. Don't try to update m_totalcycles on devices with a zero clock, as it will crash (emu\schedule.cpp).
. All header sizes are valid for all versions from 1.50 on, as long as header has at least 64 bytes. If the VGM data starts at an offset that is lower than 0x100, all overlapping header bytes have to be handled as they were zero. Fixed OKI 6295 clock. Fixed VGM player don't crash on YM3438 songs. Updated warning checks.
. Skip writes for data that hasn't been loaded, fixes crash in Wally wo Sagase. Trigger the clock hacks on specific values, to avoid causing problems with correct files.
. Added all sound chips (including multiple instances supported by the vgm format) & all chips have been reordered into the vgm chip id order. ES5503/SAA1099/VSU now work but the other new additions are greyed out (these will require work to the sound cores themselves).
. WonderSwan sound is working now. Sound is muted when songs end
- Compiling
. Fixed Arcade build
. Extended the existing TUN/TAP OSD module (modules\netdev\taptun.cpp) to support Windows through the TAP-Windows6 driver (https://github.com/OpenVPN/tap-windows6)
. Fixed for undefined fmin & ceil on GNU Guix with GCC 5.5.0 (cpu\mips\mips3.cpp and ps2vif1.cpp)
- Debugger
. Use std::deque for token stack (debug\express.cpp)
. Moved scripting functions down into console (debug\debugcpu.cpp)
. Mask address expressions in debug disasm view (debug\dvdisasm.cpp)
. Mask address expressions correctly in debug memory view when using physical addresses beyond logical limits (debug\dvmemory.cpp)
. Don't apply logical address masks to physical addresses in debug memory accesses (debug\debugcpu.cpp)
. Fixed scrolling glitch in memory view when address expression is applied (debug\dvmemory.cpp)




"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."




Pages: 1

MAMEWorld >> News
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

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