trunk/src/emu/machine/scsibus.c
| r17670 | r17671 | |
| 594 | 594 | |
| 595 | 595 | LOG(3,"scsi_out_line_change(%s,%d)\n",linenames[line],state); |
| 596 | 596 | |
| 597 | | if(line_change_cb!=NULL) |
| 598 | | line_change_cb(this, line,state); |
| 599 | | |
| 600 | | switch (line) |
| 597 | if(m_scsicb != NULL) |
| 601 | 598 | { |
| 602 | | case SCSI_LINE_BSY: out_bsy_func(state); break; |
| 603 | | case SCSI_LINE_SEL: out_sel_func(state); break; |
| 604 | | case SCSI_LINE_CD: out_cd_func(state); break; |
| 605 | | case SCSI_LINE_IO: out_io_func(state); break; |
| 606 | | case SCSI_LINE_MSG: out_msg_func(state); break; |
| 607 | | case SCSI_LINE_REQ: out_req_func(state); break; |
| 608 | | case SCSI_LINE_RESET: out_rst_func(state); break; |
| 599 | if(m_scsicb->line_change_cb!=NULL) |
| 600 | m_scsicb->line_change_cb(this, line,state); |
| 601 | |
| 602 | switch (line) |
| 603 | { |
| 604 | case SCSI_LINE_BSY: m_scsicb->out_bsy_func(state); break; |
| 605 | case SCSI_LINE_SEL: m_scsicb->out_sel_func(state); break; |
| 606 | case SCSI_LINE_CD: m_scsicb->out_cd_func(state); break; |
| 607 | case SCSI_LINE_IO: m_scsicb->out_io_func(state); break; |
| 608 | case SCSI_LINE_MSG: m_scsicb->out_msg_func(state); break; |
| 609 | case SCSI_LINE_REQ: m_scsicb->out_req_func(state); break; |
| 610 | case SCSI_LINE_RESET: m_scsicb->out_rst_func(state); break; |
| 611 | } |
| 609 | 612 | } |
| 610 | 613 | } |
| 611 | 614 | |
| r17670 | r17671 | |
| 746 | 749 | { |
| 747 | 750 | } |
| 748 | 751 | |
| 749 | | void scsibus_device::device_config_complete() |
| 750 | | { |
| 751 | | // inherit a copy of the static data |
| 752 | | const SCSIBus_interface *intf = reinterpret_cast<const SCSIBus_interface *>(static_config()); |
| 753 | | if (intf != NULL) |
| 754 | | { |
| 755 | | *static_cast<SCSIBus_interface *>(this) = *intf; |
| 756 | | } |
| 757 | | } |
| 758 | | |
| 759 | 752 | void scsibus_device::device_start() |
| 760 | 753 | { |
| 761 | 754 | memset(devices, 0, sizeof(devices)); |
| 762 | 755 | |
| 763 | | out_bsy_func.resolve(_out_bsy_func, *this); |
| 764 | | out_sel_func.resolve(_out_sel_func, *this); |
| 765 | | out_cd_func.resolve(_out_cd_func, *this); |
| 766 | | out_io_func.resolve(_out_io_func, *this); |
| 767 | | out_msg_func.resolve(_out_msg_func, *this); |
| 768 | | out_req_func.resolve(_out_req_func, *this); |
| 769 | | out_rst_func.resolve(_out_rst_func, *this); |
| 770 | | |
| 771 | 756 | // All lines start high - inactive |
| 772 | 757 | linestate=0xFF; |
| 773 | 758 | |
| r17670 | r17671 | |
| 787 | 772 | { |
| 788 | 773 | devices[scsidev->GetDeviceID()] = scsidev; |
| 789 | 774 | } |
| 775 | else |
| 776 | { |
| 777 | scsicb_device *scsicb = dynamic_cast<scsicb_device *>(device); |
| 778 | m_scsicb = scsicb; |
| 779 | } |
| 790 | 780 | } |
| 791 | 781 | } |
| 792 | 782 | |
trunk/src/emu/machine/scsibus.h
| r17670 | r17671 | |
| 1 | 1 | /* |
| 2 | 2 | SCSIBus.h |
| 3 | 3 | |
| 4 | | Implementation of a raw SCSI/SASI bus for machines that don't use a SCSI |
| 5 | | controler chip such as the RM Nimbus, which implements it as a bunch of |
| 6 | | 74LS series chips. |
| 7 | | |
| 8 | 4 | */ |
| 9 | 5 | |
| 6 | #pragma once |
| 7 | |
| 10 | 8 | #ifndef _SCSIBUS_H_ |
| 11 | 9 | #define _SCSIBUS_H_ |
| 12 | 10 | |
| 11 | #include "machine/scsicb.h" |
| 13 | 12 | #include "machine/scsidev.h" |
| 14 | 13 | |
| 15 | 14 | |
| 16 | 15 | /*************************************************************************** |
| 17 | | INTERFACE |
| 18 | | ***************************************************************************/ |
| 19 | | |
| 20 | | typedef struct _SCSIBus_interface SCSIBus_interface; |
| 21 | | struct _SCSIBus_interface |
| 22 | | { |
| 23 | | void (*line_change_cb)(device_t *, UINT8 line, UINT8 state); |
| 24 | | |
| 25 | | devcb_write_line _out_bsy_func; |
| 26 | | devcb_write_line _out_sel_func; |
| 27 | | devcb_write_line _out_cd_func; |
| 28 | | devcb_write_line _out_io_func; |
| 29 | | devcb_write_line _out_msg_func; |
| 30 | | devcb_write_line _out_req_func; |
| 31 | | devcb_write_line _out_rst_func; |
| 32 | | }; |
| 33 | | |
| 34 | | /*************************************************************************** |
| 35 | 16 | MACROS |
| 36 | 17 | ***************************************************************************/ |
| 37 | 18 | |
| 38 | | #define MCFG_SCSIBUS_ADD(_tag, _intrf) \ |
| 39 | | MCFG_DEVICE_ADD(_tag, SCSIBUS, 0) \ |
| 40 | | MCFG_DEVICE_CONFIG(_intrf) |
| 19 | #define MCFG_SCSIBUS_ADD(_tag) \ |
| 20 | MCFG_DEVICE_ADD(_tag, SCSIBUS, 0) |
| 41 | 21 | |
| 42 | 22 | |
| 43 | 23 | /*************************************************************************** |
| r17670 | r17671 | |
| 144 | 124 | UINT8 sectors_per_track; |
| 145 | 125 | } adaptec_sense_t; |
| 146 | 126 | |
| 147 | | class scsibus_device : public device_t, |
| 148 | | public SCSIBus_interface |
| 127 | class scsibus_device : public device_t |
| 149 | 128 | { |
| 150 | 129 | public: |
| 151 | 130 | // construction/destruction |
| r17670 | r17671 | |
| 185 | 164 | |
| 186 | 165 | protected: |
| 187 | 166 | // device-level overrides |
| 188 | | virtual void device_config_complete(); |
| 189 | 167 | virtual void device_start(); |
| 190 | 168 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 191 | 169 | |
| r17670 | r17671 | |
| 210 | 188 | void dump_bytes(UINT8 *buff, int count); |
| 211 | 189 | |
| 212 | 190 | scsidev_device *devices[8]; |
| 191 | scsicb_device *m_scsicb; |
| 213 | 192 | |
| 214 | | devcb_resolved_write_line out_bsy_func; |
| 215 | | devcb_resolved_write_line out_sel_func; |
| 216 | | devcb_resolved_write_line out_cd_func; |
| 217 | | devcb_resolved_write_line out_io_func; |
| 218 | | devcb_resolved_write_line out_msg_func; |
| 219 | | devcb_resolved_write_line out_req_func; |
| 220 | | devcb_resolved_write_line out_rst_func; |
| 221 | | |
| 222 | 193 | UINT8 linestate; |
| 223 | 194 | UINT8 last_id; |
| 224 | 195 | UINT8 phase; |
trunk/src/emu/machine/scsicb.c
| r0 | r17671 | |
| 1 | #include "scsicb.h" |
| 2 | |
| 3 | scsicb_device::scsicb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 4 | : device_t(mconfig, SCSICB, "SCSI callback", tag, owner, clock) |
| 5 | { |
| 6 | } |
| 7 | |
| 8 | void scsicb_device::device_config_complete() |
| 9 | { |
| 10 | // inherit a copy of the static data |
| 11 | const SCSICB_interface *intf = reinterpret_cast<const SCSICB_interface *>(static_config()); |
| 12 | if (intf != NULL) |
| 13 | { |
| 14 | *static_cast<SCSICB_interface *>(this) = *intf; |
| 15 | } |
| 16 | } |
| 17 | |
| 18 | void scsicb_device::device_start() |
| 19 | { |
| 20 | out_bsy_func.resolve(_out_bsy_func, *this); |
| 21 | out_sel_func.resolve(_out_sel_func, *this); |
| 22 | out_cd_func.resolve(_out_cd_func, *this); |
| 23 | out_io_func.resolve(_out_io_func, *this); |
| 24 | out_msg_func.resolve(_out_msg_func, *this); |
| 25 | out_req_func.resolve(_out_req_func, *this); |
| 26 | out_rst_func.resolve(_out_rst_func, *this); |
| 27 | } |
| 28 | |
| 29 | const device_type SCSICB = &device_creator<scsicb_device>; |
trunk/src/emu/machine/scsicb.h
| r0 | r17671 | |
| 1 | /* |
| 2 | SCSICB.h |
| 3 | |
| 4 | Callbacks from SCSI/SASI bus for machines that don't use a SCSI |
| 5 | controler chip such as the RM Nimbus, which implements it as a bunch of |
| 6 | 74LS series chips. |
| 7 | |
| 8 | */ |
| 9 | |
| 10 | #pragma once |
| 11 | |
| 12 | #ifndef _SCSICB_H_ |
| 13 | #define _SCSICB_H_ |
| 14 | |
| 15 | #include "emu.h" |
| 16 | |
| 17 | /*************************************************************************** |
| 18 | MACROS |
| 19 | ***************************************************************************/ |
| 20 | |
| 21 | #define MCFG_SCSICB_ADD(_tag, _intf) \ |
| 22 | MCFG_DEVICE_ADD(_tag, SCSICB, 0) \ |
| 23 | MCFG_DEVICE_CONFIG(_intf) |
| 24 | |
| 25 | |
| 26 | typedef struct _SCSICB_interface SCSICB_interface; |
| 27 | struct _SCSICB_interface |
| 28 | { |
| 29 | void (*line_change_cb)(device_t *, UINT8 line, UINT8 state); |
| 30 | |
| 31 | devcb_write_line _out_bsy_func; |
| 32 | devcb_write_line _out_sel_func; |
| 33 | devcb_write_line _out_cd_func; |
| 34 | devcb_write_line _out_io_func; |
| 35 | devcb_write_line _out_msg_func; |
| 36 | devcb_write_line _out_req_func; |
| 37 | devcb_write_line _out_rst_func; |
| 38 | }; |
| 39 | |
| 40 | class scsicb_device : public device_t, |
| 41 | public SCSICB_interface |
| 42 | { |
| 43 | public: |
| 44 | // construction/destruction |
| 45 | scsicb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 46 | |
| 47 | devcb_resolved_write_line out_bsy_func; |
| 48 | devcb_resolved_write_line out_sel_func; |
| 49 | devcb_resolved_write_line out_cd_func; |
| 50 | devcb_resolved_write_line out_io_func; |
| 51 | devcb_resolved_write_line out_msg_func; |
| 52 | devcb_resolved_write_line out_req_func; |
| 53 | devcb_resolved_write_line out_rst_func; |
| 54 | |
| 55 | protected: |
| 56 | // device-level overrides |
| 57 | virtual void device_config_complete(); |
| 58 | virtual void device_start(); |
| 59 | }; |
| 60 | |
| 61 | // device type definition |
| 62 | extern const device_type SCSICB; |
| 63 | |
| 64 | #endif |
trunk/src/mess/machine/abc_xebec.c
| r17670 | r17671 | |
| 8 | 8 | *********************************************************************/ |
| 9 | 9 | |
| 10 | 10 | #include "abc_xebec.h" |
| 11 | #include "machine/scsibus.h" |
| 12 | #include "machine/scsicb.h" |
| 13 | #include "machine/scsihd.h" |
| 11 | 14 | |
| 12 | 15 | |
| 13 | 16 | |
| r17670 | r17671 | |
| 78 | 81 | |
| 79 | 82 | |
| 80 | 83 | //------------------------------------------------- |
| 81 | | // SCSIBus_interface sasi_intf |
| 84 | // SCSICB_interface sasi_intf |
| 82 | 85 | //------------------------------------------------- |
| 83 | 86 | |
| 84 | | static const SCSIBus_interface sasi_intf = |
| 87 | static const SCSICB_interface sasi_intf = |
| 85 | 88 | { |
| 86 | 89 | NULL, |
| 87 | 90 | DEVCB_NULL, |
| r17670 | r17671 | |
| 104 | 107 | MCFG_CPU_IO_MAP(abc_xebec_io) |
| 105 | 108 | MCFG_CPU_CONFIG(daisy_chain) |
| 106 | 109 | |
| 107 | | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 110 | MCFG_SCSIBUS_ADD(SASIBUS_TAG) |
| 108 | 111 | MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0) |
| 112 | MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf) |
| 109 | 113 | MACHINE_CONFIG_END |
| 110 | 114 | |
| 111 | 115 | |
trunk/src/mess/machine/lux4105.c
| r17670 | r17671 | |
| 8 | 8 | *********************************************************************/ |
| 9 | 9 | |
| 10 | 10 | #include "lux4105.h" |
| 11 | #include "machine/scsicb.h" |
| 11 | 12 | #include "machine/scsihd.h" |
| 12 | 13 | #include "machine/s1410.h" |
| 13 | 14 | |
| r17670 | r17671 | |
| 29 | 30 | |
| 30 | 31 | |
| 31 | 32 | //------------------------------------------------- |
| 32 | | // SCSIBus_interface sasi_intf |
| 33 | // SCSICB_interface sasi_intf |
| 33 | 34 | //------------------------------------------------- |
| 34 | 35 | |
| 35 | 36 | WRITE_LINE_MEMBER( luxor_4105_device::sasi_bsy_w ) |
| r17670 | r17671 | |
| 62 | 63 | update_trrq_int(); |
| 63 | 64 | } |
| 64 | 65 | |
| 65 | | static const SCSIBus_interface sasi_intf = |
| 66 | static const SCSICB_interface sasi_intf = |
| 66 | 67 | { |
| 67 | 68 | NULL, |
| 68 | | DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, luxor_4105_device, sasi_bsy_w), |
| 69 | DEVCB_DEVICE_LINE_MEMBER("^^", luxor_4105_device, sasi_bsy_w), |
| 69 | 70 | DEVCB_NULL, |
| 70 | 71 | DEVCB_NULL, |
| 71 | | DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, luxor_4105_device, sasi_io_w), |
| 72 | DEVCB_DEVICE_LINE_MEMBER("^^", luxor_4105_device, sasi_io_w), |
| 72 | 73 | DEVCB_NULL, |
| 73 | | DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, luxor_4105_device, sasi_req_w), |
| 74 | DEVCB_DEVICE_LINE_MEMBER("^^", luxor_4105_device, sasi_req_w), |
| 74 | 75 | DEVCB_NULL |
| 75 | 76 | }; |
| 76 | 77 | |
| r17670 | r17671 | |
| 80 | 81 | //------------------------------------------------- |
| 81 | 82 | |
| 82 | 83 | static MACHINE_CONFIG_FRAGMENT( luxor_4105 ) |
| 83 | | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 84 | MCFG_SCSIBUS_ADD(SASIBUS_TAG) |
| 84 | 85 | MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", S1410, SCSI_ID_0) |
| 86 | MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf) |
| 85 | 87 | MACHINE_CONFIG_END |
| 86 | 88 | |
| 87 | 89 | |
trunk/src/mess/machine/d9060.c
| r17670 | r17671 | |
| 8 | 8 | **********************************************************************/ |
| 9 | 9 | |
| 10 | 10 | #include "d9060.h" |
| 11 | #include "machine/scsicb.h" |
| 11 | 12 | #include "machine/d9060hd.h" |
| 12 | 13 | |
| 13 | 14 | |
| r17670 | r17671 | |
| 136 | 137 | |
| 137 | 138 | |
| 138 | 139 | //------------------------------------------------- |
| 139 | | // SCSIBus_interface sasi_intf |
| 140 | // SCSICB_interface sasi_intf |
| 140 | 141 | //------------------------------------------------- |
| 141 | 142 | |
| 142 | 143 | WRITE_LINE_MEMBER( base_d9060_device::req_w ) |
| r17670 | r17671 | |
| 144 | 145 | m_via->write_ca1(!state); |
| 145 | 146 | } |
| 146 | 147 | |
| 147 | | static const SCSIBus_interface sasi_intf = |
| 148 | static const SCSICB_interface sasi_intf = |
| 148 | 149 | { |
| 149 | 150 | NULL, |
| 150 | 151 | DEVCB_NULL, |
| r17670 | r17671 | |
| 152 | 153 | DEVCB_NULL, |
| 153 | 154 | DEVCB_NULL, |
| 154 | 155 | DEVCB_NULL, |
| 155 | | DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, base_d9060_device, req_w), |
| 156 | DEVCB_DEVICE_LINE_MEMBER("^^", base_d9060_device, req_w), |
| 156 | 157 | DEVCB_NULL |
| 157 | 158 | }; |
| 158 | 159 | |
| r17670 | r17671 | |
| 459 | 460 | |
| 460 | 461 | MCFG_VIA6522_ADD(M6522_TAG, XTAL_4MHz/4, via_intf) |
| 461 | 462 | |
| 462 | | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 463 | MCFG_SCSIBUS_ADD(SASIBUS_TAG) |
| 463 | 464 | MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", D9060HD, SCSI_ID_0) |
| 465 | MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf) |
| 464 | 466 | MACHINE_CONFIG_END |
| 465 | 467 | |
| 466 | 468 | |
trunk/src/mess/machine/abc_hdc.c
| r17670 | r17671 | |
| 8 | 8 | *********************************************************************/ |
| 9 | 9 | |
| 10 | 10 | #include "abc_hdc.h" |
| 11 | #include "machine/scsibus.h" |
| 12 | #include "machine/scsicb.h" |
| 13 | #include "machine/scsihd.h" |
| 11 | 14 | |
| 12 | 15 | |
| 13 | 16 | |
| r17670 | r17671 | |
| 85 | 88 | |
| 86 | 89 | |
| 87 | 90 | //------------------------------------------------- |
| 88 | | // SCSIBus_interface sasi_intf |
| 91 | // SCSICB_interface sasi_intf |
| 89 | 92 | //------------------------------------------------- |
| 90 | 93 | |
| 91 | | static const SCSIBus_interface sasi_intf = |
| 94 | static const SCSICB_interface sasi_intf = |
| 92 | 95 | { |
| 93 | 96 | NULL, |
| 94 | 97 | DEVCB_NULL, |
| r17670 | r17671 | |
| 111 | 114 | MCFG_CPU_IO_MAP(abc_hdc_io) |
| 112 | 115 | MCFG_CPU_CONFIG(daisy_chain) |
| 113 | 116 | |
| 114 | | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 117 | MCFG_SCSIBUS_ADD(SASIBUS_TAG) |
| 115 | 118 | MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0) |
| 119 | MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf) |
| 116 | 120 | MACHINE_CONFIG_END |
| 117 | 121 | |
| 118 | 122 | |
trunk/src/mess/machine/e01.c
| r17670 | r17671 | |
| 54 | 54 | */ |
| 55 | 55 | |
| 56 | 56 | #include "e01.h" |
| 57 | #include "machine/scsicb.h" |
| 57 | 58 | #include "machine/scsihd.h" |
| 58 | 59 | |
| 59 | 60 | |
| r17670 | r17671 | |
| 259 | 260 | |
| 260 | 261 | |
| 261 | 262 | //------------------------------------------------- |
| 262 | | // SCSIBus_interface scsi_intf |
| 263 | // SCSICB_interface scsi_intf |
| 263 | 264 | //------------------------------------------------- |
| 264 | 265 | |
| 265 | 266 | WRITE_LINE_MEMBER( e01_device::scsi_bsy_w ) |
| r17670 | r17671 | |
| 281 | 282 | update_interrupts(); |
| 282 | 283 | } |
| 283 | 284 | |
| 284 | | static const SCSIBus_interface scsi_intf = |
| 285 | static const SCSICB_interface scsi_intf = |
| 285 | 286 | { |
| 286 | 287 | NULL, |
| 287 | | DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, e01_device, scsi_bsy_w), |
| 288 | DEVCB_DEVICE_LINE_MEMBER("^^", e01_device, scsi_bsy_w), |
| 288 | 289 | DEVCB_NULL, |
| 289 | 290 | DEVCB_NULL, |
| 290 | 291 | DEVCB_NULL, |
| 291 | 292 | DEVCB_NULL, |
| 292 | | DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, e01_device, scsi_req_w), |
| 293 | DEVCB_DEVICE_LINE_MEMBER("^^", e01_device, scsi_req_w), |
| 293 | 294 | DEVCB_NULL |
| 294 | 295 | }; |
| 295 | 296 | |
| r17670 | r17671 | |
| 347 | 348 | MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(e01_floppy_interface) |
| 348 | 349 | MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, e01_centronics_intf) |
| 349 | 350 | |
| 350 | | MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf) |
| 351 | MCFG_SCSIBUS_ADD(SCSIBUS_TAG) |
| 351 | 352 | MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0) |
| 353 | MCFG_SCSICB_ADD(SCSIBUS_TAG ":host", scsi_intf) |
| 352 | 354 | |
| 353 | 355 | // internal ram |
| 354 | 356 | MCFG_RAM_ADD(RAM_TAG) |
trunk/src/mess/drivers/v1050.c
| r17670 | r17671 | |
| 106 | 106 | */ |
| 107 | 107 | |
| 108 | 108 | #include "includes/v1050.h" |
| 109 | #include "machine/scsicb.h" |
| 109 | 110 | #include "machine/scsihd.h" |
| 110 | 111 | #include "machine/s1410.h" |
| 111 | 112 | |
| r17670 | r17671 | |
| 987 | 988 | |
| 988 | 989 | |
| 989 | 990 | //------------------------------------------------- |
| 990 | | // SCSIBus_interface sasi_intf |
| 991 | // SCSICB_interface sasi_intf |
| 991 | 992 | //------------------------------------------------- |
| 992 | 993 | |
| 993 | | static const SCSIBus_interface sasi_intf = |
| 994 | static const SCSICB_interface sasi_intf = |
| 994 | 995 | { |
| 995 | 996 | NULL, |
| 996 | 997 | DEVCB_NULL, |
| r17670 | r17671 | |
| 1112 | 1113 | MCFG_TIMER_ADD(TIMER_SIO_TAG, sio_8251_tick) |
| 1113 | 1114 | |
| 1114 | 1115 | // SASI bus |
| 1115 | | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 1116 | MCFG_SCSIBUS_ADD(SASIBUS_TAG) |
| 1116 | 1117 | MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", S1410, SCSI_ID_0) |
| 1118 | MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf) |
| 1117 | 1119 | |
| 1118 | 1120 | MCFG_TIMER_ADD(TIMER_ACK_TAG, sasi_ack_tick) |
| 1119 | 1121 | MCFG_TIMER_ADD(TIMER_RST_TAG, sasi_rst_tick) |
trunk/src/mess/drivers/bullet.c
| r17670 | r17671 | |
| 58 | 58 | */ |
| 59 | 59 | |
| 60 | 60 | #include "includes/bullet.h" |
| 61 | #include "machine/scsicb.h" |
| 61 | 62 | #include "machine/scsihd.h" |
| 62 | 63 | |
| 63 | 64 | |
| r17670 | r17671 | |
| 1021 | 1022 | |
| 1022 | 1023 | |
| 1023 | 1024 | //------------------------------------------------- |
| 1024 | | // SCSIBus_interface scsi_intf |
| 1025 | // SCSICB_interface scsi_intf |
| 1025 | 1026 | //------------------------------------------------- |
| 1026 | 1027 | |
| 1027 | 1028 | WRITE_LINE_MEMBER( bulletf_state::req_w ) |
| r17670 | r17671 | |
| 1037 | 1038 | update_dma_rdy(); |
| 1038 | 1039 | } |
| 1039 | 1040 | |
| 1040 | | static const SCSIBus_interface scsi_intf = |
| 1041 | static const SCSICB_interface scsi_intf = |
| 1041 | 1042 | { |
| 1042 | 1043 | NULL, |
| 1043 | 1044 | DEVCB_NULL, |
| r17670 | r17671 | |
| 1206 | 1207 | MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics) |
| 1207 | 1208 | MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800) |
| 1208 | 1209 | |
| 1209 | | MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf) |
| 1210 | MCFG_SCSIBUS_ADD(SCSIBUS_TAG) |
| 1210 | 1211 | MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0) |
| 1212 | MCFG_SCSICB_ADD(SCSIBUS_TAG ":host", scsi_intf) |
| 1211 | 1213 | |
| 1212 | 1214 | // software lists |
| 1213 | 1215 | MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet") |
trunk/src/mess/drivers/mac.c
| r17670 | r17671 | |
| 813 | 813 | sony_read_status |
| 814 | 814 | }; |
| 815 | 815 | |
| 816 | | static const SCSIBus_interface scsibus_intf = |
| 817 | | { |
| 818 | | }; |
| 819 | | |
| 820 | 816 | static const struct NCR5380interface macplus_5380intf = |
| 821 | 817 | { |
| 822 | 818 | mac_scsi_irq // IRQ (unconnected on the Mac Plus) |
| r17670 | r17671 | |
| 931 | 927 | MCFG_CPU_MODIFY( "maincpu" ) |
| 932 | 928 | MCFG_CPU_PROGRAM_MAP(macplus_map) |
| 933 | 929 | |
| 934 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 930 | MCFG_SCSIBUS_ADD("scsi") |
| 935 | 931 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 936 | 932 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 937 | 933 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 990 | 986 | MCFG_NVRAM_HANDLER(mac) |
| 991 | 987 | |
| 992 | 988 | /* devices */ |
| 993 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 989 | MCFG_SCSIBUS_ADD("scsi") |
| 994 | 990 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 995 | 991 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 996 | 992 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 1036 | 1032 | MCFG_NUBUS_SLOT_ADD("nubus","nbd", mac_nubus_cards, NULL, NULL) |
| 1037 | 1033 | MCFG_NUBUS_SLOT_ADD("nubus","nbe", mac_nubus_cards, NULL, NULL) |
| 1038 | 1034 | |
| 1039 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 1035 | MCFG_SCSIBUS_ADD("scsi") |
| 1040 | 1036 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 1041 | 1037 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 1042 | 1038 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 1088 | 1084 | MCFG_NUBUS_SLOT_ADD("nubus","nbd", mac_nubus_cards, NULL, NULL) |
| 1089 | 1085 | MCFG_NUBUS_SLOT_ADD("nubus","nbe", mac_nubus_cards, NULL, NULL) |
| 1090 | 1086 | |
| 1091 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 1087 | MCFG_SCSIBUS_ADD("scsi") |
| 1092 | 1088 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 1093 | 1089 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 1094 | 1090 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 1286 | 1282 | MCFG_NVRAM_HANDLER(mac) |
| 1287 | 1283 | |
| 1288 | 1284 | /* devices */ |
| 1289 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 1285 | MCFG_SCSIBUS_ADD("scsi") |
| 1290 | 1286 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 1291 | 1287 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 1292 | 1288 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 1337 | 1333 | MCFG_NVRAM_HANDLER(mac) |
| 1338 | 1334 | |
| 1339 | 1335 | /* devices */ |
| 1340 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 1336 | MCFG_SCSIBUS_ADD("scsi") |
| 1341 | 1337 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 1342 | 1338 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 1343 | 1339 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 1408 | 1404 | MCFG_NVRAM_HANDLER(mac) |
| 1409 | 1405 | |
| 1410 | 1406 | /* devices */ |
| 1411 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 1407 | MCFG_SCSIBUS_ADD("scsi") |
| 1412 | 1408 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 1413 | 1409 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 1414 | 1410 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 1579 | 1575 | MCFG_NVRAM_HANDLER(mac) |
| 1580 | 1576 | |
| 1581 | 1577 | /* devices */ |
| 1582 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 1578 | MCFG_SCSIBUS_ADD("scsi") |
| 1583 | 1579 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 1584 | 1580 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 1585 | 1581 | MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf) |
| r17670 | r17671 | |
| 1639 | 1635 | MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf) |
| 1640 | 1636 | MCFG_VIA6522_ADD("via6522_1", C7M/10, mac_via6522_2_intf) |
| 1641 | 1637 | |
| 1642 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 1638 | MCFG_SCSIBUS_ADD("scsi") |
| 1643 | 1639 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6) |
| 1644 | 1640 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5) |
| 1645 | 1641 | MCFG_NCR539X_ADD(MAC_539X_1_TAG, C7M, mac_539x_intf) |
trunk/src/mess/drivers/x68k.c
| r17670 | r17671 | |
| 2528 | 2528 | NULL |
| 2529 | 2529 | }; |
| 2530 | 2530 | |
| 2531 | | static const SCSIBus_interface scsibus_intf = |
| 2532 | | { |
| 2533 | | }; |
| 2534 | | |
| 2535 | 2531 | static const mb89352_interface x68k_scsi_intf = |
| 2536 | 2532 | { |
| 2537 | 2533 | DEVCB_LINE(x68k_scsi_irq), |
| r17670 | r17671 | |
| 2821 | 2817 | MCFG_CPU_MODIFY("maincpu") |
| 2822 | 2818 | MCFG_CPU_PROGRAM_MAP(x68kxvi_map) |
| 2823 | 2819 | |
| 2824 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 2820 | MCFG_SCSIBUS_ADD("scsi") |
| 2825 | 2821 | MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0) |
| 2826 | 2822 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1) |
| 2827 | 2823 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2) |
| r17670 | r17671 | |
| 2842 | 2838 | MCFG_CPU_CLOCK(16000000) /* 16 MHz */ |
| 2843 | 2839 | MCFG_CPU_PROGRAM_MAP(x68kxvi_map) |
| 2844 | 2840 | |
| 2845 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 2841 | MCFG_SCSIBUS_ADD("scsi") |
| 2846 | 2842 | MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0) |
| 2847 | 2843 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1) |
| 2848 | 2844 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2) |
| r17670 | r17671 | |
| 2864 | 2860 | |
| 2865 | 2861 | MCFG_NVRAM_ADD_0FILL("nvram32") |
| 2866 | 2862 | |
| 2867 | | MCFG_SCSIBUS_ADD("scsi", scsibus_intf) |
| 2863 | MCFG_SCSIBUS_ADD("scsi") |
| 2868 | 2864 | MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0) |
| 2869 | 2865 | MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1) |
| 2870 | 2866 | MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2) |
trunk/src/mess/drivers/rmnimbus.c
| r17670 | r17671 | |
| 15 | 15 | #include "formats/pc_dsk.h" |
| 16 | 16 | #include "includes/rmnimbus.h" |
| 17 | 17 | #include "machine/er59256.h" |
| 18 | #include "machine/scsicb.h" |
| 18 | 19 | #include "machine/scsihd.h" |
| 19 | 20 | #include "machine/s1410.h" |
| 20 | 21 | #include "machine/acb4070.h" |
| r17670 | r17671 | |
| 78 | 79 | MSM5205_S48_4B /* 8 kHz */ |
| 79 | 80 | }; |
| 80 | 81 | |
| 81 | | static const SCSIBus_interface scsibus_config = |
| 82 | //------------------------------------------------- |
| 83 | // SCSICB_interface sasi_intf |
| 84 | //------------------------------------------------- |
| 85 | |
| 86 | static const SCSICB_interface scsibus_config = |
| 82 | 87 | { |
| 83 | 88 | &nimbus_scsi_linechange |
| 84 | 89 | }; |
| r17670 | r17671 | |
| 321 | 326 | MCFG_WD2793_ADD(FDC_TAG, nimbus_wd17xx_interface ) |
| 322 | 327 | MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(nimbus_floppy_interface) |
| 323 | 328 | |
| 324 | | MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsibus_config) |
| 329 | MCFG_SCSIBUS_ADD(SCSIBUS_TAG) |
| 325 | 330 | MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", ACB4070, SCSI_ID_0) |
| 326 | 331 | MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk1", S1410, SCSI_ID_1) |
| 327 | 332 | MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk2", SCSIHD, SCSI_ID_2) |
| 328 | 333 | MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk3", SCSIHD, SCSI_ID_3) |
| 334 | MCFG_SCSICB_ADD(SCSIBUS_TAG ":host", scsibus_config) |
| 329 | 335 | |
| 330 | 336 | MCFG_RAM_ADD(RAM_TAG) |
| 331 | 337 | MCFG_RAM_DEFAULT_SIZE("1536K") |