Commit Graph

323 Commits

Author SHA1 Message Date
Olivier Galibert
d35c3977c9 unidasm: Add pic16 generic disassembler with extended instructions [O. Galibert] 2020-03-28 19:45:41 +01:00
Vas Crabb
f011a9134d clean up crud (nw) 2020-02-29 18:32:52 +11:00
Olivier Galibert
c849d1dc42 ks0164: First try at a disassembler [David Carne, O. Galibert] 2020-02-22 16:45:32 +01:00
cam900
21dae89c14
Add skeleton LZ8420M device (#6339)
* Add skeleton LZ8420M device
It has additional IO, Embedded RAM
Used in psikyo.cpp

* lz8420m.cpp : Fix copyright holder
2020-02-21 10:43:56 -05:00
Patrick Mackinlay
52d1a412fa romp: new device 2020-02-13 21:35:44 +07:00
AJR
9ce46c7cd5 New machines marked as NOT_WORKING
----------------------------------
Roland D-50 (Ver. 2.xx) [DBWBP, depblue]

New NOT_WORKING clones
----------------------
Roland D-50 (Ver. 1.xx) [DBWBP]
Roland D-550 [DBWBP]

Add disassembler for NEC 78K/III architecture [AJR]
2020-02-12 11:59:41 -05:00
AJR
d7db95aea9 Add disassemblers for NEC 78K/0, 78K/I and 78K/II MCU types
hotd2: Make "Gun Sense" board a separate device
2020-02-10 23:43:03 -05:00
Olivier Galibert
536652387f Oops (nw) 2020-02-07 21:35:46 +01:00
Olivier Galibert
23556e65f5 xavix2: First stab at the cpu [O. Galibert, N. Gilbert] 2020-02-07 21:31:25 +01:00
AJR
0f052a51f8 New machines marked as NOT_WORKING
----------------------------------
NCD19c [Don Maslin Archive]

Add disassemblers for Motorola MC88100 and MC88110 [AJR]
2020-01-23 16:45:51 -05:00
hap
685907679b gigatron: fix compile (nw) 2020-01-23 11:58:29 +01:00
Sterophonick
0ff7e2ea0d new NOT_WORKING machine (#5811)
* minor spelling fix

* new NOT_WORKING machine

Gigatron TTL Microcomputer [Sterophonick]

also add a skeleton cpu core

* Revert Minor Spelling Fix

* Make some fixes

thanks cuavas

* Fix resolution

* gigatron: update cpu device name

* update copyright

* fix part of gigatron disassembler

* Set screen refresh rate

* found a set of all the ROM files, update main ROM name

* Fix cpu.lua

* Whoops

* Update gigatron.cpp

* gigatron: clear execute_set_input

* Update gigatron.h

* Update gigatrondasm.cpp

* Update gigatrondasm.h

* clean up but doesnt compile ffs
2020-01-21 13:33:33 -05:00
AJR
96ec01a614 Add tentative VT61/VT62 disassembler and skeleton CPU device 2020-01-13 21:18:27 -05:00
AJR
cdb9578471 rx01: Dumped firmware PROMs [Lord Nightmare]
rx01: Add disassembler and skeleton CPU device for custom firmware architecture [AJR]
2020-01-06 09:21:09 -05:00
AJR
f48f57ef81 Add new disassembler for WE32100 architecture
New machines marked as NOT_WORKING
----------------------------------
AT&T 3B2/300 [Bitsavers]

New clones marked as NOT_WORKING
--------------------------------
AT&T 3B2/310 [Bitsavers]
AT&T 3B2/400 [Bitsavers]
2019-12-30 19:15:31 -05:00
AJR
14c4dcc643 Add new disassembler for PACE architecture
New machines marked as NOT_WORKING
----------------------------------
unknown INS8900 Multibus card (980305652) [Bitsavers]
2019-12-28 12:39:46 -05:00
AJR
5da18d7422 New machines marked as NOT_WORKING
----------------------------------
VT52 [Dalby Datormuseum]
2019-12-18 11:07:59 -05:00
AJR
e69ff59e42 New machines marked as NOT_WORKING
----------------------------------
Speedcom VD56SP [ClawGrip]

Add disassembler and basic execution core for Rockwell R65C19 [AJR]
2019-11-25 22:55:20 -05:00
mooglyguy
b54cb1804b -sun4c_mmu.cpp: Made generic to support sun4 MMU mode, and cleaned up save state usage. [Ryan Holtz]
-sun4.cpp: Various changes: [Ryan Holtz]
 * Split sun4 and sun4c hardware emulation into separate derived classes.
 * Hooked up Sbus IRQs.
 * Removed now-unnecessary duplicate MMU code.

-cgsix.cpp: Added VSync IRQ, cleaned up save state usage, and added THC MISC register. [Ryan Holtz]

-sparc.cpp: Renamed MB86901 to SPARCV7, and added a separate class for SPARCV8. [Ryan Holtz]

-bt45x.cpp: Made logmacro.h usage more consistent. [Ryan Holtz]
2019-11-18 17:31:09 +01:00
Patrick Mackinlay
f821d80e01 dsp56000: new disassembler 2019-11-18 18:15:09 +07:00
AJR
27ddae4ecf Preliminary SoC emulation for Sitronix ST2204 and ST2205U 2019-11-03 11:32:32 -05:00
Vas Crabb
d80e7f95eb cpu/saturn: clean up a little (nw) 2019-10-27 02:16:50 +11:00
AJR
41a333e791 Add Fujitsu FR disassembler and skeleton CPU device 2019-10-23 21:54:26 -04:00
AJR
12c08b06c8 Split generic Z180 device into several subtypes. HD647180X now has specific device emulation for the internal PROM, RAM and parallel ports. 2019-09-30 21:30:10 -04:00
mooglyguy
450a57568e -dsp56k: Renamed relevant classes, files and namespaces to indicate that it is a DSP56156 core, not a DSP5600x core. [Ryan Holtz] 2019-08-19 15:53:47 +02:00
DavidHaywood
639a5c1fe6 don't use my ill-conceived generator for arcompact, easier to work with as regular files (nw) 2019-08-15 14:42:48 +01:00
AJR
30afb4579d Add disassembler and skeleton CPU device for CompactRISC CR16B architecture
vtech_unk1.cpp: Driver moved to glcx.cpp (nw)
2019-07-05 19:02:43 -04:00
arbee
515bbedaf3 f2mc16: add MB90610A and MB90611A microcontrollers. [R. Belmont] 2019-07-03 20:56:10 -04:00
arbee
306f4e6884 Preliminary Fujitsu F2MC-16 CPU core, currently disassembly only [R. Belmont] 2019-07-01 22:21:00 -04:00
AJR
48f7db090f Add disassembler and skeleton device for DP8344 Biphase Communications Processor 2019-06-22 18:14:16 -04:00
AJR
81eec8d860 Preliminary disassembler and skeleton CPU device for Elan RISC II/RII series architecture 2019-06-20 17:01:38 -04:00
AJR
6fff18773b i386: Improve splitting of unaligned accesses (excluding program fetches)
(nw) This entails a major code reorganization just to keep the scale of it all halfway sane.
2019-05-19 17:41:50 -04:00
David Haywood
f8656d9246 TV Game Work (progress towards smartfp and wrlshunt) (#4956)
* unsp refactoring / tv game work (nw)

* unsp refactoring / tv game work (nw)

* srcclean (nw)

* more ops (nw)

* (nw)

* (nw)

* guesses (nw)

* more guesses (nw)

* (nw)
2019-04-30 19:04:53 -04:00
Olivier Galibert
ea9cd8aea1 m680x0: gratuitously convert the generator to python [O. Galibert] 2019-04-29 22:04:15 +02:00
Olivier Galibert
adc473b74d swp20, dspv: Skeletons [O. Galibert] 2019-04-09 08:53:40 +02:00
Vas Crabb
97b6717027 (nw) Clean up the mess on master
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.

Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline.  When things like this happen, it wastes
everyone's time.  I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
2019-03-26 11:13:37 +11:00
andreasnaive
b380514764 Revert "conflict resolution (nw)"
This reverts commit c24473ddff, reversing
changes made to 009cba4fb8.
2019-03-25 23:13:40 +01:00
Nigel Barnes
9e122168ef ns32000: Skeleton CPU device with disassembler for NS32000 family.
bbc: Added preliminary Acorn 32016 2nd Processor, incomplete CPU emulation.
2019-03-23 11:55:09 +00:00
Olivier Galibert
b445d10135 ymmu100: Start adding the MEG [O. Galibert] 2019-03-23 12:09:54 +01:00
yz70s
a81cb8469e i386: add a simple cache to the athlon xp processor (nw)
.
A single 64K 2-way set associative cache
Used for both instructions and data
Enabled only for addresses in the first megabyte
Works always in writeback mode
.
It is needed by the nforce motherboard bios that uses it to simulate a
block of ram at address d0000 before ddr ram is configured
2019-03-14 21:03:12 +01:00
AJR
156619b401 Add skeleton CPU device and disassembler for HPC architecture 2019-03-03 16:56:13 -05:00
Patrick Mackinlay
ba8d7b1c8f r4000: experimental mips3 implementation (nw)
WIP checkpoint: while I believe it's largely accurate (and very slow), neither jazz nor sgi systems can fully boot yet using this device, so it remains experimental.

This implementation should go away when it has helped identify the improvements required for mips3.
2019-02-01 15:27:13 +07:00
Patrick Mackinlay
bb0702d2d5 alpha: new cpu, disassembler only 2019-01-24 15:03:38 +07:00
MooglyGuy
6784650038 unsp: Created a SunPlus u'nSP recompiler. [Ryan Holtz] 2019-01-12 12:51:22 +01:00
mooglyguy
dc8834b8dc Last round of macro removals before the freeze. (nw)
-sound/discrete, okim6295: Removed MCFG macros. [Ryan Holtz]

-norautp, osi, audio/mario: Removed MACHINE_CONFIG macros. [Ryan Holtz]

-vsmile: Split into its own driver from vii.cpp. [Ryan Holtz]

-vii: Fixed broken controller inputs. [Ryan Holtz]

-konamim2: Massive update. Most games work, but are still marked non-working due to rare MAME crashes in the PPC DRC. [Phil Bennett, Ryan Holtz]
2018-12-22 17:06:47 +01:00
DavidHaywood
90fef4da16 add derived CPU type for AX51-CORE (used by AX208 and others) so that we can start to customize disassembly and execution 2018-12-14 11:54:49 +00:00
yz70s
bac960a725 i386.cpp: move cpuid and msr routines to new file cpuidmsrs.hxx ... (nw)
... and add placeholders for athlonxp msrs.
2018-12-09 13:57:13 +01:00
mooglyguy
7b4440920a -o2.cpp: Added CRIME and MACE skeleton devices. [Ryan Holtz]
-mips3.cpp: Various changes: [Ryan Holtz]
 * Added an #ifdef to display DPRINTF calls from the SGI O2 PROM.
 * Switched R4000BE/LE, R4400BE, R4600BE, and R5000BE to 64-bit data bus.
 * Fixed a bug that caused a crash with 64-bit data bus and the DRC.

-indy_indigo2.cpp: Moved a number of devices into HPC3. [Ryan Holtz]

-hpc3.cpp: Fixed an oversight with IRQs. [Ryan Holtz]
2018-11-18 21:51:53 +01:00
Patrick Mackinlay
9df6cfe087 r3000: call it like it is (nw) 2018-11-06 17:21:01 +07:00
yz70s
4f5f5c6c92 i386.cpp: prepare to change hxx files into regular cpp files (nw)
-change order of include files at top of i386.cpp
-move some routines between i386.cpp and i386priv.h
-move part of x87ops.hxx into new file x87priv.h
.
Now you only have to rename the hxx files to cpp and add the following
at the top of each one
.
 #include "emu.h"
 #include "i386.h"
 #include "i386priv.h"
 #include "x87priv.h"
 #include "cycles.h"
 #include "debugger.h"
 #include "debug/debugcpu.h"
 #undef i386
2018-11-03 10:25:11 +01:00
Patrick Mackinlay
8740d148c1 v53: final tidy (nw)
* changed copyright holder due to near-complete replacement
* name changed to v5x which better reflects actual use
* minor comment cleanup
2018-11-01 11:47:28 +07:00
mooglyguy
27ee4f3915 -sun4: Added a sun4c MMU device. Currently wraps the functionality of S4-buffer, S4-cache, and S4-MMU, will eventually be split. [Ryan Holtz]
-sun4: Significant optimization, from 150% -> 330% unthrottled on an i7-5930K. [Ryan Holtz]
2018-09-22 19:41:10 +02:00
mooglyguy
40efe9785f -st62xx: Added a skeleton driver for the STmicro ST6 series of microcontrollers. [Ryan Holtz]
New machines marked as NOT_WORKING
----------------------------------
Catherine Wheel [f205v, Ryan Holtz]
2018-08-25 00:18:07 +02:00
Olivier Galibert
6e0bf6736a tms57002: Trick to reduce the compiler memory usage [O. Galibert] 2018-08-23 19:20:33 +02:00
Vas Crabb
012cbee2c3 Amiga keyboard overhaul:
* Implement Mitsumi Amiga 500, 600, and 2000/3000/4000/CDTV keyboards
* Add unlabeled keys to UK layout
* Restrict available keyboards depending on system type
* Note that C-A-A reset is now broken on "big box" Amigas as MAME doesn't implement it properly, and the hack providing a fake dedicated reset line has been removed

6502 MCU: fix execute loop

6500/1: implement as device with onboard peripherals

Fix some bogus comments
2018-08-23 00:25:21 +10:00
arbee
31a32f451d h8: H8/3003 support [R. Belmont] 2018-08-02 20:27:11 -04:00
David Haywood
88b1546f30 Flesh out TLCS870 core (#3763)
* rewrote most of the execution for my tlcs870 core

* no longer the case (nw)

* note updates (nw)

* address concerns, const qualify more things where possible (nw)

* more const (nw)

* oops (nw)

* consistency (nw)
2018-07-23 10:24:10 +10:00
mooglyguy
eed782f1e3 ps2sony: Some basic VU1 support, major file reshuffling, nw 2018-07-21 10:07:00 +02:00
mooglyguy
5db11a5e02 ps2sony: Checkpoint, nw 2018-07-17 18:14:24 +02:00
Patrick Mackinlay
44d80b6fb0 proposal: move z80daisy* to devices/machine (#3572)
* proposal: move z80daisy* to devices/machine

Seems to me this is a machine, not a CPU? Main reason was to stop the Z80 CPU from being dragged into systems that don't have one just because they use a Z80 family peripheral.

* missed this one (nw)

* missed a spot (nw)
2018-05-15 17:53:07 +10:00
hap
0fae49dc31 sm5*: added sm530 disasm (nw) 2018-05-12 17:37:41 +02:00
David Haywood
6627a9e480 start looking at the extra opcodes in the SSD 2000 type XaviX chip (s… (#3514)
* start looking at the extra opcodes in the SSD 2000 type XaviX chip (seems some undocumented 6502 opcodes are replaced with more custom ones)

* (nw)

* the xavix memory mapping gets stranger with each piece of new evidence (nw)
2018-05-04 12:22:18 -04:00
Vas Crabb
08dde5eb0a srcclean and regenerate localisations (nw) 2018-03-25 02:03:24 +11:00
Vas Crabb
b787818d0c dsp16: move most core state into DRC cache - keeps a lot of details out of the main header (DRC is still stubbed out) (nw) 2018-03-21 21:01:36 +11:00
Vas Crabb
724c602fd5 prettier way of adding DRC framework on-demand (nw) 2018-03-20 20:27:49 +11:00
Vas Crabb
5976a48035 dsp16: start adding recompiler boilerplate (nw) 2018-03-17 06:51:50 +11:00
Vas Crabb
245f822e7d use more constexpr and literal classes in UML to give compiler more optimisation opportunities (nw) 2018-03-17 00:58:54 +11:00
angelosa
bb11fbd2bd Blind faith fixed long names for almost all CPUs (nw)
mb86235.cpp: renamed pcs_ptr into pcp, and added a file for future interpreter core (nw)
2018-03-15 18:07:39 +01:00
Vas Crabb
0bf88bda8f Cycle-accurate DSP16 core (disabled in QSound for performance reasons) 2018-03-15 19:02:43 +11:00
R. Belmont
5ffc8a79a4
Merge pull request #3266 from JoakimLarsson/diablo_1
WIP: Diablo printer CPU
2018-02-28 14:03:10 -05:00
Vas Crabb
8dad4881f6 srcclean (nw) 2018-02-25 01:34:04 +11:00
joakim
35a7f3e628 WIP: Diablo printer CPU 2018-02-24 02:32:36 +01:00
Olivier Galibert
109e2dadb8 NUON disassembler [O. Galibert] 2018-02-18 22:56:53 +01:00
David Haywood
1e09ab0ceb create derived 6502 type for XaviX because it has at least one custom… (#3154)
* create derived 6502 type for XaviX because it has at least one custom 4-byte opcode that doesn't fit any other type.
treating that opcode as NOP for now.

have a feeling it might be something to do with the other integrated hardware, might be 'execute co-processor code chain at this address' or something similar
It isn't a standard JSL (Jump Subroutine Long)  like the SNES cpu opcode in the same place as this, it seems to point at some code-like structures tho)
could also be a secondary operation mode with different encoding like ARM's Thumb mode tho I guess.

We currently only have a single XaviX based dump (taitons1) but there are more on the way.  I'm going to see if the code flow makes any sense at all with these missing, or if any of it gives a clue as to what they should actually do.

* xavix - let's call these callf and retf then

after further investigation these are some kind of extra 'long jump' subroutine / task handlers, the 0x80 also being a custom opcode was throwing me off trying to identify them before.

looks like they might have been hacking 65816 features into the regular 6502 core?

* prepare for extra address bits (nw)

* better program flow (nw)
2018-02-02 14:34:12 -05:00
mooglyguy
ce54579557 -e132xs: fix botched DRC merge, nw 2017-12-29 22:46:36 +01:00
mooglyguy
5d36ef2d30 fixed build errors, nw 2017-12-29 13:43:36 +01:00
hap
e08f42a74e tms1000c: added correct microinstructions pla (nw) 2017-12-21 23:50:29 +01:00
Firehawke
9ece34eb21 Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame""
This reverts commit 54155441e9.
2017-12-13 21:31:27 -07:00
Firehawke
54155441e9 Revert "Merge branch 'master' of https://github.com/mamedev/mame"
This reverts commit f537428e5a, reversing
changes made to 0d70d79810.
2017-12-13 21:01:10 -07:00
mooglyguy
5d51e91100 no help = no hyperstone drc, nw 2017-12-06 21:51:34 +01:00
mooglyguy
bccc962b69 e132xs: initial work on drc, nw 2017-12-02 04:02:37 +01:00
mooglyguy
495df45315 e132xs: initial drc work, and templated conditional db/b, nw 2017-12-02 04:02:37 +01:00
Olivier Galibert
6caef2579a dvdisasm: Overhaul [O. Galibert]
Disassemblers are now independant classes.  Not only the code is
cleaner, but unidasm has access to all the cpu cores again.  The
interface to the disassembly method has changed from byte buffers to
objects that give a result to read methods.  This also adds support
for lfsr and/or paged PCs.
2017-11-26 17:41:27 +01:00
hap
7a900dd692 i8085: moved opcode macros to main file, will convert these to functions (nw) 2017-11-14 16:55:12 +01:00
hap
2e857fa8bd rename misleading i8085cpu.h to i8085ops.hxx (nw) 2017-11-14 03:02:39 +01:00
Dirk Best
faeedc757c einstein: Major cleanup, add a ADC0844 device
The analogue joystick is now emulated. Also fixed a few minor issues
with the memory map.

This also adds a generic Z80 dasisy chain device, for use in drivers
with non-Z80 peripherals.
2017-11-06 20:47:38 +01:00
Vas Crabb
4c29419cab srcclean (nw) 2017-10-22 12:34:30 +11:00
David Haywood
7851b3786c Preliminary SH3 / SH4 recompiler [David Haywood] (#2711) 2017-10-11 22:23:26 +02:00
David Haywood
c0ee79f3db use 'sh' instead of 'superh' 2017-10-02 19:47:35 +01:00
David Haywood
48aabf4122 move sh2 / sh4 to a folder called superh 2017-10-02 17:31:38 +01:00
AJR
ac06279df0 Create explicit i386dasm include for x86 DRC (nw) 2017-08-01 00:55:59 -04:00
Vas Crabb
01decf78b0 need this for debug trace logging on DRC cores (nw) 2017-08-01 14:37:05 +10:00
AJR
3b4315a4b5 Fix single build for i386-based drivers (nw) 2017-07-31 19:53:12 -04:00
fulivi
5201a7f6bf Begin of HP80 emulation (#2448)
What works:
* HP85A machine with 16K of RAM
* Capricorn CPU works
* Keyboard works (with minor issues)
* CRT text / graphics modes work (correct speed is not emulated yet so service ROM complaints)
* BASIC is usable

What is missing (and I'll have hopefully working soon):
* HW timers
* Beeper
* Integral printer
* DC100 cassette drive
* Extension ROMs
* I/O modules (especially the HPIB interface so that we can hook up floppy drives)
* Other models in the family (e.g. HP86)
2017-07-08 19:31:42 +10:00
David Haywood
907115ed06 create c-chip device with correct CPU type in it and a bunch of notes (pinout etc.)
create a uPD78C11 derived CPU type for this purpose, with internal ROM map
use internal ROM map for other uPD78C10 chips as it's always present.
add missing NO_DUMP definitions to various games using C-Chips with correct size etc.
pump megablast through the device code as really all it ever does is bank the c-chip window and test the RAM.
2017-07-05 01:45:09 +01:00
Vas Crabb
5ada035d17 Rewrote 4004 core and disassembler:
* Renamed to MCS-40.
* Emulated 8-clock instruction cycle, interruptible at any point.
* Converted TEST input to an input line.
* Added SYNC and CM output lines.
* Added support for 4040 CY output, logical operations, extended registers, ROM banking and disassembly.
* Made I/O space mapping more flexible to support the variety of peripherals available.
* Notable missing features are 4040 interrupt and halt, and "program memory" space.
2017-06-27 04:25:18 +10:00
hap
bca24133da sm510: made KB1013VK12 device a clone of SM5A (nw) 2017-06-23 00:34:16 +02:00
AJR
b201ad2cc0 Update cpu.lua properly (nw) 2017-05-26 17:20:31 -04:00
AJR
d1fb75b2e7 Quick and dirty split of most MC6801/MC6803/HD63701 features from base M6800 class (nw)
The code remains generally archaic and awful and in need of a sweeping rewrite. At least one static variable is no more.
2017-05-26 17:08:54 -04:00
dankan1890
f09ba1e562 Fixed some inaccuracies in file names in lua scripts. 2017-05-21 15:22:03 +10:00
Vas Crabb
0f0d39ef81 Move static data out of devices into the device types. This is a significant change, so please pay attention.
The core changes are:
* Short name, full name and source file are no longer members of device_t, they are part of the device type
* MACHINE_COFIG_START no longer needs a driver class
* MACHINE_CONFIG_DERIVED_CLASS is no longer necessary
* Specify the state class you want in the GAME/COMP/CONS line
* The compiler will work out the base class where the driver init member is declared
* There is one static device type object per driver rather than one per machine configuration

Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type.
* DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders.
* DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type.

Use  DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types.
* These macros declare storage for the static data, and instantiate the device type and device finder templates.

The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate.

Things I've actually messed with substantially:
* More descriptive names for a lot of devices
* Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes
* Changed DECO BSMT2000 ready callback into a device delegate
* Untangled Microprose 3D noise from driver state
* Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices
* Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly
* Started to break out common parts of Samsung ARM SoC devices
* Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++
* Tried to make Z180 table allocation/setup a bit safer
* Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant
* Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size
* Imporved encapsulation of Z80DART channels
* Refactored the SPC7110 bit table generator loop to make it more readable
* Added wrappers for SNES PPU operations so members can be made protected
* Factored out some boilerplate for YM chips with PSG
* toaplan2 gfx
* stic/intv resolution
* Video System video
* Out Run/Y-board sprite alignment
* GIC video hookup
* Amstrad CPC ROM box members
* IQ151 ROM cart region
* MSX cart IRQ callback resolution time
* SMS passthrough control devices starting subslots

I've smoke-tested several drivers, but I've probably missed something.  Things I've missed will likely blow up spectacularly with failure to bind errors and the like.  Let me know if there's more subtle breakage (could have happened in FM or Voodoo).

And can everyone please, please try to keep stuff clean.  In particular, please stop polluting the global namespace.  Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros.
It feels like an uphill battle trying to get this stuff under control while more of it's added.
2017-05-14 21:44:11 +10:00
Lord-Nightmare
3d18cb2faa Add preliminary Sharp SM590 CPU core [Lord Nightmare, hap] 2017-05-09 14:24:39 -04:00
Vas Crabb
fb087b6c92 Cherry-pick some features from self-registering drivers PoC:
* Use size_t for sizes and <algorithm> for algorithms
* Fix up some files that were getting linked into multiple libs
* Add missing virtual method to sh2 peripheral class
* Put shortname in driver struct for locality
* Use shared pointers in config LRU cache for safety
2017-02-16 12:20:35 +11:00
ajrhacker
a59a5cbbb5 preliminary TLCS-870 disassembler - Work in Progress (#1967) 2017-02-05 16:36:06 -05:00
Vas Crabb
06e22ce79d m6805: added skeleton CMOS devices
* Added m146805 and m68hc05 to unidasm
* Made opcode tables configurable in m6805_base_device, provided tables for HMOS, CMOS and HC families
* Implemented MUL instruction, made unimplemented STOP and WAIT raise fatal error
* Added skeleton MC68HC05C4 with RAM and ROM in correct locations in memory map
2017-01-30 23:10:51 +11:00
R. Belmont
5bb61a8965 Merge pull request #2016 from pmackinlay/interpro
Interpro
2017-01-24 14:02:51 -05:00
Patrick Mackinlay
875f3c9d12 initial pull request 2017-01-24 21:53:51 +07:00
R. Belmont
da169d7fe0 Merge pull request #2002 from wilbertpol/hcd62121
hcd62121/cfx9850: several small cleanups (nw)
2017-01-20 15:29:12 -05:00
Wilbert Pol
fc16e06975 hcd62121: several small cleanups (nw) 2017-01-19 22:50:30 +01:00
Curt Coder
9d371eb5ba cop400: Properly separated COP444L from COP444C. [Curt Coder] 2017-01-16 22:06:11 +02:00
Curt Coder
af0805d848 cop400: Removed non-working, incomplete COP440 code. (nw) 2017-01-16 20:13:31 +02:00
Vas Crabb
02d69ca65a m6805: refactoring and improvements
* Moved 68705 devices into their own file.
* Made P3, P5 and U3 variants and made them load bootstrap ROMs.
* Implemented EPROM control (write is stubbed out with a logerror).
* Implemented differences for open drain I/O ports.

(nw) Base device with peripherals should really derive from the 6805
device directly, not the 68705 devices, as I/O ports are present on mask
devices (e.g. 6805P2).  All drivers and devices that were using
M68705_NEW have been changed to M68705P5 - someone who knows the drivers
better should fix them up.
2017-01-12 19:05:12 +11:00
Ville Linde
dbcf903c78 Added preliminary MB86235 recompiler [Ville Linde] 2016-12-17 22:09:09 +02:00
Nathan Woods
dc4086847a Put necv_dasm_one() into a header file 2016-11-16 08:07:33 -05:00
fulivi
5f54097e53 nanoprocessor: initial support. Disassembler only is known to work at this point. 2016-11-03 14:52:41 +01:00
Nathan Woods
293bfef845 Merging Konami disassembler with M6809/HD6309 disassemblers 2016-10-23 21:27:45 -04:00
Nathan Woods
81294aa08f Merged the M6809 and HD6309 disassemblers, and changed to properly use streams 2016-10-23 18:03:36 -04:00
angelosa
f4749d03f7 Base WatchDog Timer device 2016-09-27 18:36:59 +02:00
angelosa
f6ad513ab0 Written stub SH7604 BUS device (not hooked up to SH2 yet). 2016-09-27 16:21:54 +02:00
Miodrag Milanovic
a9e89e4f17 Fixed separate compile of drivers using sharc/ADSP21062 cpu (nw) 2016-07-23 11:10:17 +02:00
therealmogminer@gmail.com
ff04ed4cc0 Convert SPARCv8 ops to document-described functionality 2016-06-23 14:20:24 +02:00
Vas Crabb
a1625d2220 improve SPARC disassembler: [Vas Crabb]
* Support SPARCv9
* Allow plug-in ASI comments
* Fix format of some opcodes
* Produce clr synthetic
* Allow running in v7, v8 and v9 modes
2016-06-22 04:39:56 +10:00
therealmogminer@gmail.com
6d50e3cb36 Add majority of SPARC integer ops 2016-06-18 13:37:06 +02:00
therealmogminer@gmail.com
579d4873a6 Initial MB86901 diassembler 2016-06-17 15:09:39 +02:00
hap
396c2a0946 fix compile problem 2016-06-05 21:46:48 +02:00
Ville Linde
958731ef5a Added highly experimental SHARC recompiler (disabled by default) [Ville Linde] 2016-05-28 18:58:54 +03:00
Felipe Corrêa da Silva Sanches
deb38446ea Further improvements to the Patinho Feio driver & CPU 2016-05-25 10:32:24 -03:00
hap
262524206b tms7000/e0c6200: renamed hxx(inc) to cpp 2016-05-01 21:39:40 +02:00
Miodrag Milanovic
be67262fc2 INC -> HXX makes editors and code analyzers see it as C++ (nw) 2016-05-01 20:27:50 +02:00
Miodrag Milanovic
13855d2404 Fixed ti drivers (nw) 2016-05-01 12:55:22 +02:00
Miodrag Milanovic
a0829452f1 fix for mb86235 (nw) 2016-05-01 11:06:06 +02:00
Miodrag Milanovic
949fddaaa8 hec2hrp and arcompact fix (nw) 2016-05-01 09:51:51 +02:00
Miodrag Milanovic
50361fcc23 R3000 is separate CPU, helps building some drivers with SOURCES (nw) 2016-04-28 18:26:37 +02:00
Olivier Galibert
5607ec442e h8: Add dtc, dma, watchdog (WIP) [O. Galibert]
h8: Fixes, lots of [O. Galibert]
cybiko: Make work a little emore, add v1 flash [O. Galibert]
2016-04-27 21:55:58 +02:00
Miodrag Milanovic
e55035391e fix for v25 building (nw) 2016-04-23 14:38:20 +02:00
hap
d981b66bba sm500: start on opcodes 2016-04-11 12:43:55 +02:00
hap
10cadefbe2 sm500 file placeholders 2016-04-05 11:33:05 +02:00
Miodrag Milanovic
9b3788035c scrclean on lua scripts (nw) 2016-03-29 08:49:47 +02:00
hap
d76a9644cf tms1k: split part 3, done 2016-03-16 02:59:29 +01:00
hap
1a479042cf tms1k: split part 2, renamed folder tms0980 to tms1000 2016-03-16 01:33:56 +01:00
hap
ce5cb07631 tms1k: split part 2, renamed files 2016-03-16 01:26:37 +01:00
AJR
0d8df9d595 Make generic VTLB implementation a modern device interface (nw) 2016-02-07 01:42:58 -05:00
Miodrag Milanovic
700683468a Removed dead PPC code (nw) 2015-12-09 10:25:40 +01:00
Felipe Corrêa da Silva Sanches
0618c642ba adding a basic machine driver for the Patinho Feio and setting up build system for the driver and the CPU module 2015-12-06 13:32:03 -02:00
Miodrag Milanovic
1fe2587c86 This one is not used in compile (nw) 2015-11-15 12:20:35 +01:00
Miodrag Milanovic
0f8471d937 Finished adding to lua, some included cpp renamed to inc (nw) 2015-11-12 15:00:07 +01:00
Miodrag Milanovic
5deec43cbc update build scripts for rename c - > cpp (nw) 2015-11-08 13:26:29 +01:00
David Haywood
965e52dff8 mask address space for a2600 in the CPU (m6507) not in the driver. 2015-10-30 00:50:38 +00:00
David Haywood
de9353adcb create derived CPU type so that code can be put in the correct place (nw) 2015-10-29 19:21:01 +00:00
Miodrag Milanovic
ee7ff77255 update build scripts and code change in order to fix compile (nw) 2015-09-13 09:20:24 +02:00
therealmogminer@gmail.com
5d7c5fc62b nw, add skeleton and disassembler for DEC PDP-8 CPU 2015-08-13 14:38:30 +02:00
therealmogminer@gmail.com
14c07a34b1 Fix the majority of CEN64 SSE stuff, nw 2015-07-09 13:30:12 +02:00
hap
563b496792 renamed some cpu core inc files to c 2015-07-03 23:04:24 +02:00
hap
9c8b2c6a1a moved sm510/11/12 specifics to their own files 2015-07-03 21:34:53 +02:00
hap
2b8c61e22b ok, fixed build 2015-07-03 19:51:51 +02:00
hap
7b0b0bbc95 added SM510 cpu skeleton 2015-06-30 02:10:33 +02:00
Miodrag Milanovic
89669187a7 arm7 also use drc code (nw) 2015-06-21 09:07:06 +02:00
Miodrag Milanovic
5a7a29e833 some metadata fixes (nw) 2015-06-20 20:10:19 +02:00
Miodrag Milanovic
654a5ca29b update metadata in lua files (nw) 2015-06-20 13:21:10 +02:00
fulivi
7717489f3e hp64k: Preliminary version of HP Hybrid CPU (no interrupts & no DMA yet) 2015-06-03 14:22:59 +02:00
hap
4587bb0369 added MELPS 4 skeleton 2015-05-19 23:34:20 +02:00
hap
a9fa89ef41 moved E0C6S46 to its own file 2015-05-09 19:47:27 +02:00
Miodrag Milanovic
ca37d40f69 Removed comments and added generic license for whole team on top (nw) 2015-05-09 16:05:30 +02:00
hap
fc68370aa5 added E0C6200 cpu skeleton.
also commented out some cpu cores from mame.lua, not needed anymore for unidasm compile due to this check:
if (CPUS["MYCPU"]~=null or _OPTIONS["with-tools"]) then
2015-05-05 15:54:07 +02:00
Miodrag Milanovic
c334fda9a9 Start adding .h and .inc files to help usage inside IDE's like VS and XCode (nw) 2015-04-11 14:17:02 +02:00
Miodrag Milanovic
590f20477c fix custombuild task missing in cpu.lua (nw) 2015-04-08 18:15:40 +02:00
Miodrag Milanovic
899f23a7ec Added PYTHON_EXECUTABLE to use differently named python executable(nw) 2015-04-08 14:19:43 +02:00
Miodrag Milanovic
1026d09afa Moved creation of most non-layout files out of makefile (nw) 2015-04-04 14:44:06 +02:00
Miodrag Milanovic
2df0d9deed Added generated m68kops files to tree, added makefile for developers working on core (nw) 2015-04-03 15:59:18 +02:00
Miodrag Milanovic
d5dd20d82d added back unidasm, and enabled building even in tiny builds (nw) 2015-03-30 09:25:12 +02:00
Miodrag Milanovic
7f1ad1db99 Explicit file listing in lua scripts making generate much much faster (nw) 2015-03-28 10:10:03 +01:00
Miodrag Milanovic
3d34fd00eb fix for DRC (nw) 2015-03-26 19:29:26 +01:00
Miodrag Milanovic
f76d59c41d Moved build system to GENie [Miodrag Milanovic]
make TARGET=mess -j19

will generate all needed files and build MESS, while developing you can use

make TARGET=mess COMPILE=1 -j19
to prevent rebuilding of make files.

Build system have automatic generate of dependencies so will do incremental builds fine.

make clean
will remove all generated files/projects and obj files
2015-03-26 09:00:39 +01:00