Fixed bug with SRQ line preventing the cassette from working.
This commit is contained in:
parent
bc559f4291
commit
db692407c3
2 changed files with 11 additions and 0 deletions
|
@ -310,6 +310,12 @@ public:
|
||||||
RPI_GpioBase->GPPUDCLK0 = 0;
|
RPI_GpioBase->GPPUDCLK0 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void LetSRQBePulledHigh()
|
||||||
|
{
|
||||||
|
SRQSetToOut = IEC_Bus::invertIECInputs;
|
||||||
|
RefreshOuts1581();
|
||||||
|
}
|
||||||
|
|
||||||
static inline void UpdateButton(int index, unsigned gplev0)
|
static inline void UpdateButton(int index, unsigned gplev0)
|
||||||
{
|
{
|
||||||
bool inputcurrent = (gplev0 & ButtonPinFlags[index]) == 0;
|
bool inputcurrent = (gplev0 & ButtonPinFlags[index]) == 0;
|
||||||
|
|
|
@ -660,6 +660,8 @@ EXIT_TYPE Emulate1541(FileBrowser* fileBrowser)
|
||||||
IEC_Bus::port = pi1541.VIA[0].GetPortB();
|
IEC_Bus::port = pi1541.VIA[0].GetPortB();
|
||||||
pi1541.Reset(); // will call IEC_Bus::Reset();
|
pi1541.Reset(); // will call IEC_Bus::Reset();
|
||||||
|
|
||||||
|
IEC_Bus::LetSRQBePulledHigh();
|
||||||
|
|
||||||
ctBefore = read32(ARM_SYSTIMER_CLO);
|
ctBefore = read32(ARM_SYSTIMER_CLO);
|
||||||
|
|
||||||
//resetWhileEmulating = false;
|
//resetWhileEmulating = false;
|
||||||
|
@ -1002,6 +1004,9 @@ void emulator()
|
||||||
IEC_Bus::port = 0;
|
IEC_Bus::port = 0;
|
||||||
|
|
||||||
IEC_Bus::Reset();
|
IEC_Bus::Reset();
|
||||||
|
|
||||||
|
IEC_Bus::LetSRQBePulledHigh();
|
||||||
|
|
||||||
// workaround for occasional oled curruption
|
// workaround for occasional oled curruption
|
||||||
if (screenLCD)
|
if (screenLCD)
|
||||||
screenLCD->ClearInit(0);
|
screenLCD->ClearInit(0);
|
||||||
|
|
Loading…
Reference in a new issue