diff --git a/src/mess/machine/cmdhd.c b/src/mess/machine/cmdhd.c index e7b6c1bd9b9..ce01bde8d63 100644 --- a/src/mess/machine/cmdhd.c +++ b/src/mess/machine/cmdhd.c @@ -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; 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 + + */ +} diff --git a/src/mess/machine/cmdhd.h b/src/mess/machine/cmdhd.h index b535b40b54c..43e565dc2b4 100644 --- a/src/mess/machine/cmdhd.h +++ b/src/mess/machine/cmdhd.h @@ -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 m_maincpu; + required_device m_scsibus; };