summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/39in1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/39in1.c')
-rw-r--r--src/mame/drivers/39in1.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/mame/drivers/39in1.c b/src/mame/drivers/39in1.c
new file mode 100644
index 00000000000..78ed217e408
--- /dev/null
+++ b/src/mame/drivers/39in1.c
@@ -0,0 +1,58 @@
+/**************************************************************************
+ *
+ * 39in1.c - bootleg MAME-based "39-in-1" arcade PCB
+ * Skeleton by R. Belmont, thanks to the Guru
+ *
+ * The program ROM appears to be encrypted, please help if you can!
+ *
+ * CPU: Intel Xscale PXA255 series @ 200 MHz, configured little-endian
+ * Xscale PXA consists of:
+ * ARMv5 instruction set without the FPU
+ * ARM DSP extensions
+ * VGA-ish frame buffer with some 2D acceleration features
+ * AC97 stereo audio CODEC
+ *
+ * PCB also contains a custom ASIC, probably used for the decryption
+ *
+ **************************************************************************/
+
+#include "driver.h"
+#include "video/generic.h"
+#include "cpu/arm7/arm7.h"
+
+static ADDRESS_MAP_START( 39in1_map, ADDRESS_SPACE_PROGRAM, 32 )
+ AM_RANGE(0x00000000, 0x0007ffff) AM_ROM
+ AM_RANGE(0xfff80000, 0xffffffff) AM_ROM AM_REGION(REGION_CPU1, 0) // mirror to prevent crashing
+ADDRESS_MAP_END
+
+static INPUT_PORTS_START( 39in1 )
+INPUT_PORTS_END
+
+static MACHINE_DRIVER_START( 39in1 )
+ MDRV_CPU_ADD(ARM7, 200000000) // actually Xscale PXA255, but ARM7 is a compatible subset
+ MDRV_CPU_PROGRAM_MAP(39in1_map,0)
+
+ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_PALETTE_LENGTH(32768)
+
+ MDRV_SCREEN_ADD("main", 0) // htot hst vwid vtot vst vis
+ MDRV_SCREEN_RAW_PARAMS(16777216/4, 308, 0, 240, 228, 0, 160) // completely bogus for this h/w
+
+ MDRV_VIDEO_START(generic_bitmapped)
+ MDRV_VIDEO_UPDATE(generic_bitmapped)
+
+ MDRV_SPEAKER_STANDARD_STEREO("left", "right")
+MACHINE_DRIVER_END
+
+ROM_START( 39in1 )
+ // main program, appears to be encrypted
+ ROM_REGION( 0x80000, REGION_CPU1, 0 )
+ ROM_LOAD( "27c4096_plz-v001_ver.300.bin", 0x000000, 0x080000, CRC(9149dbc4) SHA1(40efe1f654f11474f75ae7fee1613f435dbede38) )
+
+ // data ROM - contains a filesystem with ROMs, fonts, graphics, etc. in an unknown compressed format
+ ROM_REGION32_LE( 0x200000, REGION_USER1, 0 )
+ ROM_LOAD( "16mflash.bin", 0x000000, 0x200000, CRC(a089f0f8) SHA1(e975eadd9176a8b9e416229589dfe3158cba22cb) )
+ROM_END
+
+GAME(2004, 39in1, 0, 39in1, 39in1, 0, ROT0, "????", "39 in 1 MAME bootleg", GAME_NOT_WORKING|GAME_NO_SOUND)