Commit Graph

4796 Commits

Author SHA1 Message Date
Vas Crabb 76541e8c81 Debugger updates:
Made closing the Qt debugger console window hide all debugger windows
and run the emulated machine (debugger windows will be shown on next
user break or breakpoint hit).  This matches the behaviour of the Win32
and Cocoa debuggers.

Made Qt debugger clean up its windows on exit rather than on subsequent
starts.  This fixes GitHub #9789.

Made Qt debugger less reliant on global variables, and made code to save
and load configuration a bit less convoluted.  It still needs more
refactoring on this front, but it's in slightly better shape now.

Made Qt debugger a bit less crashy on invalid configuration.  Still
plenty of ways to crash it, but every little bit counts.

Made Qt debugger do less comparisons on menu item names and object
names - it might be possible to localise one day.

Moved all the C++ debugger implementations into namespaces.  They're
using awfully generic class names, so it's about time.
2022-09-20 04:22:51 +10:00
Vas Crabb 796d8d6720 bus/gameboy: Fixes for multi-game cartridges.
* Reset the system from a timer callback for the Vast Fame/SL/J.Y.
  Company multi-game cartridges.  This fixes games on gbcolor.
* Reset system when leaving configuration mode for GBCK003.  Fixes most
  issues with games.
* Moved GBCK003 to its own source file, and added notes for both
  multi-game cartridge types.
2022-09-19 03:26:16 +10:00
Vas Crabb 33f2b34198 bus/gameboy: Added partial support for some Chinese multi-game cartridges.
Cartridge RAM features are not implemented yet.

New working software list items
---------------------
gbcolor.xml: New Super Color 145 in 1 (China) [taizou, Vas Crabb]
2022-09-18 06:05:43 +10:00
Vas Crabb c76cf754b3 debugger/win: Added capability to save/restore window arrangement.
* Format is mostly compatible with the Cocoa debugger, besides reversed
  vertical positioning.
* Made Qt debugger more compatible with configuration format used by
  Win32 and Cocoa debuggers.
* emu/config.cpp: Preserve elements with no registered handlers in
  default and system configuation files.
2022-09-16 22:23:34 +10:00
hap ad338bd3e7 source org: move gmaster to handheld folder 2022-09-16 00:18:00 +02:00
smf- 5acbdb2e86 fix visual studio builds after bdb9404c08 2022-09-15 18:22:03 +01:00
smf- bdb9404c08 fixes for clang 15.0 on windows [smf] 2022-09-15 13:39:13 +01:00
Vas Crabb f9728327f8 More miscellaneous fixes:
* Fixed tiny build for consolidated driver files.
* tools/unidasm.cpp: Capture big objects by reference in lambdas.
* misc/oneshot.cpp: Fixed unsigned comparison to zero bugs.
2022-09-14 04:46:58 +10:00
Vas Crabb 5db7ffb86a Reimplemented Game Boy and Mega Duck cartridge slots:
Allow cartridges to install themselves rather than putting accesses
through trampolines.  Use memory banks even when they aren't installed
directly, as it exposes script bindings and declares intent.

Added support for MBC6 Flash, and MBC7 two-axis accelerometer and 128*16
or 256*16 serial EEPROM.  Added basic support for Game Boy Camera image
capture (various M64282FP processing features are not implemented).
Improved MBC3 real-time clock emulation.

Added basic support for Hudson Soft HuC-1 cartridges (infrared I/O not
supported) and HuC-3 cartridges (real-time clock and infrared I/O not
supported).

Added full support for Vast Fame VF001 cartridges.

Separated Mega Duck flat and banked ROM cartridge types, and allowed
software list items to specify whether a cartridge has fixed and
selectable 16K banks or a single selectable 32K bank.

Added support for RAM sizes smaller than 8K that will be mirrored in the
0xA000-0xBFFF area.  Implemented correct ROM mapping for sizes that are
not powers of two.  Corrected size of MBC2 internal static RAM.

Added support for various hypothetical cartridge wirings, such as MBC5
with outer ROM banking for up to 128M, M161 and Wisdom Tree cartridges
with flat RAM, and MBC1 or MBC5 with fewer than the maximum number of
inner ROM bank lines used.

Fixed logo spoofing logic for many pirate cartridges, including Rocket
Games, Sachen MMC1 and MMC2, Sintax, Li Cheng, and Niutoude.  Identified
fine bank mask register for GBCK003 board.

Added basic support for GBX format ROM images.  Added heuristic for
detecting raw dumps of M161 cartridge images.  Removed unreliable
unlicensed cartridge detection heuristics - these need to be
reimplemented in a better way.

Software list items promoted to working
---------------------------------------
gameboy.xml:
Game Boy Camera (Europe, USA)
Game Boy Camera Gold (USA)
Pocket Camera (Japan, Rev 1)
gbcolor.xml:
Command Master (Japan)
Kirby Tilt 'n' Tumble (USA)
Korokoro Kirby (Japan)
Street Hero (Taiwan)
Thunder Blast Man (Europe)
4 in 1 + 8 in 1 (World, 4B-001)
4 in 1 + 8 in 1 (World, 4B-002)
4 in 1 + 8 in 1 + 16 in 1 (World, 4B-005)
4 in 1 + 8 in 1 (World, 4B-007)
31 in 1 Mighty Mix (Taiwan)
31-in-1 Mighty Mix (Australia)
Nǚwáng Gédòu 2000 (Taiwan)
Chāojí Gédòu 2001 Alpha (Taiwan)
Gédòu Jiàn Shén - Soul Falchion (Taiwan)
2022-09-13 06:27:33 +10:00
Olivier Galibert 2da17be127 mtu130: Add support for the datamover (68k board) 2022-09-11 11:56:36 +02:00
0kmg 1e85658dd3
bus/nes_ctrl: Added Sharp Cassette Interface AN-300SL device. (#10318)
Clones promoted to working
--------------------------
Sharp My Computer Terebi C1 [kmg]
2022-09-10 12:13:29 -04:00
AJR d90da03d0e Add skeleton devices for MPS-1200 & MPS-1250 IEC printers 2022-09-08 19:10:34 -04:00
AJR a7be70a183 Add preliminary M50734 emulation 2022-09-07 09:14:06 -04:00
Olivier Galibert ef8ac6eee8 * new WORKING machine
----
MTU-130 [Olivier Galibert, David Williams, Disk Blitz, Eric Wright]
2022-09-06 19:04:46 +02:00
Vas Crabb 051c380fd1 Patched up some gaps in functionality and fixed some bugs.
ui: Added some missing functionality:
* Added an option to copy input device IDs to the relevant menus.
* Added an item for setting the software lists files path (-hashpath) to
  the folder setup menu.
* Allow pasting text from clipboard in most places that allow typing
  (searching, entering filenames, entering barcodes).
* Changed the software selection menu heading to be a bit less
  misleading.
* Made barcode menu less eager to rebuild itself unnecessarily, and
  removed some confusing and apparently pointless code.

Exposed more Lua bindings:
* Added low-level palette objects.
* Added indexed bitmap types.
* Added a bitmap method for extracting pixels from a rectangular area as a
  packed binary string.
* Changed screen device pixels method to return width and height in
  addition to the pixels.

osd: Added some functionality and cleaned up a little:
* Added a function for copying text to the clipboard.
* Moved function for converting Windows error codes to standard error
  conditions to winutil.cpp so it can be used from more places.
* Removed duplicate declaration of osd_get_clipboard_text and made the
  function noexcept (including fixing implementations).
* Made macOS implementation of osd_get_clipboard_text skip the encoding
  conversion if it finds UTF-8 text first.
* Changed the default -uimodekey setting so it doesn't lose the "not
  shift" that stops the default from interfering with UI paste.

Various bug fixes:
* util/unicode.cpp: Fixed the version of utf8_from_uchar that returns
  std::string blowing up on invalid codepoints.
* util/bitmap.h: Fixed wrapping constructors for indexed bitmaps taking
  the wrong parameter type (nothing was using them before).
* util/bitmap.cpp: Fixed potential use-after-free issues with bitmap
  palettes.
* emu/input.cpp, emu/inputdev.cpp: Log 1-based device numbers, matching
  what's shown in the internal UI and used in tokens in CFG files.
* emu/emumem.cpp: Added the bank tag to a fatal error message where it
  was missing.

docs: Reworked and expanded documentation on configuring stable
controller IDs.

For translators, the changes are quite minor:
* There's a menu item for copying a device ID to the clipboard, and
  associated success/failure messages.
* There's the menu item for setting the software list file search path.
* One of the lines in the software selection menu heading has changes as
  it could be interpreted as implying it showed a software list name.
2022-09-02 08:55:16 +10:00
Michael R. Furman 46ecd84148
formats/fdos_dsk.cpp: Added FDOS disk format for the SWTPC 6800. (#10273)
Allows the SWTPC 6800 machine to boot FDOS in MAME using Mike Douglas'
FDOSMPS.DSK, and to read/write other available disk images.
2022-08-28 07:07:30 +10:00
Vas Crabb 14e0582083 Miscellaneous fixes:
* util/ioprocsvec.h: Fixed truncating when a write doesn't reach the end
  of stream. [F.Ulivi]
* floptool.cpp: Fixed reversed error checking logic. [F.Ulivi]
* Fixed SUBTARGET=tiny build (required Sega encrypted CPUs to be added).
2022-08-28 01:12:08 +10:00
npwoods 695a9eb091
Initial FAT file system support for Floptool (#9119)
* Initial FAT file system support for Floptool

Current Limitations:
- Read only
- Only supports floppy disks
- No FAT32 support
- No Long Filenames Support
2022-08-25 14:48:45 -04:00
Patrick Mackinlay 361f9f487c mn1610: new disassembler 2022-08-25 16:07:11 +07:00
Vas Crabb 74fa8ec158 -nintendo/gb.cpp: Use taps to handle the boot ROM overlay.
-Moved some stuff out of misc and skeleton:
* Moved Innovative Concepts machines to their own project.
* Moved various things out of skeleton to existing company projects.
2022-08-24 03:45:50 +10:00
Ivan Vangelista f8dd800d3d bus.lua, machine.lua: fixed a couple of entries 2022-08-21 20:01:29 +02:00
David Haywood 7d346689de
Greatly improve Monon Color emulation (#10158)
* added emulation of required/used AXC51 / AX208 extended operations
* added preliminary emulation of required/used AXC51 / AX208 features
* added support for many Monon specific features, such as the video controller
* most games are playable, those not requiring a card/badge scanner to function at all are promoted
* no music, as it's contained in a game specific MCU under a glob on each cart
2022-08-21 01:33:41 +02:00
Paul-Arnold 0a18e66463
misc/magicard.cpp: Added required devices and default NVRAM contents. (#9970)
* cpu/pic16c5x: Expose driven lines to I/O handlers in mask.
* machine/ds1207.cpp: Added DS1207 Time Key device.
* machine/msm6242.cpp: Fixed interrupt output pulse duration.
* machine/scc66470.cpp: Added Philips SCC66470 Video and System controller device.

Machines promoted to working
-------------------------------
Puzzle Me!
Lucky 7 (Impera) V04/91a

Clones promoted to working
-------------------------------
Magic Card Export 94 (V2.11a, set 3)
Magic Card - Wien (Sicherheitsversion 1.2)
unknown Poker 'TE06'
2022-08-18 23:41:08 +10:00
Michael R. Furman 0ef256b317
formats/cp68_dsk.cpp: Added CP/68 disk format for SWTPC 6800. (#10178) 2022-08-13 23:18:48 +10:00
Vas Crabb 1c4c29aff6 Tweaked MAME icon:
* Use flat gradient style rather than embossed edges.
* Made rightmost stroke of the M thicker.
* Use a dark border to emphasise the outline on light backgrounds.
* Use flat style without anti-aliasing up to 64*64.
* Manually tweaked small sizes to preserve sharp mitres.
2022-08-07 02:47:19 +10:00
hap f9725bbe95 tms1000: added tms2xxx skeleton devices 2022-08-05 20:57:38 +02:00
Brice Onken 7add0628c5
machine/spifi3.cpp: Implemented HP 1TV3-0302 SPIFI3 SCSI controller. (#10137) 2022-08-05 20:49:51 +10:00
holub c92c0c967f
sinclair/atm.cpp: Got ATM Turbo 2 mostly working. (#10149)
Implemented memory banking, video modes, palette and COVOX.

Machines promoted to working
--------------------------
MicroART ATM-Turbo 2
2022-08-05 01:41:30 +10:00
0kmg 744493d3ac
bus/pce_ctrl: Added support for Coconuts Japan Pachinko Controller CJPC-102. (#10165)
For all controllers, added %p player specifier, made device_input_ports() protected, and moved initializations from headers to constructors.
2022-08-05 01:08:48 +10:00
AJR c19f2c5d46 a800: Add support for the ICD R-Time 8 cartridge 2022-07-30 15:36:04 -04:00
David Haywood d08013cc66
cloned the mcs51 core as axc51, stripped it back, will allow monon work to continue without making a mess of the original mcs51 core. (#10140)
* cloned the mcs51 core as axc51, stripped it back, will allow monon work to continue without making a mess of the original mcs51 core.

* remove some redundant bits

* replace SFR table with AXC51 / AX208 one, removing some other functionality which is not the same on this series

* remove some other bits that are redundant now we're not trying to support other mcs51 models in the axc core
2022-07-28 14:53:34 -04:00
Patrick Mackinlay 9540628cd5 am9516: new device 2022-07-20 19:47:39 +07:00
Patrick Mackinlay 1a6147aeb9 opus100pm: add opus 108pm isa bus card 2022-07-11 14:14:45 +07:00
Vas Crabb ba98284097 Minor cleanup:
* Don't put full path to target resources in generated version resource
  file.
* apple/sonora.cpp: Only #include "emu.h" as first thing in .cpp file to
  avoid PCH issues.
* taito/rbisland.cpp: Cleaned up a few details.
2022-07-11 01:25:39 +10:00
Vas Crabb b55671d63a bgfx: Re-built shaders for crt-geom update. 2022-07-07 20:04:22 +10:00
Vas Crabb 5a984699b3 Fail earlier in the build process if SOURCES= specifies no files containing system definitions 2022-07-07 11:54:01 +10:00
Frederic Cambus 624793eac8
Added support for building with Clang on OpenBSD. (#10028) 2022-07-04 03:54:58 +10:00
Thomas Klausner 174e6bdf44
genie: Explicitly set LinkSupportCircularDependencies for NetBSD. (#10020)
Fixes GitHub #10011.
2022-07-04 03:51:04 +10:00
AJR 21c3c10564 Seta X1-001 sprite device cleanup
- Use 16-bit pointer for sprite RAM storage (despite some systems only having 8-bit CPUs)
- Rename device and move to src/devices
- Clean up variable naming in associated drivers
- neobattl: Add DIP switch locations
- krzybowl: Reduce clocks to match known XTAL value
2022-07-01 23:14:45 -04:00
Vas Crabb 6176c84768 Added CI job to check for likely mame.lst errors. 2022-07-02 04:57:25 +10:00
Olivier Galibert 96e24fc56b There is only one Sega 2022-07-01 17:44:39 +02:00
Olivier Galibert 2e8c8a3792 Move avgdvg into devices 2022-07-01 16:23:31 +02:00
Vas Crabb 4b66663afb Allow leaving off the src/<target>/ prefix in SOURCES= 2022-07-01 23:19:10 +10:00
Vas Crabb f04d9d605c Assume any src/<target>/* folder containing C++ source is a project. Only 'shared' is special-cased. 2022-07-01 22:55:52 +10:00
hap 81727a9409 source org: let's merge the pc folders, also remove misc_ from chess/handheld because i can't make up my mind 2022-07-01 14:18:03 +02:00
Olivier Galibert 1271b8eb74 Change sssr to the more known ussr 2022-07-01 12:47:05 +02:00
Miodrag Milanovic 1bf5abd693 Moving "special" to "sssr" 2022-07-01 09:49:04 +02:00
hap a440615091 source org: latin letters for cccp 2022-07-01 00:06:24 +02:00
Miodrag Milanovic 67909e4530 Moved radio->cccp, merged couple of small into -> sfrj for ex Yugoslavia companies 2022-06-30 13:31:19 +02:00
Miodrag Milanovic b0fa78a721 Fix compile 2022-06-30 12:26:54 +02:00
npwoods ab3a5e1df7
Created a CBM DOS file system driver and added it to the 1541 implementation (#9922) 2022-06-30 09:25:50 +02:00
hap feebaaf053 source org: rename ascii to msx 2022-06-29 21:25:21 +02:00
hap 36ffcf47ba source org: rename cbm to commodore 2022-06-29 18:54:46 +02:00
hap dc5faa73bb source org: rename aci to appliedconcepts, hegener to hegenerglaser 2022-06-29 18:35:11 +02:00
hap 2108cb2593 source org: rename mb to miltonbradley, let's move the vectrex to this folder 2022-06-29 17:46:47 +02:00
hap 4dcb8c0b04 source org: create a misc_chess folder 2022-06-29 17:33:29 +02:00
hap bd97560ea9 source org: merge intv with mattel 2022-06-29 17:14:37 +02:00
hap 71fcb2c354 source org: rename fairch to fairchild 2022-06-29 17:08:04 +02:00
hap 0bdc4c8e26 source org: rename handheld to misc_handheld and move some files over 2022-06-29 17:06:07 +02:00
Vas Crabb c51c443be1 -Added support for directory names in SOURCES=
-Retired the messshared project (combined with shared).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Added better endianness swizzling helpers.

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

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

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

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

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

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

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

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

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

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

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

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

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

Got rid of the duplicate joystick inputs in rollingc.

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

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

- gotya.cpp: minor cleanups

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

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

- funworld.cpp: demoted multiwina to MIG

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

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

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

- vamphalf.cpp: improved hardware info [Guru]

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

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

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

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

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

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

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

The code submitted now supports:

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

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

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

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

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

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

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

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

Also show warnings about potentially uninitialised stuff with GCC 12,
just don't make them fatal errors.
2022-05-17 03:16:54 +10:00
Ivan Vangelista 1f8af0c190 - goldstar.cpp: decrypted cb3c, needs correct address map
- gstriker.cpp: used finder for memory bank and other small cleanups
2022-05-16 18:10:34 +02:00
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
Patrick Mackinlay 37e4c7d146 New WORKING machines
---
National Semiconductor DB32016 [Al Kossow]
2021-07-16 15:17:56 +07:00
Robbbert 895a27783e hd63484 include in mess build to fix linking error 2021-07-15 21:49:35 +10:00
Patrick Mackinlay 72ddd181d9 New machines marked as NOT_WORKING
---
Casio SX1010 [Plamen Mihaylov]
2021-07-14 15:16:29 +07:00
cracyc 6f55569f2f fix build 2021-07-13 13:50:06 -05:00
hap d199ad1e80 New working machines
--------------------
Eldorado Chess Challenger [hap, bataais]
2021-07-13 19:42:12 +02:00
cam900 1d7e9c0284
-pce.cpp: Converted PC Engine controller ports to slot devices. (#8028)
-ggconnie.cpp: Add notes for IRQ.
2021-07-13 22:55:25 +10:00
hap e4c8d9f538 New working machines
--------------------
TI-1680 [hap, Sean Riddle]
2021-07-13 11:12:14 +02:00
Aaron Giles 03d1877680 Disable another MSVC warning that is known to be noisy (and which showed up with the recent setjmp workaround). 2021-07-09 09:14:42 -07:00
ksherlock a9fefd8363
-bus/a2bus: Added //SHH SYSTEME LANceGS Card. (#8264)
-machine/smc91c9x.cpp adjustments:
* Reset should disable promiscuous mode.
* RCR - handle promiscuous changes, adjust soft reset handling.
* EPH_STATUS should be LINK_OK by default (previous code wouldn't set LINK_OK unless RX_EN is set but LANceGS won't set RX_EN unless LINK_OK is set).
* B0_BANK bits 4-8 are unspecified in the documentation but LANceGS expects a 3 (used in Card detection logic).
* MIR values depend on device type and resets when the mmu resets.
* Reading/writing the data register needs to be aware of 8-bit I/O.
* Calculate FCS.
* Removed WMS OUI filtering hack.
2021-07-09 11:38:52 +10:00
Aaron Giles 6ffc98289c
video/voodoo.cpp: Major rewrite: (#8267)
* Changed to use modern poly.h instead of polylgcy.h.
* Moved helper classes into separate voodoo namespace.
* Derived device classes from video_device_interface.
* Split classes so that later versions derive from earlier versions.
* Created device maps to be directly included.
* Redesigned register mapping to use helper classes and delegates.
* Rewrote rasterizers to use C++ templates instead of macros.
* Added logic to compute equations for color/texture combine units.
* Added special generic identity-texel rasterizer cases.
* Removed pipeline stalls on texture and palette changes.
* Removed pipeline stalls on most all parameter changes.
* Generally re-thought and cleaned up logic throughout.
* Parameterized cycle stealing on status reads; updated all existing voodoo consumers to configure it as it was before.

-vidoe/poly.h: Various improvements:
* Exposed poly_array class for broader use.
* Changed poly_array to intelligently determine maximum size.
* Added logic to track multiple "last" instances in poly_array.
* Extended logic to support up to 16m work items.
* Removed MaxPolys parameter from poly_manager template.
* Added Flags parameter to poly_manager template.
* Added POLY_FLAG_NO_CLIPPING flag to remove clipping code when not needed.
* poly_manager now supports a MaxParams value of 0.
* Made paramcount a template parameter for render_* functions.
* Added reset_after_wait() method to be overridden by derived classes.
* Switched to using std:: helpers instead of internal methods.
* Removed useless dependency on screen_device.
* TRACK_POLY_WAITS now produces more complete statistics.

-video/polylgcy.cpp: Removed legacy implementation of polygon renderer.

-machine/gt64xxx.cpp: Prevent lockups by disallowing 0-duration timers.

-machine/pci.cpp: Added support for adding subdevice maps directly.

-emu/video/rgbsse.h: Improved min/max for SSE4.1+ and scale+clamp operations for all.

-emu/vidoe/rgbutil.h: Made palette expansion constexpr and added argbexpand function.

-osd/osdcore.cpp: Changed osd_ticks to use QueryPerformanceCounter on Windows since the mingw std::chrono::high_resolution_clock is anything but.
2021-07-09 11:35:00 +10:00
AJR 3d4c25b2e0 mt420, mt5510: Split to separate drivers 2021-07-02 19:33:15 -04:00
Vas Crabb 3dcc095e86 MAME 0.233
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0DYtsBhE4EM627+6wXSxAYxAcQ4FAmDcdEoACgkQwXSxAYxA
 cQ7dsxAAkKnl71MHAZ9E3mOTUrcTMvDp6eQIJOkiaUx7ZBprM5Pnf8JLrcvxXtMY
 8Asy2X/87msvBZlXqpHeHAuQHfCONF/KiZF48zMYvnBGghgD73flBTBISag0K2+B
 gaaVyekcE8QC1ZnWk0HwounEfKSG6GPCk0n/GIst4hhcUhf6uxEg+f6uJteRiHqu
 /Aa42OLljNVRXrcpnsz0rlDvNHe4LQoki/r/9Z3mWlwNYnphC6sPJt+lFCrYD8ge
 NF7vSdn8Ivo2NEustEt9t6HGG+jOiKcJaIZGkaqTbnniIv1aBU9WzAIrTA4htg4z
 8kQYkiUUaTYX/F5u/C3q3GwuGoHxn423VapIxk8wX2fWirLSTcpbjXzFSkim/eum
 b5FHrYsGrK3gSffr640SGrDHIZABvJIjQ4r13P20ilFZVyvRun7j/S4we4cxrEkR
 baKwk5beHLRsMTwkSZmhO+g1fDmXgwwhWZiqhk2beEgviEqSO+1geDjDSLkp8tnW
 deaVAqYSiZMtaCywwmlsg14Xv2zYpiLBzvUaUTr9tw86Yd4z1ij6dGX9jYI5s0fe
 PLs4ozZIbwbR0DQhAvdUINzQs537jSefU2hm6HLMPoNoPnpGr9T3FHQtDDyYCk/t
 Mp3Ayw5V8PJNEOcX5ZzXyWv5paqlT70V21M3QyKwm1zPHA9fsYI=
 =gV5o
 -----END PGP SIGNATURE-----

Merge tag 'mame0233' into mainline-master

MAME 0.233
2021-07-01 13:00:05 +10:00
Vas Crabb e1ceb9f3e8 Add pofo_kbd.h to build scripts so it's picked up when generating IDE projects. 2021-06-30 22:45:06 +10:00
Ivan Vangelista 0532bfc63f New machines marked as NOT_WORKING
----------------------------------
TV Phone Doraemon [Phil Bennett]
2021-06-29 17:58:04 +02:00
0kmg 8796124eb4
add mapper 29 and preliminary mapper 30 support (#8225)
New working software list additions
-----------------------------------
2A03Puritans [rainwarrior]
E.T. [KHAN]
Glider [anonymous]

* mapper 29: support should be complete but there are few if any other homebrew roms to test against
* mapper 30: only supports the most basic board that doesn't use flashable memory - tested on a dozen or so roms, all working
* add a game each for mappers 29 (Glider), 30 (E.T.), and 31 (2A03Puritans) so there is something in the software lists to actually test against. Glider is discontinued by manufacture, the other two are freely available from their authors.
 * various naming clean ups, like BTL- prefixes for things that are not bootlegs
2021-06-25 17:39:09 -04:00
Ivan Vangelista 5387c58e67 New machines marked as NOT_WORKING
----------------------------------
VS Mahjong Triangle [system11]
2021-06-24 19:22:35 +02:00
Vas Crabb 50da25ae5b -util: Retire legacy object pool, removing vestigial references.
Thanks to AJR, Ivan Vangelista and Aaron Giles for helping make this
possible.

Also fixed debug build of imgtool.
2021-06-24 23:12:27 +10:00
cracyc 3f5cec732b vis: fix card comms and crc 2021-06-23 16:41:27 -05:00
David Haywood b0628a92ec
Re-worked System 18 Alien Storm bootlegs, put in their own driver to study. (#8212)
This renders the tile strip backgrounds, making them a lot more playable.
2021-06-23 23:31:30 +10:00
cracyc 188a28c9ff vis: add memory card device 2021-06-22 17:10:30 -05:00
AJR c7bbfc5459 New machines marked as NOT_WORKING
----------------------------------
Hohner ADAM Advanced Digital/Analog Musical Instrument [DBWBP]
2021-06-22 14:31:13 -04:00
AJR b915e69902 Remove emualloc.* 2021-06-22 09:01:01 -04:00
hap 20a03efe41 New working software list additions
-----------------------------------
lk3000: Calculator, Electronic Notebook [hap, Sean Riddle]

New NOT_WORKING software list additions
---------------------------------------
lk3000: English-German [hap, Sean Riddle]
2021-06-21 14:00:58 +02:00
AJR 0d0f25642c New machines marked as NOT_WORKING
----------------------------------
Yamaha SY35 Music Synthesizer [DBWBP]
2021-06-20 12:44:33 -04:00
AJR 75517876f4 New machines marked as NOT_WORKING
----------------------------------
Yamaha AN1x Control Synthesizer [DBWBP]
Yamaha DX100 Digital Programmable Algorithm Synthesizer [DBWBP]
2021-06-20 11:03:48 -04:00
hap e5390ab1fb New machines marked as NOT_WORKING
----------------------------------
LK-3000 [hap, Sean Riddle]
2021-06-20 16:58:53 +02:00
tim lindner 0f17b85baf
mc10.cpp: Converted expansion port to slot device and removed fake machines. (#8184) 2021-06-17 03:13:56 +10:00
arbee da6196f70d apple3: Support for the Titan "/// Plus II" Apple II emulation card. [R. Belmont] 2021-06-15 23:12:56 -04:00
Jaen 3c1ca80a75
pofo.cpp: Converted keyboard to device. (#8192)
Fixes multiple keys being pressed simultaneously.
2021-06-16 04:35:20 +10:00
Ivan Vangelista 2306f4132a scripts/mame/arcade.lua: moved Model Racing drivers to separate project 2021-06-15 18:35:15 +02:00
Nigel Barnes efcdeeaed4 bus/coco: Added the Dragon MSX 2+, The Dragon's Claw, Peaksoft Prestel, and CoCo WordPak/WordPak II/WordPak RS/WordPak 2+ devices. 2021-06-14 13:20:35 +01:00
David Haywood 3098ee38ae
Reworked rockclim driver to be based on galaxian.cpp (was in galaxold.cpp). (#8182) 2021-06-14 13:11:07 +10:00
Vas Crabb 73d97b7dc4 Added helpers for 64-bit count leading zeroes/ones. 2021-06-13 09:38:01 +10:00
cam900 838da5bea9
inufuku.cpp: Merged */inufuku.* into drivers/inufuku.cpp, minor cleanups. (#8172)
* Removed unnecessary VRAM read trampolines.
* Use buffered_spriteram16_device for buffered sprite RAM.
* Derive clocks from crystals.
* Reduced runtime tag lookups, unnecessary region size.
* Fix naming, spacing.
* Use generic graphics layouts, fix color usage of gfxdecode related to palette size.
* Restrict rowscroll to screen clipping rectangle.
2021-06-13 01:55:06 +10:00
AJR 35f317e027 New skeleton ISA device: Lark Associates LRK-331 ESDI Controller [Bitsavers] 2021-06-11 20:50:45 -04:00
yz70s ba3e5baffc naomi: add a new device for the Sega 837-14438 "SH I/O BD" hopper board 2021-06-08 21:36:37 +02:00
Patrick Mackinlay 80fb62cce5 ns32082: new device 2021-06-07 19:05:07 +07:00
xray-sky 24df3089f8
fix pcap builds (#8150) [xray-sky, R. Stricklin] 2021-06-06 21:40:17 -04:00
MooglyGuy 7aa7502bb6
-supracan.cpp: Added basic sound emulation. (#8143) [Ryan Holtz, superctr]
* Many features still need fleshing out, including sample sources and envelopes.
2021-06-06 08:11:19 +10:00
ClawGrip 43a68379a1
New NOT_WORKING machine (#8122)
* New NOT_WORKING machine
----------------------
Super Chexx (EM Bubble Hockey) [ClawGrip]
2021-06-02 21:32:41 -04:00
cracyc 37b944eaf9 New machines NOT_WORKING
----------------------------------
Philips :YES [Svenska, rfka01, Carl]
2021-06-02 19:30:08 -05:00
Ivan Vangelista 682090918b stv.cpp: moved the few remaining protection functions in stvprot.cpp to the driver file and eliminated strvprot.* 2021-06-02 17:06:42 +02:00
David Haywood 50be96c46d
new educational / plug and play dumps / cartridges from Sean [Sean Riddle, Dave "Foxhack" Silva] (#8113)
* add some dumped data to the innotab2 driver, split from storio [Sean Riddle]

* new NOT WORKING software list entry
------
leapfrog_zippity_cart.xml:
The Princess and the Frog - Magical Bayou Adventure (500-13779-A) (UK) [Sean Riddle]

* new NOT WORKING machines
-----
Compact Cyber Arcade TV - 120 in 1 (JL2370) [Sean Riddle, taizou]
Leapster Explorer [David Haywood]

* new NOT WORKING software list entries
------------
leapfrog_leapster_explorer_cart.xml:
TinkerBell and the Lost Treasure (500-14226-A) [Dave "Foxhack" Silva]
Mr. Pencil Saves Doodleburg (500-14221-A) [Dave "Foxhack" Silva]
Adventure Sketchers (500-15340-A) (Creativity Learning Game) [Dave "Foxhack" Silva]

* new NOT WORKING software list entries
-------
vtech_innotab_cart.xml:
The Penguins of Madagascar (80-230500, US) [Dave "Foxhack" Silva]
Teenage Mutant Ninja Turtles - Turtle Power! (80-231300, US) [Dave "Foxhack" Silva]

* mobigo_cart.xml: remove jakenevalt, it's a bad dump "80-252800 - Jake and the Neverland Pirates (US).bin                         FIXED BITS (xxxxxx1xxxxxxxxx)"

* mobigo_cart.xml: remove dprinces, it's a bad dump "mobigo_251100.bin                               BADADDRxxxxxxxxx-xxxxxxxxxxxxxx"

* new NOT WORKING software list entries
------
mobigo_cart.xml:
Disney/Pixar Cars 2 (USA, rev 2?) [Sean Riddle, Dave "Foxhack" Silva]
Thomas & Friends - Really Useful Engines (USA, rev 2?) [Sean Riddle, Dave "Foxhack" Silva]

* - added German ltleappad BIOS [Team Europe, Sean Riddle]

* new NOT WORKING software list entries
------
vtech_storio_cart.xml:
Cars 2 (USA) [Sean Riddle, Dave "Foxhack" Silva]
Dora and the 3 Little Pigs (USA) [Sean Riddle, Dave "Foxhack" Silva]
Hello Kitty's Surprise (USA) [Sean Riddle, Dave "Foxhack" Silva]
Disney Princess - A Gift From The Heart &amp; Belle's Special Treat (USA) [Sean Riddle, Dave "Foxhack" Silva]
TinkerBell and the Great Fairy Rescue (USA) [Sean Riddle, Dave "Foxhack" Silva]
Mickey Mouse Clubhouse (USA) [Sean Riddle, Dave "Foxhack" Silva]

* update notes in storio xml

* add some more known cartridge info to juicebox.xml
2021-06-01 14:11:00 -04:00
Aaron Giles 973373e712 ymfm: Sync with upstream:
* Fix panning calculations in OPL4 (YMF278B)
* Make OPQ reverb less ridiculous
2021-06-01 09:54:44 -07:00
Ivan Vangelista 6e5f1cbb77 New machines marked as NOT_WORKING
----------------------------------
Play Sonic 4 [Juan Romero, ClawGrip]
2021-06-01 18:12:44 +02:00
Dirk Best fa08c5f552 vtech: Rework expansion bus emulation
- Use memory taps instead of directly installing into the memory map
- Use address_maps to specify address ranges
- Add missing save states
- Support the BennVenn SD Loader (preliminary)
- Move lightpen skeleton to a device
2021-06-01 13:16:52 +02:00
AJR 57d621860c tek410x: Add keyboard [AJR, Bitsavers]
* tek440x: Hook up 410X keyboard to pass boot test
* mc68681: Wait until transmitter is actually empty to set TxEMT
2021-05-31 22:15:36 -04:00
tim lindner eb1df97c6b
bus/coco: add CoCo Max Hi Res Input Module (#8104) 2021-05-31 16:29:01 -04:00
Aaron Giles 05cacea947 ympsr60: Fleshed out the PSR60/PSR70 drivers
* Split YM2154 into a separate device
* Created fake YM2154 ROMs as placeholders
* Created new BBD sound device in src/devices/sound/bbd.cpp
* Created new mixer device in src/devices/sound/mixer.cpp
* Connected YM2154 and BBD devices
* Approximated BBD driver behavior
* Exposed analog sliders as adjusters (accessible via ` menu)
* Added sliders to layout and animated them
2021-05-31 11:20:28 -07:00
Ivan Vangelista 599c33e839 New machines marked as NOT_WORKING
----------------------------------
Fortune Wheel [coolmod]
2021-05-29 07:13:58 +02:00
Olivier Galibert 293a5c9129 Stupid warning is stupid 2021-05-26 22:35:19 +02:00
AJR c7d7b25caa Better fix for vt_dsk.h header name clash 2021-05-26 14:39:05 -04:00
Olivier Galibert 9add8034d2 vtech: Add floppy formats and fs 2021-05-26 19:15:31 +02:00
Olivier Galibert da1bd3b0ec reorganize the floptool code, add some write support 2021-05-24 14:06:06 +02:00
hap 681b9c9675 ymtx81z: leave lcd color up to the (internal)artwork 2021-05-24 13:42:20 +02:00
Vas Crabb 5fe20586ee srcclean for release 2021-05-23 17:33:52 +10:00
MooglyGuy fe08fee386
-pbo: Added skeleton for Philips BO (Videosynthesizer Prototype). [Ryan Holtz, MrMii6, CD-i Fan] (#8093) 2021-05-22 12:34:15 -04:00
Aaron Giles d9db7d77c4
ymfm: Sync with latest, add complete YMF278B support (#8090)
* Sync with upstream. I/O callbacks are now consolidated into a single read callback and a single write callback, with an access type specifier.
* Initial working implementation of YM278B. Most features implemented, except vibrato.
* Implement vibrato and status register flags. Fix envelope rate computation.
* Rename ymfm_interface::external_type to access_class and clean up the fallout.
* Formally replace the old YMF278B engine with the one from ymfm
* Rotated YMF278B outputs into a more logical order.
* Re-evaluted envelope calculations and 2x works better than the weird 15/8 I came up with before. Also changed the way FM resampling is computed to be more precise (and simpler). Turned off extraneous debugging.
* Start of/reset to a null state with no loaded waveforms.
* Fix YM2608 I/O ports.
2021-05-22 12:33:21 -04:00
arbee 15a5731492 adb: preliminary working A9M0330 IIgs keyboard emulation (not used yet). [R. Belmont] 2021-05-22 09:16:23 -04:00
Nigel Barnes 24189a9346 bus/bbc/tube: Added Sprow ARM7TDMI Co-Processor. 2021-05-21 22:32:11 +01:00
hap 262aa23c89 saitek_osa: added maestro/analyst B/C/D/D+/D++ module [hap, Berger, anonymous] 2021-05-21 19:06:07 +02:00
Robbbert eab3ae7e54 New working machines
--------------------
Capital Radio Engineering Institute CREI-680 [Robbbert]
2021-05-22 00:53:45 +10:00
AJR 1382af68f4 unidasm: Add CPU16 disassembler 2021-05-21 08:28:01 -04:00
987123879113 c7b89485ea
ksys573: Add incomplete support for Dance Dance Revolution Karaoke Mix (#8047) 2021-05-20 19:15:02 -04:00
arbee 52e917793b Preliminary support for GCC 11.1 (Fedora 34) [R. Belmont] 2021-05-20 13:04:46 -04:00
AJR ab88bacf35 decmate2, decmate3: Emulate HD-6120 CPU; add enough I/O to initialize various peripheral ICs and run tests on disk controller 2021-05-19 18:27:34 -04:00
arbee 24b7ed9ec5 adb: add skeleton for model A9M0331 ADB mouse. [R. Belmont, Al Kossow] 2021-05-17 20:14:26 -04:00
Olivier Galibert 3b13ae6d71 pc_formats: Believe it or not, but it seems there has been released pc-format ipfs 2021-05-16 19:53:59 +02:00
Ivan Vangelista 6fb35fced8 New machines marked as NOT_WORKING
----------------------------------
Dangerous Bar [Museo del Recreativo (Amusement Museum)]
2021-05-16 08:48:22 +02:00
MooglyGuy c3ebd9ebb2
-bus/vsmile: Added Smart Keyboard in US, French, and German layouts. [Ryan Holtz, PulkoMandy] (#8059)
Software list items promoted to working
---------------------------------------
vsmile_cart: V.Smile Smart Keyboard (USA), V.Smile Clavier Tip Tap (France), V.Smile Schreibspaß (Germany) [Ryan Holtz, PulkoMandy]
2021-05-16 03:26:22 +10:00
hap 8ba12dd6da saitek_osa: add skeleton device for Sparc module [hap, Berger] 2021-05-15 13:37:52 +02:00
Aaron Giles 3cfc522458
ymfm: Refactor new FM engine into a 3rdparty library (#8046)
ymfm: refactor the code into a separate 3rdparty library
* Moved ymfm core implementation to 3rdparty/ymfm
* Split out each family (OPM/OPN/OPL/etc) into its own source file
* Added preliminary OPQ and OPZ support, still WIP
* Put all 3rdparty code into its own namespace ymfm
* Fixed various bugs reported in #8042
* Created interface class for communication between the 3rdparty engine and the emulator
* Standardized MAME implementation of all Yamaha devices based on a template class
* Created standard base class ym_generic that can be used when multiple YM chips are swapped in
* Changed YM2203/2608/2610 to embed a YM2149 as a subdevice instead of deriving from ay8910_device
* Also provided compile-time option to use a simplified built-in SSG rather than using MAME's at all (currently off)
* Consolidated MAME header files from one-per-chip (ym2151.h, ym2203.h, etc) to one-per-family (ymopm.h, ymopn.h, etc)
2021-05-14 18:33:49 -07:00
Nigel Barnes 2c3530a57a New machines marked as NOT_WORKING
----------------------------------
Kyber Minus [Nigel Barnes, Alessandro Liberalato]
2021-05-14 21:43:53 +01:00
Nigel Barnes eabd5ddbcd New machines marked as NOT_WORKING
----------------------------------
MG-1 [Tom Stepleton, Andrew McPherson]
2021-05-14 21:43:52 +01:00
hap c8d53cabbd added saitek OSA module interface used in leonardo/renaissance 2021-05-14 22:00:42 +02:00
Dirk Best 96b871cff8 bingoc: Convert terminal to a device, partially works now 2021-05-12 17:51:11 +02:00
AJR 3955b5c9e9 New machines marked as NOT_WORKING
----------------------------------
DECmate II (PC278) [AJR, Vince Slyngstad]
DECmate III (PC238) [AJR, Vince Slyngstad]
2021-05-11 13:59:42 -04:00
Patrick Mackinlay 9ef03aa399 New machines marked as NOT_WORKING
---
Tektronix 6130 [Randon Michels, Patrick Mackinlay]
2021-05-10 16:42:45 +07:00
Olivier Galibert 7ff6ed667f cdr-254sh: Skeleton 2021-05-10 09:14:54 +02:00
arbee e13ea1cd39 Retiring my original NCR5380 implementation. [R. Belmont, AJR] 2021-05-08 16:55:52 -04:00
arbee bca8f60c47 Update arcade.lua with new devices. [R. Belmont] 2021-05-08 16:30:01 -04:00
arbee fa5977301e apple2: Add support for the BOOTI card [R. Belmont] 2021-05-08 16:19:36 -04:00
AJR 7ed1de96c9 mac.cpp, mac128.cpp, macprtb.cpp, macpwrbk030.cpp, macquadra.cpp: Add helper device to permit use of "new" SCSI bus and 53(C)80 emulation with macse and later 2021-05-08 13:02:41 -04:00
Robbbert 173a0cf3b6 h01x: added mc6845 and cleanup. 2021-05-09 02:30:21 +10:00
Dirk Best 763151a18c missamer: Move to its own driver
- Flesh out driver to make it mostly work
- Create artwork showing all lamps and inputs
2021-05-07 17:50:37 +02:00
Ivan Vangelista 3bdefe103f hornet.cpp, nwk-tr.cpp: extracted nwk-tr.cpp lan board implementation to a device and hooked it up to thrilldbu in hornet.cpp. It doesn't reset anymore but needs analog controls hook-up 2021-05-05 20:23:59 +02:00
AJR 741595c312 qbus: Add dump and skeleton device for Data Systems Design A4432 Floppy Disk Interface [AJR, Bitsavers] 2021-05-05 09:36:12 -04:00
hap 993e9e69e0 chessmst: split driver into chessmst/chessmstdm 2021-05-03 23:39:53 +02:00
Ivan Vangelista 84cf42a2ab New machines marked as NOT_WORKING
----------------------------------
Panic Shot Rockman [SpinalFeyd]
2021-05-02 10:47:40 +02:00
Sandro Ronco 800a422e42 ertictac.cpp: convert to use IOC and MEMC devices. 2021-05-01 23:07:51 +02:00
ClawGrip 243ee045e1
New NOT_WORKING machine (#7986)
-----------------------
Ajofrin City [jordigahan, ClawGrip]
2021-04-30 03:32:38 +10:00
Olivier Galibert c8b751da56 mess: Add forgetten module 2021-04-28 16:19:40 +02:00
Olivier Galibert 8709e06b67 floppy: start block-devicing fielsystem support 2021-04-28 16:17:56 +02:00
hap 5f27fc8951 poly880: move header file into driver 2021-04-28 00:10:49 +02:00
hap 03ea2d2207 slc1a: remove driver, turns out it's a mod of poly880 2021-04-27 23:52:51 +02:00
arbee 3b6f5c69f6 New NOT WORKING machines
========================
Yamaha PSR-60 PortaSound [R. Belmont, JKN0, d-tech]
2021-04-27 07:42:37 -04:00
arbee f08b0c9c6c bus/rs232: Preliminary emulation of the Mockingboard D "sound card" for the Apple IIc. [R. Belmont, Apple II Documentation Project] 2021-04-25 22:24:44 -04:00
hap 5f977adf3f fix arcade target link 2021-04-23 18:55:31 +02:00
Dirk Best 02516af978 basf7100: Hook up interrupt controller, keyboard
- Hooked up PIC and connected keyboard and vblank interrupts
- Implemented HLE keyboard (all keys mapped, using the translation ROM for keycodes)
- Increased shared memory to 40k
- Fixed interrupt flags register
- Implemented cursor and roll offset
2021-04-19 19:27:33 +02:00
AJR 3cee2739a2 mame.lst, mess.lua: Fix build errors from c037dfd822 2021-04-19 12:42:11 -04:00
hap d79ba952ac smartboard: add internal artwork for the pc version 2021-04-19 14:53:28 +02:00
hap 9194b83f3b smartboard: add support to connect it to pc printer port 2021-04-19 13:01:19 +02:00
Olivier Galibert 7dc0aab8df thomson,bm3: Correct compile errors due to incorrectly pushing a not entirely mature patch (but good enough for a start) 2021-04-19 11:44:03 +02:00
Olivier Galibert c037dfd822 thomson: Turn the extensions into slot devices, modernize the floppies 2021-04-19 09:50:19 +02:00
AJR daa6c94699 New machines marked as NOT_WORKING
----------------------------------
Roland PR-100 Digital Sequencer [AJR, Valley Bell]
2021-04-18 14:05:21 -04:00
Robbbert 92ebbbaee1 radionic: Split radionic to its own source. 2021-04-19 02:40:19 +10:00
Robbbert a9938f507e New machines marked as NOT_WORKING
----------------------------------
Intellec 8 MCS
2021-04-18 23:00:25 +10:00
Robbbert a37f66aa70 New machines marked as NOT_WORKING
----------------------------------
Elektronikladen Elzet 80/K
Elektronikladen Elzet 80/P
2021-04-18 02:52:53 +10:00
AJR 56ea894a84 nscsi: Add dump and skeleton device for Sony CDU561-25 CD-ROM drive [Bitsavers] 2021-04-16 15:19:23 -04:00
Robbbert f627dff3ad New machines marked as NOT_WORKING
----------------------------------
Junior-80
2021-04-17 02:44:11 +10:00
Olivier Galibert 9c8b72a5fe sound: Pulseaudio support 2021-04-16 14:49:16 +02:00
Robbbert 4269a89525 New machines marked as NOT_WORKING
----------------------------------
Lobo Max-80
2021-04-16 15:54:33 +10:00
Justin Kerk 6462fb5e00 Fix compilation with Emscripten versions greater than 2.0.8 (#7794) [Sam Clegg] 2021-04-16 02:44:16 +00:00
Furrtek c1bf2b99cb
Added Konami 007452 multiplier/divider (#7951)
* Added 007452 multiplier/divider, fixes rolling mines trajectories in contra
* Plugged k007452 in combatsc, flkatck, wecleman
2021-04-15 01:09:22 +02:00
Olivier Galibert 6cbee7f176 cdu415: Add skeleton 2021-04-14 09:34:44 +02:00
hap f498f61295 mephisto_montec.cpp: split driver file into montec/smondial 2021-04-12 00:36:52 +02:00
hap ba646af6d8 mephisto_glasgow.cpp: split driver file into glasgow/amsterdam 2021-04-11 00:02:50 +02:00
hap e56f56d624 added device for 1st version of mephisto display module 2021-04-10 17:21:14 +02:00
hap 55e356f13a mephisto_mondial.cpp: split driver file into mondial/mondial2 2021-04-09 11:54:50 +02:00
Olivier Galibert b663c4bc50 cdu75s: start the driver 2021-04-08 09:15:25 +02:00
hap 0dca4d3106 mephisto_polgar.cpp: split driver into polgar, risc, milano 2021-04-07 23:11:20 +02:00
Olivier Galibert e0d69fad4c h8: Add the h8/3032 2021-04-07 14:29:28 +02:00
arbee e42e059b23 Add bus/adb for real ADB device emulation [O. Galibert, R. Belmont] 2021-04-06 22:40:10 -04:00
Vas Crabb 958189731b bus/a2bus: Added Orange Micro Grappler printer interface card. 2021-04-07 04:33:43 +10:00
Dirk Best ba29e1f553 New machines marked as NOT_WORKING
----------------------------------
BASF 7120 [rfka01, Dirk Best]
2021-04-06 17:49:05 +02:00
feos 4e337734f7 Fix vs2019_clang build 2021-04-05 13:00:48 +10:00
Aaron Giles 52f0acb25c
New BSD-licensed OPL/OPLL (YM3526, YM3812, YM2413, Y8950, YMF262, etc) cores (#7869)
* OPL prep. Define FAMILY constant in register classes, and use that instead of template specialization for family-specific behaviors. Expand channel masks to 32 bits. Add is_keyon() helper.

* Made FM channel and operator mapping more flexible. Operators are now owned by the engine and can be dynamically assigned to channels. Register classes now provide a mapping between a linear set of operators and channels. The register data array is now a regular array instead of a vector.

* Minor change for consistency.

* Introduce OPL registers and create a ymopl_engine. Add support for sustain-less notes and the OPL envelope clocks (which does not divide by 3).

* Moved keycode calculations into register class. Removed unnecessary recalc in phase generator. Lined up OPL frequency, feedback, algorithm, and total level.

* Implement key scale level and OPL-specific LFO and phase handling.

* Create new YM3526 device based on new OPL. Fix keyon and sustain behaviors.

* Fix weird OPL multiple values. Clean up and further document OPL LFO.

* No busy flag on OPL, so no need to do the work. Add a right shift of 1 to the output stage to line up volume with old implementation.

* More compact way of representing key scale level values.

* Move the KSL bitswap into the registers since it's apparently fixed in OPLL and perhaps others.

* Add support for ryhthm generation in OPL. Change compute_volume to take a phase value directly, and expose operator phase.

* Fix OPL timers.

* Start LFSR with a non-zero value to ensure it actually starts generating for OPL.

* Fix silly bug in sustain logic for OPL. Fixes a lot of previously missing sounds.

* Create OPL2 engine. Add waveform support for OPL2/3 waveforms.

* Wire up YM3812 to the new OPL2 engine.

* Reset OPL timers when the mask is written as well.

* Manage rhythm key ons separately. Fixes Wardner awfulness.

* Explicitly make channel logic handle 0, 2, or 4 operators rather than checking each one for null. Also simplify the combining logic for the 2 operator case.

* Reverse bit order of LFSRs to make things a little simpler. Fix OPL LFSR so that it has its full 23-bit period.

* Change outputs along the path to arrays rather than stereo items. This allows for four channel output. Also add a constant for the number of outputs to the register class.

* Move status register bit definitions to the registers class. Generically support the IRQ bit.

* Create shared helpers for FP encode/decode/roundtrip and use them throughout. Also update TMNT to use the FP decoder.

* No need to clamp when using the roundtrip.

* Clear the EOS flag when execute is turned off on ADPCM-B. Fix combine_status in YM2608 to ignore previously set flags.

* Add missing note_select in base class. Don't add 1 to the OPL release rate.

* Move Y8950 over to new OPL engine.

* Remove old y8950, along with fmopl and ymdeltat

* Add updates prior to status reads for ADPCM systems.

* Add status_mask and irq_reset logic into the core. Clean up documentation on family-specific registers. Includes some temporary gross debugging stuff.

* Made debugging less gross by giving operators and channels a reference back to their owner.

* Fix status port address in OPL chips. Reduce ADPCM volume to match previous implementation.

* Fix Y8950 ADPCM start. Return masked status properly.

* Initial cut at OPLL mapping.

* Add YM2413 support based on ymfm; renamed vrc7snd to ds1001; added YM2423 amd YMF281 variants as well. Instrument data is now loaded via external ROMs. Added 'depress' envelope support to the core engine. Fixed a number of issues in the ymopll_engine. Documented hard-coded values. Moved register clear into register-specific reset.

* Add missing identifier.

* Y8950 is OPL not OPL2.

* Some documentation cleanup. Consistency fixes in the register classes.

* Consolidate large comments. Add support for delayed modulators for OPL. Broke out 2-op and 4-op cases to help simplify logic. Fixed overflow handling in fp encoding.

* Fix silly bug.

* Changed operator assignment mechanism to be more readable. Added prepare method to be called at the start of sound update. Added ALL_CHANNELS constant to register files. Updated all consumers to call prepare and use constants where applicable.

* Move YMF262 and YMF278B to use new FM engine for OPL3/4. Fix several issues in OPL3 logic, which now seems to work ok.

* Minor fixes. More documentation.

* Fix MSVC build.

* Add caching of data to prepare methods to improve performance. Moved non-register decoding logic out of the .h file and into .cpp file. Move phase_step calculation into register class.

* More notes. Removed keycode from cache. Split 2/4-operator outputs into separate functions. Changed OPN/OPL to use templates for variants. Added channel/operator_offset helpers.

* Fairly substantial overhaul of register interface. Register interface is now stateless and contains family-specific state. Channel and operator accessors are prefixed by ch_/op_ now and require an offset to the specific channel or operator. Moved LFO/noise generation into register class, along with keyon logging.

* Add noise back to OPL/OPLL

* Added early-out for low envelope. Moved waveform logic out into family-specific code. General clean up of ordering. Reduced family base class to minimal needed.

* More aggressively track active channels to help performance.

* Use only summing outputs for consideration of active channels. Centralize the logic of determined 4-op vs 2-op.

* More conservative channel deactivation.

* Add helper to compute the sample rate and use it in all implementations. Remove unneeded chnum/opnum members.

* Fix error in YM2612 that caused crashes.

* Switching parameters and locals to 32-bit values gives a noticeable performance boost. Checkpoint 1.

* More moving to 32-bit values. Checkpoint 2.

* Last of the 32-bit promotions.

* Ensure SSG inverted flag is only tested on systems with SSG support in the innermost loops.

* Make most constants 32-bit as well. Expose some constants via the engine class.

* Expand waveforms ahead of time. Optimize the attenuation lookup a bit.

* If volume is low, don't erase output, just leave it alone. Fixes missing sound in raimais.

* Replace a couple of magic numbers with constants.

* Normalization of FM engine usage across consumers.

* Removed explicit external prepare() call; this logic is now automatically done after writes and periodically. Changed OPL/OPLL to use native formats for block/fnum. Fixed waveform generation. Fixed PM and AM depth on OPL/OPLL.

* Cache multiple value. Clean up output handling a bit.

* Move multiple caching ahead of phase step caching.

* Fully split OPLL from OPL. Remove many hacks now that OPLL registers can have state. Created shared helpers between OPL/OPLL. Removed more aggressive channel disables since it was not rhythm friendly and didn't really buy much.

* Remove old comment

* Remove bad write in OPL mode case. Fixes fsoccer intro. Only call set_reset_status() once per mode call.

* Remove FM output boost in YM2608/2610. Not sure why I did that. Better matches previous volume now.

* Make AM/PM logging less confusing.

* Let's actually set DYNAMIC_OPS properly, eh?

* Improved logging.

* Comment cleanups. Add constant for dynamic phase. Pre-shift sustain level. Srcclean.

* Fix memory regions on YM2608 games.

* Clean up ymadpcm to line up with recent ymfm changes.

* y8950: Reshuffle read/write handlers. Rename them to less confusing names.

* ym2413: Reshuffle read/write handlers. Rename them to less confusing names.

* ym3526/ym3812: Reshuffle read/write handlers. Rename them to less confusing names.

* ymf262: Match read/write details to datasheet and previous tests.

* Use a constexpr function instead of macro for packing operator numbers. Pre-compute OPM LFO waveforms.

* Generate OPL4 engine to support the proper clock divider and new flags. Update YMF278B to use FM timers and status rather than replicating the logic.

* Fix 4-operator enable on new OPL4 instance.

* Fix FM downsampling and adjust balance in YM278B.
2021-04-02 19:58:04 +02:00
hap 0d897d07e6 namcos2/c355 sprites: color 0xfe is for a palette offset instead of shadow [dink, hap] 2021-04-01 21:01:36 +02:00
Robbbert b44de86569 Moved lnw80 to its own driver. 2021-04-01 20:34:23 +11:00
Vas Crabb 71b8df0417 MAME 0.230
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0DYtsBhE4EM627+6wXSxAYxAcQ4FAmBjCXUACgkQwXSxAYxA
 cQ6PAhAAuSgrMmBQiTdMrBvCDcB080E9yFNOkFpMgcH/RD9Md9hC5lN3sHVlGvex
 1hfA2hz1P2E3Icl2hI6oqhvXh192oo+AOj3EJ6bQdtn8c4UHhpFxNZ2tqbO0gcz5
 uuoThQx4Y29tAcYsurFcL7n782tcDym+QvTRl+UDiRWEMLXOTcd0IgKwYTm8scRL
 8c02Ks07cXJgawjDkyZYYQIvUjodppwTwdIW0hL3vvVNjFptG9ailtfTibLdfZRC
 QBTKLLewQxLDGROzfkY3lQwN+9TPdkSiITm63tBr9d+mCBT4Ib64MafplNGuxOVC
 vXBdjEsJyz2WDn490FXw3ZevOJI/BZCKuYZaW54owNbqgvLDXvc7AJMeEpqBGH8h
 soyJOx8NWY6FSB3yIgU6EROa+4IT3ZLdth3Q742ZNIBPlG1zIOvatredHnAQNis/
 VQM6y0jdbyIiMTRRfn3WLDp/CI0U2XO65d8+S9f86+5I8kbxTrJGSxx8YfM9c3up
 xuUbCBIU/egYBpYOaQzxxg9vFf+kWs50qdH2hMIxQjFM1IpUzWokiukUjCjRiVPp
 a4tRW3bdDmL76vkcQ/S4gQrSeDCLMBcPIZ5ffkBuaEar+C01/GOOKzn3UJWEkkmB
 dnw8HRLvJviPyTN2IiFWSZT+wYdgM0d3G3YofLsH6JTsaSF3xq8=
 =WmoT
 -----END PGP SIGNATURE-----

Merge tag 'mame0230' into mainline-master

MAME 0.230
2021-03-31 12:05:54 +11:00
David Haywood 196a342ae4
Refactoring and bug fixes for bbusters and mechatt: (#7902)
* Moved sprite handling to a device.
* Adjusted audio balance on mechatt (channel 0 was overpowering everything).
* Adjusted priority handing on mechatt (planes now correctly rise from underground hanger on stage 3, train carts in later level).
* Split driver in two, general refactoring etc.
* Removed player 2 inputs from mechattu1 - it doesn't respond to them at all.
2021-03-31 00:13:02 +11:00
hap 2247ffefa2 makefile: added param to override ar 2021-03-30 13:58:16 +02:00
AJR 2610d8771d Restore legacy pc_dsk floppy support for imgtool only 2021-03-29 22:50:26 -04:00
AJR 4d3afe00fc Restore legacy pc_dsk floppy support for imgtool only 2021-03-29 22:48:14 -04:00
hap ab3a834deb remove references to "mame64" from comments 2021-03-29 15:26:38 +02:00
Vas Crabb 438edcd151 Fix building with clang 6
Annoyingly, clang 6 produces warnings for unused private static data
members, but does not recognise the [[maybe_unused]] attribute for them.
2021-03-29 04:30:37 +11:00
Vas Crabb e298c31a69 srcclean in preparation for release 2021-03-28 14:34:50 +11:00
Ivan Vangelista 6ea5487515 New machines marked as NOT_WORKING
----------------------------------
Bee-Zerk [Bad A Billy, Smitdogg, The Dumping Union]
unknown VLC multigame [Bad A Billy, Smitdogg, The Dumping Union]
2021-03-25 12:45:10 +01:00
Robbbert f2fa9bd3b1 Fixed arcade build. 2021-03-24 20:16:29 +11:00
Olivier Galibert c8b532068f xt446: Use its real name 2021-03-22 22:51:49 +01:00
Olivier Galibert 5270d43692 keyboardmania: Interface with the mu100 2021-03-21 23:01:23 +01:00
hap 001eadf294 pps41: add preliminary mm78la/mm77la 2021-03-19 17:53:12 +01:00
Olivier Galibert cdb06b7a99 pmac6100: Move it to a new driver 2021-03-12 21:35:02 +01:00
hap 82461369ff pps41: added mm78 disasm and mm77/mm78 skeleton device 2021-03-08 15:52:04 +01:00
AJR 3f122ae7df New machines marked as NOT_WORKING
----------------------------------
Akai MPC60 MIDI Production Center [DBWBP]
2021-03-07 23:35:00 -05:00
fulivi 3fe689f03f
HP9845: added synchronous I/O for RS232 port and HP98046 module (#7695)
* rs232: added device for synchronous I/O

* hp9845: implemented external clocking in hp98046 serial module

Co-authored-by: ajrhacker <ajrhacker@users.noreply.github.com>
2021-03-07 13:31:39 -05:00
Brian Troha a5f7033245 arcade.lua: Remove unnecessary BUS device. 2021-03-06 16:50:48 -06:00
Brian Troha 864040eade Fix 'arcade' build 2021-03-06 01:00:33 -06:00
Olivier Galibert e8ab2b8a78 Fix messed-up merge 2021-03-05 14:10:44 +01:00
Olivier Galibert 92326e47af floppy: Beginning of the support for preformatted floppy images.
What's missing:
- parameters (like the disk name when it exists)
- possibly a cleanup of ram_open and friends (but not sure of the appropriate direction in which to go)
2021-03-05 10:17:20 +01:00
hap d65c5159f1 pps41: add skeleton MM76-derived devices 2021-03-04 13:10:10 +01:00
Dirk Best e5d1cec868 formats: Fix missed RC759 format 2021-03-04 11:24:17 +01:00
Olivier Galibert d436cbd3a6 formats: Create mame_formats_full_list which gives access to all the supported formats, make floptool use it. Castool should use it too probably, but I don't want to touch it. 2021-03-04 10:14:24 +01:00
Dirk Best 23769b0970 rc759: Add RTC and floppy, start cleanup 2021-03-03 13:38:54 +01:00
Olivier Galibert a52b69d27c Fix dependencies 2021-03-02 20:51:01 +01:00
Olivier Galibert faf0417271 defaults: pc format is in, ipf is out 2021-03-02 20:20:20 +01:00
David Haywood 2746058dcf
new WORKING machines (TV Board Games 6-in-1) (#7824)
new WORKING machines
-------
TV Board Games 6-in-1: Silly 6 Pins, Candy Land, Hungry Hungry Hippos, Match 'em, Mixin' Pics, Checkers [Sean Riddle, David Haywood]
TV Board Games 6-in-1: Simon, Battleship, Mouse Trap, Checkers, Link-a-Line, Roll Over [Sean Riddle, David Haywood]
2021-03-02 13:53:31 -05:00
hap 323250bbee mastmind: shuffle around bit/byte ordering, disasm looks better now 2021-03-02 19:49:53 +01:00
hap dd75841b96 machine.lua: correct applefdintf file pointer 2021-03-02 12:24:01 +01:00
AJR f74d0978a9 Revert "fileio.cpp: This doesn't technically require emu.h"
This reverts commit 6d6073054b.
2021-02-28 13:25:25 -05:00
Nigel Barnes fda2a0e482 econx25: Added the dual Z80 co-processor board (incomplete). 2021-02-28 12:22:22 +00:00
AJR 7002aae556 New working machines
--------------------
Mark 1 FORTH Computer [AJR]
2021-02-27 11:58:40 -05:00
Dirk Best 8b5e6f363e rc759: Fix cassette error, add keyboard 2021-02-27 14:33:00 +01:00
Aaron Giles 95869d5718
New BSD-licensed implementation of Yamaha OPN and OPM FM audio chips (#7808)
New BSD-licensed implementation of Yamaha OPN and OPM FM audio chips, along with new device drivers for YM2203, YM2608, YM2610, YM2610B, YM2612, YM3438, and YM2151 based upon these.
2021-02-27 21:57:43 +11:00
hap 2f02c96baf added MM76 disassembler and preliminary PPS-4/1 MCU core [hap]
New machines marked as NOT_WORKING
----------------------------------
Electronic Master Mind (Invicta) [hap, Sean Riddle]
2021-02-26 18:24:59 +01:00
Ivan Vangelista 081817139d New machines marked as NOT_WORKING
----------------------------------
Mini Money [jordigahan, ClawGrip]
2021-02-26 18:10:34 +01:00
AJR 6d6073054b fileio.cpp: This doesn't technically require emu.h 2021-02-26 12:07:44 -05:00
AJR 5dda26dd69 fddebug.cpp: Remove from build 2021-02-26 12:06:59 -05:00
Ivan Vangelista 72cc272622 simple_st0016.cpp: got rid of tagmap lookups and other small cleanups 2021-02-23 20:55:37 +01:00
cam900 0a2caa105d
Refactored Seta sound, adding preliminary ST0032 sound support. (#7800)
* Renamed sound/nile.cpp to sound/setapcm.cpp.
* Added preliminary support for 16-voice ST0032 variant.
* jclub2.cpp: Hooked up ST0032 sound.
* jclub2.cpp, srmp6.cpp: Derive sound clocks from crystal frequencies.
2021-02-23 23:12:22 +11:00
ClawGrip 757e506018
New machines marked as NOT_WORKING (#7769)
New machines marked as NOT_WORKING
----------------------------------
Silverball (8.01) [jordigahan, ClawGrip]

New clones marked as NOT_WORKING
--------------------------------
Silverball (6.32) [Asure]
Silverball (7.20) [Asure]
Silverball Bulova (4.09, set 1) [Asure]
Silverball Bulova (4.09, set 2) [Asure]
2021-02-20 06:14:10 +01:00
ClawGrip f834335d26
New machines marked as NOT_WORKING (#7700)
New machines marked as NOT_WORKING
----------------------------------
Photo Play 2001 (Spanish) [jordigahan, ClawGrip]
2021-02-20 06:11:35 +01:00
Nigel Barnes 2a4a487ec2 bus/bbc/tube: Added the CMS 6809, Acorn 16032, and Acorn A500 2nd processors. 2021-02-20 00:22:05 +00:00
ClawGrip 8be77e81fb
New machines marked as NOT_WORKING (#7801)
* New machines marked as NOT_WORKING
----------------------------------
PlayCenter Champions Tournament (v9.3) [Recreativas.org]
2021-02-19 20:18:06 +01:00
hap 147b5e72a4 added MM5799 MCU emulation [hap]
New working machines
--------------------
Basketball (Mattel) [hap, Sean Riddle]
QuizKid Speller [hap, Sean Riddle]

New working clones
------------------
QuizKid Racer (MM5799 version) [hap, Sean Riddle]
2021-02-14 23:23:28 +01:00
Roberto Benfatto 02d6b1e457
scripts: Remove references to non-existent headers and duplicate source file references. (#7770) 2021-02-14 22:15:17 +11:00
hap 307261ec8a New machines marked as NOT_WORKING
----------------------------------
G.T. Block Challenger [hap, chaneman]
2021-02-11 12:21:52 +01:00
hap 856f17da03 novag_supremo: redumped the ROM [bataais]
novag_supremo: move driver to novag_snova [hap]
2021-02-09 18:14:25 +01:00
fulivi 70f0f9cd44
hp_ipc.cpp: Added support for expansion ROMs. (#7726)
New working software
-----------------
hp_ipc_rom: Software Engineering ROM
2021-02-08 21:51:51 +11:00
hap ad11e2d46e added ds8874 device 2021-02-07 17:12:19 +01:00
Dirk Best f288a2af04 New machines marked as NOT_WORKING
----------------------------------
Insight Enterprises Z80 SBC (Prototype?) [Dirk Best, Tech Time Traveller]
2021-02-05 19:31:39 +01:00
AJR c47ed0112e coretmpl.h: Move lru_cache_map to separate header 2021-02-03 17:42:14 -05:00
Dirk Best 23752742b3 m3: Rewrite driver
System is now mostly working. The monitor ROM can be used. No software available, so the floppy hookup isn't finished.
2021-02-03 13:15:13 +01:00
AJR 75a7445a98 unidasm: Add disassemblers for NEC/Renesas V850 family 2021-01-30 12:30:56 -05:00
Stiletto 3153838929
Update "2020" text to "2021" (#7713)
Update "2020" text to "2021".
2021-01-28 00:11:17 -05:00
ClawGrip 7c0f2644db
New machines marked as NOT_WORKING (#7702)
* New machines marked as NOT_WORKING
----------------------------------
Games Family [Victor Fernandez (City Game), ClawGrip]
2021-01-27 01:52:13 +11:00
Vas Crabb adc23f3f74 Goodbye 64 suffix on the main executable, it was nice knowing you.
If you want to build 64-bit and 32-bit in the same tree without them
stomping on each other, use SEPARATE_BIN=1 (you already need to do this
for TOOLS=1 anyway).
2021-01-26 15:37:11 +11:00
Ivan Vangelista bdeac67bfb rolla.cpp: moved set to skylncr.cpp 2021-01-23 20:11:29 +01:00
Ivan Vangelista 84fd31d587 New machines marked as NOT_WORKING
----------------------------------
unknown 'Rolla' slot machine [caius]
2021-01-23 17:42:34 +01:00
Vas Crabb 6ba369b3fc -docs update:
* Added note explaining that view options saved in machine CFG take
  precedence over INI/command line.
* Added prerequisites for building HTML documentation under MSYS2 and
  Fedora Linux.
* Explicitly mentioned that Ubuntu modifies GCC to enable "fortify
  source" by default in the relevant section.
* Removed obsolete reference to glibstdc++6.
* Re-formated compiling guide source (hard wrap at 80 columns,
  typographical quotes, code blocks for sample command lines).

-genie.lua: Show GCC ignored attribute warnings, but don't fail for
them.
2021-01-23 16:34:25 +11:00
AJR 1eb22dd22c genie.lua: Attempted fix for GCC build 2021-01-22 15:16:02 -05:00
AJR d90099fc75 cosmicg: Driver overhaul
- Separate driver from cosmic.cpp
- Add MC6845 CRTC and use it for all video updates
- Configure screen with raw parameters
- Add support for display flipping in cocktail mode
2021-01-19 21:28:17 -05:00
hap 77d9253b55 New machines marked as NOT_WORKING
----------------------------------
Get A Way [hap, Sam Grech]
2021-01-19 20:53:34 +01:00
Ivan Vangelista a349984880 New machines marked as NOT_WORKING
----------------------------------
Pontoon (Konami) [Michel Pichot]
2021-01-19 17:16:21 +01:00
AJR 3857001876 mess.lua: Fix full build 2021-01-18 11:30:08 -05:00
Patrick Mackinlay 35a5832063 New machines marked as NOT_WORKING
---
Data General AViiON 4600 [Plamen Mihaylov, Patrick Mackinlay]
2021-01-18 20:43:11 +07:00
Dirk Best 400ff8ceb5 tabe22: Make it mostly work
- Move to its own driver
- Implement keyboard
- Implement char/attr RAM switch
- Improve video rendering
- Hook up RS232 ports
- Add gfxdecode
2021-01-16 15:10:10 +01:00