trunk/src/emu/imagedev/snapquik.c
| r21228 | r21229 | |
| 19 | 19 | snapshot_image_device::snapshot_image_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 20 | 20 | : device_t(mconfig, SNAPSHOT, "Snapshot", tag, owner, clock), |
| 21 | 21 | device_image_interface(mconfig, *this), |
| 22 | m_interface(NULL), |
| 22 | 23 | m_delay_attoseconds(0) |
| 23 | 24 | { |
| 24 | 25 | } |
| r21228 | r21229 | |
| 26 | 27 | snapshot_image_device::snapshot_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock) : |
| 27 | 28 | device_t(mconfig, type, name, tag, owner, clock), |
| 28 | 29 | device_image_interface(mconfig, *this), |
| 30 | m_interface(NULL), |
| 29 | 31 | m_delay_attoseconds(0) |
| 30 | 32 | { |
| 31 | 33 | } |
trunk/src/emu/imagedev/snapquik.h
| r21228 | r21229 | |
| 23 | 23 | |
| 24 | 24 | // image-level overrides |
| 25 | 25 | virtual bool call_load(); |
| 26 | virtual bool call_softlist_load(char *swlist, char *swname, rom_entry *start_entry) { return load_software(swlist, swname, start_entry); } |
| 26 | 27 | virtual iodevice_t image_type() const { return IO_SNAPSHOT; } |
| 27 | 28 | |
| 28 | 29 | virtual bool is_readable() const { return 1; } |
| r21228 | r21229 | |
| 30 | 31 | virtual bool is_creatable() const { return 0; } |
| 31 | 32 | virtual bool must_be_loaded() const { return 0; } |
| 32 | 33 | virtual bool is_reset_on_load() const { return 0; } |
| 33 | | virtual const char *image_interface() const { return NULL; } |
| 34 | virtual const char *image_interface() const { return m_interface; } |
| 34 | 35 | virtual const char *file_extensions() const { return m_file_extensions; } |
| 35 | 36 | virtual const option_guide *create_option_guide() const { return NULL; } |
| 36 | 37 | |
| 37 | 38 | void timer_callback(); |
| 38 | 39 | void set_handler(snapquick_load_func load, const char *ext, seconds_t sec) { m_load = load; m_file_extensions = ext; m_delay_seconds = sec; }; |
| 40 | void set_interface(const char *_interface) { m_interface = _interface; } |
| 39 | 41 | protected: |
| 40 | 42 | // device-level overrides |
| 41 | 43 | virtual void device_config_complete(); |
| r21228 | r21229 | |
| 43 | 45 | |
| 44 | 46 | snapquick_load_func m_load; /* loading function */ |
| 45 | 47 | const char * m_file_extensions; /* file extensions */ |
| 48 | const char * m_interface; |
| 46 | 49 | seconds_t m_delay_seconds; /* loading delay (seconds) */ |
| 47 | 50 | attoseconds_t m_delay_attoseconds; /* loading delay (attoseconds) */ |
| 48 | 51 | emu_timer *m_timer; |
| r21228 | r21229 | |
| 79 | 82 | MCFG_DEVICE_ADD(_tag, SNAPSHOT, 0) \ |
| 80 | 83 | static_cast<snapshot_image_device *>(device)->set_handler(SNAPSHOT_LOAD_NAME(_load), _file_extensions, _delay); |
| 81 | 84 | |
| 85 | #define MCFG_SNAPSHOT_INTERFACE(_interface) \ |
| 86 | static_cast<snapshot_image_device *>(device)->set_interface(_interface); |
| 87 | |
| 82 | 88 | #define MCFG_QUICKLOAD_ADD(_tag, _load, _file_extensions, _delay) \ |
| 83 | 89 | MCFG_DEVICE_ADD(_tag, QUICKLOAD, 0) \ |
| 84 | 90 | static_cast<quickload_image_device *>(device)->set_handler(QUICKLOAD_LOAD_NAME(_load), _file_extensions, _delay); |
| 85 | 91 | |
| 92 | #define MCFG_QUICKLOAD_INTERFACE(_interface) \ |
| 93 | static_cast<quickload_image_device *>(device)->set_interface(_interface); |
| 94 | |
| 86 | 95 | #endif /* __SNAPQUIK_H__ */ |