From d141e524187ce32a28084387c9099d2415bf3953 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Mon, 26 Dec 2011 20:00:51 +0000 Subject: [PATCH] Port from MESS by Judge --- src/mame/drivers/atari_s2.c | 4 ++-- src/mame/drivers/summit.c | 11 ++++++----- src/mame/video/pc_cga.c | 8 ++++++++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/mame/drivers/atari_s2.c b/src/mame/drivers/atari_s2.c index a254bc4fe00..dd57790a15f 100644 --- a/src/mame/drivers/atari_s2.c +++ b/src/mame/drivers/atari_s2.c @@ -83,5 +83,5 @@ ROM_START(hercules) ROM_END -GAME( 1979, supermap, 0, atari_s2, atari_s2, atari_s2, ROT0, "Atari", "Superman (Pinball)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL) -GAME( 1979, hercules, 0, atari_s2, atari_s2, atari_s2, ROT0, "Atari", "Hercules", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL) +GAME( 1979, supermap, 0, atari_s2, atari_s2, atari_s2, ROT0, "Atari", "Superman (Pinball)", GAME_IS_SKELETON_MECHANICAL) +GAME( 1979, hercules, 0, atari_s2, atari_s2, atari_s2, ROT0, "Atari", "Hercules", GAME_IS_SKELETON_MECHANICAL) diff --git a/src/mame/drivers/summit.c b/src/mame/drivers/summit.c index 4a6df6fc0c0..d8b4216c4b4 100644 --- a/src/mame/drivers/summit.c +++ b/src/mame/drivers/summit.c @@ -61,6 +61,7 @@ static WRITE8_HANDLER( out_w ) } + static ADDRESS_MAP_START( mainmap, AS_PROGRAM, 8 ) AM_RANGE(0x0000, 0x17ff) AM_ROM @@ -68,10 +69,10 @@ static ADDRESS_MAP_START( mainmap, AS_PROGRAM, 8 ) AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE_MEMBER(summit_state, m_vram) AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") - AM_RANGE(0x3880, 0x3880) AM_WRITE(out_w) - AM_RANGE(0x3900, 0x3900) AM_READ_PORT("IN1") AM_WRITE(out_w) - AM_RANGE(0x3980, 0x3980) AM_WRITE(out_w) - AM_RANGE(0x3a00, 0x3a00) AM_READ_PORT("IN2") AM_WRITE(out_w) +// AM_RANGE(0x3880, 0x3880) AM_WRITE(out_w) + AM_RANGE(0x3900, 0x3900) AM_READ_PORT("IN1") AM_WRITE(out_w) // lamps +// AM_RANGE(0x3980, 0x3980) AM_WRITE(out_w) + AM_RANGE(0x3a00, 0x3a00) AM_READ_PORT("IN2") //AM_WRITE(out_w) AM_RANGE(0x3b00, 0x3b00) AM_READ_PORT("IN3") AM_RANGE(0x7000, 0x71ff) AM_RAM @@ -335,4 +336,4 @@ ROM_START( pushover ) ROM_END -GAME( 1981, pushover, 0, summit, summit, 0, ROT270, "Summit Coin", "Push Over (Summit Coin)", GAME_NOT_WORKING|GAME_NO_SOUND ) +GAME( 1981, pushover, 0, summit, summit, 0, ROT270, "Summit Coin", "Push Over (Summit Coin)", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_WRONG_COLORS ) diff --git a/src/mame/video/pc_cga.c b/src/mame/video/pc_cga.c index 0d0ff2c1918..e74ddcff855 100644 --- a/src/mame/video/pc_cga.c +++ b/src/mame/video/pc_cga.c @@ -187,6 +187,9 @@ static const mc6845_interface mc6845_cga_intf = NULL }; +#define CGA_HCLK (XTAL_14_31818MHz/8) +#define CGA_LCLK (XTAL_14_31818MHz/16) + MACHINE_CONFIG_FRAGMENT( pcvideo_cga ) MCFG_SCREEN_ADD(CGA_SCREEN_NAME, RASTER) @@ -1059,6 +1062,10 @@ static void pc_cga_mode_control_w(running_machine &machine, int data) break; } + // The lowest bit of the mode register selects, among others, the + // input clock to the 6845. + mc6845->set_clock( ( cga.mode_control & 1 ) ? CGA_HCLK : CGA_LCLK ); + pc_cga_set_palette_luts(); } @@ -1170,6 +1177,7 @@ static WRITE8_HANDLER( pc_cga8_w ) break; case 0x0f: // Not sure if some all CGA cards have ability to upload char definition + // The original CGA card had a char rom UINT8 buswidth = space->machine().firstcpu->memory().space_config(AS_PROGRAM)->m_databus_width; address_space *space_prg = space->machine().firstcpu->memory().space(AS_PROGRAM); cga.p3df = data;