src/mess/machine/abc_xebec.c
| r0 | r15795 | |
| 1 | /********************************************************************** |
| 2 | |
| 3 | Unknown Xebec Winchester controller card emulation |
| 4 | |
| 5 | Copyright MESS Team. |
| 6 | Visit http://mamedev.org for licensing and usage restrictions. |
| 7 | |
| 8 | *********************************************************************/ |
| 9 | |
| 10 | #include "abc_xebec.h" |
| 11 | |
| 12 | |
| 13 | |
| 14 | //************************************************************************** |
| 15 | // MACROS / CONSTANTS |
| 16 | //************************************************************************** |
| 17 | |
| 18 | #define Z80_TAG "z80" |
| 19 | #define SASIBUS_TAG "sasi" |
| 20 | |
| 21 | |
| 22 | |
| 23 | //************************************************************************** |
| 24 | // DEVICE DEFINITIONS |
| 25 | //************************************************************************** |
| 26 | |
| 27 | const device_type ABC_XEBEC = &device_creator<abc_xebec_device>; |
| 28 | |
| 29 | |
| 30 | //------------------------------------------------- |
| 31 | // ROM( abc_xebec ) |
| 32 | //------------------------------------------------- |
| 33 | |
| 34 | ROM_START( abc_xebec ) |
| 35 | ROM_REGION( 0x800, Z80_TAG, 0 ) |
| 36 | ROM_SYSTEM_BIOS( 0, "st4038", "Seagate ST4038 (CHS: 733,5,17,512)" ) |
| 37 | ROMX_LOAD( "st4038.bin", 0x000, 0x800, CRC(4c803b87) SHA1(1141bb51ad9200fc32d92a749460843dc6af8953), ROM_BIOS(1) ) // Seagate ST4038 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST4038-1987-31MB-5-25-FH-MFM-ST412.html) |
| 38 | ROM_SYSTEM_BIOS( 1, "st225", "Seagate ST225 (CHS: 615,4,17,512)" ) |
| 39 | ROMX_LOAD( "st225.bin", 0x000, 0x800, CRC(c9f68f81) SHA1(7ff8b2a19f71fe0279ab3e5a0a5fffcb6030360c), ROM_BIOS(2) ) // Seagate ST225 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST225-21MB-5-25-HH-MFM-ST412.html) |
| 40 | ROM_END |
| 41 | |
| 42 | |
| 43 | //------------------------------------------------- |
| 44 | // rom_region - device-specific ROM region |
| 45 | //------------------------------------------------- |
| 46 | |
| 47 | const rom_entry *abc_xebec_device::device_rom_region() const |
| 48 | { |
| 49 | return ROM_NAME( abc_xebec ); |
| 50 | } |
| 51 | |
| 52 | |
| 53 | //------------------------------------------------- |
| 54 | // ADDRESS_MAP( abc_xebec_mem ) |
| 55 | //------------------------------------------------- |
| 56 | |
| 57 | static ADDRESS_MAP_START( abc_xebec_mem, AS_PROGRAM, 8, abc_xebec_device ) |
| 58 | AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION(Z80_TAG, 0) |
| 59 | ADDRESS_MAP_END |
| 60 | |
| 61 | |
| 62 | //------------------------------------------------- |
| 63 | // ADDRESS_MAP( abc_xebec_io ) |
| 64 | //------------------------------------------------- |
| 65 | |
| 66 | static ADDRESS_MAP_START( abc_xebec_io, AS_IO, 8, abc_xebec_device ) |
| 67 | ADDRESS_MAP_END |
| 68 | |
| 69 | |
| 70 | //------------------------------------------------- |
| 71 | // z80_daisy_config daisy_chain |
| 72 | //------------------------------------------------- |
| 73 | |
| 74 | static const z80_daisy_config daisy_chain[] = |
| 75 | { |
| 76 | { NULL } |
| 77 | }; |
| 78 | |
| 79 | |
| 80 | //------------------------------------------------- |
| 81 | // SCSIBus_interface sasi_intf |
| 82 | //------------------------------------------------- |
| 83 | |
| 84 | static const SCSIConfigTable sasi_dev_table = |
| 85 | { |
| 86 | 1, |
| 87 | { |
| 88 | { SCSI_ID_0, "harddisk0" } |
| 89 | } |
| 90 | }; |
| 91 | |
| 92 | static const SCSIBus_interface sasi_intf = |
| 93 | { |
| 94 | &sasi_dev_table, |
| 95 | NULL, |
| 96 | DEVCB_NULL, |
| 97 | DEVCB_NULL, |
| 98 | DEVCB_NULL, |
| 99 | DEVCB_NULL, |
| 100 | DEVCB_NULL, |
| 101 | DEVCB_NULL, |
| 102 | DEVCB_NULL |
| 103 | }; |
| 104 | |
| 105 | |
| 106 | //------------------------------------------------- |
| 107 | // MACHINE_DRIVER( abc_xebec ) |
| 108 | //------------------------------------------------- |
| 109 | |
| 110 | static MACHINE_CONFIG_FRAGMENT( abc_xebec ) |
| 111 | MCFG_CPU_ADD(Z80_TAG, Z80, 4000000) |
| 112 | MCFG_CPU_PROGRAM_MAP(abc_xebec_mem) |
| 113 | MCFG_CPU_IO_MAP(abc_xebec_io) |
| 114 | MCFG_CPU_CONFIG(daisy_chain) |
| 115 | |
| 116 | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 117 | MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0) |
| 118 | MACHINE_CONFIG_END |
| 119 | |
| 120 | |
| 121 | //------------------------------------------------- |
| 122 | // machine_config_additions - device-specific |
| 123 | // machine configurations |
| 124 | //------------------------------------------------- |
| 125 | |
| 126 | machine_config_constructor abc_xebec_device::device_mconfig_additions() const |
| 127 | { |
| 128 | return MACHINE_CONFIG_NAME( abc_xebec ); |
| 129 | } |
| 130 | |
| 131 | |
| 132 | |
| 133 | //************************************************************************** |
| 134 | // LIVE DEVICE |
| 135 | //************************************************************************** |
| 136 | |
| 137 | //------------------------------------------------- |
| 138 | // abc_xebec_device - constructor |
| 139 | //------------------------------------------------- |
| 140 | |
| 141 | abc_xebec_device::abc_xebec_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 142 | : device_t(mconfig, ABC_XEBEC, "ABC XEBEC", tag, owner, clock), |
| 143 | device_abcbus_card_interface(mconfig, *this), |
| 144 | m_maincpu(*this, Z80_TAG), |
| 145 | m_sasibus(*this, SASIBUS_TAG) |
| 146 | { |
| 147 | } |
| 148 | |
| 149 | |
| 150 | //------------------------------------------------- |
| 151 | // device_start - device-specific startup |
| 152 | //------------------------------------------------- |
| 153 | |
| 154 | void abc_xebec_device::device_start() |
| 155 | { |
| 156 | } |
| 157 | |
| 158 | |
| 159 | //------------------------------------------------- |
| 160 | // device_reset - device-specific reset |
| 161 | //------------------------------------------------- |
| 162 | |
| 163 | void abc_xebec_device::device_reset() |
| 164 | { |
| 165 | } |
| 166 | |
| 167 | |
| 168 | |
| 169 | //************************************************************************** |
| 170 | // ABC BUS INTERFACE |
| 171 | //************************************************************************** |
| 172 | |
| 173 | //------------------------------------------------- |
| 174 | // abcbus_cs - |
| 175 | //------------------------------------------------- |
| 176 | |
| 177 | void abc_xebec_device::abcbus_cs(UINT8 data) |
| 178 | { |
| 179 | } |
src/mess/machine/abc_xebec.h
| r0 | r15795 | |
| 1 | /********************************************************************** |
| 2 | |
| 3 | Unknown Xebec Winchester controller card emulation |
| 4 | |
| 5 | Copyright MESS Team. |
| 6 | Visit http://mamedev.org for licensing and usage restrictions. |
| 7 | |
| 8 | *********************************************************************/ |
| 9 | |
| 10 | #pragma once |
| 11 | |
| 12 | #ifndef __ABC_XEBEC__ |
| 13 | #define __ABC_XEBEC__ |
| 14 | |
| 15 | |
| 16 | #include "emu.h" |
| 17 | #include "cpu/z80/z80.h" |
| 18 | #include "cpu/z80/z80daisy.h" |
| 19 | #include "imagedev/harddriv.h" |
| 20 | #include "machine/abcbus.h" |
| 21 | #include "machine/scsibus.h" |
| 22 | #include "machine/scsihd.h" |
| 23 | |
| 24 | |
| 25 | |
| 26 | //************************************************************************** |
| 27 | // TYPE DEFINITIONS |
| 28 | //************************************************************************** |
| 29 | |
| 30 | // ======================> abc_xebec_device |
| 31 | |
| 32 | class abc_xebec_device : public device_t, |
| 33 | public device_abcbus_card_interface |
| 34 | { |
| 35 | public: |
| 36 | // construction/destruction |
| 37 | abc_xebec_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 38 | |
| 39 | // optional information overrides |
| 40 | virtual const rom_entry *device_rom_region() const; |
| 41 | virtual machine_config_constructor device_mconfig_additions() const; |
| 42 | |
| 43 | protected: |
| 44 | // device-level overrides |
| 45 | virtual void device_start(); |
| 46 | virtual void device_reset(); |
| 47 | virtual void device_config_complete() { m_shortname = "abc_xebec"; } |
| 48 | |
| 49 | // device_abcbus_interface overrides |
| 50 | virtual void abcbus_cs(UINT8 data); |
| 51 | |
| 52 | private: |
| 53 | required_device<cpu_device> m_maincpu; |
| 54 | required_device<device_t> m_sasibus; |
| 55 | }; |
| 56 | |
| 57 | |
| 58 | // device type definition |
| 59 | extern const device_type ABC_XEBEC; |
| 60 | |
| 61 | |
| 62 | |
| 63 | #endif |
src/mess/machine/abc_turbo.c
| r0 | r15795 | |
| 1 | /********************************************************************** |
| 2 | |
| 3 | MyAB Turbo-Kontroller disk controller emulation |
| 4 | |
| 5 | Copyright MESS Team. |
| 6 | Visit http://mamedev.org for licensing and usage restrictions. |
| 7 | |
| 8 | *********************************************************************/ |
| 9 | |
| 10 | #include "abc_turbo.h" |
| 11 | |
| 12 | |
| 13 | |
| 14 | //************************************************************************** |
| 15 | // MACROS / CONSTANTS |
| 16 | //************************************************************************** |
| 17 | |
| 18 | #define Z80_TAG "z80" |
| 19 | |
| 20 | |
| 21 | |
| 22 | //************************************************************************** |
| 23 | // DEVICE DEFINITIONS |
| 24 | //************************************************************************** |
| 25 | |
| 26 | const device_type TURBO_KONTROLLER = &device_creator<turbo_kontroller_device>; |
| 27 | |
| 28 | |
| 29 | //------------------------------------------------- |
| 30 | // ROM( turbo_kontroller ) |
| 31 | //------------------------------------------------- |
| 32 | |
| 33 | ROM_START( turbo_kontroller ) |
| 34 | ROM_REGION( 0x1000, Z80_TAG, 0 ) |
| 35 | ROM_SYSTEM_BIOS( 0, "525", "5\" 25-pin" ) |
| 36 | ROMX_LOAD( "unidis5d.bin", 0x0000, 0x1000, CRC(569dd60c) SHA1(47b810bcb5a063ffb3034fd7138dc5e15d243676), ROM_BIOS(1) ) |
| 37 | ROM_SYSTEM_BIOS( 1, "534", "5\" 34-pin" ) |
| 38 | ROMX_LOAD( "unidiskh.bin", 0x0000, 0x1000, CRC(5079ad85) SHA1(42bb91318f13929c3a440de3fa1f0491a0b90863), ROM_BIOS(2) ) |
| 39 | ROM_SYSTEM_BIOS( 2, "8", "8\"" ) |
| 40 | ROMX_LOAD( "unidisk8.bin", 0x0000, 0x1000, CRC(d04e6a43) SHA1(8db504d46ff0355c72bd58fd536abeb17425c532), ROM_BIOS(3) ) |
| 41 | ROM_END |
| 42 | |
| 43 | |
| 44 | //------------------------------------------------- |
| 45 | // rom_region - device-specific ROM region |
| 46 | //------------------------------------------------- |
| 47 | |
| 48 | const rom_entry *turbo_kontroller_device::device_rom_region() const |
| 49 | { |
| 50 | return ROM_NAME( turbo_kontroller ); |
| 51 | } |
| 52 | |
| 53 | |
| 54 | //------------------------------------------------- |
| 55 | // ADDRESS_MAP( turbo_kontroller_mem ) |
| 56 | //------------------------------------------------- |
| 57 | |
| 58 | static ADDRESS_MAP_START( turbo_kontroller_mem, AS_PROGRAM, 8, turbo_kontroller_device ) |
| 59 | AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION(Z80_TAG, 0) |
| 60 | ADDRESS_MAP_END |
| 61 | |
| 62 | |
| 63 | //------------------------------------------------- |
| 64 | // ADDRESS_MAP( turbo_kontroller_io ) |
| 65 | //------------------------------------------------- |
| 66 | |
| 67 | static ADDRESS_MAP_START( turbo_kontroller_io, AS_IO, 8, turbo_kontroller_device ) |
| 68 | ADDRESS_MAP_END |
| 69 | |
| 70 | |
| 71 | //------------------------------------------------- |
| 72 | // z80_daisy_config daisy_chain |
| 73 | //------------------------------------------------- |
| 74 | |
| 75 | static const z80_daisy_config daisy_chain[] = |
| 76 | { |
| 77 | { NULL } |
| 78 | }; |
| 79 | |
| 80 | |
| 81 | //------------------------------------------------- |
| 82 | // floppy_interface unidisk_floppy_interface |
| 83 | //------------------------------------------------- |
| 84 | |
| 85 | static const floppy_interface unidisk_floppy_interface = |
| 86 | { |
| 87 | DEVCB_NULL, |
| 88 | DEVCB_NULL, |
| 89 | DEVCB_NULL, |
| 90 | DEVCB_NULL, |
| 91 | DEVCB_NULL, |
| 92 | FLOPPY_STANDARD_5_25_DSDD, |
| 93 | LEGACY_FLOPPY_OPTIONS_NAME(default), |
| 94 | "floppy_5_25", |
| 95 | NULL |
| 96 | }; |
| 97 | |
| 98 | |
| 99 | //------------------------------------------------- |
| 100 | // MACHINE_DRIVER( turbo_kontroller ) |
| 101 | //------------------------------------------------- |
| 102 | |
| 103 | static MACHINE_CONFIG_FRAGMENT( turbo_kontroller ) |
| 104 | MCFG_CPU_ADD(Z80_TAG, Z80, 4000000) |
| 105 | MCFG_CPU_PROGRAM_MAP(turbo_kontroller_mem) |
| 106 | MCFG_CPU_IO_MAP(turbo_kontroller_io) |
| 107 | MCFG_CPU_CONFIG(daisy_chain) |
| 108 | |
| 109 | MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(unidisk_floppy_interface) |
| 110 | MACHINE_CONFIG_END |
| 111 | |
| 112 | |
| 113 | //------------------------------------------------- |
| 114 | // machine_config_additions - device-specific |
| 115 | // machine configurations |
| 116 | //------------------------------------------------- |
| 117 | |
| 118 | machine_config_constructor turbo_kontroller_device::device_mconfig_additions() const |
| 119 | { |
| 120 | return MACHINE_CONFIG_NAME( turbo_kontroller ); |
| 121 | } |
| 122 | |
| 123 | |
| 124 | |
| 125 | //************************************************************************** |
| 126 | // LIVE DEVICE |
| 127 | //************************************************************************** |
| 128 | |
| 129 | //------------------------------------------------- |
| 130 | // turbo_kontroller_device - constructor |
| 131 | //------------------------------------------------- |
| 132 | |
| 133 | turbo_kontroller_device::turbo_kontroller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 134 | : device_t(mconfig, TURBO_KONTROLLER, "Luxor 55 10828", tag, owner, clock), |
| 135 | device_abcbus_card_interface(mconfig, *this), |
| 136 | m_maincpu(*this, Z80_TAG), |
| 137 | m_image0(*this, FLOPPY_0), |
| 138 | m_image1(*this, FLOPPY_1) |
| 139 | { |
| 140 | } |
| 141 | |
| 142 | |
| 143 | //------------------------------------------------- |
| 144 | // device_start - device-specific startup |
| 145 | //------------------------------------------------- |
| 146 | |
| 147 | void turbo_kontroller_device::device_start() |
| 148 | { |
| 149 | } |
| 150 | |
| 151 | |
| 152 | //------------------------------------------------- |
| 153 | // device_reset - device-specific reset |
| 154 | //------------------------------------------------- |
| 155 | |
| 156 | void turbo_kontroller_device::device_reset() |
| 157 | { |
| 158 | } |
| 159 | |
| 160 | |
| 161 | |
| 162 | //************************************************************************** |
| 163 | // ABC BUS INTERFACE |
| 164 | //************************************************************************** |
| 165 | |
| 166 | //------------------------------------------------- |
| 167 | // abcbus_cs - |
| 168 | //------------------------------------------------- |
| 169 | |
| 170 | void turbo_kontroller_device::abcbus_cs(UINT8 data) |
| 171 | { |
| 172 | } |
src/mess/machine/abc_turbo.h
| r0 | r15795 | |
| 1 | /********************************************************************** |
| 2 | |
| 3 | MyAB Turbo-Kontroller disk controller emulation |
| 4 | |
| 5 | Copyright MESS Team. |
| 6 | Visit http://mamedev.org for licensing and usage restrictions. |
| 7 | |
| 8 | *********************************************************************/ |
| 9 | |
| 10 | #pragma once |
| 11 | |
| 12 | #ifndef __TURBO_KONTROLLER__ |
| 13 | #define __TURBO_KONTROLLER__ |
| 14 | |
| 15 | |
| 16 | #include "emu.h" |
| 17 | #include "cpu/z80/z80.h" |
| 18 | #include "cpu/z80/z80daisy.h" |
| 19 | #include "formats/basicdsk.h" |
| 20 | #include "imagedev/flopdrv.h" |
| 21 | #include "machine/abcbus.h" |
| 22 | |
| 23 | |
| 24 | |
| 25 | //************************************************************************** |
| 26 | // TYPE DEFINITIONS |
| 27 | //************************************************************************** |
| 28 | |
| 29 | // ======================> turbo_kontroller_device |
| 30 | |
| 31 | class turbo_kontroller_device : public device_t, |
| 32 | public device_abcbus_card_interface |
| 33 | { |
| 34 | public: |
| 35 | // construction/destruction |
| 36 | turbo_kontroller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 37 | |
| 38 | // optional information overrides |
| 39 | virtual const rom_entry *device_rom_region() const; |
| 40 | virtual machine_config_constructor device_mconfig_additions() const; |
| 41 | |
| 42 | protected: |
| 43 | // device-level overrides |
| 44 | virtual void device_start(); |
| 45 | virtual void device_reset(); |
| 46 | virtual void device_config_complete() { m_shortname = "unidisk"; } |
| 47 | |
| 48 | // device_abcbus_interface overrides |
| 49 | virtual void abcbus_cs(UINT8 data); |
| 50 | |
| 51 | private: |
| 52 | required_device<cpu_device> m_maincpu; |
| 53 | required_device<legacy_floppy_image_device> m_image0; |
| 54 | required_device<legacy_floppy_image_device> m_image1; |
| 55 | }; |
| 56 | |
| 57 | |
| 58 | // device type definition |
| 59 | extern const device_type TURBO_KONTROLLER; |
| 60 | |
| 61 | |
| 62 | |
| 63 | #endif |
src/mess/machine/abc_hdc.c
| r0 | r15795 | |
| 1 | /********************************************************************** |
| 2 | |
| 3 | Luxor ABC 850 Winchester controller card emulation |
| 4 | |
| 5 | Copyright MESS Team. |
| 6 | Visit http://mamedev.org for licensing and usage restrictions. |
| 7 | |
| 8 | *********************************************************************/ |
| 9 | |
| 10 | #include "abc_hdc.h" |
| 11 | |
| 12 | |
| 13 | |
| 14 | //************************************************************************** |
| 15 | // MACROS / CONSTANTS |
| 16 | //************************************************************************** |
| 17 | |
| 18 | #define Z80_TAG "z80" |
| 19 | #define SASIBUS_TAG "sasi" |
| 20 | |
| 21 | |
| 22 | |
| 23 | //************************************************************************** |
| 24 | // DEVICE DEFINITIONS |
| 25 | //************************************************************************** |
| 26 | |
| 27 | const device_type ABC_HDC = &device_creator<abc_hdc_device>; |
| 28 | |
| 29 | |
| 30 | //------------------------------------------------- |
| 31 | // ROM( abc_hdc ) |
| 32 | //------------------------------------------------- |
| 33 | |
| 34 | ROM_START( abc_hdc ) |
| 35 | ROM_REGION( 0x1000, Z80_TAG, 0 ) |
| 36 | // ABC 850 |
| 37 | ROM_SYSTEM_BIOS(0, "ro202", "Rodime RO202 (CHS: 321,4,17,512)" ) |
| 38 | ROMX_LOAD( "rodi202.bin", 0x0000, 0x0800, CRC(337b4dcf) SHA1(791ebeb4521ddc11fb9742114018e161e1849bdf), ROM_BIOS(1) ) // Rodime RO202 (http://stason.org/TULARC/pc/hard-drives-hdd/rodime/RO202-11MB-5-25-FH-MFM-ST506.html) |
| 39 | ROM_SYSTEM_BIOS(1, "basf6185", "BASF 6185 (CHS: 440,6,32,256)" ) |
| 40 | ROMX_LOAD( "basf6185.bin", 0x0000, 0x0800, CRC(06f8fe2e) SHA1(e81f2a47c854e0dbb096bee3428d79e63591059d), ROM_BIOS(2) ) // BASF 6185 (http://stason.org/TULARC/pc/hard-drives-hdd/basf-magnetics/6185-22MB-5-25-FH-MFM-ST412.html) |
| 41 | // ABC 852 |
| 42 | ROM_SYSTEM_BIOS(2, "nec5126", "NEC 5126 (CHS: 615,4,17,512)" ) |
| 43 | ROMX_LOAD( "nec5126.bin", 0x0000, 0x1000, CRC(17c247e7) SHA1(7339738b87751655cb4d6414422593272fe72f5d), ROM_BIOS(3) ) // NEC 5126 (http://stason.org/TULARC/pc/hard-drives-hdd/nec/D5126-20MB-5-25-HH-MFM-ST506.html) |
| 44 | // ABC 856 |
| 45 | ROM_SYSTEM_BIOS(3, "micr1325", "Micropolis 1325 (CHS: 1024,8,33,256)" ) |
| 46 | ROMX_LOAD( "micr1325.bin", 0x0000, 0x0800, CRC(084af409) SHA1(342b8e214a8c4c2b014604e53c45ef1bd1c69ea3), ROM_BIOS(4) ) // Micropolis 1325 (http://stason.org/TULARC/pc/hard-drives-hdd/micropolis/1325-69MB-5-25-FH-MFM-ST506.html) |
| 47 | ROM_END |
| 48 | |
| 49 | |
| 50 | //------------------------------------------------- |
| 51 | // rom_region - device-specific ROM region |
| 52 | //------------------------------------------------- |
| 53 | |
| 54 | const rom_entry *abc_hdc_device::device_rom_region() const |
| 55 | { |
| 56 | return ROM_NAME( abc_hdc ); |
| 57 | } |
| 58 | |
| 59 | |
| 60 | //------------------------------------------------- |
| 61 | // ADDRESS_MAP( abc_hdc_mem ) |
| 62 | //------------------------------------------------- |
| 63 | |
| 64 | static ADDRESS_MAP_START( abc_hdc_mem, AS_PROGRAM, 8, abc_hdc_device ) |
| 65 | AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION(Z80_TAG, 0) |
| 66 | ADDRESS_MAP_END |
| 67 | |
| 68 | |
| 69 | //------------------------------------------------- |
| 70 | // ADDRESS_MAP( abc_hdc_io ) |
| 71 | //------------------------------------------------- |
| 72 | |
| 73 | static ADDRESS_MAP_START( abc_hdc_io, AS_IO, 8, abc_hdc_device ) |
| 74 | ADDRESS_MAP_END |
| 75 | |
| 76 | |
| 77 | //------------------------------------------------- |
| 78 | // z80_daisy_config daisy_chain |
| 79 | //------------------------------------------------- |
| 80 | |
| 81 | static const z80_daisy_config daisy_chain[] = |
| 82 | { |
| 83 | { NULL } |
| 84 | }; |
| 85 | |
| 86 | |
| 87 | //------------------------------------------------- |
| 88 | // SCSIBus_interface sasi_intf |
| 89 | //------------------------------------------------- |
| 90 | |
| 91 | static const SCSIConfigTable sasi_dev_table = |
| 92 | { |
| 93 | 1, |
| 94 | { |
| 95 | { SCSI_ID_0, "harddisk0" } |
| 96 | } |
| 97 | }; |
| 98 | |
| 99 | static const SCSIBus_interface sasi_intf = |
| 100 | { |
| 101 | &sasi_dev_table, |
| 102 | NULL, |
| 103 | DEVCB_NULL, |
| 104 | DEVCB_NULL, |
| 105 | DEVCB_NULL, |
| 106 | DEVCB_NULL, |
| 107 | DEVCB_NULL, |
| 108 | DEVCB_NULL, |
| 109 | DEVCB_NULL |
| 110 | }; |
| 111 | |
| 112 | |
| 113 | //------------------------------------------------- |
| 114 | // MACHINE_DRIVER( abc_hdc ) |
| 115 | //------------------------------------------------- |
| 116 | |
| 117 | static MACHINE_CONFIG_FRAGMENT( abc_hdc ) |
| 118 | MCFG_CPU_ADD(Z80_TAG, Z80, 4000000) |
| 119 | MCFG_CPU_PROGRAM_MAP(abc_hdc_mem) |
| 120 | MCFG_CPU_IO_MAP(abc_hdc_io) |
| 121 | MCFG_CPU_CONFIG(daisy_chain) |
| 122 | |
| 123 | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 124 | MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0) |
| 125 | MACHINE_CONFIG_END |
| 126 | |
| 127 | |
| 128 | //------------------------------------------------- |
| 129 | // machine_config_additions - device-specific |
| 130 | // machine configurations |
| 131 | //------------------------------------------------- |
| 132 | |
| 133 | machine_config_constructor abc_hdc_device::device_mconfig_additions() const |
| 134 | { |
| 135 | return MACHINE_CONFIG_NAME( abc_hdc ); |
| 136 | } |
| 137 | |
| 138 | |
| 139 | |
| 140 | //************************************************************************** |
| 141 | // LIVE DEVICE |
| 142 | //************************************************************************** |
| 143 | |
| 144 | //------------------------------------------------- |
| 145 | // abc_hdc_device - constructor |
| 146 | //------------------------------------------------- |
| 147 | |
| 148 | abc_hdc_device::abc_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 149 | : device_t(mconfig, ABC_HDC, "ABC HDC", tag, owner, clock), |
| 150 | device_abcbus_card_interface(mconfig, *this), |
| 151 | m_maincpu(*this, Z80_TAG), |
| 152 | m_sasibus(*this, SASIBUS_TAG) |
| 153 | { |
| 154 | } |
| 155 | |
| 156 | |
| 157 | //------------------------------------------------- |
| 158 | // device_start - device-specific startup |
| 159 | //------------------------------------------------- |
| 160 | |
| 161 | void abc_hdc_device::device_start() |
| 162 | { |
| 163 | } |
| 164 | |
| 165 | |
| 166 | //------------------------------------------------- |
| 167 | // device_reset - device-specific reset |
| 168 | //------------------------------------------------- |
| 169 | |
| 170 | void abc_hdc_device::device_reset() |
| 171 | { |
| 172 | } |
| 173 | |
| 174 | |
| 175 | |
| 176 | //************************************************************************** |
| 177 | // ABC BUS INTERFACE |
| 178 | //************************************************************************** |
| 179 | |
| 180 | //------------------------------------------------- |
| 181 | // abcbus_cs - |
| 182 | //------------------------------------------------- |
| 183 | |
| 184 | void abc_hdc_device::abcbus_cs(UINT8 data) |
| 185 | { |
| 186 | } |
src/mess/machine/abc_hdc.h
| r0 | r15795 | |
| 1 | /********************************************************************** |
| 2 | |
| 3 | Luxor ABC 850 Winchester controller card emulation |
| 4 | |
| 5 | Copyright MESS Team. |
| 6 | Visit http://mamedev.org for licensing and usage restrictions. |
| 7 | |
| 8 | *********************************************************************/ |
| 9 | |
| 10 | #pragma once |
| 11 | |
| 12 | #ifndef __ABC_HDC__ |
| 13 | #define __ABC_HDC__ |
| 14 | |
| 15 | |
| 16 | #include "emu.h" |
| 17 | #include "cpu/z80/z80.h" |
| 18 | #include "cpu/z80/z80daisy.h" |
| 19 | #include "imagedev/harddriv.h" |
| 20 | #include "machine/abcbus.h" |
| 21 | #include "machine/scsibus.h" |
| 22 | #include "machine/scsihd.h" |
| 23 | |
| 24 | |
| 25 | |
| 26 | //************************************************************************** |
| 27 | // TYPE DEFINITIONS |
| 28 | //************************************************************************** |
| 29 | |
| 30 | // ======================> abc_hdc_device |
| 31 | |
| 32 | class abc_hdc_device : public device_t, |
| 33 | public device_abcbus_card_interface |
| 34 | { |
| 35 | public: |
| 36 | // construction/destruction |
| 37 | abc_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 38 | |
| 39 | // optional information overrides |
| 40 | virtual const rom_entry *device_rom_region() const; |
| 41 | virtual machine_config_constructor device_mconfig_additions() const; |
| 42 | |
| 43 | protected: |
| 44 | // device-level overrides |
| 45 | virtual void device_start(); |
| 46 | virtual void device_reset(); |
| 47 | virtual void device_config_complete() { m_shortname = "abc_hdc"; } |
| 48 | |
| 49 | // device_abcbus_interface overrides |
| 50 | virtual void abcbus_cs(UINT8 data); |
| 51 | |
| 52 | private: |
| 53 | required_device<cpu_device> m_maincpu; |
| 54 | required_device<device_t> m_sasibus; |
| 55 | }; |
| 56 | |
| 57 | |
| 58 | // device type definition |
| 59 | extern const device_type ABC_HDC; |
| 60 | |
| 61 | |
| 62 | |
| 63 | #endif |
src/mess/drivers/abc80x.c
| r15794 | r15795 | |
| 1389 | 1389 | |
| 1390 | 1390 | ROM_REGION( 0x200, "hru2", 0 ) |
| 1391 | 1391 | ROM_LOAD( "hru ii.3a", 0x0000, 0x0200, CRC(8e9d7cdc) SHA1(4ad16dc0992e31cdb2e644c7be81d334a56f7ad6) ) |
| 1392 | | |
| 1393 | | ROM_REGION( 0x800, "abc850", 0 ) |
| 1394 | | ROM_LOAD_OPTIONAL( "rodi202.bin", 0x0000, 0x0800, CRC(337b4dcf) SHA1(791ebeb4521ddc11fb9742114018e161e1849bdf) ) // Rodime RO202 (http://stason.org/TULARC/pc/hard-drives-hdd/rodime/RO202-11MB-5-25-FH-MFM-ST506.html) |
| 1395 | | ROM_LOAD_OPTIONAL( "basf6185.bin", 0x0000, 0x0800, CRC(06f8fe2e) SHA1(e81f2a47c854e0dbb096bee3428d79e63591059d) ) // BASF 6185 (http://stason.org/TULARC/pc/hard-drives-hdd/basf-magnetics/6185-22MB-5-25-FH-MFM-ST412.html) |
| 1396 | | |
| 1397 | | ROM_REGION( 0x1000, "abc852", 0 ) |
| 1398 | | ROM_LOAD_OPTIONAL( "nec5126.bin", 0x0000, 0x1000, CRC(17c247e7) SHA1(7339738b87751655cb4d6414422593272fe72f5d) ) // NEC 5126 (http://stason.org/TULARC/pc/hard-drives-hdd/nec/D5126-20MB-5-25-HH-MFM-ST506.html) |
| 1399 | | |
| 1400 | | ROM_REGION( 0x800, "abc856", 0 ) |
| 1401 | | ROM_LOAD_OPTIONAL( "micr1325.bin", 0x0000, 0x0800, CRC(084af409) SHA1(342b8e214a8c4c2b014604e53c45ef1bd1c69ea3) ) // Micropolis 1325 (http://stason.org/TULARC/pc/hard-drives-hdd/micropolis/1325-69MB-5-25-FH-MFM-ST506.html) |
| 1402 | | |
| 1403 | | ROM_REGION( 0x1000, "myab", 0 ) // MyAB Turbo-Kontroller |
| 1404 | | ROM_LOAD_OPTIONAL( "unidis5d.bin", 0x0000, 0x1000, CRC(569dd60c) SHA1(47b810bcb5a063ffb3034fd7138dc5e15d243676) ) // 5" 25-pin |
| 1405 | | ROM_LOAD_OPTIONAL( "unidiskh.bin", 0x0000, 0x1000, CRC(5079ad85) SHA1(42bb91318f13929c3a440de3fa1f0491a0b90863) ) // 5" 34-pin |
| 1406 | | ROM_LOAD_OPTIONAL( "unidisk8.bin", 0x0000, 0x1000, CRC(d04e6a43) SHA1(8db504d46ff0355c72bd58fd536abeb17425c532) ) // 8" |
| 1407 | | |
| 1408 | | ROM_REGION( 0x800, "xebec", 0 ) |
| 1409 | | ROM_LOAD_OPTIONAL( "st4038.bin", 0x0000, 0x0800, CRC(4c803b87) SHA1(1141bb51ad9200fc32d92a749460843dc6af8953) ) // Seagate ST4038 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST4038-1987-31MB-5-25-FH-MFM-ST412.html) |
| 1410 | | ROM_LOAD_OPTIONAL( "st225.bin", 0x0000, 0x0800, CRC(c9f68f81) SHA1(7ff8b2a19f71fe0279ab3e5a0a5fffcb6030360c) ) // Seagate ST225 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST225-21MB-5-25-HH-MFM-ST412.html) |
| 1411 | 1392 | ROM_END |
| 1412 | 1393 | |
| 1413 | 1394 | |