summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2010-05-10 18:46:04 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2010-05-10 18:46:04 +0000
commit49459f195e8d4b2e9124665ff7789e05df1b2ad9 (patch)
tree2859e0415db4bd85bc3f69fb8599723164cb9711 /src
parent10d99720e20029c168f026ddd9f476d02267b98d (diff)
new not working
--------------- Chance Kun [ranger_lennier, incog, Smitdogg, The Dumping Union] (mostly working, just missing proper inputs, colors and sound)
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/timeplt.c84
-rw-r--r--src/mame/includes/timeplt.h1
-rw-r--r--src/mame/mamedriv.c2
-rw-r--r--src/mame/video/timeplt.c18
4 files changed, 105 insertions, 0 deletions
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index 04ec92441a2..c92d308e681 100644
--- a/src/mame/drivers/timeplt.c
+++ b/src/mame/drivers/timeplt.c
@@ -157,6 +157,28 @@ static ADDRESS_MAP_START( psurge_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc360, 0xc360) AM_MIRROR(0x0c9f) AM_READ_PORT("DSW0")
ADDRESS_MAP_END
+static ADDRESS_MAP_START( chkun_main_map, ADDRESS_SPACE_PROGRAM, 8 )
+ ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE(0x0000, 0x5fff) AM_ROM
+ AM_RANGE(0x6000, 0x67ff) AM_RAM
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(timeplt_colorram_w) AM_BASE_MEMBER(timeplt_state, colorram)
+ AM_RANGE(0xa400, 0xa7ff) AM_RAM_WRITE(timeplt_videoram_w) AM_BASE_MEMBER(timeplt_state, videoram)
+ AM_RANGE(0xa800, 0xafff) AM_RAM
+ AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_MEMBER(timeplt_state, spriteram)
+ AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_MEMBER(timeplt_state, spriteram2)
+ AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0xc300, 0xc300) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_nmi_enable_w)
+ AM_RANGE(0xc302, 0xc302) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_flipscreen_w)
+ AM_RANGE(0xc304, 0xc304) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_sh_irqtrigger_w)
+ AM_RANGE(0xc30a, 0xc30c) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_coin_counter_w)
+ AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_READ(timeplt_scanline_r)
+ AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_READ_PORT("DSW1")
+ AM_RANGE(0xc300, 0xc300) AM_MIRROR(0x0c9f) AM_READ_PORT("IN0")
+ AM_RANGE(0xc320, 0xc320) AM_MIRROR(0x0c9f) AM_READ_PORT("IN1")
+ AM_RANGE(0xc340, 0xc340) AM_MIRROR(0x0c9f) AM_READ_PORT("IN2")
+ AM_RANGE(0xc360, 0xc360) AM_MIRROR(0x0c9f) AM_READ_PORT("DSW0")
+ADDRESS_MAP_END
/*************************************
@@ -257,6 +279,36 @@ static INPUT_PORTS_START( psurge )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
INPUT_PORTS_END
+static INPUT_PORTS_START( chkun )
+ PORT_INCLUDE(timeplt)
+
+
+ PORT_MODIFY("DSW0")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ 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 ) ) //service mode
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
/*************************************
@@ -370,7 +422,15 @@ static MACHINE_DRIVER_START( psurge )
MDRV_MACHINE_RESET(0)
MACHINE_DRIVER_END
+static MACHINE_DRIVER_START( chkun )
+ MDRV_IMPORT_FROM(timeplt)
+ /* basic machine hardware */
+ MDRV_CPU_MODIFY("maincpu")
+ MDRV_CPU_PROGRAM_MAP(chkun_main_map)
+
+ MDRV_VIDEO_START(chkun)
+MACHINE_DRIVER_END
/*************************************
*
@@ -495,7 +555,30 @@ ROM_START( psurge )
ROM_LOAD( "timeplt.e12", 0x0140, 0x0100, BAD_DUMP CRC(f7b7663e) SHA1(151bd2dff4e4ef76d6438c1ab2cae71f987b9dad) ) /* char lookup table */
ROM_END
+ROM_START( chkun )
+ ROM_REGION( 0x12000, "maincpu", 0 )
+ ROM_LOAD( "n1.16a", 0x0000, 0x4000, CRC(c5879f9b) SHA1(68e3a87dfe6b3d1e0cdadd1ed8ad115a9d3055f9) )
+ ROM_LOAD( "12.14a", 0x4000, 0x2000, CRC(80cc55da) SHA1(68727721479624cd0d38d895b98dcef4edac13e9) )
+ ROM_REGION( 0x12000, "tpsound", 0 )
+ ROM_LOAD( "15.3l", 0x0000, 0x2000, CRC(1f1463ca) SHA1(870abbca35236fcce6a2f640a238e20b9e57f10f))
+
+ ROM_REGION( 0x4000, "gfx1", 0 )
+ ROM_LOAD( "13.4d", 0x0000, 0x4000, CRC(776427c0) SHA1(1e8387685f7e86aad31577f2186596b2a2dfc4de) )
+
+ ROM_REGION( 0x4000, "gfx2", 0 )
+ ROM_LOAD( "14.8h", 0x0000, 0x4000, CRC(0cb76a48) SHA1(0beebbc3d30eb978f6fe7b15c0a7b0c2152815b7) )
+
+ ROM_REGION( 0x20000, "sample_data", 0 )
+ ROM_LOAD( "v1.8k", 0x00000, 0x10000, CRC(d5ca802d) SHA1(0c2867c86132745063e36d03f41e6c3e150fd3ad) )
+ ROM_LOAD( "v2.9k", 0x10000, 0x10000, CRC(70e902eb) SHA1(e1b2392446f2878f9e811a63bbbbdc56fd517a9c) )
+
+ ROM_REGION( 0x0240, "proms", ROMREGION_ERASE00 )
+ ROM_LOAD( "3.2j", 0x0000, 0x0020, CRC(34c91839) SHA1(f62e279e21fce171231d3139be7adabe1f4b8c2e) ) /* palette */
+ ROM_LOAD( "2.1h", 0x0020, 0x0020, CRC(463b2b07) SHA1(9ad275365eba4869f94749f39ff8705d92056a10) ) /* palette */
+ ROM_LOAD( "4.10h", 0x0040, 0x0100, CRC(4bbb2150) SHA1(678433b21aae1daa938e32d3293eeed529a42ef9) ) /* sprite lookup table */
+ ROM_RELOAD( 0x0140, 0x0100 )
+ROM_END
/*************************************
*
@@ -507,4 +590,5 @@ GAME( 1982, timeplt, 0, timeplt, timeplt, 0, ROT90, "Konami", "Time Pilo
GAME( 1982, timepltc, timeplt, timeplt, timeplt, 0, ROT90, "Konami (Centuri license)", "Time Pilot (Centuri)", GAME_SUPPORTS_SAVE )
GAME( 1982, timeplta, timeplt, timeplt, timeplt, 0, ROT90, "Konami (Atari license)", "Time Pilot (Atari)", GAME_SUPPORTS_SAVE )
GAME( 1982, spaceplt, timeplt, timeplt, timeplt, 0, ROT90, "bootleg", "Space Pilot", GAME_SUPPORTS_SAVE )
+GAME( 1982, chkun, 0, chkun, chkun, 0, ROT90, "<unknown>", "Chance Kun", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND )
GAME( 1988, psurge, 0, psurge, psurge, 0, ROT270, "<unknown>", "Power Surge", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/includes/timeplt.h b/src/mame/includes/timeplt.h
index e980c304b44..0dd03d109e9 100644
--- a/src/mame/includes/timeplt.h
+++ b/src/mame/includes/timeplt.h
@@ -125,6 +125,7 @@ WRITE8_HANDLER( timeplt_flipscreen_w );
PALETTE_INIT( timeplt );
VIDEO_START( timeplt );
+VIDEO_START( chkun );
VIDEO_UPDATE( timeplt );
/*----------- defined in video/tutankhm.c -----------*/
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
index 2e80a80df1b..d87eb098a8c 100644
--- a/src/mame/mamedriv.c
+++ b/src/mame/mamedriv.c
@@ -10173,4 +10173,6 @@ Other Sun games
/* Extrema Systems International Ltd. */
DRIVER( poker72 )
+ DRIVER( chkun )
+
#endif /* DRIVER_RECURSIVE */
diff --git a/src/mame/video/timeplt.c b/src/mame/video/timeplt.c
index 8c81cae910f..3bce015f9f3 100644
--- a/src/mame/video/timeplt.c
+++ b/src/mame/video/timeplt.c
@@ -101,6 +101,18 @@ static TILE_GET_INFO( get_tile_info )
SET_TILE_INFO(0, code, color, flags);
}
+static TILE_GET_INFO( get_chkun_tile_info )
+{
+ timeplt_state *state = (timeplt_state *)machine->driver_data;
+ int attr = state->colorram[tile_index];
+ int code = state->videoram[tile_index] + ((attr & 0x60) << 3);
+ int color = attr & 0x1f;
+ int flags = 0;//TILE_FLIPYX(attr >> 6);
+
+ tileinfo->category = (attr & 0x80) >> 7;
+ SET_TILE_INFO(0, code, color, flags);
+}
+
/*************************************
@@ -115,6 +127,12 @@ VIDEO_START( timeplt )
state->bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
}
+VIDEO_START( chkun )
+{
+ timeplt_state *state = (timeplt_state *)machine->driver_data;
+ state->bg_tilemap = tilemap_create(machine, get_chkun_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
+}
+
/*************************************