Commit Graph

5 Commits

Author SHA1 Message Date
Aaron Giles
5d93590f30 Convert Atari JSA sound boards to their own devices, and replumb
them through the Atari games that used them.
2013-07-14 22:49:13 +00:00
Wilbert Pol
6f7dd684be pic8259.c: Switched to devcb2. (nw) 2013-05-15 21:57:33 +00:00
Miodrag Milanovic
0e19f641d3 Cleanups and version bump 2013-01-11 07:32:46 +00:00
Miodrag Milanovic
6bfc7e54f9 Clean-ups and version bump 2012-10-30 07:07:38 +00:00
Aaron Giles
ecfbeb7fd0 Created a base class delegate_common_base for all delegate
types. Created a binding_type_exception which is thrown when
a bind attempt fails due to mismatched types.

Added helper templates to driver_device to wrap legacy
device read/write handlers into driver_device member functions.
This should help move some things forward until more common
code is converted into proper devices.

Introduce new module devcb2 which contains modernized
versions of devcb. Compared to previous implementation
this one is simpler overall, trampolining calls through
a single internal set of adapter functions. The new
versions are also designed to be specified in the
machine_config rather than in structures, so they are
no longer simple POD types. Additional new/changed
features:

 * reads and writes can map to delegates for line or 8/16/32/64-bit
 * reads and writes can map to an I/O port
 * reads can be mapped to a constant value, with or without logging
 * writes can be mapped to a device's input line
 * all reads/writes can have a shift, mask, and/or xor applied
 * devices can opt to make the functions safe-if-NULL when resolving
 * only member function types are supported

Rewrote the YM2151 interface to be fully modernized, and
removed the ym2151_interface struct in favor of inline configs
using the new devcb2 mechanism. In many cases, removed
no longer needed trampolines, instead taking advantage of
direct support for input line writes.
2012-10-14 06:28:35 +00:00