From 9365219ff3356dc49bf818c269ed97d499365b46 Mon Sep 17 00:00:00 2001 From: hap Date: Fri, 22 Jan 2021 15:47:13 +0100 Subject: getaway: update notes --- src/mame/drivers/getaway.cpp | 47 +++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/src/mame/drivers/getaway.cpp b/src/mame/drivers/getaway.cpp index 14887e0255b..61e16ea1ff9 100644 --- a/src/mame/drivers/getaway.cpp +++ b/src/mame/drivers/getaway.cpp @@ -12,15 +12,18 @@ Hardware notes: - discrete sound TODO: -- sketchy steering wheel emulation, doesn't work properly with regular analog - field, somehow working with digital; -- is the gas throttle min/max correct or should "LOW" be more than 0? +- is the gas throttle min/max correct or should "LOW" be more than 0?; +- unknown dipswitches, and verify factory defaults; - several unknowns in the video emulation: - score layer is a simplification hack, it is unknown how it should really cope RMW-wise against main layer. It also has wrong colors (different color - base or overlay artwork, with extra bit output for taking priority?); - - screen sides presumably needs an overlay artwork (red trees?) or more - more likely an inverted green bit (which would also turn the trees yellow); + base or overlay artwork, with extra bit output for taking priority?). + The score background color should change from white(or is it cyan?) to red + after Extended Play, the score digits themselves should always be black; + - According to flyers, screen sides should have a green background color, + it can't be an artwork overlay since it only occurs when the trees are + on screen. However, the German flyer contains a cabinet photo and there + is no green background. Other flyers could be hand-drawn pictures?; - do we need to offset X by 1 char-wise? Fills starts from 0x1f; - video timing is unknown, pixel clock XTAL is 10.816MHz; - blitter busy flag; @@ -285,17 +288,17 @@ void getaway_state::io_w(offs_t offset, u8 data) } } -template u8 getaway_state::input_r(offs_t offset) -{ - return BIT(m_inputs[N]->read(), offset); -} - u8 getaway_state::busy_r() { // TODO: blitter busy? return 0; } +template u8 getaway_state::input_r(offs_t offset) +{ + return BIT(m_inputs[N]->read(), offset); +} + template u8 getaway_state::dsw_r(offs_t offset) { return BIT(m_dsw[N]->read(), offset); @@ -332,27 +335,22 @@ void getaway_state::io_map(address_map &map) static INPUT_PORTS_START( getaway ) PORT_START("IN.0") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("IN.1") // TODO: positional/pedal, covers the full 0-0x1f range // (is all of it actually allowed?) - PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0x1f) PORT_SENSITIVITY(10) PORT_KEYDELTA(15) + PORT_BIT( 0x1f, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0x1f) PORT_SENSITIVITY(10) PORT_KEYDELTA(15) PORT_START("IN.2") // steering wheel, signed byte, absolute values larger than 8 ignored PORT_BIT( 0xff, 0x00, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(getaway_state, read_wheel) PORT_START("WHEEL") - // TODO: check sensitivity and key delta - PORT_BIT( 0xff, 0x08, IPT_AD_STICK_X ) PORT_MINMAX(0x00, 0x10) PORT_SENSITIVITY(5) PORT_KEYDELTA(25) // PORT_CENTERDELTA(0) - - // dips are two banks, a regular 8 banks one - // and a tiny 4. They are labeled, hard to read from the provided pic :=( + PORT_BIT( 0xff, 0x08, IPT_AD_STICK_X ) PORT_MINMAX(0x00, 0x10) PORT_SENSITIVITY(5) PORT_KEYDELTA(15) - // "D1S-8"? - PORT_START("DSW.0") + PORT_START("DSW.0") // DTS-8 dipswitch @ location k6 // TODO: defaults for these two, assume they have different quotas? PORT_DIPNAME( 0x07, 0x02, "Extended Play" ) PORT_DIPSETTING( 0x00, "None" ) @@ -379,8 +377,7 @@ static INPUT_PORTS_START( getaway ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) - // "DNS04"? - PORT_START("DSW.1") + PORT_START("DSW.1") // DNS04 dipswitch @ location m7 // credit display is shown if both extended plays are on "None" PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) @@ -449,5 +446,5 @@ ROM_END Drivers ******************************************************************************/ -// YEAR NAME PARENT MACHINE INPUT CLASS INIT SCREEN COMPANY, FULLNAME, FLAGS -GAME( 1979, getaway, 0, getaway, getaway, getaway_state, empty_init, ROT270, "Universal", "Get A Way", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_COLORS | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_CONTROLS ) +// YEAR NAME PARENT MACHINE INPUT CLASS INIT SCREEN COMPANY FULLNAME FLAGS +GAME( 1979, getaway, 0, getaway, getaway, getaway_state, empty_init, ROT270, "Universal", "Get A Way", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_COLORS | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) -- cgit v1.2.3