Getting cycle-accurate mid-screen mode switches on the Apple II

This is fraught with peril. Don Lancaster has some hints in some of his articles. The safest thing to do is not do it. If you have to do it, try to have both screens black when it happens. The II+ likely switches a cycle faster than the IIe does. The IIe tends to have less glitching.
The Megademo was about 3 months of work, and even then I was fixing things at the last minute. Just hours before I turned things in I fixed a major vertical-off-by-one scaline glitch, as well as an irregular issue with the text in the fireworks (that last one was caused by the tail end of the random number generator code slipping into a different page).
In any case I had to ship it with a few last glitches on real hardware, as seen below. I do plan to fix this and release a newer version.

The C64, mid-screen Hires/Text switch

IIeII+Applewin IIe with 1-cycle delayApplewin w 1-cycle delay
I'm not really sure what the II+ is doing here. You can't tell from the image but there is blinky text along the one edge.

The Starring Scenes, mid-screen Lores/Hires switch

IIeII+Applewin IIe with 1-cycle delayApplewin w 1-cycle delay
Note that Applewin seems to be a cycle fast here. Adjusting by one cycle on the IIe makes the line green! This is because Lores-grey is $55; the lores value is being read just before the mode switch, and when you draw $55 in hires it is green.

The E-mail Scene, mid-screen Text/Lores switch

IIeII+Applewin IIe with 1-cycle delayApplewin w 1-cycle delay
I think I can adjust things to work on the IIe, not sure why on the II+ the PAGE1/PAGE2 lines are offset. Also if I try to shift things earlier the color-killer gets triggered by being in text mode during HBLANK.

The Waterfall Scene, mid-screen Lores Page1/Page2 switch

IIeII+Applewin IIe with 1-cycle delayApplewin w 1-cycle delay
Off by one cycle on real hardware, this one should be a straightforward fix.

The Spacebars Scene, mid-screen Hires/Lores/Hires switch

IIeII+Applewin IIe with 1-cycle delayApplewin w 1-cycle delay
I am not sure if it's possible to fix this one on the II+.

The Fireworks Scene, mid-screen Lores/Text switch

IIeII+Applewin IIe with 1-cycle delayApplewin w 1-cycle delay
Hopefully this is just a matter of delaying things a cycle on the II+.
Back to Apple II Megademo page