(MESS) c64: Added placeholder for PARTNER 64 cartridge. (nw)

This commit is contained in:
Curt Coder 2013-09-20 20:05:55 +00:00
parent 33c524ef61
commit 3edb1bb9b0
7 changed files with 211 additions and 0 deletions

2
.gitattributes vendored
View File

@ -7296,6 +7296,8 @@ src/mess/machine/c64/ocean.c svneol=native#text/plain
src/mess/machine/c64/ocean.h svneol=native#text/plain
src/mess/machine/c64/pagefox.c svneol=native#text/plain
src/mess/machine/c64/pagefox.h svneol=native#text/plain
src/mess/machine/c64/partner.c svneol=native#text/plain
src/mess/machine/c64/partner.h svneol=native#text/plain
src/mess/machine/c64/prophet64.c svneol=native#text/plain
src/mess/machine/c64/prophet64.h svneol=native#text/plain
src/mess/machine/c64/ps64.c svneol=native#text/plain

View File

@ -6914,6 +6914,25 @@
</part>
</software>
<!--
<software name="partner">
<description>PARTNER 64</description>
<year>1985</year>
<publisher>Timeworks</publisher>
<sharedfeat name="compatibility" value="NTSC,PAL"/>
<part name="cart" interface="c64_cart">
<feature name="slot" value="partner" />
<feature name="game" value="0" />
<feature name="exrom" value="0" />
<dataarea name="roml" size="0x4000">
<rom name="timeworks c-64 ver 2-16-87" size="0x4000" status="nodump" offset="0" />
</dataarea>
</part>
</software>
-->
<!-- Dummy cartridge entries to allow requirement mappings from c64_flop -->
<software name="cpm">

View File

@ -433,6 +433,7 @@ SLOT_INTERFACE_START( c64_expansion_cards )
SLOT_INTERFACE_INTERNAL("multiscreen", C64_MULTISCREEN)
SLOT_INTERFACE_INTERNAL("ocean", C64_OCEAN)
SLOT_INTERFACE_INTERNAL("pagefox", C64_PAGEFOX)
SLOT_INTERFACE_INTERNAL("partner", C64_PARTNER)
SLOT_INTERFACE_INTERNAL("prophet64", C64_PROPHET64)
SLOT_INTERFACE_INTERNAL("ps64", C64_PS64)
SLOT_INTERFACE_INTERNAL("rex", C64_REX)

View File

@ -238,6 +238,7 @@ extern const device_type C64_EXPANSION_SLOT;
#include "machine/c64/neoram.h"
#include "machine/c64/ocean.h"
#include "machine/c64/pagefox.h"
#include "machine/c64/partner.h"
#include "machine/c64/prophet64.h"
#include "machine/c64/ps64.h"
#include "machine/c64/reu.h"

View File

@ -0,0 +1,134 @@
/**********************************************************************
Timeworks PARTNER 64 cartridge emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
/*
PCB Layout
----------
|===========================|
|=| |
|=|LS05 LS09 LS00 HC74 |
|=| |
|=| |
|=| ROM RAM |
|=| LS133 |
|=| LS156 |
|=| |
|===========================|
ROM - General Instrument 27C128-25 16Kx8 EPROM "TIMEWORKS C-64 VER 2-16-87"
RAM - Sony CXK5864PN-15L 8Kx8 SRAM
*/
#include "partner.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type C64_PARTNER = &device_creator<c64_partner_cartridge_device>;
//-------------------------------------------------
// INPUT_PORTS( c64_partner )
//-------------------------------------------------
static INPUT_PORTS_START( c64_partner )
PORT_START("RESET")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Reset") PORT_CODE(KEYCODE_F11) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_expansion_slot_device, reset_w)
INPUT_PORTS_END
//-------------------------------------------------
// input_ports - device-specific input ports
//-------------------------------------------------
ioport_constructor c64_partner_cartridge_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c64_partner );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// c64_partner_cartridge_device - constructor
//-------------------------------------------------
c64_partner_cartridge_device::c64_partner_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, C64_PARTNER, "C64 PARTNER 64 cartridge", tag, owner, clock, "c64_partner", __FILE__),
device_c64_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void c64_partner_cartridge_device::device_start()
{
// allocate memory
c64_ram_pointer(machine(), 0x2000);
}
//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
void c64_partner_cartridge_device::device_reset()
{
}
//-------------------------------------------------
// c64_cd_r - cartridge data read
//-------------------------------------------------
UINT8 c64_partner_cartridge_device::c64_cd_r(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
return data;
}
//-------------------------------------------------
// c64_cd_w - cartridge data write
//-------------------------------------------------
void c64_partner_cartridge_device::c64_cd_w(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
}
//-------------------------------------------------
// c64_exrom_r - EXROM read
//-------------------------------------------------
int c64_partner_cartridge_device::c64_exrom_r(offs_t offset, int sphi2, int ba, int rw)
{
return m_exrom;
}
//-------------------------------------------------
// c64_game_r - GAME read
//-------------------------------------------------
int c64_partner_cartridge_device::c64_game_r(offs_t offset, int sphi2, int ba, int rw)
{
return m_game;
}

View File

@ -0,0 +1,53 @@
/**********************************************************************
Timeworks PARTNER 64 cartridge emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __PARTNER__
#define __PARTNER__
#include "emu.h"
#include "machine/c64/exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> c64_partner_cartridge_device
class c64_partner_cartridge_device : public device_t,
public device_c64_expansion_card_interface
{
public:
// construction/destruction
c64_partner_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const;
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
// device_c64_expansion_card_interface overrides
virtual UINT8 c64_cd_r(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2);
virtual void c64_cd_w(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2);
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw);
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw);
};
// device type definition
extern const device_type C64_PARTNER;
#endif

View File

@ -1128,6 +1128,7 @@ $(MESSOBJ)/cbm.a: \
$(MESS_MACHINE)/c64/neoram.o\
$(MESS_MACHINE)/c64/ocean.o \
$(MESS_MACHINE)/c64/pagefox.o \
$(MESS_MACHINE)/c64/partner.o \
$(MESS_MACHINE)/c64/prophet64.o \
$(MESS_MACHINE)/c64/ps64.o \
$(MESS_MACHINE)/c64/reu.o \