summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine/isa.h
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2012-10-10 15:33:51 +0000
committer Olivier Galibert <galibert@pobox.com>2012-10-10 15:33:51 +0000
commit9d1aaf97ae5a4d5b2272f064fe6b6fe7df9dbf88 (patch)
tree74e3dc1e5558b42717e62f9b81cc7d7d47b90449 /src/mess/machine/isa.h
parent204b78cf00de0c3bd8b6afefa601cd26aa391c91 (diff)
(mess) upd765: Modernize [O. Galibert]
Remaining TODO list: - take WP into account - test the amstrad, implement its observational format (edsk) using pasti as a start. Or find the legendary amstrad IPFs. Or both. - correct read track, the implementation is completely wrong. See previous for testing, it's only used in protections the check the inter-sector gaps. - shake and bake on the amstrad, protections are the best to find bugs in a fdc - add the scan id commands, but nothing seems to use them - debug the 2.88M formatting which is unreliable. Fix its IDAM/DAM gap size on formatting too (but that's not what's making it unreliable) - test all the systems that were hit, and fix what needs to be fixed. Beware that multiple problems may happen: - upd765 may be wrong - the driver may not be working - the hookup may be wrong/incomplete (bitrate selection and floppy rpm in particular) - the driver may be too limited for the new implementation (the x68k dma device does not handle non-instant dma yet for instance) - report invalid command when appropriate depending on the actual chip emulated - add the russian clones with their real names
Diffstat (limited to 'src/mess/machine/isa.h')
-rw-r--r--src/mess/machine/isa.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mess/machine/isa.h b/src/mess/machine/isa.h
index 3e0a8b755b8..5f7ea1b92de 100644
--- a/src/mess/machine/isa.h
+++ b/src/mess/machine/isa.h
@@ -150,6 +150,9 @@ public:
void install_device(device_t *dev, offs_t start, offs_t end, offs_t mask, offs_t mirror, read8_device_func rhandler, const char* rhandler_name, write8_device_func whandler, const char *whandler_name);
void install_device(offs_t start, offs_t end, offs_t mask, offs_t mirror, read8_delegate rhandler, write8_delegate whandler);
void install_device(offs_t start, offs_t end, offs_t mask, offs_t mirror, read8_space_func rhandler, const char* rhandler_name, write8_space_func whandler, const char *whandler_name);
+ template<typename T> void install_device(offs_t addrstart, offs_t addrend, T &device, void (T::*map)(address_map &map, device_t &device), int bits = 8, UINT64 unitmask = 0xffffffffffffffff) {
+ m_maincpu->space(AS_IO).install_device(addrstart, addrend, device, map, bits, unitmask);
+ }
void install_bank(offs_t start, offs_t end, offs_t mask, offs_t mirror, const char *tag, UINT8 *data);
void install_rom(device_t *dev, offs_t start, offs_t end, offs_t mask, offs_t mirror, const char *tag, const char *region);
void install_memory(device_t *dev, offs_t start, offs_t end, offs_t mask, offs_t mirror, read8_device_func rhandler, const char* rhandler_name, write8_device_func whandler, const char *whandler_name);