diff options
author | Aaron Giles <aaron@aarongiles.com> | 2009-01-26 16:25:48 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2009-01-26 16:25:48 +0000 |
commit | 2fd8c5122b62708667bce8203b00d3976b08d9c2 (patch) | |
tree | b5a243dc547553153505f5ae76edca7d4a20ff5e /.gitattributes | |
parent | 6640f6d8da5ff65f2f59123989ff56d183e28428 (diff) |
Added new module devcb, which can generically handle conversions between device
read/write functions and various other types of functions. Introduced new
structures and macros to make this possible.
To take advantage of this, a device must change its interface to replace and
read/write callbacks with the new devcb_read/write structures. During device
start time, the device then uses this new devcb module to resolve the information
in the devcb_read/write structures into a more efficient form. When the device
needs to call one of the callbacks, it uses the inline devcb_call_read/write
functions.
Once a device has defined its callbacks as devcb_read/write structures, users
of the device must use the DEVCB_* macros to specify the type and information
about the handler to use:
DEVCB_NULL = no handler
DEVCB_HANDLER = a standard device read/write handler
DEVCB_MEMORY_HANDLER = a memory address space read/write handler
DEVCB_DEVICE_HANDLER = a device read/write handler for a different device
DEVCB_INPUT_PORT = an input port
Converted the 8255PPI device to use this new structure, and updated all users
to use the DEVCB macros, removing some unnecessary trampoline functions along
the way.
Diffstat (limited to '.gitattributes')
-rw-r--r-- | .gitattributes | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes index 22141a2f04f..fdf7442604d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -505,6 +505,8 @@ src/emu/debug/textbuf.h svneol=native#text/plain src/emu/debugger.c svneol=native#text/plain src/emu/debugger.h svneol=native#text/plain src/emu/deprecat.h svneol=native#text/plain +src/emu/devcb.c svneol=native#text/plain +src/emu/devcb.h svneol=native#text/plain src/emu/devconv.h svneol=native#text/plain src/emu/devintrf.c svneol=native#text/plain src/emu/devintrf.h svneol=native#text/plain |