Commit Graph

3275 Commits

Author SHA1 Message Date
David Haywood
489d1882b4
move schick out of pengo driver + misc promotions (#6842)
* moved schick.cpp out of pengo driver, too many small modifications to the hardware make it messy to keep there  (nw)

also promoted some sunplus games I've decided work well enough to promote (nw)

* (nw)

* (nw)
2020-06-19 20:58:05 +02:00
Robbbert
363773c099 (nw) merged ccs300 into ccs2810, as fdc is the same. 2020-06-20 01:50:51 +10:00
Robbbert
580718db09 (nw) split llc into llc1 and llc2, as they are completely different. 2020-06-19 23:20:07 +10:00
AJR
9c36794ded tlcs900: Split derived types into separate files; no need for separate 8-bit and 16-bit maps now (nw) 2020-06-18 18:15:41 -04:00
AJR
45850cd0be Fix OS X build on older Xcode versions (nw) 2020-06-18 11:17:37 -04:00
Nigel Barnes
19437e461e bus/bbc/fdc: Added Solidisk DDFS Issues 1/2 and DFDC disk controller boards. 2020-06-15 17:12:06 +01:00
couriersud
e949e9c29d netlist: Performance improvement and refactoring. [Couriersud]
Kidniki now achieves up to 910% when run with static solvers and with
nltool. That is significant better than the 860% we have seen
previously.

This increase is driven by using a global memory pool in the solver
code.

In addition the following refactoring and code maintenance work is
included. Please excuse the large commit, some of this took interfered
with other work and the detail development steps were ugly.

- gsl support: This commit adds pgsl.h which implements a very limited
  number of the functionality of the gsl header described in the c++ core
  guidelines.
- clang-tidy fixes
- A significant refactoring of palloc.h. Aligned hints were removed,
  they added complexity without a significant performance gain. Vector
  operations should better be done on special spans/views.

The code has been tested on linux with g++-7, g++-9, clang-11.
On Windows mingw-10 and VS2019, OSX clang-11.
2020-06-13 15:49:35 +02:00
Ivan Vangelista
95f7e3ebf3 New machines marked as NOT_WORKING
----------------------------------
Trebol [PinMAME]

New clones marked as NOT_WORKING
--------------------------------
Star Wars (1.01) [PinMAME]
2020-06-13 07:07:57 +02:00
AJR
18f663e49b Fix OS X build with Xcode 7 (nw) 2020-06-12 18:22:15 -04:00
Patrick Mackinlay
19214dd8e6 asmjist: sync with upstream (nw) 2020-06-12 11:55:10 +07:00
Olivier Galibert
1edc4eb359 pic1670: Add a disassembler [O. Galibert] 2020-06-11 23:14:04 +02:00
Sandro Ronco
cdb5ca42c6 Hyperscan updates: [Sandro Ronco]
- Added emulation of the SPG290 CDServo
- Added joypad inputs
- Added RFID card support
- Split SPG290 PPU, Timers and I2C into separate devices
- Added a softlist for the RFID cards
2020-06-11 19:54:45 +02:00
Mirko
956c2bd661 new machines marked as working
-----------------------------
Super Motor (prototype) [Mirko Buffoni, Roberto Fresca, Retromaniacs, recreativas.org]
2020-06-11 16:07:04 +02:00
Robbbert
fe913a7bac eti660: New software list ----
Maze 2 (not working)
Music Maker
Pong
Space Invaders (not working)
Wipeout
2020-06-11 01:15:08 +10:00
AJR
2692066575 New machines marked as NOT_WORKING
----------------------------------
GNAT System 10 [Don Maslin Vintage Computer Archive, AJR]
2020-06-08 14:29:35 -04:00
AJR
763ee4e215 tti: Convert driver to QBUS device (qts1) 2020-06-07 14:40:02 -04:00
AJR
8f767045c8 beehive: Add ESC key; rename to dm3270 2020-06-06 18:29:31 -04:00
Andrew Green
77cf3b0413
Support Colecovision Megacart. (#6788)
* Support Colecovision Megacart.
Assume that a rom file that is more than 32K in size is a megacart
and that it should be bankswitched using Megacart protocol.

* Put megacart functionality in its own cartridge type.
2020-06-05 00:15:58 +02:00
AJR
f84e4d036b New machines marked as NOT_WORKING
----------------------------------
Novation BassStation Rack Analogue Synthesizer Module [DBWBP]
Novation Drum Station [DBWBP]
Novation Super Bass Station [DBWBP]

Add disassembler and skeleton CPU device for Panasonic MN1880 architecture [AJR]
2020-06-04 16:21:46 -04:00
Robbbert
4fee32a683 (nw) czk80: evidence suggests it could be ckz80 - renamed. 2020-06-05 02:05:26 +10:00
Robbbert
6d237f8ee7 New not working system: Ultim809 2020-06-05 01:58:06 +10:00
hap
7bff87f979 msx: add matra ink cartridge (nw) 2020-06-04 15:09:51 +02:00
David Haywood
4f7c1a03ed
prepare SunPlus rendering code for sharing between SPG2xx and GPL16250 (nw) (#6780) 2020-06-02 14:10:17 -04:00
Dirk Best
1db9218eff New machines marked as NOT_WORKING
----------------------------------
Consola EMT [ClawGrip]
2020-06-02 17:30:15 +02:00
couriersud
3fd176a7a6 netlist: device factory enhancements. (nw)
Factory elements can now pass additional parameters to device
constructors. This makes the design of interface objects like analog
callbacks easier.

The change also allowed to remove some "deep" calls into the core from
the MAME interface in netlist.h
2020-06-01 19:59:52 +02:00
MASH
39e7131e5d
Update arcade.lua 2020-05-31 21:18:14 +01:00
AJR
d423a96969 Revert "Fix Mac Clang build (nw)"
This reverts commit e84a738432. The problem this addresses was fixed in bc0c1b74c7.
2020-05-31 11:40:20 -04:00
R. Belmont
e84a738432
Fix Mac Clang build (nw) 2020-05-30 17:00:56 -04:00
R. Belmont
531b2fd3ba
Merge pull request #6756 from pmackinlay/asmjit
asmjit: new 3rdparty library
2020-05-30 12:57:14 -04:00
AJR
cddd9181b0 New machines marked as NOT_WORKING
----------------------------------
Yamaha DX11 Digital Programmable Algorithm Synthesizer [DBWBP]
2020-05-30 10:14:29 -04:00
Colin Douglas Howell
1984fb5f94
mw8080bw: 280zzzap netlist audio (#6760)
* mw8080bw: update 280zzzap audio API in preparation for netlist audio

This is only API changes, following the pattern used by cuavas within the
past year to update other games in mw8080bw.

* mw8080bw: new netlist audio implementation for 280zzzap

New netlist-based audio implementation for 280zzzap (280-ZZZAP, 1976),
derived from Midway game logic board schematic. The sound generally
matches that heard in videos of the machine, though the real machine
seems to have more bass and less treble. This may be a cabinet effect
or something else, such as a difference in component values.

Due to the number of complex components being emulated and the nature
of the circuits, this netlist adds a lot of overhead, but it's still
fast enough to run at greater than real speed on modern hardware.

With minor changes, this implementation should also support lagunar
(Laguna Racer, 1977); with somewhat more substantial changes, it
would also support sspeedr (Super Speed Race, 1979). Both of these
games use sound circuits based on those for 280-ZZZAP.
2020-05-30 08:36:17 -04:00
AJR
57da50ab51 No, these are not ready to add yet (nw) 2020-05-29 17:50:29 -04:00
AJR
0b345e7bb6 New machines marked as NOT_WORKING
----------------------------------
JoMoX XBase 09 Midi Controlled Analogue Drum Module [DBWBP]

Add disassembler for PIC17 family and preliminary PIC17C4X emulation [AJR]
2020-05-29 16:32:11 -04:00
Robbbert
21795f1fef (nw) fixed the build: added MM58174 to mess.lua 2020-05-29 00:42:56 +10:00
Patrick Mackinlay
45615b7f4b asmjit: new 3rdparty library 2020-05-28 20:24:40 +07:00
R. Belmont
3ed842c01c
Merge pull request #6750 from shattered/_100c143238a
Add MM58174 real time clock and use it (nw)
2020-05-28 07:47:50 -04:00
Frank Palazzolo
ba62cea8b4 Enable option to generate symbols in Release as well as Debug under Visual Studio. (This is important because debugging Debug builds is too slow) 2020-05-27 20:40:47 +10:00
AJR
683c6d783d New machines marked as NOT_WORKING
----------------------------------
Roland TR-909 Rhythm Composer [anonymous, DBWBP]
2020-05-26 22:23:04 -04:00
Sergey Svishchev
963e16d63c Add MM58174 real time clock and use it (nw) 2020-05-26 21:31:20 +03:00
couriersud
10e4f10d41 netlist: split plists.h and fix nvcc compile for 10.2 (nw)
plists.h was splitted into plists.h, pmulti_threading.h and
ptimed_queue.h. In addition removed plists.h from a number of files it
wasn't used in.

Certain minor adjustment needed to be made for cuda toolkit 10.1 and
10.2.
2020-05-25 23:57:49 +02:00
AJR
0fa6e7eb86 Debugger expression and memory access overhaul
- Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead.
- The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails.

Related internal changes (nw)
- The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes.
- The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it.
- The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file.
- The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup.
- The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead.
- Many minor bits of code have been simplified.
2020-05-25 11:15:39 -04:00
Olivier Galibert
22513fb6fe emumem: A little more speedup. cache and specific change syntax, and are not pointers anymore [O. Galibert]
The last(?) two changes are:

- Add a template parameter to everything (theoretically the address
  space width, in practice a level derived from it to keep as much
  compatibility between widths as possible) so that the shift size
  becomes a constant.

- Change the syntax of declaring and initializing the caches and
  specifics so that they're embedded in the owner device.  Solves
  lifetime issues and also removes one indirection (looking up the base
  dispatch pointer through the cache/specific pointer).
2020-05-25 16:42:57 +02:00
AJR
06f0927c3e New machines marked as NOT_WORKING
----------------------------------
Boss SE-70 Studio Effects Processor [DBWBP]
Boss SX-700 Studio Effects Processor [DBWBP]
2020-05-25 10:27:11 -04:00
AJR
31ccd34584 s220, s550: Add BU3905 skeleton (nw) 2020-05-25 09:19:32 -04:00
couriersud
de615ac138 netlist: move penum into own header file. (nw) 2020-05-24 10:48:06 +02:00
Ryan Holtz
6195222a4a -cdi: Various changes. [Ryan Holtz]
* Demoted Quizard and Quizard 2 sets to non-working.
 * Started hooking up the Quizard MCU.
 * Renamed CDI_SLAVE to CDI_SLAVE_HLE in prep for an LLE device.
 * Added more comprehensive notes to the driver.
 * Removed NO_DUMP cdic.bin as the CDIC is apparently not an MCU.
 * Copied SERVO and SLAVE MCUs into cdimono1 set from cdi910 set and marked with BAD_DUMP.
2020-05-24 09:36:49 +02:00
arbee
1c684902e2 apple2: introduce new accurate IWM controller and switch apple2cr1/3/4 to use it [O. Galibert, R. Belmont] 2020-05-23 19:28:13 -04:00
Sergey Svishchev
9a3245009e pdp11: qbus skeleton, pc11 2020-05-23 12:35:22 +03:00
Ivan Vangelista
1261240d95 New machines marked as NOT_WORKING
----------------------------------
Jackpot (Ver 16.16L) [f205v]

New clones marked as NOT_WORKING
--------------------------------
Jackpot (Ver 1.16L) [f205v]
2020-05-22 20:33:42 +02:00
Frank Palazzolo
0b50073fa5 Remove obsolete paths, fix comment, and fix dummy.lua 2020-05-22 09:20:01 -04:00
couriersud
6141fa4a9c netlist: Fix performance issues and VC2019. [Couriersud]
For reasons unknown to me compile optimizations do not behave for
template code. If the implementation is in separate compile units, the
code compiles and performs.
2020-05-22 01:15:18 +02:00
couriersud
5a43cc6432 netlist: consolidate 9316-type counters. [Couriersud]
This needs more attention since for certain compilers there is a
considerable performance degregation. It looks like this is only
triggered if too many variants are declared in one cpp file and the
compiler stops inlining.
2020-05-22 01:15:18 +02:00
AJR
3db88f070d atarigen: Transfer legacy slapstic handling routines to device (nw)
slapstic: Move header file to src/mame/machine (nw)
2020-05-20 17:38:27 -04:00
hap
bb7b5fa97d New working machines
--------------------
Kasparov Simultano (ver. C) [hap, Achim]
2020-05-19 00:51:12 +02:00
tim lindner
eb2db91c65
IMGTOOL: Added Dragon DOS module [tlindner] 2020-05-17 12:04:31 -04:00
Ivan Vangelista
8c094c1709 New machines marked as NOT_WORKING
----------------------------------
Crazy Balls [f205v]
2020-05-17 10:09:15 +02:00
couriersud
7d4bb358c8 netlist: Fix cd4013 implementation and include it in compile. (nw) 2020-05-17 02:08:51 +02:00
couriersud
7035821f87 netlist: rewrite rom devices from scratch. [Couriersud]
Thanks to Aaron Giles who made me think about a different approach.

This is a rewrite from scratch for rom devices. It uses a generic
template to implement rom devices which is used together with a
description struct to define a rom device. This leads to highly
efficient code since all information is available at compile time.

This is also a step forward to support tristate outputs. All rom devices
covered by this approach have tristate or open collector outputs and
thus all code changes to support tristate outputs can now be made
consistently in one file.
2020-05-17 01:34:16 +02:00
Ryan Holtz
4feb71b0a7 -unsp: Added DIVQ and extended BIT_OP opcodes. [Ryan Holtz] 2020-05-16 20:50:15 +02:00
hap
4e3d569910 novag_presto: rename driver file (nw) 2020-05-16 18:41:50 +02:00
hap
c2ec9b789a New clones marked as NOT_WORKING
--------------------------------
Mini Sensory Chess Challenger (1981 version) [hap]
2020-05-16 15:32:55 +02:00
Robbbert
3c3a9f2190 (nw) merged tec1 in with the other trainers. 2020-05-16 12:04:27 +10:00
Robbbert
d8cfb78488 (nw) fixed mess build: jaguar 2020-05-16 11:53:56 +10:00
Angelo Salese
5ad522f0c1 jaguar.cpp updates [Angelo Salese]
* move i/o handlers to specific maps, untangle register array usage, to be completed
* Nuke duplicate I/O accesses, rename to iobus_r/w, make go_w to be an actual line
* Fix addqmod & subqmod modulo mask for DSP
* Refactor TOM to host CPU function, and fix GPU irq lv 3 when a GPU object is encountered. Fixes mutntpng and atarikrt booting
* Fix Jaguar irq line to 2, trusted
* Start reworking the blitter
* Relicensed to BSD
2020-05-15 16:16:46 -04:00
Aaron Giles
5739043ced netlist: Add 74377/74378/74379 devices to netlist. [Aaron Giles] 2020-05-15 13:10:15 +02:00
couriersud
88edd7c665 netlist: code cleanup and development stage tristate [Couriersud]
Code cleanup to better separate the following stages:

- parsing
- setup
- run

In addition preliminary native tristate support was added. Not yet
production ready, please don't use it.
2020-05-15 13:09:22 +02:00
AJR
a2ccc0af66 New machines marked as NOT_WORKING
----------------------------------
Korg DVP-1 Digital Voice Processor [DBWBP]
2020-05-14 12:04:53 -04:00
AJR
04c5294ca0 ams40041: Move PC1512 VDU emulation down into device 2020-05-13 11:30:19 -04:00
AJR
663680d722 ergo201: More driver work, preparing for keyboard emulation (nw) 2020-05-12 15:47:26 -04:00
Robbbert
e08f650e29 (nw) kramermc: cleanup, added sound, added savestate, added natural keyboard. 2020-05-11 02:49:16 +10:00
hap
5dca949285 mingw: get rid of missing end-group warning (nw) 2020-05-10 15:22:41 +02:00
hap
97879948c2 6801: remove hack, the real cause of adam locking up at boot was fixed recently with TCSR_OCF clear (nw) 2020-05-09 16:45:45 +02:00
hap
623dc28919 Machines promoted to working
----------------------------
Monty Plays Scrabble [hap]
Master Monty [hap]
2020-05-08 21:39:17 +02:00
Dirk Best
3c0b5b0ef2 fp6000: Rewrite driver
- Add and hook up interrupt controller and timer
- Add keyboard support (HLE)
- Clean up and improve graphics handling
- Add initial cassette support (not working)
- Add centronics printer support
- Add beeper
- More info to dip switches
2020-05-08 13:43:55 +02:00
tim lindner
2dfb819208
CoCo: Added Disto RAM cartridge (#6664)
* adding disto ram cart

* logging update

* minor change stil no worky

* DSTOTEST.BIN passed tests.
2020-05-08 06:32:30 -04:00
AJR
2c873efb4d New machines marked as NOT_WORKING
----------------------------------
ERGO 201 Kurzweil [Bitsavers]
2020-05-07 17:35:32 -04:00
Olivier Galibert
140ba5147d sf: Add the i8751 dump, remove the protection HLE [O. Galibert, FabC] 2020-05-07 17:24:02 +02:00
Robbbert
b98ae8d560 (nw) fixed the build. 2020-05-07 02:25:57 +10:00
AJR
5cf1925789 cit220p: Emulate serial keyboard, hooking up MCU and identifying most keys 2020-05-05 11:23:09 -04:00
couriersud
b2c40086e6 netlist: Add two noise sources. [Couriersud]
The two sources act as voltage sources, though noise may also be
injected as conductivy or current noise.

SYS_NOISE_MT_U: Mersenne Twister uniform noise
SYS_NOISE_MT_N: Mersenne Twister normal noise

nld_sys_noise is templated:

	using NETLIB_NAME(sys_noise_mt_u) =
		NETLIB_NAME(sys_noise)<plib::mt19937_64,
plib::uniform_distribution_t>;

Thus the approach is scalable. The implementation is state save aware,
and thus reproducible results are guaranteed.

An example use case is provided as well, see examples/noise.cpp.
2020-05-03 17:23:50 +02:00
arbee
47a8f8c2bb GCC 10 fix for sqlite3 (nw) 2020-05-02 15:41:02 -04:00
Ivan Vangelista
843080adb9 New machines marked as NOT_WORKING
----------------------------------
Dardamania (v2.1) [Juan Romero, ClawGrip]
2020-05-02 15:37:03 +02:00
Ryan Holtz
e9ea36bf28 -am2901b: Added a skeleton device for the AMD Am2901B 4-bit Bipolar Microprocessor Slice. [Ryan Holtz] 2020-05-02 11:29:45 +02:00
Ryan Holtz
0a95ff11dc -dpb7000: Code cleanup, removed disused individual card devices, hooked up MFM disk image support. [Ryan Holtz, ZrX] 2020-05-01 21:02:13 +02:00
David Haywood
a17d577403
Plug and Play work (#6609)
* new WORKING machines
Millennium M505 Arcade Neo Portable Spielkonsole (Family Sport 100-in-1) [TeamEurope]

* new NOT WORKING software list entries
tvgogo.xml : Baseball (US) [Sean Riddle, David Haywood]
tvgogo.xml : What-A-Mole (US) [Sean Riddle, David Haywood]

* added internal NAND dump to didj [Sean Riddle, Clawgrip]
2020-05-01 13:39:42 -04:00
hap
516f80e31d New working machines
--------------------
Mini Chess [hap, Sean Riddle]
2020-05-01 14:39:41 +02:00
couriersud
9dd0b48b3e netlist: add 393 to netlist.lua (nw) 2020-05-01 10:23:08 +02:00
couriersud
13f6e92cec netlist: Add the NE566 as a macro device. [Couriersud]
The device can be found in nlm_other.cpp.
Removed nld_ne566.*
Added SYS_SW, SYS_SW2 and SYS_COMP. These are single switch,
alternating switch and a analog comparator with digital outputs.
Renamed RES_SWITCH to SYS_SW.
Added example ne566.cpp in netlist/examples.
2020-05-01 10:04:22 +02:00
AJR
9556e3a5bd New working machines
--------------------
MDT 60 Video Display Terminal [Bitsavers, AJR]

z29: Add skeleton for undumped keyboard; try (and fail) to make this work with the MDT 60 keyboard instead

z22: Separate driver (nw)
2020-04-29 11:16:14 -04:00
couriersud
184c198a88 Fixed indenting in netlist.lua. (nw) 2020-04-29 16:00:35 +02:00
couriersud
c782a0ef33 netlist: add NE566 to netlist.lua. (nw) 2020-04-29 14:38:58 +02:00
Vas Crabb
01a4fbef4f
Merge release0221 into master (nw) 2020-04-29 02:17:12 +10:00
AJR
6e93c2ee1a New machines marked as NOT_WORKING
----------------------------------
MDT 60 Video Display Terminal [Bitsavers]
Z-22 Terminal [Bitsavers]
2020-04-27 20:14:30 -04:00
Vas Crabb
63a6b19c4a whitespace cleanup (nw) 2020-04-27 18:17:35 +10:00
usernameak
ee76fc0337
Heavily improved emulation of GRiD Compass 1101 (#6599)
Changes:

- added known dump checksums of 1101 BIOS
- high-level emulation of GPIB disk devices
- partial implementation of DMA (currently ignores ACCRQ so devices must have zero latency in order for it to work)
- serial is now properly memory-mapped
- modem stub in order to make system properly ignore modem device
- it now boots without any patches and debug scripts
- merged #6597 (needed in order to make disk devices work)

Still not implemented:

- RTC/MACHINE_ID
- modem
- has problems with multiple disk devices working simultaneously (possibly BIOS bug because this BIOS had some problems with that on real device)
2020-04-26 18:05:40 -04:00
Vas Crabb
8a923f9361 srcclean and manual cleanup (nw) 2020-04-26 12:04:54 +10:00
smf-
90cdeaad89 fixed stray character (nw) 2020-04-25 21:01:00 +01:00
smf-
ad819a3243 appease vs2019_clang with llvm 10.0 2020-04-25 20:52:35 +01:00
smf-
42e8d29742 unbreak vs2019 after 822e051896 (nw) 2020-04-25 03:40:45 +01:00
hap
465e64fa14 New working machines
--------------------
Sensor Computachess [hap, Sean Riddle]
Portachess II [hap, Sean Riddle]
2020-04-25 02:27:44 +02:00