Previous 199869 Revisions Next

r17671 Thursday 6th September, 2012 at 07:34:28 UTC by smf
Split out callbacks from scsibus_device into scscb_device, eventually this will be a SCSI device. SCSIBus_interface is no longer required and has been removed. [smf]
[src/emu]emu.mak
[src/emu/machine]scsibus.c scsibus.h scsicb.c* scsicb.h*
[src/mame/drivers]cps3.c konamigq.c konamigv.c model3.c twinkle.c
[src/mess/drivers]bebox.c bullet.c fmtowns.c ip20.c ip22.c mac.c rmnimbus.c v1050.c x68k.c
[src/mess/machine]a2scsi.c abc_hdc.c abc_hdc.h abc_xebec.c abc_xebec.h d9060.c e01.c lux4105.c x68k_scsiext.c

trunk/src/mame/drivers/konamigq.c
r17670r17671
306306   psx_irq_set(machine, 0x400);
307307}
308308
309static const SCSIBus_interface scsibus_intf =
310{
311};
312
313309static const struct AM53CF96interface am53cf96_intf =
314310{
315311   &scsi_irq,      /* command completion IRQ */
r17670r17671
354350   MCFG_EEPROM_93C46_ADD("eeprom")
355351   MCFG_EEPROM_DATA(konamigq_def_eeprom, 128)
356352
357   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
353   MCFG_SCSIBUS_ADD("scsi")
358354   MCFG_SCSIDEV_ADD("scsi:disk", SCSIHD, SCSI_ID_0)
359355   MCFG_AM53CF96_ADD("scsi:am53cf96", am53cf96_intf)
360356
trunk/src/mame/drivers/twinkle.c
r17670r17671
854854   psx_irq_set(machine, 0x400);
855855}
856856
857static const SCSIBus_interface scsibus_intf =
858{
859};
860
861857static const struct AM53CF96interface am53cf96_intf =
862858{
863859   &scsi_irq,      /* command completion IRQ */
r17670r17671
924920   MCFG_MACHINE_RESET( twinkle )
925921   MCFG_I2CMEM_ADD("security",i2cmem_interface)
926922
927   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
923   MCFG_SCSIBUS_ADD("scsi")
928924   MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_4)
929925   MCFG_AM53CF96_ADD("scsi:am53cf96", am53cf96_intf)
930926
trunk/src/mame/drivers/model3.c
r17670r17671
12041204   5            /* reset_delay (Lost World needs this, very similar to wbeachvl in playmark.c) */
12051205};
12061206
1207static const SCSIBus_interface scsibus_intf =
1208{
1209};
1210
12111207static const struct LSI53C810interface lsi53c810_intf =
12121208{
12131209   &scsi_irq_callback,
r17670r17671
53365332   MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
53375333   MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
53385334
5339   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
5335   MCFG_SCSIBUS_ADD("scsi")
53405336   MCFG_LSI53C810_ADD( "scsi:lsi53c810", lsi53c810_intf)
53415337MACHINE_CONFIG_END
53425338
r17670r17671
53785374   MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
53795375   MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
53805376
5381   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
5377   MCFG_SCSIBUS_ADD("scsi")
53825378   MCFG_LSI53C810_ADD( "scsi:lsi53c810", lsi53c810_intf)
53835379MACHINE_CONFIG_END
53845380
trunk/src/mame/drivers/cps3.c
r17670r17671
22622262//static sh2_cpu_core sh2cp_conf_slave  = { 1, NULL };
22632263
22642264
2265static const SCSIBus_interface scsibus_intf =
2266{
2267};
2268
22692265static const struct WD33C93interface wd33c93_intf =
22702266{
22712267   NULL         /* command completion IRQ */
r17670r17671
25052501   MCFG_CPU_PERIODIC_INT(cps3_other_interrupt,80) /* ?source? */
25062502   MCFG_CPU_CONFIG(sh2_conf_cps3)
25072503
2508   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
2504   MCFG_SCSIBUS_ADD("scsi")
25092505   MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_1)
25102506   MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf)
25112507
trunk/src/mame/drivers/konamigv.c
r17670r17671
296296   psx_irq_set(machine, 0x400);
297297}
298298
299static const SCSIBus_interface scsibus_intf =
300{
301};
302
303299static const struct AM53CF96interface am53cf96_intf =
304300{
305301   &scsi_irq,      /* command completion IRQ */
r17670r17671
352348
353349   MCFG_EEPROM_93C46_ADD("eeprom")
354350
355   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
351   MCFG_SCSIBUS_ADD("scsi")
356352   MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_4)
357353   MCFG_AM53CF96_ADD("scsi:am53cf96", am53cf96_intf)
358354
trunk/src/emu/emu.mak
r17670r17671
244244   $(EMUMACHINE)/s3c2410.o      \
245245   $(EMUMACHINE)/s3c2440.o      \
246246   $(EMUMACHINE)/s3520cf.o      \
247   $(EMUMACHINE)/scsibus.o   \
247   $(EMUMACHINE)/scsicb.o      \
248   $(EMUMACHINE)/scsibus.o      \
248249   $(EMUMACHINE)/scsicd.o      \
249250   $(EMUMACHINE)/scsidev.o      \
250251   $(EMUMACHINE)/scsihd.o      \
trunk/src/emu/machine/scsibus.c
r17670r17671
594594
595595   LOG(3,"scsi_out_line_change(%s,%d)\n",linenames[line],state);
596596
597   if(line_change_cb!=NULL)
598      line_change_cb(this, line,state);
599
600   switch (line)
597   if(m_scsicb != NULL)
601598   {
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      }
609612   }
610613}
611614
r17670r17671
746749{
747750}
748751
749void 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
759752void scsibus_device::device_start()
760753{
761754   memset(devices, 0, sizeof(devices));
762755
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
771756   // All lines start high - inactive
772757   linestate=0xFF;
773758
r17670r17671
787772      {
788773         devices[scsidev->GetDeviceID()] = scsidev;
789774      }
775      else
776      {
777         scsicb_device *scsicb = dynamic_cast<scsicb_device *>(device);
778         m_scsicb = scsicb;
779      }
790780   }
791781}
792782
trunk/src/emu/machine/scsibus.h
r17670r17671
11/*
22    SCSIBus.h
33
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
84*/
95
6#pragma once
7
108#ifndef _SCSIBUS_H_
119#define _SCSIBUS_H_
1210
11#include "machine/scsicb.h"
1312#include "machine/scsidev.h"
1413
1514
1615/***************************************************************************
17    INTERFACE
18***************************************************************************/
19
20typedef struct _SCSIBus_interface SCSIBus_interface;
21struct _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/***************************************************************************
3516    MACROS
3617***************************************************************************/
3718
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)
4121
4222
4323/***************************************************************************
r17670r17671
144124   UINT8      sectors_per_track;
145125} adaptec_sense_t;
146126
147class scsibus_device : public device_t,
148                  public SCSIBus_interface
127class scsibus_device : public device_t
149128{
150129public:
151130   // construction/destruction
r17670r17671
185164
186165protected:
187166   // device-level overrides
188   virtual void device_config_complete();
189167   virtual void device_start();
190168   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
191169
r17670r17671
210188   void dump_bytes(UINT8 *buff, int count);
211189
212190   scsidev_device          *devices[8];
191   scsicb_device *m_scsicb;
213192
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
222193   UINT8       linestate;
223194   UINT8       last_id;
224195   UINT8       phase;
trunk/src/emu/machine/scsicb.c
r0r17671
1#include "scsicb.h"
2
3scsicb_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
8void 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
18void 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
29const device_type SCSICB = &device_creator<scsicb_device>;
trunk/src/emu/machine/scsicb.h
r0r17671
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
26typedef struct _SCSICB_interface SCSICB_interface;
27struct _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
40class scsicb_device : public device_t,
41                 public SCSICB_interface
42{
43public:
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
55protected:
56   // device-level overrides
57   virtual void device_config_complete();
58   virtual void device_start();
59};
60
61// device type definition
62extern const device_type SCSICB;
63
64#endif
trunk/src/mess/machine/abc_xebec.c
r17670r17671
88*********************************************************************/
99
1010#include "abc_xebec.h"
11#include "machine/scsibus.h"
12#include "machine/scsicb.h"
13#include "machine/scsihd.h"
1114
1215
1316
r17670r17671
7881
7982
8083//-------------------------------------------------
81//  SCSIBus_interface sasi_intf
84//  SCSICB_interface sasi_intf
8285//-------------------------------------------------
8386
84static const SCSIBus_interface sasi_intf =
87static const SCSICB_interface sasi_intf =
8588{
8689   NULL,
8790   DEVCB_NULL,
r17670r17671
104107   MCFG_CPU_IO_MAP(abc_xebec_io)
105108   MCFG_CPU_CONFIG(daisy_chain)
106109
107   MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
110   MCFG_SCSIBUS_ADD(SASIBUS_TAG)
108111   MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
112   MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf)
109113MACHINE_CONFIG_END
110114
111115
trunk/src/mess/machine/abc_xebec.h
r17670r17671
1717#include "cpu/z80/z80.h"
1818#include "cpu/z80/z80daisy.h"
1919#include "machine/abcbus.h"
20#include "machine/scsibus.h"
21#include "machine/scsihd.h"
2220
2321
2422
trunk/src/mess/machine/lux4105.c
r17670r17671
88*********************************************************************/
99
1010#include "lux4105.h"
11#include "machine/scsicb.h"
1112#include "machine/scsihd.h"
1213#include "machine/s1410.h"
1314
r17670r17671
2930
3031
3132//-------------------------------------------------
32//  SCSIBus_interface sasi_intf
33//  SCSICB_interface sasi_intf
3334//-------------------------------------------------
3435
3536WRITE_LINE_MEMBER( luxor_4105_device::sasi_bsy_w )
r17670r17671
6263   update_trrq_int();
6364}
6465
65static const SCSIBus_interface sasi_intf =
66static const SCSICB_interface sasi_intf =
6667{
6768   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),
6970   DEVCB_NULL,
7071   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),
7273   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),
7475   DEVCB_NULL
7576};
7677
r17670r17671
8081//-------------------------------------------------
8182
8283static MACHINE_CONFIG_FRAGMENT( luxor_4105 )
83   MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
84   MCFG_SCSIBUS_ADD(SASIBUS_TAG)
8485   MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", S1410, SCSI_ID_0)
86   MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf)
8587MACHINE_CONFIG_END
8688
8789
trunk/src/mess/machine/a2scsi.c
r17670r17671
3636#define SCSI_ROM_REGION  "scsi_rom"
3737#define SCSI_5380_TAG    "scsi:ncr5380"
3838
39static const SCSIBus_interface scsibus_intf =
40{
41};
42
4339static const struct NCR5380interface a2scsi_5380_intf =
4440{
4541   NULL        // IRQ handler (unconnected according to schematic)
4642};
4743
4844MACHINE_CONFIG_FRAGMENT( scsi )
49   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
45   MCFG_SCSIBUS_ADD("scsi")
5046   MCFG_NCR5380_ADD(SCSI_5380_TAG, (XTAL_28_63636MHz/4), a2scsi_5380_intf)
5147MACHINE_CONFIG_END
5248
trunk/src/mess/machine/d9060.c
r17670r17671
88**********************************************************************/
99
1010#include "d9060.h"
11#include "machine/scsicb.h"
1112#include "machine/d9060hd.h"
1213
1314
r17670r17671
136137
137138
138139//-------------------------------------------------
139//  SCSIBus_interface sasi_intf
140//  SCSICB_interface sasi_intf
140141//-------------------------------------------------
141142
142143WRITE_LINE_MEMBER( base_d9060_device::req_w )
r17670r17671
144145   m_via->write_ca1(!state);
145146}
146147
147static const SCSIBus_interface sasi_intf =
148static const SCSICB_interface sasi_intf =
148149{
149150   NULL,
150151   DEVCB_NULL,
r17670r17671
152153   DEVCB_NULL,
153154   DEVCB_NULL,
154155   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),
156157   DEVCB_NULL
157158};
158159
r17670r17671
459460
460461   MCFG_VIA6522_ADD(M6522_TAG, XTAL_4MHz/4, via_intf)
461462
462   MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
463   MCFG_SCSIBUS_ADD(SASIBUS_TAG)
463464   MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", D9060HD, SCSI_ID_0)
465   MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf)
464466MACHINE_CONFIG_END
465467
466468
trunk/src/mess/machine/x68k_scsiext.c
r17670r17671
1818
1919const device_type X68K_SCSIEXT = &device_creator<x68k_scsiext_device>;
2020
21static const SCSIBus_interface scsibus_intf =
22{
23};
24
2521static const mb89352_interface mb89352_intf =
2622{
2723   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER,x68k_scsiext_device,irq_w),
r17670r17671
4440
4541// device machine config
4642static MACHINE_CONFIG_FRAGMENT( x68k_scsiext )
47   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
43   MCFG_SCSIBUS_ADD("scsi")
4844   MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
4945   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
5046   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
trunk/src/mess/machine/abc_hdc.c
r17670r17671
88*********************************************************************/
99
1010#include "abc_hdc.h"
11#include "machine/scsibus.h"
12#include "machine/scsicb.h"
13#include "machine/scsihd.h"
1114
1215
1316
r17670r17671
8588
8689
8790//-------------------------------------------------
88//  SCSIBus_interface sasi_intf
91//  SCSICB_interface sasi_intf
8992//-------------------------------------------------
9093
91static const SCSIBus_interface sasi_intf =
94static const SCSICB_interface sasi_intf =
9295{
9396   NULL,
9497   DEVCB_NULL,
r17670r17671
111114   MCFG_CPU_IO_MAP(abc_hdc_io)
112115   MCFG_CPU_CONFIG(daisy_chain)
113116
114   MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
117   MCFG_SCSIBUS_ADD(SASIBUS_TAG)
115118   MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
119   MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf)
116120MACHINE_CONFIG_END
117121
118122
trunk/src/mess/machine/abc_hdc.h
r17670r17671
1717#include "cpu/z80/z80.h"
1818#include "cpu/z80/z80daisy.h"
1919#include "machine/abcbus.h"
20#include "machine/scsibus.h"
21#include "machine/scsihd.h"
2220
2321
2422
trunk/src/mess/machine/e01.c
r17670r17671
5454*/
5555
5656#include "e01.h"
57#include "machine/scsicb.h"
5758#include "machine/scsihd.h"
5859
5960
r17670r17671
259260
260261
261262//-------------------------------------------------
262//  SCSIBus_interface scsi_intf
263//  SCSICB_interface scsi_intf
263264//-------------------------------------------------
264265
265266WRITE_LINE_MEMBER( e01_device::scsi_bsy_w )
r17670r17671
281282   update_interrupts();
282283}
283284
284static const SCSIBus_interface scsi_intf =
285static const SCSICB_interface scsi_intf =
285286{
286287   NULL,
287   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, e01_device, scsi_bsy_w),
288   DEVCB_DEVICE_LINE_MEMBER("^^", e01_device, scsi_bsy_w),
288289   DEVCB_NULL,
289290   DEVCB_NULL,
290291   DEVCB_NULL,
291292   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),
293294   DEVCB_NULL
294295};
295296
r17670r17671
347348   MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(e01_floppy_interface)
348349   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, e01_centronics_intf)
349350
350   MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf)
351   MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
351352   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
353   MCFG_SCSICB_ADD(SCSIBUS_TAG ":host", scsi_intf)
352354
353355   // internal ram
354356   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/ip22.c
r17670r17671
14961496   }
14971497}
14981498
1499static const SCSIBus_interface scsibus_intf =
1500{
1501};
1502
15031499static const struct WD33C93interface wd33c93_intf =
15041500{
15051501   &scsi_irq,      /* command completion IRQ */
r17670r17671
16711667   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
16721668   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
16731669
1674   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1670   MCFG_SCSIBUS_ADD("scsi")
16751671   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
16761672   MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_4)
16771673   MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf)
trunk/src/mess/drivers/v1050.c
r17670r17671
106106*/
107107
108108#include "includes/v1050.h"
109#include "machine/scsicb.h"
109110#include "machine/scsihd.h"
110111#include "machine/s1410.h"
111112
r17670r17671
987988
988989
989990//-------------------------------------------------
990//  SCSIBus_interface sasi_intf
991//  SCSICB_interface sasi_intf
991992//-------------------------------------------------
992993
993static const SCSIBus_interface sasi_intf =
994static const SCSICB_interface sasi_intf =
994995{
995996   NULL,
996997   DEVCB_NULL,
r17670r17671
11121113   MCFG_TIMER_ADD(TIMER_SIO_TAG, sio_8251_tick)
11131114
11141115   // SASI bus
1115   MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
1116   MCFG_SCSIBUS_ADD(SASIBUS_TAG)
11161117   MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", S1410, SCSI_ID_0)
1118   MCFG_SCSICB_ADD(SASIBUS_TAG ":host", sasi_intf)
11171119
11181120   MCFG_TIMER_ADD(TIMER_ACK_TAG, sasi_ack_tick)
11191121   MCFG_TIMER_ADD(TIMER_RST_TAG, sasi_rst_tick)
trunk/src/mess/drivers/fmtowns.c
r17670r17671
26262626   towns_pcm_irq
26272627};
26282628
2629static const SCSIBus_interface scsibus_intf =
2630{
2631};
2632
26332629static const FMSCSIinterface towns_scsi_config =
26342630{
26352631   DEVCB_LINE(towns_scsi_irq),
r17670r17671
27132709
27142710   MCFG_CDROM_ADD("cdrom",towns_cdrom)
27152711
2716   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
2712   MCFG_SCSIBUS_ADD("scsi")
27172713   MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
27182714   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
27192715   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
trunk/src/mess/drivers/bullet.c
r17670r17671
5858*/
5959
6060#include "includes/bullet.h"
61#include "machine/scsicb.h"
6162#include "machine/scsihd.h"
6263
6364
r17670r17671
10211022
10221023
10231024//-------------------------------------------------
1024//  SCSIBus_interface scsi_intf
1025//  SCSICB_interface scsi_intf
10251026//-------------------------------------------------
10261027
10271028WRITE_LINE_MEMBER( bulletf_state::req_w )
r17670r17671
10371038   update_dma_rdy();
10381039}
10391040
1040static const SCSIBus_interface scsi_intf =
1041static const SCSICB_interface scsi_intf =
10411042{
10421043   NULL,
10431044   DEVCB_NULL,
r17670r17671
12061207   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
12071208   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800)
12081209
1209   MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf)
1210   MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
12101211   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
1212   MCFG_SCSICB_ADD(SCSIBUS_TAG ":host", scsi_intf)
12111213
12121214   // software lists
12131215   MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
trunk/src/mess/drivers/mac.c
r17670r17671
813813   sony_read_status
814814};
815815
816static const SCSIBus_interface scsibus_intf =
817{
818};
819
820816static const struct NCR5380interface macplus_5380intf =
821817{
822818   mac_scsi_irq   // IRQ (unconnected on the Mac Plus)
r17670r17671
931927   MCFG_CPU_MODIFY( "maincpu" )
932928   MCFG_CPU_PROGRAM_MAP(macplus_map)
933929
934   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
930   MCFG_SCSIBUS_ADD("scsi")
935931   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
936932   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
937933   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
990986   MCFG_NVRAM_HANDLER(mac)
991987
992988   /* devices */
993   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
989   MCFG_SCSIBUS_ADD("scsi")
994990   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
995991   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
996992   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
10361032   MCFG_NUBUS_SLOT_ADD("nubus","nbd", mac_nubus_cards, NULL, NULL)
10371033   MCFG_NUBUS_SLOT_ADD("nubus","nbe", mac_nubus_cards, NULL, NULL)
10381034
1039   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1035   MCFG_SCSIBUS_ADD("scsi")
10401036   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
10411037   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
10421038   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
10881084   MCFG_NUBUS_SLOT_ADD("nubus","nbd", mac_nubus_cards, NULL, NULL)
10891085   MCFG_NUBUS_SLOT_ADD("nubus","nbe", mac_nubus_cards, NULL, NULL)
10901086
1091   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1087   MCFG_SCSIBUS_ADD("scsi")
10921088   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
10931089   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
10941090   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
12861282   MCFG_NVRAM_HANDLER(mac)
12871283
12881284   /* devices */
1289   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1285   MCFG_SCSIBUS_ADD("scsi")
12901286   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
12911287   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
12921288   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
13371333   MCFG_NVRAM_HANDLER(mac)
13381334
13391335   /* devices */
1340   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1336   MCFG_SCSIBUS_ADD("scsi")
13411337   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
13421338   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
13431339   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
14081404   MCFG_NVRAM_HANDLER(mac)
14091405
14101406   /* devices */
1411   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1407   MCFG_SCSIBUS_ADD("scsi")
14121408   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
14131409   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
14141410   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
15791575   MCFG_NVRAM_HANDLER(mac)
15801576
15811577   /* devices */
1582   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1578   MCFG_SCSIBUS_ADD("scsi")
15831579   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
15841580   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
15851581   MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
r17670r17671
16391635   MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf)
16401636   MCFG_VIA6522_ADD("via6522_1", C7M/10, mac_via6522_2_intf)
16411637
1642   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
1638   MCFG_SCSIBUS_ADD("scsi")
16431639   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
16441640   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
16451641   MCFG_NCR539X_ADD(MAC_539X_1_TAG, C7M, mac_539x_intf)
trunk/src/mess/drivers/x68k.c
r17670r17671
25282528   NULL
25292529};
25302530
2531static const SCSIBus_interface scsibus_intf =
2532{
2533};
2534
25352531static const mb89352_interface x68k_scsi_intf =
25362532{
25372533   DEVCB_LINE(x68k_scsi_irq),
r17670r17671
28212817   MCFG_CPU_MODIFY("maincpu")
28222818   MCFG_CPU_PROGRAM_MAP(x68kxvi_map)
28232819
2824   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
2820   MCFG_SCSIBUS_ADD("scsi")
28252821   MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
28262822   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
28272823   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
r17670r17671
28422838   MCFG_CPU_CLOCK(16000000)  /* 16 MHz */
28432839   MCFG_CPU_PROGRAM_MAP(x68kxvi_map)
28442840
2845   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
2841   MCFG_SCSIBUS_ADD("scsi")
28462842   MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
28472843   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
28482844   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
r17670r17671
28642860
28652861   MCFG_NVRAM_ADD_0FILL("nvram32")
28662862
2867   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
2863   MCFG_SCSIBUS_ADD("scsi")
28682864   MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
28692865   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
28702866   MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
trunk/src/mess/drivers/bebox.c
r17670r17671
117117}
118118
119119
120static const SCSIBus_interface scsibus_intf =
121{
122};
123
124120static const struct LSI53C810interface lsi53c810_intf =
125121{
126122   &scsi53c810_irq_callback,
r17670r17671
197193
198194   MCFG_FUJITSU_29F016A_ADD("flash")
199195
200   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
196   MCFG_SCSIBUS_ADD("scsi")
201197   MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_0)
202198   MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_3)
203199   MCFG_LSI53C810_ADD( "scsi:lsi53c810", lsi53c810_intf)
trunk/src/mess/drivers/rmnimbus.c
r17670r17671
1515#include "formats/pc_dsk.h"
1616#include "includes/rmnimbus.h"
1717#include "machine/er59256.h"
18#include "machine/scsicb.h"
1819#include "machine/scsihd.h"
1920#include "machine/s1410.h"
2021#include "machine/acb4070.h"
r17670r17671
7879   MSM5205_S48_4B      /* 8 kHz */
7980};
8081
81static const SCSIBus_interface scsibus_config =
82//-------------------------------------------------
83//  SCSICB_interface sasi_intf
84//-------------------------------------------------
85
86static const SCSICB_interface scsibus_config =
8287{
8388   &nimbus_scsi_linechange
8489};
r17670r17671
321326   MCFG_WD2793_ADD(FDC_TAG, nimbus_wd17xx_interface )
322327   MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(nimbus_floppy_interface)
323328
324   MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsibus_config)
329   MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
325330   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", ACB4070, SCSI_ID_0)
326331   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk1", S1410, SCSI_ID_1)
327332   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk2", SCSIHD, SCSI_ID_2)
328333   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk3", SCSIHD, SCSI_ID_3)
334   MCFG_SCSICB_ADD(SCSIBUS_TAG ":host", scsibus_config)
329335
330336    MCFG_RAM_ADD(RAM_TAG)
331337   MCFG_RAM_DEFAULT_SIZE("1536K")
trunk/src/mess/drivers/ip20.c
r17670r17671
483483{
484484}
485485
486static const SCSIBus_interface scsibus_intf =
487{
488};
489
490486static const struct WD33C93interface wd33c93_intf =
491487{
492488   &scsi_irq,      /* command completion IRQ */
r17670r17671
610606
611607   MCFG_SCC8530_ADD("scc", 7000000, line_cb_t())
612608
613   MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
609   MCFG_SCSIBUS_ADD("scsi")
614610   MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_6)
615611   MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf)
616612

Previous 199869 Revisions Next


© 1997-2024 The MAME Team