diff options
Diffstat (limited to 'src/devices/bus/abcbus/memcard.cpp')
-rw-r--r-- | src/devices/bus/abcbus/memcard.cpp | 44 |
1 files changed, 11 insertions, 33 deletions
diff --git a/src/devices/bus/abcbus/memcard.cpp b/src/devices/bus/abcbus/memcard.cpp index 6238345b65f..8ace715f696 100644 --- a/src/devices/bus/abcbus/memcard.cpp +++ b/src/devices/bus/abcbus/memcard.cpp @@ -63,41 +63,19 @@ Notes: // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE(ABC_MEMORY_CARD, abc_memory_card_device, "abc_mem", "ABC Memory Card") +DEFINE_DEVICE_TYPE(ABC_MEMORY_CARD, abc_memory_card_device, "abc_memcard", "ABC Memory Card") //------------------------------------------------- -// ROM( abc_dos ) +// device_add_mconfig - add device configuration //------------------------------------------------- -ROM_START( abc_dos ) - ROM_REGION( 0x1000, "dos", 0 ) - ROM_DEFAULT_BIOS("ufd20") - ROM_SYSTEM_BIOS( 0, "abcdos", "ABC-DOS" ) // Scandia Metric FD2 - ROMX_LOAD( "abcdos.3d", 0x0000, 0x1000, CRC(2cb2192f) SHA1(a6b3a9587714f8db807c05bee6c71c0684363744), ROM_BIOS(0) ) - ROM_SYSTEM_BIOS( 1, "dosdd80", "ABC-DOS DD" ) // ABC 830 - ROMX_LOAD( "dosdd80.3d", 0x0000, 0x1000, CRC(36db4c15) SHA1(ae462633f3a9c142bb029beb14749a84681377fa), ROM_BIOS(1) ) - ROM_SYSTEM_BIOS( 2, "ufd20", "UFD-DOS v.20" ) // ABC 830 - ROMX_LOAD( "ufddos20.3d", 0x0000, 0x1000, CRC(69b09c0b) SHA1(403997a06cf6495b8fa13dc74eff6a64ef7aa53e), ROM_BIOS(2) ) - - ROM_REGION( 0x400, "iec", 0 ) - ROM_LOAD( "iec.4b", 0x000, 0x400, NO_DUMP ) - - ROM_REGION( 0x400, "opt", 0 ) - ROM_LOAD( "spare.4a", 0x000, 0x400, NO_DUMP ) - - ROM_REGION( 0x400, "prn", 0 ) - ROM_LOAD( "printer.3b", 0x000, 0x400, NO_DUMP ) -ROM_END - - -//------------------------------------------------- -// rom_region - device-specific ROM region -//------------------------------------------------- - -const tiny_rom_entry *abc_memory_card_device::device_rom_region() const +void abc_memory_card_device::device_add_mconfig(machine_config & config) { - return ROM_NAME( abc_dos ); + GENERIC_SOCKET(config, m_dos_rom, generic_plain_slot, "abc80_dos", "bin"); + GENERIC_SOCKET(config, m_iec_rom, generic_plain_slot, "abc80_iec", "bin"); + GENERIC_SOCKET(config, m_opt_rom, generic_plain_slot, "abc80_opt", "bin"); + GENERIC_SOCKET(config, m_prn_rom, generic_plain_slot, "abc80_prn", "bin"); } @@ -145,19 +123,19 @@ uint8_t abc_memory_card_device::abcbus_xmemfl(offs_t offset) if (offset >= 0x6000 && offset < 0x7000) { - data = m_dos_rom->base()[offset & 0xfff]; + data = m_dos_rom->read_rom(offset & 0xfff); } if (offset >= 0x7000 && offset < 0x7400) { - data = m_iec_rom->base()[offset & 0x3ff]; + data = m_iec_rom->read_rom(offset & 0x3ff); } if (offset >= 0x7400 && offset < 0x7800) { - data = m_opt_rom->base()[offset & 0x3ff]; + data = m_opt_rom->read_rom(offset & 0x3ff); } if (offset >= 0x7800 && offset < 0x7c00) { - data = m_prn_rom->base()[offset & 0x3ff]; + data = m_prn_rom->read_rom(offset & 0x3ff); } return data; |