summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pachifev.c
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2009-02-01 23:47:44 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2009-02-01 23:47:44 +0000
commit9e9a5ad24bc63129cb16c4303fc539acba6e3b19 (patch)
tree124417026878f467dd0ee3747012ff1388abe403 /src/mame/drivers/pachifev.c
parenta7a417377c3b93178570000b01108fe623da7726 (diff)
Wrote a skeleton driver for Pachi Fever, not working due of encrypted/incomplete program rom.
New games marked as GAME_NOT_WORKING ------------------------------------ Pachi Fever
Diffstat (limited to 'src/mame/drivers/pachifev.c')
-rw-r--r--src/mame/drivers/pachifev.c138
1 files changed, 138 insertions, 0 deletions
diff --git a/src/mame/drivers/pachifev.c b/src/mame/drivers/pachifev.c
new file mode 100644
index 00000000000..e79df9d3e72
--- /dev/null
+++ b/src/mame/drivers/pachifev.c
@@ -0,0 +1,138 @@
+/***************************************************************************
+
+PACHI FEVER / SANKI DENSHI KOGYO
+
+DORE GA CPU ? <- where's the CPU?
+
+GEN6480830 (TEXAS INSTRUMENTS)
+XTAL:12.000MHZ
+RY050012 (TEXAS INSTRUMENTS)
+XTAL:10.738MHZ
+
+SOUND :MSM5205 & ?
+
+DIP SWITCH:8BIT x 3
+
+============================================================================
+
+Skeleton driver, the main issue is to decrypt/identify the main CPU.
+ADPCM & remaining ROM space is pretty much identical to Jantotsu, maybe
+there's a correlation? Or the dump is bad/missing something?
+
+***************************************************************************/
+
+#include "driver.h"
+#include "cpu/z80/z80.h"
+#include "sound/msm5205.h"
+
+VIDEO_START( pachifev )
+{
+
+}
+
+VIDEO_UPDATE( pachifev )
+{
+ return 0;
+}
+
+static ADDRESS_MAP_START( pachifev_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0xbfff) AM_ROM
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( pachifev_io, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_GLOBAL_MASK(0xff)
+ADDRESS_MAP_END
+
+
+static INPUT_PORTS_START( pachifev )
+INPUT_PORTS_END
+
+static UINT32 adpcm_pos;
+//static UINT8 adpcm_idle;
+
+static void pf_adpcm_int(const device_config *device)
+{
+ static UINT8 trigger,adpcm_data;
+
+ if (adpcm_pos >= 0x4000/* || adpcm_idle*/)
+ {
+ //adpcm_idle = 1;
+ msm5205_reset_w(0,1);
+ trigger = 0;
+ }
+ else
+ {
+ UINT8 *ROM = memory_region(device->machine, "adpcm");
+
+ adpcm_data = ((trigger ? (ROM[adpcm_pos] & 0x0f) : (ROM[adpcm_pos] & 0xf0)>>4) );
+ msm5205_data_w(0,adpcm_data & 0xf);
+ trigger^=1;
+ if(trigger == 0)
+ {
+ adpcm_pos++;
+ //if((ROM[adpcm_pos] & 0xff) == 0xff)
+ // adpcm_idle = 1;
+ }
+ }
+}
+
+static const msm5205_interface msm5205_config =
+{
+ pf_adpcm_int, /* interrupt function */
+ MSM5205_S48_4B /* 8kHz */
+};
+
+static MACHINE_RESET( pachifev )
+{
+ adpcm_pos = 0;
+}
+
+static MACHINE_DRIVER_START( pachifev )
+
+ /* basic machine hardware */
+ MDRV_CPU_ADD("main",Z80,8000000/2)
+ MDRV_CPU_PROGRAM_MAP(pachifev_map,0)
+ MDRV_CPU_IO_MAP(pachifev_io,0)
+// MDRV_CPU_FLAGS(CPU_DISABLE)
+// MDRV_CPU_VBLANK_INT("main",irq0_line_hold)
+
+ /* video hardware */
+ MDRV_SCREEN_ADD("main", RASTER)
+ MDRV_SCREEN_REFRESH_RATE(60)
+ MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
+ MDRV_SCREEN_SIZE(32*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MDRV_PALETTE_LENGTH(512)
+ MDRV_MACHINE_RESET(pachifev)
+
+ MDRV_VIDEO_START(pachifev)
+ MDRV_VIDEO_UPDATE(pachifev)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("adpcm", MSM5205, 288000)
+ MDRV_SOUND_CONFIG(msm5205_config)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+MACHINE_DRIVER_END
+
+/***************************************************************************
+
+ Game driver(s)
+
+***************************************************************************/
+
+ROM_START( pachifev )
+ ROM_REGION( 0xc000, "main", 0 )
+ ROM_LOAD( "ic42.00", 0x0000, 0x2000, CRC(9653546e) SHA1(0836d01118241d38bbf61732275afe3ae47d0622) )
+ ROM_LOAD( "ic43.01", 0x2000, 0x2000, CRC(5572dce5) SHA1(fad45b33e095ac6e3ed3d7cdc3d8678c153a1b38) )
+ ROM_LOAD( "ic44.02", 0x4000, 0x2000, CRC(98b3841f) SHA1(0563139877bf01e1673767ee1798bbcf68adadea) )
+ ROM_LOAD( "ic45.03", 0x6000, 0x2000, CRC(6b76e6fa) SHA1(5be10ab0b76e2061fc7e9c77649572955bee7661) )
+ ROM_LOAD( "ic46.04", 0x8000, 0x2000, CRC(1c8c66d7) SHA1(3b9b05f35b20d798651c7d5fdb35e6af956615a1) )
+ ROM_LOAD( "ic48.50", 0xa000, 0x2000, CRC(1c8c66d7) SHA1(3b9b05f35b20d798651c7d5fdb35e6af956615a1) )
+
+ ROM_REGION( 0x4000, "adpcm", 0 ) //msm code
+ ROM_LOAD( "ic66.10", 0x0000, 0x2000, CRC(217c573e) SHA1(6fb90865d1d81f5ea00fa7916d0ccb6756ef5ce5) )
+ROM_END
+
+GAME( 1983, pachifev, 0, pachifev, pachifev, 0, ROT0, "Sanki Denshi Kogyo", "Pachi Fever", GAME_NOT_WORKING )