Fixed compatability problem with CaliforniaGames

CaliforniaGames does not like being started with the heads directly over track 18.0.
This commit is contained in:
Stephen White 2018-07-22 15:19:58 +10:00
parent 1090e509a1
commit 77dec20347
1 changed files with 3 additions and 2 deletions

View File

@ -352,7 +352,7 @@ Drive::Drive() : m_pVIA(0)
void Drive::Reset() void Drive::Reset()
{ {
headTrackPos = 34; // Start with the head over track 18 headTrackPos = 0; // Start with the head over track 19 (Very later Vorpal ie Cakifornia Games) need to have had the last head movement -ve
CLOCK_SEL_AB = 3; // Track 18 will use speed zone 3 (encoder/decoder (ie UE7Counter) clocked at 1.2307Mhz) CLOCK_SEL_AB = 3; // Track 18 will use speed zone 3 (encoder/decoder (ie UE7Counter) clocked at 1.2307Mhz)
UpdateHeadSectorPosition(); UpdateHeadSectorPosition();
lastHeadDirection = 0; lastHeadDirection = 0;
@ -390,8 +390,9 @@ void Drive::DumpTrack(unsigned track)
void Drive::OnPortOut(void* pThis, unsigned char status) void Drive::OnPortOut(void* pThis, unsigned char status)
{ {
Drive* pDrive = (Drive*)pThis; Drive* pDrive = (Drive*)pThis;
if (pDrive->motor)
pDrive->MoveHead(status & 3);
pDrive->motor = (status & 4) != 0; pDrive->motor = (status & 4) != 0;
pDrive->MoveHead(status & 3);
pDrive->CLOCK_SEL_AB = ((status >> 5) & 3); pDrive->CLOCK_SEL_AB = ((status >> 5) & 3);
pDrive->LED = (status & 8) != 0; pDrive->LED = (status & 8) != 0;
} }