Added methods for enabling and disabling breakpoints and watchpoints,
and made debugger views update when breakpoints/watchpoints are
manipulated from Lua. Made breakpoints and watchpoints objects rather
than tables. (It’s not possible to enable/disable a breakpoint or
watchpoint from the object itself, you have to go through its owners'
debug interface.)
Exposed more device_t members for dealing with child/sibling tags and
devices. Also provided a way to get regions/shares/banks from a device
using relative tags rather than going through the memory manager with
absolute tags.
* ms32.cpp: fix/document memory map
* ms32.cpp: preliminary CRTC hookup
* ms32.cpp: implement sprite direction bit, nuke per-game kludges
* Move note where it belongs (nw)
* ms32.cpp, bnstars.cpp: correct sprite RAM ranges
* tetrisp2.cpp: kill some legacy screen params, need those anyway
* Improve notes (nw)
* ms32.cpp: move CRTC to a new sysctrl device
Also added a bare-bones Python script for generating new device file
defs to src/mame/etc
* gen_python_def.py: address issues, misc improvements
* Kill device_memory_interface in favour of direct address_map, QA always broken flip_screen in flags
* ms32.cpp: reinstated flip screen thru callback
* ms32.cpp: Make mixing to honor cliprects instead of erratic screen.width / height call
* Need a safeguard somehow, and a symbols build doesn't help here lalala
* Fix notes, cannot repro the bug, next
* Move irq assert/clear lines to device, add preliminary prg timer, make 30 Hz irq to behave like one.
(Note: very untested, feedback is appreciated)
* Send a prg timer ack if irq is disabled
* Misc cleanups
* Nuke emu_timers in favour of configure_scanline, preliminary bnstars1 hookup
* No magic number please
* Add sysctrl to tetrisp2.cpp, move rockms stuff into its own state machine, misc
* Kill off 30 Hz refresh rate hack in stepstag/vjdash sub screens
* Flag all those xtals as unknown
* Move has_zoom/has_yuv in ms32_sprite init constructor, fix dummy config bug with stepstag right screen update
* jalcrpt.h doesn't belong to tetrisp2.cpp, errata on sysctrl reset line
* Fix build
* Left-over
* Fix bool comparison to itself (blame JS habits), nuke bnstars1 mahjong
switch case altogether.
* Notes
* Fix bnstars1 crash
* update_color fn doesn't work without a memory_share_creator, documentation
* Translate clamp_to_12bits_neg to a constexpr method
* Fix crashing in main ms32 driver, except it now has very broken priority for seemingly no reason
* Fix nasty spriteram buffer RAM allocation bug
* Make objectram_size to be calculated at init time
* First (naive) pass in moving common interface to a ms32_base_state
Move m_irqreg save state from video_start to machine_start fn;
Fix embarassing palette overflow bug in ms32.cpp;
Add bitswap for bnstars1 mahjong panel;
.bytes() -> .length() for objectram_size;
* bnstars: template video handlers
* bnstars: fix config, split sprite chips/gfxdecode/palette into two, fix palette ranges
* ms32.cpp: implement proper irq acknowledge lines
* Add config setter in sysctrl for inverted vblank/field lines, make tp2ms32 and wpksocv2 happy
* Move f1superb to own state
* MS32 merge sound maps
* Remove TIMER_DEVICE_CALLBACK_MEMBER in favour of emu_timer
The things that were previously called device iterators are not
iterators in the C++ sense of the word. This is confusing for
newcomers. These have been renamed to be device enumerators.
Several Lua methods and properties that previously returned tables now
return lightweight wrappers for the underlying objects. This means
creating them is a lot faster, but you can't modify them, and the
performance characteristics of different operations varies.
The render manager's target list uses 1-based indexing to be more like
idiomatic Lua.
It's now possible to create a device enumerator on any device, and then
get subdevices (or sibling devices) using a relative tag.
Much more render/layout functionality has been exposed to Lua. Layout
scripts now have access to the layout file and can directly set the
state of an item with no bindings, or register callbacks to obtain
state. Some things that were previously methods are now read-only
properties.
Layout files are no longer required to supply a "name". This was
problematic because the same layout file could be loaded for multiple
instances of the same device, and each instance of the layout file
should use the correct inputs (and in the future outputs) for the device
instance it's associated with.
This should also fix video output with MSVC builds by avoiding delegates
that return things that don't fit in a register.
* replaced dgun2869 dump with good one [Sean Riddle]
* also did some work on the dreamGear unit, works now
* an innotab2 driver entry was also added to hold the software list, but the ROM isn't dumped yet
machines promoted to WORKING
------
My Arcade Retro Micro Controller - 220 Built-In Video Games (DGUN-2869) [Zup, Team Europe, Sean Riddle]
new WORKING machines
------
Code Lyoko (25-in-1 handheld) [KaruzoHikari, Team Europe, David Haywood]
My Arcade Pac-Man Pocket Player (DGUNL-3227) [Sean Riddle]
new NOT WORKING machines
------
Palace Arcade [Sean Riddle, Kamaal Brown]
new NOT WORKING Software List entries
------
vtech_innotab_cart.xml : Mickey Mouse Clubhouse (UK) [Team Europe]
-netlist: Give devices the C++17 namespace treatment.
-Tidied up compiler warning options for 3rdparty.
-emu/render.cpp: Exposed a few information view item properties.
I've guessed whether break or [[fallthrough]] is appropriate. In cases
where it looked particularly suspicious, I added a FIXME comment. All
of these changes should be reviewed by someone familiar with the code.
* Removed .mask(), as it’s not reliable in the general case.
* Added asserts to things that assume power-of-two sizes.
* Got rid of virtual qualifier on pointer-to-member operator.
* Made helpers a bit more assertive about logging warnings.
-emu/rendlay.cpp: Use delegates to avoid hot conditional branches.
-docs: Finished off description of object finders and output finders.
new NOT WORKING machines
----------------------
InnoTV [Team Europe]
new NOT WORKING software list entries
----------------------
vtech_innotv_innotabmax_cart.xml:
pawpatrl: Paw Patrol - Pups Save a UFO! (80-274103 UK) [Team Europe]
dcgcr: DC Comics - Gotham City Robots (80-274803 UK) [Team Europe]
finddory: Finding Dory (80-274903 UK) [Team Europe]
liongrd: The Lion Guard (80-275203 UK) [Team Europe]
new WORKING software list entries
----------------------
gameking.xml:
mc_4v07a: 4 in 1 - TrojanLegend (Trojan) + HappyBall + Supermotor (Motor) + Lanneret (Hawk) (512KB cartridge) [Team Europe]
mc_4v16a: 4 in 1 - Manhunt + Bobby + Tantivy + Racing Car (512KB cartridge) [Team Europe]
- Implemented memory mapper for CP/M.
- Serial printer port.
- External RAM is now scrambled.
- SuperCart bankswitching board implemented for Aquaricart.
- Cartridge images of size 4K, 8K, 16K now supported, was previously 16K only.
new WORKING machines
-----
The New York Times Sudoku [David Haywood, Sean Riddle, Kamaal Brown]
Vs Maxx 25-in-1 (VT03 hardware) [David Haywood, Sean Riddle, Kamaal Brown]
6-in-1 Sudoku Plug & Play [David Haywood, Sean Riddle]
Plug 'N' Play 50-in-1 (DGUN-853) [David Haywood, Sean Riddle, Kamaal Brown]
new WORKING clones
-----
Mega Drive Collection Volume 2 (Radica, Arcade Legends) (UK) [David Haywood, Sean Riddle]
Super Sonic Gold (Radica Plug & Play) (UK) [David Haywood, Sean Riddle]
new NOT WORKING machines
-----
Plug 'N' Play 25-in-1 (DGUN-806) [David Haywood, Sean Riddle, Kamaal Brown]
IQuest (US) [David Haywood, Sean Riddle, Kamaal Brown]
- Added MegaDrive side ROM to sarc110 sets, moved to skeleton 'hybrid' driver based on megadriv_rad.cpp and demoted to not working for now as they're meant to boot from the MD side with the VT03 games as bonus items [Sean Riddle, Team Europe]
- Moved reactmd to a skeleton 'hybrid' driver, demoted to not working, it's also meant to boot from the MD side with the SunPlus games as bonus items.
----------------------------------
Emax Digital Sampling Keyboard [DBWBP]
New clones marked as NOT_WORKING
----------------------------------
Emax Plus Digital Sampling Keyboard [DBWBP]
* emax2: Add dump of serial EEPROM [DBWBP]