Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(MESS) c64: Added support for the VizaStar cartridge. [Curt Coder]
- Loading branch information
1 parent
11607bf
commit ae95192
Showing
7 changed files
with
166 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
/********************************************************************** | ||
VizaWrite 64 cartridge emulation | ||
Copyright MESS Team. | ||
Visit http://mamedev.org for licensing and usage restrictions. | ||
**********************************************************************/ | ||
|
||
/* | ||
PCB Layout | ||
---------- | ||
RB84 (C) MICROPORT | ||
|===========================| | ||
|=| | | ||
|=| | | ||
|=| | | ||
|=| | | ||
|=| ROM | | ||
|=| | | ||
|=| | | ||
|=| | | ||
|===========================| | ||
ROM - Hitachi HN462732G EPROM "V" | ||
*/ | ||
|
||
#include "c64_vizastar.h" | ||
|
||
|
||
|
||
//************************************************************************** | ||
// MACROS/CONSTANTS | ||
//************************************************************************** | ||
|
||
#define UNSCRAMBLE_ADDRESS(_offset) \ | ||
BITSWAP16(_offset,15,14,13,12,5,0,7,10,11,9,8,6,4,3,2,1) | ||
|
||
#define UNSCRAMBLE_DATA(_data) \ | ||
BITSWAP8(_data,7,6,0,5,1,4,2,3) | ||
|
||
|
||
|
||
//************************************************************************** | ||
// DEVICE DEFINITIONS | ||
//************************************************************************** | ||
|
||
const device_type C64_VIZASTAR = &device_creator<c64_vizastar_cartridge_device>; | ||
|
||
|
||
|
||
//************************************************************************** | ||
// LIVE DEVICE | ||
//************************************************************************** | ||
|
||
//------------------------------------------------- | ||
// c64_vizastar_cartridge_device - constructor | ||
//------------------------------------------------- | ||
|
||
c64_vizastar_cartridge_device::c64_vizastar_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | ||
device_t(mconfig, C64_VIZASTAR, "VizaStar 64", tag, owner, clock), | ||
device_c64_expansion_card_interface(mconfig, *this) | ||
{ | ||
} | ||
|
||
|
||
//------------------------------------------------- | ||
// device_start - device-specific startup | ||
//------------------------------------------------- | ||
|
||
void c64_vizastar_cartridge_device::device_start() | ||
{ | ||
} | ||
|
||
|
||
//------------------------------------------------- | ||
// c64_cd_r - cartridge data read | ||
//------------------------------------------------- | ||
|
||
UINT8 c64_vizastar_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) | ||
{ | ||
if (!roml) | ||
{ | ||
data = UNSCRAMBLE_DATA(m_roml[UNSCRAMBLE_ADDRESS(offset & 0xfff)]); | ||
} | ||
|
||
return data; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
/********************************************************************** | ||
VizaStar 64 cartridge emulation | ||
Copyright MESS Team. | ||
Visit http://mamedev.org for licensing and usage restrictions. | ||
**********************************************************************/ | ||
|
||
#pragma once | ||
|
||
#ifndef __VIZASTAR__ | ||
#define __VIZASTAR__ | ||
|
||
|
||
#include "emu.h" | ||
#include "machine/c64exp.h" | ||
|
||
|
||
|
||
//************************************************************************** | ||
// TYPE DEFINITIONS | ||
//************************************************************************** | ||
|
||
// ======================> c64_vizastar_cartridge_device | ||
|
||
class c64_vizastar_cartridge_device : public device_t, | ||
public device_c64_expansion_card_interface | ||
{ | ||
public: | ||
// construction/destruction | ||
c64_vizastar_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | ||
|
||
protected: | ||
// device-level overrides | ||
virtual void device_config_complete() { m_shortname = "c64_vizastar"; } | ||
virtual void device_start(); | ||
|
||
// 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); | ||
}; | ||
|
||
|
||
// device type definition | ||
extern const device_type C64_VIZASTAR; | ||
|
||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters