Commit Graph

3236 Commits

Author SHA1 Message Date
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
David Haywood 1b91ee3133
new machines (1 working, 1 not working) (#6587)
new machines marked as NOT WORKING
----
Mastery's Fury [Miso Kim, David Haywood]

(this is a bad dump, mask ROMS are half size, at least the sprites)

new WORKING machines
----
Goori Goori [Miso Kim, David Haywood]
2020-04-24 12:44:09 -04:00
hap fccd5a43cd New machines marked as NOT_WORKING
----------------------------------
Kasparov Leonardo (set 1) [hap, Berger]
Kasparov Galileo [hap, Berger]
Kasparov Renaissance (set 1) [hap, Berger]

New clones marked as NOT_WORKING
--------------------------------
Kasparov Leonardo (set 2) [hap, Berger]
Kasparov Renaissance (set 2) [hap, Berger]
2020-04-23 23:35:49 +02:00
smf- 822e051896 fixes for clang 10.0.0 misleading indentation and xor used as a pow warnings (nw) 2020-04-23 17:04:29 +01:00
npwoods 7610231242
Refactoring of AVI/MNG recording code (#6537)
* Initial refactor of AVI/MNG movie recording, consolidation of copy and paste
code, hiding of AVI/MNG behind interfaces

* Extracted recording specific code out of src/emu/video.cpp and put into
src/emu/recording.cpp

* Took the opportunity to move slightly more logic out of video.cpp into
recording.cpp

* Bug fix

* Consolidated frame counting logic
2020-04-22 19:00:30 -04:00
hap 69d5d89940 New machines marked as NOT_WORKING
----------------------------------
Executive Chess [hap, Sean Riddle]
2020-04-22 12:13:50 +02:00
AJR 15386236cf atarisy1.cpp, atarisy2.cpp, gauntlet.cpp: Modernization
- Use generic latch devices for sound communications
- More accurate handling of programmed sound resets
- Add the other LS259 to gauntlet.cpp
- Correct watchdog timeouts for all three drivers
- General code cleanup

atarigen: Eliminate ATARI_CLOCK_xxxMHz macros in favor of standard XTAL constants (nw)

atariscom: Separate source file from atarigen.cpp; move IRQ handling to atarijsa (not a property of the actual device) (nw)
2020-04-21 17:38:45 -04:00
Ivan Vangelista ae2449193f equites.cpp: deviceified sound board emulation. Also added skeleton device for the bngotime sound board (nw) 2020-04-21 18:43:29 +02:00
AJR d3b389bf8c atarisac: Minor fixups (forgot to commit arcade.lua changes last time) (nw) 2020-04-20 13:39:58 -04:00
MetalliC af74dd3f13 fix build (nw) 2020-04-20 20:28:47 +03:00
couriersud 0054862e3c netlist: compile time improvement and code maintenance. (nw)
Added a define NL_USE_ACADEMIC_SOLVERS and disabled it in the build.
This will not compile in solvers which are either illustrative or only
perform for large sparse matrices like GMRES.
2020-04-19 16:08:43 +02:00
couriersud 7c96a897dc main.lua: fix linking order of netlist. (nw)
Moved netlist between dasm and utils,expat,... link statements
This fixes the resolution of symbols in netlist code which may be used
in machine/netlist.cpp.
Change tested on ubuntu, windows and macosx.
2020-04-18 15:40:35 +02:00
Ivan Vangelista f4c6e05e05 New machines marked as NOT_WORKING
----------------------------------
EuroPlay 2001 [Juan Romero, ClawGrip]
2020-04-17 18:20:20 +02:00
ajrhacker af21e47ae2
Merge pull request #6562 from DavidHaywood/160420_2
new NOT WORKING software list entries
2020-04-17 12:01:00 -04:00
DavidHaywood 47205de59a new NOT WORKING software list entries
----
leapfrog_didj_cart.xml: Nicktoon Android Invasion (US, 500-13290-B) [Team Europe]

there's a skeleton driver too, but it's really nothing but a holder for the Software List as the BIOS isn't yet dumped.
2020-04-17 12:12:06 +01:00
Patrick Mackinlay 505408df0b new machines marked as NOT_WORKING
----------------------------------
Sony NEWS NWS-1580 [bitsavers, Patrick Mackinlay]
2020-04-17 13:25:18 +07:00
David Haywood 15b6aa7b9f
Add MCU dump to Kick and Run, not yet working [Sean Riddle] (#6554)
* rename mexico86 driver to kikikai, start looking at kicknrun mcu (nw)

* prepare (nw)

* prepare (nw)

* copy across bublbobl hookup, not correct (nw)
2020-04-16 16:45:28 -04:00
Justin Kerk f5deabdcde Fix hang with Emscripten's "upstream" backend (nw) 2020-04-16 14:37:55 +00:00
Robbbert bd9695499e (nw) fixed the build. 2020-04-15 12:25:18 +10:00
Michael Zapf efeddba15b bq48xx: Adding Benchmarq RTC chip emulations. 2020-04-14 23:58:11 +02:00
couriersud 5b6013caea netlist: improve performance up to 65% on audio netlists. [Couriersud]
This commit introduces precompiled static solver code. Due to
additional optimizations the compiler can use because the detail
calculation steps for the solution are known e.g. the kidniki netlist
sees a 100% speed increase.

In all environments (windows/*nix/osx) the source for the static
solver code can be created using
	bash src/lib/netlist/nl_create_mame_solvers.sh

This will create src/lib/netlist/generated/static_solvers.cpp which is
compiled into the mame binary.
The script is just a temporary workaround. The intention is that nltool
whill be able to create this file with one call.

There are other improvements in this commit speeding up the processing
of timestep and dynamic calculations.
2020-04-13 21:32:00 +02:00
cracyc 85de244d56 New not working
--------------------
Olivetti Prodest PC-1 [Carl, rfka01]
2020-04-12 17:27:30 -05:00
Vas Crabb af82c0eca8 util: re-implement SHA-1 and get rid of the two third-party implementations (nw) 2020-04-13 06:16:03 +10:00
hap 1c728274e9 microvsn: move lcd chip emulation to device (nw) 2020-04-12 15:37:21 +02:00
cracyc fdeca033d8 nec: 8080 mode [Carl] 2020-04-11 21:37:54 -05:00
AJR 7d2ebec9e0 mephisto_montec.cpp: Split out mondial and mondial2; simplify handler signatures (nw) 2020-04-11 21:55:00 -04:00
hap d708a86325 added Philips PCF2100 LCD Driver (nw) 2020-04-10 15:33:13 +02:00
AJR 06919f1b8e Fix build (nw) 2020-04-09 20:54:52 -04:00
Michael Zapf 4ef6a1d594 ti99: Add PGRAM card; fixed IDE adapter card. 2020-04-10 00:00:08 +02:00
AJR c0a81f91a5 New machines marked as NOT_WORKING
----------------------------------
Roland MC-300 Micro Composer [DBWBP]
Roland MC-50 Micro Composer [DBWBP]
Roland MC-50mkII Micro Composer [DBWBP]
2020-04-08 20:38:05 -04:00
AJR 2d68e6dae9 m3002: New device 2020-04-07 19:39:17 -04:00
AJR f47877cfd1 pasopia, pasopia2: PAC2 overhaul
- PAC2 is now a separate bus with slot devices
- Kanji ROM and RAM PAC2 expansions are no longer built into pasopia7, but may be configured as slot options
- RAM PAC2 expansion made nonvolatile and provided in multiple sizes
- Two PAC2 slots added to pasopia
2020-04-06 21:20:01 -04:00
Ivan Vangelista ec73863bc0 New machines marked as NOT_WORKING
----------------------------------
Scorpion DX [ArcadeHacker, ClawGrip, Rampa, Recreativas.org]
2020-04-06 19:49:36 +02:00
hap 7a86e1910e 6800ops: unneeded workaround? (nw) 2020-04-06 19:30:03 +02:00
Michael Zapf c5b838bc2c Add octal registered transceiver 74543 2020-04-06 13:39:34 +02:00
AJR 58b4fa0fb9 New machines marked as NOT_WORKING
----------------------------------
Roland U-20 RS-PCM Keyboard [DBWBP]
Roland U-220 RS-PCM Sound Module [DBWBP]
2020-04-05 17:54:24 -04:00
Vas Crabb 19aec7e9c3 (nw) hopefully work around deprecation warning - removing something in 3.9 when the replacement was only added in 3.2 is typical of Python's disregard for stability 2020-04-06 04:21:28 +10:00
Robbbert b5e08ae5e8 H8: added support for H8T tapes. 2020-04-06 01:37:05 +10:00
couriersud f07357d52b netlist: Fix SUBTARGET=nl build. (nw) 2020-04-05 17:14:25 +02:00
AJR bad835af4f New machines marked as NOT_WORKING
----------------------------------
Roland JV-880 Multi Timbral Synthesizer Module [DBWBP]
2020-04-04 23:44:12 -04:00