/* 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 )