Apple II Cycle-Counting Fireworks Demo

A cycle-counting fireworks demo for the Apple II. The binary is under 4k in size, I possibly could get in down closer to 2k with a little work.


You can get the disk image here: fireworks.dsk (140k) 20 September 2018

The souce code can be found on github in the repository in the vaporlock/fireworks directory.


Screen capture on a IIe:


Random devel notes

This demo is doing cycle counting. The top part of the screen is HGR, the bottom is PAGE0/PAGE1 every-other-line LORES, and then the bottom right of the screen is text mode, also interleaved PAGE0/PAGE1 as can be seen when the text slides in.

The actual fireworks code (with the neat NTSC artifact colors) is based on a BASIC program by FozzTexx which you can find here. I had to write cycle-invariant HPLOT which was fun. The BASIC version uses HPLOT TO (lines, rather than points) and I gave up and didn't bother trying to make that invariant.

This has my new and improved vapor lock code that's trying to get exact cycle-perfect vapor lock.

This works on a real Apple IIe Platinum, and in Applewin. (Though it took a while to figure out an issue where the IIe + II+ had different results, as II+ adds $1000 to the HBLANK scan addresses).

There is still a glitch on the real-world Apple II+ though (which doesn't happen in AppleWin), working on tracking down why and how it can be fixed. You can see it in this picture next to the text. Don Lancaster mentions something about the timing of mode switches on the II vs IIe, maybe this is related.

Back to my Apple2 page