Previous 199869 Revisions Next

r19385 Friday 7th December, 2012 at 15:49:52 UTC by Curt Coder
(MESS) cmdhd: Added SCSI bus. (nw)
[src/mess/machine]cmdhd.c cmdhd.h

trunk/src/mess/machine/cmdhd.c
r19384r19385
1919#define M6522_1_TAG      "m6522_1"
2020#define M6522_2_TAG      "m6522_2"
2121#define I8255A_TAG      "i8255a"
22#define RTC72421A_TAG   "rtc"
23#define SCSIBUS_TAG      "scsi"
2224
2325
2426
r19384r19385
3638ROM_START( cmd_hd )
3739   ROM_REGION( 0x8000, M6502_TAG, 0 )
3840   ROM_LOAD( "cmd_hd_bootrom_v280.bin", 0x0000, 0x8000, CRC(da68435d) SHA1(defd8bc04a52904b8a3560f11c82126619513a10) )
41
42   ROM_REGION( 0x104, "plds", 0 )
43   ROM_LOAD( "pal16l8_1", 0x000, 0x001, NO_DUMP )
44   ROM_LOAD( "pal16l8_2", 0x000, 0x001, NO_DUMP )
45   ROM_LOAD( "pal16l8_3", 0x000, 0x001, NO_DUMP )
3946ROM_END
4047
4148
r19384r19385
5663static ADDRESS_MAP_START( cmd_hd_mem, AS_PROGRAM, 8, cmd_hd_device )
5764   AM_RANGE(0x0000, 0x7fff) AM_RAM
5865   AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0)
59   //AM_RANGE() AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
60   //AM_RANGE() AM_DEVREADWRITE(M6522_2_TAG, via6522_device, read, write)
66   AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x1f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
67   AM_RANGE(0x8400, 0x840f) AM_MIRROR(0x1f0) AM_DEVREADWRITE(M6522_2_TAG, via6522_device, read, write)
68   AM_RANGE(0x8800, 0x8803) AM_MIRROR(0x1fc) AM_DEVREADWRITE(I8255A_TAG, i8255_device, read, write)
69   AM_RANGE(0x8c00, 0x8c0f) AM_MIRROR(0x1f0) //AM_DEVREADWRITE(RTC72421A_TAG, rtc72421a_device, read, write)
70   AM_RANGE(0x8f00, 0x8f00) AM_MIRROR(0xff) AM_WRITE(led_w)
6171ADDRESS_MAP_END
6272
6373
r19384r19385
135145   MCFG_VIA6522_ADD(M6522_1_TAG, 2000000, via1_intf)
136146   MCFG_VIA6522_ADD(M6522_2_TAG, 2000000, via2_intf)
137147   MCFG_I8255A_ADD(I8255A_TAG, ppi_intf)
148   //MCFG_RTC72421A_ADD(RTC72421A_TAG)
138149
139   MCFG_HARDDISK_ADD("harddisk0")
150   MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
151   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
152   MCFG_SCSICB_ADD(SCSIBUS_TAG ":host")
140153MACHINE_CONFIG_END
141154
142155
r19384r19385
163176cmd_hd_device::cmd_hd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
164177    : device_t(mconfig, CMD_HD, "HD", tag, owner, clock),
165178     device_cbm_iec_interface(mconfig, *this),
166     m_maincpu(*this, M6502_TAG)
179     m_maincpu(*this, M6502_TAG),
180     m_scsibus(*this, SCSIBUS_TAG":host")
167181{
168182}
169183
r19384r19385
224238      device_reset();
225239   }
226240}
241
242
243//-------------------------------------------------
244//  led_w -
245//-------------------------------------------------
246
247WRITE8_MEMBER( cmd_hd_device::led_w )
248{
249   /*
250   
251       bit     description
252   
253       0       
254       1       
255       2       
256       3       
257       4       
258       5       
259       6       
260       7       
261   
262   */
263}
trunk/src/mess/machine/cmdhd.h
r19384r19385
1212#ifndef __CMD_HD__
1313#define __CMD_HD__
1414
15#define ADDRESS_MAP_MODERN
16
1715#include "emu.h"
1816#include "cpu/m6502/m6502.h"
1917#include "imagedev/harddriv.h"
2018#include "machine/6522via.h"
2119#include "machine/cbmiec.h"
2220#include "machine/i8255.h"
21#include "machine/scsibus.h"
22#include "machine/scsicb.h"
23#include "machine/scsihd.h"
2324
2425
2526
r19384r19385
4041class cmd_hd_device :  public device_t,
4142                  public device_cbm_iec_interface
4243{
43
4444public:
4545    // construction/destruction
4646    cmd_hd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
r19384r19385
4949   virtual const rom_entry *device_rom_region() const;
5050   virtual machine_config_constructor device_mconfig_additions() const;
5151
52   DECLARE_WRITE8_MEMBER( led_w );
53
5254protected:
5355    // device-level overrides
56    virtual void device_config_complete() { m_shortname = "cmdhd"; }
5457    virtual void device_start();
5558   virtual void device_reset();
56    virtual void device_config_complete() { m_shortname = "cmdhd"; }
5759
5860   // device_cbm_iec_interface overrides
5961   void cbm_iec_srq(int state);
r19384r19385
6264   void cbm_iec_reset(int state);
6365
6466   required_device<cpu_device> m_maincpu;
67   required_device<scsicb_device> m_scsibus;
6568};
6669
6770

Previous 199869 Revisions Next


© 1997-2024 The MAME Team