diff options
author | 2011-09-06 12:32:34 +0000 | |
---|---|---|
committer | 2011-09-06 12:32:34 +0000 | |
commit | 9be96922f22c4806609dbb45ceb2a9053e6d8ad9 (patch) | |
tree | 9769e3b1b01776b8098b7a477a49aa081b3401ac /src/emu/machine/idectrl.h | |
parent | c6ab853a145bdb7948355d6b7686d4cc959c46af (diff) |
Various changes and improvements to the Chihiro emulation [Samuele Zannoli]
* modifies the ide device (idectrl.c) so it supports cases where it is
not connected to an hard disk, but to some different hardware
* adds PC devices 8259 pic, 8253 pit, ide controller
* adds "chihiro" command with subcommands "jamdis", "dump_string",
"dump_process", "dump_list", "help"
* updates the smbus controller and adds stubs for the pic16lc,
cx25871, eeprom smbus devices
* updates the memory map for the newly added devices
* fixes the size of the "others" region
* adds hack for the missing dump of the smbus eeprom
Diffstat (limited to 'src/emu/machine/idectrl.h')
-rw-r--r-- | src/emu/machine/idectrl.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/emu/machine/idectrl.h b/src/emu/machine/idectrl.h index 3b27e8588aa..43c121ec6b1 100644 --- a/src/emu/machine/idectrl.h +++ b/src/emu/machine/idectrl.h @@ -22,6 +22,13 @@ /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ +typedef struct _ide_hardware ide_hardware; +struct _ide_hardware +{ + void (*get_info)(device_t *device, UINT8 *buffer, UINT16 &cylinders, UINT8 §ors, UINT8 &heads); + int (*read_sector)(device_t *device, UINT32 lba, void *buffer); + int (*write_sector)(device_t *device, UINT32 lba, const void *buffer); +}; typedef struct _ide_config ide_config; struct _ide_config @@ -31,6 +38,7 @@ struct _ide_config const char *slave; /* name of slave region (defaults to NULL) */ const char *bmcpu; /* name of bus master CPU */ UINT32 bmspace; /* address space of bus master transfer */ + const ide_hardware *hardware; /* connected to hardware that is not an hard disk */ }; @@ -51,6 +59,8 @@ struct _ide_config MCFG_DEVICE_CONFIG_DATAPTR(ide_config, bmcpu, _cpu) \ MCFG_DEVICE_CONFIG_DATA32(ide_config, bmspace, AS_##_space) +#define MCFG_IDE_CONNECTED_TO(_hardware) \ + MCFG_DEVICE_CONFIG_DATAPTR(ide_config, hardware, _hardware) \ /*************************************************************************** |