summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/gamecom.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/gamecom.c')
-rw-r--r--src/mess/drivers/gamecom.c185
1 files changed, 168 insertions, 17 deletions
diff --git a/src/mess/drivers/gamecom.c b/src/mess/drivers/gamecom.c
index a7dd7745737..92034a76e4e 100644
--- a/src/mess/drivers/gamecom.c
+++ b/src/mess/drivers/gamecom.c
@@ -18,6 +18,7 @@ Todo:
***************************************************************************/
#include "includes/gamecom.h"
+#include "gamecom.lh"
static ADDRESS_MAP_START(gamecom_mem_map, AS_PROGRAM, 8, gamecom_state)
AM_RANGE( 0x0000, 0x0013 ) AM_RAM
@@ -31,8 +32,8 @@ static ADDRESS_MAP_START(gamecom_mem_map, AS_PROGRAM, 8, gamecom_state)
AM_RANGE( 0x4000, 0x5FFF ) AM_ROMBANK("bank2") /* External ROM/Flash. Controlled by MMU2 */
AM_RANGE( 0x6000, 0x7FFF ) AM_ROMBANK("bank3") /* External ROM/Flash. Controlled by MMU3 */
AM_RANGE( 0x8000, 0x9FFF ) AM_ROMBANK("bank4") /* External ROM/Flash. Controlled by MMU4 */
- AM_RANGE( 0xA000, 0xDFFF ) AM_RAM AM_SHARE("p_videoram") /* VRAM */
- AM_RANGE( 0xE000, 0xFFFF ) AM_RAM AM_SHARE("p_nvram")// AM_SHARE("nvram") /* Extended I/O, Extended RAM */
+ AM_RANGE( 0xA000, 0xDFFF ) AM_RAM AM_SHARE("videoram") /* VRAM */
+ AM_RANGE( 0xE000, 0xFFFF ) AM_RAM AM_SHARE("nvram") /* Extended I/O, Extended RAM */
ADDRESS_MAP_END
static INPUT_PORTS_START( gamecom )
@@ -43,24 +44,174 @@ static INPUT_PORTS_START( gamecom )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_NAME( "Right" )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Menu" ) PORT_CODE( KEYCODE_M )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( DEF_STR(Pause) ) PORT_CODE( KEYCODE_V )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Sound" ) PORT_CODE( KEYCODE_B )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Button A" )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Sound" ) PORT_CODE( KEYCODE_S )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Button A" ) PORT_CODE( KEYCODE_A ) PORT_CODE( KEYCODE_LCONTROL )
PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Button B" )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Button C" )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Button B" ) PORT_CODE( KEYCODE_B ) PORT_CODE( KEYCODE_LALT )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Button C" ) PORT_CODE( KEYCODE_C ) PORT_CODE( KEYCODE_SPACE )
PORT_START("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Reset" ) PORT_CODE( KEYCODE_N )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Button D" )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Button D" ) PORT_CODE( KEYCODE_D ) PORT_CODE( KEYCODE_LSHIFT )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Stylus press" ) PORT_CODE( KEYCODE_Z ) PORT_CODE( MOUSECODE_BUTTON1 )
- PORT_START("STYX")
- PORT_BIT( 0xff, 100, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1, 0, 0) PORT_MINMAX(0,199) PORT_SENSITIVITY(50) PORT_KEYDELTA(8)
+ PORT_START("GRID.0")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
- PORT_START("STYY")
- PORT_BIT( 0xff, 80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1, 0, 0) PORT_MINMAX(0,159) PORT_SENSITIVITY(50) PORT_KEYDELTA(8)
-INPUT_PORTS_END
+ PORT_START("GRID.1")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.2")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.3")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.4")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.5")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.6")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.7")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.8")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.9")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.10")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.11")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+
+ PORT_START("GRID.12")
+ PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
+ PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
+ INPUT_PORTS_END
static const unsigned char palette_gamecom[] =
{
@@ -108,11 +259,11 @@ static MACHINE_CONFIG_START( gamecom, gamecom_state )
MCFG_SCREEN_REFRESH_RATE( 59.732155 )
MCFG_SCREEN_VBLANK_TIME(500)
MCFG_SCREEN_UPDATE_DRIVER(gamecom_state, screen_update)
- MCFG_SCREEN_SIZE( 200, 200 )
- MCFG_SCREEN_VISIBLE_AREA( 0, 199, 0, 159 )
+ MCFG_SCREEN_SIZE( 208, 160 )
+ MCFG_SCREEN_VISIBLE_AREA( 0, 207, 0, 159 )
MCFG_SCREEN_PALETTE("palette")
- MCFG_DEFAULT_LAYOUT(layout_lcd)
+ MCFG_DEFAULT_LAYOUT(layout_gamecom)
MCFG_PALETTE_ADD("palette", 5)
MCFG_PALETTE_INIT_OWNER(gamecom_state, gamecom)
@@ -143,5 +294,5 @@ ROM_START( gamecom )
ROM_LOAD( "external.bin", 0x00000, 0x40000, CRC(e235a589) SHA1(97f782e72d738f4d7b861363266bf46b438d9b50) )
ROM_END
-/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */
-CONS( 1997, gamecom, 0, 0, gamecom, gamecom, gamecom_state, gamecom,"Tiger", "Game.com", GAME_NOT_WORKING | GAME_NO_SOUND)
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
+CONS( 1997, gamecom, 0, 0, gamecom, gamecom, gamecom_state, gamecom, "Tiger", "Game.com", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)