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

MASH
MASH
Reged: 09/26/03
Posts: 1775
Loc: Germany
Send PM
MAMEinfo 0.200 :)
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."









Entire thread
Subject Posted by Posted on
* MAMEinfo 0.200 :) MASH 07/25/18 10:32 AM
. * MAMEinfo 0.201GIT (22nd Aug) MASH  08/22/18 01:50 AM

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