onecycle

Apple II emulator testing

Back in 2017, I had an idea to push the limits of Apple II emulators. The idea is run code that is on the floating bus. Well not quite as it runs the code that was just on the bus, hopefully. The test fills the GR and HGR screen with $4C bytes and then will JMP $C056.

TomCh gave me a good explanation about what was happening when running this using AppleWin:

AppleWin only does an I/O address check and floating bus read on the opcode fetch, not the opcode's parameter byte(s).

So only the access to $C056 will work as expected, not the subsequent reads from $C057 and $C058 (they will not change video mode, and will just read 0x00 data). So the code will jmp $0000.

Tom

macgui.com/usenet/?group=2&id=26589

Today, with the help of a USB to Super Serial Card, I am able to run the code on my Apple II plus.

I am unsure about what happens on the Apple II plus. What addresses does it read when the beam is off screen? Even though the code fills the screens with $4C, it would seem that a BRK instruction: $00 byte shows up on the floating bus.

Below is a screenshot running Applewin, running KEGS and my serial configuration to the real Apple II plus.

AppleWin still does what Tom said it would: the code will JMP $0000 which lands in Applesoft. It doesn't flip to hi-res.

KEGS flips to hires with one byte lores interspersed which is the effect I was looking for. And KEGS keeps on running until a key is pressed so no BRK instructions are showing up on the bus. I assume this is what a real Apple IIGS would do.

Update

By filling in a bunch of off screen bytes with $4C, I get the effect I was looking for on the real Apple II plus ...

*
*
*
*
4000:4C
4001<4000.BFFFM
C00:4C
C01<C00.2000M
<ctrl>+C
] RUN

Note that there are flashing pixels in the graphics area of the display.

Notes

Apparently, vapor lock can depend on what cards you have plugged in, since it depends on the capacitance of the bus…
Zellyn

Links

Understanding the Apple II
Understanding the Apple IIe archive.org

Apple II Vapor Lock and the Floating Bus deater.net

Clumsy (but pretty!) attempts to map video scanner's memory access (2023) applefritter.com


January 3, 2024