diff options
Diffstat (limited to 'src/mess/drivers/gamecom.c')
-rw-r--r-- | src/mess/drivers/gamecom.c | 185 |
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) |