From 20c9a842d5a4c89c77d20da4d6cd916988219058 Mon Sep 17 00:00:00 2001 From: Ivan Izaguirre Date: Thu, 13 Aug 2020 16:43:40 +0200 Subject: [PATCH] Fix serpentine hang waiting for noise on the cassette port --- softSwitches2.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/softSwitches2.go b/softSwitches2.go index f09dde1..d594ea1 100644 --- a/softSwitches2.go +++ b/softSwitches2.go @@ -33,7 +33,7 @@ func addApple2SoftSwitches(io *ioC0Page) { io.addSoftSwitchR(0x30, speakerSoftSwitch, "SPEAKER") // Speaker io.addSoftSwitchR(0x40, notImplementedSoftSwitchR, "STROBE") // Game connector Strobe // Note: Some sources indicate that all these cover 16 positions - // for read and write. But the Apple2e take over some of them, with + // for read and write. But the Apple2e takes over some of them, with // the prevention on acting only on writes. io.addSoftSwitchRW(0x50, getSoftSwitch(ioFlagText, false), "TEXTOFF") @@ -80,8 +80,9 @@ func addApple2SoftSwitches(io *ioC0Page) { io.softSwitchesData[ioFlag2RGBCard] = ssOn } -func notImplementedSoftSwitchR(*ioC0Page) uint8 { - return 0 +func notImplementedSoftSwitchR(io *ioC0Page) uint8 { + // Return random info. Some games (Serpentine) used CASSETTE and get stuck if not changing. + return uint8(io.apple2.cpu.GetCycles()) } func notImplementedSoftSwitchW(*ioC0Page, uint8) {