mirror of
https://github.com/holub/mame
synced 2025-06-03 19:36:26 +03:00
(MESS) Added skeleton device for Mator SHARK (22 MB Winchester hard disk for the Commodore PET). [Curt Coder, Mike Naberezny]
This commit is contained in:
parent
8054c2396f
commit
0a393d4f5c
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -7750,6 +7750,8 @@ src/mess/machine/serialbox.c svneol=native#text/plain
|
||||
src/mess/machine/serialbox.h svneol=native#text/plain
|
||||
src/mess/machine/sgi.c svneol=native#text/plain
|
||||
src/mess/machine/sgi.h svneol=native#text/plain
|
||||
src/mess/machine/shark.c svneol=native#text/plain
|
||||
src/mess/machine/shark.h svneol=native#text/plain
|
||||
src/mess/machine/smartmed.c svneol=native#text/plain
|
||||
src/mess/machine/smartmed.h svneol=native#text/plain
|
||||
src/mess/machine/smc92x4.c svneol=native#text/plain
|
||||
|
@ -1092,6 +1092,7 @@ SLOT_INTERFACE_START( cbm_ieee488_devices )
|
||||
SLOT_INTERFACE("d9060", D9060)
|
||||
SLOT_INTERFACE("d9090", D9090)
|
||||
SLOT_INTERFACE("softbox", SOFTBOX)
|
||||
SLOT_INTERFACE("shark", SHARK)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
SLOT_INTERFACE_START( cbm8296d_ieee488_devices )
|
||||
|
@ -94,6 +94,7 @@
|
||||
#include "machine/plus4_sid.h"
|
||||
#include "machine/plus4_std.h"
|
||||
#include "machine/serialbox.h"
|
||||
#include "machine/shark.h"
|
||||
#include "machine/softbox.h"
|
||||
#include "machine/superpet.h"
|
||||
#include "machine/vic1010.h"
|
||||
|
170
src/mess/machine/shark.c
Normal file
170
src/mess/machine/shark.c
Normal file
@ -0,0 +1,170 @@
|
||||
/**********************************************************************
|
||||
|
||||
Mator Systems SHARK Intelligent Winchester Disc Subsystem emulation
|
||||
|
||||
Copyright MESS Team.
|
||||
Visit http://mamedev.org for licensing and usage restrictions.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#include "shark.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACROS / CONSTANTS
|
||||
//**************************************************************************
|
||||
|
||||
#define I8085_TAG "i8085"
|
||||
#define RS232_TAG "rs232"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
const device_type SHARK = &device_creator<shark_device>;
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ROM( shark )
|
||||
//-------------------------------------------------
|
||||
|
||||
ROM_START( shark )
|
||||
ROM_REGION( 0x5000, I8085_TAG, 0 )
|
||||
ROM_LOAD( "pch488 3450 v22.1 #1", 0x0000, 0x1000, CRC(03bff9d7) SHA1(ac506df6509e1b2185a69f9f8f44b8b456aa9834) )
|
||||
ROM_LOAD( "pch488 3450 v22.1 #2", 0x1000, 0x1000, CRC(c14fa5fe) SHA1(bcfd1dd65d692c76b90e6134b85f22c39c049430) )
|
||||
ROM_LOAD( "pch488 3450 v22.1 #3", 0x2000, 0x1000, CRC(4dfaa482) SHA1(fe2c44bb650572616c8bdad6358032fe64b1e363) )
|
||||
ROM_LOAD( "pch488 3450 v22.1 #4", 0x3000, 0x1000, NO_DUMP )
|
||||
ROM_LOAD( "pch488 3450 v22.1 #5", 0x4000, 0x1000, CRC(aef665e9) SHA1(80a4c00b717100b4e22fa3704e34060fffce2bc3) )
|
||||
|
||||
ROM_REGION( 0x800, "micro", 0 ) // address decoder
|
||||
ROM_LOAD( "micro p3450 v1.3", 0x000, 0x800, CRC(0e69202e) SHA1(3b384951ff54c4b45a3a778a88966d13e2c9d57a) )
|
||||
ROM_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rom_region - device-specific ROM region
|
||||
//-------------------------------------------------
|
||||
|
||||
const rom_entry *shark_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( shark );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( shark_mem )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( shark_mem, AS_PROGRAM, 8, shark_device )
|
||||
AM_RANGE(0x0000, 0x4fff) AM_ROM AM_REGION(I8085_TAG, 0)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( shark_io )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( shark_io, AS_IO, 8, shark_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// I8085_CONFIG( cpu_intf )
|
||||
//-------------------------------------------------
|
||||
|
||||
static I8085_CONFIG( cpu_intf )
|
||||
{
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rs232_port_interface rs232_intf
|
||||
//-------------------------------------------------
|
||||
|
||||
static const rs232_port_interface rs232_intf =
|
||||
{
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_FRAGMENT( shark )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( shark )
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD(I8085_TAG, I8085A, 1000000)
|
||||
MCFG_CPU_CONFIG(cpu_intf)
|
||||
MCFG_CPU_PROGRAM_MAP(shark_mem)
|
||||
MCFG_CPU_IO_MAP(shark_io)
|
||||
|
||||
// devices
|
||||
MCFG_HARDDISK_ADD("harddisk1")
|
||||
MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor shark_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( shark );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( shark )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( shark )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
//-------------------------------------------------
|
||||
|
||||
ioport_constructor shark_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME( shark );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// shark_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
shark_device::shark_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, SHARK, "Mator SHARK", tag, owner, clock, "shark", __FILE__),
|
||||
device_ieee488_interface(mconfig, *this),
|
||||
m_maincpu(*this, I8085_TAG)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void shark_device::device_start()
|
||||
{
|
||||
}
|
57
src/mess/machine/shark.h
Normal file
57
src/mess/machine/shark.h
Normal file
@ -0,0 +1,57 @@
|
||||
/**********************************************************************
|
||||
|
||||
Mator Systems SHARK Intelligent Winchester Disc Subsystem emulation
|
||||
|
||||
35MB PRIAM DISKOS 3450 8" Winchester Hard Disk (-chs 525,5,? -ss ?)
|
||||
|
||||
Copyright MESS Team.
|
||||
Visit http://mamedev.org for licensing and usage restrictions.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __SHARK__
|
||||
#define __SHARK__
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/i8085/i8085.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/ieee488.h"
|
||||
#include "machine/serial.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> shark_device
|
||||
|
||||
class shark_device : public device_t,
|
||||
public device_ieee488_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
shark_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const rom_entry *device_rom_region() const;
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
virtual ioport_constructor device_input_ports() const;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
};
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type SHARK;
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -1058,6 +1058,7 @@ $(MESSOBJ)/cbm.a: \
|
||||
$(MESS_MACHINE)/pet_64k.o \
|
||||
$(MESS_MACHINE)/superpet.o \
|
||||
$(MESS_MACHINE)/mos6702.o \
|
||||
$(MESS_MACHINE)/shark.o \
|
||||
$(MESS_DRIVERS)/c64.o \
|
||||
$(MESS_DRIVERS)/c64dtv.o \
|
||||
$(MESS_MACHINE)/c64exp.o \
|
||||
|
Loading…
Reference in New Issue
Block a user