mirror of
https://github.com/holub/mame
synced 2025-05-25 07:15:25 +03:00
New games added or promoted from NOT_WORKING status
--------------------------------------------------- Champion Super III [Mirko Buffoni, David Haywood, Angelo Salese] ==================================================================== (added inputs to the driver, probably the easiest z180 game that I've ever seen...)
This commit is contained in:
parent
7974134b08
commit
66dc54fa28
@ -1,5 +1,18 @@
|
||||
/*******************************************************************************************
|
||||
|
||||
Notes:
|
||||
-To init chsuper3, just soft-reset and keep pressed both service keys (9 & 0)
|
||||
|
||||
TODO:
|
||||
-sound;
|
||||
-inputs are grossly mapped;
|
||||
-lamps;
|
||||
|
||||
*******************************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "cpu/z180/z180.h"
|
||||
#include "sound/dac.h"
|
||||
|
||||
static int chsuper_tilexor;
|
||||
|
||||
@ -19,7 +32,7 @@ static VIDEO_UPDATE(chsuper)
|
||||
for (x=0;x<128;x++)
|
||||
{
|
||||
int tile = ((vram[count+1]<<8) | vram[count]) & 0xffff;
|
||||
|
||||
|
||||
tile ^=chsuper_tilexor;
|
||||
//int colour = tile>>12;
|
||||
|
||||
@ -85,19 +98,77 @@ static ADDRESS_MAP_START( chsuper_prg_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xfb000, 0xfbfff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
// AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_w)
|
||||
|
||||
static ADDRESS_MAP_START( chsuper_portmap, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE( 0x0000, 0x003f ) AM_RAM // Z180 internal regs
|
||||
AM_RANGE( 0x00e8, 0x00e8 ) AM_READ( ff_r )
|
||||
AM_RANGE( 0x00e9, 0x00e9 ) AM_READ( ff_r )
|
||||
AM_RANGE( 0x00ea, 0x00ea ) AM_READ( ff_r )
|
||||
AM_RANGE( 0x00e8, 0x00e8 ) AM_READ_PORT("IN0")
|
||||
AM_RANGE( 0x00e9, 0x00e9 ) AM_READ_PORT("IN1")
|
||||
AM_RANGE( 0x00ea, 0x00ea ) AM_READ_PORT("DSW0")
|
||||
AM_RANGE( 0x00ed, 0x00ef ) AM_WRITENOP //lamps
|
||||
AM_RANGE( 0x00fc, 0x00fe ) AM_WRITE( paletteram_io_w )
|
||||
AM_RANGE( 0x8300, 0x8300 ) AM_READ( ff_r )
|
||||
AM_RANGE( 0xff00, 0xffff ) AM_RAM // unk writes
|
||||
AM_RANGE( 0x8300, 0x8300 ) AM_READ( ff_r ) //probably data for the dac
|
||||
AM_RANGE( 0xff20, 0xff3f ) AM_DEVWRITE("dac", dac_w) // unk writes
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( chsuper )
|
||||
PORT_START("IN0")
|
||||
PORT_DIPNAME( 0x01, 0x01, "0" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Hold 1") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Bet / Cancel All") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Analyzer")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4") PORT_CODE(KEYCODE_V)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 2") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 3") PORT_CODE(KEYCODE_C)
|
||||
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_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Credit clear" ) //hopper?
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSW0")
|
||||
PORT_DIPNAME( 0x01, 0x01, "2" )
|
||||
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 ) )
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -137,14 +208,16 @@ static MACHINE_DRIVER_START( chsuper )
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0, 30*8-1)
|
||||
|
||||
MDRV_GFXDECODE(chsuper)
|
||||
MDRV_PALETTE_LENGTH(2048)
|
||||
MDRV_PALETTE_LENGTH(0x100)
|
||||
|
||||
MDRV_VIDEO_START(chsuper)
|
||||
MDRV_VIDEO_UPDATE(chsuper)
|
||||
|
||||
/* sound hardware */
|
||||
// MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD("dac", DAC, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
@ -160,6 +233,9 @@ ROM_START( chsuper3 )
|
||||
ROM_LOAD( "b.bin", 0x80000, 0x80000, CRC(5f58c722) SHA1(d339ae27af010b058eae9084fba85fb2fbed3952) )
|
||||
|
||||
ROM_REGION( 0x10000, "vram", ROMREGION_ERASE00 )
|
||||
|
||||
ROM_REGION( 0x80000, "adpcm", 0 )
|
||||
ROM_COPY( "maincpu", 0x10000, 0x00000, 0x70000 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( chsuper2 )
|
||||
@ -171,6 +247,9 @@ ROM_START( chsuper2 )
|
||||
ROM_LOAD( "b.bin", 0x80000, 0x80000, CRC(7bb463d7) SHA1(fb3842ba53e545fa47574c91df7281a9cb417395) )
|
||||
|
||||
ROM_REGION( 0x10000, "vram", ROMREGION_ERASE00 )
|
||||
|
||||
ROM_REGION( 0x80000, "adpcm", 0 )
|
||||
ROM_COPY( "maincpu", 0x10000, 0x00000, 0x70000 )
|
||||
ROM_END
|
||||
|
||||
static DRIVER_INIT( chsuper2 )
|
||||
@ -184,5 +263,5 @@ static DRIVER_INIT( chsuper3 )
|
||||
}
|
||||
|
||||
|
||||
GAME( 1999, chsuper3, 0, chsuper, chsuper, chsuper3, ROT0, "unknown", "Champion Super 3", GAME_NOT_WORKING|GAME_NO_SOUND )
|
||||
GAME( 1999, chsuper2, chsuper3, chsuper, chsuper, chsuper2, ROT0, "unknown", "Champion Super 2", GAME_NOT_WORKING|GAME_NO_SOUND )
|
||||
GAME( 1999, chsuper3, 0, chsuper, chsuper, chsuper3, ROT0, "unknown", "Champion Super 3 (V0.35)", GAME_NO_SOUND ) //24/02/99
|
||||
GAME( 1999, chsuper2, chsuper3, chsuper, chsuper, chsuper2, ROT0, "unknown", "Champion Super 2 (V0.13)", GAME_NO_SOUND ) //26/01/99
|
||||
|
Loading…
Reference in New Issue
Block a user