Commit Graph

76377 Commits

Author SHA1 Message Date
hap
7a434982fb source org: move kr1601rr1 earom chip device to devices/machine 2022-06-29 15:14:17 +02:00
hap
3119967058 source org: add readme for ddr, cccp 2022-06-29 14:54:42 +02:00
npwoods
921a9617ba
Fixed CoCo RS-DOS FS module in response to recent FS changes (#10003) 2022-06-29 08:28:49 +02:00
Ivan Vangelista
999209bcb7 m72.cpp: decapped and dumped MCU for airduelm72, replaced simulation [Brian Troha, BillD, rtw, f205v, darksoft, Gor, Smitdogg, Sean Sutton, Team Europe, Silvio, The Dumping Union] 2022-06-29 06:55:58 +02:00
AJR
41c8ba89c5 seta.cpp: Update notes 2022-06-28 22:41:52 -04:00
AJR
5d31d021d2 mame.lua: Add missing machine
* thunderl: Remove unused input ports
2022-06-28 18:16:53 -04:00
Olivier Galibert
43d01755e6 fs: new API, blk_t is probably going to change too 2022-06-28 23:08:45 +02:00
AJR
735bd1f626 cchance: Derive clocks from known XTAL 2022-06-28 16:17:40 -04:00
AJR
4532d0e1e3 naomigd.cpp: Further cleanup 2022-06-28 14:55:09 -04:00
AJR
21efb0e47c Start moving devices out of src/mame/shared to more appropriate places 2022-06-28 14:41:16 -04:00
David Haywood
f37e69828c
mpu4.cpp - set more likely extender boards for a number of mpu4 sets, based on how they're used (#9999)
* allows more games to light all their lamps
* fixed(?) large extender hookup so that all lamps light, eg. m4andybt
* gave m4andybt better inputs (is mostly playable now, but some 7segs in the display still aren't hooked up)
* move some sets to mpu4mod2 and mpu4mod4yam based on sound chip use
2022-06-28 14:33:11 -04:00
AJR
97e68356fc powerpc: Add debugging flags to disassembly for simplified forms of branch instructions 2022-06-28 13:19:39 -04:00
Ivan Vangelista
53e4b1e802 New machines marked as NOT_WORKING
----------------------------------
Inter Stellar Zangus (Laser Fantasy vol. 2) [Hiroharu Shiba, Matt Ownby]
2022-06-28 19:08:39 +02:00
Ivan Vangelista
08352d933d New working clones
------------------
Tetris + Cherry Master (Aidonis Games bootleg) [Ioannis Bampoulas]

- dumped a couple missing ROMs for nfm and clone [Ioannis Bampoulas]
2022-06-28 18:19:01 +02: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
holub
7b86f533b1
Fixed regressions in spectrum clones: (#10000)
* spec128.cpp: Avoid exception for clones that don't use inherited memory layout.
* elwro800.cpp: Fixed crash on screen updates.
2022-06-29 01:01:10 +10:00
AJR
c639edbca7 30test.cpp, skeetsht.cpp: Remove EEPROM areas from external maps 2022-06-28 09:46:01 -04: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
AJR
dbf04f771a bellybmbr: Fix ROM loading 2022-06-27 21:50:08 -04:00
AJR
78e33c5479 Add M68HC11 internal EEPROM for relevant models 2022-06-27 21:16:28 -04:00
Vas Crabb
44343b8f3f Merge branch 'release0245' into mainline-master 2022-06-28 01:55:09 +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
MooglyGuy
11155a99f3
polygonet.cpp: More fixes. (#9993) [David Haywood, Ryan Holtz]
* Applied likely ROZ layer clamping behavior. [David Haywood]
* Reduced quantum from perfect to 600Hz.
2022-06-28 00:56:59 +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
cf11b33302 Rearrange source to match project structure (done using the script in src/tools). 2022-06-27 18:05:07 +10:00
Vas Crabb
06a3054900 Reduced project cross-dependencies, slightly improved renaming script. 2022-06-27 17:06:39 +10:00
MooglyGuy
4cb331700f
plygonet.cpp: Polygonet Warriors goes in-game. (#9987) [Ryan Holtz, Phil Bennett, Hydreigon]
More PSAC2 fixes, some K056230 fixes, plus some screen size fixes.
2022-06-26 21:27:53 +10:00
Ivan Vangelista
ab60f40c2a New working clones
------------------
Tetris + Cherry Master (Corsica, v8.01, encrypted) [Ioannis Bampoulas]
2022-06-26 05:00:26 +02:00
David Haywood
3e0d0d31a8
plygonet.cpp - change sound hookup so that polynetw can boot (and fixed some gfxdecode errors for the roz layer) (#9984) 2022-06-25 19:52:55 -04:00
Vas Crabb
738aa5d074 srcclean and cleanup in preparation for branching MAME 0.245 2022-06-26 08:33:07 +10:00
David 'Foxhack' Silva
993109a4b7
cps1.cpp: Added Final Fight test mode and Button 3 notes. (#9983) [David Silva] 2022-06-26 08:09:53 +10:00
Vas Crabb
11433779b8 -Updated translations, cleaned up a little.
* Updated Ukrainian translation. [Stanley Kid]
* Updated Czech and Slovak translations. [Milan Galcik]

-bus/nubus: Started identifying JMFB registers required for supporting
 interlaced modes.
2022-06-26 08:02:56 +10:00
Sergio G
9eee2554f0
seta.cpp: Added implementation for thunderl protection. (#9943)
* Add implementation of thunderl protection, implemented using a PALCE16V8.
* Corrected address range for protection write handler.
* Added recreated PAL image based on analysis.
2022-06-26 07:04:04 +10:00
holub
285f9520e7
scorpion.cpp: Reviewed timings for Scorpion ZX-256 Yellow PCB, and cleaned up code. (#9750) 2022-06-26 06:57:03 +10:00
SomeRandomGuyIdk
cf45786813
jpmsru.cpp: Added new sets, and fixed audio. (#9919)
* Fixed audio by setting a precise value for the tone pot, also removed unnecessary amplifier section resistor.
* Added impulses to coin inputs to stop j_ewnd giving credits every frame.
* Turned the audio level down a bit.

New machines marked as not working
--------------------------
Cash Nudger? (SRU) (5p Stake, £2 Jackpot)

New clones marked as not working
--------------------------
Each Way Nudger (JPM) (SRU) (revision 23C, 5p Stake, £1 Jackpot)
Each Way Shuffle (bootleg?) (SRU) (10p Stake, £3 Jackpot)
2022-06-26 06:45:24 +10:00
987123879113
c4550b18eb
ksys573.cpp: Use dsem2 BIOS for mamboagg like real hardware does. (#9901) 2022-06-26 06:42:03 +10:00
Michael Sanborn
ec16653d2d
y2.cpp: Adjusted spacing in title of higurashi. (#9920) 2022-06-26 06:39:19 +10:00
0kmg
b2505e3868
m79amb.cpp: Improved input lookup table generation, and added DIP switch locations. (#9926) 2022-06-26 06:37:48 +10:00
David Haywood
a4a696cd46
mpu4bwb.cpp: Identified more sets identification and set better input defaults. (#9982) 2022-06-26 06:30:03 +10:00
Sergio G
12d971a073
thoop2.cpp: Added PLD files for TH Strikes Back (thoop2). (#9980) 2022-06-26 04:52:20 +10:00
Vas Crabb
7e6feb2c33 bus/nubus: Tidy up more loose ends with the Macintosh Display Cards.
* Implemented VRAM size selection.
* Added readback for most registers that are implemented.
* Made CRTC calculations more sensible.
* Added version strings from ROMs to device descriptions.
* Improved logging and made it more configurable.
2022-06-26 03:43:11 +10:00
MooglyGuy
af2b2c0536
Considerable DSP56156 and plygonet.cpp fixes. (#9981) [Ryan Holtz]
* cpu/dsp56156: Fixed or added support for too many opcodes to list.
* plygonet.cpp: Added span-drawing support.
2022-06-26 03:31:36 +10:00
Julian Sikorski
8394243872
Throw a fatal error if combination of bgfx video and wayland videodriver has been detected (#9888) 2022-06-25 12:35:01 -04:00
arbee
9956c942da segasm1: fix missing port in games with the comms board. [R. Belmont] 2022-06-25 09:55:46 -04:00
Ivan Vangelista
ab1c885191 - berserk.cpp: documented the differences between RC28 and RC31 sets [The Cutting Room Floor]
- m72.cpp: corrected labels for Hammering Harry M81 set [Brian Troha]

- model2.cpp: verified ROM EPR numbers for Manx TT Deluxe [Brian Troha]

- supduck.cpp: documented alternate title [Brian Troha]

- zn.cpp: proper labels for v1.10I NBA JAM Extreme [Brian Troha]
2022-06-25 07:42:05 +02:00
Ivan Vangelista
285c4dfe1c Final Star Force (Japan, set 2) [nnap] 2022-06-25 07:19:39 +02:00
Ivan Vangelista
33907e276d New working clones
------------------
Egg Venture (Release 1) [Brian Troha, The Dumping Union]
2022-06-25 06:59:22 +02:00
Ivan Vangelista
91d94cdde7 New working clones
------------------
Wonder Boy (Tecfri bootleg) [Jorge Silva]
2022-06-25 06:52:08 +02:00
Vas Crabb
3309f14bc4 Fix up includes 2022-06-25 12:29:51 +10:00
Vas Crabb
6c7679ec33 mac.cpp: Changed default video card to Display Card 8*24. 2022-06-25 10:32:41 +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
jflatt
a8b6bdfcac
ui/selgame.cpp: Avoid assert in std::vector when no items in menu. (#9978) 2022-06-25 10:22:46 +10:00
eientei95
db6590cb11
pacman.cpp: Cleaned up inputs and added publisher for titanpac. (#9953)
* Remove DIP switch locations from edge connectors/split-pads in pacman.
* Added DIP switch locations to mspacman.
* Remove duplicated inputs from mspacpls and mspachmp.
* Marked Rack Test as PORT_TOGGLE.
* Changed fake DIP switches to machine configuration settings.
2022-06-25 08:47:57 +10:00
0kmg
912c73a7b0
Corrected a few common typos in various source files. (#9963) 2022-06-25 08:29:01 +10:00
eientei95
28dcceed0a
missile.cpp: Improved inputs. (#9966)
* Added correct factory default DIP switch settings.
* Removed duplicate inputs from suprmatk.
2022-06-25 08:28:31 +10:00
ClawGrip
634dc3c90d
jp.cpp: Added notes and fixed manufacturer name for 'Lortium' and 'Pimbal (Pinball 3000)'. (#9971) 2022-06-25 08:25:14 +10:00
David Haywood
a942269252
xavix.cpp: Added Play TV Jr. Construction. (#9973)
New working machine
------------------
Radica / Takara / SSD Company LTD Play TV Jr. Construction [Sean Riddle, David Haywood, Peter Wilhelmsen, Kamaal Brown]
2022-06-25 08:15:11 +10:00
ClawGrip
ce49a7196f
midzeus.cpp: Corrected year for "The Grid" (both sets). (#9972) 2022-06-25 08:13:05 +10:00
Vas Crabb
5f751410ac bus/nubus: Updated Mac Display Card TODO notes. 2022-06-25 06:07:42 +10:00
Vas Crabb
923ef2c25d -plugins.data: Reworked the code substantialy.
* Use the plugin data folder for storing the cache.  The history folder
  may be read-only or shared with different configurations.
* Don't create the cache database or surrounding folder if there's
  nothing to store in it.
* Actually use prepared queries multiple times rather than always
  destroying them after a single use.
* Added proper error checking for most database operations.
* Improved query performance by avoiding outer joins and table scans.

-bus/nubus: Made the Macintosh Display Cards map the blue channel to
 white with monochrome monitors.  Also added logging for PLL
 configuration to help debug how CRTC and RAMDAC clocks work in the
 future.
2022-06-25 04:57:24 +10:00
Vas Crabb
ae46009f50 bus/nubus: Properly generate pixel clocks for the Macintosh Display Cards. 2022-06-24 08:27:32 +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
ea42fa64aa bus/nubus: Fixed SuperMac Spectrum PDQ blitter. 2022-06-23 16:00:24 +10: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
efacaa5ea0 spi_sdcard.cpp: Fixed CMD24 - WRITE_BLOCK. 2022-06-22 21:40:55 +01:00
Nigel Barnes
3fdef44afd 6522via.cpp: Implement Shift Register Mode 0. 2022-06-22 21:40:55 +01:00
Nigel Barnes
6d2442d824 bbc_sdcard: Added CB1 callback for CLK. 2022-06-22 21:40:55 +01: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
arbee
9dae125a2a apple2gs: Bank text page 0 by PAGE1/PAGE2 in bank $E0 too. Fixes AOL. (GitHub #9916) [R. Belmont] 2022-06-21 23:01:43 -04:00
Vas Crabb
ecc13b548e bus/nubus: Implemented Spectrum/8 oscillator selection and vertical count read. 2022-06-22 08:30:43 +10:00
ValleyBell
d950be1132
fix Sega Pico PCM playback (#9965)
- fix uPD775x type
- enforce "slave" mode (required for manual data stream)
- hook up "PCM FIFO empty" interrupt
2022-06-21 17:19:31 -04:00
cracyc
61b9ae3a5b pwrview: fdc work
upd765: fix command decoding
2022-06-21 15:12:53 -05: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
AJR
14457585d3 albazc.cpp: Use Seta device for sprites; correct type of sound chip 2022-06-21 10:55:00 -04:00
Robbbert
ab8d8a1421 MT 08246: fixed regression when F3 pushed, used fix from MT 08068. 2022-06-21 21:45:11 +10:00
Robbbert
c74f735f1c MT 08237: fixed regression when F3 pushed, used fix from MT 08068. 2022-06-21 21:41:57 +10:00
AJR
249f02c093 ky80.cpp: Documentation update 2022-06-20 23:33:16 -04:00
Vas Crabb
41cbf5888c bus/nubus: Fixed handling of 4*8 screen base register in 24-bit mode (same format as stride). 2022-06-21 06:22:16 +10:00
couriersud
0dad442511
netlist: fix bug, prepare for future changes and improve readability (#9947)
* netlist: fix bug, prepare for future changes and improve readability

- fix a bug where a net processing error may trigger a nullptr access
- applied some clang-tidy recommendations
- add no_return to plib::terminate
- properly encapsulate dynamic_cast usage
- more review of noexcept
- added a clang-format file. Over time, all source files will be
  processed with clang-format
- Used clang format on a number of files

- Rewrote 74174

- all device constructors now use a struct to pass data on
  to base classes. Neither netlist state nor the name are intended
  to be used in a constructor. After the base class was
  constructed, they can be accessed by state() and name().

- The device construction macros can now be removed. Changes to
  the core will not need to be reflected in constructors.

- Change truth table macros so that going forward NETLIST_END and
  TRUTH_TABLE_END can be replaced by a closing curly brace. netlists can
  than use curly braces enclosed blocks.

- more clang-format
- removed some macros completely
- all derived classes from base_device_t now don't use macros
  any longer.
- as a result, delegator_t was removed. This class was only used
  to support macros :-(
2022-06-20 20:01:03 +02:00
Vas Crabb
3fbfe0b1d7 bus/nubus: Implemented SuperMac Spectrum/8 desktop panning and zoom. 2022-06-21 02:24:38 +10:00
holub
90115f4de2
spectrum.cpp, spec128.cpp: Fixed partial updates at end of frame. (#9945)
See MT08264 and MT08265 as well as discussion on GitHub #9670 and #9750.
2022-06-21 02:13:47 +10: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
Robbbert
11d060473b MT 08358: fixed catchp regression. 2022-06-21 00:56:46 +10:00
Ivan Vangelista
e19a963efc New working clones
------------------
Treasure Island (American Alpha, v3.0N) [Ioannis Bampoulas]
2022-06-20 04:00:15 +02:00
Vas Crabb
a050403f63 bus/nubus: Minor SuperMac Spectrum improvements:
* Made the Spectrum/8 firmware selectable as a card BIOS option.
* Added a palette device for the Spectrum/8 so it can be seen in the
  graphics viewer.
* Initialise enough members of the Spectrum PDQ device class to not hang
  a debug build.
* Got the code of the Spectrum/8 and Spectrum PDQ more in line with each
  other.
2022-06-20 10:11:56 +10:00
Vas Crabb
f2b3d06845 bus/nubus: Better SuperMac Spectrum/8 CRTC emulation.
* Implemented sync pulse width registers and moved sync to be logically
  at the end of the line/frame.
* Fixed vertical offset in 480i mode and made vertical blanking
  interrupt fire at field frequency.
2022-06-20 09:18:12 +10:00
Vas Crabb
742de90a65 Mac-related emulation fixes:
* bus/nubus: Started emulating SuperMac Spectrum/8 CRTC.
* bus/nubus: Respect Apple 4•8 screen base register.
* cpu/m68000: Fixed disassembly of bit field extract instructions.
* Also cleaned up data plugin a little.
2022-06-20 07:52:24 +10:00
David Haywood
b6ee4ab4b6
mpu4: further moving of class specifics into classes, sorting of sets, reel configs for booting (#9935)
* moved manufacturer / system specifics into subclasses (eg. some bwb configs) [David Haywood]
* identified correct reel setups for many sets, allowing them to boot further [David Haywood]
* added some default input configurations for games needing stake keys and percent keys so that they boot by default [David Haywood]
* moved some sets around based on the machine type [David Haywood]
* adjusted AY hookup to keep 'Four More' happy [AJR]
2022-06-19 17:01:57 -04:00
yz70s
96effb503e 8042kbdc.cpp: return 0 when reading data port with no data (makes nforcepc bios usable) 2022-06-19 18:12:05 +02:00
AJR
0022ff2de9 m32cdasm.cpp: Add some default cases to switch blocks 2022-06-19 12:08:23 -04:00
AJR
8e066f337c sun2.cpp: Use swapendian_int16 2022-06-18 18:53:35 -04:00
AJR
749849ebcb mcs96.cpp, upd78k0.cpp, upd78k2.cpp, upd78k4.cpp: Replace BYTE_XOR_LE with new casting helper 2022-06-18 18:47:18 -04:00
Ivan Vangelista
47824631cb fantland.cpp: verified CPUs and XTAL for fantland [system11] 2022-06-18 16:14:16 +02:00
AJR
848b631613 input_sdlcommon.cpp: Move devmap_init down into class 2022-06-18 10:08:43 -04:00
Michael Zapf
ce439f4434 ti99: Fixed segfaults on termination; use 1800 as default for CRU base. 2022-06-18 13:44:11 +02:00
arbee
7a1f9eb674 bus/nubus: Fixed mode selection for RasterOps ColorBoard 264. [R. Belmont] 2022-06-17 23:04:36 -04:00
Vas Crabb
b2c13bc407 bus/nubus: Fixed Apple 4•8 NuBus video card screen base address in 24-bit mode. 2022-06-18 06:27:05 +10:00
Vas Crabb
685d47fe5e bus/nubus: Fixed aspect ratio of portrait screen, and fixed mc30 regression. 2022-06-18 05:58:30 +10:00
Vas Crabb
6afc168d54 bus/nubus, bus/sbus: Removed a redundant parameter, modernised endian helpers. 2022-06-18 04:00:14 +10:00
Vas Crabb
bf0c459df0 hp2640.cpp: Fixed some uninitialised memory accesses. 2022-06-18 00:44:21 +10:00
AJR
3a66b9211f mc68hc11z1, cfp1080s: Separate source file for MCU; add numerous logging stubs 2022-06-16 20:35:41 -04:00
AJR
8c7b122713 m6809: Add support for stepping out 2022-06-16 19:13:41 -04:00
Andrew Green
62de252337
machine.h: The bookkeeping assert was checking the wrong entity. (#9938)
nice find
2022-06-16 21:48:44 +02: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
AJR
b1a3c44e47 kp64.cpp: Better workaround 2022-06-16 10:00:43 -04:00
hap
32c507d34d toprollr: fix bigsprite layer in cocktail mode 2022-06-16 14:55:47 +02:00
hap
3c2fd50061 audio/cclimber: fix off-by-1 problem when looping 2022-06-16 14:15:30 +02:00
Olivier Galibert
9305f188a5 hng64/kp64: two 6.25MHz timers are not a good idea. Hack them out for now, someone interested can try to understand what's really going on 2022-06-16 11:12:03 +02:00
Patrick Mackinlay
184259c82d labtam: improved interrupt map logic 2022-06-16 15:01:49 +07:00
AJR
e7fe75fd5c i8xc51gb: Correct SFR address of ACON for disassembly 2022-06-15 22:31:01 -04:00
AJR
6ac79db5bc zombraid: Fix regression from b911bd29a5 2022-06-15 21:09:52 -04:00
Vas Crabb
8a36fece69 emu/schedule.cpp: Fixed regressions with some temporary timers. 2022-06-16 07:07:15 +10:00
Ivan Vangelista
fbc6caa94f New working clones
------------------
Butterfly Video Game (version A00) [Ioannis Bampoulas]

New machines marked as NOT_WORKING
----------------------------------
Sea Devil [Ioannis Bampoulas]
Space Liner [Ioannis Bampoulas]

New clones marked as NOT_WORKING
--------------------------------
Speedway (set 2) [Ioannis Bampoulas]

- namcos23.cpp: confirmed set finfurl2j is FFS1 Ver.A [Guru]
2022-06-15 22:13:14 +02:00
hap
784fb9529a fex68k: increase board delay a bit 2022-06-15 20:02:55 +02:00
hap
aa611124ed schedule.h: silence compiler warning in non-debug build 2022-06-15 19:53:12 +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
Mitchell Hancock
d345b7ec2c
igs17.cpp: Fixed demo sounds DIP switch (#9933) 2022-06-15 19:14:54 +02:00
hap
92cde07a35 New clones marked as NOT_WORKING
--------------------------------
TV Game 8080 [anonymous, Jay Gallagher]
2022-06-15 16:58:06 +02:00
angelosa
03bd5fd363 sshangha.cpp: fix pf1 tilemap paging size, necessary for sshangha end credits to be displayed properly 2022-06-15 16:36:51 +02:00
Olivier Galibert
67dee6278c ics2115: Cleanup timer code 2022-06-15 15:23:56 +02:00
Olivier Galibert
1ded6ae6d6 ics2115: make fast timers less expensive 2022-06-15 15:03:03 +02:00
Curt Coder
5982daf102 x37: Added PAL dumps and titles from Luxor source code. [Dataindustrier AB DIAB Intressegrupp, Curt Coder] 2022-06-15 15:17:40 +03:00
Curt Coder
4a469dcafc abc1600: Added FPU PAL dump, and PAL titles from Luxor source code. [Dataindustrier AB DIAB Intressegrupp, Curt Coder] 2022-06-15 15:17:40 +03:00
Olivier Galibert
d9a5dde8c6 pgm: merge the two halves of the latches, remove overeager synchronizing 2022-06-15 13:17:05 +02:00
AJR
02b4120cdb cpu16: Minor disassembly formatting fix for branch destinations 2022-06-15 07:15:43 -04:00
AJR
0acebba107 osdcomm.h: Remove a few unimportant 64-bit functions 2022-06-15 07:12:20 -04:00
npwoods
699630ed16
osdcore.h: Changed osd_subst_env to accept a std::string_view and return a std::string. (#9928) 2022-06-15 20:57:23 +10:00
couriersud
fe1e26a9fb
sound.cpp: Fix missed samples due to state save (#9917) (#9918)
* sound.cpp: Fix missed samples due to state save (#9917)

The PR address #9917. A save state may occur between time slices.
Sound devices through sound.cpp are updated during a timer call every
20ms. When the state is saved, these devices are not updated to the
current machine time. Consequently after a state load the devices have
have a "time lag" since in postload buffer end time is forced to
machine time.
This change will save the last buffer end time so that all outstanding
samples are processed.

This is a core change. I tested it on some drivers. This needs a very
thorough review and I post the PR primarily to document a possible
solution.

* sound.cpp: use "stream.sound_stream" as module name for save_item

* sound.cpp: use presave handler to store end_time()
2022-06-15 12:39:00 +02:00
David Haywood
ac042242b7
mpu4: move some crystal specifics into crystal state, remove some unneccessary parts of the bootleg chr emuation (#9932) 2022-06-15 06:37:26 -04:00
hap
2d43dbb5f3 igs022 handle_command_6d: don't do unneeded work on strings when logging is disabled 2022-06-15 11:39:10 +02:00
Robbbert
2ed18f65e7 fixes for mpu4/arcade.flt, and jp.cpp/mame.lst. 2022-06-15 19:09:41 +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
Miodrag Milanovic
62fd9b344d Cleanup using state object 2022-06-15 08:29:55 +02:00
Vas Crabb
321bdd5e58 More miscellaneous cleanup:
spectrum.cpp: Removed a member from the base state class that's only
used by certain Soviet clones.  There seems to be some copy/pasted code
in the clone drivers - pehaps they can share some of the implementation.

spec128.cpp: Moved the Spectrum 128 state class declaration to the
corresponding header.

Reduced redundancy in a few fruit machine layouts.
2022-06-15 15:45:08 +10:00
AJR
496055720b e132xs: Cleanups
- Add helper functions for double-word register accesses and multiplication
- Make 16-bit multiplications signed for EHCMULD and EHCMACD
- Correct typo in comments
2022-06-14 21:09:22 -04:00
Vas Crabb
9c53786b92 rohga.cpp: Correct nitrobal protection device. 2022-06-15 07:59:47 +10:00
Vas Crabb
960c3bc1e8 rohga.cpp: Got rid of leftovers in wizdfire config.
I clearly shouldn't be programming at this point.
2022-06-15 07:47:32 +10:00
Vas Crabb
eb8fd9ac8e rohga.cpp: Got rid of leftover in rohga machine config. 2022-06-15 07:35:07 +10:00
Vas Crabb
7604944670 rohga.cpp, seta.cpp: More cleanup.
* seta.cpp: Split a bit more off from base class.
* roha.cpp: Factored out common machine configuration.
2022-06-15 07:27:45 +10:00
Vas Crabb
b911bd29a5 Cleaned up a few more legacy callbacks. 2022-06-15 06:21:56 +10:00
Vas Crabb
d8854e4e55 Updated scripts to support SOURCES= builds after the reorganisation happens. 2022-06-15 05:07:09 +10:00
hap
c1f1ab2717 segaufo: added GAL for ufo21 [Darksoft, Team Europe] 2022-06-14 20:30:32 +02:00
Ivan Vangelista
7ea2eba4d8 - d9final.cpp: updated parent / clone relationship as suggested
- dec8.cpp: added hw infos for oscar [Guru]
2022-06-14 20:26:40 +02:00
MetalliC
260469eb92 segasp.cpp: games docs 2022-06-14 17:46:59 +03:00
MetalliC
f3dce63434 new NOT_WORKING clone
---------------------
Chibi Maruko-chan ~Minna de Sugoroku Asobi~ no Maki (Ver.1.00A, 04/04/20) [Darksoft, Team Europe, MetalliC]
2022-06-14 17:31:00 +03:00
holub
5849a983cc
tsconf.cpp: fix gfx offsets (#9905) 2022-06-15 00:18:02 +10:00
ClawGrip
b90ea3a273
geniusiq.cpp: Added PreComputer Unlimited (USA/Canada) (#9911)
* New NOT_WORKING machine
------------------------------
PreComputer Unlimited (USA/Canada) [Val Polyakh]
2022-06-15 00:14:07 +10:00
ClawGrip
ba70fb6797
pluto5.cpp: Add notes (#9904) 2022-06-15 00:12:16 +10:00
ClawGrip
635ec82102
New NOT_WORKING clone (#9907)
----------------------------------
Halley Comet (set 3) [Sergio y Vicente de www.electronicavys.es]
2022-06-15 00:10:14 +10:00
ClawGrip
a4ef7d6b4e
gts3a.cpp: Dumped and added a new 'Wipeout' set (#9664)
* New NOT_WORKING clones
-----------------------------------
Wipeout (rev.2, alt) [Victor Fernandez (City Game)]
2022-06-15 00:09:06 +10:00
Olivier Galibert
05c6df2856 First version of the src/mame sources reorganization tool, makedep needs some love. 2022-06-14 15:37:29 +02:00
Curt Coder
2bbbff6146 x37: Populate devices. [Curt Coder] 2022-06-14 13:35:06 +03: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
6741eca4d6 New working clones
------------------
Rolling Panic (v2.33) [Darksoft, Team Europe]
2022-06-14 05:13:27 +02:00
hap
93c02eda70 segaufo: small update to notes 2022-06-13 23:54:46 +02:00
Ivan Vangelista
e1d00b62ba New machines marked as NOT_WORKING
----------------------------------
Magic Touch [Ivan Vangelista]
2022-06-13 22:56:46 +02:00
Vas Crabb
b71a3796ca tickee.cpp: Fixed rapidfir gun inputs and cleaned up code:
* Split the lightgun games into a derived class.
* Got rid of run time I/O port tag lookups.
* Got rid of legacy start/reset callbacks.
* Registered some members for save states.
2022-06-14 05:08:19 +10:00
Olivier Galibert
ca96a6ccca patinho: decouple cpu from driver 2022-06-13 19:14:39 +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
Miodrag Milanovic
149de81cdc return proper enumeration value 2022-06-13 19:12:29 +02:00
Vas Crabb
6126ec7477 8080bw.cpp, exidy.cpp: Minor I/O fixes:
* exidy.cpp: Hooked up coin counters for Venture (see #9757).
* 8080bw.cpp: Further clarifications for Sidam Invasion hardware.
  [Janniz]
2022-06-14 01:22:33 +10: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
cracyc
30ef2dd86b pwrview: pass z80sio tests 2022-06-12 21:18:35 -05:00
Brice Onken
084c103df0
r4000.cpp: partially implement secondary cache tag manipulation (#9923) 2022-06-13 07:31:28 +07:00
ClawGrip
c93d24fb23
Dumped and added a new set of 'Super Star' (#9927)
supstarf.cpp: Dumped and added a new set of 'Super Star', make it the parent since it's a complete dump.

New NOT_WORKING machine
-----------------------
Super Star (Recreativos Franco, set 1) [jordigahan]
2022-06-12 18:31:25 -04:00
hap
2f0ced261a dotrikun: update rom labels 2022-06-12 21:22:32 +02:00
Ivan Vangelista
54dbf74ce9 warpwarp.cpp: redumped bombbee and added hw info [Guru] 2022-06-12 18:41:29 +02:00
Ivan Vangelista
908646c4e4 New working clones
------------------
Knuckle Bash (location test) [coolmod]
2022-06-12 18:31:52 +02:00
Ivan Vangelista
f54c7010ab New clones marked as NOT_WORKING
--------------------------------
Sekai Kaseki Hakken (Japan, SKH1 Ver.B) [Darksoft, brizzo]
2022-06-12 18:12:18 +02:00
hap
ad1f6584d5 goldnaxe: easier/easy dipswitch setting was the wrong way around [Jose Tejada] 2022-06-12 16:37:35 +02:00
arbee
3880d65f7f macqd700: add save state support [R. Belmont] 2022-06-11 22:27:05 -04:00
AJR
842b7cfc57 Prevent debugger commands from being evaluated when they are assignment expressions and only supposed to be validated at the moment 2022-06-11 19:58:09 -04:00
Michael Zapf
f44b654efd ti99/genmod: Add option to decode high address lines for DDCC-1 so that it can be used with Genmod. 2022-06-12 01:19:48 +02:00
Vas Crabb
7dcdf5db68 8080bw.cpp: Improved emulation for Sidam Invasion. [Janniz]
One of the R Z SRL Bologna sets was aleady working as well as any of the
other sets.  This improves inputs for all of them anyway, so may as well
credit Janniz for it even though it's not clear when it started working.

Clones promoted to working
--------------------------
Invasion (bootleg set 1, R Z SRL Bologna) [Janniz]
2022-06-12 07:01:25 +10:00
AJR
96b72e4b7b compc.cpp: Modernize keyboard interface (eliminates occasional "stuck key" error in compc1); eliminate runtime port tag lookup 2022-06-11 14:41:07 -04:00
Brice Onken
4506cae8b1
machine/dp83932c.cpp: Support BE mode and transmission packet appending (#9910)
Added support for big endian bus accesses by adjusting the width of the bus access appropriately.  (In 32-bit mode, descriptors and the RBA must all be aligned to 32-bit boundaries, even when the values are only 16 bit, thus the previous method had issues on BE buses.  See pages 7 and 15 in the datasheet.)

Stop device from starting a second transaction task if one is already in progress.  The datasheet recommends that software which wants to append packets during a transmission send another transmission command to avoid a race condition, and it should do nothing if this command is received while the transfer is still ongoing.  NEWS-OS 4.2.1aRD is an example of software that does this.  It would hang on boot without this change because the SONIC would start doing weird things when the second transmit command came in.
2022-06-12 04:23:59 +10:00
Luca Elia
219d63bada
igs017.cpp, igs022.cpp: Improved protection and decryption; ,oved protection data to external files. (#9890)
* igs017.cpp: Improved protection and decryption [Luca Elia]
 - Implemented "magic" i/o as a memory map (IGS_MUX) for added flexibility
 - Hooked up IGS_INCDEC protection to cpoker2, tarzanc, spkrform, starzan
 - Implemented specific IGS_INC protection in cpoker2
 - Hooked up improved IGS022 protection to lhzb2, sqlz2
 - Added IGS025 string protection to lhzb2, lhzb2a, mgcs, spkrform, slqz2, starzan, tarzanc, tjsb
 - Palette scramble and tweaked tiles decryption in tarzanc (used also by starzan, happyskl, cpoker2)
 - Decrypted sprites in tarzanc and starzan (used also by happyskl)
 - Lamps and layout for starzan, happyskl, cpoker2
 - Cleaned up/finished hopper emulation, added diplocations
 - Joystick inputs in mgcs
 - Finished inputs in spkrform. Allow hiding gambling (switching to Formosa and back)
 - Moved protection data to external files

* igs022.cpp: Fixes for igs017.cpp games [Luca Elia, RockyWall]
 - Fixed initial auto-DMA mode
 - Enlarged internal RAM. Added stack
 - Fixed command 12: Copy -> Stack Push
 - Added command 45: Stack Pop
 - Fixed command 6d opcode 1: Add Imm -> Sub Values
 - Added command 6d opcode 0: Add Values
 - Extended logging

Machines promoted to working
----------------------------
Tarzan Chuang Tian Guan (China, V109C, set 1) [Luca Elia, iq_132, Ivan Vangelista, Guru, Dyq, bnathan]
Super Tarzan (Italy, V100I) [Luca Elia, iq_132, Ivan Vangelista, f205v, Mirko Buffoni]
Happy Skill (Italy, V611IT) [Luca Elia, Ivan Vangelista, Caius, The Dumping Union]
Champion Poker 2 (V100A) [Luca Elia, Ivan Vangelista, Jorge Silva, Fernando Oliveira]
Long Hu Zhengba 2 (China, set 1) [Luca Elia, RockyWall, David Haywood, iq_132, Pierpaolo Prazzoli, XingXing]
Shuang Long Qiang Zhu 2 VS (China, VS203J) [Luca Elia, RockyWall, David Haywood, iq_132, Pierpaolo Prazzoli, XingXing]

Clones promoted to working
--------------------------
Super Poker (V100xD03) / Formosa [Luca Elia, ANY]
2022-06-12 03:08:01 +10:00
0kmg
e22c748061
punchout.cpp: Correctly labeled service button and coin 2 inputs. (#9921) 2022-06-12 02:57:11 +10:00
npwoods
7f0905bec3
Changed the constructor of fs::dir_entry to take 'std::string &&name' instead of 'const std::string &name' (#9913) 2022-06-11 14:24:49 +02: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
MASH
c4d26ca26d
Fixed Arcade build (#9912)
Added missing segafruit.cpp to Arcade build filter.
2022-06-10 20:26:40 +02:00
hap
f37ea30bfc rename headonb.cpp to efg8080.cpp 2022-06-10 20:25:59 +02:00
arbee
ccfbb57705 Add missing segafruit.cpp source file. [R. Belmont] 2022-06-10 11:24:33 -04: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
33ec3778e6 breakout: improve cpanel in internal artwork, hide it by default 2022-06-10 17:19:31 +02:00
couriersud
1f3f5e0d57
netlist: fix bugs and more cpp instead of macros (#9897)
* netlist: fix bugs and more cpp instead of macros

- C-style comments converted to c++
- Fix crash in state saving code when an abort queue processing event
  is pending.
- Fix a bug where a net could be twice in the queue.
- Convert more macros to c++
- fixed SUBTARGET=nl build
- fixed potential bugs which would allow a terminal to belong to more
  than one net. This is not possible even for a short time.
- moved some member function definitions out-of-class.
- moved code out-of-class
- added constexpr where appropriate
- fixed mamenl build
- Cleanup and indentation
2022-06-10 16:11:21 +02:00
hap
63e595ae36 pong: remove obsolete external version 2022-06-10 15:27:19 +02:00
SomeRandomGuyIdk
445293464e
jpmsru.cpp: Added Lucky Casino. (#9864)
New machines marked as NOT_WORKING
------------------------
Lucky Casino (JPM) (SRU) (revision 8A)

New clones marked as NOT_WORKING
------------------------
Lucky Casino (JPM) (SRU) (revision 8, lower %)
2022-06-10 18:25:39 +10:00
cracyc
44c2dcc333 upd7220: reset pattern after figd 2022-06-09 16:01:04 -05:00
cracyc
fab82e4048 pwrview: display and sio wip 2022-06-09 12:58:39 -05:00
Robbbert
4b2e9a6fd0 mbeett: machine has recently regressed, can't see why, so marked as MNW. 2022-06-10 00:06:22 +10:00
Robbbert
d98c7ff663 mbee: fixed unwanted L chrs for mbee -bios 1 2022-06-09 23:59:06 +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
Tony Konzel
21cf4d3cd4
sound/k054539.cpp: Fixed DPCM table, and added cubic interpolation. (#9778)
Using powers of 2 rather than squares for the DPCM table fixes DC offsets for 4-bit sample playback.
2022-06-09 22:05:08 +10:00