Commit Graph

3492 Commits

Author SHA1 Message Date
Vas Crabb
1bdf8d272a frontend: Lua engine improvements.
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.
2020-11-30 12:01:14 +11:00
Olivier Galibert
3ae7e0f528 Make exidy compilable with SOURCES= and fix sidetrac 2020-11-28 12:12:54 +01:00
Angelo Salese
b88fe8a45e
Miscellaneous late 90s Jaleco HW fixes and cleanups (#7445)
* 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
2020-11-25 21:14:04 +11:00
Vas Crabb
ec80428647 Fairly significant overhaul of Lua engine and some cleanup.
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.
2020-11-25 19:18:26 +11:00
David Haywood
334c801c55
Plug and Play bits (working and not working machines) (#7509)
* 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]
2020-11-25 14:44:37 +11:00
Dirk Best
69454e20cd New machines marked as NOT_WORKING
----------------------------------
Azkoyen Design D6 [jordigahan, ClawGrip, Dirk Best]
Azkoyen Design (Euro) [maquinasdetabaco.com, Dirk Best]
2020-11-24 15:08:40 +01:00
arbee
4bb94f0e93 New machines added as MACHINE_NOT_WORKING
-----------------------------------------
Yamaha PSR-340 PortaSound [R. Belmont, HIGHWAYMAN]
2020-11-23 22:53:36 -05:00
shattered
593e2f5d9c
AT&T Blit terminal (skeleton) (#7469)
New machines marked as NOT_WORKING
------------------
AT&T Blit
2020-11-23 12:38:04 +11:00
Olivier Galibert
574daf4e49 Implement views, which are essentially bankdevs integrated into the
memory map system. [O. Galibert]
2020-11-22 19:43:52 +01:00
AJR
390bb74da9 Add dump of AppleCD 150 [DBWBP] 2020-11-20 12:35:18 -05:00
AJR
0bdbb0aa2e Separate TX-0 from PDP-1; separate some SoC types in build 2020-11-19 20:54:24 -05:00
Lord-Nightmare
40646cd9dd tsispch.cpp: bring the driver more up to modern MAME coding standards 2020-11-19 05:12:17 -05:00
AJR
554e9822d6 New machines marked as NOT_WORKING
----------------------------------
Akai VX600 Programmable Matrix Synthesizer [DBWBP]
2020-11-17 16:15:50 -05:00
Vas Crabb
612b6472e7 -unidasm: Allow input piped from stdin by specifying a bare hyphen as the filename. [AJR, Vas Crabb]
-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.
2020-11-18 00:58:30 +11:00
arbee
48d1f0de37 macOS: Disable BGFX threading, which causes crashes and wrong drawing on Catalina and Big Sur. [Balrog] 2020-11-16 23:28:00 -05:00
Vas Crabb
ac270744f3 Fix most implicit fallthrough warnings from clang 2020-11-17 09:18:37 +11:00
Vas Crabb
5f750e0376 Fixed clang warning in Lua engine properly, converted a few fallthrough comments to attributes, sorted some warning options alphabetically 2020-11-17 03:51:20 +11:00
tim lindner
d6fbd53d2b
bus/coco: Added symphony 12 music device. (#7472) 2020-11-17 01:01:55 +11:00
Vas Crabb
b524aa701a frontend: split lua_engine user type registrations across a few files to make it a bit more manageable 2020-11-16 23:11:43 +11:00
David Haywood
da2f9c7841
identify 'seahuntr' as Black Touch II, move to correct driver (#7477) 2020-11-15 15:22:07 +01:00
Ivan Vangelista
27309ec944 New machines marked as NOT_WORKING
----------------------------------
Sea Hunter [Jorge Silva, Fernando Oliveira]
2020-11-15 12:48:02 +01:00
Vas Crabb
d1666d2ec9 Add C++17 flag for visual studio (hopefully in the right place) 2020-11-15 07:15:23 +11:00
Nigel Barnes
292025b227 New machines marked as NOT_WORKING
----------------------------------
AlphaTantel [Binary Dinosaurs, Nigel Barnes]
2020-11-14 17:37:16 +00:00
Vas Crabb
4298ce18fb Enable GCC implicit fallthrough warning.
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.
2020-11-15 03:58:54 +11:00
Vas Crabb
55b8ca317a -Switch to building MAME as C++17.
* Updated sol2 to 3.2.2
* Updated pugixml to 1.10
* Increased minimum clang version to 6
* Cleaned up some stuff that can use new features
2020-11-15 03:53:47 +11:00
Vas Crabb
fe9ac15ca9 -emu/devfind: More cleanup/consistency changes.
* 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.
2020-11-13 15:26:31 +11:00
Ivan Vangelista
055249b50c New machines marked as NOT_WORKING
----------------------------------
IQ-7000 [Sean Riddle, Recreativas.org]

New NOT_WORKING software list additions
---------------------------------------
3 Dimensional Spreadsheet (IQ-8B01) [Recreativas.org]
8-Language Translator (IQ-703A) [Sean Riddle, Recreativas.org]
Time Expense Manager (IQ-701A) [Recreativas.org]
2020-11-10 19:39:41 +01:00
arbee
5ca983d83f apple2: Support the SUP'R'TERMINAL 80-column card. [R. Belmont] 2020-11-09 23:03:14 -05:00
shattered
c73e27e699
agat.cpp: Native keyboard, video and floppy improvements. (#7449) 2020-11-10 12:58:10 +11:00
Ivan Vangelista
3da8da807b New machines marked as NOT_WORKING
----------------------------------
Trio de Bingo [Yasu]
2020-11-07 08:47:08 +01:00
Olivier Galibert
b644308114 mu5: Add the lc7985nd and the lcd [O. Galibert] 2020-11-05 14:00:00 +01:00
David Haywood
39978cae75
new NOT WORKING machines (InnoTV) (#7435)
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]
2020-11-05 11:47:57 +11:00
arbee
bef3056d12 New machines added as NOT_WORKING
---------------------------------
Yamaha MU-5 [Edward d-tech, DBWBP.com, R. Belmont]
2020-11-01 22:27:28 -05:00
Sandro Ronco
2dbfe3db33 pce220.cpp: split HD61202 and SED1560 into separate devices. [Sandro Ronco]
Machines promoted to WORKING
----------------------------
Sharp PC-E220 [Sandro Ronco]
Sharp PC-G815 [Sandro Ronco]
2020-10-31 23:36:12 +01:00
Nigel Barnes
d44b1552cf aquarius: Peripherals implemeted as slot devices: 4K/16K/32K/16K+ Memory Cartridges, Mini Expander (now with controllers), Quick Disk (not working), C1541 DOS Interface (not working)
- 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.
2020-10-31 21:33:20 +00:00
Olivier Galibert
f814777e46 wavesynth: waveblaster-based virtual expander, ks1064 for now [O. Galibert] 2020-10-31 21:47:49 +01:00
Vas Crabb
cf7fe1e04d -bus/a2bus: Added Apple II Parallel Printer Interface Card.
-frontend/mame/audit.cpp: Fixed another annoying edge case.

-Cleaned up RawInput code slightly.
2020-11-01 00:37:28 +11:00
AJR
ceaedaabb6 mess.lua: Fix build 2020-10-29 11:24:55 -04:00
Felipe Corrêa da Silva Sanches
c82bdb636a new driver: TecToy Pense Bem (2017)
Equivalent to VTech Smart Start from the 80s.
2020-10-30 02:03:36 +11:00
David Haywood
2137f26981
-Plug and Play work (lots of new sets from Sean etc.) (#7401)
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.
2020-10-30 00:53:03 +11:00
Vas Crabb
3a3e83d6b2 Apple calls llvm/clang 10 Xcode 12, update warning flags. 2020-10-29 12:40:25 +11:00
Ivan Vangelista
d8ece59cc7 New machines marked as NOT_WORKING
----------------------------------
Win Bingo 2006 [f205v]
2020-10-28 20:30:29 +01:00
Olivier Galibert
331baa268a lc57, msm65x2: Add disassemblers [O. Galibert] 2020-10-26 11:42:43 +01:00
tim lindner
d37876bd20
bus/coco: Added Speech Systems Stereo Composer cartridge. (#7379) 2020-10-26 19:42:18 +11:00
AJR
67ac7f437f 3rdparty.lua: Another build fix for older OS X versions 2020-10-25 15:29:24 -04:00
David Haywood
07ab3966eb
nes_vt - further refactoring, split out vt32 driver, started splitting up SoC + Atari Flashback Mini 7800 promotion (#7385)
machines promoted to WORKING
------
Atari Flashback Mini 7800 [David Haywood, Sean Riddle]
2020-10-25 01:27:22 +11:00
Justin Kerk
56f2ebaeaf Emscripten: Allow memory size to grow at runtime when targeting WebAssembly as there is no longer a performance hit 2020-10-24 00:44:57 -07:00
Vas Crabb
515e85ba80 bus/a2bus: Added Orange Micro Grappler+ Printer Interface. [Vas Crabb, Golden Child, archive.org] 2020-10-23 17:03:09 +11:00
AJR
2c04a88e57 New machines marked as NOT_WORKING
----------------------------------
Emax Digital Sampling Keyboard [DBWBP]

New clones marked as NOT_WORKING
----------------------------------
Emax Plus Digital Sampling Keyboard [DBWBP]

* emax2: Add dump of serial EEPROM [DBWBP]
2020-10-21 15:53:50 -04:00
Robbbert
907f4fcffa Fixed mess build. 2020-10-21 14:07:20 +11:00