diff --git a/src/Drive.cpp b/src/Drive.cpp index 23f902c..c3942b3 100644 --- a/src/Drive.cpp +++ b/src/Drive.cpp @@ -352,7 +352,7 @@ Drive::Drive() : m_pVIA(0) 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) UpdateHeadSectorPosition(); lastHeadDirection = 0; @@ -390,8 +390,9 @@ void Drive::DumpTrack(unsigned track) void Drive::OnPortOut(void* pThis, unsigned char status) { Drive* pDrive = (Drive*)pThis; + if (pDrive->motor) + pDrive->MoveHead(status & 3); pDrive->motor = (status & 4) != 0; - pDrive->MoveHead(status & 3); pDrive->CLOCK_SEL_AB = ((status >> 5) & 3); pDrive->LED = (status & 8) != 0; }