MAMEWorld >> News
View all threads Index   Flat Mode Flat  

MASH
MASH
Reged: 09/26/03
Posts: 1775
Loc: Germany
Send PM
MAMEinfo 0.222GIT (18th June)
06/18/20 06:53 PM


MAMEINFO.DAT

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

* Added Source/Listinfo changes

* Newest Bugs (18th June)

* Added/Fixed 'Recommended Games'

* Fixed Mameinfo.dat infos





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

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

Ashura-X's Nightly MAME builds: http://ashura.mameworld.info/nightlybuilds/builds.html



0.222GIT

- New games: Black Hole (EFG Sanremo), Super Motor (prototype) and TwinBee (Bubble System)
- New Working games: Bingo Time, Kick and Run, Tetris + Cherry Master (Corsica, v8.01, set 2), Witch Card (ICP-1, encrypted) and World Class Bowling Tournament (v1.30)
- New Non-Working games: Crazy Balls [TTL], Dardomania (v2.1), Densha de GO 3! Tsukin-hen (V2.03J), High Roller and Jackpot (Ver 16.16L)
- New clones: Air Duel (US location test, M82 hardware), Circus (bootleg), Cleopatra Fortune (Ver 2.1O 1996/09/05, bootleg), Dirt Dash (Rev. DT1 Ver.A, Japan), DonPachi (Japan, Satsuei version), FreeWay (V4.31), Gals Panic (Taiwan, EXPRO-02 PCB), Golden Par Golf (Joystick, V1.0), Hot Blocks - Tetrix II (set 2), Hot Blocks - Tetrix II (set 3), Jackie Chan - The Kung-Fu Master (rev 4?), Jackpot (Ver 1.16L), Karate Dou (Arfyc bootleg), 'Konglongwang - D-Kids VS Alpha Yaosai (China, Ver 2.501) (MDA-C0081)', Magic Bomb (Ver. A3.1A), Magic Bomb (Ver. AA.72D, 14/11/05), Magic Bomb (Ver. AB4.2, 11/10/01), Magic Bomb (Ver. AB4.5A, 07/10/02), Magic Bomb (Ver. L3.5S), Pit Boss Superstar (9221-12-02, Minnesota version), Police Trainer (Rev 1.3B, Rev 0.3 PCB), Prebillian (bootleg), Raiden II (Spain), Road Fighter (set 3, unencrypted), Shinobi (Datsu bootleg, set 3), Shuffleshot (v1.35), Shuffleshot (v1.38), Street Fighter (Japan, bootleg), 'Super Six Plus II English Mark Darts (Spanish)', Trivia (Questions Series 12 Alt Question Rom), Trivia (Questions Series 14 Alt Question Rom), Trivia (Version 1.03a Sex questions, Alt revision questions), Vampire Savior: The Lord of Vampire (Brazil 970519), Varth: Operation Thunderstorm (bootleg, set 2) and Video Pinball (4 ROMs version)
- New PinMAME games: The Raid (alternate set), Star Wars (1.01), Trebol and Twilight Zone (L-5)
- New drivers: crazybal.cpp, drdmania.cpp, jackpot.cpp, regama.cpp and smotor.cpp
- New devices: 24c512, c219, cxd1180, ds80c320, i8344, i87c51fa, jag_blitter, m24c02, m6512, m68hc705c4a, mbm29lv800b, pcd8572, pic17c43, pic17c44, sab80c535, sed1278_0b, w65c802 and zzzap_audio
- New Clrmamepro: https://mamedev.emulab.it/clrmamepro/#downloads
- CPU
. Analog Devices ADSP21062 'SHARC': Fixed DRC crashes in DEVNOCLEAR debug builds
. DEC T11: More accurate emulation of interrupt acknowledgment. Added PF and HLT interrupts. This is accurate behavior for the T11, but it makes some of the driver changes a bit more awkward than they probably should be, given that one device is standing in for every CPU vaguely related to the PDP-11 family. Galaxy Game obviously wasn't written for a T11, and the BK-0010's K1801VM1 doesn't look like a lot like the T11 either. Changed default interrupt vector.
. Hitachi HD6309: Removed 0x20 opcode (m6809\hd6309.ops). Note $1020 is an illegal opcode on the 6309. On the 6809 it is a rarely used form of LBRA. I tested on a real 6309 and $1020 vectors to Illegal.
. Hyperstone: Fixed DRC crashes in DEVNOCLEAR debug builds
. Intel 8085A
. Stop in debugger after an interrupt is taken, not immediately before.
. Interrupt updates: Eliminated special-casing and three-in-one loading of CALL (and JMP) vectors in favor of fetching each byte in succession like a normal instruction. Added INTA callback, called only when INTR (and not any other interrupt) is acknowledged. Enforce that TRAP (NMI) must be held at a high level until acknowledgment.
. Intel 8086: Correct a fortuitously harmless typo in state registration (i86\i86.cpp). Updated m_prev_ip (and therefore CURPC) after taking interrupt. Added exception hook for debugger gex command.
. Intel 8086/80186/80286: Don't automatically clear IRQ state upon acknowledgment (i86\i86.cpp). Added byte registers to debugger state and improved tracking of previous PC for debugger. Added exception hook for debugger gex command.
. Intel 80186: Initialized variable as needed to avoid timing regression in some leland.cpp games in debug DEVNOCLEAR builds (i86\i186.cpp)
. Intel 80286: Don't clear INT state upon acknowledgment and added exception hook for debugger (i86\i286.cpp). Updated m_prev_ip (and therefore CURPC) after taking interrupt.
. Intel i960KB: Added missing opcodes. Rewrote disassembler (i960\i960dis.cpp). Added partial support for all IAC messages (i960\i960.cpp).
. MCS-51: Added Dallas DS80C320 HSM, Siemens SAB80C535 and Intel 8344AH RUPI-44 disassemblers (cpu\mcs51\mcs51.cpp)
. Microchip PIC16/17: Added disassembler for PIC17 family and preliminary PIC17C4X emulation. Added a PIC16C70 disassembler.
. Mitsubishi M37710S4: Rename some registers to agree with Mitsubishi documentation. NOP unused SFR area. Actually SFR area 2-9 is external on some chips.
. Motorola Atari Jaguar GPU 'Tom': Added notes of debugging feature. GPU code can be executed out of external RAM. Reference: Midsummer Technical Reference Manual.
. Motorola MC6801
. Clear OCF when output compare register is rewritten, not read from. Fixed #define TOH.
. Removed hack, the real cause of (MESS) Coleco Adam locking up at boot was fixed recently with TCSR_OCF clear. TCSR upper 3 bits are read-only.
. Motorola MC6809: Fixed broken ROLD/RORD opcodes (m6809\konami.ops)
. Motorola MC68000: Added exception hook for debugger gex command (m68000\m68kcpu.cpp). Added fmod instruction (m68000\m68kfpu.hxx).
. Motorola MC68HC05Cx: Simplified handler signatures. Added MC68HC705C4A type (m6805\m68hc05.cpp).
. NEC Vxx: Added exception hook for debugger gex command. Added byte registers to debugger state. Improved tracking of previous PC for debugger. Use more NEC register names.
. Sony PSX CPU: Switched PlayStation CPU over to memory_access_specific
. Texas Instruments TMS9995: Fixed different behaviour of the (MESS) tutor.cpp driver in the DEVNOCLEAR branch
. Texas Instruments TMS32031: Added/Correct notes for internal peripherals and chip family differences. Fixed chip name (no NMOS variant exists) and some descriptions. Fixed Microcomputer mode when 320C30 internal ROM is empty. Reference: TMS320C3x User's Manual.
- SOUND
. Atari CAGE: Fixed [debug] assertion in 'San Francisco Rush' and 'San Francisco Rush: The Rock' (audio\cage.cpp) (ID 07668)
. ICS2115 WaveFront Synthesizer
. Added imperfect_features related to incorrect/unverified interrupt, interpolation and ramping Interpolation issue is most noticeable in Cave PGM hardware game music (sound\ics2115.h).
. Use device_memory_interface for fetch external samples. Use device_memory_interface for later DMA and DRAM interface support. Allow ulaw interpolation (some instrument sound samples in IGS PGM Motherboard sound ROM is u-law). Added notes. Reduced duplications.
. K053260 KDSC: Fixed panning, interrupts and general volume for The Simpsons.
. Namco C352: Allow byte accessing. Modernized save states. Added notes. Use shorter/correct type/argument values.
. Namco 54XX: Increase the length of the Namco 54XX IRQ to fix Bosconian shot sound regression
. OKI ADPCM: Added looped sample support. Allow reading current output without decoding. Fixed initial values and descriptions (sound\okiadpcm.cpp)
. QS1000: Added save state related to loop support (disabled currently)
. N2A03 APU: Correct noise algorithm
. Ricoh RF5C164: Verified default register map (datasheet). Implemented some chip variant differences. Implemented RF5C164 default register map (Reference: RF5C68 Datasheet and Mega CD hardware manual PCM sound source). Use STRUCT_MEMBER for state saving.
. Ricoh RF5C400: Fixed wrong bus width (sound\rf5c400.h)
. SSi TSI S14001A: Zero-fill variables, fixes missing speech in some (MESS) Fidel chess drivers in DEVNOCLEAR builds.
- DEVICE
. 6522 VIA: Correct vocabulary, raise cb2 on shift in to make open-collector work correctly. Don't lose sync on edge count when the serial clock is external.
. 8042 Keyboard/Mouse Controller: Initilized variable that caused problems for the PCI PC drivers in DEVNOCLEAR builds (machine\8042kbdc.cpp)
. Atari Slapstic: Transfer legacy slapstic handling routines from machine\atarigen.cpp to device. Eliminated address_space argument from legacy read/write handlers (machine\slapstic.cpp).
. Discrete Netlist
. Fixed Clang-tidy warnings. Fixed some windows build issues in build\makefile. Improved const-awareness and tidy changes. Identified a number of code locations which could accept const arguments.
. Added 74163 4-bit counter, 74393 device and unit test.
. More code maintenance. Make some calls private which were public before. Eliminated functions which would be executed only once. Make terminal reference functions in twoterm.h return const. Clearly identify the use cases which need a non-const ref to terminals.
. Fixed "--cmd=listdevices". Broken for quite a while this is now working again (prg\nltool.cpp). Fixed documentation build on windows in makefile. Documentation should be created on Windows using make mingw PARAMS=doc. Admittedly this is ugly and the makefile needs to be changed to use something like "make HOSTOS=windows doc".
. Fixed some edge cases in static compile. Comes with a new version of static_solvers.cpp.
. Stub implementation of 566 VCO. Added NE566 to netlist.lua. Fixed output stage on NE566
. Added the NE566 as a macro device. The device can be found in nlm_other.cpp. Removed nld_ne566.*. Added SYS_SW, SYS_SW2 and SYS_COMP. These are single switch, alternating switch and a analog comparator with digital outputs. Renamed RES_SWITCH to SYS_SW. Added example ne566.cpp in netlist/examples.
. nld_log now writes out last value at end of run
. Fixed polarity issue in CCCS device. Note: This affects all use cases of CCCS.
. Faster LM3900 model (macro\nlm_opamp.cpp)
. Unknown parameters really should be fatal. Unknown parameters like Solver.ABCD now will cause a fatal error to be generated. Fixed unknown parameter on ne566 and VS 2019 build.
. Fixed a long standing bug in proxy/family code. This never materialized because proxies were always connected to GND in existing netlists (netlist\nl_base.h).
. Added simple ZDIODE model. The model is driven by three additional model parameters: NBV, IBV, BV. Example code how to define a typical 7.5V Zener diode: ZDIODE(ZD, "D(BV=7.5 IBV=0.01 NBV=3)") or NET_MODEL("A1234 D(BV=7.5 IBV=0.01 NBV=3)") ZDIODE(ZD, "A1234")
. Changed license for netlists in examples to CC0 (public domain). Moving over to Clang-tidy-11 and enabling more warnings.
. Adding prandom.h (PseudoRandom Number Generator (Mersenne Twister))
. Added two noise sources. The two sources act as voltage sources, though noise may also be injected as conductivy or current noise. SYS_NOISE_MT_U: Mersenne Twister uniform noise and SYS_NOISE_MT_N: Mersenne Twister normal noise. nld_sys_noise is templated: Using NETLIB_NAME(sys_noise_mt_u) = NETLIB_NAME(sys_noise);. Thus the approach is scalable. The implementation is state save aware, and thus reproducible results are guaranteed. An example use case is provided as well, see examples/noise.cpp.
. Restructered the save state system. This change makes state saving contract based. Objects which need to save state need to have the following template member: template void save_state(ST &st) { /* Example */ st.save_item(m_p, "m_p"); st.save_item(m_buf, "m_buf"); }. This member function is called when the object is passed to the state manager save function.
. Fixed two nlwav bugs. First one corrupted wav files produced on windows. The second one produced wrong sample integration results.
. New nlwav functionality: nlwav now supports 16 and 32 bit integer format (wav16s, wav32s) as well as 32 bit float format (wav32f). The "wav" format is no longer supported. Added support for high and low pass filtering the wav output. Dynamic volume adjustment (use "-a 0") --hpboost can suppress spikes at the beginning of the file (<10ms). The addition of the float format simplifies debugging significantly since it covers the whole dynamic format. Added nlwav to the local VS 2019 build.
. Added elif processing to preprocessor (plib\ppreprocessor.cpp)
. Moved nld_power_pins to nl_base.h. This removes a large number of dependencies on nlid_system.h.
. Reduced the usage of NETLIB_CONSTRUCTOR_DERIVED to implement dip package objects. This aligns the programmatic approach with the approach used in the macro folder, i.e. using netlists. Untangle model definition and interpretation as well. This changes are a first step in aligning models and families and thus simplify the source further.
. Fixed VCCS definition (netlist\analog\nld_fourterm.h)
. Removed family_setter. Naming alignment and family becomes model. Architecture cleanups. Reviewed reset logic. Pass truthtable family as string to factory. This is another set of changes on the path to align logic families and models. As a side effect, the object model now makes a clear distinction between analog models and logic models. The number of macros in nl_base.h has decreased significantly due to these changes.
. Provided more information for warning on connecting two terminals already on the same net
. Logic devices now support model parameter. This a big forward to allow reuse of code. Still a longer way to go but the foundation there. Also brings quite a number of simplifications and dead code removal.
. Added undef support to the preprocessor. Added support for empty #defines to preprocessor. Added detection and reporting of re-definitions (netlist\plib\ppreprocessor.cpp)
. Extended functionality and code cleanup: Working macro level parameters. Simplified code significantly. Fixed a number of hidden issue. Dead code removal. It is now possible to define netlist level parameters (see example). The code also has been prepared to allow something along the lines of LIBENTRY_MODEL(DM74LS00_DIP, DM7400_DIP, "LS74XX") to define a LS version on top of an DM7400_DIP bare TTL implementation. This however will need more efforts to existing devices to honour some timing adjustment in the model definition. It will already honour different output specifications between LS series and bare TTL if connected to analog components.
. Code cleanup to better separate the following stages: Parsing, setup and run. In addition preliminary native tristate support was added. Not yet production ready, please don't use it.
. Added 74377/74378/74379 devices to netlist. Re-do the 74377/8/9 as macros. Added devices CD4013, CD4069 and CD4070.
. Fixed Breakout SLOW_BUT_ACCURATE
. Rewrote rom devices from scratch. This is a rewrite from scratch for rom devices. It uses a generic template to implement rom devices which is used together with a description struct to define a rom device. This leads to highly efficient code since all information is available at compile time. This is also a step forward to support tristate outputs. All rom devices covered by this approach have tristate or open collector outputs and thus all code changes to support tristate outputs can now be made consistently in one file.
. Added working 74125 and 74126 implementations. These tristate buffers natively support tristate outputs. For use cases with fixed enable inputs the devices support a parameter FORCE_TRISTATE_LOGIC which if being set to 1 makes the device behave like a logic output. Added additional syntax and consistency checks for tristate outputs. Updated the example and added dip implementations including documentation.
. Improved typesafety for source locations. During object creation netlist tracks the source files which provide object creation. This is later used e.g. by nltool to create documentation from source.
. Added missing TTL_74125 definition (netlist\macro\nlm_ttl74xx.h). Added 7421 device.
. Improved timing accuracy for sound devices. Better alignment between netlist_time and attotime.
. Simplified factory call structure. This change will make it a lot easier to add enhanced functionality to the factory infrastructure. Using integral constants also improves linking stability. Improved syntax of generic device descriptors.
. Added tristate support for rom devices. Rom and prom devices now properly support tristate outputs. Native OC output still on the todo list. In addition this commit fixes a number of bugs around dealing with macro level parameters and improves documentation by adding a parameter table. Also srcclean.
. Consolidate 9316-type counters. This needs more attention since for certain compilers there is a considerable performance degregation. It looks like this is only triggered if too many variants are declared in one cpp file and the compiler stops inlining.
. Fixed performance issues and VC2019. For reasons unknown to me compile optimizations do not behave for template code. If the implementation is in separate compile units, the code compiles and performs.
. Better integretation of INT128. Moved penum into own header file (netlist\plib\penum.h).
. Pong (Rev E) [TTL] now peaks at 589% compared to 570% before. Amongst a number of improvements in nl_base.h and the 7493 was touched. Also has some code cleanup and hopefully faster compilation due to extern template declarations.
. Moved configuration entries into netlist namespace and netlist parsing where it belongs. Memory system cleanup.
. Fixed NVCC compile for 10.2. plists.h was splitted into plists.h, pmulti_threading.h and ptimed_queue.h. In addition removed plists.h from a number of files it wasn't used in. Certain minor adjustment needed to be made for CUDA toolkit 10.1 and 10.2.
. Refactored ppmf.h. Make more use of C++. Prepare coexistence of different delegate types. Untangle code. Reduced macro usage. Changed use of NETLIB_DELEGATE macro. The macro now has only one parameter, the local name of the delegate. Use callbacks to access terminals (debugger). Device factory enhancements. Factory elements can now pass additional parameters to device constructors. This makes the design of interface objects like analog callbacks easier. The change also allowed to remove some "deep" calls into the core from the MAME interface in netlist.h. Drop C++11 support. This wasn't working since the last factory changes. Removed it. Basically replace C14CONSTEXPR with constexpr. Moved multiparameter streaming into nl_interface.h. Clang-tidy, header order fixes.
. Enabled UTF7 filenames on windows. Fixed visibility of classes in nlid_system.h and tidy warning for penum. Reduced macro usage and make use of pstring UTF8. Fixed win float exceptions.
. More C++14, use enable_if_t instead of enable_if. Cleaned up the use of memory allocation arenas. Reduced MACRO usage, use std::conditional where possible. ppmf simplification. Arena code maintenance. Fixed MSVC build. MSVC has an issue with SFINAE and overloading resolution. A discussion can be found here: https://stackoverflow.com/questions/31062892/overloading-on-static-in-conjunction-with-sfinae. The previous code compiled with GCC and Clang on all platforms and compilers apart from MSVC. Replaced with double template specialization. Allow selection of base arena for pmempool_arena. Further optimize ppmf.h: Moved towards a pure c++ constexpr solution to derive the optimal pointer to member function solution. All the macro madness is centralized to a compile_info struct with static members. For the time being the evaluation result is compared against the previous approach. Going forward this will be dropped as well as the support for MINGW with GCC <= 4.6. Prepare path to non-virtual update functions.
. Fixed win32 compile and all targets without INT128 support
. Improved static solver performance by 5%. Use a more condensed matrix format for go, gt and Id matrices. In addition, optimize the static compilation code. Make fostrm actually write to file.
. Performance improvement and refactoring: Kid Niki now achieves up to 910% when run with static solvers and with nltool. That is significant better than the 860% we have seen previously. This increase is driven by using a global memory pool in the solver code. In addition the following refactoring and code maintenance work is included. Please excuse the large commit, some of this took interfered with other work and the detail development steps were ugly. GSL support: This commit adds pgsl.h which implements a very limited number of the functionality of the gsl header described in the C++ core guidelines. Clang-tidy fixes. A significant refactoring of palloc.h. Aligned hints were removed, they added complexity without a significant performance gain. Vector operations should better be done on special spans/views. The code has been tested on linux with G++-7, G++-9, Clang-11. On Windows MinGW-10, VS2019 and OSX Clang-11.
. Fixed for some compilers not being CWG 1579 compliant (netlist\nl_setup.cpp). Fixed copy elusion bug on OSX and Clang < 8. Solution discussed with AJR in chat (machine\netlist.cpp and nl_setup.cpp).
. Floppy
. Improved HLD behavior, always activating output at start of type II & III commands. Use attotime::to_string instead of custom time-to-string method and fixed command logging messages (machine\wd_fdc.cpp).
. Improved HLD/HLT handling, fixed FD1771 timings and enable spinup_on_interrupt. Do not delay SEEK with no Verify flag. Improved write protection. set BUSY during initial restore to make it correctly interruptable (machine\wd_fdc.cpp).
. Accept new commands while in busy state, workaround for spurious recursive calls if HLD used for drive motor control, don't change track and data registers during reset (machine\wd_fdc.cpp).
. GP9001 VDP: Fixed GP9001 sprite drawing, fixes Truxton II sprites flicker or disappear during certain parts of the game (ID 07642).
. Hitachi HD44780 A00 LCD Controller: Allow function set register to be updated again right after changing the data length. Allow function set register to be updated again right after changing the data length.
. I2C Memory: Created i2cmem sub classes for all used device types, fixed the buffer sizes that were wrong, removed the methods for modifying the data & buffer sizes and changed the drivers to use the correct types.
. Intel 8156 RAM, I/O & Timer: Allow writes to port registers to alter latches whether or not output mode is configured. Turn logging back off.
. Intel 8259 PIC
. Z80/8085 slave PICs need 32 bit vectors. Emulated three-cycle acknowledge for non-8086 mode (machine\pic8259.h).
. Moved recently-introduced inta_call hack down into the only Z80-based driver that still needs it. The hardware-accurate way of synthesizing multiple INTA pulses in a Z80 system (which involves rerouting what would otherwise be normal memory reads) is not so simple and deservedly rare.
. Intel 8279 KDC: Keyscan overhaul: Improved handling of multiple key depressions. Emulated debounce cycles (emulation partly disabled due to MAME updating inputs only once per frame). Added switch closed status flag for sensor matrix mode.
. K037122 2D Tilemap: Updated K037122 hardware information. Added screen raw parameters (verified in both 3DFX Voodoo and K037122 display timing parameters).
. K052109 Tilemap Generator: Correct video clocks (drivers\simpsons.cpp and video\k052109.cpp)
. K056230 LANC: Misc demacroization. Documentation updates.
. Keyboard
. Fixed typos in PORT_CHAR definitions (machine\keyboard.cpp)
. Fixed for UI Paste with the Default Serial Terminal (emu\natkeyboard.cpp). This fixes the ability for one to use UI Paste with the Default Serial Terminal. Without this fix, 8 characters @^&()\:" cannot be pasted from the UI.
. Konami PowerPC Common Functions: Removed 7seg LED hack (machine\konppc.cpp)
. MC6850 ACIA: DRE should read clear in reset and set coming out of reset. Fixes a lockup running UniFlex on the SWTPC09. Tested on hardware, the TDRE flag reads as zero in the reset state and reads as set when taken out of reset, and even if data has been written to the data register while in the reset state.
. Motorola MC6845 CRTC: Max visible lines might not be what really is displayed, see 8088mph (ibm5150.xml Software list).
. Namco C140
. Updated data bus behavior and support 12 bit PCM. Verified from Assault (namcos2.c) schematics. Added/Updated notes. Use shorter/correct type values. Fixed address/data bus bits and modernized save states. Fixed spacing. Reduced unnecessary lines and duplicates. Moved little endian interface in c140.h. Moved bankswitch behaviors in each drivers. Reduced noisy sound regression in previous commit remain in vgmplay for compatiblity. Implemented some features from QuattroPlay by superctr. Splitted sound stream update and host interface.
. Fixed C140 input clock source according to crystal for gal3.cpp and namcos21*.cpp. Added notes.
. Namco 50xx/51xx/52xx/53xx/54xx/05xx: set_input_line is synced, don't need extra synchronize.
. NVRAM: Don't save 0byte file (machine\nvram.h, emu\dinvram.h, machine\rp5c01.h and emu\machine.cpp)
. PSX GPU: Initialized a couple of variables that were causing problems in DEVNOCLEAR debug builds
. Signetics SCN2674 AVDC: Delayed commands use display pointer address, not screen 2 address.
. Voltage Regulator: Fixed problem with DAC stream slice update (sound\volt_reg.cpp)
. Z80 SCC Channel: Don't invent data (m_rx_fifo_rp_step). Clear IUS not IP.
- 40love.cpp: Use MB14241 device
- 8080bw.cpp: Periodic timer can't be adjusted (audio\8080bw.cpp)
- aleck64.cpp: Initialized variable that caused problems in DEVNOCLEAR debug builds (machine\n64.cpp)
- atarifb.cpp: Improved interrupts, LED multiplexing and sprite raster effects (ID 01731).
- atarisy1.cpp
. Some of the BIOS roms were wrong (136032.105.l13, 136032.115.j10 and 136032.107.b2) (ID 07656). Clone Road Blasters (cockpit, rev 1) also expects LSI BIOS.
. Fixed Road Blasters steering wheel does not auto center. The RoadBlasters steering wheel is very much like the Star Wars yoke, without the vertical (Y) axis (ID 07671)
- cdi.cpp
. Various CD-I changes: Started hooking up the Quizard MCU. Renamed CDI_SLAVE to CDI_SLAVE_HLE in prep for an LLE device. Added more comprehensive notes to the driver. Removed NO_DUMP cdic.bin as the CDIC is apparently not an MCU. Copied SERVO and SLAVE MCUs into cdimono1 set from cdi910 set and marked with BAD_DUMP. Replaced protection HLE with proper MCU hookup. Philips SCC68070: Improved UART Tx/Rx behavior, though it still functions in parallel rather than serial.
. Initial changes to get Quizard 3 and Quizard 4 Rainbow working. More CDIC fixes, (MESS) Hotel Mario now has correct audio (machine\cdicdic.cpp).
- chihiro.cpp
. More precise implementation of rcc and rcp vertex shader instructions. Moved poly_manager dependency to new nv2a_rasterizer class (video\xbox_nv2a.cpp). Fixed "xbox vprogdis" debug command (machine\xbox.cpp). Added placeholder for methods 1e80-1e90 (video\xbox_nv2a.cpp).
. Added debugger command "xbox vdeclaration", used to decode the vertex shader declaration stored at a certain address (machine\xbox.cpp). Some refactoring before modifying vertex data reading (video\xbox_nv2a.cpp).
. Big update to chihiro/xbox 3D graphics: Vertex shader and pixel shader refactoring. Register combiners support multithreading. Corrected reading of vertex attributes. Perspective correct vertex attribute interpolation and texture mapping. Basic support for texture address modes. Secondary color and fog color available as inputs to pixel shader. Interpolate all 4 possible texture coordinates. Corrected order of vertices when drawing quad list primitives. Debug aid to write in a text file the vertex shader disassembly, input and constant registers values. To test the update enable the register combiners with the "xbox nv2a_combiners" debugger command. Try to remove GCC 7.2.0 warning (video\xbox_nv2a.cpp).
. Small 3D update: Read textures with pixel formats X8R8G8B8 and A8. More changes to vertex reading and processing. Corections to negative-w vertices clipping.
- chihiro.cpp, naomi.cpp and triforce.cpp: Eliminated get_read_ptr (machine\naomigd.cpp)
- cischeat.cpp
. Added OKI mirrors to Arm Champs II, fixing missing/erratic sounds.
. Fixed Scud Hammer/Arm Champs II irq and refresh rate to be measured 59.17 Hz instead of 30. Moved armchmp2 specific I/Os into own state machine, and demoted it to MNW because the arm input not exactly understood and not supposed to require user input at POST anyway.
- cps1.cpp: Fixed scroll offset for various SF2 bootleg sets (video\cps1.cpp)
- dec8.cpp
. Restoring coin-up sound
. Identified 3 bad bits in Captain Silver MCU dump, hooked up MCU.
- dkong.cpp: Use mirror() instead of trampolines in s2650_map
- ertictac.cpp (Archimedes): Switched Erotictac driver and (MESS) Archimedes 310 over to use machine\pcf8583.cpp, which is not currently based on i2cmem.cpp but might be worth merging in the future.
- gaelco2.cpp: Fixed analog controls don't work (ID 07675) and audio channels are flipped (ID 07676) (machine\gaelco2.cpp)
- gaiden.cpp, tecmo16.cpp, suprnova.cpp
. Moved delayed sprite drawing function into screen_vblank
. Use generic gfx layout in suprnova.cpp. Fixed CPU clock related to XTAL. Use device for screen.
- gei.cpp: Documented Trivia sets series 12 through 19. Sorted out question ROMs as per documentation results in 3 new clones. Added lots of misc information to various sets. Correct a couple of comments.
- hornet.cpp
. Added screen raw parameters (verified in both 3DFX Voodoo and K037122 display timing parameters)
. Added notes for Silent Scope screen. Fixed raw parameters.
- igs009.cpp: Make use of arrays and templates
- jaguar.cpp: Moved I/O handlers to specific maps, untangle register array usage, to be completed. Nuke duplicate I/O accesses, rename to iobus_r/w, make go_w to be an actual line. Fixed addqmod & subqmod modulo mask for DSP. Refactor TOM to host CPU function, and fix GPU irq lv 3 when a GPU object is encountered. Fixes mutntpng and atarikrt booting. Fixed Jaguar irq line to 2, trusted. Start reworking the blitter. Relicensed to BSD.
- kikikai.cpp: Hooked up Kick and Run MCU. Split up kikikai class.
- leland.cpp: Initialized variable as needed to avoid timing regression in some Leland games in debug DEVNOCLEAR builds (i86\i186.cpp)
- maygayv1.cpp: Minor cleanups
- merits.cpp: Updated CPU type and PCB notes
- model3.cpp: Added screen raw parameters
- namcona1.cpp: Replaced Namco C140 sound with C219
- namconb1.cpp
. Reduced duplicates. Moved virtuals under protected. Use shorter/correct type values and fixed spacing. Converted sprite bank delaying behavior into unique_ptr. Removed unnecessary device.
. Fixed animation glitch in Mach Breakers (ID 07369)
- namcos22.cpp
. Changed SS22 poly/sprite spot a bit better. Mitsubishi M37710S4: NOP unused SFR area. Actually SFR area 2-9 is external on some chips.
. Tweak some analog minmax (acedrvrw, raveracw, ridgera2, ridgerac and victlapw)
- naomi.cpp
. NAOMI2 USA BIOS Rev.C and Korea BIOS Rev.B dumped
. Dumped Namco JYU2/SWP JVS I/O board firmware for Ninja Assault (World, NJA2 Ver.A)
- nbmj8688.cpp: Removed empty debug function
- neogeo.cpp: Neo-Geo documentation updates (driver and hash\neogeo.xml)
- peplus.cpp: Fixed regression in peps0615 introduced in MAME 0.220, the game writes to the page buffer then sends a spurious start condition before the stop condition that writes the buffer.
- peyper.cpp: Simplified handler signatures and mask SL for reads
- pgm.cpp
. Added some hardware notes
. Switched Ketsui clones ketarr, ketarr10, ketarr15 and ketarr151 to 4 button inputs.
- phoenix.cpp and naughtyb.cpp: Fixed log messages and only log error by default (sound\tms36xx.cpp and audio\pleiads.cpp)
- redalert.cpp
. Audio updates (audio\redalert.cpp): More accurate emulation of 555-based IRQ timing. Use 6821 PIA device to generate sound IRQ in Demoneye-X. Simplify handler signatures.
. Various fixes
. Fixed Panther input labels, marked maincpu ROMs as bad and volum (sic) lever is vertical not horizontal. Reduced input defs. Added communication hand-shake and fixed audio mapping, emits a few sounds.
. Better Demoneye-X colors. Added bitmap layer. Fixed drawing order and tile banking.
- seattle.cpp and vegas.cpp: Input cleanups
- seta2.cpp
. Further work on zooming: Y zoom improvements. Fixed yzoom issue. Improved Penguin Brothers, break Guardians. Test Guardian improvement. Minor adjustment.
. Improved x enlarge cases (Penguin Brothers end of level and attract modes of Deer/Trophy/Turkey Hunting games etc.) (ID 07269)
. Fixed missing transition graphical zoom/spin effect in Wakakusamonogatari Mahjong Yonshimai (Japan) (ID 06456)
. Demoted 'Star Audition' to MACHINE_NOT_WORKING. Note: Game needs flipscreen hooking up properly with new code to function at all.
. Added notes for hardware configs and emulation issues in some game. Fixed clock for P0-113A PCBs.
- skylncr.cpp: Fixed [debug] assertion (ID 07664). Added arrays, templates and state saving.
- taitowlf.cpp: Updated documentation. Figuring out PCI comms between boards as well as reading the two program roms, u1 and u2, may prove tricky.
- tubep.cpp: Quiet logging and improved soundlatch. Added text and sprite drop shadow (video\tubep.cpp). Fixed "GAME OVER" display is skipped (ID 07620). Marked Tube Panic as MACHINE_IMPERFECT_SOUND. Fixed no sprites on left edge.
- turbo.cpp: Fixed 8279 clock
- twinkle.cpp: Physical aspect ratio should be 16:9. Fixed layout\bmiidx.lay.
- williams.cpp: Fixed colors in Williams games. This fixes color issue introduced by Mystic Marathon changes.
- 280-ZZZAP and Laguna Racer: Updated 280zzzap audio API in preparation for netlist audio. This is only API changes, following the pattern used by cuavas within the past year to update other games in mw8080bw. New netlist-based audio implementation for 280-ZZZAP (audio\nl_280zzzap.cpp), derived from Midway game logic board schematic. The sound generally matches that heard in videos of the machine, though the real machine seems to have more bass and less treble. This may be a cabinet effect or something else, such as a difference in component values. Due to the number of complex components being emulated and the nature of the circuits, this netlist adds a lot of overhead, but it's still fast enough to run at greater than real speed on modern hardware. With minor changes, this implementation should also support 'Laguna Racer'; with somewhat more substantial changes, it would also support 'Super Speed Race'. Both of these games use sound circuits based on those for 280-ZZZAP.
- Alpine Surfer: Demoted game to MACHINE_UNEMULATED_PROTECTION
- Andromeda SS: Correct metadata
- Armed F: Fixed the resolution difference from PCB (ID 07640). Correct game title.
- Basketball: Improved interrupts. Don't change vertical resolution
- Bingo Time: Fixed Bingo Time (Game now playable). Added preliminary sound.
- Biomechanical Toy: Fixed 'Lives' dipswitch setting
- Blood Bros.: Added missing PROMs to clone Blood Bros. (Modular System)
- Bosconian: Increased the length of the Namco 54XX IRQ to fix Bosconian shot sound regression. Fixed tilemap offset problem (ID 00480). Added 'Star Destroyer' sub title to description. Note: Is the screen horizontal resolution maybe 285? PCB videos do show a slightly larger right border though. Bullet vs tilemap offsets are correct when compared with PCB videos (both playfield area, and radar area). Bullet vs sprite offsets are also correct. The radar area is offset by 3 pixels, also confirmed with PCB video when it does the VRAM check.
- Burger Time: Fixed 'Bonus Life' dipswitch values in clones Burger Time (Data East USA) and Burger Time (Midway) (ID 07678)
- Circus / Acrobat TV: Added (bootleg) proms to 'Circus / Acrobat TV' and clone Springboard (bootleg of Circus)
- Crush Roller: Fixed Crush Roller and clone Make Trax constantly added coins to the coin counter in the background (ID 07591)
- Deal 'Em: Fixed gfxdecode color amount
- Desert Patrol [TTL]: Fixed netlist (netlist\generated\static_solvers.cpp and machine\nl_dpatrol.cpp)
- Diana Elite: Added disassembler for PIC17 family and preliminary PIC17C4X emulation. Replaced PIC16C55 CPU1 with 'Microchip PIC17C44'.
- Dirt Dash: Redumped bad pointrom dt1ptrm1.16j from a different PCB (one was internally bad on the Dirt Dash DT2 Ver.A PCB). Updated documentation with many changes including measuring DSP and MCU clocks.
- Dottori Kun: Removed unneeded layout file
- Donkey Kong 3: Changed 'Difficulty' dipswitch string to numbers (ID 07648)
- Fool Race: Changed 'Head On (bootleg on dedicated hardware)' to 'Fool Race', an Italian imitation of Head On by EFG Sanremo (it's not a bootleg). Added 'Lives' dipswitch.
- Galaxian: Fixed manufacturer of clone Galaxian (Irem) (ID 07653)
- Gaplus: Fixed displaying of starfield with reference to PCB. Scrolling speed and direction (ID 00434). Clipping the Display Area (ID 07663). Modified to use sprite color instead of text color with refer to the PCB. Added blinking when the movement of the star changes. Changed 'Bonus Life' default settings to Namco's factory settings (50k/150k/every 150k).
- Golfing Greats: Demoted Golfing Greats and clones to MACHINE_NOT_WORKING
- Grobda: Changed 'Bonus Life' default settings to Namco's factory settings (10k only)
- Hanafuda Hana Gokou: Corrected DIPs as per DIP sheet and added DIP locations
- Hot Blocks: Replaced Intel 8088 CPU1 with NEC V20 and YM2149 and with AY-3-8910A
- Magic Train: Fixed 'Double Up' dipswitch and 'Stop 2/3' PORT_NAMEs (ID 07634) (ID 07635)
- Mouse Trap: Redumped prom 74s288.d6. Updated note regarding prom 74s288.h14.
- Operation Thunder Hurricane: Added I/O M68k stub
- Pengo: Various documentation updates
- Pirate Ship: Fixed Clang build [-Werror,-Wunused-private-field]
- Pong (Rev E) [TTL]: Game now peaks at 589% compared to 570% before. Amongst a number of improvements in nl_base.h and the 7493 was touched. Also has some code cleanup and hopefully faster compilation due to extern template declarations.
- Raiden II: Added U0342 PAL to Raiden II and clones (see https://twitter.com/neSneSgB/status/1232115385303879680).
- Shuffleshot: Added gfx1 roms from clone (v1.38) to parent set Shuffleshot (v1.40) and clone Shuffleshot (v1.39). Note: They match programs internal checksum values.
- Silent Scope: Added notes for Silent Scope screen. Fixed raw parameters.
- The Simpsons: Correct video clocks. Fixed K053260 panning, interrupts and general volume.
- Skins Game: Dumped BIOS 1.01 for clone Skins Game Tournament Edition
- Snap Jack: Fixed year info (ID 07629)
- SOS Game: Screen color was inverted
- Space War (Leijac Corporation): Fixed parent/clone relationship (ID 06898)
- Street Fighter: Added I8751 dump to clones Street Fighter (Japan) (protected), Street Fighter (US, set 2) (protected) and Street Fighter (World) (protected), removed the protection HLE.
- Super Shot: Correct cpu type
- Super Six Plus II English Mark Darts: Added notes about dipswitches
- Tetris + Cherry Master (Corsica, v8.01, set 2): Fixed rom loading (Game now playable)
- TX-1: Adjusted analog steering
- Virtua Striker 4 (Japan, Rev E): Replaced clone 'Virtua Striker 4 (Japan, Rev C) (GDT-0013C)' GDROM dump with RAW/2352
- Witch Card: Reversed the NVRAM and set by default to promote clone Witch Card (ICP-1, encrypted) to working status
- World Class Bowling: Dumped user1 rom wcb_prom0_v1.30t for clone World Class Bowling Tournament (v1.30) (Game now playable)
- Fixed rom names in capbowl.cpp, headonb.cpp, hyperspt.cpp, itech8.cpp, kchamp.cpp and pengo.cpp
- Dipswitch fixes in btime.cpp, ddenlovr.cpp, gaelco.cpp, headonb.cpp, itech32.cpp, kikikai.cpp, policetr.cpp, seattle.cpp and vegas.cpp
- Description changes of Air Duel (Japan, M72 hardware), Air Duel (World, M82 hardware), Andromeda SS (Japan?) (ID 07652), Armed F (Japan) (ID 05766), Armed F (Fillmore license), Atari 4 Player Football, Atari Basketball, Bio F.R.E.A.K.S (prototype, boot ROM 0.1i), Bosconian - Star Destroyer (*), CART Fury Championship Racing (ver 1.00), Daiku no Gensan (Japan, M72 hardware), Daiku no Gensan (Japan, M82 hardware), Daiku no Gensan (Japan, M84 hardware), Dragon Breed (Japan, M72 hardware), Dragon Breed (World, M72 hardware), Dragon Breed (World, M81 hardware), Flash (Williams, L-1), Flash (Williams, L-2), 'Flash (Williams, T-1) Ted Estes', Fool Race, Gallop - Armed Police Unit (Japan, M72 hardware), Fred Flintstone's Memory Match (*), Hammerin' Harry (US, M84 hardware), Hammerin' Harry (World, M81 hardware), Hyperdrive (ver 1.40, Oct 23 1998), Indiana Jones and the Temple of Doom (cocktail), IPM Invader (set 1), IPM Invader (set 2), Jackie Chan - The Kung-Fu Master (rev 3?), Magic Bomb (Ver. BR4.4, 04/19/02), Mini Golf (Atari, prototype), NBA Showtime Gold / NFL Blitz 2000 (ver 3.0) (SportsStation), Panther (bootleg?), Pengo (set 1 rev C, encrypted), Pengo (set 2, encrypted), Pengo (set 2, rev A, not encrypted), Pengo (set 3, not encrypted), Pengo (set 4, encrypted), Pengo (set 5, encrypted), Pit Boss Superstar (9221-12-01, California version), Police Trainer (Rev 1.3B, Rev 0.5B PCB), Police Trainer (Rev 1.3B Newer, Rev 0.5B PCB), R-Type (Japan, bootleg M82 conversion), R-Type II (Japan, bootleg M82 conversion), Road Fighter (bootleg GX330 conversion), SOS Game (ID 07651), Tiger-Heli (US) (ID 07198), Tiger-Heli (Japan), Tiger-Heli (bootleg set 1), Tiger-Heli (bootleg set 2), Tiger-Heli (bootleg set 3), Tiger-Heli (bootleg set 4), Time Warp (Williams, L-2), Time Warp (Williams, L-3), Time Warp (Williams, T-2), Vapor TRX (GUTS Jul 2 1998 / MAIN Jul 18 1998), Vapor TRX (GUTS Apr 10 1998 / MAIN Apr 10 1998), Varth: Operation Thunderstorm (bootleg, set 1), Video Pinball (16 PROMs version), Wayne Gretzky's 3D Hockey (ver 1.3), Witch Card (ICP-1, encrypted), X Multiply (Japan, M72 hardware), X Multiply (World, M81 hardware) and Yie Ar Kung-Fu (bootleg GX361 conversion)
- Renamed (galsnew) to (galsnewu), (galsnewa) to (galsnew), (headonb) to (foolrace), (jchan) to (jchana), (magibomb) to (magibomba), (policetr) to (policetr13) and (roadf3) to (roadfh)
- MAME
. VIDEO RENDERING SYSTEM
. Fixed prescale option does not work properly on D3D renderer. Removed old StretchRect code. All drivers these days punt it to a shader backend anyway, and it's causing issues with -prescale (render\d3d\d3dcomm.h and drawd3d.cpp) (ID 07536)
. Don't do frameskip related calculations at init time (emu\video.cpp). Frameskip setting is now upper frameskip limit when autoframeskip setting was enabled (emu\emuopts.cpp and video.cpp). Show frameskip max value in speed_text (emu\video.cpp).
. MEMORY SYSTEM
. Slight emu\emumem.cpp speedup. Implemented on the 680x0 for now. memory_access_specific is declared and used exactly like memory_access_cache, but does not cache. It does, however, shortcut the virtual call into address_space, so that's one layer of call less. Gives another nice speedup for accesses with bad locality (e.g. anything that's not opcodes), at the expense of having a specifically typed object in the class. Should do well for cpus in general, drivers can keep using the address_space access calls for easier logistics. Masking before dispatch at top level is not needed because it's already done at the global mask level.
. Mask address where absolutely necessary (emu\emumem.cpp). This change fixes the edge case of an unaligned accesses to the top of the space not wrapping around, which was causing at least one driver (Alpine Surfer) to crash.
. Cache and specific change syntax, and are not pointers anymore (emu\emumem.*): Added a template parameter to everything (theoretically the address space width, in practice a level derived from it to keep as much compatibility between widths as possible) so that the shift size becomes a constant. Changed the syntax of declaring and initializing the caches and specifics so that they're embedded in the owner device. Solves lifetime issues and also removes one indirection (looking up the base dispatch pointer through the cache/specific pointer). Protect against savage memsets (emu\emumem.h).
. DEVICE
. Removed colon as a patch seperator (emu\diimage.cpp)
. Initialized a couple of variables, fixes numerous bugs in DEVNOCLEAR debug build with BIOS roms in devices (emu\device.cpp).
. Removed the space for the handlers, it is not needed anymore (emu\devcb.cpp).
. Timer system
. Added to_string() to get a human-readable version of the time (emu\attotime.cpp)
. Periodic timers are not adjustable, be a little more affirmative about it (machine\timer.h).
. UI
. Skip -romident matching process and display error message when no files are found (mame\clifront.cpp)
. Only warn about external artwork when it wasn't loaded (ui\info.cpp and emu\render.cpp)
. LUA engine
. Consolidated code for pasing enum strings. Added rom_entry library (mame\luaengine.cpp).
. Setting analog inputs don't work in LUA (emu\ioport.cpp). Fixed set_value for analog inputs. Expose ioport_setting to luaengine.
. Programmable Logic Device (PLD)
. Added GAL20V8 support to the jedutil tool
. jedutil updates: Initial support for viewing the logic equations of the PLS100, 82S100, PLS101 and 82S101. Added support to view the the logic equations of the PALCE22V10 device. Improved the documentation on the Magix game and the undumped PAL's (security fuses blown). Added PAL22V10 as another device that is equivalent to ythe PALCE22V10 device. Added initial registration test for the PALCE22V10/PAL22V10 devices. Adding PAL22V10 combinatorial regression test data. Updated jedutil with a new command that will take a jed file and list the devices that the jed file could represent. Initial work on supporting the GAL20V8 device. Adding an initial regression test for the GAL20V8. Tweaked the function to print text to handle the end of line character. Fixed some mis-configurations of the GAL20V8 device. Added regression tests for the GAL20V8 device. Fixed the output of the GAL20V8 when viewing a jed in simple mode to properly display outputs as also being inputs for certain pins. Fixed the output of a GAL16V8 device in Simple Mode to mark relevant output pins as providing feedback as documented in the datasheet. Corrected the output feedback state when in simple mode for the GAL16V8 and GAL20V8 devices.
. Misc demacroization (machine\k056230.cpp, drivers\model2.cpp, stv.cpp, machine\315-5838_317-0229_comp.cpp and pgmprot_orlegend.cpp)
. Moved some RC timing macros out of the core (machine\rescap.h; drivers\bfm_sc1.cpp, bfm_sc2.cpp, capbowl.cpp, gottlieb.cpp, lockon.cpp, mpu3.cpp and mpu4.cpp)
. Simplified many handlers and READ/WRITE macros removal
. First attempt at auto-sort of mame.lst
. First completed pass of commandline parameters. Get the audio latency numbers right and add PortAudio info. FreeSync/GSync information cleanup. Added tip for keyboardprovider (commandline\commandline-all.rst and usingmame\commonissues.rst).
- MAC OS X: Fixed OS X build with Xcode 7 (scripts\src\3rdparty.lua)
- CHDMAN: Support characters outside ASCII in command line arguments. I64 size qualifier is only needed for MSYS64 GCC 9 and earlier (tools\chdman.cpp).
- VGM player: Implemented some features from QuattroPlay by superctr
- 3rdparty: New AsmJit library (https://asmjit.com). Use AsmJit for (cpu\drcbex64.cpp). This is essentially a 1-for-1 substitution of x86emit code with its asmjit equivalent. There are opportunities for refactoring some of the original code using C++ as well as asmjit features, but this first pass simplified identifying and correcting any problems. Selective tests with MIPS3, Hyperstone and SH-4 appear to reproduce existing behaviour but more testing is needed.
- Compiling
. Fixed GCC 10 uninitialized (modules\vzdos.cpp) struct warning and GCC 10 fix for sqlite3 (scripts\genie.lua)
. Get rid of missing end-group warning for MinGW (scripts\genie.lua)
. Enable option to generate symbols in Release as well as Debug under Visual Studio (this is important because debugging Debug builds is too slow) (scripts\genie.lua)
. Fixed scripts\target\mame\dummy.lua
. Updated Travis CI build environments (travis.yml). Switched Ubuntu build from GCC-9 to GCC-10 and MacOS build from Xcode 11.0 (MacOS 10.14.6) to Xcode 11.5 (MacOS 10.15.4).
- Debugger
. Refocus debugger on CPU when one of its watchpoints is hit (debug\debugcpu.cpp). This solution may be less than ideal for some multiprocessing environments where CPUs share spaces, but it prevents the focus from shifting unpredictably to whichever CPU happens to be next in line to execute (e.g. when synchronization for a soundlatch write aborts the original CPU's timeslice).
. Added PC to debugger exception hit message (debug\debugcpu.cpp)
. Added optional condition parameter to debugger gex command
. Fixed focus command (debug\debugcpu.cpp)
. Fixed debugger regression with systems such as fi6845/fi8275 where a DMAC or other non-focusable executing device is scheduled first of all (debug\debugcpu.cpp)
. Debugger expression and memory access overhaul: Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead. The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails. Related internal changes: The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes. The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it. The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file. The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup. The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead. Many minor bits of code have been simplified. Fixed crash when attempting to write to memory from debugger (debug\express.cpp).
. Added '-debuglog' option to log debug console output to file. When this option is specified, all console output is echoed to a log file. Some caveats/limitations: The file-open process was copied from -log, so it has the same limits. Filename is hard-coded (debug.log). File is overwritten if it exists. File is opened during emulation initialization. Thus, the file is cleared if you invoke the "Hard Reset" debugger command. Probably some other details I don't know about. Logging works as such: When a string is appended to the scrollback buffer, it is also written to the log file. Some commands forcibly wrap their output (e.g. 'help' to 80 columns). Because this wrapping is done inside the scrollback buffer, the text written to the file is not wrapped. This can be seen with 'help execution'. Eliminated space.device() in watchpoint code (debug\points.cpp).
. Added 'condump' command to export console buffer to a log file. This is another debugger enhancement - it allows you to export the current contents of the debug console window to a file. The filename parsing is based on the 'trace' command, and as such, supports both the "{game}" placeholder, and the ">>" prefix for appending instead of overwriting.
. Allow debugger dump command to dump with byte granularity from address spaces with positive shifts.




"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.221 :) MASH 05/19/20 08:07 AM
. * MAMEinfo 0.222GIT (18th June) MASH  06/18/20 06:53 PM
. * Re: MAMEinfo 0.222GIT (18th June) Jorge  06/20/20 04:21 AM
. * Re: MAMEinfo 0.222GIT (18th June) StilettoAdministrator  06/23/20 03:17 AM
. * Re: MAMEinfo 0.222GIT (18th June) Jorge  06/23/20 09:48 PM
. * Re: MAMEinfo 0.222GIT (18th June) Vas Crabb  06/24/20 10:52 AM
. * Re: MAMEinfo 0.222GIT (18th June) Jorge  06/25/20 10:58 PM
. * Re: MAMEinfo 0.222GIT (18th June) Vas Crabb  06/26/20 05:32 AM
. * Re: MAMEinfo 0.221 :) VasiliyFamiliya  05/20/20 06:39 AM
. * Re: MAMEinfo 0.221 :) Haze  06/05/20 01:18 PM
. * EZ Graphics MASH  05/20/20 10:54 AM
. * No wonder they call themselves EZ Graphics mike20599  05/29/20 05:10 AM
. * Re: No wonder they call themselves EZ Graphics VasiliyFamiliya  05/31/20 04:11 AM
. * Re: MAMEinfo 0.221 :) agard  05/19/20 09:00 AM

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