Removed SCSIConfigTable, SCSI devices are now linked using SCSIBUS from MESS. (nw)
This commit is contained in:
parent
9b81dbdcc3
commit
389625a63c
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -1189,8 +1189,8 @@ src/emu/machine/s3c2410.h svneol=native#text/plain
|
||||
src/emu/machine/s3c2440.c svneol=native#text/plain
|
||||
src/emu/machine/s3c2440.h svneol=native#text/plain
|
||||
src/emu/machine/s3c24xx.c svneol=native#text/plain
|
||||
src/emu/machine/scsi.c svneol=native#text/plain
|
||||
src/emu/machine/scsi.h svneol=native#text/plain
|
||||
src/emu/machine/scsibus.c svneol=native#text/plain
|
||||
src/emu/machine/scsibus.h svneol=native#text/plain
|
||||
src/emu/machine/scsicd.c svneol=native#text/plain
|
||||
src/emu/machine/scsicd.h svneol=native#text/plain
|
||||
src/emu/machine/scsidev.c svneol=native#text/plain
|
||||
@ -6966,8 +6966,6 @@ src/mess/machine/samcoupe.c svneol=native#text/plain
|
||||
src/mess/machine/sapi1.c svneol=native#text/plain
|
||||
src/mess/machine/sc499.c svneol=native#text/plain
|
||||
src/mess/machine/sc499.h svneol=native#text/plain
|
||||
src/mess/machine/scsibus.c svneol=native#text/plain
|
||||
src/mess/machine/scsibus.h svneol=native#text/plain
|
||||
src/mess/machine/ser_mouse.c svneol=native#text/plain
|
||||
src/mess/machine/ser_mouse.h svneol=native#text/plain
|
||||
src/mess/machine/serial.c svneol=native#text/plain
|
||||
|
@ -244,7 +244,7 @@ EMUMACHINEOBJS = \
|
||||
$(EMUMACHINE)/s3c2410.o \
|
||||
$(EMUMACHINE)/s3c2440.o \
|
||||
$(EMUMACHINE)/s3520cf.o \
|
||||
$(EMUMACHINE)/scsi.o \
|
||||
$(EMUMACHINE)/scsibus.o \
|
||||
$(EMUMACHINE)/scsicd.o \
|
||||
$(EMUMACHINE)/scsidev.o \
|
||||
$(EMUMACHINE)/scsihd.o \
|
||||
|
@ -662,10 +662,13 @@ void lsi53c810_device::device_start()
|
||||
memset(devices, 0, sizeof(devices));
|
||||
|
||||
// try to open the devices
|
||||
for (i = 0; i < scsidevs->devs_present; i++)
|
||||
for( device_t *device = owner()->first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[i].tag );
|
||||
devices[device->GetDeviceID()] = device;
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
devices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,12 +1,10 @@
|
||||
#ifndef LSI53C810_H
|
||||
#define LSI53C810_H
|
||||
|
||||
#include "scsi.h"
|
||||
#include "scsidev.h"
|
||||
|
||||
struct LSI53C810interface
|
||||
{
|
||||
const SCSIConfigTable *scsidevs; /* SCSI devices */
|
||||
void (*irq_callback)(running_machine &machine, int); /* IRQ callback */
|
||||
void (*dma_callback)(running_machine &machine, UINT32, UINT32, int, int); /* DMA callback */
|
||||
UINT32 (*fetch)(running_machine &machine, UINT32 dsp);
|
||||
|
@ -178,10 +178,13 @@ void am53cf96_device::device_start()
|
||||
memset(devices, 0, sizeof(devices));
|
||||
|
||||
// try to open the devices
|
||||
for (int i = 0; i < scsidevs->devs_present; i++)
|
||||
for( device_t *device = owner()->first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[i].tag );
|
||||
devices[device->GetDeviceID()] = device;
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
devices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
|
||||
fptr = 0;
|
||||
|
@ -6,12 +6,10 @@
|
||||
#ifndef _AM53CF96_H_
|
||||
#define _AM53CF96_H_
|
||||
|
||||
#include "scsi.h"
|
||||
#include "scsidev.h"
|
||||
|
||||
struct AM53CF96interface
|
||||
{
|
||||
const SCSIConfigTable *scsidevs; /* SCSI devices */
|
||||
void (*irq_callback)(running_machine &machine); /* irq callback */
|
||||
};
|
||||
|
||||
|
@ -122,7 +122,6 @@ void ncr539x_device::device_config_complete()
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
scsidevs = NULL;
|
||||
memset(&m_out_irq_cb, 0, sizeof(m_out_irq_cb));
|
||||
memset(&m_out_drq_cb, 0, sizeof(m_out_drq_cb));
|
||||
}
|
||||
@ -156,10 +155,13 @@ void ncr539x_device::device_start()
|
||||
m_out_drq_func.resolve(m_out_drq_cb, *this);
|
||||
|
||||
// try to open the devices
|
||||
for (int i = 0; i < scsidevs->devs_present; i++)
|
||||
for( device_t *device = owner()->first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[i].tag );
|
||||
m_scsi_devices[device->GetDeviceID()] = device;
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
m_scsi_devices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
|
||||
m_operation_timer = timer_alloc(0, NULL);
|
||||
@ -189,13 +191,6 @@ void ncr539x_device::device_reset()
|
||||
|
||||
m_out_irq_func(CLEAR_LINE);
|
||||
m_out_drq_func(CLEAR_LINE);
|
||||
|
||||
// try to open the devices
|
||||
for (int i = 0; i < scsidevs->devs_present; i++)
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[i].tag );
|
||||
m_scsi_devices[device->GetDeviceID()] = device;
|
||||
}
|
||||
}
|
||||
|
||||
void ncr539x_device::dma_read_data(int bytes, UINT8 *pData)
|
||||
|
@ -6,14 +6,12 @@
|
||||
#ifndef _NCR539x_H_
|
||||
#define _NCR539x_H_
|
||||
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/scsidev.h"
|
||||
|
||||
struct NCR539Xinterface
|
||||
{
|
||||
const SCSIConfigTable *scsidevs; /* SCSI devices */
|
||||
devcb_write_line m_out_irq_cb; /* IRQ line */
|
||||
devcb_write_line m_out_drq_cb; /* DRQ line */
|
||||
devcb_write_line m_out_irq_cb; /* IRQ line */
|
||||
devcb_write_line m_out_drq_cb; /* DRQ line */
|
||||
};
|
||||
|
||||
//// 539x registers
|
||||
@ -23,8 +21,8 @@ struct NCR539Xinterface
|
||||
|
||||
// device stuff
|
||||
#define MCFG_NCR539X_ADD(_tag, _clock, _intrf) \
|
||||
MCFG_DEVICE_ADD(_tag, NCR539X, _clock) \
|
||||
MCFG_DEVICE_CONFIG(_intrf)
|
||||
MCFG_DEVICE_ADD(_tag, NCR539X, _clock) \
|
||||
MCFG_DEVICE_CONFIG(_intrf)
|
||||
|
||||
class ncr539x_device : public device_t,
|
||||
public NCR539Xinterface
|
||||
|
@ -1,16 +0,0 @@
|
||||
#include "emu.h"
|
||||
|
||||
int SCSILengthFromUINT8( UINT8 *length )
|
||||
{
|
||||
if( *length == 0 )
|
||||
{
|
||||
return 256;
|
||||
}
|
||||
|
||||
return *length;
|
||||
}
|
||||
|
||||
int SCSILengthFromUINT16( UINT8 *length )
|
||||
{
|
||||
return ( *(length) << 8 ) | *(length + 1 );
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
/***************************************************************************
|
||||
|
||||
scsi.h - Header which defines the interface between SCSI device handlers
|
||||
and SCSI interfaces.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _SCSI_H_
|
||||
#define _SCSI_H_
|
||||
|
||||
typedef struct scsiconfigitem
|
||||
{
|
||||
const char *tag;
|
||||
} SCSIConfigItem;
|
||||
|
||||
#define SCSI_MAX_DEVICES (16)
|
||||
|
||||
typedef struct scsiconfigtable
|
||||
{
|
||||
int devs_present;
|
||||
const SCSIConfigItem devices[SCSI_MAX_DEVICES];
|
||||
} SCSIConfigTable;
|
||||
|
||||
#endif
|
@ -8,7 +8,6 @@
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/scsidev.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "debugger.h"
|
||||
@ -885,8 +884,11 @@ void scsibus_device::device_start()
|
||||
|
||||
for( device_t *device = first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *scsidev = downcast<scsidev_device *>(device);
|
||||
devices[scsidev->GetDeviceID()] = scsidev;
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
devices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,6 @@
|
||||
#ifndef _SCSIBUS_H_
|
||||
#define _SCSIBUS_H_
|
||||
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/scsidev.h"
|
||||
|
||||
|
@ -107,3 +107,18 @@ void scsidev_device::static_set_deviceid( device_t &device, int _scsiID )
|
||||
scsidev_device &scsidev = downcast<scsidev_device &>(device);
|
||||
scsidev.scsiID = _scsiID;
|
||||
}
|
||||
|
||||
int SCSILengthFromUINT8( UINT8 *length )
|
||||
{
|
||||
if( *length == 0 )
|
||||
{
|
||||
return 256;
|
||||
}
|
||||
|
||||
return *length;
|
||||
}
|
||||
|
||||
int SCSILengthFromUINT16( UINT8 *length )
|
||||
{
|
||||
return ( *(length) << 8 ) | *(length + 1 );
|
||||
}
|
||||
|
@ -760,10 +760,13 @@ void wd33c93_device::device_start()
|
||||
memset(devices, 0, sizeof(devices));
|
||||
|
||||
// try to open the devices
|
||||
for (int i = 0; i < scsidevs->devs_present; i++)
|
||||
for( device_t *device = owner()->first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[i].tag );
|
||||
devices[device->GetDeviceID()] = device;
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
devices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
|
||||
/* allocate a timer for commands */
|
||||
|
@ -6,12 +6,10 @@
|
||||
#ifndef _WD33C93_H_
|
||||
#define _WD33C93_H_
|
||||
|
||||
#include "machine/scsi.h"
|
||||
#include "scsidev.h"
|
||||
|
||||
struct WD33C93interface
|
||||
{
|
||||
const SCSIConfigTable *scsidevs; /* SCSI devices */
|
||||
void (*irq_callback)(running_machine &machine, int state); /* irq callback */
|
||||
};
|
||||
|
||||
|
@ -388,8 +388,9 @@ Notes:
|
||||
#include "machine/intelfsh.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "includes/cps3.h"
|
||||
#include "machine/wd33c93.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsicd.h"
|
||||
#include "machine/wd33c93.h"
|
||||
|
||||
#define MASTER_CLOCK 42954500
|
||||
|
||||
@ -2167,7 +2168,7 @@ static ADDRESS_MAP_START( cps3_map, AS_PROGRAM, 32, cps3_state )
|
||||
AM_RANGE(0x05100000, 0x05100003) AM_WRITE(cps3_irq12_ack_w )
|
||||
AM_RANGE(0x05110000, 0x05110003) AM_WRITE(cps3_irq10_ack_w )
|
||||
|
||||
AM_RANGE(0x05140000, 0x05140003) AM_DEVREADWRITE8("wd33c93", wd33c93_device, read, write, 0x00ff00ff )
|
||||
AM_RANGE(0x05140000, 0x05140003) AM_DEVREADWRITE8("scsi:wd33c93", wd33c93_device, read, write, 0x00ff00ff )
|
||||
|
||||
AM_RANGE(0x06000000, 0x067fffff) AM_READWRITE(cps3_flash1_r, cps3_flash1_w ) /* Flash ROMs simm 1 */
|
||||
AM_RANGE(0x06800000, 0x06ffffff) AM_READWRITE(cps3_flash2_r, cps3_flash2_w ) /* Flash ROMs simm 2 */
|
||||
@ -2261,17 +2262,12 @@ static INTERRUPT_GEN(cps3_other_interrupt)
|
||||
//static sh2_cpu_core sh2cp_conf_slave = { 1, NULL };
|
||||
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
1, /* 1 SCSI device */
|
||||
{
|
||||
{ ":cdrom" }
|
||||
}
|
||||
};
|
||||
|
||||
static const struct WD33C93interface scsi_intf =
|
||||
static const struct WD33C93interface wd33c93_intf =
|
||||
{
|
||||
&dev_table, /* SCSI device table */
|
||||
NULL /* command completion IRQ */
|
||||
};
|
||||
|
||||
@ -2509,8 +2505,9 @@ static MACHINE_CONFIG_START( cps3, cps3_state )
|
||||
MCFG_CPU_PERIODIC_INT(cps3_other_interrupt,80) /* ?source? */
|
||||
MCFG_CPU_CONFIG(sh2_conf_cps3)
|
||||
|
||||
MCFG_WD33C93_ADD("wd33c93", scsi_intf);
|
||||
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_1)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_1)
|
||||
MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -2615,7 +2612,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "redearth-simm5.1", 0x00000, 0x200000, CRC(9b8cb56b) SHA1(2ff1081dc99bb7c2f1e036f4c112137c96b83d23), flags ) \
|
||||
|
||||
#define REDEARTH_961121_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-wzd-5", 0, BAD_DUMP SHA1(e5676752b08283dc4a98c3d7b759e8aa6dcd0679) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-wzd-5", 0, BAD_DUMP SHA1(e5676752b08283dc4a98c3d7b759e8aa6dcd0679) ) \
|
||||
|
||||
#define REDEARTH_961023_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "redearth(__961023)-simm1.0", 0x00000, 0x200000, CRC(65bac346) SHA1(6f4ba0c2cae91a37fc97bea5fc8a50aaf6ca6513), flags ) \
|
||||
@ -2642,7 +2639,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "redearth-simm5.1", 0x00000, 0x200000, CRC(9b8cb56b) SHA1(2ff1081dc99bb7c2f1e036f4c112137c96b83d23), flags ) \
|
||||
|
||||
#define REDEARTH_961023_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-wzd-3", 0, SHA1(a6ff67093db6bc80ee5fc46e4300e0177b213a52) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-wzd-3", 0, SHA1(a6ff67093db6bc80ee5fc46e4300e0177b213a52) ) \
|
||||
|
||||
#define SFIII_970204_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii-simm1.0", 0x00000, 0x200000, CRC(cfc9e45a) SHA1(5d9061f76680642e730373e3ac29b24926dc5c0c), flags ) \
|
||||
@ -2669,7 +2666,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "sfiii-simm5.1", 0x00000, 0x200000, CRC(c6f1c066) SHA1(00de492dd1ef7aef05027a8c501c296b6602e917), flags ) \
|
||||
|
||||
#define SFIII_970204_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-sf3-3", 0, BAD_DUMP SHA1(606e62cc5f46275e366e7dbb412dbaeb7e54cd0c) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-sf3-3", 0, BAD_DUMP SHA1(606e62cc5f46275e366e7dbb412dbaeb7e54cd0c) ) \
|
||||
|
||||
#define SFIII2_970930_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii2-simm1.0", 0x00000, 0x200000, CRC(2d666f0b) SHA1(68de034b3a3aeaf4b26122a84ad48b0b763e4122), flags ) \
|
||||
@ -2706,7 +2703,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "sfiii2-simm5.7", 0x00000, 0x200000, CRC(93ffa199) SHA1(33ec2379f30c6fdf47ba72c1d0cad8bdd02f17df), flags ) \
|
||||
|
||||
#define SFIII2_970930_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-3ga000", 0, BAD_DUMP SHA1(4e162885b0b3265a56e0265037bcf247e820f027) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-3ga000", 0, BAD_DUMP SHA1(4e162885b0b3265a56e0265037bcf247e820f027) ) \
|
||||
|
||||
#define JOJO_990128_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojo(__990128)-simm1.0", 0x00000, 0x200000, CRC(9516948b) SHA1(4d7e6c1eb7d1bebff2a5069bcd186070a9105474), flags ) \
|
||||
@ -2737,7 +2734,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32), flags ) \
|
||||
|
||||
#define JOJO_990128_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjk-3", 0, SHA1(dc6e74b5e02e13f62cb8c4e234dd6061501e49c1) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-jjk-3", 0, SHA1(dc6e74b5e02e13f62cb8c4e234dd6061501e49c1) ) \
|
||||
|
||||
#define JOJO_990108_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojo(__990108)-simm1.0", 0x00000, 0x200000, CRC(cfbc38d6) SHA1(c33e3a51fe8ab54e0912a1d6e662fe1ade73cee7), flags ) \
|
||||
@ -2768,7 +2765,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32), flags ) \
|
||||
|
||||
#define JOJO_990108_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjk-2", 0, BAD_DUMP SHA1(0f5c09171409213e191a607ee89ca3a91fe9c96a) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-jjk-2", 0, BAD_DUMP SHA1(0f5c09171409213e191a607ee89ca3a91fe9c96a) ) \
|
||||
|
||||
#define JOJO_981202_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojo(__981202)-simm1.0", 0x00000, 0x200000, CRC(e06ba886) SHA1(4defd5e8e1e6d0c439fed8a6454e89a59e24ea4c), flags ) \
|
||||
@ -2799,7 +2796,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32), flags ) \
|
||||
|
||||
#define JOJO_981202_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjk000", 0, BAD_DUMP SHA1(09869f6d8c032b527e02d815749dc8fab1289e86) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-jjk000", 0, BAD_DUMP SHA1(09869f6d8c032b527e02d815749dc8fab1289e86) ) \
|
||||
|
||||
#define SFIII3_990608_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii3(__990608)-simm1.0", 0x00000, 0x200000, CRC(11dfd3cd) SHA1(dba1f77c46e80317e3279298411154dfb6db2309), flags ) \
|
||||
@ -2844,7 +2841,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm6.7", 0 ) ROMX_LOAD( "sfiii3-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b), flags ) \
|
||||
|
||||
#define SFIII3_990608_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-33s-2", 0, BAD_DUMP SHA1(41b0e246db91cbfc3f8f0f62d981734feb4b4ab5) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-33s-2", 0, BAD_DUMP SHA1(41b0e246db91cbfc3f8f0f62d981734feb4b4ab5) ) \
|
||||
|
||||
#define SFIII3_990512_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii3(__990512)-simm1.0", 0x00000, 0x200000, CRC(66e66235) SHA1(0a98038721d176458d4f85dbd76c5edb93a65322), flags ) \
|
||||
@ -2889,7 +2886,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm6.7", 0 ) ROMX_LOAD( "sfiii3-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b), flags ) \
|
||||
|
||||
#define SFIII3_990512_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-33s-1", 0, BAD_DUMP SHA1(2f4a9006a31903114f9f9dc09465ae253e565c51) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-33s-1", 0, BAD_DUMP SHA1(2f4a9006a31903114f9f9dc09465ae253e565c51) ) \
|
||||
|
||||
#define JOJOBA_990927_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojoba(__990927)-simm1.0", 0x00000, 0x200000, CRC(adcd8377) SHA1(f1aacbe061e3bcade5cca34435c3f86aec5f1499), flags ) \
|
||||
@ -2926,7 +2923,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "jojoba-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404), flags ) \
|
||||
|
||||
#define JOJOBA_990927_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjm-1", 0, SHA1(8628d3fa555fbd5f4121082e925c1834b76c5e65) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-jjm-1", 0, SHA1(8628d3fa555fbd5f4121082e925c1834b76c5e65) ) \
|
||||
|
||||
#define JOJOBA_990913_FLASH( flags ) \
|
||||
ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojoba(__990913)-simm1.0", 0x00000, 0x200000, CRC(76976231) SHA1(90adde7e5983ec6a4e02789d5cefe9e85c9c52d5), flags ) \
|
||||
@ -2963,7 +2960,7 @@ MACHINE_CONFIG_END
|
||||
ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "jojoba-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404), flags ) \
|
||||
|
||||
#define JOJOBA_990913_CDROM \
|
||||
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjm-0", 0, BAD_DUMP SHA1(0678a0baeb853dcff1d230c14f0873cc9f143d7b) ) \
|
||||
DISK_REGION( "scsi:cdrom" ) DISK_IMAGE_READONLY( "cap-jjm-0", 0, BAD_DUMP SHA1(0678a0baeb853dcff1d230c14f0873cc9f143d7b) ) \
|
||||
|
||||
|
||||
/* CD sets - use CD BIOS roms */
|
||||
|
@ -52,15 +52,19 @@
|
||||
#include "includes/psx.h"
|
||||
#include "includes/konamigx.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/am53cf96.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsihd.h"
|
||||
#include "machine/am53cf96.h"
|
||||
#include "sound/k054539.h"
|
||||
|
||||
class konamigq_state : public psx_state
|
||||
{
|
||||
public:
|
||||
konamigq_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: psx_state(mconfig, type, tag) { }
|
||||
: psx_state(mconfig, type, tag),
|
||||
m_am53cf96(*this, "scsi:am53cf96"){ }
|
||||
|
||||
required_device<am53cf96_device> m_am53cf96;
|
||||
|
||||
UINT8 m_sndto000[ 16 ];
|
||||
UINT8 m_sndtor3k[ 16 ];
|
||||
@ -177,7 +181,7 @@ READ32_MEMBER(konamigq_state::pcmram_r)
|
||||
|
||||
static ADDRESS_MAP_START( konamigq_map, AS_PROGRAM, 32, konamigq_state )
|
||||
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("share1") /* ram */
|
||||
AM_RANGE(0x1f000000, 0x1f00001f) AM_DEVREADWRITE8("am53cf96", am53cf96_device, read, write, 0x00ff00ff)
|
||||
AM_RANGE(0x1f000000, 0x1f00001f) AM_DEVREADWRITE8("scsi:am53cf96", am53cf96_device, read, write, 0x00ff00ff)
|
||||
AM_RANGE(0x1f100000, 0x1f10000f) AM_WRITE(soundr3k_w)
|
||||
AM_RANGE(0x1f100010, 0x1f10001f) AM_READ(soundr3k_r)
|
||||
AM_RANGE(0x1f180000, 0x1f180003) AM_WRITE(eeprom_w)
|
||||
@ -260,8 +264,6 @@ static const k054539_interface k054539_config =
|
||||
|
||||
static void scsi_dma_read( konamigq_state *state, UINT32 n_address, INT32 n_size )
|
||||
{
|
||||
am53cf96_device *am53cf96 = state->machine().device<am53cf96_device>("am53cf96");
|
||||
|
||||
UINT32 *p_n_psxram = state->m_p_n_psxram;
|
||||
UINT8 *sector_buffer = state->m_sector_buffer;
|
||||
int i;
|
||||
@ -277,7 +279,7 @@ static void scsi_dma_read( konamigq_state *state, UINT32 n_address, INT32 n_size
|
||||
{
|
||||
n_this = n_size;
|
||||
}
|
||||
am53cf96->dma_read_data( n_this * 4, sector_buffer );
|
||||
state->m_am53cf96->dma_read_data( n_this * 4, sector_buffer );
|
||||
n_size -= n_this;
|
||||
|
||||
i = 0;
|
||||
@ -304,17 +306,12 @@ static void scsi_irq(running_machine &machine)
|
||||
psx_irq_set(machine, 0x400);
|
||||
}
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
1, /* 1 SCSI device */
|
||||
{
|
||||
{ ":disk" }
|
||||
}
|
||||
};
|
||||
|
||||
static const struct AM53CF96interface scsi_intf =
|
||||
static const struct AM53CF96interface am53cf96_intf =
|
||||
{
|
||||
&dev_table, /* SCSI device table */
|
||||
&scsi_irq, /* command completion IRQ */
|
||||
};
|
||||
|
||||
@ -357,9 +354,9 @@ static MACHINE_CONFIG_START( konamigq, konamigq_state )
|
||||
MCFG_EEPROM_93C46_ADD("eeprom")
|
||||
MCFG_EEPROM_DATA(konamigq_def_eeprom, 128)
|
||||
|
||||
MCFG_AM53CF96_ADD("am53cf96", scsi_intf);
|
||||
|
||||
MCFG_SCSIDEV_ADD("disk", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:disk", SCSIHD, SCSI_ID_0)
|
||||
MCFG_AM53CF96_ADD("scsi:am53cf96", am53cf96_intf)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8538Q, 0x200000, XTAL_53_693175MHz )
|
||||
@ -470,7 +467,7 @@ ROM_START( cryptklr )
|
||||
ROM_REGION32_LE( 0x080000, "user1", 0 ) /* bios */
|
||||
ROM_LOAD( "420b03.27p", 0x0000000, 0x080000, CRC(aab391b1) SHA1(bf9dc7c0c8168c22a4be266fe6a66d3738df916b) )
|
||||
|
||||
DISK_REGION( "disk" )
|
||||
DISK_REGION( "scsi:disk" )
|
||||
DISK_IMAGE( "420uaa04", 0, SHA1(67cb1418fc0de2a89fc61847dc9efb9f1bebb347) )
|
||||
ROM_END
|
||||
|
||||
|
@ -125,8 +125,9 @@ Notes:
|
||||
#include "includes/psx.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/intelfsh.h"
|
||||
#include "machine/am53cf96.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsicd.h"
|
||||
#include "machine/am53cf96.h"
|
||||
#include "sound/spu.h"
|
||||
#include "sound/cdda.h"
|
||||
|
||||
@ -134,7 +135,10 @@ class konamigv_state : public psx_state
|
||||
{
|
||||
public:
|
||||
konamigv_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: psx_state(mconfig, type, tag) { }
|
||||
: psx_state(mconfig, type, tag),
|
||||
m_am53cf96(*this, "scsi:am53cf96"){ }
|
||||
|
||||
required_device<am53cf96_device> m_am53cf96;
|
||||
|
||||
UINT32 m_flash_address;
|
||||
|
||||
@ -190,7 +194,7 @@ READ32_MEMBER(konamigv_state::mb89371_r)
|
||||
|
||||
static ADDRESS_MAP_START( konamigv_map, AS_PROGRAM, 32, konamigv_state )
|
||||
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("share1") /* ram */
|
||||
AM_RANGE(0x1f000000, 0x1f00001f) AM_DEVREADWRITE8("am53cf96", am53cf96_device, read, write, 0x00ff00ff)
|
||||
AM_RANGE(0x1f000000, 0x1f00001f) AM_DEVREADWRITE8("scsi:am53cf96", am53cf96_device, read, write, 0x00ff00ff)
|
||||
AM_RANGE(0x1f100000, 0x1f100003) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x1f100004, 0x1f100007) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x1f100008, 0x1f10000b) AM_READ_PORT("P3_P4")
|
||||
@ -209,8 +213,6 @@ ADDRESS_MAP_END
|
||||
|
||||
static void scsi_dma_read( konamigv_state *state, UINT32 n_address, INT32 n_size )
|
||||
{
|
||||
am53cf96_device *am53cf96 = state->machine().device<am53cf96_device>("am53cf96");
|
||||
|
||||
UINT32 *p_n_psxram = state->m_p_n_psxram;
|
||||
UINT8 *sector_buffer = state->m_sector_buffer;
|
||||
int i;
|
||||
@ -229,12 +231,12 @@ static void scsi_dma_read( konamigv_state *state, UINT32 n_address, INT32 n_size
|
||||
if( n_this < 2048 / 4 )
|
||||
{
|
||||
/* non-READ commands */
|
||||
am53cf96->dma_read_data( n_this * 4, sector_buffer );
|
||||
state->m_am53cf96->dma_read_data( n_this * 4, sector_buffer );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* assume normal 2048 byte data for now */
|
||||
am53cf96->dma_read_data( 2048, sector_buffer );
|
||||
state->m_am53cf96->dma_read_data( 2048, sector_buffer );
|
||||
n_this = 2048 / 4;
|
||||
}
|
||||
n_size -= n_this;
|
||||
@ -256,8 +258,6 @@ static void scsi_dma_read( konamigv_state *state, UINT32 n_address, INT32 n_size
|
||||
|
||||
static void scsi_dma_write( konamigv_state *state, UINT32 n_address, INT32 n_size )
|
||||
{
|
||||
am53cf96_device *am53cf96 = state->machine().device<am53cf96_device>("am53cf96");
|
||||
|
||||
UINT32 *p_n_psxram = state->m_p_n_psxram;
|
||||
UINT8 *sector_buffer = state->m_sector_buffer;
|
||||
int i;
|
||||
@ -287,7 +287,7 @@ static void scsi_dma_write( konamigv_state *state, UINT32 n_address, INT32 n_siz
|
||||
n_this--;
|
||||
}
|
||||
|
||||
am53cf96->dma_write_data( n_this * 4, sector_buffer );
|
||||
state->m_am53cf96->dma_write_data( n_this * 4, sector_buffer );
|
||||
}
|
||||
}
|
||||
|
||||
@ -296,17 +296,12 @@ static void scsi_irq(running_machine &machine)
|
||||
psx_irq_set(machine, 0x400);
|
||||
}
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
1, /* 1 SCSI device */
|
||||
{
|
||||
{ ":cdrom", }
|
||||
}
|
||||
};
|
||||
|
||||
static const struct AM53CF96interface scsi_intf =
|
||||
static const struct AM53CF96interface am53cf96_intf =
|
||||
{
|
||||
&dev_table, /* SCSI device table */
|
||||
&scsi_irq, /* command completion IRQ */
|
||||
};
|
||||
|
||||
@ -331,7 +326,7 @@ static MACHINE_RESET( konamigv )
|
||||
{
|
||||
/* also hook up CDDA audio to the CD-ROM drive */
|
||||
void *cdrom;
|
||||
scsidev_device *scsidev = machine.device<scsidev_device>("cdrom");
|
||||
scsidev_device *scsidev = machine.device<scsidev_device>("scsi:cdrom");
|
||||
scsidev->GetDevice( &cdrom );
|
||||
cdda_set_cdrom(machine.device("cdda"), cdrom);
|
||||
}
|
||||
@ -357,9 +352,9 @@ static MACHINE_CONFIG_START( konamigv, konamigv_state )
|
||||
|
||||
MCFG_EEPROM_93C46_ADD("eeprom")
|
||||
|
||||
MCFG_AM53CF96_ADD("am53cf96", scsi_intf);
|
||||
|
||||
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_4)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_4)
|
||||
MCFG_AM53CF96_ADD("scsi:am53cf96", am53cf96_intf)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8514Q, 0x100000, XTAL_53_693175MHz )
|
||||
@ -779,7 +774,7 @@ ROM_START( susume )
|
||||
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "susume.25c", 0x000000, 0x000080, CRC(52f17df7) SHA1(b8ad7787b0692713439d7d9bebfa0c801c806006) )
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "gv027j1", 0, BAD_DUMP SHA1(e7e6749ac65de7771eb8fed7d5eefaec3f902255) )
|
||||
ROM_END
|
||||
|
||||
@ -789,7 +784,7 @@ ROM_START( hyperath )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "hyperath.25c", 0x000000, 0x000080, CRC(20a8c435) SHA1(a0f203a999757fba68b391c525ac4b9684a57ba9) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "hyperath", 0, BAD_DUMP SHA1(694ef6200c61d3052316100cd9251b495eab88a1) )
|
||||
ROM_END
|
||||
|
||||
@ -799,7 +794,7 @@ ROM_START( pbball96 )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "pbball96.25c", 0x000000, 0x000080, CRC(405a7fc9) SHA1(e2d978f49748ba3c4a425188abcd3d272ec23907) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "pbball96", 0, BAD_DUMP SHA1(ebd0ea18ff9ce300ea1e30d66a739a96acfb0621) )
|
||||
ROM_END
|
||||
|
||||
@ -809,7 +804,7 @@ ROM_START( weddingr )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "weddingr.25c", 0x000000, 0x000080, CRC(b90509a0) SHA1(41510a0ceded81dcb26a70eba97636d38d3742c3) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "weddingr", 0, BAD_DUMP SHA1(4e7122b191747ab7220fe4ce1b4483d62ab579af) )
|
||||
ROM_END
|
||||
|
||||
@ -819,7 +814,7 @@ ROM_START( simpbowl )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "simpbowl.25c", 0x000000, 0x000080, CRC(2c61050c) SHA1(16ae7f81cbe841c429c5c7326cf83e87db1782bf) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "simpbowl", 0, BAD_DUMP SHA1(72b32a863e6891ad3bfc1fdfe9cb90a2bd334d71) )
|
||||
ROM_END
|
||||
|
||||
@ -829,7 +824,7 @@ ROM_START( btchamp )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "btchmp.25c", 0x000000, 0x000080, CRC(6d02ea54) SHA1(d3babf481fd89db3aec17f589d0d3d999a2aa6e1) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "btchamp", 0, BAD_DUMP SHA1(c9c858e9034826e1a12c3c003dd068a49a3577e1) )
|
||||
ROM_END
|
||||
|
||||
@ -839,7 +834,7 @@ ROM_START( kdeadeye )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "kdeadeye.25c", 0x000000, 0x000080, CRC(3935d2df) SHA1(cbb855c475269077803c380dbc3621e522efe51e) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "kdeadeye", 0, BAD_DUMP SHA1(3c737c51717925be724dcb93d30769649029b8ce) )
|
||||
ROM_END
|
||||
|
||||
@ -849,7 +844,7 @@ ROM_START( nagano98 )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "nagano98.25c", 0x000000, 0x000080, CRC(b64b7451) SHA1(a77a37e0cc580934d1e7e05d523bae0acd2c1480) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "nagano98", 0, BAD_DUMP SHA1(1be7bd4531f249ff2233dd40a206c8d60054a8c6) )
|
||||
ROM_END
|
||||
|
||||
@ -859,7 +854,7 @@ ROM_START( naganoj )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "720ja.25c", 0x000000, 0x000080, CRC(34c473ba) SHA1(768225b04a293bdbc114a092d14dee28d52044e9) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "720jaa01", 0, SHA1(437160996551ef4dfca43899d1d14beca62eb4c9) )
|
||||
ROM_END
|
||||
|
||||
@ -869,7 +864,7 @@ ROM_START( tokimosh )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "tokimosh.25c", 0x000000, 0x000080, CRC(e57b833f) SHA1(f18a0974a6be69dc179706643aab837ff61c2738) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "755jaa01", 0, BAD_DUMP SHA1(4af080f9650e34d1ddb91bb763469d5fb3c754bd) )
|
||||
ROM_END
|
||||
|
||||
@ -879,7 +874,7 @@ ROM_START( tokimosp )
|
||||
ROM_REGION16_BE( 0x0000080, "eeprom", 0 ) /* default eeprom */
|
||||
ROM_LOAD( "tokimosp.25c", 0x000000, 0x000080, CRC(af4cdd87) SHA1(97041e287e4c80066043967450779b81b62b2b8e) )
|
||||
|
||||
DISK_REGION( "cdrom" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "756jab01", 0, BAD_DUMP SHA1(7bd974d908ae5a7bfa8d30db185ab01ac38dff28) )
|
||||
ROM_END
|
||||
|
||||
|
@ -1204,16 +1204,12 @@ static const eeprom_interface eeprom_intf =
|
||||
5 /* reset_delay (Lost World needs this, very similar to wbeachvl in playmark.c) */
|
||||
};
|
||||
|
||||
static const SCSIConfigTable scsi_dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
0, /* no SCSI device */
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
static const struct LSI53C810interface scsi_intf =
|
||||
static const struct LSI53C810interface lsi53c810_intf =
|
||||
{
|
||||
&scsi_dev_table, /* SCSI device table */
|
||||
&scsi_irq_callback,
|
||||
&real3d_dma_callback,
|
||||
&scsi_fetch,
|
||||
@ -5340,7 +5336,8 @@ static MACHINE_CONFIG_START( model3_10, model3_state )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
|
||||
|
||||
MCFG_LSI53C810_ADD( "lsi51c810", scsi_intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_LSI53C810_ADD( "scsi:lsi53c810", lsi53c810_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( model3_15, model3_state )
|
||||
@ -5381,7 +5378,8 @@ static MACHINE_CONFIG_START( model3_15, model3_state )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
|
||||
|
||||
MCFG_LSI53C810_ADD( "lsi51c810", scsi_intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_LSI53C810_ADD( "scsi:lsi53c810", lsi53c810_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( model3_20, model3_state )
|
||||
|
@ -231,8 +231,9 @@ Notes:
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "video/psx.h"
|
||||
#include "includes/psx.h"
|
||||
#include "machine/am53cf96.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsicd.h"
|
||||
#include "machine/am53cf96.h"
|
||||
#include "machine/rtc65271.h"
|
||||
#include "machine/i2cmem.h"
|
||||
#include "machine/idectrl.h"
|
||||
@ -244,7 +245,10 @@ class twinkle_state : public psx_state
|
||||
{
|
||||
public:
|
||||
twinkle_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: psx_state(mconfig, type, tag) { }
|
||||
: psx_state(mconfig, type, tag),
|
||||
m_am53cf96(*this, "scsi:am53cf96"){ }
|
||||
|
||||
required_device<am53cf96_device> m_am53cf96;
|
||||
|
||||
UINT16 m_spu_ctrl; // SPU board control register
|
||||
UINT8 m_spu_shared[0x400]; // SPU/PSX shared dual-ported RAM
|
||||
@ -627,7 +631,7 @@ READ32_MEMBER(twinkle_state::shared_psx_r)
|
||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, twinkle_state )
|
||||
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("share1") /* ram */
|
||||
AM_RANGE(0x1f000000, 0x1f0007ff) AM_READWRITE(shared_psx_r, shared_psx_w)
|
||||
AM_RANGE(0x1f200000, 0x1f20001f) AM_DEVREADWRITE8("am53cf96", am53cf96_device, read, write, 0x00ff00ff)
|
||||
AM_RANGE(0x1f200000, 0x1f20001f) AM_DEVREADWRITE8("scsi:am53cf96", am53cf96_device, read, write, 0x00ff00ff)
|
||||
AM_RANGE(0x1f20a01c, 0x1f20a01f) AM_WRITENOP /* scsi? */
|
||||
AM_RANGE(0x1f210400, 0x1f2107ff) AM_READNOP
|
||||
AM_RANGE(0x1f218000, 0x1f218003) AM_WRITE(watchdog_reset32_w) /* LTC1232 */
|
||||
@ -768,7 +772,6 @@ ADDRESS_MAP_END
|
||||
static void scsi_dma_read( twinkle_state *state, UINT32 n_address, INT32 n_size )
|
||||
{
|
||||
UINT32 *p_n_psxram = state->m_p_n_psxram;
|
||||
am53cf96_device *am53cf96 = state->machine().device<am53cf96_device>("am53cf96");
|
||||
|
||||
int i;
|
||||
int n_this;
|
||||
@ -786,12 +789,12 @@ static void scsi_dma_read( twinkle_state *state, UINT32 n_address, INT32 n_size
|
||||
if( n_this < 2048 / 4 )
|
||||
{
|
||||
/* non-READ commands */
|
||||
am53cf96->dma_read_data( n_this * 4, state->m_sector_buffer );
|
||||
state->m_am53cf96->dma_read_data( n_this * 4, state->m_sector_buffer );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* assume normal 2048 byte data for now */
|
||||
am53cf96->dma_read_data( 2048, state->m_sector_buffer );
|
||||
state->m_am53cf96->dma_read_data( 2048, state->m_sector_buffer );
|
||||
n_this = 2048 / 4;
|
||||
}
|
||||
n_size -= n_this;
|
||||
@ -814,7 +817,6 @@ static void scsi_dma_read( twinkle_state *state, UINT32 n_address, INT32 n_size
|
||||
static void scsi_dma_write( twinkle_state *state, UINT32 n_address, INT32 n_size )
|
||||
{
|
||||
UINT32 *p_n_psxram = state->m_p_n_psxram;
|
||||
am53cf96_device *am53cf96 = state->machine().device<am53cf96_device>("am53cf96");
|
||||
|
||||
int i;
|
||||
int n_this;
|
||||
@ -843,7 +845,7 @@ static void scsi_dma_write( twinkle_state *state, UINT32 n_address, INT32 n_size
|
||||
n_this--;
|
||||
}
|
||||
|
||||
am53cf96->dma_write_data( n_this * 4, state->m_sector_buffer );
|
||||
state->m_am53cf96->dma_write_data( n_this * 4, state->m_sector_buffer );
|
||||
}
|
||||
}
|
||||
|
||||
@ -852,17 +854,12 @@ static void scsi_irq(running_machine &machine)
|
||||
psx_irq_set(machine, 0x400);
|
||||
}
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
1, /* 1 SCSI device */
|
||||
{
|
||||
{ "cdrom0" }
|
||||
}
|
||||
};
|
||||
|
||||
static const struct AM53CF96interface scsi_intf =
|
||||
static const struct AM53CF96interface am53cf96_intf =
|
||||
{
|
||||
&dev_table, /* SCSI device table */
|
||||
&scsi_irq, /* command completion IRQ */
|
||||
};
|
||||
|
||||
@ -881,7 +878,7 @@ static MACHINE_RESET( twinkle )
|
||||
{
|
||||
/* also hook up CDDA audio to the CD-ROM drive */
|
||||
void *cdrom;
|
||||
scsidev_device *scsidev = machine.device<scsidev_device>("cdrom0");
|
||||
scsidev_device *scsidev = machine.device<scsidev_device>("scsi:cdrom");
|
||||
scsidev->GetDevice( &cdrom );
|
||||
cdda_set_cdrom(machine.device("cdda"), cdrom);
|
||||
}
|
||||
@ -920,9 +917,9 @@ static MACHINE_CONFIG_START( twinkle, twinkle_state )
|
||||
MCFG_MACHINE_RESET( twinkle )
|
||||
MCFG_I2CMEM_ADD("security",i2cmem_interface)
|
||||
|
||||
MCFG_AM53CF96_ADD("am53cf96", scsi_intf);
|
||||
|
||||
MCFG_SCSIDEV_ADD("cdrom0", SCSICD, SCSI_ID_4)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_4)
|
||||
MCFG_AM53CF96_ADD("scsi:am53cf96", am53cf96_intf)
|
||||
|
||||
MCFG_IDE_CONTROLLER_ADD("ide", ide_interrupt, ide_devices, "hdd", NULL, true)
|
||||
MCFG_RTC65271_ADD("rtc", twinkle_rtc)
|
||||
@ -1016,7 +1013,7 @@ ROM_END
|
||||
ROM_START( bmiidx )
|
||||
TWINKLE_BIOS
|
||||
|
||||
DISK_REGION( "cdrom0" ) // program
|
||||
DISK_REGION( "scsi:cdrom" ) // program
|
||||
DISK_IMAGE_READONLY("863jaa01", 0, BAD_DUMP SHA1(aee12de1dc5dd44e5bf7b62133ed695b80999390) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // video CD
|
||||
@ -1032,7 +1029,7 @@ ROM_START( bmiidx2 )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "985j.pd", 0x000000, 0x000100, BAD_DUMP CRC(a35143a9) SHA1(1c0feeab60d9dc50dc4b9a2f3dac73ca619e74b0) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "985jaa01", 0, BAD_DUMP SHA1(0b783f11317f64552ebf3323459139529e7f315f) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // video CD
|
||||
@ -1048,7 +1045,7 @@ ROM_START( bmiidx3 )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "992j.pd", 0x000000, 0x000100, BAD_DUMP CRC(51f24913) SHA1(574b555e3d0c234011198d218d7ae5e95091acb1) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "992jaa01", 0, BAD_DUMP SHA1(7e5389735dff379bb286ba3744edf59b7dfcc74b) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // video CD
|
||||
@ -1064,7 +1061,7 @@ ROM_START( bmiidx4 )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "a03j.pd", 0x000000, 0x000100, CRC(8860cfb6) SHA1(85a5b27f24d4baa7960e692b91c0cf3dc5388e72) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "a03jaa01", 0, BAD_DUMP SHA1(2a587b5524bac6f03d26b55247a0acd22aad6c3a) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // video CD
|
||||
@ -1080,7 +1077,7 @@ ROM_START( bmiidx6 )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "b4uj.pd", 0x000000, 0x000100, BAD_DUMP CRC(0ab15633) SHA1(df004ff41f35b16089f69808ccf53a5e5cc13ac3) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "b4ujaa01", 0, BAD_DUMP SHA1(d8f5d56b8728bea761dc4cdbc04851094d276bd6) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // DVD
|
||||
@ -1096,7 +1093,7 @@ ROM_START( bmiidx7 )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "b44j.pd", 0x000000, 0x000100, BAD_DUMP CRC(5baf4761) SHA1(aa7e07eb2cada03b85bdf11ac6a3de65f4253eef) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "b44jaa01", 0, BAD_DUMP SHA1(a21610f3dc090e39e125d063442ed877fa056146) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // DVD
|
||||
@ -1112,7 +1109,7 @@ ROM_START( bmiidx8 )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "c44j.pd", 0x000000, 0x000100, BAD_DUMP CRC(04c22349) SHA1(d1cb78911cb1ca660d393a81ed3ed07b24c51525) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "c44jaa01", 0, BAD_DUMP SHA1(8b544c81bc56b19e4aa1649e68824811d6d51ce5) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // DVD
|
||||
@ -1128,7 +1125,7 @@ ROM_START( bmiidxc )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "896j.pd", 0x000000, 0x000100, BAD_DUMP CRC(1e5caf37) SHA1(75b378662b651cb322e41564d3bae68cc9edadc5) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "896jaabm", 0, BAD_DUMP SHA1(af008e5bcf18da4e9aea752a712c843e37a74be5) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // video CD
|
||||
@ -1144,7 +1141,7 @@ ROM_START( bmiidxc2 )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "984j.pd", 0x000000, 0x000100, BAD_DUMP CRC(213843e5) SHA1(5571db155a60fa4087dd996af48e8e27fc1c518c) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "984a01bm", 0, BAD_DUMP SHA1(d9b7d74a72a76e4e9cf7725e0fb8dafcc1c87187) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // video CD
|
||||
@ -1160,7 +1157,7 @@ ROM_START( bmiidxca )
|
||||
ROM_REGION( 0x100, "security", 0 )
|
||||
ROM_LOAD( "896j.pd", 0x000000, 0x000100, BAD_DUMP CRC(1e5caf37) SHA1(75b378662b651cb322e41564d3bae68cc9edadc5) )
|
||||
|
||||
DISK_REGION( "cdrom0" )
|
||||
DISK_REGION( "scsi:cdrom" )
|
||||
DISK_IMAGE_READONLY( "896jabbm", 0, BAD_DUMP SHA1(117ae4c876207bbaf9e8fe0fdf5bb161155c1bdb) )
|
||||
|
||||
DISK_REGION( "cdrom1" ) // video CD
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "video/poly.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/53c810.h"
|
||||
|
||||
typedef float MATRIX[4][4];
|
||||
@ -17,7 +18,7 @@ public:
|
||||
model3_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this,"maincpu"),
|
||||
m_lsi53c810(*this,"lsi53c810"),
|
||||
m_lsi53c810(*this, "scsi:lsi53c810"),
|
||||
m_work_ram(*this, "work_ram"),
|
||||
m_paletteram64(*this, "paletteram64"),
|
||||
m_soundram(*this, "soundram"){ }
|
||||
|
@ -27,14 +27,13 @@
|
||||
#include "machine/idectrl.h"
|
||||
#include "machine/mpc105.h"
|
||||
#include "machine/intelfsh.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/53c810.h"
|
||||
|
||||
/* Devices */
|
||||
#include "machine/scsicd.h"
|
||||
#include "machine/scsihd.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "imagedev/chd_cd.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "formats/pc_dsk.h"
|
||||
#include "machine/ram.h"
|
||||
|
||||
@ -94,15 +93,6 @@ static ADDRESS_MAP_START( bebox_slave_mem, AS_PROGRAM, 64, bebox_state )
|
||||
AM_IMPORT_FROM(bebox_mem)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
{
|
||||
2, /* 2 SCSI devices */
|
||||
{
|
||||
{ "harddisk1" },
|
||||
{ "cdrom" }
|
||||
}
|
||||
};
|
||||
|
||||
#define BYTE_REVERSE32(x) (((x >> 24) & 0xff) | \
|
||||
((x >> 8) & 0xff00) | \
|
||||
((x << 8) & 0xff0000) | \
|
||||
@ -127,9 +117,12 @@ static void scsi53c810_dma_callback(running_machine &machine, UINT32 src, UINT32
|
||||
}
|
||||
|
||||
|
||||
static const struct LSI53C810interface scsi53c810_intf =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
};
|
||||
|
||||
static const struct LSI53C810interface lsi53c810_intf =
|
||||
{
|
||||
&dev_table, /* SCSI device table */
|
||||
&scsi53c810_irq_callback,
|
||||
&scsi53c810_dma_callback,
|
||||
&scsi53c810_fetch,
|
||||
@ -197,9 +190,10 @@ static MACHINE_CONFIG_START( bebox, bebox_state )
|
||||
|
||||
MCFG_FUJITSU_29F016A_ADD("flash")
|
||||
|
||||
MCFG_LSI53C810_ADD( "lsi51c810", scsi53c810_intf)
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_3)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_3)
|
||||
MCFG_LSI53C810_ADD( "scsi:lsi53c810", lsi53c810_intf)
|
||||
|
||||
MCFG_IDE_CONTROLLER_ADD( "ide", bebox_ide_interrupt, ide_image_devices, "hdd", NULL, false ) /* FIXME */
|
||||
|
||||
|
@ -115,6 +115,7 @@
|
||||
*/
|
||||
|
||||
#include "includes/fmtowns.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsihd.h"
|
||||
|
||||
// CD controller IRQ types
|
||||
@ -2171,7 +2172,7 @@ static ADDRESS_MAP_START( towns_io , AS_IO, 32, towns_state)
|
||||
// Keyboard (8042 MCU)
|
||||
AM_RANGE(0x0600,0x0607) AM_READWRITE8(towns_keyboard_r, towns_keyboard_w,0x00ff00ff)
|
||||
// SCSI controller
|
||||
AM_RANGE(0x0c30,0x0c37) AM_DEVREADWRITE8("scsi",fmscsi_device,fmscsi_r,fmscsi_w,0x00ff00ff)
|
||||
AM_RANGE(0x0c30,0x0c37) AM_DEVREADWRITE8("scsi:fm",fmscsi_device,fmscsi_r,fmscsi_w,0x00ff00ff)
|
||||
// CMOS
|
||||
AM_RANGE(0x3000,0x4fff) AM_READWRITE8(towns_cmos_r, towns_cmos_w,0x00ff00ff)
|
||||
// Something (MS-DOS wants this 0x41ff to be 1)
|
||||
@ -2485,7 +2486,7 @@ void towns_state::machine_reset()
|
||||
m_cdrom = machine().device<cdrom_image_device>("cdrom");
|
||||
m_cdda = machine().device("cdda");
|
||||
m_speaker = machine().device(SPEAKER_TAG);
|
||||
m_scsi = machine().device<fmscsi_device>("scsi");
|
||||
m_scsi = machine().device<fmscsi_device>("scsi:fm");
|
||||
m_ram = machine().device<ram_device>(RAM_TAG);
|
||||
m_ftimer = 0x00;
|
||||
m_freerun_timer = 0x00;
|
||||
@ -2625,21 +2626,12 @@ static const rf5c68_interface rf5c68_intf =
|
||||
towns_pcm_irq
|
||||
};
|
||||
|
||||
static const SCSIConfigTable towns_scsi_devtable =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
5, /* 5 SCSI devices */
|
||||
{
|
||||
{ "harddisk0" },
|
||||
{ "harddisk1" },
|
||||
{ "harddisk2" },
|
||||
{ "harddisk3" },
|
||||
{ "harddisk4" },
|
||||
}
|
||||
};
|
||||
|
||||
static const FMSCSIinterface towns_scsi_config =
|
||||
{
|
||||
&towns_scsi_devtable,
|
||||
DEVCB_LINE(towns_scsi_irq),
|
||||
DEVCB_LINE(towns_scsi_drq)
|
||||
};
|
||||
@ -2721,12 +2713,13 @@ static MACHINE_CONFIG_FRAGMENT( towns_base )
|
||||
|
||||
MCFG_CDROM_ADD("cdrom",towns_cdrom)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_FMSCSI_ADD("scsi",towns_scsi_config)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_FMSCSI_ADD("scsi:fm",towns_scsi_config)
|
||||
|
||||
MCFG_UPD71071_ADD("dma_1",towns_dma_config)
|
||||
MCFG_UPD71071_ADD("dma_2",towns_dma_config)
|
||||
|
@ -22,10 +22,9 @@
|
||||
#include "machine/8530scc.h"
|
||||
#include "machine/sgi.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/wd33c93.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsicd.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "imagedev/chd_cd.h"
|
||||
#include "machine/wd33c93.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -50,7 +49,7 @@ class ip20_state : public driver_device
|
||||
public:
|
||||
ip20_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_wd33c93(*this, "wd33c93"){ }
|
||||
m_wd33c93(*this, "scsi:wd33c93"){ }
|
||||
|
||||
required_device<wd33c93_device> m_wd33c93;
|
||||
|
||||
@ -484,17 +483,12 @@ static void scsi_irq(running_machine &machine, int state)
|
||||
{
|
||||
}
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
1, /* 1 SCSI device */
|
||||
{
|
||||
{ "cdrom" }
|
||||
}
|
||||
};
|
||||
|
||||
static const struct WD33C93interface scsi_intf =
|
||||
static const struct WD33C93interface wd33c93_intf =
|
||||
{
|
||||
&dev_table, /* SCSI device table */
|
||||
&scsi_irq, /* command completion IRQ */
|
||||
};
|
||||
|
||||
@ -616,8 +610,9 @@ static MACHINE_CONFIG_START( ip204415, ip20_state )
|
||||
|
||||
MCFG_SCC8530_ADD("scc", 7000000, line_cb_t())
|
||||
|
||||
MCFG_WD33C93_ADD("wd33c93", scsi_intf);
|
||||
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_6)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_6)
|
||||
MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf)
|
||||
|
||||
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -50,13 +50,12 @@
|
||||
#include "includes/ps2.h"
|
||||
#include "machine/pcshare.h"
|
||||
#include "video/newport.h"
|
||||
#include "machine/wd33c93.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "imagedev/chd_cd.h"
|
||||
#include "sound/dac.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsicd.h"
|
||||
#include "machine/scsihd.h"
|
||||
#include "machine/wd33c93.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -96,7 +95,7 @@ class ip22_state : public driver_device
|
||||
public:
|
||||
ip22_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_wd33c93(*this, "wd33c93"),
|
||||
m_wd33c93(*this, "scsi:wd33c93"),
|
||||
m_unkpbus0(*this, "unkpbus0"),
|
||||
m_mainram(*this, "mainram") { }
|
||||
|
||||
@ -1497,18 +1496,12 @@ static void scsi_irq(running_machine &machine, int state)
|
||||
}
|
||||
}
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
2, /* 2 SCSI devices */
|
||||
{
|
||||
{ "harddisk1" },
|
||||
{ "cdrom" }
|
||||
}
|
||||
};
|
||||
|
||||
static const struct WD33C93interface scsi_intf =
|
||||
static const struct WD33C93interface wd33c93_intf =
|
||||
{
|
||||
&dev_table, /* SCSI device table */
|
||||
&scsi_irq, /* command completion IRQ */
|
||||
};
|
||||
|
||||
@ -1692,9 +1685,10 @@ static MACHINE_CONFIG_START( ip225015, ip22_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_WD33C93_ADD("wd33c93", scsi_intf);
|
||||
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_4)
|
||||
MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( ip224613, ip225015 )
|
||||
|
@ -45,11 +45,10 @@
|
||||
#include "machine/ncr5380.h"
|
||||
#include "machine/applefdc.h"
|
||||
#include "devices/sonydriv.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "formats/ap_dsk35.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsihd.h"
|
||||
#include "imagedev/chd_cd.h"
|
||||
#include "sound/asc.h"
|
||||
#include "sound/awacs.h"
|
||||
#include "sound/cdda.h"
|
||||
@ -814,24 +813,17 @@ static const applefdc_interface mac_iwm_interface =
|
||||
sony_read_status
|
||||
};
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
2, /* 2 SCSI devices */
|
||||
{
|
||||
{ "harddisk1" },
|
||||
{ "harddisk2" }
|
||||
}
|
||||
};
|
||||
|
||||
static const struct NCR5380interface macplus_5380intf =
|
||||
{
|
||||
&dev_table, // SCSI device table
|
||||
mac_scsi_irq // IRQ (unconnected on the Mac Plus)
|
||||
};
|
||||
|
||||
static const struct NCR539Xinterface mac_539x_intf =
|
||||
{
|
||||
&dev_table, // SCSI device table
|
||||
DEVCB_DRIVER_LINE_MEMBER(mac_state, irq_539x_1_w),
|
||||
DEVCB_DRIVER_LINE_MEMBER(mac_state, drq_539x_1_w)
|
||||
};
|
||||
@ -939,10 +931,10 @@ static MACHINE_CONFIG_DERIVED( macplus, mac512ke )
|
||||
MCFG_CPU_MODIFY( "maincpu" )
|
||||
MCFG_CPU_PROGRAM_MAP(macplus_map)
|
||||
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_MODIFY(mac_floppy_interface)
|
||||
|
||||
@ -998,7 +990,10 @@ static MACHINE_CONFIG_START( macprtb, mac_state )
|
||||
MCFG_NVRAM_HANDLER(mac)
|
||||
|
||||
/* devices */
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_IWM_ADD("fdc", mac_iwm_interface)
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(mac_floppy_interface)
|
||||
@ -1006,9 +1001,6 @@ static MACHINE_CONFIG_START( macprtb, mac_state )
|
||||
MCFG_SCC8530_ADD("scc", C7M, line_cb_t(FUNC(mac_state::set_scc_interrupt), static_cast<mac_state *>(owner)))
|
||||
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("1M")
|
||||
@ -1044,7 +1036,10 @@ static MACHINE_CONFIG_START( macii, mac_state )
|
||||
MCFG_NUBUS_SLOT_ADD("nubus","nbd", mac_nubus_cards, NULL, NULL)
|
||||
MCFG_NUBUS_SLOT_ADD("nubus","nbe", mac_nubus_cards, NULL, NULL)
|
||||
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_IWM_ADD("fdc", mac_iwm_interface)
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(mac_floppy_interface)
|
||||
@ -1054,9 +1049,6 @@ static MACHINE_CONFIG_START( macii, mac_state )
|
||||
MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf)
|
||||
MCFG_VIA6522_ADD("via6522_1", C7M/10, mac_via6522_2_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("2M")
|
||||
@ -1096,7 +1088,10 @@ static MACHINE_CONFIG_START( maciifx, mac_state )
|
||||
MCFG_NUBUS_SLOT_ADD("nubus","nbd", mac_nubus_cards, NULL, NULL)
|
||||
MCFG_NUBUS_SLOT_ADD("nubus","nbe", mac_nubus_cards, NULL, NULL)
|
||||
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_IWM_ADD("fdc", mac_iwm_interface)
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(mac_floppy_interface)
|
||||
@ -1105,9 +1100,6 @@ static MACHINE_CONFIG_START( maciifx, mac_state )
|
||||
|
||||
MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("4M")
|
||||
@ -1294,7 +1286,10 @@ static MACHINE_CONFIG_START( macse30, mac_state )
|
||||
MCFG_NVRAM_HANDLER(mac)
|
||||
|
||||
/* devices */
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_SWIM_ADD("fdc", mac_iwm_interface)
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(mac_floppy_interface)
|
||||
@ -1304,9 +1299,6 @@ static MACHINE_CONFIG_START( macse30, mac_state )
|
||||
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
|
||||
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("2M")
|
||||
@ -1345,7 +1337,10 @@ static MACHINE_CONFIG_START( macpb140, mac_state )
|
||||
MCFG_NVRAM_HANDLER(mac)
|
||||
|
||||
/* devices */
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_SWIM_ADD("fdc", mac_iwm_interface)
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(mac_floppy_interface)
|
||||
@ -1355,9 +1350,6 @@ static MACHINE_CONFIG_START( macpb140, mac_state )
|
||||
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
|
||||
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("2M")
|
||||
@ -1416,7 +1408,10 @@ static MACHINE_CONFIG_START( macpb160, mac_state )
|
||||
MCFG_NVRAM_HANDLER(mac)
|
||||
|
||||
/* devices */
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_SWIM_ADD("fdc", mac_iwm_interface)
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(mac_floppy_interface)
|
||||
@ -1426,9 +1421,6 @@ static MACHINE_CONFIG_START( macpb160, mac_state )
|
||||
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
|
||||
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("4M")
|
||||
@ -1587,7 +1579,10 @@ static MACHINE_CONFIG_START( pwrmac, mac_state )
|
||||
MCFG_NVRAM_HANDLER(mac)
|
||||
|
||||
/* devices */
|
||||
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR5380_ADD("scsi:ncr5380", C7M, macplus_5380intf)
|
||||
|
||||
MCFG_IWM_ADD("fdc", mac_iwm_interface)
|
||||
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(mac_floppy_interface)
|
||||
@ -1597,9 +1592,6 @@ static MACHINE_CONFIG_START( pwrmac, mac_state )
|
||||
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
|
||||
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("8M")
|
||||
@ -1647,11 +1639,11 @@ static MACHINE_CONFIG_START( macqd700, mac_state )
|
||||
MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf)
|
||||
MCFG_VIA6522_ADD("via6522_1", C7M/10, mac_via6522_2_intf)
|
||||
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_5)
|
||||
MCFG_NCR539X_ADD(MAC_539X_1_TAG, C7M, mac_539x_intf)
|
||||
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("4M")
|
||||
|
@ -11,12 +11,10 @@
|
||||
#include "cpu/i86/i86.h"
|
||||
#include "cpu/mcs51/mcs51.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/ram.h"
|
||||
#include "formats/pc_dsk.h"
|
||||
#include "includes/rmnimbus.h"
|
||||
#include "machine/er59256.h"
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/scsihd.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/ctronics.h"
|
||||
|
@ -128,11 +128,9 @@
|
||||
#include "machine/hd63450.h"
|
||||
#include "machine/rp5c15.h"
|
||||
#include "machine/mb89352.h"
|
||||
#include "machine/scsi.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "formats/basicdsk.h"
|
||||
#include "formats/dim_dsk.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/x68k_hdc.h"
|
||||
#include "includes/x68k.h"
|
||||
#include "machine/ram.h"
|
||||
@ -140,6 +138,7 @@
|
||||
#include "machine/x68kexp.h"
|
||||
#include "machine/x68k_neptunex.h"
|
||||
#include "machine/x68k_scsiext.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsihd.h"
|
||||
#include "x68000.lh"
|
||||
|
||||
@ -2018,7 +2017,7 @@ static ADDRESS_MAP_START(x68kxvi_map, AS_PROGRAM, 16, x68k_state )
|
||||
AM_RANGE(0xe92002, 0xe92003) AM_DEVREADWRITE8_LEGACY("okim6258", okim6258_status_r, okim6258_data_w, 0x00ff)
|
||||
AM_RANGE(0xe94000, 0xe95fff) AM_READWRITE_LEGACY(x68k_fdc_r, x68k_fdc_w)
|
||||
// AM_RANGE(0xe96000, 0xe9601f) AM_DEVREADWRITE_LEGACY("x68k_hdc",x68k_hdc_r, x68k_hdc_w)
|
||||
AM_RANGE(0xe96020, 0xe9603f) AM_DEVREADWRITE8("mb89352_int",mb89352_device,mb89352_r,mb89352_w,0x00ff)
|
||||
AM_RANGE(0xe96020, 0xe9603f) AM_DEVREADWRITE8("scsi:mb89352",mb89352_device,mb89352_r,mb89352_w,0x00ff)
|
||||
AM_RANGE(0xe98000, 0xe99fff) AM_READWRITE_LEGACY(x68k_scc_r, x68k_scc_w)
|
||||
AM_RANGE(0xe9a000, 0xe9bfff) AM_READWRITE_LEGACY(x68k_ppi_r, x68k_ppi_w)
|
||||
AM_RANGE(0xe9c000, 0xe9dfff) AM_READWRITE_LEGACY(x68k_ioc_r, x68k_ioc_w)
|
||||
@ -2056,7 +2055,7 @@ static ADDRESS_MAP_START(x68030_map, AS_PROGRAM, 32, x68k_state )
|
||||
AM_RANGE(0xe92000, 0xe92003) AM_DEVREADWRITE8_LEGACY("okim6258", okim6258_status_r, x68030_adpcm_w, 0x00ff00ff)
|
||||
AM_RANGE(0xe94000, 0xe95fff) AM_READWRITE16_LEGACY(x68k_fdc_r, x68k_fdc_w,0xffffffff)
|
||||
// AM_RANGE(0xe96000, 0xe9601f) AM_DEVREADWRITE16_LEGACY("x68k_hdc",x68k_hdc_r, x68k_hdc_w,0xffffffff)
|
||||
AM_RANGE(0xe96020, 0xe9603f) AM_DEVREADWRITE8("mb89352_int",mb89352_device,mb89352_r,mb89352_w,0x00ff00ff)
|
||||
AM_RANGE(0xe96020, 0xe9603f) AM_DEVREADWRITE8("scsi:mb89352",mb89352_device,mb89352_r,mb89352_w,0x00ff00ff)
|
||||
AM_RANGE(0xe98000, 0xe99fff) AM_READWRITE16_LEGACY(x68k_scc_r, x68k_scc_w,0xffffffff)
|
||||
AM_RANGE(0xe9a000, 0xe9bfff) AM_READWRITE16_LEGACY(x68k_ppi_r, x68k_ppi_w,0xffffffff)
|
||||
AM_RANGE(0xe9c000, 0xe9dfff) AM_READWRITE16_LEGACY(x68k_ioc_r, x68k_ioc_w,0xffffffff)
|
||||
@ -2529,23 +2528,12 @@ static const floppy_interface x68k_floppy_interface =
|
||||
NULL
|
||||
};
|
||||
|
||||
static const SCSIConfigTable x68k_scsi_devtable =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
7, /* 7 SCSI devices */
|
||||
{
|
||||
{ "harddisk0" },
|
||||
{ "harddisk1" },
|
||||
{ "harddisk2" },
|
||||
{ "harddisk3" },
|
||||
{ "harddisk4" },
|
||||
{ "harddisk5" },
|
||||
{ "harddisk6" },
|
||||
}
|
||||
};
|
||||
|
||||
static const mb89352_interface x68k_scsi_intf =
|
||||
{
|
||||
&x68k_scsi_devtable,
|
||||
DEVCB_LINE(x68k_scsi_irq),
|
||||
DEVCB_LINE(x68k_scsi_drq)
|
||||
};
|
||||
@ -2833,14 +2821,15 @@ static MACHINE_CONFIG_START( x68ksupr, x68k_state )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(x68kxvi_map)
|
||||
|
||||
MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf)
|
||||
MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_MB89352A_ADD("scsi:mb89352",x68k_scsi_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( x68kxvi, x68k_state )
|
||||
@ -2853,14 +2842,15 @@ static MACHINE_CONFIG_START( x68kxvi, x68k_state )
|
||||
MCFG_CPU_CLOCK(16000000) /* 16 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(x68kxvi_map)
|
||||
|
||||
MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf)
|
||||
MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_MB89352A_ADD("scsi:mb89352",x68k_scsi_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( x68030, x68k_state )
|
||||
@ -2874,14 +2864,15 @@ static MACHINE_CONFIG_START( x68030, x68k_state )
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram32")
|
||||
|
||||
MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf)
|
||||
MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_MB89352A_ADD("scsi:mb89352",x68k_scsi_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( x68000 )
|
||||
|
@ -8,7 +8,6 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "formats/basicdsk.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/8530scc.h"
|
||||
#include "machine/abc99.h"
|
||||
|
@ -27,7 +27,7 @@ class bebox_state : public driver_device
|
||||
public:
|
||||
bebox_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_lsi53c810(*this, "lsi53c810"){ }
|
||||
m_lsi53c810(*this, "scsi:lsi53c810"){ }
|
||||
|
||||
required_device<lsi53c810_device> m_lsi53c810;
|
||||
UINT32 m_cpu_imask[2];
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/scsibus.h"
|
||||
|
@ -17,8 +17,6 @@
|
||||
#include "machine/upd71071.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/fm_scsi.h"
|
||||
|
||||
#define IRQ_LOG 0 // set to 1 to log IRQ line activity
|
||||
|
@ -16,13 +16,14 @@
|
||||
#include "machine/cuda.h"
|
||||
#include "machine/nubus.h"
|
||||
#include "machine/ncr539x.h"
|
||||
#include "machine/ncr5380.h"
|
||||
#include "machine/mackbd.h"
|
||||
#include "sound/asc.h"
|
||||
#include "sound/awacs.h"
|
||||
|
||||
#define MAC_SCREEN_NAME "screen"
|
||||
#define MAC_539X_1_TAG "539x_1"
|
||||
#define MAC_539X_2_TAG "539x_2"
|
||||
#define MAC_539X_1_TAG "scsi:539x_1"
|
||||
#define MAC_539X_2_TAG "scsi:539x_2"
|
||||
|
||||
// model helpers
|
||||
#define ADB_IS_BITBANG ((mac->m_model == MODEL_MAC_SE || mac->m_model == MODEL_MAC_CLASSIC) || (mac->m_model >= MODEL_MAC_II && mac->m_model <= MODEL_MAC_IICI) || (mac->m_model == MODEL_MAC_SE30) || (mac->m_model == MODEL_MAC_QUADRA_700))
|
||||
@ -202,6 +203,7 @@ public:
|
||||
m_screen(*this, MAC_SCREEN_NAME),
|
||||
m_539x_1(*this, MAC_539X_1_TAG),
|
||||
m_539x_2(*this, MAC_539X_2_TAG),
|
||||
m_ncr5380(*this, "scsi:ncr5380"),
|
||||
m_mackbd(*this, MACKBD_TAG),
|
||||
m_vram(*this,"vram"),
|
||||
m_vram16(*this,"vram16")
|
||||
@ -218,6 +220,7 @@ public:
|
||||
optional_device<screen_device> m_screen;
|
||||
optional_device<ncr539x_device> m_539x_1;
|
||||
optional_device<ncr539x_device> m_539x_2;
|
||||
optional_device<ncr5380_device> m_ncr5380;
|
||||
optional_device<mackbd_device> m_mackbd;
|
||||
|
||||
virtual void machine_start();
|
||||
|
@ -114,7 +114,6 @@ public:
|
||||
void mo_irq(bool state);
|
||||
void mo_drq(bool state);
|
||||
|
||||
// static const SCSIConfigTable scsi_devices;
|
||||
static const floppy_format_type floppy_formats[];
|
||||
static const cdrom_interface cdrom_intf;
|
||||
static const harddisk_interface harddisk_intf;
|
||||
|
@ -8,7 +8,6 @@
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "formats/basicdsk.h"
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/i8214.h"
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include "a2scsi.h"
|
||||
#include "includes/apple2.h"
|
||||
#include "machine/scsibus.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -33,24 +34,19 @@
|
||||
const device_type A2BUS_SCSI = &device_creator<a2bus_scsi_device>;
|
||||
|
||||
#define SCSI_ROM_REGION "scsi_rom"
|
||||
#define SCSI_5380_TAG "ncr5380"
|
||||
#define SCSI_5380_TAG "scsi:ncr5380"
|
||||
|
||||
static const SCSIConfigTable dev_table =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
0, /* 2 SCSI devices */
|
||||
{
|
||||
// { SCSI_ID_6, "harddisk1", SCSI_DEVICE_HARDDISK }, /* SCSI ID 6, using disk1, and it's a harddisk */
|
||||
// { SCSI_ID_5, "harddisk2", SCSI_DEVICE_HARDDISK } /* SCSI ID 5, using disk2, and it's a harddisk */
|
||||
}
|
||||
};
|
||||
|
||||
static const struct NCR5380interface a2scsi_5380_intf =
|
||||
{
|
||||
&dev_table, // SCSI device table
|
||||
NULL // IRQ handler (unconnected according to schematic)
|
||||
};
|
||||
|
||||
MACHINE_CONFIG_FRAGMENT( scsi )
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_NCR5380_ADD(SCSI_5380_TAG, (XTAL_28_63636MHz/4), a2scsi_5380_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/abcbus.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsihd.h"
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/abcbus.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsihd.h"
|
||||
|
@ -26,7 +26,6 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/6532riot.h"
|
||||
#include "machine/ieee488.h"
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/econet.h"
|
||||
|
@ -43,7 +43,6 @@ void fmscsi_device::device_config_complete()
|
||||
// otherwise, initialize it to defaults
|
||||
else
|
||||
{
|
||||
scsidevs = NULL;
|
||||
memset(&irq_callback,0,sizeof(irq_callback));
|
||||
memset(&drq_callback,0,sizeof(drq_callback));
|
||||
}
|
||||
@ -73,12 +72,15 @@ void fmscsi_device::device_start()
|
||||
|
||||
memset(m_SCSIdevices,0,sizeof(m_SCSIdevices));
|
||||
|
||||
// initialise SCSI devices, if any present
|
||||
for(int x=0;x<scsidevs->devs_present;x++)
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[x].tag );
|
||||
m_SCSIdevices[device->GetDeviceID()] = device;
|
||||
}
|
||||
// try to open the devices
|
||||
for( device_t *device = owner()->first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
m_SCSIdevices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
|
||||
// allocate read timer
|
||||
m_transfer_timer = timer_alloc(TIMER_TRANSFER);
|
||||
|
@ -8,7 +8,6 @@
|
||||
#ifndef FM_SCSI_H_
|
||||
#define FM_SCSI_H_
|
||||
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/scsidev.h"
|
||||
|
||||
// SCSI input lines (from target)
|
||||
@ -37,7 +36,6 @@
|
||||
|
||||
struct FMSCSIinterface
|
||||
{
|
||||
const SCSIConfigTable *scsidevs; /* SCSI devices */
|
||||
devcb_write_line irq_callback; /* irq callback */
|
||||
devcb_write_line drq_callback; /* drq callback */
|
||||
};
|
||||
|
@ -974,7 +974,6 @@ Note: Asserting the DACK signal applies only to write operations to
|
||||
READ16_MEMBER ( mac_state::macplus_scsi_r )
|
||||
{
|
||||
int reg = (offset>>3) & 0xf;
|
||||
ncr5380_device *ncr = space.machine().device<ncr5380_device>("ncr5380");
|
||||
|
||||
// logerror("macplus_scsi_r: offset %x mask %x\n", offset, mem_mask);
|
||||
|
||||
@ -983,23 +982,21 @@ READ16_MEMBER ( mac_state::macplus_scsi_r )
|
||||
reg = R5380_CURDATA_DTACK;
|
||||
}
|
||||
|
||||
return ncr->ncr5380_read_reg(reg)<<8;
|
||||
return m_ncr5380->ncr5380_read_reg(reg)<<8;
|
||||
}
|
||||
|
||||
READ32_MEMBER (mac_state::macii_scsi_drq_r)
|
||||
{
|
||||
ncr5380_device *ncr = space.machine().device<ncr5380_device>("ncr5380");
|
||||
|
||||
switch (mem_mask)
|
||||
{
|
||||
case 0xff000000:
|
||||
return ncr->ncr5380_read_reg(R5380_CURDATA_DTACK)<<24;
|
||||
return m_ncr5380->ncr5380_read_reg(R5380_CURDATA_DTACK)<<24;
|
||||
|
||||
case 0xffff0000:
|
||||
return (ncr->ncr5380_read_reg(R5380_CURDATA_DTACK)<<24) | (ncr->ncr5380_read_reg(R5380_CURDATA_DTACK)<<16);
|
||||
return (m_ncr5380->ncr5380_read_reg(R5380_CURDATA_DTACK)<<24) | (m_ncr5380->ncr5380_read_reg(R5380_CURDATA_DTACK)<<16);
|
||||
|
||||
case 0xffffffff:
|
||||
return (ncr->ncr5380_read_reg(R5380_CURDATA_DTACK)<<24) | (ncr->ncr5380_read_reg(R5380_CURDATA_DTACK)<<16) | (ncr->ncr5380_read_reg(R5380_CURDATA_DTACK)<<8) | ncr->ncr5380_read_reg(R5380_CURDATA_DTACK);
|
||||
return (m_ncr5380->ncr5380_read_reg(R5380_CURDATA_DTACK)<<24) | (m_ncr5380->ncr5380_read_reg(R5380_CURDATA_DTACK)<<16) | (m_ncr5380->ncr5380_read_reg(R5380_CURDATA_DTACK)<<8) | m_ncr5380->ncr5380_read_reg(R5380_CURDATA_DTACK);
|
||||
|
||||
default:
|
||||
logerror("macii_scsi_drq_r: unknown mem_mask %08x\n", mem_mask);
|
||||
@ -1010,24 +1007,22 @@ READ32_MEMBER (mac_state::macii_scsi_drq_r)
|
||||
|
||||
WRITE32_MEMBER (mac_state::macii_scsi_drq_w)
|
||||
{
|
||||
ncr5380_device *ncr = space.machine().device<ncr5380_device>("ncr5380");
|
||||
|
||||
switch (mem_mask)
|
||||
{
|
||||
case 0xff000000:
|
||||
ncr->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>24);
|
||||
m_ncr5380->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>24);
|
||||
break;
|
||||
|
||||
case 0xffff0000:
|
||||
ncr->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>24);
|
||||
ncr->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>16);
|
||||
m_ncr5380->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>24);
|
||||
m_ncr5380->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>16);
|
||||
break;
|
||||
|
||||
case 0xffffffff:
|
||||
ncr->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>24);
|
||||
ncr->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>16);
|
||||
ncr->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>8);
|
||||
ncr->ncr5380_write_reg(R5380_OUTDATA_DTACK, data&0xff);
|
||||
m_ncr5380->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>24);
|
||||
m_ncr5380->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>16);
|
||||
m_ncr5380->ncr5380_write_reg(R5380_OUTDATA_DTACK, data>>8);
|
||||
m_ncr5380->ncr5380_write_reg(R5380_OUTDATA_DTACK, data&0xff);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -1039,7 +1034,6 @@ WRITE32_MEMBER (mac_state::macii_scsi_drq_w)
|
||||
WRITE16_MEMBER ( mac_state::macplus_scsi_w )
|
||||
{
|
||||
int reg = (offset>>3) & 0xf;
|
||||
ncr5380_device *ncr = space.machine().device<ncr5380_device>("ncr5380");
|
||||
|
||||
// logerror("macplus_scsi_w: data %x offset %x mask %x\n", data, offset, mem_mask);
|
||||
|
||||
@ -1048,13 +1042,12 @@ WRITE16_MEMBER ( mac_state::macplus_scsi_w )
|
||||
reg = R5380_OUTDATA_DTACK;
|
||||
}
|
||||
|
||||
ncr->ncr5380_write_reg(reg, data);
|
||||
m_ncr5380->ncr5380_write_reg(reg, data);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER ( mac_state::macii_scsi_w )
|
||||
{
|
||||
int reg = (offset>>3) & 0xf;
|
||||
ncr5380_device *ncr = space.machine().device<ncr5380_device>("ncr5380");
|
||||
|
||||
// logerror("macplus_scsi_w: data %x offset %x mask %x (PC=%x)\n", data, offset, mem_mask, cpu_get_pc(&space->device()));
|
||||
|
||||
@ -1063,7 +1056,7 @@ WRITE16_MEMBER ( mac_state::macii_scsi_w )
|
||||
reg = R5380_OUTDATA_DTACK;
|
||||
}
|
||||
|
||||
ncr->ncr5380_write_reg(reg, data>>8);
|
||||
m_ncr5380->ncr5380_write_reg(reg, data>>8);
|
||||
}
|
||||
|
||||
void mac_scsi_irq(running_machine &machine, int state)
|
||||
|
@ -120,7 +120,6 @@ void mb89352_device::device_config_complete()
|
||||
// otherwise, initialize it to defaults
|
||||
else
|
||||
{
|
||||
scsidevs = NULL;
|
||||
memset(&irq_callback,0,sizeof(irq_callback));
|
||||
memset(&drq_callback,0,sizeof(drq_callback));
|
||||
}
|
||||
@ -156,10 +155,13 @@ void mb89352_device::device_start()
|
||||
m_transfer_timer = timer_alloc(TIMER_TRANSFER);
|
||||
|
||||
// try to open the devices
|
||||
for (int i = 0; i < scsidevs->devs_present; i++)
|
||||
for( device_t *device = owner()->first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[i].tag );
|
||||
m_SCSIdevices[device->GetDeviceID()] = device;
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
m_SCSIdevices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
#ifndef MB89352_H_
|
||||
#define MB89352_H_
|
||||
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/scsidev.h"
|
||||
|
||||
// SCSI lines readable via PSNS register (reg 5)
|
||||
@ -55,7 +54,6 @@
|
||||
|
||||
struct mb89352_interface
|
||||
{
|
||||
const SCSIConfigTable *scsidevs; /* SCSI devices */
|
||||
devcb_write_line irq_callback; /* irq callback */
|
||||
devcb_write_line drq_callback; /* drq callback */
|
||||
};
|
||||
|
@ -81,7 +81,6 @@ void ncr5380_device::device_config_complete()
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
scsidevs = NULL;
|
||||
irq_callback = NULL;
|
||||
}
|
||||
}
|
||||
@ -123,10 +122,13 @@ void ncr5380_device::device_start()
|
||||
save_item(NAME(m_next_req_flag));
|
||||
|
||||
// try to open the devices
|
||||
for (int i = 0; i < scsidevs->devs_present; i++)
|
||||
for( device_t *device = owner()->first_subdevice(); device != NULL; device = device->next() )
|
||||
{
|
||||
scsidev_device *device = owner()->subdevice<scsidev_device>( scsidevs->devices[i].tag );
|
||||
m_scsi_devices[device->GetDeviceID()] = device;
|
||||
scsidev_device *scsidev = dynamic_cast<scsidev_device *>(device);
|
||||
if( scsidev != NULL )
|
||||
{
|
||||
m_scsi_devices[scsidev->GetDeviceID()] = scsidev;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,12 +6,10 @@
|
||||
#ifndef _NCR5380_H_
|
||||
#define _NCR5380_H_
|
||||
|
||||
#include "machine/scsi.h"
|
||||
#include "machine/scsidev.h"
|
||||
|
||||
struct NCR5380interface
|
||||
{
|
||||
const SCSIConfigTable *scsidevs; /* SCSI devices */
|
||||
void (*irq_callback)(running_machine &machine, int state); /* irq callback */
|
||||
};
|
||||
|
||||
|
@ -62,7 +62,6 @@ even if you have to use unusual geometry to do so !
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/scsi.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/msm5205.h"
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsihd.h"
|
||||
#include "machine/mb89352.h"
|
||||
#include "machine/x68k_scsiext.h"
|
||||
@ -17,23 +18,12 @@
|
||||
|
||||
const device_type X68K_SCSIEXT = &device_creator<x68k_scsiext_device>;
|
||||
|
||||
static const SCSIConfigTable x68k_scsiext_devtable =
|
||||
static const SCSIBus_interface scsibus_intf =
|
||||
{
|
||||
7, /* 7 SCSI devices */
|
||||
{
|
||||
{ "extharddisk0" },
|
||||
{ "extharddisk1" },
|
||||
{ "extharddisk2" },
|
||||
{ "extharddisk3" },
|
||||
{ "extharddisk4" },
|
||||
{ "extharddisk5" },
|
||||
{ "extharddisk6" },
|
||||
}
|
||||
};
|
||||
|
||||
static const mb89352_interface x68k_scsiext_intf =
|
||||
static const mb89352_interface mb89352_intf =
|
||||
{
|
||||
&x68k_scsiext_devtable,
|
||||
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER,x68k_scsiext_device,irq_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER,x68k_scsiext_device,drq_w)
|
||||
};
|
||||
@ -54,14 +44,15 @@ const rom_entry *x68k_scsiext_device::device_rom_region() const
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_FRAGMENT( x68k_scsiext )
|
||||
MCFG_MB89352A_ADD("mb89352_ext",x68k_scsiext_intf)
|
||||
MCFG_SCSIDEV_ADD("extharddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("extharddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("extharddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("extharddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("extharddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("extharddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("extharddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_SCSIBUS_ADD("scsi", scsibus_intf)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk2", SCSIHD, SCSI_ID_2)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk3", SCSIHD, SCSI_ID_3)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk4", SCSIHD, SCSI_ID_4)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk5", SCSIHD, SCSI_ID_5)
|
||||
MCFG_SCSIDEV_ADD("scsi:harddisk6", SCSIHD, SCSI_ID_6)
|
||||
MCFG_MB89352A_ADD("scsi:mb89352",mb89352_intf)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor x68k_scsiext_device::device_mconfig_additions() const
|
||||
@ -72,7 +63,7 @@ machine_config_constructor x68k_scsiext_device::device_mconfig_additions() const
|
||||
x68k_scsiext_device::x68k_scsiext_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, X68K_SCSIEXT, "Sharp CZ-6BS1 SCSI-1", tag, owner, clock),
|
||||
device_x68k_expansion_card_interface(mconfig, *this),
|
||||
m_spc(*this, "mb89352_ext")
|
||||
m_spc(*this, "mb89352")
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -525,7 +525,6 @@ $(MESSOBJ)/shared.a: \
|
||||
$(MESS_MACHINE)/pc_lpt.o \
|
||||
$(MESS_MACHINE)/cntr_covox.o \
|
||||
$(MESS_MACHINE)/pcf8593.o \
|
||||
$(MESS_MACHINE)/scsibus.o \
|
||||
$(MESS_MACHINE)/smartmed.o \
|
||||
$(MESS_MACHINE)/smc92x4.o \
|
||||
$(MESS_MACHINE)/sst39vfx.o \
|
||||
|
Loading…
Reference in New Issue
Block a user