From cbd9e101f110679d895ffacb71c58836c0c8b58b Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 9 Jun 2020 20:31:24 +0200 Subject: namcos22: tweak some analog minmax, add note (nw) --- src/mame/drivers/kchamp.cpp | 54 +++++++++++++++++++++---------------------- src/mame/drivers/namcos22.cpp | 42 +++++++++++++++------------------ 2 files changed, 45 insertions(+), 51 deletions(-) diff --git a/src/mame/drivers/kchamp.cpp b/src/mame/drivers/kchamp.cpp index 581451420dd..ee3eaf6e28e 100644 --- a/src/mame/drivers/kchamp.cpp +++ b/src/mame/drivers/kchamp.cpp @@ -618,39 +618,39 @@ ROM_END */ ROM_START( karateda ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "k14_2764.d1", 0x0000, 0x2000, CRC(44e60aa0) SHA1(6d007d7082c15182832f947444b00b7feb0e7738) ) - ROM_LOAD( "k15_2764.d2", 0x2000, 0x2000, CRC(a65e3793) SHA1(bf1e8fbc6755e85414eb7629e6fab3bf154f6546) ) - ROM_LOAD( "k16_2764.d4", 0x4000, 0x2000, CRC(151d8872) SHA1(1bb27142fdb33e3aeaf95c7a0ad7e8c258bbcb66) ) - ROM_LOAD( "k17_2764.d5", 0x6000, 0x2000, CRC(8f393b6a) SHA1(f246a6e069a2f562c5b7de05a2b8a6a09c1f4d1b) ) - ROM_LOAD( "k18_2764.d6", 0x8000, 0x2000, CRC(a09046ad) SHA1(665973bffc38e36b8b0f6bc79e10db280be0613e) ) - ROM_LOAD( "k19_2764.d7", 0xa000, 0x2000, CRC(0cdc4da9) SHA1(405454deda311abb8badd58a47529e42ddce5f6a) ) + ROM_LOAD( "k-14_2764.d1", 0x0000, 0x2000, CRC(44e60aa0) SHA1(6d007d7082c15182832f947444b00b7feb0e7738) ) + ROM_LOAD( "k-15_2764.d2", 0x2000, 0x2000, CRC(a65e3793) SHA1(bf1e8fbc6755e85414eb7629e6fab3bf154f6546) ) + ROM_LOAD( "k-16_2764.d4", 0x4000, 0x2000, CRC(151d8872) SHA1(1bb27142fdb33e3aeaf95c7a0ad7e8c258bbcb66) ) + ROM_LOAD( "k-17_2764.d5", 0x6000, 0x2000, CRC(8f393b6a) SHA1(f246a6e069a2f562c5b7de05a2b8a6a09c1f4d1b) ) + ROM_LOAD( "k-18_2764.d6", 0x8000, 0x2000, CRC(a09046ad) SHA1(665973bffc38e36b8b0f6bc79e10db280be0613e) ) + ROM_LOAD( "k-19_2764.d7", 0xa000, 0x2000, CRC(0cdc4da9) SHA1(405454deda311abb8badd58a47529e42ddce5f6a) ) ROM_REGION( 0x10000, "audiocpu", 0 ) // Sound CPU - ROM_LOAD( "k26_2764.e10", 0x0000, 0x2000, CRC(645232ba) SHA1(97b78a9bb069d3fdbd348a4e83d5abdf8418e595) ) - ROM_LOAD( "k25_2764.e9", 0x2000, 0x2000, CRC(253bf0da) SHA1(33bae6401003dc57deaa14bf7f6a7ebad5b7efe3) ) // ADPCM - ROM_LOAD( "k24_2764.e8", 0x4000, 0x2000, CRC(e2c188af) SHA1(b7a0801a4c634694f1556873fd21f7e13441be17) ) // ADPCM - ROM_LOAD( "k23_2764.e6", 0x6000, 0x2000, CRC(25262de1) SHA1(6264cd82756be9e1cdcd9ad3c3dfc6fef78dab8f) ) - ROM_LOAD( "k22_2764.e5", 0x8000, 0x2000, CRC(38055c48) SHA1(8406a52aaa7e56093a8d8552e928988b6fdd6c95) ) - ROM_LOAD( "k21_2764.e4", 0xa000, 0x2000, CRC(5f0efbe7) SHA1(f831efd02c917adac827fe6db8449ca8707b3d44) ) - ROM_LOAD( "k20_2764.e2", 0xc000, 0x2000, CRC(cbe8a533) SHA1(04cb41c487c2f951417628ed2888e04d59a39d29) ) + ROM_LOAD( "k-26_2764.e10", 0x0000, 0x2000, CRC(645232ba) SHA1(97b78a9bb069d3fdbd348a4e83d5abdf8418e595) ) + ROM_LOAD( "k-25_2764.e9", 0x2000, 0x2000, CRC(253bf0da) SHA1(33bae6401003dc57deaa14bf7f6a7ebad5b7efe3) ) // ADPCM + ROM_LOAD( "k-24_2764.e8", 0x4000, 0x2000, CRC(e2c188af) SHA1(b7a0801a4c634694f1556873fd21f7e13441be17) ) // ADPCM + ROM_LOAD( "k-23_2764.e6", 0x6000, 0x2000, CRC(25262de1) SHA1(6264cd82756be9e1cdcd9ad3c3dfc6fef78dab8f) ) + ROM_LOAD( "k-22_2764.e5", 0x8000, 0x2000, CRC(38055c48) SHA1(8406a52aaa7e56093a8d8552e928988b6fdd6c95) ) + ROM_LOAD( "k-21_2764.e4", 0xa000, 0x2000, CRC(5f0efbe7) SHA1(f831efd02c917adac827fe6db8449ca8707b3d44) ) + ROM_LOAD( "k-20_2764.e2", 0xc000, 0x2000, CRC(cbe8a533) SHA1(04cb41c487c2f951417628ed2888e04d59a39d29) ) ROM_REGION( 0x08000, "gfx1", 0 ) - ROM_LOAD( "k0_2764.h3", 0x00000, 0x2000, CRC(cec020f2) SHA1(07c501cc24797000f369fd98a26efe13875107bb) ) // Plane0, tiles - ROM_LOAD( "k1_2764.h6", 0x04000, 0x2000, CRC(cd96271c) SHA1(bcc71010e5489b19ad1553141c7b2e366bbbc68f) ) // Plane1, tiles + ROM_LOAD( "k-0_2764.h3", 0x00000, 0x2000, CRC(cec020f2) SHA1(07c501cc24797000f369fd98a26efe13875107bb) ) // Plane0, tiles + ROM_LOAD( "k-1_2764.h6", 0x04000, 0x2000, CRC(cd96271c) SHA1(bcc71010e5489b19ad1553141c7b2e366bbbc68f) ) // Plane1, tiles ROM_REGION( 0x18000, "gfx2", 0 ) - ROM_LOAD( "k13_2764.k15", 0x00000, 0x2000, CRC(fb358707) SHA1(37124f1f545787723fecf466d8dcd31b88cdd75d) ) // Top, plane0, sprites - ROM_LOAD( "k4_2764.j15", 0x02000, 0x2000, CRC(48372bf8) SHA1(28231b3bdb1d7226d7856554ba667b6d61f4fe22) ) // Bot, plane0, sprites - ROM_LOAD( "k12_2764.k13", 0x04000, 0x2000, CRC(b4842ea9) SHA1(471475f65edbd292b9162ad50e5cb0c7144845b0) ) // Top, plane0, sprites - ROM_LOAD( "k3-2764.j13", 0x06000, 0x2000, CRC(8cd166a5) SHA1(4b623c4c0025d75b3ed9746f8b6730bf3e65d85a) ) // Bot, plane0, sprites - ROM_LOAD( "k11_2764.k12", 0x08000, 0x2000, CRC(4cbd3aa3) SHA1(a9a683dcc4f52b18450659a20434a4d2a7b411d9) ) // Top, plane0, sprites - ROM_LOAD( "k2_2764.j12", 0x0a000, 0x2000, CRC(6be342a6) SHA1(0b8ac7ef7c6a6464fbc027a9fd17fa7ce1ffd962) ) // Bot, plane0, sprites - ROM_LOAD( "k7_2764.k4", 0x0c000, 0x2000, CRC(40f2b6fb) SHA1(8d9ee04d917a8e143bd00fa7582990213bfa42d3) ) // Top, plane1, sprites - ROM_LOAD( "k10_2764.k9", 0x0e000, 0x2000, CRC(325c0a97) SHA1(0159536ff0ebac8ccf65aac1a524a30b3fca3418) ) // Bot, plane1, sprites - ROM_LOAD( "k6_2764.k2", 0x10000, 0x2000, CRC(7346db8a) SHA1(d2b2c1700ae0ff9c614a9981a3da3d69879e9f25) ) // Top, plane1, sprites - ROM_LOAD( "k9_2764.k8", 0x12000, 0x2000, CRC(b78714fc) SHA1(4df7f15c37d56a9d66d0049aad65b32063e5c29a) ) // Bot, plane1, sprites - ROM_LOAD( "k5_2764.k1", 0x14000, 0x2000, CRC(b2557102) SHA1(ec4285029fc3ee1ad0adb05f363b234c67f8903d) ) // Top, plane1, sprites - ROM_LOAD( "k8_2764.k7", 0x16000, 0x2000, CRC(c85aba0e) SHA1(4be21b38623c2a8ae7f1e7397fb002e4cb9e4614) ) // Bot, plane1, sprites + ROM_LOAD( "k-13_2764.k15", 0x00000, 0x2000, CRC(fb358707) SHA1(37124f1f545787723fecf466d8dcd31b88cdd75d) ) // Top, plane0, sprites + ROM_LOAD( "k-4_2764.j15", 0x02000, 0x2000, CRC(48372bf8) SHA1(28231b3bdb1d7226d7856554ba667b6d61f4fe22) ) // Bot, plane0, sprites + ROM_LOAD( "k-12_2764.k13", 0x04000, 0x2000, CRC(b4842ea9) SHA1(471475f65edbd292b9162ad50e5cb0c7144845b0) ) // Top, plane0, sprites + ROM_LOAD( "k-3_2764.j13", 0x06000, 0x2000, CRC(8cd166a5) SHA1(4b623c4c0025d75b3ed9746f8b6730bf3e65d85a) ) // Bot, plane0, sprites + ROM_LOAD( "k-11_2764.k12", 0x08000, 0x2000, CRC(4cbd3aa3) SHA1(a9a683dcc4f52b18450659a20434a4d2a7b411d9) ) // Top, plane0, sprites + ROM_LOAD( "k-2_2764.j12", 0x0a000, 0x2000, CRC(6be342a6) SHA1(0b8ac7ef7c6a6464fbc027a9fd17fa7ce1ffd962) ) // Bot, plane0, sprites + ROM_LOAD( "k-7_2764.k4", 0x0c000, 0x2000, CRC(40f2b6fb) SHA1(8d9ee04d917a8e143bd00fa7582990213bfa42d3) ) // Top, plane1, sprites + ROM_LOAD( "k-10_2764.k9", 0x0e000, 0x2000, CRC(325c0a97) SHA1(0159536ff0ebac8ccf65aac1a524a30b3fca3418) ) // Bot, plane1, sprites + ROM_LOAD( "k-6_2764.k2", 0x10000, 0x2000, CRC(7346db8a) SHA1(d2b2c1700ae0ff9c614a9981a3da3d69879e9f25) ) // Top, plane1, sprites + ROM_LOAD( "k-9_2764.k8", 0x12000, 0x2000, CRC(b78714fc) SHA1(4df7f15c37d56a9d66d0049aad65b32063e5c29a) ) // Bot, plane1, sprites + ROM_LOAD( "k-5_2764.k1", 0x14000, 0x2000, CRC(b2557102) SHA1(ec4285029fc3ee1ad0adb05f363b234c67f8903d) ) // Top, plane1, sprites + ROM_LOAD( "k-8_2764.k7", 0x16000, 0x2000, CRC(c85aba0e) SHA1(4be21b38623c2a8ae7f1e7397fb002e4cb9e4614) ) // Bot, plane1, sprites ROM_REGION( 0x0300, "proms", 0 ) ROM_LOAD( "1_dm74s287_82s129.f11", 0x0000, 0x0100, CRC(f05bda76) SHA1(0842092e28a15de3b4c198e48f650dbbe3cc95ce) ) // Red diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp index 7da3014144a..1b106834e54 100644 --- a/src/mame/drivers/namcos22.cpp +++ b/src/mame/drivers/namcos22.cpp @@ -15,6 +15,9 @@ driver provided with thanks to: TODO: - finish slave DSP emulation - emulate System22 I/O board C74 instead of HLE (inputs, outputs, volume control - HLE only handles the inputs) +- Rave Racer car will sometimes do a 'strafe slide' when playing the game with a small analog device (such as an + Xbox 360 pad), does not happen with keyboard controls or larger device like a steering wheel. BTANB or related + to HLE I/O board emulation? - alpinesa doesn't work, protection related? - depending on value written, it looks like it changes the addressing of some of the gfx chips on the fly. This is probably due to the PAL modification on the PROGRAM ROM PCB. Check the modification details of the TYPE 4 Program ROM PCB below. @@ -2762,37 +2765,25 @@ void namcos22_state::handle_driving_io() { case NAMCOS22_RIDGE_RACER: case NAMCOS22_RIDGE_RACER2: - steer <<= 4; steer += 0x160; - gas <<= 3; gas += 884; - brake <<= 3; brake += 809; break; case NAMCOS22_RAVE_RACER: - steer <<= 4; steer += 32; - gas <<= 3; gas += 992; - brake <<= 3; brake += 3008; break; case NAMCOS22_ACE_DRIVER: case NAMCOS22_VICTORY_LAP: - steer <<= 4; steer += 2048; - gas <<= 3; gas += 992; - brake <<= 3; brake += 3008; break; default: - steer <<= 4; - gas <<= 3; - brake <<= 3; break; } @@ -2966,14 +2957,14 @@ static INPUT_PORTS_START( ridgera ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("ADC.0") - PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20, 0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel") + PORT_START("ADC.0") // 1152 + PORT_BIT( 0xfff, 0x800, IPT_PADDLE ) PORT_MINMAX(0x380, 0xc80) PORT_SENSITIVITY(100) PORT_KEYDELTA(160) PORT_NAME("Steering Wheel") - PORT_START("ADC.1") - PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0xd0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal") + PORT_START("ADC.1") // 1552 + PORT_BIT( 0xfff, 0x000, IPT_PEDAL ) PORT_MINMAX(0x000, 0x610) PORT_SENSITIVITY(100) PORT_KEYDELTA(80) PORT_NAME("Gas Pedal") - PORT_START("ADC.2") - PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0x00, 0xc0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal") + PORT_START("ADC.2") // 1552 + PORT_BIT( 0xfff, 0x000, IPT_PEDAL2 ) PORT_MINMAX(0x000, 0x610) PORT_SENSITIVITY(100) PORT_KEYDELTA(80) PORT_NAME("Brake Pedal") PORT_START("DSW") PORT_DIPNAME( 0x00010000, 0x00010000, "Test Mode" ) PORT_DIPLOCATION("SW2:1") @@ -3006,6 +2997,9 @@ static INPUT_PORTS_START( ridgeracf ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("MT Switch") PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SERVICE2 ) + PORT_MODIFY("ADC.0") // 1408 + PORT_BIT( 0xfff, 0x800, IPT_PADDLE ) PORT_MINMAX(0x280, 0xd80) PORT_SENSITIVITY(100) PORT_KEYDELTA(160) PORT_NAME("Steering Wheel") + // DIP3-1 to DIP3-3 are for setting up the viewing angle (game used one board per screen?) // Some of the other dipswitches are for debugging, like with Ridge Racer 2. PORT_MODIFY("DSW") @@ -3127,14 +3121,14 @@ static INPUT_PORTS_START( acedrvr ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Motion-Stop") - PORT_START("ADC.0") - PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20, 0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel") + PORT_START("ADC.0") // 1536 + PORT_BIT( 0xfff, 0x800, IPT_PADDLE ) PORT_MINMAX(0x200, 0xe00) PORT_SENSITIVITY(100) PORT_KEYDELTA(160) PORT_NAME("Steering Wheel") - PORT_START("ADC.1") - PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00, 0x90) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal") + PORT_START("ADC.1") // 1152 + PORT_BIT( 0xfff, 0x000, IPT_PEDAL ) PORT_MINMAX(0x000, 0x480) PORT_SENSITIVITY(100) PORT_KEYDELTA(80) PORT_NAME("Gas Pedal") - PORT_START("ADC.2") - PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0x00, 0x48) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal") + PORT_START("ADC.2") // 576 + PORT_BIT( 0xfff, 0x000, IPT_PEDAL2 ) PORT_MINMAX(0x000, 0x240) PORT_SENSITIVITY(100) PORT_KEYDELTA(80) PORT_NAME("Brake Pedal") PORT_START("DSW") PORT_DIPUNKNOWN_DIPLOC( 0x00010000, 0x00010000, "SW2:1" ) -- cgit v1.2.3