| Previous | 199869 Revisions | Next |
| r17426 Thursday 23rd August, 2012 at 17:53:10 UTC by smf |
|---|
| glacial SCSI improvements towards NSCSI and beyond, moved the SCSI id onto the device (nw) |
| [src/emu/machine] | 53c810.c am53cf96.c ncr539x.c scsi.h scsidev.c scsidev.h wd33c93.c |
| [src/mame/drivers] | cps3.c konamigq.c konamigv.c twinkle.c |
| [src/mess/drivers] | abc1600.c bebox.c bullet.c fmtowns.c ip20.c ip22.c mac.c rmnimbus.c v1050.c x68k.c |
| [src/mess/machine] | abc_hdc.c abc_xebec.c bebox.c d9060.c e01.c fm_scsi.c lux4105.c mb89352.c ncr5380.c scsibus.c x68k_scsiext.c |
| r17425 | r17426 | |
|---|---|---|
| 306 | 306 | { |
| 307 | 307 | 1, /* 1 SCSI device */ |
| 308 | 308 | { |
| 309 | { | |
| 309 | { | |
| 310 | 310 | } |
| 311 | 311 | }; |
| 312 | 312 | |
| r17425 | r17426 | |
| 358 | 358 | MCFG_EEPROM_93C46_ADD("eeprom") |
| 359 | 359 | MCFG_EEPROM_DATA(konamigq_def_eeprom, 128) |
| 360 | 360 | |
| 361 | MCFG_DEV | |
| 361 | MCFG_SCSIDEV | |
| 362 | 362 | |
| 363 | 363 | /* video hardware */ |
| 364 | 364 | MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8538Q, 0x200000, XTAL_53_693175MHz ) |
| r17425 | r17426 | |
|---|---|---|
| 852 | 852 | { |
| 853 | 853 | 1, /* 1 SCSI device */ |
| 854 | 854 | { |
| 855 | { | |
| 855 | { | |
| 856 | 856 | } |
| 857 | 857 | }; |
| 858 | 858 | |
| r17425 | r17426 | |
| 914 | 914 | MCFG_MACHINE_RESET( twinkle ) |
| 915 | 915 | MCFG_I2CMEM_ADD("security",i2cmem_interface) |
| 916 | 916 | |
| 917 | MCFG_DEV | |
| 917 | MCFG_SCSIDEV | |
| 918 | 918 | |
| 919 | 919 | MCFG_IDE_CONTROLLER_ADD("ide", ide_interrupt, ide_devices, "hdd", NULL, true) |
| 920 | 920 | MCFG_RTC65271_ADD("rtc", twinkle_rtc) |
| r17425 | r17426 | |
|---|---|---|
| 2293 | 2293 | |
| 2294 | 2294 | static const SCSIConfigTable dev_table = |
| 2295 | 2295 | { |
| 2296 | 1, /* 1 SCSI device */ | |
| 2297 | { { SCSI_ID_1, ":cdrom" } } /* SCSI ID 2, CD-ROM */ | |
| 2296 | 1, /* 1 SCSI device */ | |
| 2297 | { | |
| 2298 | { ":cdrom" } | |
| 2299 | } | |
| 2298 | 2300 | }; |
| 2299 | 2301 | |
| 2300 | 2302 | static const struct WD33C93interface scsi_intf = |
| r17425 | r17426 | |
| 2542 | 2544 | MCFG_CPU_PERIODIC_INT(cps3_other_interrupt,80) /* ?source? */ |
| 2543 | 2545 | MCFG_CPU_CONFIG(sh2_conf_cps3) |
| 2544 | 2546 | |
| 2545 | MCFG_DEV | |
| 2547 | MCFG_SCSIDEV | |
| 2546 | 2548 | |
| 2547 | 2549 | /* video hardware */ |
| 2548 | 2550 | MCFG_SCREEN_ADD("screen", RASTER) |
| r17425 | r17426 | |
|---|---|---|
| 296 | 296 | { |
| 297 | 297 | 1, /* 1 SCSI device */ |
| 298 | 298 | { |
| 299 | { | |
| 299 | { | |
| 300 | 300 | } |
| 301 | 301 | }; |
| 302 | 302 | |
| r17425 | r17426 | |
| 353 | 353 | |
| 354 | 354 | MCFG_EEPROM_93C46_ADD("eeprom") |
| 355 | 355 | |
| 356 | MCFG_DEV | |
| 356 | MCFG_SCSIDEV | |
| 357 | 357 | |
| 358 | 358 | /* video hardware */ |
| 359 | 359 | MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8514Q, 0x100000, XTAL_53_693175MHz ) |
| r17425 | r17426 | |
|---|---|---|
| 96 | 96 | *_command = command; |
| 97 | 97 | *_commandLength = commandLength; |
| 98 | 98 | } |
| 99 | ||
| 100 | int scsidev_device::GetDeviceID() | |
| 101 | { | |
| 102 | return scsiID; | |
| 103 | } | |
| 104 | ||
| 105 | void scsidev_device::static_set_deviceid( device_t &device, int _scsiID ) | |
| 106 | { | |
| 107 | scsidev_device &scsidev = downcast<scsidev_device &>(device); | |
| 108 | scsidev.scsiID = _scsiID; | |
| 109 | } |
| r17425 | r17426 | |
|---|---|---|
| 23 | 23 | virtual void ReadData( UINT8 *data, int dataLength ); |
| 24 | 24 | virtual void SetPhase( int phase ); |
| 25 | 25 | virtual void GetPhase( int *phase ); |
| 26 | virtual int GetDeviceID(); | |
| 26 | 27 | |
| 28 | // configuration helpers | |
| 29 | static void static_set_deviceid(device_t &device, int _scsiID); | |
| 30 | ||
| 27 | 31 | protected: |
| 28 | 32 | // device-level overrides |
| 29 | 33 | virtual void device_start(); |
| r17425 | r17426 | |
| 32 | 36 | UINT8 command[16]; |
| 33 | 37 | int commandLength; |
| 34 | 38 | int phase; |
| 39 | int scsiID; | |
| 35 | 40 | }; |
| 36 | 41 | |
| 37 | 42 | extern int SCSILengthFromUINT8( UINT8 *length ); |
| r17425 | r17426 | |
| 44 | 49 | #define SCSI_PHASE_MESSAGE_OUT ( 6 ) |
| 45 | 50 | #define SCSI_PHASE_MESSAGE_IN ( 7 ) |
| 46 | 51 | |
| 52 | // SCSI IDs | |
| 53 | enum | |
| 54 | { | |
| 55 | SCSI_ID_0 = 0, | |
| 56 | SCSI_ID_1, | |
| 57 | SCSI_ID_2, | |
| 58 | SCSI_ID_3, | |
| 59 | SCSI_ID_4, | |
| 60 | SCSI_ID_5, | |
| 61 | SCSI_ID_6, | |
| 62 | SCSI_ID_7 | |
| 63 | }; | |
| 64 | ||
| 65 | #define MCFG_SCSIDEV_ADD(_tag, _type, _id) \ | |
| 66 | MCFG_DEVICE_ADD(_tag, _type, 0) \ | |
| 67 | scsidev_device::static_set_deviceid(*device, _id); | |
| 68 | ||
| 47 | 69 | #endif |
| r17425 | r17426 | |
|---|---|---|
| 708 | 708 | // try to open the devices |
| 709 | 709 | for (i = 0; i < interface->scsidevs->devs_present; i++) |
| 710 | 710 | { |
| 711 | devices[interface->scsidevs->devices[i].scsiID] = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag ); | |
| 711 | scsidev_device *device = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag ); | |
| 712 | devices[device->GetDeviceID()] = device; | |
| 712 | 713 | } |
| 713 | 714 | } |
| 714 | 715 |
| r17425 | r17426 | |
|---|---|---|
| 792 | 792 | // try to open the devices |
| 793 | 793 | for (i = 0; i < interface->scsidevs->devs_present; i++) |
| 794 | 794 | { |
| 795 | devices[interface->scsidevs->devices[i].scsiID] = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag ); | |
| 795 | scsidev_device *device = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag ); | |
| 796 | devices[device->GetDeviceID()] = device; | |
| 796 | 797 | } |
| 797 | 798 | |
| 798 | 799 | /* allocate a timer for commands */ |
| r17425 | r17426 | |
|---|---|---|
| 10 | 10 | |
| 11 | 11 | typedef struct scsiconfigitem |
| 12 | 12 | { |
| 13 | int scsiID; | |
| 14 | 13 | const char *tag; |
| 15 | 14 | } SCSIConfigItem; |
| 16 | 15 | |
| r17425 | r17426 | |
| 22 | 21 | const SCSIConfigItem devices[SCSI_MAX_DEVICES]; |
| 23 | 22 | } SCSIConfigTable; |
| 24 | 23 | |
| 25 | // SCSI IDs | |
| 26 | enum | |
| 27 | { | |
| 28 | SCSI_ID_0 = 0, | |
| 29 | SCSI_ID_1, | |
| 30 | SCSI_ID_2, | |
| 31 | SCSI_ID_3, | |
| 32 | SCSI_ID_4, | |
| 33 | SCSI_ID_5, | |
| 34 | SCSI_ID_6, | |
| 35 | SCSI_ID_7 | |
| 36 | }; | |
| 37 | ||
| 38 | 24 | #endif |
| r17425 | r17426 | |
|---|---|---|
| 160 | 160 | // try to open the devices |
| 161 | 161 | for (i = 0; i < scsidevs->devs_present; i++) |
| 162 | 162 | { |
| 163 | m_scsi_devices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 164 | assert( m_scsi_devices[scsidevs->devices[i].scsiID] != NULL ); | |
| 163 | scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 164 | m_scsi_devices[device->GetDeviceID()] = device; | |
| 165 | 165 | } |
| 166 | 166 | |
| 167 | 167 | m_operation_timer = timer_alloc(0, NULL); |
| r17425 | r17426 | |
| 232 | 232 | // try to open the devices |
| 233 | 233 | for (i = 0; i < scsidevs->devs_present; i++) |
| 234 | 234 | { |
| 235 | // if a device wasn't already allocated | |
| 236 | if (!m_scsi_devices[scsidevs->devices[i].scsiID]) | |
| 237 | { | |
| 238 | m_scsi_devices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 239 | } | |
| 235 | scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 236 | m_scsi_devices[device->GetDeviceID()] = device; | |
| 240 | 237 | } |
| 241 | 238 | } |
| 242 | 239 |
| r17425 | r17426 | |
|---|---|---|
| 222 | 222 | // try to open the devices |
| 223 | 223 | for (i = 0; i < interface->scsidevs->devs_present; i++) |
| 224 | 224 | { |
| 225 | devices[interface->scsidevs->devices[i].scsiID] = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag ); | |
| 225 | scsidev_device *device = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag ); | |
| 226 | devices[device->GetDeviceID()] = device; | |
| 226 | 227 | } |
| 227 | 228 | |
| 228 | 229 | state_save_register_global_array(machine, scsi_regs); |
| r17425 | r17426 | |
|---|---|---|
| 83 | 83 | |
| 84 | 84 | static const SCSIConfigTable sasi_dev_table = |
| 85 | 85 | { |
| 86 | 1, | |
| 86 | 1, /* 1 SCSI device */ | |
| 87 | 87 | { |
| 88 | { | |
| 88 | { | |
| 89 | 89 | } |
| 90 | 90 | }; |
| 91 | 91 | |
| r17425 | r17426 | |
| 114 | 114 | MCFG_CPU_CONFIG(daisy_chain) |
| 115 | 115 | |
| 116 | 116 | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 117 | MCFG_DEV | |
| 117 | MCFG_SCSIDEV | |
| 118 | 118 | MACHINE_CONFIG_END |
| 119 | 119 | |
| 120 | 120 |
| r17425 | r17426 | |
|---|---|---|
| 948 | 948 | for (devno = 0; devno < scsidevs->devs_present; devno++) |
| 949 | 949 | { |
| 950 | 950 | LOG(1,"SCSIBUS:init devno=%d \n",devno); |
| 951 | bus->devices[scsidevs->devices[devno].scsiID] = device->machine().device<scsidev_device>( scsidevs->devices[devno].tag ); | |
| 951 | scsidev_device *scsidev = device->machine().device<scsidev_device>( scsidevs->devices[devno].tag ); | |
| 952 | bus->devices[scsidev->GetDeviceID()] = scsidev; | |
| 952 | 953 | } |
| 953 | 954 | |
| 954 | 955 | bus->sectorbytes = sectorbytes; |
| r17425 | r17426 | |
|---|---|---|
| 78 | 78 | // initialise SCSI devices, if any present |
| 79 | 79 | for(x=0;x<scsidevs->devs_present;x++) |
| 80 | 80 | { |
| 81 | m_SCSIdevices[scsidevs->devices[x].scsiID] = machine().device<scsidev_device>( scsidevs->devices[x].tag ); | |
| 81 | scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[x].tag ); | |
| 82 | m_SCSIdevices[device->GetDeviceID()] = device; | |
| 82 | 83 | } |
| 83 | 84 | |
| 84 | 85 | // allocate read timer |
| r17425 | r17426 | |
|---|---|---|
| 32 | 32 | |
| 33 | 33 | static const SCSIConfigTable sasi_dev_table = |
| 34 | 34 | { |
| 35 | 1, | |
| 35 | 1, /* 1 SCSI device */ | |
| 36 | 36 | { |
| 37 | { | |
| 37 | { | |
| 38 | 38 | } |
| 39 | 39 | }; |
| 40 | 40 |
| r17425 | r17426 | |
|---|---|---|
| 994 | 994 | { |
| 995 | 995 | 2, /* 2 SCSI devices */ |
| 996 | 996 | { |
| 997 | { SCSI_ID_0, "harddisk1" }, /* SCSI ID 0, using HD 0, HD */ | |
| 998 | { SCSI_ID_3, "cdrom" } /* SCSI ID 3, using CHD 0, CD-ROM */ | |
| 997 | { "harddisk1" }, | |
| 998 | { "cdrom" } | |
| 999 | 999 | } |
| 1000 | 1000 | }; |
| 1001 | 1001 |
| r17425 | r17426 | |
|---|---|---|
| 127 | 127 | // try to open the devices |
| 128 | 128 | for (i = 0; i < scsidevs->devs_present; i++) |
| 129 | 129 | { |
| 130 | m_scsi_devices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 130 | scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 131 | m_scsi_devices[device->GetDeviceID()] = device; | |
| 131 | 132 | } |
| 132 | 133 | } |
| 133 | 134 |
| r17425 | r17426 | |
|---|---|---|
| 145 | 145 | |
| 146 | 146 | static const SCSIConfigTable sasi_dev_table = |
| 147 | 147 | { |
| 148 | 1, | |
| 148 | 1, /* 1 SCSI device */ | |
| 149 | 149 | { |
| 150 | { | |
| 150 | { | |
| 151 | 151 | } |
| 152 | 152 | }; |
| 153 | 153 | |
| r17425 | r17426 | |
| 473 | 473 | MCFG_VIA6522_ADD(M6522_TAG, XTAL_4MHz/4, via_intf) |
| 474 | 474 | |
| 475 | 475 | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 476 | MCFG_DEV | |
| 476 | MCFG_SCSIDEV | |
| 477 | 477 | MACHINE_CONFIG_END |
| 478 | 478 | |
| 479 | 479 |
| r17425 | r17426 | |
|---|---|---|
| 160 | 160 | // try to open the devices |
| 161 | 161 | for (i = 0; i < scsidevs->devs_present; i++) |
| 162 | 162 | { |
| 163 | m_SCSIdevices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 163 | scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag ); | |
| 164 | m_SCSIdevices[device->GetDeviceID()] = device; | |
| 164 | 165 | } |
| 165 | 166 | } |
| 166 | 167 |
| r17425 | r17426 | |
|---|---|---|
| 21 | 21 | { |
| 22 | 22 | 7, /* 7 SCSI devices */ |
| 23 | 23 | { |
| 24 | { SCSI_ID_0, ":exp:cz6bs1:extharddisk0" }, | |
| 25 | { SCSI_ID_1, ":exp:cz6bs1:extharddisk1" }, | |
| 26 | { SCSI_ID_2, ":exp:cz6bs1:extharddisk2" }, | |
| 27 | { SCSI_ID_3, ":exp:cz6bs1:extharddisk3" }, | |
| 28 | { SCSI_ID_4, ":exp:cz6bs1:extharddisk4" }, | |
| 29 | { SCSI_ID_5, ":exp:cz6bs1:extharddisk5" }, | |
| 30 | { SCSI_ID_6, ":exp:cz6bs1:extharddisk6" }, | |
| 24 | { ":exp:cz6bs1:extharddisk0" }, | |
| 25 | { ":exp:cz6bs1:extharddisk1" }, | |
| 26 | { ":exp:cz6bs1:extharddisk2" }, | |
| 27 | { ":exp:cz6bs1:extharddisk3" }, | |
| 28 | { ":exp:cz6bs1:extharddisk4" }, | |
| 29 | { ":exp:cz6bs1:extharddisk5" }, | |
| 30 | { ":exp:cz6bs1:extharddisk6" }, | |
| 31 | 31 | } |
| 32 | 32 | }; |
| 33 | 33 | |
| r17425 | r17426 | |
| 55 | 55 | // device machine config |
| 56 | 56 | static MACHINE_CONFIG_FRAGMENT( x68k_scsiext ) |
| 57 | 57 | MCFG_MB89352A_ADD("mb89352_ext",x68k_scsiext_intf) |
| 58 | MCFG_DEVICE_ADD("extharddisk0", SCSIHD, 0) | |
| 59 | MCFG_DEVICE_ADD("extharddisk1", SCSIHD, 0) | |
| 60 | MCFG_DEVICE_ADD("extharddisk2", SCSIHD, 0) | |
| 61 | MCFG_DEVICE_ADD("extharddisk3", SCSIHD, 0) | |
| 62 | MCFG_DEVICE_ADD("extharddisk4", SCSIHD, 0) | |
| 63 | MCFG_DEVICE_ADD("extharddisk5", SCSIHD, 0) | |
| 64 | MCFG_DEVICE_ADD("extharddisk6", SCSIHD, 0) | |
| 58 | MCFG_SCSIDEV_ADD("extharddisk0", SCSIHD, SCSI_ID_0) | |
| 59 | MCFG_SCSIDEV_ADD("extharddisk1", SCSIHD, SCSI_ID_1) | |
| 60 | MCFG_SCSIDEV_ADD("extharddisk2", SCSIHD, SCSI_ID_2) | |
| 61 | MCFG_SCSIDEV_ADD("extharddisk3", SCSIHD, SCSI_ID_3) | |
| 62 | MCFG_SCSIDEV_ADD("extharddisk4", SCSIHD, SCSI_ID_4) | |
| 63 | MCFG_SCSIDEV_ADD("extharddisk5", SCSIHD, SCSI_ID_5) | |
| 64 | MCFG_SCSIDEV_ADD("extharddisk6", SCSIHD, SCSI_ID_6) | |
| 65 | 65 | MACHINE_CONFIG_END |
| 66 | 66 | |
| 67 | 67 | machine_config_constructor x68k_scsiext_device::device_mconfig_additions() const |
| r17425 | r17426 | |
|---|---|---|
| 90 | 90 | |
| 91 | 91 | static const SCSIConfigTable sasi_dev_table = |
| 92 | 92 | { |
| 93 | 1, | |
| 93 | 1, /* 1 SCSI device */ | |
| 94 | 94 | { |
| 95 | { | |
| 95 | { | |
| 96 | 96 | } |
| 97 | 97 | }; |
| 98 | 98 | |
| r17425 | r17426 | |
| 121 | 121 | MCFG_CPU_CONFIG(daisy_chain) |
| 122 | 122 | |
| 123 | 123 | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 124 | MCFG_DEV | |
| 124 | MCFG_SCSIDEV | |
| 125 | 125 | MACHINE_CONFIG_END |
| 126 | 126 | |
| 127 | 127 |
| r17425 | r17426 | |
|---|---|---|
| 264 | 264 | |
| 265 | 265 | static const SCSIConfigTable scsi_dev_table = |
| 266 | 266 | { |
| 267 | 1, | |
| 267 | 1, /* 1 SCSI device */ | |
| 268 | 268 | { |
| 269 | { | |
| 269 | { | |
| 270 | 270 | } |
| 271 | 271 | }; |
| 272 | 272 | |
| r17425 | r17426 | |
| 357 | 357 | MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, e01_centronics_intf) |
| 358 | 358 | |
| 359 | 359 | MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf) |
| 360 | MCFG_DEV | |
| 360 | MCFG_SCSIDEV | |
| 361 | 361 | |
| 362 | 362 | // internal ram |
| 363 | 363 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
|---|---|---|
| 1497 | 1497 | |
| 1498 | 1498 | static const SCSIConfigTable dev_table = |
| 1499 | 1499 | { |
| 1500 | 2, | |
| 1500 | 2, | |
| 1501 | 1501 | { |
| 1502 | { SCSI_ID_1, "harddisk1" }, | |
| 1503 | { SCSI_ID_4, "cdrom" } /* SCSI ID 4, using CD 0, and it's a CD-ROM */ | |
| 1502 | { "harddisk1" }, | |
| 1503 | { "cdrom" } | |
| 1504 | 1504 | } |
| 1505 | 1505 | }; |
| 1506 | 1506 | |
| r17425 | r17426 | |
| 1691 | 1691 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) |
| 1692 | 1692 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) |
| 1693 | 1693 | |
| 1694 | MCFG_DEVICE_ADD("cdrom", SCSICD, 0) | |
| 1695 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1694 | MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_4) | |
| 1695 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1) | |
| 1696 | 1696 | MACHINE_CONFIG_END |
| 1697 | 1697 | |
| 1698 | 1698 | static MACHINE_CONFIG_DERIVED( ip224613, ip225015 ) |
| r17425 | r17426 | |
|---|---|---|
| 991 | 991 | |
| 992 | 992 | static const SCSIConfigTable sasi_dev_table = |
| 993 | 993 | { |
| 994 | 1, | |
| 994 | 1, /* 1 SCSI device */ | |
| 995 | 995 | { |
| 996 | { | |
| 996 | { | |
| 997 | 997 | } |
| 998 | 998 | }; |
| 999 | 999 | |
| r17425 | r17426 | |
| 1123 | 1123 | MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf) |
| 1124 | 1124 | MCFG_TIMER_ADD(TIMER_ACK_TAG, sasi_ack_tick) |
| 1125 | 1125 | MCFG_TIMER_ADD(TIMER_RST_TAG, sasi_rst_tick) |
| 1126 | MCFG_DEV | |
| 1126 | MCFG_SCSIDEV | |
| 1127 | 1127 | |
| 1128 | 1128 | // keyboard |
| 1129 | 1129 | MCFG_V1050_KEYBOARD_ADD() |
| r17425 | r17426 | |
|---|---|---|
| 2627 | 2627 | |
| 2628 | 2628 | static const SCSIConfigTable towns_scsi_devtable = |
| 2629 | 2629 | { |
| 2630 | 5, | |
| 2630 | 5, | |
| 2631 | 2631 | { |
| 2632 | { SCSI_ID_0, "harddisk0" }, | |
| 2633 | { SCSI_ID_1, "harddisk1" }, | |
| 2634 | { SCSI_ID_2, "harddisk2" }, | |
| 2635 | { SCSI_ID_3, "harddisk3" }, | |
| 2636 | { SCSI_ID_4, "harddisk4" }, | |
| 2632 | { "harddisk0" }, | |
| 2633 | { "harddisk1" }, | |
| 2634 | { "harddisk2" }, | |
| 2635 | { "harddisk3" }, | |
| 2636 | { "harddisk4" }, | |
| 2637 | 2637 | } |
| 2638 | 2638 | }; |
| 2639 | 2639 | |
| r17425 | r17426 | |
| 2721 | 2721 | |
| 2722 | 2722 | MCFG_CDROM_ADD("cdrom",towns_cdrom) |
| 2723 | 2723 | |
| 2724 | MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0) | |
| 2725 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 2726 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 2727 | MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0) | |
| 2728 | MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0) | |
| 2724 | MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0) | |
| 2725 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1) | |
| 2726 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2) | |
| 2727 | MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3) | |
| 2728 | MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4) | |
| 2729 | 2729 | MCFG_FMSCSI_ADD("scsi",towns_scsi_config) |
| 2730 | 2730 | |
| 2731 | 2731 | MCFG_UPD71071_ADD("dma_1",towns_dma_config) |
| r17425 | r17426 | |
|---|---|---|
| 1026 | 1026 | |
| 1027 | 1027 | static const SCSIConfigTable scsi_dev_table = |
| 1028 | 1028 | { |
| 1029 | 1, | |
| 1029 | 1, /* 1 SCSI device */ | |
| 1030 | 1030 | { |
| 1031 | { | |
| 1031 | { | |
| 1032 | 1032 | } |
| 1033 | 1033 | }; |
| 1034 | 1034 | |
| r17425 | r17426 | |
| 1215 | 1215 | MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics) |
| 1216 | 1216 | MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800) |
| 1217 | 1217 | MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf) |
| 1218 | MCFG_DEV | |
| 1218 | MCFG_SCSIDEV | |
| 1219 | 1219 | |
| 1220 | 1220 | // software lists |
| 1221 | 1221 | MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet") |
| r17425 | r17426 | |
|---|---|---|
| 1932 | 1932 | MCFG_E0516_ADD(E050_C16PC_TAG, XTAL_32_768kHz) |
| 1933 | 1933 | MCFG_FD1797_ADD(SAB1797_02P_TAG, fdc_intf) |
| 1934 | 1934 | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, abc1600_floppy_interface) |
| 1935 | MCFG_DEV | |
| 1935 | MCFG_SCSIDEV | |
| 1936 | 1936 | MCFG_ABC99_ADD(abc99_intf) |
| 1937 | 1937 | MCFG_S1410_ADD() |
| 1938 | 1938 |
| r17425 | r17426 | |
|---|---|---|
| 816 | 816 | |
| 817 | 817 | static const SCSIConfigTable dev_table = |
| 818 | 818 | { |
| 819 | 2, | |
| 819 | 2, | |
| 820 | 820 | { |
| 821 | { SCSI_ID_6, "harddisk1" }, /* SCSI ID 6, using harddisk1 */ | |
| 822 | { SCSI_ID_5, "harddisk2" } /* SCSI ID 5, using harddisk2 */ | |
| 821 | { "harddisk1" }, | |
| 822 | { "harddisk2" } | |
| 823 | 823 | } |
| 824 | 824 | }; |
| 825 | 825 | |
| r17425 | r17426 | |
| 941 | 941 | |
| 942 | 942 | MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf) |
| 943 | 943 | |
| 944 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 945 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 944 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 945 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 946 | 946 | |
| 947 | 947 | MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_MODIFY(mac_floppy_interface) |
| 948 | 948 | |
| r17425 | r17426 | |
| 1006 | 1006 | MCFG_SCC8530_ADD("scc", C7M, line_cb_t(FUNC(mac_state::set_scc_interrupt), static_cast<mac_state *>(owner))) |
| 1007 | 1007 | MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_intf) |
| 1008 | 1008 | |
| 1009 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1010 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1009 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1010 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1011 | 1011 | |
| 1012 | 1012 | /* internal ram */ |
| 1013 | 1013 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
| 1054 | 1054 | MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf) |
| 1055 | 1055 | MCFG_VIA6522_ADD("via6522_1", C7M/10, mac_via6522_2_intf) |
| 1056 | 1056 | |
| 1057 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1058 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1057 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1058 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1059 | 1059 | |
| 1060 | 1060 | /* internal ram */ |
| 1061 | 1061 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
| 1105 | 1105 | |
| 1106 | 1106 | MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf) |
| 1107 | 1107 | |
| 1108 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1109 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1108 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1109 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1110 | 1110 | |
| 1111 | 1111 | /* internal ram */ |
| 1112 | 1112 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
| 1304 | 1304 | MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf) |
| 1305 | 1305 | MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf) |
| 1306 | 1306 | |
| 1307 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1308 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1307 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1308 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1309 | 1309 | |
| 1310 | 1310 | /* internal ram */ |
| 1311 | 1311 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
| 1355 | 1355 | MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf) |
| 1356 | 1356 | MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf) |
| 1357 | 1357 | |
| 1358 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1359 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1358 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1359 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1360 | 1360 | |
| 1361 | 1361 | /* internal ram */ |
| 1362 | 1362 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
| 1426 | 1426 | MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf) |
| 1427 | 1427 | MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf) |
| 1428 | 1428 | |
| 1429 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1430 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1429 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1430 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1431 | 1431 | |
| 1432 | 1432 | /* internal ram */ |
| 1433 | 1433 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
| 1597 | 1597 | MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf) |
| 1598 | 1598 | MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf) |
| 1599 | 1599 | |
| 1600 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1601 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1600 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1601 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1602 | 1602 | |
| 1603 | 1603 | /* internal ram */ |
| 1604 | 1604 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
| 1649 | 1649 | |
| 1650 | 1650 | MCFG_NCR539X_ADD(MAC_539X_1_TAG, C7M, mac_539x_intf) |
| 1651 | 1651 | |
| 1652 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 1653 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 1652 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6) | |
| 1653 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5) | |
| 1654 | 1654 | |
| 1655 | 1655 | /* internal ram */ |
| 1656 | 1656 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
|---|---|---|
| 2531 | 2531 | |
| 2532 | 2532 | static const SCSIConfigTable x68k_scsi_devtable = |
| 2533 | 2533 | { |
| 2534 | 7, | |
| 2534 | 7, | |
| 2535 | 2535 | { |
| 2536 | { SCSI_ID_0, "harddisk0" }, | |
| 2537 | { SCSI_ID_1, "harddisk1" }, | |
| 2538 | { SCSI_ID_2, "harddisk2" }, | |
| 2539 | { SCSI_ID_3, "harddisk3" }, | |
| 2540 | { SCSI_ID_4, "harddisk4" }, | |
| 2541 | { SCSI_ID_5, "harddisk5" }, | |
| 2542 | { SCSI_ID_6, "harddisk6" }, | |
| 2536 | { "harddisk0" }, | |
| 2537 | { "harddisk1" }, | |
| 2538 | { "harddisk2" }, | |
| 2539 | { "harddisk3" }, | |
| 2540 | { "harddisk4" }, | |
| 2541 | { "harddisk5" }, | |
| 2542 | { "harddisk6" }, | |
| 2543 | 2543 | } |
| 2544 | 2544 | }; |
| 2545 | 2545 | |
| r17425 | r17426 | |
| 2834 | 2834 | MCFG_CPU_PROGRAM_MAP(x68kxvi_map) |
| 2835 | 2835 | |
| 2836 | 2836 | MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf) |
| 2837 | MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0) | |
| 2838 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 2839 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 2840 | MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0) | |
| 2841 | MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0) | |
| 2842 | MCFG_DEVICE_ADD("harddisk5", SCSIHD, 0) | |
| 2843 | MCFG_DEVICE_ADD("harddisk6", SCSIHD, 0) | |
| 2837 | MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0) | |
| 2838 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1) | |
| 2839 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2) | |
| 2840 | MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3) | |
| 2841 | MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4) | |
| 2842 | MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5) | |
| 2843 | MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6) | |
| 2844 | 2844 | MACHINE_CONFIG_END |
| 2845 | 2845 | |
| 2846 | 2846 | static MACHINE_CONFIG_START( x68kxvi, x68k_state ) |
| r17425 | r17426 | |
| 2854 | 2854 | MCFG_CPU_PROGRAM_MAP(x68kxvi_map) |
| 2855 | 2855 | |
| 2856 | 2856 | MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf) |
| 2857 | MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0) | |
| 2858 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 2859 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 2860 | MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0) | |
| 2861 | MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0) | |
| 2862 | MCFG_DEVICE_ADD("harddisk5", SCSIHD, 0) | |
| 2863 | MCFG_DEVICE_ADD("harddisk6", SCSIHD, 0) | |
| 2857 | MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0) | |
| 2858 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1) | |
| 2859 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2) | |
| 2860 | MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3) | |
| 2861 | MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4) | |
| 2862 | MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5) | |
| 2863 | MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6) | |
| 2864 | 2864 | MACHINE_CONFIG_END |
| 2865 | 2865 | |
| 2866 | 2866 | static MACHINE_CONFIG_START( x68030, x68k_state ) |
| r17425 | r17426 | |
| 2875 | 2875 | MCFG_NVRAM_ADD_0FILL("nvram32") |
| 2876 | 2876 | |
| 2877 | 2877 | MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf) |
| 2878 | MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0) | |
| 2879 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 2880 | MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0) | |
| 2881 | MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0) | |
| 2882 | MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0) | |
| 2883 | MCFG_DEVICE_ADD("harddisk5", SCSIHD, 0) | |
| 2884 | MCFG_DEVICE_ADD("harddisk6", SCSIHD, 0) | |
| 2878 | MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0) | |
| 2879 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1) | |
| 2880 | MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2) | |
| 2881 | MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3) | |
| 2882 | MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4) | |
| 2883 | MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5) | |
| 2884 | MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6) | |
| 2885 | 2885 | MACHINE_CONFIG_END |
| 2886 | 2886 | |
| 2887 | 2887 | ROM_START( x68000 ) |
| r17425 | r17426 | |
|---|---|---|
| 154 | 154 | |
| 155 | 155 | MCFG_FUJITSU_29F016A_ADD("flash") |
| 156 | 156 | |
| 157 | MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0) | |
| 158 | MCFG_DEVICE_ADD("cdrom", SCSICD, 0) | |
| 157 | MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_0) | |
| 158 | MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_3) | |
| 159 | 159 | |
| 160 | 160 | MCFG_IDE_CONTROLLER_ADD( "ide", bebox_ide_interrupt, ide_image_devices, "hdd", NULL, false ) /* FIXME */ |
| 161 | 161 |
| r17425 | r17426 | |
|---|---|---|
| 80 | 80 | |
| 81 | 81 | static const SCSIConfigTable nimbus_scsi_dev_table = |
| 82 | 82 | { |
| 83 | 4, | |
| 83 | 4, | |
| 84 | 84 | { |
| 85 | { SCSI_ID_0, HARDDISK0_TAG }, | |
| 86 | { SCSI_ID_1, HARDDISK1_TAG }, | |
| 87 | { SCSI_ID_2, HARDDISK2_TAG }, | |
| 88 | { SCSI_ID_3, HARDDISK3_TAG }, | |
| 85 | { HARDDISK0_TAG }, | |
| 86 | { HARDDISK1_TAG }, | |
| 87 | { HARDDISK2_TAG }, | |
| 88 | { HARDDISK3_TAG }, | |
| 89 | 89 | } |
| 90 | 90 | }; |
| 91 | 91 | |
| r17425 | r17426 | |
| 334 | 334 | MCFG_WD2793_ADD(FDC_TAG, nimbus_wd17xx_interface ) |
| 335 | 335 | MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(nimbus_floppy_interface) |
| 336 | 336 | |
| 337 | MCFG_DEVICE_ADD(HARDDISK0_TAG, SCSIHD, 0) | |
| 338 | MCFG_DEVICE_ADD(HARDDISK1_TAG, SCSIHD, 0) | |
| 339 | MCFG_DEVICE_ADD(HARDDISK2_TAG, SCSIHD, 0) | |
| 340 | MCFG_DEVICE_ADD(HARDDISK3_TAG, SCSIHD, 0) | |
| 337 | MCFG_SCSIDEV_ADD(HARDDISK0_TAG, SCSIHD, SCSI_ID_0) | |
| 338 | MCFG_SCSIDEV_ADD(HARDDISK1_TAG, SCSIHD, SCSI_ID_1) | |
| 339 | MCFG_SCSIDEV_ADD(HARDDISK2_TAG, SCSIHD, SCSI_ID_2) | |
| 340 | MCFG_SCSIDEV_ADD(HARDDISK3_TAG, SCSIHD, SCSI_ID_3) | |
| 341 | 341 | MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsibus_config) |
| 342 | 342 | |
| 343 | 343 | MCFG_RAM_ADD(RAM_TAG) |
| r17425 | r17426 | |
|---|---|---|
| 483 | 483 | |
| 484 | 484 | static const SCSIConfigTable dev_table = |
| 485 | 485 | { |
| 486 | 1, /* 1 SCSI device */ | |
| 487 | { { SCSI_ID_6, "cdrom" } } /* SCSI ID 6, CD-ROM */ | |
| 486 | 1, /* 1 SCSI device */ | |
| 487 | { | |
| 488 | { "cdrom" } | |
| 489 | } | |
| 488 | 490 | }; |
| 489 | 491 | |
| 490 | 492 | static const struct WD33C93interface scsi_intf = |
| r17425 | r17426 | |
| 613 | 615 | |
| 614 | 616 | MCFG_SCC8530_ADD("scc", 7000000, line_cb_t()) |
| 615 | 617 | |
| 616 | MCFG_DEV | |
| 618 | MCFG_SCSIDEV | |
| 617 | 619 | |
| 618 | 620 | MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56) |
| 619 | 621 | MACHINE_CONFIG_END |
| Previous | 199869 Revisions | Next |