Commit Graph

19 Commits

Author SHA1 Message Date
Ivan Vangelista
fea0d694b3 devices\bus: some more MACHINE_CONFIG removal (nw) 2019-02-10 10:00:52 +01:00
mooglyguy
ce12c84ead tms7000: Removed MCFG. [Ryan Holtz] 2018-12-06 22:00:54 +01:00
Ivan Vangelista
cc59e2123e ay8910: finished MCFG macros removal (nw) 2018-11-14 18:56:50 +01:00
smf-
d58c0abc64 less space (nw) 2018-09-14 00:50:25 +01:00
mooglyguy
10e33516c8 -ram_device: MCFG removal, nw 2018-08-16 20:25:01 +02:00
Nigel Barnes
bcc860b2a9 sp0256: Remove MCFG_ from coco_ssc (nw) 2018-07-11 01:24:38 +01:00
Stefan Brüns
e6712208ea Avoid multiple explicit instantiations definition of templates
According to the C++ standard 14.7 clause 5, "an explicit
instantiation definition shall appear at most once in a program".

Move the instantiation from the individual implementation files
to the interface implementation file.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2018-06-29 20:11:12 +02:00
Vas Crabb
6c11b3ce01 dsp16: fix condition mask in disassembler (nw)
(nw) remove more MCFG macros and make speaker config more explicit
2018-05-09 19:26:44 +10:00
Vas Crabb
4ea3cd0bc1 Streamline machine configuration macros - everyone's a device edition.
Start replacing special device macros with additional constructors,
starting with ISA, INTELLEC 4 and RS-232 buses.

Allow an object finder to take on the target of another object finder.

(For a combination of the previous two things in action, see either the
INTELLEC 4 driver, or the Apple 2 PC Exporter card.  Also check out
looping over a device finder array to instantiate devices in some
places.  Lots of things no longer need to pass tags around.)

Start supplying default clocks for things that have a standard clock or
have all clocks internal.

Eliminate the separate DEV versions of the DEVCB_ macros.  Previously,
the plain versions were a shortcut for DEVICE_SELF as the target.  You
can now supply a string tag (relative to current device being
configured), an object finder (takes on the base and relative tag), or
a reference to a device/interface (only do this if you know the device
won't be replaced out from under it, but that's a safe assumption for
your subdevices).  In almost all cases, you can get the effect you want
by supplying *this as the target.

Eliminate sound and CPU versions of macros.  They serve no useful
purpose, provide no extra checks, make error messages longer, add
indirection, and mislead newbies into thinking there's a difference.

Remove a lot of now-unnecessary ":" prefixes binding things relative to
machine root.

Clean up some miscellaneous rot.

Examples of new functionality in use in (some more subtle than others):
* src/mame/drivers/intellec4.cpp
* src/mame/drivers/tranz330.cpp
* src/mame/drivers/osboren1.cpp
* src/mame/drivers/zorba.cpp
* src/mame/devices/smioc.cpp
* src/devices/bus/a2bus/pc_xporter.cpp
* src/devices/bus/isa/isa.h
* src/devices/bus/isa/isa.h
* src/devices/bus/intellec4/intellec4.h
2018-05-06 00:51:27 +10:00
Vas Crabb
57fd28d36a Sarayan made me do it.
Concrete device types now have a call operator that instantiates a
device.

This change means you *must* use DECLARE_DEVICE_TYPE to declare the
public interface of your device, even if it's device_t.  If you want
to use private implementation classes, use DEFINE_DEVICE_TYPE_PRIVATE
and instantiate the object finders.
2018-04-28 00:01:30 +10:00
Olivier Galibert
03ba80e0ef xtal.h is dead, long live to xtal.cpp [O. Galibert] 2018-01-23 10:25:25 +01:00
Olivier Galibert
d469cc04bc API Change: Machine configs are now a method of the owner class, and the prototype is simplified [O. Galibert]
Beware, the device context does not follow in MCFG_FRAGMENT_ADD
anymore due to the prototype change.  So creating a device then
configuring through a fragment doesn't work as-is.  The simplest
solution is just to add a MCFG_DEVICE_MODIFY at the start of the
fragment with the correct tag.
2018-01-17 16:11:18 +01:00
AJR
9f1fd2676e The great CoCo/Dragon clock correction (nw)
- Replace fake XTAL values with actual ones
- Correct SAM and GIME clocks
- Make sam6883_friend_device a subclass of device_interface
- Remove legacy 6809E device from MAME
2017-12-30 12:12:02 -05:00
AJR
f3236fc081 cococart: Provide a proper header for each device file (nw) 2017-11-23 10:09:40 -05:00
AJR
b26df88d83 tms7000: Convert I/O ports to callbacks (nw) 2017-10-30 10:32:23 -04:00
Vas Crabb
f31e735053 srcclean (nw) 2017-06-25 15:18:14 +10:00
tim lindner
3d6bd551bc Coco ssc busy delay (#2373) 2017-06-12 01:49:53 +10:00
AJR
c06998a3ac tms7000: Fix internal ROM region mapping (nw) 2017-06-10 11:35:48 -04:00
npwoods
4d50a02111 CoCo: Overhaul to the cartridge slot subsystem and Speech/Sound Cartridge support [Nathan Woods, Tim Lindner] 2017-06-01 12:45:51 +02:00