mirror of
https://github.com/holub/mame
synced 2025-05-22 21:58:57 +03:00
Basic driver for Cycle Mahbou
This commit is contained in:
parent
72de6bf3cd
commit
f64aa7e017
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -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
|
||||
|
247
src/mame/drivers/cyclemb.c
Normal file
247
src/mame/drivers/cyclemb.c
Normal file
@ -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 )
|
@ -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 \
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user