Commit Graph

4493 Commits

Author SHA1 Message Date
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
sairuk
a68e611f07
fix version detection in str_to_version (#9767) 2022-05-16 10:49:09 -04:00
Miodrag Milanović
36204d73da
RC2014 (#9759)
New working clones
------------------
RC2014 Mini with CP/M Upgrade [Miodrag Milanovic]


-rc2014: added RTC, IDE, FDC and Sound module, fix memory and i/o mapping, proper flash mapping
2022-05-15 18:58:59 +02:00
Nigel Barnes
3377ee1d79 bus/bbc/internal: Added the Memex-B20 board. 2022-05-15 16:15:00 +01:00
Ivan Vangelista
b3225de898 vball.cpp: used finder for memory bank and other small cleanups 2022-05-14 08:12:49 +02:00
Vas Crabb
cd30211883 tait8741.cpp: Removed old simulation of Gladiator MCUs (unused for a while now). 2022-05-14 13:13:29 +10:00
arbee
f6b18012bc mips3: Fixed error flagged by GCC 12 [Ryan Holtz, R. Belmont] 2022-05-11 21:30:46 -04:00
arbee
a5647347df Initial GCC 12 support for Fedora 36. [R. Belmont] 2022-05-11 17:26:57 -04:00
Ivan Vangelista
eb6d21a2a4 New working clones
------------------
Space Invaders' gambling game (unencrypted) [Jorge Silva]
2022-05-10 21:58:44 +02:00
Miodrag Milanović
437f504eef
RC2014 (#9716)
New working machines
--------------------
RC2014 Classic [Miodrag Milanovic]
RC2014 Pro [Miodrag Milanovic]
RC2014 Classic II [Miodrag Milanovic]
RC2014 Zed [Miodrag Milanovic]
RC2014 Zed Pro [Miodrag Milanovic]
2022-05-10 15:03:30 +02:00
Ivan Vangelista
56e2cdf453 - nmk16.cpp: added hardware info and corrected ROM labels for Acrobat Mission [Guru]
- paradise.cpp: used finders, templates and other small cleanups
2022-05-09 20:12:56 +02:00
Sandro Ronco
b2aa336249 Z88: added serial port and NVRAM support. [Sandro Ronco] 2022-05-08 14:00:53 +02:00
Vas Crabb
fe8e132efa
cps2.cpp: Added TOURNAMENT board communication simulation. (#9699) [Vas Crabb, Darksoft, Gregory Lewandowski] 2022-05-06 14:03:57 +10:00
Ivan Vangelista
fa38329177 New working clones
------------------
Batsugun (older, set 2) [buffi]
Dogyuun (oldest set) [buffi]

- pacland.cpp: used finders and other small cleanups
2022-05-05 18:07:35 +02:00
AJR
c0ace34b7e New disassemblers for unidasm: hp2100, hp21mx, v620, v75 2022-05-04 23:54:46 -04:00
Roberto Fresca
8ffa5ef1d9 New working machines
--------------------
Hot Chilli (95103, v0104) [Roberto Fresca, Grull Osgo, Matt B]
2022-05-04 19:50:44 +02:00
couriersud
a8fe401275
Suppress compile warnings in asmjit with GCC 7. (#9675) 2022-05-04 04:44:44 +10:00
Ivan Vangelista
d601cd0245 firetrap.cpp: used finders, templates and other small cleanups 2022-05-03 18:11:23 +02:00
Ivan Vangelista
7c576840d6 New machines marked as NOT_WORKING
----------------------------------
Neo Print - Popeye (Japan) (T4i 3.04) [buffi]
Neo Print - European Version (World) (T4i 2.00) [buffi]
Rally Point 2 [coolmod]

- toaplan2.cpp: added a note about a different ROM configuration found for sstrikerk [buffi]
2022-05-02 18:03:38 +02:00
hap
9e76c4c65a New working machines
--------------------
Scrabble Lexor - Computer Word Game [hap, Sean Riddle]
2022-05-01 23:08:07 +02:00
Miodrag Milanović
394107b576
-tim011.cpp: Hooked up floppy drives properly. (#9649)
* Hooked up floppy drives and controller properly, and implemented video display.
* formats/tim011_dsk.cpp: Added TIM 011 floppy image format.

-machine/upd765.cpp: If waiting for additional command bytes, treat a data register read as an open bus write (tested on real hardware) and always trigger the DRQ line even if in nodma mode. [Carl

-cpu/z180: Added callbacks for tend; decrement bcr1 when DMA channel 1 is active. [Carl]
2022-05-02 04:45:47 +10:00
couriersud
9d77923b93
Fixed SUBTARGET=nl build. (#9662) 2022-05-02 03:47:01 +10:00
hap
4511b20768 rename hh_amis2k driver to wildfire 2022-05-01 12:07:26 +02:00
Ivan Vangelista
72de111bf2 - appoooh.cpp: finders and other small cleanups
- royalmah.cpp: corrected year for ichiban
2022-04-27 21:51:19 +02:00
Ivan Vangelista
fb30007f9e brkthru.cpp, gunsmoke.cpp, bfm_adr2.cpp: used finders and other small cleanups 2022-04-26 20:32:28 +02:00
Ivan Vangelista
d9a7c47e2f New clones marked as NOT_WORKING
--------------------------------
Bad Lands (Modular System) [Eduardo Anay, ClawGrip]
2022-04-23 09:54:38 +02:00
Ivan Vangelista
f55b17b07f New clones marked as NOT_WORKING
--------------------------------
Slap Fight (Modular System) [Eduardo Anay, ClawGrip]
2022-04-21 18:04:08 +02:00
Angelo Salese
e383606922
pc8801.cpp: major groundwork cleanups (#9533)
* pc80s31k.cpp: minor XTAL cleanup

* pc8801.cpp: reduce signature name fns

* pc8801.cpp: separate dictionary and CD-ROM later model use into own state machines

* pc8801.cpp: clean input ports a bit

* pc8801.cpp: bulk printf -> logerror

* pc8801.cpp: misc cleanups

* pc8801.cpp: more misc cleanups

* pc8801.cpp: initial batch of exporting PC8801-31 to a separate device

* pc8801_31.cpp: document register map, add machine ID

* pc8801.cpp: fix configuration mistake for CPU speed

* pc8801.cpp: add base diplocations, massage documentation of ports $30, $31, $40, misc cleanups

* pc8801.cpp: fix mouse cursor jump bugs, remove deprecated PORT_RESET usage;
pc8801.cpp: rework and extend expansion slot descriptions;

* pc8801.cpp: add note about extended FH keyboards

* pc8801.cpp: add dip positions for BASIC dips

* pc8801_31.cpp: add stub SCSI bus controller

* pc8801.cpp: blind fix kanji LV2 hookup

* pc8801.cpp: use required_region_ptr for ROM regions, split kanji_lv2 to own one

* pc8801.cpp: move a few notes to XML

* pc8801_flop.xml: correct Digan no Maseki title

* pc8801.cpp: remove unneeded port $33 hookup (should be unmapped on all PC8801 variants)

* pc8801.cpp: initial implementation of interrupts using i8214 as base. Fixes at least yojukiko and bishojbg BGMs

* pc8801.cpp: add clock calculation for internal DAC1BIT, add reported V1 revision numbers for each romset.

* pc8801.cpp: move OPN/OPNA sound chip mounts to internal model types, add stereo mixing

* pc8801.cpp: add sound irq pending mechanism, particularly needed by Telenet games

* pc8801_flop.xml: update QA notes

* pc8801_flop.xml: more misc QA notes

* pc8801.cpp: improve irq semantics, connect rxrdy_irq_w signal

* pc8801.cpp: fix some irq regressions

* pc8801.cpp: make OPNA a bit less louder, QA checkpoint

* pc8801.cpp: fix broken link, unmapped I/O documentation

* pc8801.cpp: add JMB-X1 map, other minor notes

* pc8801_flop.xml: fix metalora title and manufacturer

* pc8801.cpp: minor cleanups

* pc8801.cpp: start inheriting from base pc8001_base_state, add initial hooks for actual 3301 + i8257 devices

* pc8801.cpp: fix port40_r reading mistake

* pc8801.cpp: fix 24kHz pixel clock

* pc8801.cpp: 3301 irq is tied to VRTC not INT

* upd3301.cpp: fix VRTC vblank/display bit timer

* pc8801.cpp: fix DMA readback

* upd3301.cpp: convert to logmasked

* upd3301.cpp: support for no attributes/no special control mode

* pc8801.cpp: simplify bitmap 3bpp drawing and add preliminary palette rasters

* pc8801.cpp: misc documentation updates

* upd3301.cpp: clear bitmap layer on FIFO reset

* i8214.cpp: PoC in separating INT ASSERT and CLEAR phases
pc8801.cpp: tie acknowledge to INT rather than inside callback. Avoids spurious irq regressions;

* upd3301.cpp: handle bitmaps as pure transparent;
pc8801.cpp: add BG Pal handling, honor transparency in all bitmap layers;

* pc8801.cpp: minor cleanups

* pc8801.cpp: better handling of bitmap fills

* pc8001.cpp: carry over attribute fetches between lines when 3301 is in color mode

* pc8801_flop.xml: update QA, move notes from main driver

* pc8801.cpp: implement colorized b&w graphic modes

* pc8801.cpp: cleanup obsolete functions

* pc8801.cpp: extend a bunch of notes

* pc8801.cpp: add boilerplate code for base irq mechanism

* pc8801.cpp: add expansion card support, with JMB-X1 (partly addresses #8709), PC-8801-23 and PCG-8100 as PoC examples.

* pc8801_exp.h: fix CI clang build

* pc8801_31.cpp: SW list hookup

New NOT_WORKING software list additions
---------------------------------------
pc8801_cdrom.xml: CD Takarabako [r09]

* pc8801.cpp: promote some romsets to parent

* pc8801.h: reinstate dummy initialization in state machines

* pc8801.cpp: save_item to all variables in state machines
2022-04-16 01:36:53 +02:00
Angelo Salese
444a6c6144
fruitpc.cpp: split gogostrk into own driver (paokaipc.cpp), remove legacy PCI header defined. (#9562) 2022-04-15 00:34:51 +02:00
Ivan Vangelista
935fe6b797 New machines marked as NOT_WORKING
----------------------------------
Super 97 (Ver. 1.00) [Ioannis Bampoulas]

- hexion.cpp: used finders and other small cleanups

- powerins.cpp: corrected one sprite ROM for powerinsc
2022-04-14 18:08:32 +02:00
Ivan Vangelista
c3a817660d kangaroo.cpp, shisen.cpp, skykid.cpp, spdodgeb.cpp: finders and other small cleanups 2022-04-13 16:45:53 +02:00
Robbbert
c8ab724056 Advision: merged 4 files into one. 2022-04-13 21:57:54 +10:00
Ivan Vangelista
ce68a1d711 New working clones
------------------
Blood Storm (v2.21) [coolmod]

angelkds.cpp, crgolf.cpp: finders and other small cleanups
2022-04-12 12:57:32 +02:00
Ivan Vangelista
926e59db2b labyrunr.cpp, pcktgal.cpp: used finders and other small cleanups 2022-04-11 18:23:03 +02:00
hap
efb0ba9dcd cpu.lua: fix typo from prev commit 2022-04-10 13:51:09 +02:00
hap
cd52b38151 rw5000: added b5500 2022-04-10 13:25:02 +02:00
ClawGrip
cf2982a769
New NOT_WORKING machines (#9531)
* New NOT_WORKING machines
---------------------------------------
Sport Damjes 1 [Sergio de electronicaVyS, ClawGrip]
2022-04-09 16:36:39 +02:00
Robbbert
89ee397622 c80: merged c80h into c80.cpp. Fixed random crash. Removed bogus 9th digit. Documented how to use the cassette. 2022-04-09 02:35:47 +10:00
Ivan Vangelista
df5962a0fb ajax.cpp, parodius.cpp: finders and other minor cleanups 2022-04-07 18:28:21 +02:00
Patrick Mackinlay
3c76a688d3 New machines marked as NOT_WORKING
---
Signetics SMVME2000 [Plamen Mihaylov]
2022-04-07 09:13:39 +07:00
Ivan Vangelista
869f8d51e8 - contra.cpp: added hardware infos [Guru]
- epos.cpp, ksayakyu.cpp: finder and other minor cleanups

- whitestar.cpp: used finder instead of tag lookup for memory bank
2022-04-06 18:05:10 +02:00
Robbbert
f32b43a5bf Merged s8a.cpp into s8.cpp 2022-04-06 19:37:13 +10:00
Vas Crabb
ae8634669a Apparently the issue with Sol and std::optional is a GCC version thing, not Linux vs MinGW.
Also, tidied up the test views in some more fruit machine layouts.
2022-04-06 04:15:25 +10:00
Ivan Vangelista
e00e52e972 - buggychl.cpp, himesiki.cpp, surpratk.cpp: finders and other small cleanups
- discrete.cpp, mac.cpp: initialized some variables which were causing problems

- centiped.cpp: added 82s153 dump for bullsdrt [chaneman]
2022-04-05 18:00:10 +02:00
Roberto Fresca
f06df38709 New working machines
--------------------
Le Pendu (Bilingue, Version 04) [Roberto Fresca, Grull Osgo, Jeff Hamelin]
2022-04-05 00:00:22 +02:00
Ivan Vangelista
143ea62682 - a1supply.cpp: dumped 2 more chips for tv21_3 [Siftware]
- bottom9.cpp: finders and other minor cleanups

- pc8001.cpp: initialized a variable which was causing problems in regression testing and actually save some states

- seta.cpp: used correct ROM for daiohp2, fixes various GFX glitches
2022-04-04 18:16:50 +02:00
Vas Crabb
ea30ec72f4 Disable lifetime dead store elimination for Linux GCC builds.
This will hopefully work around the very unhelpful uninitialised
variable warning that seems to be triggered by using Sol's get function
with std::optional<T> or sol::optional<T> on Linux.
2022-04-03 14:34:38 +10:00
Vas Crabb
c4f9ff9790 -util/corealloc.h: Reduced make_unique_clear to a single variant for POD arrays.
* Enabled GCC lifetime dead store elimination optimisation.
* emu/device.h: Don't pre-clear memory for drivers.  Ivan Vangelista
  fixed at least the majority of things that crashed outright, and
  Robbbert initialised variables that coverity complained about.  It's
  unlikely anything will break due to this.
* sound/discrete.h: Explicitly initialise members of discrete "devices"
  to zero.  I don't see a way around doing this in headers due to the
  macro soup used to build the constructors.
* sound/mos6581.cpp: Moved creation of the SID core to device_start and
  explictly initialised members of the SID core structures.  These
  structures are in internal headers, so they won't cause downstream
  recompiles.

-Lua engine: Made I/O port manager type_seq a bit more tolerant of
 omitted arguments.
2022-04-03 02:53:19 +10:00
Ivan Vangelista
976ec5da28 contra.cpp, gng.cpp: finders and other small cleanups 2022-04-01 17:59:14 +02:00
Olivier Galibert
e4564eb99a cdrom_file: classify. Could use more internal work, but it's a step 2022-04-01 11:36:55 +02:00
AJR
f5d61ddcbe New machines market as NOT_WORKING
----------------------------------
Waldorf Electronics MiniWorks 4-Pole [DBWBP]
2022-03-31 14:06:29 -04:00
hap
334120cd95 New working machines
--------------------
10R (Rockwell) [hap, Sean Riddle]
12R (Rockwell) [hap, Sean Riddle]
2022-03-31 19:25:08 +02:00
Ivan Vangelista
11c85437d5 goal92.cpp: finders and other small cleanups 2022-03-31 18:04:12 +02:00
Patrick Mackinlay
ab69b13e03 New machines marked as NOT_WORKING
---
Intel iSBC 660 System Chassis
2022-03-31 17:53:06 +07:00
Patrick Mackinlay
d016a6d409 isbc8024: new multibus card with unknown firmware [Andy Welburn] 2022-03-31 17:50:30 +07:00
Ivan Vangelista
b278453e76 galpanic.cpp, hcastle.cpp, tbowl.cpp: finders and other minor cleanups 2022-03-31 08:26:40 +02:00
Ivan Vangelista
b4873d059e cbasebal.cpp, vendetta.cpp: finders and other small cleanups 2022-03-29 18:03:43 +02:00
hap
9d9ec1a2f7 rw5000: add a5500 2022-03-29 15:14:55 +02:00
hap
f876dd8241 rw5000: add a5000/a5900 2022-03-29 01:43:47 +02:00
hap
eb7bfe8450 b5000: rename base class to rw5000 2022-03-28 23:52:01 +02:00
Ivan Vangelista
19fe9e23a6 - diverboy.cpp, exzisus.cpp: finders, other minor cleanups
- various drivers: removed some custom GFX decodes in favor of the ones provided in emu/video/generic.cpp
2022-03-28 18:11:51 +02:00
ClawGrip
2a3c402cae
New NOT_WORKING software list additions (#9437)
* New NOT_WORKING software list additions

---------------------------
roland_tnsc1.xml:
  70's and 80's (TN-SC1-03) [Sean Riddle, ClawGrip]
2022-03-27 11:46:26 +11:00
MooglyGuy
06e60e848f
Time Traveler (set 1) - promoted to working (#9468) [Ryan Holtz]
* machine/laserdsc.cpp: Added functionality to retrieve if a disc is CAV.
* machine/ldv4200hle.cpp: Added high-level Pioneer LD-V4200 player emulation.

Machines promoted to working
----------------------------
Time Traveler (set 1) [Ryan Holtz, Matt O, ld-decode Team]
2022-03-27 00:41:51 +11:00
ClawGrip
81930264fa
New NOT_WORKING machines (#9466)
* New NOT_WORKING machines

---------------------------------
Basketball (Benchmark Games, set 1) [Museo del Recreativo, ClawGrip]
Ten Strike Classic [Museo del Recreativo, ClawGrip]

New NOT_WORKING clones
---------------------------------
Basketball (Benchmark Games, set 2) [Museo del Recreativo, ClawGrip]
2022-03-26 21:55:23 +11:00
Ivan Vangelista
62b74558d1 - capbowl.cpp: used finders and other small cleanups
- system1.cpp: added hardware infos for pitfall2 [Guru]
2022-03-24 18:19:22 +01:00
Ivan Vangelista
18bdf245a2 New machines marked as NOT_WORKING
----------------------------------
Gun Shot [Museo del Recreativo]

- blktiger.cpp: used finders and some other small cleanups
2022-03-23 18:46:47 +01:00
Ivan Vangelista
064cd262a6 - a1supply.cpp: dumped most missing PROMs for tv21_3 [Siftware]
- blktiger.cpp, nmk16.cpp: added some hardware infos. Corrected blktiger MCU clock [Guru]

- wc90.cpp, wc90b.cpp: used finders, small cleanups
2022-03-21 19:28:14 +01:00
Brian Johnson
9a6faae734
qx10: add multifont option card (#9286) 2022-03-20 23:31:38 -04:00
hap
6a91b86301 New machines marked as NOT_WORKING
----------------------------------
18R (Rockwell) [hap, Sean Riddle]
2022-03-20 20:51:47 +01:00
Michael Zapf
f2ddee6df3 ti99: New expansion card "TIPI". 2022-03-20 20:03:51 +01:00
hap
8b8bb2fa75 b5000: add b6000, b6100 2022-03-20 00:19:50 +01:00
Ivan Vangelista
994b8d18ee New working clones
------------------
Monsters World 2 (bootleg of Super Pang) [Recreativas.org, David Torres, ClawGrip]
2022-03-19 15:27:20 +01:00
Nigel Barnes
3e438cde6c bus/archimedes/podule: Added MIDI devices:
- EMR MIDI 2 Interface
- EMR MIDI 4 Interface
2022-03-17 22:17:14 +00:00
Nigel Barnes
08882ee89e bus/archimedes/econet: Added MIDI devices:
- The Serial Port MIDI Interface
- The Serial Port Sampler and MIDI Interface
2022-03-17 22:17:14 +00:00
Ivan Vangelista
cf6d818f67 yunsung8.cpp: made use of finders and views, other minor cleanups 2022-03-17 18:16:00 +01:00
0kmg
acca7d5898
bus/nes_ctrl: Split zapper sensor off as a reusable device. (#9417) 2022-03-17 12:29:56 -04:00
hap
2dab71e7e0 add b5000 cpu core file placeholders 2022-03-17 14:07:17 +01:00
shattered
f280e06e4a
New machines marked as NOT_WORKING (#9356)
------------------------
Elektronika MK-98
2022-03-17 04:53:46 +11:00
Ivan Vangelista
7c7bab4dd0 fastlane.cpp, flkatck.cpp: used finders and arrays where applicable, other minor cleanups 2022-03-16 18:02:37 +01:00
Ivan Vangelista
c074526b03 xxmissio.cpp: used finder for memory bank, other minor cleanups 2022-03-15 18:04:19 +01:00
arbee
935380746d Add missing cpu.lua entries for the rest of the SM5* family. Fixes single-driver builds. [R. Belmont] 2022-03-14 22:21:18 -04:00
hap
5efd366143 nes: added R.O.B. 2022-03-15 00:10:17 +01:00
Ivan Vangelista
c56bac05ed New working clones
------------------
Ridge Racer (Rev. RR2 Ver.B, World) [Jim Kingery, Brian Troha, The Dumping Union]
Ridge Racer 2 (Rev. RRS8, World) [Jim Kingery, Brian Troha, The Dumping Union]
Ace Driver: Victory Lap (Rev. ADV2 Ver.B, World) [Jim Kingery, Brian Troha, The Dumping Union]

- Namco System 22 driver updates  [Jim Kingery, Brian Troha, The Dumping Union]
* Sets redumped/verified: ridgeracb, ridgera2, raverace, raveracj, victlapa
* ROM labels corrected by set: ridgeracb, ridgeraca, victlapa
* Parent renaming: raveracw --> raverace, acedrvrw --> acedrive, victlapw --> victlap

- model2.cpp: some updates regarding board numbers [Guru]

- goindol.cpp: used finder for memory bank, other small cleanups
2022-03-14 16:49:42 +01:00
npwoods
2df5b5a1f0
Adding 'FORMATS["COCO_RAWDSK"] = true' to mess.lua (#9412) 2022-03-14 11:27:15 +01:00
Ivan Vangelista
a7225d8818 - model2.cpp: dumped IO board ROM for srallycdx [Guru]
- quizpun2.cpp, tail2nos.cpp: used finder for memory bank, small cleanups

- aerofgt.cpp, cop01.cpp, dacholer.cpp, galivan.cpp, pzletime.cpp, taxidriv.cpp, terracre.cpp, welltris.cpp: removed some custom GFX decodes in favor of the ones provided in emu/video/generic.cpp
2022-03-12 08:10:34 +01:00
Patrick Mackinlay
2b5755845b pcmx2: boot to monitor
* refactored into cards
* boots to firmware monitor
2022-03-11 19:37:55 +07:00
Ivan Vangelista
cec6cd7bd8 New clones marked as NOT_WORKING
--------------------------------
Dead or Alive (Export, Model 2A, Revision A) [Guru]

- hnayayoi.cpp: corrected clocks and dips [MORIYA]
2022-03-09 17:21:43 +01:00
Ivan Vangelista
074d55b403 - megazone.cpp: added PCB infos and some notes about the megazonea set [Guru]
- snesb.cpp, snesb51.cpp: moved fatfurspb from the former to the latter. Also patched out protection for ffight3b for now [hammy]
2022-03-08 18:18:41 +01:00
Ivan Vangelista
7cea1be0e1 New machines marked as NOT_WORKING
----------------------------------
unknown game on TrueSys hardware [Jorge Silva]

New clones marked as NOT_WORKING
--------------------------------
Royal Card (stealth with NES multigame, set 2) [Jorge Silva]
2022-03-04 18:02:59 +01:00
Dirk Best
1ee864dd4e New machines marked as NOT_WORKING
----------------------------------
Liberty Electronics Freedom 120/Aspect 100 [Bitsavers]
2022-03-04 13:47:15 +01:00
Patrick Mackinlay
89b850c9d9 ns32382: new device 2022-03-04 12:36:33 +07:00
Ivan Vangelista
c444dd44cf - jailbrek.cpp: dumped PALs and added PCB info for jailbrekb [Guru]
- thedeep.cpp, welltris.cpp: used finder for memory bank and other minor cleanups
2022-03-01 16:39:42 +01:00
Nigel Barnes
42910ab7b6 bus/bbc/joyport: Added the Master Compact mouse. 2022-02-27 16:23:03 +00:00
hap
8b530b872d rendlay: remove led8seg_gts1 2022-02-26 18:40:59 +01:00
hap
f657eff363 New machines marked as NOT_WORKING
----------------------------------
Computer Chess (Conic, model 7013) [hap, Berger]
2022-02-25 23:04:39 +01:00
Vas Crabb
0a1c686c8e Disabled clang warnings again - only the GCC ones should be re-enabled. 2022-02-24 16:42:30 +11:00
Vas Crabb
e539b09943 Re-enabled some compiler warnings and cleaned up some Python scripts a little. 2022-02-24 16:35:13 +11:00
Angelo Salese
deff4306c5
amiga.cpp: modernization changes (#9263)
Structural changes:

- amiga_copper.cpp: convert to device, added copins implementation as debugging mailbox, convert to logmacro.h;
- 8364_paula.cpp: convert audio implementation accessors from switch-case to per-channel maps;
- amiga.cpp: convert OCS/ECS/AGA chipset flavours to address_map_bank_device, currently using the older custom_chip_r/_w as a legacy trampoline that will be progressively removed once that we have working implementations of Agnus/Denise and derivatives;
- akiko.cpp: convert to logmacro.h;
- amigafdc.cpp: better elaborate QA notes, add "Trackdisk" to device long name as officially referred by Amiga SDK:
- amiga.cpp: kicked off an amiga_demos.xml SW list hookup;

Adds the following implementation detail changes:
- amigaaga.cpp: fix sprites and bitplanes in dualpf modes, fixes at very least cd32:dstreets on gameplay;
- amigaaga.cpp: fix BPLCON0 when planes == 7 is set, fixes title screen GFXs in surfninj;
- amigaaga.cpp: use HAM6 when not in AGA mode, fixes colors in cdtv:townona when run with CD32 system;
- amigaaga.cpp: fix sprite control fetches when FMODE != 0, fixes at very least Digger AGA sprites display;
- amigaaga.cpp: add extended bitplane delay hooks;
- amigaaga.cpp: fix HAM8 when in HIRES mode, fixes at least roadkill title and car screens;
- amiga.cpp: allow LOF bit to be set by writing bit 15 on VPOSW, fix roadkill AGA boot;
- amigaaga.cpp: implement Extra Half-Brite mode, used by bblow_a main menu
- amiga.cpp: disallow blitter address writes to go beyond the allocated chip RAM, fixes OCS sockid and AGA sockid_a drawing spurious filled tiles on playfield;
- amiga.cpp, amigaaga.cpp: workaround most GFX pitch corruptions, caused by implicit DDFSTOP overrunning width loop;
- amiga.cpp: allow DDFSTRT and DDFSTOP to read bit 2 in lores mode, fix swordsod GFX pitch in gameplay;
- amiga.cpp: use pf2pri for non-dual playfield, fixes alfred player sprite visibility;
- akiko.cpp: subq command adds +2 in command buffer, fixes cdtv:defcrown hardlock emulation;
- amigaaga.cpp: implement bscan2;
- amiga.cpp: disable floppy drive default for CD32;
- cubo.cpp: add inputs to eldoralg/odeontw/odeontw2;
- amiga.cpp: allow CD32 to read CDTV titles from SW list;

New NOT_WORKING software list additions
---------------------------------------
cdtv.xml: 17 Bit - Collection for Amiga CDTV, 17 Bit - Continuation Disc,
A Bun for Barney (USA), Advanced Military Systems (Europe),
American Heritage Illustrated Encyclopedic Dictionary (USA, 1991a Edition),
Barney Bear Goes to School (USA), Cinderella - The Original Fairy Tale (USA),
Defender of the Crown CDTV (Europe), Deutschland Kompakt (Germany),
Fantastic Voyage (USA), Garden Fax - Garden Plants (USA),
Garden Fax - Trees, Shrubs, Roses, and Conifers (USA),
Language TV - English (France), Lemmings (Europe), Log!cal (Europe),
Mud Puddle (USA, Multi 5), Pandora's CD v1.0 (alt), Psycho Killer (U2A2020UA),
CDTV Demo Disc (Europe), Raffles (Sweden),
Snoopy - The Case of the Missing Blanket (Sweden), Team Yankee (Europe),
The Curse of Ra (Germany),
The Demo Collection for Amiga CDTV (Europe, Black Disc),
The Hutchinson Encyclopedia (Europe),
The New Basics Electronic Cookbook (USA, 1991a Edition),
Time Table of History - Business, Politics & Media (USA, 1991a Edition),
Trivial Pursuit - The CDTV Edition (Europe, v1.0a),
Turrican (Germany, alt), Turrican II: The Final Fight (Germany, alt),
Welcome to CDTV Multimedia (USA, CDRM-499000), Wrath of the Demon (USA),
Xenon 2 - Megablast (Eng, Fra, Ger, Ita), Ten on Ten Compilation [redump.org]
2022-02-22 00:20:36 +01:00
Nigel Barnes
72340954af New working clones
------------------
BBC Micro Model B (Norway) [Nigel Barnes]

New clones marked as NOT_WORKING
--------------------------------
Cisco SIST1 Terminal [Nigel Barnes]
2022-02-19 17:08:09 +00:00
Nigel Barnes
8b7d833599 bus/coco: Added Glenside IDE Adapter. 2022-02-19 17:08:08 +00:00
Robbbert
e9a12d0915 Merged s6a.cpp into s6.cpp 2022-02-18 15:45:19 +11:00
Patrick Mackinlay
250660cd51 New machines marked as NOT_WORKING
---
Siemens PC-MX2 [Plamen Mihaylov]
2022-02-18 10:31:00 +07:00
Robbbert
5668cd4d79 Fixed the build: novadesitec 2022-02-18 08:30:31 +11:00
Ivan Vangelista
dff9fb40a9 New machines marked as NOT_WORKING
----------------------------------
unknown game on FR004 hardware (set 1) [Jorge Silva]
unknown game on FR009 hardware [Jorge Silva]

New clones marked as NOT_WORKING
--------------------------------
unknown game on FR004 hardware (set 2) [Jorge Silva]
unknown game on FR004 hardware (set 3) [Jorge Silva]
unknown game on FR004 hardware (set 4) [Jorge Silva]
2022-02-17 18:17:36 +01:00
Robbbert
ab8b7e7fad Merged de_3b.cpp into de_3.cpp 2022-02-18 00:34:46 +11:00
Ivan Vangelista
62e5373535 New machines marked as NOT_WORKING
----------------------------------
unknown PMC game [Mike Coates]

New clones marked as NOT_WORKING
--------------------------------
Boa Sorte! (Golden Poker prequel HW) [Jorge Silva]

- galaxian.cpp: added correct dip switches for redufob3 and dip locations for the redufo bootlegs [Guru]
2022-02-16 21:40:27 +01:00
0kmg
21be925eb4
Fixed arcade build, really. (#9306) 2022-02-16 08:20:54 +11:00
0kmg
60ce729181
Fixed arcade build. (#9305) 2022-02-16 07:34:58 +11:00
Patrick Mackinlay
e4588d1f45 asmjit: mame integration 2022-02-13 21:26:55 +07:00
Robbbert
c9fe51d17c merged white_mod.cpp into whitestar.cpp 2022-02-13 01:49:31 +11:00
Vas Crabb
a185091855
Addressed some Lua scripting pitfalls. (#9294)
Addressed pure virtual function call crash on end of emulation session
if you haven't explicitly removed all address space taps, memory
corruption on end of emulation session if you haven't explicitly removed
all address space change notifiers, and symbol being garbage-collected
out from under you while you have parsed expressions or other symbol
tables that depend on them.

Removed the copy constructor for parsed expressions as the underlying
C++ copy constructor appears to be broken, and simplified symbol table
constructors.  Also made symbol table add methods return the new entry
to avoid the need for an extra lookup.

Fixed breakpoint/watchpoint objects being inappropriately copied into
the tables returned by bplist() and wplist(), allowing the enabled
property to be modifiable for breakpoint and watchpoint objects in Lua.

Fixed drivers and devices causing a new memory pass-through handler to
be allocated on each soft reset, and fixed multiple instances of taps
being installed in the event the machine is reset before the tap is
removed.

Added classes for managing broadcast subscriptions, and adapted address
spaces to use this for change notifications.
2022-02-12 04:10:39 +11:00
ksherlock
69271581e6
bus/a2bus: Added Apple II 3.5" Disk Controller Card. (#9215)
Apple II 3.5" Disk Controller Card, Apple P/N A0076LL/A, Announced July 1991, Released March 1992. $149.95 MSRP
2022-02-09 04:00:32 +11:00
Brian Johnson
8b5307cee0
bus/epson_qx, qx10.cpp: Added Epson QX-10 expansion bus. (#9241) 2022-02-09 03:36:14 +11:00
987123879113
99404ddd2d
x76f041/x76f100/zs01: Implement new operations and security features (#9137)
* x76f100: Implement security features

* x76f041: Implement security features

* zs01: Implement security features

* ksys573: Update security flash data

* k573mcal: Add master calendar for initializing security cassettes

* zs01: Update comment about unknown serial
2022-02-07 19:13:24 -05:00
Curt Coder
8099d46984 abc1600: Added sector dump floppy image format. [Curt Coder] 2022-02-07 09:28:14 +02:00
Ivan Vangelista
75b7b857af New machines marked as NOT_WORKING
----------------------------------
Color Match [Jorge Silva]
Sport Memory [Jorge Silva]

- 391in1.cpp: dumped flash ROM and EEPROM for pokrwild [Jorge Silva]
2022-02-03 18:20:48 +01:00
Vas Crabb
aff55beb54 Remove no-longer-present header from build scripts. 2022-02-03 09:07:27 +11:00
Dirk Best
af253e15c7 New machines marked as NOT_WORKING
----------------------------------
Digilog 400 [Bitsavers]
2022-02-02 19:37:32 +01:00
Robbbert
79ca56f2d2 wpc_flip1,wpc_flip2,wpc_dot,wpc_an: added savestate 2022-02-03 02:12:15 +11:00
Dirk Best
a773080932 digilog: Replace HLE keyboard with LLE 2022-02-01 13:08:35 +01:00
AJR
3f690ce5ee 65C02 updates
- Add W65C02S CPU emulation with subtly different fetch patterns from classic 65C02 and use it for arbv2, cmmb103, cmmb162 and bbc_tube_rc6502
- Replace ST2XXX's slightly customized CPU emulation with hooks into new W65C02S core
2022-01-27 09:31:03 -05:00
Robbbert
2812220189 s11: concatenated the 4 include files into 1. 2022-01-27 10:41:08 +11:00
Tom
eb3c4e67da
zx spectrum: new slot devices, floating bus restore, big mface tidy-up (#7913) 2022-01-25 07:45:31 -05:00
Dirk Best
e20c5867db digilog320: Initial keyboard implementation
Also render half intensity attribute and connect 8251 serial clocks.
2022-01-25 13:08:33 +01:00
Devin Acker
b566197832
new NOT_WORKING machine: Casio LD-50 (#9203)
New machines marked as NOT_WORKING
----------------------------------
Casio LD-50 [Devin Acker]
2022-01-24 14:26:59 +01:00
hap
4fc9a7ecbd kungfum2: renamed driver to bkungfu 2022-01-24 12:22:42 +01:00
ClawGrip
7c1ec79705
New NOT_WORKING machine (#9178)
New machines marked as NOT_WORKING
-----------------------
Neo Mania [ClawGrip, CrispX]
2022-01-21 18:51:47 +11:00
Robbbert
ff210468d2 New machines marked as NOT_WORKING
----------------------------------
Kung Fu Master 2 [Jonas Jago]
2022-01-21 03:55:56 +11:00
Dirk Best
3165c7e13e New machines marked as NOT_WORKING
----------------------------------
Digilog 320 [Bitsavers]
2022-01-20 17:41:52 +01:00
Robbbert
f854bf08a5 Split off Williams Shuffle games to their own driver. 2022-01-21 01:09:39 +11:00
Ivan Vangelista
3ee2758bb2 New clones marked as NOT_WORKING
--------------------------------
Tetris (bootleg set 5) [Jorge Silva]

- audio/nichisnd.cpp, audio/rax.cpp, drivers/usgames.cpp: used finder for memory banks
2022-01-19 18:13:00 +01:00
Ivan Vangelista
cd51627f28 New working clones
------------------
Genius 6 (V132F) [Jorge Silva]
Lethal Crash Race / Bakuretsu Crash Race (set 2, alternate sound ROM) [Jorge Silva]

- ohmygod.cpp: used finder for memory bank and other minor cleanups
2022-01-18 16:48:12 +01:00
Angelo Salese
5342d0e7f5
Fix several issues in DC-based HW (#9150)
- Streamlined logging across chips to use logmacro.h, removed popmessages and printfs in production code;
- Add missing include guards in header files;
- split Atomiswave into own file from naomi.cpp (dc_atomiswave.cpp);
- powervr2.cpp: YUV pitch follows U size, fixes #8999
- powervr2.cpp: move Elan related stuff back into naomi2_state;
- naomi.cpp: support for player 2 keyboard inputs;
- naomi.cpp: add proper inputs to alpilot/alpilotj and sstrkfgt;
- naomi.cpp: hookup lightgun for deathcox;
- naomi.cpp: make G2-DMA timings slightly more accurate (fixes sfz3ugd silent BGMs regression caused by implicit insta-DMAs)
- dc_g2if.cpp: wrote a device for G2 DMA interface, fixes #9000 ;
- dc_g2if.cpp: add E1/E2/DD channels thru template, add area protection, add illegal address and overflow exceptions (fixes loopchk g2 bus tests 0302 and 0303)
- aica.cpp: $2814 CA reads doesn't need shifting, fixes ADX repeating sample/hang bugs in many entries [Angelo Salese, MetalliC];
- powervr2.cpp: make ISP/TSP irq to be slower, fixes regression bug with Capcom fighters having frame hiccups [David Haywood, Angelo Salese]
- dc_atomiswave.cpp: converted aw_modem_r/_w to 32-bit, added 3p/4p inputs to ggisuka, expose EXID to an input/output ioports for future extensions;
- dc_atomiswave.cpp: extend xtrmhnt2 ALL.Net hack for -drc, move around state machine to derive ALL.Net external device mapping instead of driver_init fn, demote to MUP for obvious reasons;
- dc_atomiswave: add Area 1 mirrors, fix maxspeed title screen animation;
- [MT#8143](https://mametesters.org/view.php?id=8143) is fixed

New NOT_WORKING software list additions
---------------------------------------
dc.xml: DC Checker for Repair v2.05R (World), Loop Checker v1.00 (World), GD Drive Repair Program v0.1 (World) [Hidden Palace]
2022-01-17 23:30:04 +01:00
Dirk Best
0c8d901195 falco500: Rewrite driver
- Move from falco5220.cpp to falco500.cpp
- Implement many ASIC features and support most video options
- Fully hook up RS232 ports
- Hook up bell
- Add keyboard
- Add detailed hardware descriptions for 3 models

New machines marked as NOT_WORKING
----------------------------------
Falco 500e [Bitsavers]
2022-01-16 15:52:02 +01:00
AJR
e9b1702be1 Add build file missing from 12a1291f5a 2022-01-15 19:54:07 -05:00
Ivan Vangelista
cc1363322c New machines marked as NOT_WORKING
----------------------------------
Gumball Rally [Museo del Recreativo, Phil Bennett]
2022-01-15 08:01:24 +01:00
Ivan Vangelista
20f5832682 New working clones
------------------
Rastan Saga (bootleg, Japan Rev 1, earlier code base) [Fabrice Arzeno]

timeplt.cpp: added a note about a spaceplta PCB with a char ROM taken from the original [Trol]
2022-01-14 17:55:38 +01:00
Robbbert
25e2a1c634 Fixed arcade build; added missing newline. 2022-01-08 09:39:01 +11:00
goldnchild
c21bea828d
Adding bitmap_printer_device and convert epson_lx810 to use it. (#8863) 2022-01-07 15:07:58 -05:00
npwoods
fd73621285
Created an initial file system implementation for OS-9 under the CoCo (#9096)
* Created an initial file system implementation for OS-9 under the CoCo

* Minor fixes to directory entry handling

* Changed to use fsblk_t::r[8|16|24|32]b()
- Changed the above functions to be const
2022-01-07 18:04:07 +01:00
AJR
23bbd37da6 device_image_interface: Interface overhaul
- Remove the iodevice_t classification, which was not used that much and was incomplete anyway. Image device implementations must now provide their own instance names and brief instance names. Several new parent classes have been created to make it easier to use the old standard names.
- Change must_be_loaded from a pure virtual function to be overridden in implementations to a getter for a base class property that can be set on the host side (as was formerly made possible for NES, MD and "generic" cartridge slots) but defaults to false for all types. This restrictive property has been unset for a small number of cases.
- Create parent classes for paper tape and magnetic tape devices. At present these are dummy classes that do little to nothing, but may help unify implementations in the future.
- Change several member functions to take std::string_view parameters rather than const std::string & or const char *.
- Make update_names take into account brief names, as discussed in PR #2555.
- Remove the obsolete uses_file_extension function (which used thread-unsafe strtok).

* portfolio_ccm_slot: Change image type from "cartridge" to "memcard"
* i7220, datapack: Add custom instance names that weren't there before
* pc11: Add note
2022-01-06 20:59:02 -05:00
arbee
436525a8c7 apple2: Added support for the ProDOS ROM Drive card. [R. Belmont] 2022-01-04 21:26:58 -05:00
npwoods
84236b7f7c
Added a 'version' verb to floptool (#9079) 2022-01-04 05:20:42 +11:00
shattered
7d56d3a70b
qbus device: DVK KGD framebuffer (#9058) 2022-01-03 09:55:16 -05:00
Dirk Best
48bae3f40c New machines marked as NOT_WORKING
----------------------------------
Falco TS-28 [Bitsavers]
2022-01-03 13:53:15 +01:00
npwoods
fbff8a2483
Reimplemented support for the CoCo's RS-DOS filesystem on top of the "fsmgr" framework (currently read only) (#9080)
* Reimplemented support for the CoCo's RS-DOS filesystem on top of the "fsmgr" framework (currently read only)

* Added support for file_type and ascii_flag metadata, minor bug fix decoding file allocation table entries

* Creating a "CoCo Raw Disk" format and changing the CoCo RS-DOS filesystem to use it

* 1.  Adding COCO_RAWDSK to all.cpp
2.  Fixing sector order on CoCo raw disk
2022-01-03 09:47:01 +01:00
ClawGrip
1118808aea
New NOT_WORKING machine (#9052)
* New NOT_WORKING machine

-----------------------------
Fun-E-Ball [Museo del Recreativo]
2022-01-01 20:35:49 +01:00
AJR
f98eb5a9f0 New machines marked as NOT_WORKING
----------------------------------
ADDS 2020 [Bitsavers]
2021-12-30 23:41:05 -05:00
Justin Kerk
533598fca3 Include $ERRNO_CODES in Emscripten build to fix error loading software in Emularity loader - see issue emscripten-core/emscripten#10061 2021-12-30 23:39:31 +00:00
0kmg
9b853c77fd
-bus/nes_ctrl: Added support for Famicom Turbofile backup RAM. (#9034)
-nes.xml: Corrected Metroid release year.
2021-12-26 02:50:08 +11:00
holub
1e32a43b50
Added preliminary TS-Configuration for ZX Evolution driver. (#8989)
New machines marked as not working
-------------------------
NedoPC, TS-Labs ZX Evolution TS-Configuration
2021-12-25 06:58:14 +11:00
AJR
3c7bb985b6 New machines marked as NOT_WORKING
----------------------------------
Yamaha RX15 Digital Rhythm Programmer [DBWBP]
2021-12-24 13:11:58 -05:00
AJR
4cc55742d2 New machines marked as NOT_WORKING
----------------------------------
Kawai ACR-20 Digital Accompaniment Center [DBWBP]
2021-12-24 12:31:30 -05:00
AJR
2b28f14caa New machines marked as NOT_WORKING
----------------------------------
JoMoX AiRBase 99 [DBWBP]
2021-12-23 20:51:37 -05:00
smf-
53f5095131 New Working Machine
-------------------
Z80 based, triple time zone clock [smf]
2021-12-23 12:51:17 +00:00
Justin Kerk
3fd7f8ac57 Fix build with newer versions of Emscripten; minimum supported version is now 2.0.25. 2021-12-23 02:13:53 +00:00
Ivan Vangelista
ed67a79f37 New working clones
------------------
Chouji Meikyuu Legion (Japan ver 1.05, set 2) [system11]

- taito_o.cpp: merged everything in the driver file
2021-12-22 16:58:41 +01:00
0kmg
0e66408732
bus/nes_ctrl: Added a SNES controller port adapter. (#9027) 2021-12-22 08:29:21 -05:00
hap
a44de917e1 sm510: fix wakeup after CEND, reorganize files a bit 2021-12-21 17:45:56 +01:00
shattered
0285af475f
besta: Converted to VME device. (#9008) 2021-12-20 03:42:05 +11:00
Dirk Best
ddfc9b908c hds200: Preliminary keyboard, video improvements, hook up NVRAM 2021-12-18 14:07:37 +01:00
arbee
10457bb855 a2bus: add support for the Grafex-32 uPD7220 video card [Rob Justice, R. Belmont] 2021-12-16 21:24:38 -05:00
arbee
c6d1c58433 a2bus: consolidate card lists to clean up the drivers. [R. Belmont] 2021-12-16 20:15:20 -05:00
AJR
1214aac092 Filesystem code cleanup
- Eliminate dependencies on emu.h, replacing most fatalerror calls and floptool's ersatz emu_fatalerror class with standard exception classes
- Use range-based std::string constructors in some methods
- Move filesystem metadata handling to a separate source file
- Eliminate src/emu as an include path for libformats (necessitates kludge in ti99_dsk.cpp)
2021-12-14 21:42:42 -05:00
arbee
a3ba70ad14 gt913: fix single-driver build, fix invalid Unicode character. [R. Belmont] 2021-12-14 11:26:27 -05:00
cam900
00f45b9df1
Atari Lynx emulation updates (#8931)
* Atari Lynx emulation updates
- Use memory_view for address mapping
- Support variable framerate, Fix screen overscan (102 visible + 3 blank lines)
- Fix collision handling (possibly copy-paste error?)
- Reduce unnecessary shared pointers, Some duplications
- Use inlines values for bit flags
- Add support for variable page size for cartridge, AUDIN pin for bankswitch
- Add hardware notes, Initialize values
- Fix namings, Fix spacings, Use shorter/correct type values
- Move lynx sound functions into device/sound/lynx.*, Fix sound pitch (input clock related)
2021-12-14 10:31:51 -05:00
ClawGrip
57ed1e267d
New NOT_WORKING machines (#8955)
* New NOT_WORKING machines
---------------------------
Master Crane (set 1) [Israel León (Retrolover), ClawGrip]

New NOT_WORKING clones
---------------------------
Master Crane (set 2) [Israel León (Retrolover), ClawGrip]
2021-12-14 16:01:51 +01:00
David Haywood
edc0dfb627
Research into thoop and squash 'refresh rate' protection [Victor Fernandez (City Game), Peter Ferrie, David Haywood] (#8916)
* Research into thoop and squash 'refrsh rate' protection [Victor Fernandez (City Game), Peter Ferrie, David Haywood]
 - prevents freeze when dying in stage 4 of Thunder Hoop, and bad text on continue in Squash
2021-12-14 15:30:33 +01:00
Ivan Vangelista
a8b90c2cdf ichiban.cpp, royalmah.cpp: merged the former into the latter. Also some tagmap cleanup and configured banking in royalmah.cpp 2021-12-13 18:59:23 +01:00
Robbbert
fedf24c067 lancelot: Split off to its own driver. 2021-12-11 01:06:55 +11:00
Dirk Best
3d666945e0 New machines marked as NOT_WORKING
----------------------------------
Human Designed Systems HDS200 [Bitsavers]
2021-12-07 10:38:26 +01:00
Nigel Barnes
a3e1eb3413 bus/archimedes/podule: Podules for Acorn Archimedes. [Centre for Computing History]
- ACE Joy Connect
- Beebug Spectra Colour Scanner
- Computer Concepts GreyHawk Video Digitiser
- Computer Concepts ScanLight Junior MkIII
- Morley Electronics Analogue and User Interface
- Morley Electronics User/MIDI/Analogue Interface
- Watford Electronics 256 Grey-Scale Scanner
- Wild Vision MidiMax II
2021-12-03 22:16:15 +00:00
Robbbert
17a49a91b6 Moved common apple2 files to the conditional "mameshared" library, to avoid duplicate symbols on a full MAME build. 2021-12-03 18:54:21 +11:00
Robbbert
344d8f0580 Hopefully fix arcade build. 2021-12-03 16:21:09 +11:00
shattered
3e26ee8cfb
dl11: DEC DL11-type serial line unit (#8894) 2021-12-02 22:43:19 -05:00
ClawGrip
7eac187fc8
New NOT_WORKING machine (#8927)
New NOT_WORKING machine
---------------------------------
Coche Bully [ClawGrip]
2021-12-02 18:30:27 -05:00
Dirk Best
620f531c54 Remove a few outdated references to MESS 2021-12-02 13:34:15 +01:00
arbee
83352ba766 New machines added as WORKING
-----------------------------
Franklin Ace 2200 [R. Belmont]
2021-12-01 23:52:48 -05:00
Vas Crabb
1c8ba9d5c8 Fixed a few coverity errors, several of which are real bugs. 2021-12-02 08:04:41 +11:00
hap
404b7add29 mess.lua: fix copypaste error 2021-12-01 18:56:55 +01:00
Vas Crabb
759c54b27d Various cleanups. 2021-12-02 03:21:21 +11:00
Robbbert
0863066da5 stv: moved video into video/saturn.cpp to remove possible circular dependency. (#8915) 2021-12-01 22:36:51 +11:00
Vas Crabb
c2a18887b0 -Filled out most of the Slovak translation. [Milan Galcik]
-Cleaned up various bits and pieces. [Vas Crabb]
2021-11-30 23:57:04 +11:00
Patrick Mackinlay
e8fbcd5000 3rdparty.lua: fix msvc build by reordering configuration statements 2021-11-30 15:35:37 +07:00
hap
c90eeddd5e New machines marked as NOT_WORKING
----------------------------------
Elektronika IM-01 [hap, Radon17]
2021-11-28 23:44:52 +01:00
Robbbert
12fc6b7720 fourx4: split off to a separate driver. 2021-11-28 15:08:16 +11:00
Ivan Vangelista
30ac5da480 - actfancr.cpp, battlera.cpp: use finders, minor cleanups
- namcos12.cpp: updated fgtlayer title as per GitHub comments
2021-11-26 20:28:32 +01:00
AJR
3ef2082c5f Add CPU16 and HDD device skeletons for Conner CFP1080S 2021-11-25 09:58:50 -05:00
shattered
53fb43963c
Minor changes to various drivers (#8880)
* Minor changes to various drivers (todo, comments, text strings).
* ec1847: Moved to pc.cpp, it's a generic OEM clone.
* Use proper name for serial/parallel ports card in ec1840 and ec1841.
* superga2: Moved to arcade section, updated emulation status.
2021-11-25 23:57:33 +11:00
Michael Zapf
b4109bea07 ti99/geneve: Added WHTech SCSI adapter card 2021-11-21 16:38:45 +01:00
Ivan Vangelista
76ff99cb42 arcade.lua: removed taito_x.h since it doesn't exist anymore 2021-11-21 07:44:11 +01:00
Nigel Barnes
1934bb4967 New machines marked as NOT_WORKING
----------------------------------
Positron 9000 [Binary Dinosaurs, Nigel Barnes]
2021-11-20 15:49:51 +00:00
hap
0cb2c9ec36 New machines marked as NOT_WORKING
----------------------------------
TR-808 Rhythm Composer [afx303, DinSync]
2021-11-20 01:55:05 +01:00
0kmg
2b3337f90b
bus/nes_ctrl: Added support for Exciting Boxing air bag controller. (#8817)
Software list items promoted to working (nes.xml)
---------------------------------------
Exciting Boxing (Japan)
2021-11-20 01:27:39 +11:00
smf-
5926a2e760 clang fixes 2021-11-19 07:55:50 +00:00
Vas Crabb
5afce6cfab emu/render.cpp, emu/rendlay.cpp: Added scroll support for all elements. 2021-11-18 10:34:38 +11:00
Luigi Thirty
1300c4b6e0
New NOT_WORKING machines
---
Motorola MVME12x [Katherine Rohl]
2021-11-16 10:53:07 +07:00
ClawGrip
679f9aad60
New NOT_WORKING machine (#8802)
----------------------------
House Ball [Museo del Recreativo, ClawGrip]
2021-11-15 22:50:59 -05:00
ClawGrip
6f14277285
New NOT_WORKING machine (#8803)
-------------------------------
Rockin' Bowl-O-Rama [Museo del Recreativo, ClawGrip]
2021-11-15 22:50:18 -05:00
ClawGrip
dcd13fc0bb
New NOT_WORKING machines (#8820)
--------------------------
The Fast And The Furious (v3.06) [Victor Fernandez (City Game)]
Guitar Hero Arcade (v1.0.5) [Museo del Recreativo]
2021-11-15 22:48:41 -05:00
ClawGrip
16416dabdd
New NOT_WORKING machine (#8809)
---------------------
Main Event (Destron) [Museo del Recreativo, ClawGrip]
2021-11-15 22:47:05 -05:00
Nigel Barnes
76bff24a89 bus/archimedes/podule: Podules for Acorn Archimedes:
- Baildon Electronics IDE HD Interface
- SJ Research Nexus Interface (A500) (not working)
- Wild Vision/Computer Concepts Eagle M2 (not working)
2021-11-15 21:05:03 +00:00
Nigel Barnes
da5f67a62c bus/archimedes/podule: Various podules for Acorn Archimedes:
- Acorn AGA30 BBC I/O Podule
- Acorn AKA05 ROM Podule
- Acorn AKA10 BBC I/O Podule
- Acorn AKA12 User Port/MIDI Podule
- Acorn AKA15 MIDI and BBC I/O Podule
- Acorn AKA16 MIDI Podule
- Acorn AKA25 Ethernet
- Acorn Tube Podule
- Archimedes Dual RS423 Serial Interface (not working)
- Armadillo Systems A448 Sound Sampler (not working)
- Armadillo Systems A448b Stereo MIDI Sound Sampler (not working)
- Atomwide Serial Expansion Card
- Baildon Electronics IDE HD Interface
- Clares Armadeus Sampler Board
- Computer Concepts Fax-Pack (not working)
- Computer Concepts LaserDirect (Canon LBP-4) (not working)
- Computer Concepts ScanLight (not working)
- Computer Concepts ScanLight Junior (not working)
- Computer Concepts ScanLight Video 256 (not working)
- Digital Services Ethernet Podule (not working)
- HCCS User/Analogue Podule
- RISC Developments Ethernet Card (not working)
- RISC Developments IDE Hard Disc System
- VTI User Port and SCSI Podule
- Watford Electronics BBC User I/O Card
- Wild Vision MidiMax
- Wild Vision/Computer Concepts Lark A16
2021-11-14 19:08:41 +00:00
Nigel Barnes
3d0246d5e7 bus/archimedes/econet: Archimedes econet interface devices:
- Econet interface (not working)
- RTFM Joystick Interface
2021-11-14 19:08:41 +00:00
Nigel Barnes
63b97c5cb4 bus/centronics: Added Vertical Twist Joystick Interface (for Archimedes) 2021-11-14 19:08:39 +00:00
Nigel Barnes
8acb4d846d New devices for Archimedes machines:
- Acorn Battery Management Unit
- Acorn LC ASIC (preliminary)
- Universal Peripheral Controller 82C710/82C711
2021-11-14 19:08:39 +00:00
0kmg
15093de56d
bus/nes_ctrl: Added support for Doremikko piano keyboard. (#8790) 2021-11-11 00:55:21 +11:00
ClawGrip
2b5b1a4b91
New NOT_WORKING machine (#8778)
* arcade.lua: Add stop.cpp

* New NOT_WORKING machine

----------------------------------
Stop [jordigahan, ClawGrip]
2021-11-07 15:30:05 -05:00
smf-
467a116884 fixes for variables set but not used 2021-11-07 11:25:27 +00:00
Vas Crabb
270276c4d3 -Enabled complex combinations for analog axes:
* Made it possible to add digital controls to axis settings as enables.
* Mix multiple analog controls assigned to an axis setting.
* Added a "reverse" modifier for analog controls (useful with mixing).
* Fixed an issue assigning mouse axes using multiple mouse-like devices
  with -nomultimouse.

-frontend: More cleanup:

* Got rid of some abuse of "special main menus".
* Added a helper class for auto-pause menus that don't spawn submenus.
* Got rid of the fake menu that schedules an exit on the first frame.
* Turned the confirm quit prompt into a menu, eliminated one more
  special-cased event loop.
* Fixed the confirm quit prompt resuming if you return to emulation if
  you weren't paused to begin with.

-bus/centronics: Fixed conflicting DIP locations, reversed order and
 inverted polarity for Epson printers.

* Also added the LX-810 (without L suffix) DIP switches for reference -
  we don't have a device for this printer yet.
2021-11-06 13:52:48 +11:00
0kmg
dce1fd7dfa
bus/nes_ctrl: Added emulation for IGS Tap-tap Mat controller. (#8772)
* Refactored Family Trainer and Tap-tap Mat into common base class.

Software list items promoted to working (nes.xml)
---------------------------------------
Super Mogura Tataki!! Pokkun Moguraa (Japan)
2021-11-03 06:46:43 +11:00
Vas Crabb
d64ea5331b
-frontend: Refactored menu event handling and fixed a number of issues. (#8777)
* Moved common code for drawing about box, info viewer, and other text box menus to a base class; removed the last of the info viewer logic and the multi-line item hack from the base menu class.
* Added previous/next group navigation for general inputs and plugin input selection menus.
* Moved message catalog logic to lib/util, allowing osd and emu to use localised messages.
* Made the base menu class use the UI manager’s feature for holding session state rather than a static map and mutex.
* Improved menu event handling model, and fixed many issues, particularly with menus behaving badly when hidden/shown.
* Added better support for menus that don’t participate in the usual menu stack, like the menuless sliders and the save/load state menus.
* Made a number of menus refresh state when being shown after being hidden (fixes MT08121 among other issues).
* Fixed indication of mounted slot option in the slot option details menu.
* Improved appearance of background menus when emulation isn't running - draw all menus in the stack, and darken the background menus to make the edges of the active menu clearer.
* Fixed locale issues in -listxml.

-debugger: Made GUI debuggers more uniform.
* Added new memory view features to Win32 debugger.
* Fixed spelling of hexadecimal in Cocoa debugger and added decimal address option.
* Fixed duplicate keyboard shortcut in Cocoa debugger (Shift-Cmd-D was both new device window and 64-bit float format).
* Made keyboard shortcuts slightly more consistent across debuggers.

-plugins: Moved input selection menu and sequence polling code to a common library.  Fixed the issue that prevented keyboard inputs being mapped with -steadykey on.

-docs: Started adding some documentation for MAME's internal UI, and updated the list of example front-ends.

-Regenerated message catalog sources.  For translators, the new strings are mostly:
* The names of the inputs provided by the OS-dependent layer for things like fullscreen and video features. These show up in the user interface inputs menu.
* The names for automatically generated views. These show up in the video options menu - test with a system with a lot of screens to see more variants.
* The input macro plugin UI.
* A few format strings for analog input assignments.
* A few strings for the about box header.
2021-10-31 12:31:16 +11:00
AJR
ba4b7c7d84 New machines marked as NOT_WORKING
----------------------------------
F387X PEP System [Bitsavers]
2021-10-30 15:50:48 -04:00
Devin Acker
935d28a675
new NOT_WORKING machine (Casio CTK-2100) (#8757)
* ctk2100: preliminary work

* ctk2100: possible keyboard hookup

* ctk2100: hook up rudimentary timers

* ctk2100: add ports and hook up the LCD

* ctk2100: timer tweaks, input tweaks

* ctk2100: fix I/O port reads (stops constant LCD resets)

* gt913: increase key polling rate (fixes ctk2100 test mode)

* ctk2100: add ADCs, clean up and comment some other stuff

* lpc210x: add the PL190 VIC here too while i'm at it

* vic_pl192: fix clang build

* unidasm: add gt913
2021-10-27 10:21:46 +02:00
Miodrag Milanovic
9513034521 Few more leftovers removed 2021-10-26 11:53:27 +02:00
Miodrag Milanovic
8aa5c5a29c Remove OSD_UWP from rest of code 2021-10-26 11:45:04 +02:00
Miodrag Milanovic
67389f4cbd Remove uwp specific sources 2021-10-26 11:28:11 +02:00
Miodrag Milanovic
9d61cf33d1 Remove uwp from build system 2021-10-26 11:24:03 +02:00
Miodrag Milanovic
9e7455b057 Remove of winstore/winphone 2021-10-26 11:18:31 +02:00
Miodrag Milanovic
63f907ee32 vs2019_clang target is now used instead of vsllvm 2021-10-26 11:11:35 +02:00
Miodrag Milanovic
34d4c26e40 Remove old VisualStudio 2021-10-26 11:07:34 +02:00
Miodrag Milanovic
22d5ba05dc xcode4 and ios removal 2021-10-26 10:59:28 +02:00
Miodrag Milanovic
9dce821cbb mips platform is not supported for Android for some time 2021-10-26 10:52:26 +02:00
Miodrag Milanovic
1a79bb82b1 rpi target was not used, but regular linux one anyway 2021-10-26 10:50:09 +02:00
Miodrag Milanovic
7d75eee51e Remove CI20 2021-10-26 10:42:34 +02:00
Miodrag Milanovic
97a7d8bec8 Remove steamlink 2021-10-26 10:40:30 +02:00
Miodrag Milanovic
f317b4d534 Remove pnacl remains 2021-10-26 10:32:43 +02:00
David Haywood
eca8831836
remove deco_zoomspr device, refactor deco32 - drgngun, lockload to use the namco_c355spr device instead (#8725) 2021-10-22 22:52:21 -04:00
Vas Crabb
0ba5d664f9 Add new files to SDL OSD as well as Mac OSD. 2021-10-18 08:46:17 +11:00
Vas Crabb
40a30af10f Still more user experience improvements:
Changed the default mapping for UI select to not trigger on Alt+Enter
fullscreen toggle.  (Fullscreen toggle still doesn't work in menus -
actually fixing that is complicated.)

frontend: Made the about box wrap text properly, made the title and
backtrack menu item always visible, and added a footer with the VCS
revision.

frontend: Don't highlight the favourites and info toolbar buttons if
there's no selection (can happen if filters produce no results).  Also
made the info viewer appear even if no info is available - it's less
confusing to see an empty menu than wonder why clicking the button does
nothing.

debugger: Added a register points view to the GUI debuggers, to go with
the breakpoints and watchpoints views.

debugger: Extended [brw]p(clear|(en|dis)able) commands to accept
multiple arguments to perform the same action on multiple
(break|watch|register)points at once.  Also made rplist accept a CPU for
showing a single CPU's register points ([bw]plist already support this).

docs: Updated registerpoints debugger commands page, and updated other
pages for latest extensions to syntax.
2021-10-18 08:22:21 +11:00
Ivan Vangelista
edc339dbca New machines marked as NOT_WORKING
----------------------------------
Exciting Boat Race [Phil Bennett]
Speed Basketball [Tailsnic Retroworks]
2021-10-15 17:12:35 +02:00
Vas Crabb
22bc3486c3 More user experience improvements:
frontend: Made it possible to cancel a media audit while it's in
progress.  Also made the media audit multi-threaded so it's faster.

frontend: Made the DIP switches in the DIP switch preview clickable.

frontend: Made the system and software selection menus leave focus on
the same system when clearing the search rather than jumping to the
first item.  Also fixed a couple of bugs in the logic for keeping the
selected item visible.

frontend: Fixed a few places that weren't showing localised system
names.

frontend: Made UI Cancel clear a search in the file manager the same way
it does on the system and sofware selection menus.

frontend: Made it possible for plugin menus to handle UI Cancel more
naturally, backing up to the previous plugin menu rather than dropping
straight back to the list of plugins.  Updated the autofire, cheat and
cheatfind plugins, and fixed a few other issues in the cheatfind plugin.

debugger: Made the mount and unmount commands accept instance names as
well as brief instance names.  Also updated another page of debugger
documentation.
2021-10-15 10:12:56 +11:00
Ivan Vangelista
afc2ca17f1 asuka.cpp: split in subclasses 2021-10-14 06:24:31 +02:00
Vas Crabb
96ca1dbd96 More user experience improvements:
frontend: Allow clicking the adjuster arrows on menu items.  This allows
things like video options and DIP switches to be configured using a
mouse only.  Also fixed a bug preventing paging menus with a mouse if
the first item scrolled off the bottom is not selectable.

debugger: Allow wplist and bplist to accept a CPU argument to list
breakpoints/watchpoints for a single CPU only.

debugger: Fixed some corner cases in address space syntax in memory
accesses, and allowed memory region accesses to use tags relative to the
visible CPU.

emu/softlist.cpp: Ignore notes elements when loading software lists.
It's effectively a comment that isn't a comment syntactically, it's
being used for things that are not useful to display in the internal UI,
and it slows down startup.

docs: Updated three more pages of debugger documentation.  Also updated
more of the built-in debugger help.

minimaws: Fixed up schema for software list notes, made sofware list
notes display initially collapsed.
2021-10-14 08:00:04 +11:00
Devin Acker
8962638b77
Casio CTK-551 [Daivn Acker]
* New machine marked as NOT_WORKING
----------------------------------
Casio CTK-551 [Devin Acker]
2021-10-13 09:35:00 +02:00
0kmg
32574013d2
bus/nes: Improved support for various VRC clone boards. (#8687)
* Expanded VRC4 CHR bank regs to 9-bit. This functionality is verified on Konami VRC4 hardware as well but is only used by clones (World Hero here).
* Removed board for World Hero. Its VRC4 clone chip is under a glop top but is thought to be identical to Konami's.
* Reimplemented TF1201 (Lethal Weapon) as a VRC4 subclass. Its clone chip is only known to differ by the IRQ reload bit, which it ignores.
* Reimplemented Shui Guan Pipe as a VRC4 subclass. Its clone chip has different PRG banking but is otherwise standard.

Software list items promoted to working (nes.xml)
---------------------------------------
Gimmick! (Asia, pirate)
Lethal Weapon (China)
World Hero (Asia)
World Hero (Asia, alt)
2021-10-11 23:49:37 +11:00
Vas Crabb
fd6309ee91 frontend: Keep cleaning up.
Got rid of one of the UI audit inputs.  There only needs to be one, and
the options can be presented in the confirmation menu.  Two secret
keystrokes is too confusing.  Also got rid of the long-obsolete UI
Toggle Debugger input.

Added audit media button to the toolbar so it's a bit less opaque, and
it can be accessed with a mouse/trackball (not just by knowing the key
mapping).

Made default I/O port names localisable.

Made autofire plugin save port fields using the { port, mask, type }
tuple, the same way MAME does.  Unfortunately this will break existing
autofire configuration, but it should be more stable going forward.

Added some more UI keys to the default key mappings documentation.
2021-10-11 13:14:31 +11:00
Vas Crabb
38082ccbee
Overdue internal UI enhancements (#8674)
* frontend: Added support for message context to localisations.
* frontend: Added string_view versions of the message lookup functions.
* frontend: Added a few more folder options to the internal UI.
* emu/softlist.cpp: Use more appropriate containers.
* Switched to Python 3 by default - this will become a requirement.
* Updated msgfmt.py for message context support.
* frontend: Show all software item info in the internal UI.
* frontend: Search alternate titles in software selection menu.
* 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes).
* frontend: Added software filters for common info fields.
* frontend: Allow UI manager to hold onto persistent session data.
* frontend: Cache software lists for eight machines.
* frontend: Added support for loading localised system names.
* frontend: Add UI for selecting localised system names.
2021-10-09 12:16:17 +11:00
Patrick Mackinlay
24e14ba50a New machines marked as NOT_WORKING
---
Omron Luna [Plamen Mihaylov]
2021-10-08 08:42:08 +07:00
Ivan Vangelista
82f27190f0 - cchasm.cpp: removed duplicated include
- dietgo.cpp: moved everything into the driver file, as video/dietgo.cpp only had one method
2021-10-07 17:28:11 +02:00
wilbertpol
eae75824d3
softlist.cpp: Add support for a 'notes' field to store information ab… (#8482)
* softlist.cpp: Add support for a 'notes' field to store information about a software list or software list item.  [Wilbert Pol]

* Add software list and software notes to minimaws
2021-10-05 19:16:42 +02:00
Vas Crabb
aeb9eae874
util: Further API cleanups: (#8661)
* Turned `core_file` into an implementation of `random_read_write`.
* Turned PNG errors into a standard error category.
* Added a helper for generating what look like derived classes on-the-fly.
2021-10-05 03:34:45 +11:00
AJR
a271303a9f Add Z80-derived stub devices for eZ80 and R800 CPUs 2021-10-03 13:56:49 -04:00
Vas Crabb
299265cc52 bus/rs232: Added a configurable patch box device, and various cleanups.
Added comments with V.24 interchange circuit numbers and names to
rs232.h to make the meanings of the abbreviated signal names clearer.

Moved a few slot card classes out of headers and into anonymous
namespaces to reduce compile depedencies and exported symbols.

Transliterated a Korean NES game title.
2021-10-03 03:52:22 +11:00
Julian Sikorski
0eeb918991
Update bgfx, bx and bimg to latest upstream (fixes issue #8057) (#8645) 2021-10-02 12:21:12 -04:00
Dirk Best
635a7e6c2b karnov: Cleanup 2021-10-01 12:56:50 +02:00
Vas Crabb
18188c7191 -minimaws: Changed geometry of disclosure triangles.
-util/delegate.cpp: Fixed typo in comment.
2021-09-29 14:27:57 +10:00
Angelo Salese
ec33fac7c7
Add floppy support to NEC PC-8001 (#8532)
New clones marked as NOT_WORKING
--------------------------------
PC-8001mkIISR [anonymous]

* Generate a new pc8001_flop.xml list, based off Neo Kobe dumps;
* Move several items from pc8801_flop.xml to the new pc8001_flop.xml;
* Generate new lists for pc8001mk2_flop.xml and pc8001mk2sr_flop.xml;
* Hook aforementioned lists where they belongs
( i.e. N-Basic list is now shared between pc8801.cpp and pc8001.cpp,
  N80 list belongs to pc8001mk2 and pc8001mk2sr,
  N80SR list belongs to pc8001mk2sr alone)

* upd3301.cpp: fix scrolling glitch when unthrottled

* pc8001.cpp: fix machine configs inheritance

* pc8001.cpp: constexpr the XTALs

* pc8001.cpp: allow to enter into N80 BASIC mode for mk2 machines

* Ported pc80s31k to device interface, and hooked it up to pc8001

* Fix validation errors

* Misc documentation updates

* uPD3301.cpp: implement bulk of attribute fields

* upd3301: fix olyboss compile and crashing, add rvv signal

* upd3301.cpp: fix last value of attribute row (7narabe), fix graphic mode when in width 40 (15puzzle)

* upd3301.cpp: consider an attribute end of 0 equal to max size, fixes starfire

* upd3301.cpp: rvv is definitely a global reverse rather than acting on palette for PC8001, document flgworld attribute weirdness (double somersault)

* pc8001_flop.xml: QA selected SW

* pc80s31k.cpp: split into PC80S31 (2d) and PC80S31K (2d/2dd/2hd) devices, rearrange disk bioses

* pc8801.cpp: inherit pc80s31k device and kill off FDC legacy code

* pc80s31k.cpp: documentation updates

* pc8001_flop: move Magic Copy and a alt versions of ay1 and 4d house in here

* pc98.xml: move daivacal from PC88 since it really belongs here

* pc8801_flop.xml: major QA testing on suspicious floppy activities

* pc8801.cpp: remove logging of High [TV]RAM

* pc8801_flop.xml: fix rogue extra comment closing

* pc80s31k.cpp: mailbox the PPI ports, fix barbatus booting;
pc80s31k.cpp: allow filemst to boot, and add note about its unemulated
extended HW;

* upd3301.cpp: convert AT1/AT0/SC to an aggregate variable

* upd3301.cpp: convert attribute fetch to be a client delegate

* pc8001.cpp: move some shared functions to pc8001_base_state

* pc8001.cpp: add DMA functions

* pc8001.cpp: add extension setter for 24KHz mode (which will be used by PC-8801 once implementation is merged)

* pc8801_flop.xml: fix description duplicate

* Bulk replace pc8*_flop.xml capitalized Alt into lowercase

* pc80s31k.cpp: add space.unmap() for terminal_count_r, reorder headers, make constructor trampoline protected

* Standardize Daiva titles across XMLs

* pc8801_cass.xml: revert of software name t[ape] postfixes

* pc8801_flop.xml: more identification of N/V1 BASIC SWs
2021-09-25 16:00:29 +02:00
Vas Crabb
7a6e383cb9 minimaws: Added disclosure triangle controls to many sections. 2021-09-23 23:59:19 +10:00
Vas Crabb
d35ff4bca6 -minimaws: Made table sort widgets (and the code behind them) less ugly.
-util/delegate.cpp: Added a couple of comments about assumptions.
2021-09-23 17:03:20 +10:00
Ivan Vangelista
fd1bba9a58 - konmedal68k.cpp: tentatively identified the unkkonmd set [Wayder]
- model2.cpp: minor documentation update [Brian Troha]

- arcade.lua: fixed arcade build compiling [Brian Troha]
2021-09-23 06:32:55 +02:00
David Haywood
47e5d8c5c6
Dumped the 68705P3 MCUs on 2 different types of sp.ACE fruit machine reel driver PCBs [TTX] (#8593) 2021-09-21 22:26:09 -04:00
0kmg
cdf1780074
bus/nes: Added support for several Shenzhen Jncota RPGs. (#8500)
* Also corrected metadata for lots of items.

Software list items promoted to working (nes.xml)
---------------------------------------
Jīng Kē Xīnzhuàn (China, Shenzhen Jncota)
Shènghuǒ Lièzhuàn (China)
Xiákè Chuánqí (China)
Zhànguó Fēngyún (China)
2021-09-21 04:31:28 +10:00
arbee
ef41d5f454 Fix build script typo [R. Belmont] 2021-09-19 20:09:18 -04:00
arbee
463fb129c4 New games added as MACHINE_NOT_WORKING
--------------------------------------
Unknown medal game GS471 [Phil Bennett, R. Belmont]
2021-09-19 19:47:14 -04:00
0kmg
2976726f82 bus/nes: Added support for Super Russian Roulette.
New working software list additions (nes.xml)
-----------------------------------
Super Russian Roulette [re4mat]
2021-09-18 10:19:26 -08:00
Vas Crabb
df8703523b util/strformat.h: Detect C++ standard > C++17 before doing weird stuff. 2021-09-18 02:02:58 +10:00
Vas Crabb
d334586156 -util/delegate.cpp: One less level of indirection for functoid delegates.
* If a delegate is set to a functoid (e.g. a lambda) with a signature
  that is an exact match for the delegate's signature, it will be bound
  directly.  If arguments or the return value need conversion, a static
  adaptor will be generated.  This removes unnecessary indirection
  through std::function::operator().

-Added a few more documentation comments.
2021-09-16 02:02:45 +10:00
hap
934eb69361 New working machines
--------------------
Checker Challenger (model CR, 2 levels) [hap, Sean Riddle]
2021-09-14 23:26:15 +02:00
Vas Crabb
f7d1c0dca4 -goldnpkr.cpp: Base screen parameters on how games program the CRTC.
* Filled in proper screen parameters for goldnpkr, witchcrd and
  megadpkr.  There may be other games that use different parameters.
* Demoted megadpkr and megadpkrb to not working as they can only boot
  once before writing timekeeper data that prevents booting again.

-Tidied up a few drivers a little.
2021-09-13 06:24:23 +10:00
ajrhacker
bebc2c4917
Merge pull request #8559 from 0kmg/nes-mappers-297,374
bus/nes: Added support for MMC1-based multicarts.
2021-09-11 19:18:01 -04:00
AJR
0da505b43e Formats-related refactoring
- Remove opresolv.h from emu.h and some other base headers
- Split legacy floppy image class into a separate file
- Clean up a lot of #includes in src/lib and src/tools/imgtool
2021-09-11 16:09:27 -04:00
Robbbert
63e2028788 New machines marked as NOT_WORKING
----------------------------------
Recel Bios
Alaska
Hot & Cold
Screech
Mr Evil
Torneo
Crazy Race
Fair Fight
Poker Plus
Mr Doom
Cavalier
Swashbuckler
Don Quijote
The Flipper Game
Black Magic 4   [Robbbert]
2021-09-11 14:43:21 +10:00
0kmg
968fb7f491 bus/nes: Added support for MMC1-based multicarts.
- Modified MMC1 base class (SxROM) to have outer bank base/mask to make it extensible by multicarts.
- Implemented two boards, reset-based SxROM and a 2-in-1 by TXC, as proof of concept.
- Marked Operation Wolf games as partially supported due to zapper inputs not working.
- Marked Space Shadow as not supported since it requires the extra buttons on the Bandai Hyper Shot gun.

New working software list additions (nes.xml)
-----------------------------------
1997 Super HiK 4 in 1 (JY-021) [MLX]
1995 Super HiK 4 in 1 (JY-022) [NewRisingSun, taizou]
1996 Super HiK 4 in 1 (JY-051) [NewRisingSun, taizou]
2 in 1 Uzi Lightgun [CaH4e3]
2021-09-09 17:04:22 -08:00
smf-
2811cda9c6 fixed vs2019, broken by clang fix. 2021-09-09 12:55:56 +01:00
Vas Crabb
693764eb9c Miscellaneous cleanup.
cchasm.cpp: Combined source files, added I/O port finder, reduced audio
levels to avoid hitting the limiter.

redalert.cpp: Converted sound boards to devices and removed a couple of
trampolines, making the driver state class considerably tidier.

bus/amiga/keyboard, bus/sunkbd: Put a bunch of implementation classes in
anonymous namespaces, getting implementation details out of headers and
out of the global namespace.
2021-09-09 04:12:45 +10:00
arbee
ea8102906e apple2: support for the AppleIISD card [R. Belmont, Florian Reitz] 2021-09-07 19:51:34 -04:00
Ivan Vangelista
304e133862 - airraid.cpp, hanaawas.cpp: used finders instead of tagmap lookups and other minor cleanups
-  flstory.cpp: corrected main CPU clock for rumba, fixes sound regression [David Haywood]

- sbmjb.cpp: lowered Oki volume
2021-09-07 19:08:44 +02:00
Vas Crabb
88f6393be8 minimaws: Better equality for devices. 2021-09-07 00:43:52 +10:00
Vas Crabb
4f495994c4 -ui: Made zoom controls a bit more intuitive.
* The UI controls are described as zoom in/out, but they had the
  opposite effect on the palette and tile viewers.  That has been
  changed to make them consistent with the tilemap viewer.
* Made the default zoom key not act as a toggle.  People are familiar
  with the function of Ctrl+0/=/- in web browsers, so making them behave
  similarly in MAME should make it more approachable.  Also added the
  default zoom key to the relevant documentation page.
* Implemented the default zoom key for the palette and tile viewers.
* In the tilemap viewer, if the view is in default expand to fit mode,
  zoom in/out starting from the actual zoom ratio.  Once again, this
  behaves more like the zoom controls in a web browser displaying an
  image so it should be more intuitive.
* Made more messages from the tilemap viewer localisable.

-util/zippath.cpp: Fixed MT08074.

* There were multiple issues at play here.  After #8443 was applied,
  is_root was simply never returning true on Windows, as OSD_WINDOWS
  isn't actually defined outside libosd and libocore.  This caused
  phantom parent items to appear in disk roots on Windows, but it meant
  that the check in zippath_resolve would always fail so the trailing
  backslash would be trimmed.  Fixing the macro test in is_root meant
  the trailing backslash from C:\ would no longer be trimmed, which
  caused the stat in zippath_resolve to fail.

-bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost.

-Reduced tag map lookups in several drivers and devices.

-util/coretmpl.h: Removed an overload of bitswap that can be avoided
 using if constexpr.

-Added doxygen comments to some classes, and fixed several doxygen
 warnings.

-util, osd: Test for _WIN32 rather than WIN32.

* In C++17 mode, WIN32 is no longer a predefined macro, although various
  things in 3rdparty define it to maintain legacy support.  We're better
  off moving forward anyway for when WIN32 disappears entirely.  (WIN32
  is not a reserved name, while _WIN32 is, starting with an underscore
  follwed by an uppercase letter.)
2021-09-06 06:34:42 +10:00
npwoods
5e02ff231e
Decoupled RPK logic from TI-99 cartridge code. (#7880)
Decoupled support for RPK (RomPacK cartridge images) from TI-99 code, enabling the logic to be leveraged by other drivers.
2021-09-06 03:48:30 +10:00
smf-
32267e4852 fixes for building with clang 12.0.1 on windows 2021-09-04 20:09:51 +01:00
AJR
fb6b0f0cc4 unidasm: Add disassembler for DEC VAX architecture 2021-09-03 13:27:48 -04:00
Ivan Vangelista
44d514aa70 funkyjet.cpp: moved everything into the driver file, as video/funkyjet.cpp only had one method 2021-09-03 06:19:54 +02:00
AJR
ccaa00b3ed Move endianness type into lib/util header 2021-08-31 12:30:11 -04:00
Vas Crabb
7e1795ae6b More miscellaneous cleanup:
emu/render.cpp: Use I/O filter for zlib decompression, avoiding the need
to use zlib directly.

audo/bally.cpp: Moved several constructors out of the header, fixed a
save state issue, and made outputs use finders.

exidy.cpp: Split up state class and reduced reliance on driver init
functions.

Changed various drivers to use output finders.
2021-08-30 23:05:02 +10:00
ajrhacker
fc97bea7b7
Merge pull request #8495 from 0kmg/nes-mappers-114,115,182
bus/nes: Simplified a few related boards by Kasheng and Hosenkan.
2021-08-26 20:34:01 -04:00
0kmg
b1dcb15ba2 bus/nes: Simplified a few related boards by Kasheng and Hosenkan.
- Reduced redundant code by making "kasing" device parent class for sglionk/sgboog. The latter are identical save for the extended register/address scrambling.
- Eliminated hosenkan device altogether (mapper 182). It is identical to sglionk (mapper 114).
2021-08-26 15:21:48 -08:00
Angelo Salese
0e4ba6d49a
Major state refactoring of pc98 based HW (#8475)
First major step in splitting up machine classes in NEC PC98 family tree:
* Splits up derivative HWs into own state machine and files (pc98ha.cpp, pc9821.cpp and pc9801_epson.cpp);
* Adds a preliminary uPD4991a parallel RTC, used by pc98ha;
* Fix -26, -86, -118 C-bus sound board dips or jumper settings;
* Fix default sound card for pc9821 (-86) and pc9821ce2 / pc9821cx3 (-118);
* Adds preliminary MAD Factory Otomichan-kai C-bus sound board;
* Adds boilerplate code for C-bus installing board I/Os, avoiding the possible inconvenience of board(s) getting silently unmapped by other installed boards;
* Major refactoring of HW dip switches readouts, using required_ioports instead of scattering things around in PPI hooks;
* Extensive QA rundown, including research on missing features and undumped machines.
 
pc9801.cpp: Don't passthrough mouse irq frequency when cycle setting is setup too, fixes jastrike mouse input on options menu.
pc9801.cpp: Fix kanji RAM window LR readback, makes telenetm to properly display 8x16 chars on RS and derivative machines.
pc8801.cpp: fixed OPNA RAM readback, allowing SWs to playback ADPCMs properly.

New machines marked as NOT_WORKING
----------------------------------
PC-98LT [anonymous]
PC-98HA "Handy98" [anonymous]
PC-9821Nr15 (98NOTE Lavie) [flyingharuka]
PC-9821Nr166 (98NOTE Lavie) [flyingharuka]
PC-9821Nw150 (98NOTE Lavie) [flyingharuka]
PC-9821Ra266 (98MATE R) [flyingharuka]
PC-9821Cx3 (98MULTi CanBe) [flyingharuka]
PC-9801VX [qazmko1029]
PC-9801US [CoolMod]
2021-08-24 10:22:03 +02:00
Vas Crabb
e8bbea1fc6
formats, osd, util: Started refactoring file I/O stuff. (#8456)
Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic.  Also replaced core_file's build-in zlib compression with a filter.

unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename.

Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums.

Allow mounting TI-99 RPK from inside archives.
2021-08-22 09:06:15 +10:00
Nigel Barnes
8db344fcc5 bus/electron: Added a homebrew 68000 second processor. 2021-08-21 14:54:12 +01:00
Miodrag Milanovic
24c63a3f3d Revert "enable BGFX_CONFIG_DEBUG to get proper asserts"
This reverts commit 4abb9da0ec.
2021-08-20 09:43:41 +02:00
ClawGrip
05a8e3784d
New NOT_WORKING machine (#8468)
* arcade.lua: Add 'opercoin.cpp'

* New NOT_WORKING machine

--------------------------
Multi Baby [jordigahan, ClawGrip]
2021-08-19 13:46:03 -04:00
AJR
82a7adad6b New machines marked as NOT_WORKING
----------------------------------
Hammond GM-1000 GM Sound Module [DBWBP]
Yamaha PSR-16 [DBWBP]
Yamaha PSR-36 [DBWBP]
Yamaha PSR-40 [DBWBP]
Yamaha PSS-680 [DBWBP]
2021-08-18 16:44:23 -04:00
Miodrag Milanovic
4abb9da0ec enable BGFX_CONFIG_DEBUG to get proper asserts 2021-08-13 14:00:53 +02:00
Miodrag Milanović
36218bcdde
Merge pull request #8419 from mamedev/new_bgfx
Update bx, bimg and bgfx
2021-08-12 13:07:51 +02:00
arbee
7e5ea52797 apple2: Support for the Stellation Q-68 and Q-68 Plus 68008 coprocessor cards. [Rob Justice, R. Belmont] 2021-08-10 22:26:52 -04:00
Miodrag Milanovic
ba1e6dff41 Compile bgfx 2021-08-10 20:54:12 +02:00
MooglyGuy
7fe8f9f74c
Assorted N64 fixes (#8415)
* -rdp: Fixed incorrect channel swapping on 32-bit resampled framebuffers. [Ryan Holtz]
* -rsp: Fixed LWV and VMOV behavior. Added reserved instructions V056, V057, V073, and VNULL. [Ryan Holtz, krom]
* -rdp: Temporarily adjusted framebuffer resampling to not exceed screen bounds in some games. [Ryan Holtz]
* -n64: Fixed SP DMA behavior based on hardware tests. [Ryan Holtz]
* -rsp: Removed unused DRC and SIMD support. General code cleanup. [Ryan Holtz]
* -n64: Pass K4 and K5 factors to threaded drawing code. Fixes black geometry in Conker's Bad Fur Day. [Ryan Holtz]
* -aleck64: Fixed compile issue with previous commits. [Ryan Holtz]
2021-08-09 21:06:08 -04:00
Miodrag Milanovic
73255dbfa0 New machines marked as NOT_WORKING
----------------------------------
Smith Corona PWP System 14 [FozzTexx]
2021-08-09 16:46:57 +02:00
ClawGrip
49b65941df
New NOT_WORKING machines (#8372)
* Add 'radikaldarts.cpp'

* New NOT_WORKING machines
------------------------
Radikal Darts (Diana Version 7.29.25) [jordigahan, ClawGrip]
2021-08-08 18:12:28 -04:00
Dirk Best
1e7d83cc4b apxen: Checkpoint, get something on screen
- Implement video slot and mono graphics video card
- Hook up CIO, SIO, RTC, PIT, SN76489
- Add daisy chain for Z80 devices and hook it up to the PIC
- Add system control ports
2021-08-04 19:30:45 +02:00
Miodrag Milanovic
da7ff625de little hack to make it build fine with current build system 2021-08-02 13:59:21 +02:00
Miodrag Milanovic
4790deb5b7 Genearate seaparate dasm header for TMS57002 2021-08-02 10:51:14 +02:00
AJR
918da8411d maciifx: Add preliminary PIC (Peripheral Interface Controller) devices and OSS interrupt control
* machine/applefdintf.*: Correct permissions
2021-07-29 23:40:16 -04:00
Vas Crabb
23bd2ecf6a Slightly cleaned up OSD input modules.
Removed support for DirectInput 7 and earlier.  It hasn't been tested in
years, and it's not relevant on any supported OS.  DirectInput is
effectively finalised at version 8, and is unlikely to get an API update
in the future.

Use more string[_view] and fewer C strings, and tightened up scope of a
few things.
2021-07-29 15:22:51 +10:00
AJR
db1ddb7cee motoxgo: Add "extra" I/O CPU to configuration 2021-07-28 23:12:41 -04:00
Dirk Best
063928663c New machines marked as NOT_WORKING
----------------------------------
ACT Apricot XEN [John Elliott]
2021-07-27 09:06:06 +02:00
AJR
d1e6e5b830 New machines marked as NOT_WORKING
----------------------------------
Sony DPS-V55 Multi-Effect Processor [DBWBP]
2021-07-26 14:09:04 -04:00
hap
b8974ddcba New NOT_WORKING software list additions
---------------------------------------
msx1+cart: Easi-Speech [hap]
2021-07-23 19:00:08 +02:00
AJR
af7bfe3324 f2mc16: Rewrite disassembler
- Fix bug in CPU core advancing PC by one too many bytes when executing ADDL A, RLn
2021-07-21 10:34:36 -04:00
Vas Crabb
1d106ea414 Tie up a few loose ends in drivers:
neogeo.cpp: Added newer Universe BIOS versions to irrmaze - this allows
the Japanese version to be seen by switching the region, and joystick
play using a cheat (although 2.3 and later also support trackball play,
a joystick is still required for setup and to use the in-game menu).
Also changed roboarma to roboarmya, as this matches the software list,
and we prefer to make clone set names using suffixes.

neogeo.xml: Added irrmaze with usage note explaining that newer
Universe BIOS versions support joystick play as a cheat (must be enabled
each session - Universe BIOS does not save cheat state to NVRAM).

lwriter.cpp: Got rid of a couple of literal tags, make use of Allman
style a bit more consistent, and got rid of a redundant part of a
bitwise or expression.

runaway.cpp: Merged video code into main driver file, split state
classes, reduced a bit of redundancy, eliminated runtime input tag
lookups, and generally tidied up code.

dai3wksi.cpp: Noted manufacture in description for runaways.
2021-07-21 01:12:43 +10:00
Patrick Mackinlay
de881afb9e ncr5380n: reclaim ncr5380 device name 2021-07-20 12:22:15 +07:00
Calvin Buckley
4ab4f74106
Implement 68k FPU FATAN instruction (#8287) 2021-07-18 12:53:08 -04:00
Robbbert
f608bce75f exp85: fixed keyboard problem, added save-state support. 2021-07-18 13:06:22 +10:00
arbee
064bc3aafb apple3: Preliminary support for Microsoft SoftCard /// [Rob Justice, R. Belmont] 2021-07-17 12:45:53 -04:00