mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2024-11-25 15:15:40 +00:00
Skichamp Driveboard error fix.
This commit is contained in:
parent
08d4735ee8
commit
e4998f57fd
|
@ -1646,10 +1646,6 @@
|
|||
</inputs>
|
||||
</hardware>
|
||||
<roms>
|
||||
<patches>
|
||||
<!-- remove driveboard error -->
|
||||
<patch region="crom" bits="32" offset="0x4d06f4" value="0x41860030" />
|
||||
</patches>
|
||||
<region name="crom" stride="8" chunk_size="2" byte_swap="true">
|
||||
<file offset="0" name="epr-20355.20" crc32="0x7A784E67" />
|
||||
<file offset="2" name="epr-20354.18" crc32="0xACA62BF8" />
|
||||
|
|
|
@ -119,14 +119,14 @@ UINT8 CSkiBoard::SimulateRead(void)
|
|||
{
|
||||
switch (m_readMode)
|
||||
{
|
||||
case 0x0: return m_statusFlags; // Status flags
|
||||
// Note about Driveboard error :
|
||||
// The value returned by case 0x0 is the error value displayed when error occurs.
|
||||
// In service menu->output test, you will see "foot ctrl clutch" occilating free/lock due to
|
||||
// the incrementation of m_statusFlags (000x0000 : x=1=lock x=0=free)
|
||||
|
||||
case 0x0: return m_statusFlags++; // Status flags - Increment every time to bypass driveboard error
|
||||
case 0x1: return m_dip1; // DIP switch 1 value
|
||||
case 0x2: return m_dip2; // DIP switch 2 value
|
||||
case 0x3: return m_wheelCenter; // Wheel center
|
||||
case 0x4: return 0x80; // Cockpit banking center
|
||||
case 0x5: return m_inputs->skiX->value; // Wheel position
|
||||
case 0x6: return 0x80; // Cockpit banking position
|
||||
case 0x7: return m_echoVal; // Init status/echo test
|
||||
case 0x4: return 0xFF; // Foot sensor Left=0xf0 Right=0x0f Both=0xff
|
||||
default: return 0xFF;
|
||||
}
|
||||
}
|
||||
|
@ -255,7 +255,6 @@ CSkiBoard::CSkiBoard(const Util::Config::Node& config)
|
|||
m_simulated = false;
|
||||
m_initialized = false;
|
||||
m_dip1 = 0xCF;
|
||||
m_dip2 = 0xFF;
|
||||
|
||||
DebugLog("Built Drive Board (ski pad)\n");
|
||||
}
|
||||
|
|
|
@ -535,14 +535,6 @@ UINT8 CModel3::ReadInputs(unsigned reg)
|
|||
if ((m_game.inputs & Game::INPUT_MAGTRUCK))
|
||||
data &= ~(Inputs->magicalPedal2->value << 0);
|
||||
|
||||
if ((m_game.inputs & Game::INPUT_SKI))
|
||||
{
|
||||
data = 0xff;
|
||||
// foot sensor Left=0xf0 Right=0x0f Both=0xff
|
||||
// rumble skipad is tested here at boot. The rom is patched to avoid driveboard error
|
||||
// note : there is no driveboard error if sensor value slide slowly from 0x80 to 0xff then set to 0xff when test passed (tested with assigning an axis to this value)
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
case 0x18: // swtrilgy and getbass. Remove IO board error on getbass. Not sure, but may be related to device feedback ?
|
||||
|
|
Loading…
Reference in a new issue