summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2009-12-24 17:17:17 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2009-12-24 17:17:17 +0000
commitf64aa7e017a85ee25c9cc9e4283d8d4e4ed7b601 (patch)
treeb3bac9517275e3918ed3057ec59f009ce907c481
parent72de6bf3cd84a7d3a3691a0c6c6d58d2160c5ee9 (diff)
Basic driver for Cycle Mahbou
-rw-r--r--.gitattributes1
-rw-r--r--src/mame/drivers/cyclemb.c247
-rw-r--r--src/mame/mame.mak1
-rw-r--r--src/mame/mamedriv.c1
4 files changed, 250 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
index e88c6347600..242fa608a84 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1470,6 +1470,7 @@ src/mame/drivers/cultures.c svneol=native#text/plain
src/mame/drivers/cvs.c svneol=native#text/plain
src/mame/drivers/cyberbal.c svneol=native#text/plain
src/mame/drivers/cybertnk.c svneol=native#text/plain
+src/mame/drivers/cyclemb.c svneol=native#text/plain
src/mame/drivers/d9final.c svneol=native#text/plain
src/mame/drivers/dacholer.c svneol=native#text/plain
src/mame/drivers/dambustr.c svneol=native#text/plain
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
new file mode 100644
index 00000000000..adb6cda874a
--- /dev/null
+++ b/src/mame/drivers/cyclemb.c
@@ -0,0 +1,247 @@
+/***************************************************************************
+Cycle Mahbou
+(c)1984 Taito/Seta
+
+----------------------------------------
+Top
+P1-002A
+----------------------------------------
+P0_20.3D [53e3a36e]
+P0_21.3E [a7dab6d8]
+
+
+----------------------------------------
+Bottom
+P0-001A
+CPU :Z80A x2
+OSC :18.000MHz
+Other:AP-001,AP-004,AP-005,AP-006,P7,P8,P9
+----------------------------------------
+P0_1.1A [a1588264]
+P0_2.1B [04141837]
+P0_3.1C [a9dd4b22]
+P0_4.1E [456a30df]
+P0_5.1F [a3b9c297]
+P0_6.1H [ec76a0a6]
+P0_7.1K [6507d23f]
+P0_10.1N [a98415db]
+P0_11.1R [626556fe]
+P0_12.1S [1e08902c]
+P0_13.1T [086639c1]
+P0_14.1U [3f5fe2b6]
+
+P0_15.10C [9cc52c32]
+P0_16.10D [8d03227e]
+
+AP-002.7B [Not Dump] 8741
+AP-003.7C [Not Dump] /
+
+P1.2E [6297104c] 82S123
+P2.4E [70a09cc5] /
+
+P0_3.11T [be89c1f7] 82S129
+P0_4.11U [4886d832] /
+
+
+
+--- Team Japump!!! ---
+Dumped by Chack'n
+27/Nov/2009
+28/Nov/2009
+
+***************************************************************************/
+
+#include "driver.h"
+#include "cpu/z80/z80.h"
+#include "sound/ay8910.h"
+
+static UINT8 *cyclemb_vram,*cyclemb_cram;
+
+static PALETTE_INIT( cyclemb )
+{
+ int i,r,g,b,val;
+ int bit0,bit1,bit2;
+
+ for (i = 0; i < 256; i++)
+ {
+ val = (color_prom[i+0x100]) | (color_prom[i+0x000]<<4);
+
+ bit0 = 0;
+ bit1 = (val >> 6) & 0x01;
+ bit2 = (val >> 7) & 0x01;
+ b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
+ bit0 = (val >> 3) & 0x01;
+ bit1 = (val >> 4) & 0x01;
+ bit2 = (val >> 5) & 0x01;
+ g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
+ bit0 = (val >> 0) & 0x01;
+ bit1 = (val >> 1) & 0x01;
+ bit2 = (val >> 2) & 0x01;
+ r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
+
+ palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ }
+}
+
+static VIDEO_START( cyclemb )
+{
+
+}
+
+static VIDEO_UPDATE( cyclemb )
+{
+ int x,y,count;
+ const gfx_element *gfx = screen->machine->gfx[0];
+
+ count = 0;
+
+ for (y=0;y<32;y++)
+ {
+ for (x=0;x<32;x++)
+ {
+ //int attr = cyclemb_cram[count];
+ int tile = cyclemb_vram[count];
+
+ drawgfx_opaque(bitmap,cliprect,gfx,tile,0,0,0,(x*8),(y*8));
+ count++;
+ }
+ }
+ return 0;
+}
+
+static WRITE8_HANDLER( cyclemb_bankswitch_w )
+{
+ memory_set_bank(space->machine, "bank1", data & 7);
+}
+
+static READ8_HANDLER( mcu_status_r )
+{
+ return 1;
+}
+
+static ADDRESS_MAP_START( cyclemb_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0x8000, 0x8fff) AM_ROMBANK("bank1")
+ AM_RANGE(0x9000, 0x97ff) AM_RAM AM_BASE(&cyclemb_vram)
+ AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&cyclemb_cram)
+ AM_RANGE(0xa000, 0xa7ff) AM_RAM //0RAM1 (only a000-a3ff tested)
+ AM_RANGE(0xa800, 0xafff) AM_RAM //0RAM2 (only a800-abff tested)
+ AM_RANGE(0xb000, 0xbfff) AM_RAM //WRAM
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( cyclemb_io, ADDRESS_SPACE_IO, 8 )
+// ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0xc000, 0xc000) AM_WRITE(cyclemb_bankswitch_w)
+ AM_RANGE(0xc09f, 0xc09f) AM_READ(mcu_status_r)
+
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( cyclemb_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x3fff) AM_ROM
+ AM_RANGE(0x6000, 0x63ff) AM_RAM
+
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( cyclemb_sound_io, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_address_data_w)
+ADDRESS_MAP_END
+
+static INPUT_PORTS_START( cyclemb )
+INPUT_PORTS_END
+
+static const gfx_layout charlayout =
+{
+ 8,8,
+ RGN_FRAC(1,1),
+ 2,
+ { 0, 4 },
+ { 0,1,2,3,64,65,66,67 },
+ { 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 },
+ 16*8
+};
+
+static GFXDECODE_START( cyclemb )
+ GFXDECODE_ENTRY( "tilemap_data", 0, charlayout, 0, 8 )
+ GFXDECODE_ENTRY( "sprite_data", 0, charlayout, 0, 8 )
+
+GFXDECODE_END
+
+static MACHINE_DRIVER_START( cyclemb )
+ /* basic machine hardware */
+ MDRV_CPU_ADD("maincpu",Z80,18000000/8)
+ MDRV_CPU_PROGRAM_MAP(cyclemb_map)
+ MDRV_CPU_IO_MAP(cyclemb_io)
+ MDRV_CPU_VBLANK_INT("screen",irq0_line_hold)
+
+ MDRV_CPU_ADD("audiocpu",Z80,18000000/8)
+ MDRV_CPU_PROGRAM_MAP(cyclemb_sound_map)
+ MDRV_CPU_IO_MAP(cyclemb_sound_io)
+
+
+ /* video hardware */
+ MDRV_SCREEN_ADD("screen", RASTER)
+ MDRV_SCREEN_REFRESH_RATE(60)
+ MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(32*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MDRV_GFXDECODE(cyclemb)
+ MDRV_PALETTE_LENGTH(512)
+ MDRV_PALETTE_INIT(cyclemb)
+
+ MDRV_VIDEO_START(cyclemb)
+ MDRV_VIDEO_UPDATE(cyclemb)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("aysnd", AY8910, 18000000/16)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
+MACHINE_DRIVER_END
+
+/***************************************************************************
+
+ Game driver(s)
+
+***************************************************************************/
+
+ROM_START( cyclemb )
+ ROM_REGION( 0x18000, "maincpu", ROMREGION_ERASEFF )
+ ROM_LOAD( "p0_1.1a", 0x00000, 0x2000, CRC(a1588264) SHA1(ff17df61207e39443a8ea62be1fce102c163d8e1) )
+ ROM_LOAD( "p0_2.1b", 0x02000, 0x2000, CRC(04141837) SHA1(18d2f17fd5334b306ca13a1c26780f4a868a4ac8) )
+ ROM_LOAD( "p0_3.1c", 0x04000, 0x2000, CRC(a9dd4b22) SHA1(8d3535ecd43aa0eccf3856b7cbad8702d17dd576) )
+ ROM_LOAD( "p0_4.1e", 0x06000, 0x2000, CRC(456a30df) SHA1(75594178e6299ef5a81c134138ac1f1231a36caa) )
+ ROM_LOAD( "p0_5.1f", 0x10000, 0x2000, CRC(a3b9c297) SHA1(edbab8639cb73e1376306ef70ef4ae451a75e4a9) )
+ ROM_LOAD( "p0_6.1h", 0x12000, 0x2000, CRC(ec76a0a6) SHA1(9d1d3c050c76df42da53896f38ae53c5f79b0c5c) )
+ ROM_LOAD( "p0_7.1k", 0x14000, 0x2000, CRC(6507d23f) SHA1(1640b25a6efa0976f13ed7838f31ef53c37c8d2d) )
+
+ ROM_REGION( 0x4000, "audiocpu", 0 )
+ ROM_LOAD( "p0_15.10c", 0x0000, 0x2000, CRC(9cc52c32) SHA1(05d4e7c8ce8fdfc995013c0ed693b4d4778acc25) )
+ ROM_LOAD( "p0_16.10d", 0x2000, 0x2000, CRC(8d03227e) SHA1(7e90437cbe5e854025e799348bb2cbca98368bd9) )
+
+ ROM_REGION( 0x4000, "tilemap_data", 0 )
+ ROM_LOAD( "p0_21.3e", 0x0000, 0x2000, CRC(a7dab6d8) SHA1(c5802e76abd394a2ce1526815bfbfc12e5e57587) )
+ ROM_LOAD( "p0_20.3d", 0x2000, 0x2000, CRC(53e3a36e) SHA1(d95c1dfe216bb8b1f3e14c72a480eb2befa9d1dd) )
+
+ ROM_REGION( 0xa000, "sprite_data", 0 )
+ ROM_LOAD( "p0_10.1n", 0x0000, 0x2000, CRC(a98415db) SHA1(218a1d3ad27c30263daf87be87b4d5e06d5ac604) )
+ ROM_LOAD( "p0_11.1r", 0x2000, 0x2000, CRC(626556fe) SHA1(ebd08a407fe466af14813bdeeb852d6816da932e) )
+ ROM_LOAD( "p0_12.1s", 0x4000, 0x2000, CRC(1e08902c) SHA1(3d5f620580dc1fc43cd5f99b2a1e62a6d749f8b9) )
+ ROM_LOAD( "p0_13.1t", 0x6000, 0x2000, CRC(086639c1) SHA1(3afbe76bb466d4c5916ef85d4cfc42e0c3f69883) )
+ ROM_LOAD( "p0_14.1u", 0x8000, 0x2000, CRC(3f5fe2b6) SHA1(a7d1d0bc449f557ba827936b0fdbcccf7b1ee629) )
+
+ ROM_REGION( 0x200, "proms", 0 )
+ ROM_LOAD( "p0_3.11t", 0x0000, 0x100, CRC(be89c1f7) SHA1(7fb2d9fccf6c74130c3e0db4ea4269aeb45359e3) )
+ ROM_LOAD( "p0_4.11u", 0x0100, 0x100, CRC(4886d832) SHA1(49e77923b7e2a0d5e9d990706dac258ecfd7720e) )
+
+ ROM_REGION( 0x40, "timing_proms", 0 ) //???
+ ROM_LOAD( "p1.2e", 0x000, 0x020, CRC(6297104c) SHA1(f2a40811505625a7a7ef4a7e4168c556c263449b) )
+ ROM_LOAD( "p2.4e", 0x020, 0x020, CRC(70a09cc5) SHA1(82c0f3122d2c1e8be74b857737380c2e978adeef) )
+ROM_END
+
+static DRIVER_INIT( cyclemb )
+{
+ memory_configure_bank(machine, "bank1", 0, 8, memory_region(machine, "maincpu") + 0x10000, 0x1000);
+}
+
+GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb, ROT0, "Taito Corporation", "Cycle Mahbou (Japan)", GAME_NOT_WORKING )
diff --git a/src/mame/mame.mak b/src/mame/mame.mak
index e04a055c48b..4dcbfca94ad 100644
--- a/src/mame/mame.mak
+++ b/src/mame/mame.mak
@@ -1261,6 +1261,7 @@ $(MAMEOBJ)/taito.a: \
$(DRIVERS)/champbwl.o \
$(DRIVERS)/changela.o $(VIDEO)/changela.o \
$(DRIVERS)/crbaloon.o $(VIDEO)/crbaloon.o $(AUDIO)/crbaloon.o \
+ $(DRIVERS)/cyclemb.o \
$(DRIVERS)/darius.o $(VIDEO)/darius.o \
$(DRIVERS)/darkmist.o $(VIDEO)/darkmist.o \
$(DRIVERS)/exzisus.o $(VIDEO)/exzisus.o \
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
index ea3e846a90c..22a07789b8f 100644
--- a/src/mame/mamedriv.c
+++ b/src/mame/mamedriv.c
@@ -1692,6 +1692,7 @@ const game_driver * const drivers[] =
DRIVER( josvolly ) /* AA (c) 1983 Taito Corporation */
DRIVER( gsword ) /* AC (c) 1984 Taito Corporation */
DRIVER( gsword2 ) /* AC (c) 1984 Taito Corporation */
+ DRIVER( cyclemb ) /* P0 (c) 1984 Taito Corporation [+ Seta] */
DRIVER( pitnrun ) /* PR (c) 1984 Taito Corporation */
DRIVER( pitnruna ) /* PR (c) 1984 Taito Corporation */
DRIVER( lkage ) /* A54 (c) 1984 Taito Corporation */