mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
(MESS) cmdhd: Added SCSI bus. (nw)
This commit is contained in:
parent
db18011bd8
commit
6f7fbddba8
@ -19,6 +19,8 @@
|
||||
#define M6522_1_TAG "m6522_1"
|
||||
#define M6522_2_TAG "m6522_2"
|
||||
#define I8255A_TAG "i8255a"
|
||||
#define RTC72421A_TAG "rtc"
|
||||
#define SCSIBUS_TAG "scsi"
|
||||
|
||||
|
||||
|
||||
@ -36,6 +38,11 @@ const device_type CMD_HD = &device_creator<cmd_hd_device>;
|
||||
ROM_START( cmd_hd )
|
||||
ROM_REGION( 0x8000, M6502_TAG, 0 )
|
||||
ROM_LOAD( "cmd_hd_bootrom_v280.bin", 0x0000, 0x8000, CRC(da68435d) SHA1(defd8bc04a52904b8a3560f11c82126619513a10) )
|
||||
|
||||
ROM_REGION( 0x104, "plds", 0 )
|
||||
ROM_LOAD( "pal16l8_1", 0x000, 0x001, NO_DUMP )
|
||||
ROM_LOAD( "pal16l8_2", 0x000, 0x001, NO_DUMP )
|
||||
ROM_LOAD( "pal16l8_3", 0x000, 0x001, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -56,8 +63,11 @@ const rom_entry *cmd_hd_device::device_rom_region() const
|
||||
static ADDRESS_MAP_START( cmd_hd_mem, AS_PROGRAM, 8, cmd_hd_device )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_RAM
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0)
|
||||
//AM_RANGE() AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
|
||||
//AM_RANGE() AM_DEVREADWRITE(M6522_2_TAG, via6522_device, read, write)
|
||||
AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x1f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
|
||||
AM_RANGE(0x8400, 0x840f) AM_MIRROR(0x1f0) AM_DEVREADWRITE(M6522_2_TAG, via6522_device, read, write)
|
||||
AM_RANGE(0x8800, 0x8803) AM_MIRROR(0x1fc) AM_DEVREADWRITE(I8255A_TAG, i8255_device, read, write)
|
||||
AM_RANGE(0x8c00, 0x8c0f) AM_MIRROR(0x1f0) //AM_DEVREADWRITE(RTC72421A_TAG, rtc72421a_device, read, write)
|
||||
AM_RANGE(0x8f00, 0x8f00) AM_MIRROR(0xff) AM_WRITE(led_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -135,8 +145,11 @@ static MACHINE_CONFIG_FRAGMENT( cmd_hd )
|
||||
MCFG_VIA6522_ADD(M6522_1_TAG, 2000000, via1_intf)
|
||||
MCFG_VIA6522_ADD(M6522_2_TAG, 2000000, via2_intf)
|
||||
MCFG_I8255A_ADD(I8255A_TAG, ppi_intf)
|
||||
//MCFG_RTC72421A_ADD(RTC72421A_TAG)
|
||||
|
||||
MCFG_HARDDISK_ADD("harddisk0")
|
||||
MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
|
||||
MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
|
||||
MCFG_SCSICB_ADD(SCSIBUS_TAG ":host")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -163,7 +176,8 @@ machine_config_constructor cmd_hd_device::device_mconfig_additions() const
|
||||
cmd_hd_device::cmd_hd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, CMD_HD, "HD", tag, owner, clock),
|
||||
device_cbm_iec_interface(mconfig, *this),
|
||||
m_maincpu(*this, M6502_TAG)
|
||||
m_maincpu(*this, M6502_TAG),
|
||||
m_scsibus(*this, SCSIBUS_TAG":host")
|
||||
{
|
||||
}
|
||||
|
||||
@ -224,3 +238,26 @@ void cmd_hd_device::cbm_iec_reset(int state)
|
||||
device_reset();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// led_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( cmd_hd_device::led_w )
|
||||
{
|
||||
/*
|
||||
|
||||
bit description
|
||||
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
|
||||
*/
|
||||
}
|
||||
|
@ -12,14 +12,15 @@
|
||||
#ifndef __CMD_HD__
|
||||
#define __CMD_HD__
|
||||
|
||||
#define ADDRESS_MAP_MODERN
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/cbmiec.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "machine/scsicb.h"
|
||||
#include "machine/scsihd.h"
|
||||
|
||||
|
||||
|
||||
@ -40,7 +41,6 @@
|
||||
class cmd_hd_device : public device_t,
|
||||
public device_cbm_iec_interface
|
||||
{
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
cmd_hd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
@ -49,11 +49,13 @@ public:
|
||||
virtual const rom_entry *device_rom_region() const;
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
|
||||
DECLARE_WRITE8_MEMBER( led_w );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete() { m_shortname = "cmdhd"; }
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
virtual void device_config_complete() { m_shortname = "cmdhd"; }
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
void cbm_iec_srq(int state);
|
||||
@ -62,6 +64,7 @@ protected:
|
||||
void cbm_iec_reset(int state);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<scsicb_device> m_scsibus;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user