/*
P's Attack
using VRender0 System on a Chip
This is basically the same hardware as Crystal System, but with a CF card for the game
Skeleton driver only
P's Attack (c) 2004 Uniana Co., Ltd
+----------1||||---1|||||--1|||||---------------------------+
|VOL TICKET GUN_1P GUN_2P +---------|
| | |
+-+ | 256MB |
| CC-DAC | Compact |
+-+ EMUL* | Flash |
| | |
|J +---+ +---------|
|A | | |
|M | R | 25.1750MHz +--------------+|
|M | A | | 42Pin* ||
|A | M | +--------------+|
| | | +--------------+|
|C +---+ +------------+ | SYS ||
|O | | +--------------+|
|N +---+ | | |
|N | | |VRenderZERO+| |
|E SERVICE | R | | MagicEyes | +-------+ 62256* |
|C | A | | | | RAM | |
|T TEST | M | | | +-------+ 62256* |
|O | | +------------+ |
|R RESET +---+ |
| 14.31818MHz |
+-+ |
| EEPROM |
+-+ GAL DSW |
| |
| VGA PIC BAT3.6V* |
+-----------------------------------------------------------+
* denotes unpopulated device
RAM are Samsung K4S641632H-TC75
VGA is a standard PC 15 pin VGA connection
DSW is 2 switch dipswitch (switches 3-8 are unpopulated)
PIC is a Microchip PIC16C711-041/P (silkscreened on the PCB as COSTOM)
SYS is a ST M27C160 EPROM (silkscreened on the PCB as SYSTEM_ROM_32M)
GAL is a GAL16V8B (not dumped)
EMUL is an unpopulated 8 pin connector
EEPROM is a 93C86 16K 5.0v Serial EEPROM (2048x8-bit or 1024x16-bit)
CC-DAC is a TDA1311A Stereo Continuous Calibration DAC
TICKET is a 5 pin connector:
1| +12v
2| IN
3| OUT
4| GND
5| LED
GUN_xP are 6 pin gun connectors (pins 1-4 match the UNICO sytle guns):
1| GND
2| SW
3| +5v
4| SENS
5| SOL
6| GND
*/
#include "emu.h"
#include "cpu/se3208/se3208.h"
#include "video/vrender0.h"
#include "machine/ds1302.h"
#include "sound/vrender0.h"
#include "machine/nvram.h"
class psattack_state : public driver_device
{
public:
psattack_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
};
static READ32_HANDLER( psattack_unk_r )
{
return 0xffffffff;
}
static ADDRESS_MAP_START( psattack_mem, AS_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x001fffff) AM_ROM
AM_RANGE(0x01402204, 0x01402207) AM_READ(psattack_unk_r)
AM_RANGE(0x01402804, 0x01402807) AM_READ(psattack_unk_r)
AM_RANGE(0x02000000, 0x027fffff) AM_RAM
ADDRESS_MAP_END
static MACHINE_START(psattack)
{
}
static MACHINE_RESET(psattack)
{
}
static VIDEO_START(psattack)
{
}
static SCREEN_UPDATE(psattack)
{
return 0;
}
static SCREEN_EOF(psattack)
{
}
static INTERRUPT_GEN(psattack_interrupt)
{
}
static INPUT_PORTS_START(psattack)
PORT_START("Unknown")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
static const vr0_interface vr0_config =
{
0x04800000
};
static MACHINE_CONFIG_START( psattack, psattack_state )
MCFG_CPU_ADD("maincpu", SE3208, 43000000)
MCFG_CPU_PROGRAM_MAP(psattack_mem)
MCFG_CPU_VBLANK_INT("screen", psattack_interrupt)
MCFG_MACHINE_START(psattack)
MCFG_MACHINE_RESET(psattack)
//MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE(psattack)
MCFG_SCREEN_EOF(psattack)
MCFG_VIDEO_START(psattack)
MCFG_PALETTE_INIT(RRRRR_GGGGGG_BBBBB)
MCFG_PALETTE_LENGTH(65536)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("vrender", VRENDER0, 0)
MCFG_SOUND_CONFIG(vr0_config)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
ROM_START( psattack )
ROM_REGION( 0x200000, "maincpu", 0 )
ROM_LOAD("5.sys", 0x000000, 0x200000, CRC(f09878e4) SHA1(25b8dbac47d3911615c8874746e420ece13e7181) )
ROM_REGION( 0x4010, "pic16c711", 0 )
ROM_LOAD("16c711.pic", 0x0000, 0x137b, CRC(617d8292) SHA1(d32d6054ce9db2e31efaf41015afcc78ed32f6aa) ) // raw dump
ROM_LOAD("16c711.bin", 0x0000, 0x4010, CRC(b316693f) SHA1(eba1f75043bd415268eedfdb95c475e73c14ff86) ) // converted to binary
DISK_REGION( "cfcard" )
DISK_IMAGE_READONLY( "psattack", 0, SHA1(e99cd0dafc33ec13bf56061f81dc7c0a181594ee) )
ROM_END
static DRIVER_INIT(psattack)
{
}
GAME( 2004, psattack, 0, psattack, psattack, psattack, ROT0, "Uniana", "P's Attack", GAME_NOT_WORKING )