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
IIe | II+ | Applewin |
IIe with 1-cycle delay | Applewin 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
IIe | II+ | Applewin |
IIe with 1-cycle delay | Applewin 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
IIe | II+ | Applewin |
IIe with 1-cycle delay | Applewin 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
IIe | II+ | Applewin |
IIe with 1-cycle delay | Applewin 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
IIe | II+ | Applewin |
IIe with 1-cycle delay | Applewin 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
IIe | II+ | Applewin |
IIe with 1-cycle delay | Applewin w 1-cycle delay |
|
|
|
Hopefully this is just a matter of delaying things a cycle on the II+.
Back to Apple II Megademo page