Commit Graph

4198 Commits

Author SHA1 Message Date
Miodrag Milanovic
67909e4530 Moved radio->cccp, merged couple of small into -> sfrj for ex Yugoslavia companies 2022-06-30 13:31:19 +02:00
Miodrag Milanovic
b0fa78a721 Fix compile 2022-06-30 12:26:54 +02:00
npwoods
ab3a5e1df7
Created a CBM DOS file system driver and added it to the 1541 implementation (#9922) 2022-06-30 09:25:50 +02:00
hap
feebaaf053 source org: rename ascii to msx 2022-06-29 21:25:21 +02:00
hap
36ffcf47ba source org: rename cbm to commodore 2022-06-29 18:54:46 +02:00
hap
dc5faa73bb source org: rename aci to appliedconcepts, hegener to hegenerglaser 2022-06-29 18:35:11 +02:00
hap
2108cb2593 source org: rename mb to miltonbradley, let's move the vectrex to this folder 2022-06-29 17:46:47 +02:00
hap
4dcb8c0b04 source org: create a misc_chess folder 2022-06-29 17:33:29 +02:00
hap
bd97560ea9 source org: merge intv with mattel 2022-06-29 17:14:37 +02:00
hap
71fcb2c354 source org: rename fairch to fairchild 2022-06-29 17:08:04 +02:00
hap
0bdc4c8e26 source org: rename handheld to misc_handheld and move some files over 2022-06-29 17:06:07 +02:00
Vas Crabb
c51c443be1 -Added support for directory names in SOURCES=
-Retired the messshared project (combined with shared).

-bus/nubus: Added table of video modes for Mac monitor sense values.
2022-06-30 00:37:49 +10:00
hap
307f0ab11b source org: merge terminal with cccp 2022-06-29 15:53:47 +02:00
hap
43adbb3453 source org: merge veb with ddr 2022-06-29 15:49:03 +02:00
hap
f35f1c30e1 source org: move odyssey2 driver to philips folder 2022-06-29 15:29:37 +02:00
hap
f4d278a215 source org: merge elektronika with cccp 2022-06-29 15:25:19 +02:00
hap
7a434982fb source org: move kr1601rr1 earom chip device to devices/machine 2022-06-29 15:14:17 +02:00
AJR
5d31d021d2 mame.lua: Add missing machine
* thunderl: Remove unused input ports
2022-06-28 18:16:53 -04:00
AJR
21efb0e47c Start moving devices out of src/mame/shared to more appropriate places 2022-06-28 14:41:16 -04:00
Vas Crabb
871837b123 More quality of life features for new source layout:
Added support for wildcards in .flt filter files.  You'll need to quote
them to avoid /* being parsed as a comment initiator, like "seta/*.cpp"
on a line including the quotes.

Added an XSLT filter for listing system driver sources, like
mame -lx | xsltproc scripts/xslt/list-system-sources.xslt

Converted the ci subtarget (which isn't really used much) into a .flt
rather than .lua and .lst files.
2022-06-29 01:29:04 +10:00
Miodrag Milanović
1442ceeb5a
Prevent src/devices from inadvertently including headers from src/mame. (#9996) 2022-06-28 19:04:31 +10:00
Vas Crabb
513e30cbbb Added make opions for filter file, adjusted source path display.
Added SOURCEFILTER option to specify a driver filter file in your make
options, e.g. like make SUBTARGET=custom SOURCEFILTER=mydrivers.flt (or
put it in your useroptions.mak if you'll be using it a lot).  It
functions more-or-less like SOURCES on steroids.

Changed the way system/device source file paths are displayed to suit
the new source layout better.  INI file loading hasn't changed, that
still just uses the base file name.

Added overlooked trigger to src/bus.lua to include NES controller bus if
the NES zapper sensor is needed.
2022-06-28 16:33:06 +10:00
Vas Crabb
77525a0d0f Converted nl subtarget to use a filter rather than a script and driver list. 2022-06-28 01:47:00 +10:00
Vas Crabb
ab6237da82 Eliminated cross dependencies between driver projects.
Driver projects now use globs to search for files.  There's less effort
editing the Lua files when things are moved around.  Remember it won't
automatically pick up a change, so if you add/remove/change files, you
should touch makefile to get it to find the change.

Driver projects no longer get the top-level MAME directory as an include
path.  This means you need to think about how you structure things and
not introduce nasty circular dependencies.

Subtarget projects can now be generated entirely from .flt files without
the need for separate Lua scripts and .lst files.  This has been done
for the arcade, mess and virtual targets.  It effectively works like a
SOURCES= build on a large scale.  This means you need to organise things
so the dependency genrators can find them.

There's an issue with the mess subtarget right now.  For some reason,
decmate2.cpp isn't picking up the dependency on the PDP8 CPU core for
the HD6120 device.  I'll debug it later
2022-06-27 18:06:20 +10:00
Vas Crabb
06a3054900 Reduced project cross-dependencies, slightly improved renaming script. 2022-06-27 17:06:39 +10:00
Vas Crabb
38fed2ff78 bus/nubus: Got rid of CRTC hacks in Macintosh Display Card emulation.
* Changed name of cards for slot selection to "mdc48" and "mdc824" as
  they're unrelated to the later 8*24 GC card.
* Also cleaned up code substantially and got rid of artificial
  differences between Display Card 4*8 and 8*24.
* Moved lists of NuBus and SE/30 PDS cards to a common place.
* Got some class declarations out of headers to reduce recompiles.
2022-06-25 10:27:36 +10:00
Vas Crabb
af97d42dd3 bus/nubus: More Mac video card improvements.
Started implementing the Macintosh Display Card CRTC.  It gives correct
resolutions, although refresh rates are incorrect.  Added machine
configuration settings allowing several monitors to be selected.

Implemented the Macintosh Display Card's packed RGB mode.  The
base/stride in RGB mode make more sense with this implemented.

Cleaned up the code for the SuperMac Spectrum cards, and fixed the
garbage at the bottom of the screen on the Spectrum/8.

Put a layout with views for common monitor aspect ratios in a place
where cards can use it.  This is especially useful for the NuBus cards
that can support portrait monitors.
2022-06-24 07:05:48 +10:00
AJR
e50b51fe78 pc_kbd: Add emulation of Cherry G80-1500 keyboard, minus smartcard reader 2022-06-23 08:24:58 -04:00
Vas Crabb
449f65cfc4 bus/nubus: More improvements to SuperMac Spectrum video cards.
Factored CRTC and shift register out of Spectrum/8 and added to Spectrum
PDQ.  Fixes video mode selection and resolution for Spectrum PDQ.

Implemented vertical interrupt position, stride, line offset and clock
source registers for Spectrum PDQ.  Added a hack to work around line end
control not being understood.  Also added save state support.

Slightly modernised the Macintosh Display Card (JMFB) device code.

Initialised some driver state class members that were causing System 7
to fail to see files. [Ivan Vangelista]
2022-06-23 07:05:46 +10:00
Nigel Barnes
1ebcd7cfd5 bus/archimedes/podule: Added Hard Disk podules (not working).
- Acorn AKD52 Hard Disc Podule
- Computerware Hard Disk Podule
- Morley Electronics Hard Disc Podule
- Watford Electronics Archimedes Hard Disk Podule
2022-06-22 21:40:55 +01:00
Ivan Vangelista
89d81a5b51 New machines marked as NOT_WORKING
----------------------------------
unknown Zilec game on Blue Print hardware [Andy Walker (of AW Electronics) , Dr. Alan Meades , Hammy, Porchy]
2022-06-21 18:25:47 +02:00
Ivan Vangelista
e6477ba68c New working software list additions
-----------------------------------
a2600.xml: Asteroids (PAL, rev. 06) [Guru]

Clones promoted to working
----------------------------
Super Treasure Island (Italy, v1.6) [Ivan Vangelista]

- tankbust.cpp: used finders, logmacro and other small cleanups
2022-06-20 17:02:12 +02:00
Vas Crabb
60179d8c95 Acknowledge presence of circular dependencies to keep GNU ld happy on Linux. 2022-06-17 23:51:57 +10:00
AJR
3a66b9211f mc68hc11z1, cfp1080s: Separate source file for MCU; add numerous logging stubs 2022-06-16 20:35:41 -04:00
Vas Crabb
94c22aaf78 More scheduler optimisation, Visual Studio build fixes, and cleanup.
emu/schedule.cpp: Fixed a few more pessimising assumptions.  Gains a few
percent in Ketsui and SNES SuperFX.

util/endianness.h: Added some more operations on endian-swizzlers.
Changed a few more drivers to use them.

sun2.cpp: Fixed uninitialised variable that could cause corrupt video.

Fixed some issues with Visual Studio project generation after the
changes to Windows resource creation.
2022-06-17 05:36:24 +10:00
Ivan Vangelista
662747fb22 Clones promoted to working
----------------------------
Borderline (Tranquillizer Gun conversion) [anonymous]

New working clones
------------------
Beta Force [anonymous]

- astinvad.cpp, rollerg.cpp, shootout.cpp: used finders, derived classes and other minor cleanups
2022-06-16 17:12:19 +02:00
Vas Crabb
1964365f34 Optimisation, and baby steps towards untangling stuff:
Optimised the scheduler's handling of unscheduled timers - gives a 50%
performance improvement in some timer-heavy drivers.

Added better endianness swizzling helpers.

Got rid of some of the OSD input modules' dependence on concrete input
classes from emu.
2022-06-16 03:32:46 +10:00
David Haywood
468ba897f6
MPU4 refactoring, reverse engineering, notes etc. (#9893)
* Moved protection simulation to devices, and got more games to boot.
* Corrected lamp output mapping for most games.
* Correctly identified more games, and removed bad dumps.
* Organised sets better, and cleaned up some of the implementation.
2022-06-15 16:35:16 +10:00
Vas Crabb
d8854e4e55 Updated scripts to support SOURCES= builds after the reorganisation happens. 2022-06-15 05:07:09 +10:00
Olivier Galibert
e76d23fc73 saa7191: Move to devices/machine too 2022-06-14 12:07:55 +02:00
Olivier Galibert
58650bd681 at, cammu: kick upstairs too 2022-06-14 12:07:55 +02:00
Vas Crabb
540426ea91 Various cleanups:
* vsystem.cpp: Modernised code a little.
* upscope.cpp: Put code in anonymous namespace.
* Reduced redundancy in more fruit machine layouts.
2022-06-14 17:24:46 +10:00
Ivan Vangelista
e1d00b62ba New machines marked as NOT_WORKING
----------------------------------
Magic Touch [Ivan Vangelista]
2022-06-13 22:56:46 +02:00
Olivier Galibert
ec1cdc738c archimedes_keyb: also kick upstairs in devices/machine 2022-06-13 19:14:39 +02:00
Olivier Galibert
0ed8bbcab7 fm_scsi: kick upstairs in devices/machine 2022-06-13 19:14:39 +02:00
Curt Coder
2cce99c452 New machines marked as NOT_WORKING
----------------------------------
Luxor X37 (prototype) [Dataindustrier AB DIAB Intressegrupp, Curt Coder]

New NOT_WORKING software list additions
---------------------------------------
x37_flop: ABCenix, cremount [Dataindustrier AB DIAB Intressegrupp, Curt Coder]
2022-06-13 15:20:58 +03:00
Vas Crabb
74fe6e9d5c -Got rid of some legacy MESS support glue.
* Got rid of the special-casing for the "mess" subtarget name.
* Got rid of the MESS-specific Windows resources, emuator info source
  and man page.
* Added subtarget name to the internal name and original name in Windows
  resources.

-ui: Put the system-specific items on the input settings menu together,
 and fixed the crosshair visibility settings.
2022-06-13 16:53:23 +10:00
Vas Crabb
f47f9c3db3
ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915)
Added menus for controlling toggle inputs, and showing recognised input
devices and control state.  Moved input menu options off main menu to a
submenu, as there are a lot of them now.

Moved menu heading drawing into base class, added headings to more
menus, and made headings more consistent with the menu items used to
reach them.  Also made terminology more consistent.

Changed the default names for buttons and hat switches/D-pads to use
1-based numbering.  DirectInput still returns 0-based button numbers for
some devices.

Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2
package.  Also fixed building the DirectSound sound output module with
the SDL OSD on Windows - the Windows headers are sensitive to include
order.

Started adding documentation for menus, to hopefully help people find
menus they remember seeing but can't recall how to access.

For translators, this makes terminology more consistent.  In particular:
* "Settings" is preferred over "configuration" in a number of places, as
  the latter can be construed as referring specifically to settings
  stored in .cfg files in the cfg_directory folder.  Also, references to
  saving machine configuration could be interpreted as relating to the
  settings on the "Machine Configuration" menu.
* The controls on host input devices (e.g. keys, buttons, joystick axes)
  are referred to as "controls", while emulated inputs are referred to
  as "inputs".
* The menus for assigning host controls to emulated inputs are called
  "input assignments" menus to distinguish them from other input
  settings menus.
* Combinations of controls that can be assigned to emulated inputs are
  referred to as "combinations" rather than "sequences".
* The potentially confusing term "ROM set" has been removed altogether.
  Use "short name" to refer to a device or system's identifier.
* "System" is used in almost places to refer to a complete, runnable
  system rather than "Machine".
* "Driver" is now only used to refer to source files where systems or
  devices are defined - it is no longer used to refer to individual
  systems.
* A few more menus have message context for the messages.  This makes it
  a bit easier to guess where the messages are used.  It also means you
  can use different translations in different places if necessary (e.g.
  if the same English text should be translated differently as an item
  in one menu and as a heading in another).
2022-06-11 21:47:19 +10:00
hap
5214d7f31c mess.lua: place hh_ collection drivers and their subclasses together 2022-06-11 11:22:23 +02:00
hap
f37ea30bfc rename headonb.cpp to efg8080.cpp 2022-06-10 20:25:59 +02:00
arbee
7534ecd5f6 New machines added as MACHINE_NOT_WORKING
-----------------------------------------
M3001 [Darksoft, Team Europe, R. Belmont]
M4001 [Darksoft, Team Europe, R. Belmont]
2022-06-10 11:22:47 -04:00
hap
63e595ae36 pong: remove obsolete external version 2022-06-10 15:27:19 +02:00
Robbbert
6e1ea31cc3 Fixed MESS build. 2022-06-10 00:39:17 +10:00
Olivier Galibert
df182a28b9 Cleanup of the source files lists for src/mame:
- Every file in src/mame/{includes,drivers,audio,machine} with the
  exception of konamiic.txt has to appear in one and only one of the
  projects of arcade.lua or mess.lua (ignoring mameshared)

- Files in mameshared must exist in mame.lua
2022-06-09 15:02:29 +02:00
MooglyGuy
c046ba26c0
cpu/dps56156, plygonet.cpp: DSP56156 fixes and plygonet.cpp cleanup: (#9894) [Ryan Holtz]
* cpu/dsp56156: Fixed ANDI, fixed BFCLR errata, fixed DEC24 not affecting flags.
* cpu/dsp56156: Added proper devcb_write16 for Port C output.
* plygonet.cpp: Fixed banking and tightened up VRAM access.
* plygonet.cpp: Account for endianness in tilemap accesses.
* plygonet.cpp: Switched to logmacro, merged into one file, and general code cleanup.
2022-06-09 03:26:49 +10:00
Olivier Galibert
4fdaa5733a How did the CI manage to compile already? 2022-06-08 18:50:21 +02:00
Olivier Galibert
673dc793b1 Remove header file that doesn't exist anymore from tiny.lua and ci.lua 2022-06-08 18:44:34 +02:00
hap
35df8085b7 segas16sb: move isgsm driver to its own file 2022-06-06 13:46:52 +02:00
Miodrag Milanovic
da0cf02007 New working clones
------------------
RC2014 Micro [Miodrag Milanovic]
SC203 - Modular Z180 Computer [Miodrag Milanovic]
SC105 - Modular Backplane (RC2014) [Miodrag Milanovic]
SC112 - Modular Backplane (RC2014) [Miodrag Milanovic]
SC116 - Modular Backplane (RC2014) [Miodrag Milanovic]
SC133 - Modular Backplane (RC2014) [Miodrag Milanovic]
2022-06-06 13:37:08 +02:00
Miodrag Milanović
b26c4ed848
Z180 ASCI (#9762)
New working machines
-----------------------------------
Micromint SB180 [Miodrag Milanovic]

-z180: implemented ASCI serial communication [Miodrag Milanovic]
-tim011: hookup serial keyboard [Miodrag Milanovic]

-20pacgal:  Add support for terminal
2022-06-06 10:48:41 +02:00
arbee
536755e380 apple2: support for the Excel-9 6809 card, which runs Flex09. [Rob Justice, R. Belmont] 2022-06-05 22:27:26 -04:00
ClawGrip
472a7150ed
New NOT_WORKING machine (#9862)
* New NOT_WORKING machine
-----------------------------------
Frenzy Express [Museo del Recreativo]
2022-06-05 17:39:05 -04:00
Vas Crabb
ea1e51636c Adjust toolchain versions for triggering workarounds:
* Make netlist/plib noexcept issue workaround trigger for clang 8 or
  Apple clang 11.0.0.
* Disable lifetime DSE optimisation for GCC 10.2 (this may be an issue
  in GNU libstdc++ rather than GCC itself - using compiler version as a
  proxy for standard library version is bad, but it's the path of least
  resistance for now).
2022-06-06 04:00:02 +10:00
Vas Crabb
62c35fe3ce
8080bw.cpp, mw8080bw.cpp: Some cleanup/untangling: (#9884)
Updated Space Invaders C.V. and Space Invaders Part II input definitions
based on schematics and manuals.

Got Space Invaders specific stuff out of the Midway 8080 B/W base class.

Got some of the game-specific stuff out of the _8080bw_state class.
It's still a bit of a mess because sound hardware is implemented in the
driver classes so some games pull in a more derived class than they
really should just for sound handlers.

Got rid of the duplicate joystick inputs in rollingc.

Fixed cocktail mode input and DIP switches in a few games.
2022-06-05 23:37:21 +10:00
Nigel Barnes
e0b3f53210 bus/bbc/userport: Added SD Card, and SD Turbo interfaces (not working). 2022-06-05 12:06:40 +01:00
Nigel Barnes
3a49ac4301 bus/bbc/modem: Added Master Extra User Port device. 2022-06-05 12:06:40 +01:00
Nigel Barnes
2094666305 New working software list additions
-----------------------------------
electron_cart: ElkSD Plus 1 [Ramtop, Nigel Barnes]
bbcm_cart: Master SD [Ramptop, Nigel Barnes]
2022-06-05 12:06:40 +01:00
Nigel Barnes
b788307114 bus/electron: Added the ElkSD64 and ElkSD128 Electron SD interfaces. 2022-06-05 12:06:40 +01:00
arbee
ce212a5e9a New machines added as MACHINE_NOT_WORKING
-----------------------------------------
Tinker Bell [Darksoft, Team Europe, R. Belmont]

segam1.cpp: removed and games merged into the new segasm1.cpp. [R. Belmont]
2022-06-04 21:19:44 -04:00
AJR
fd82da23ef europc, europc2: Low-level emulation of built-in keyboard 2022-06-04 21:10:12 -04:00
eientei95
7ae12dd2c7
gokidetor.cpp: Rename Gokidetor to La Cucaracha (#9883) 2022-06-03 09:57:06 +02:00
ClawGrip
30d83ab08b
New NOT_WORKING machines (#9881)
------------------------------
Tom's Adventures [Museo del Recreativo]
Ice Cold Beer (ICE) [Museo del Recreativo]
2022-06-02 10:33:21 -04:00
Patrick Mackinlay
5a3533b277 labtam: add 8086 vdu comm board [Xolod] 2022-05-31 17:24:02 +07:00
AJR
f6994d2d42 kl5c80a12: Add KP64 timer/counter units to emulation 2022-05-30 17:35:10 -04:00
AJR
439bc76f2b New machines marked as NOT_WORKING
----------------------------------
Tektronix 4319 Graphics Workstation [Bitsavers]
2022-05-28 18:05:28 -04:00
AJR
5419785337 mess.lua: Fix full build after 2538377cf8 2022-05-27 22:05:59 -04:00
Ivan Vangelista
899966bca0 New working clones
------------------
Nostromo [anonymous]
Samurai (World) [anonymous, SNESNESCUBE64]
Super Ship [anonymous]

- gotya.cpp: minor cleanups

- hyprduel.cpp: used standard ROM loading macros
2022-05-27 22:29:03 +02:00
hap
812eab4a1b New working machines
--------------------
Micon-Kit Part II [hap, anonymous, Jay Gallagher]
2022-05-27 16:29:40 +02:00
Patrick Mackinlay
2538377cf8 New machines marked as NOT_WORKING
---
Labtam 3000 [Xolod]
2022-05-27 15:53:32 +07:00
Ivan Vangelista
f3e93eff6a New clones marked as NOT_WORKING
--------------------------------
Dead or Alive (Model 2A) [Trol]

- arkanoid.cpp, snk.cpp: minor documentation updates

- funworld.cpp: demoted multiwina to MIG

- jack.cpp: corrected ROM lables [Brian Troha]

- nmk16.cpp: fixed missing sprites in attract mode for tdragonb3, thanks to info from hammy

- sidearms.cpp: dumped PROMs, added hardware info and correcte clocks for Turtle Ship [Guru]

- vamphalf.cpp: improved hardware info [Guru]

- xain.cpp: corrected audio CPU clock to match measurements

- yunsun16.cpp: used standard ROM loading macros and other minor cleanups
2022-05-27 06:31:12 +02:00
AJR
a683ea2d1a Add ymqy70.cpp to mess.lua and mess.flt 2022-05-26 22:15:29 -04:00
Vas Crabb
9ce44fa048 osd: Cleaned up Windows API usage a little.
* Bumped target windows version to 6.0.0 (Vista).
* Use WRL COM pointers to manage some COM-like objects.
* Cleaned up logging in DirectSound module.
* Cleaned up includes in Windows input modules.
* Switched to Common Item Dialogs in Windows debugger.
* Replaced disabled code that never really worked with a TODO comment.
2022-05-26 03:07:28 +10:00
Patrick Mackinlay
f28212d524 labtam: labtam 3000 z80 sbc work in progress [Xolod] 2022-05-25 19:27:55 +07:00
Patrick Mackinlay
91f886d371 labtam: rename 3232 device 2022-05-25 19:18:29 +07:00
David Haywood
e6f8c9cae7
new WORKING machines (#9819)
------
Marble Madness II (prototype) [anonymous]
2022-05-25 02:02:32 +10:00
yz70s
deddb5626c Remove spurious /wx option from prjects generated for visual studio
With that warnings as errors were always enabled even if option
NOWERROR=1 was specified
2022-05-23 20:13:38 +02:00
Angelo Salese
e6180e3510
Initial work towards a sis630 based chipset driver (#9635)
- Add more or less complete implementations of sis630_host, sis950_lpc, sis630_gui, sis5513_ide, sis7001_usb, sis7018_audio, sis900_eth devices;
- Removed gamecstl.cpp in favour to the new sis630.cpp driver;
- i386.cpp: enable CMOV feature for Pentium III and 4;
- i386.cpp: add PSN stub feature for Pentium III;

New machines marked as NOT_WORKING
----------------------------------
Shuttle MS-11 [Angelo Salese, archive.org]
2022-05-23 17:27:33 +02:00
Vas Crabb
3984f8f883 srcclean in preparation for release 2022-05-22 09:36:01 +10:00
couriersud
324f9d44d5
netlist: More c++, less macros, added support for cspell (#9794)
- More c++, less macros
  * Significantly reduced the use of unused_var and replaced it with
    [[maybe_unused]]
  * use enum class in ppmf.h

- Changes to testing code in ptest.h
  * Catch exceptions in more places
  * The verbosity of the output can now be controlled
  * Display of test stats totals

- added support for cspell
- fixed various typos
- fixed SUBTARGET=nl build
- fixed more file permissions
- srcclean and add fix_permissions target to netlist makefile
2022-05-22 01:16:50 +10:00
smf-
988a9b974a partial revert of 68ebb786d1 2022-05-20 16:31:52 +01:00
smf-
68ebb786d1 Added Z80 Video Pak cartridge to Commodore 64. [smf]
Fixed XL-80 cartridge lower case and inverse video [smf]
2022-05-20 15:06:04 +01:00
Patrick Mackinlay
56702e4217 labtam3232: new card skeleton 2022-05-20 14:55:29 +07:00
AJR
aa66b4a013 atarist.cpp: Split out video and blitter as separate devices 2022-05-19 15:21:55 -04:00
couriersud
0c258c9d70
netlist: Fixes to address PR #9752 and issue #8590 / EMSCRIPTEN (#9773)
netlist: pointer to member function code 

- Address PR #9752 and issue #8590
- change comments in ppmf.h
- add support for function desciptors (IA64)
- sizeof(size_t) may be different on build targets
  make plib::hash use uint64 to ensure consistent static solver
  hashes across platforms (EMSCRIPTEN)
- Moved constructor and member functions outside the class declaration
  with the exception of "call" member functions.
- Updated comment on accessing RDX
- Added more test cases

* Removed execution bit on certain files
I have separated out the raw processing code into `ppmf.cpp`. I have
also taken first steps to clean the abi identification.

The code submitted now supports:

a) The unknown virtual inheritance case with specific code for MSVC for
simple (i.e. scalar, void, reference, pointer) return types using the
optimized code. This is the test case only supported under MSVC and
which should return 7. Please have a look at the code. Basically
m_vptr_offset is an index into a pointer table. It needs to be
multiplied by `sizeof(void *)`.

b) If you enable PPMF_EXPERIMENTAL complex return type member functions
for MSVC will also use the optimized code path. This is explained in
detail in the code in ppmf, including caveats and possible solutions.

c) Enabling PPMF_USE_MAME_DELEGATES will use `src/lib/util/delegate.h`
as a replacement for `ppmf.h`. This allows to run the same tests
(`nltool -c tests` from standalone build) as for the ppmf code.

d) The code now also supports `clang-cl`

e) sizeof(size_t) may be different on build targets.

Make plib::hash use uint64 to ensure consistent static solver hashes
across platforms. This fixes loading static solvers (if enabled) on
EMSCRIPTEN.
2022-05-19 19:40:00 +02:00
Nigel Barnes
b81f68eb66 mtx.cpp: New expansion devices CFX System and MAGROM.
- Added Reset keys and joystick ports.
- Re-implemented cartridge slot as external ROMPAK device.
2022-05-18 21:07:44 +01:00
smf-
33f069cac0 fix for building with clang 14 as asmjit uses | & operators on bools [smf] 2022-05-18 18:39:43 +01:00
Miodrag Milanović
6d595718f5
bus/rc2014 code review fixes (#9768)
* Unmap I/O space on bus reset and install I/O on card reset.
* Cleaned up code.
2022-05-17 05:12:28 +10:00
SomeRandomGuyIdk
e9ff2dd85a
JPM SRU fruit machine improvements (#9632)
jpmsru.cpp: Fleshed out I/O and added layouts.

machine/steppers.cpp: Added JPM SRU 200-step pattern.

audio/fruitsamples.cpp: Added device for simulated fruit machine sounds.
2022-05-17 04:43:37 +10:00
Vas Crabb
a3ee45c94c scripts: Improve str_to_version again.
Don't treat hypen and dot as the same thing - it will cause issues with
pacakge revisions.  Cleaned up some Lua code as well.

Also show warnings about potentially uninitialised stuff with GCC 12,
just don't make them fatal errors.
2022-05-17 03:16:54 +10:00
Ivan Vangelista
1f8af0c190 - goldstar.cpp: decrypted cb3c, needs correct address map
- gstriker.cpp: used finder for memory bank and other small cleanups
2022-05-16 18:10:34 +02:00