After building a very, very pricise 68000 core and with some invaluable help from ijor (Jorge Cwik), who reversed-engineered all the st chips from die shots (also know as our kind of person), the ST driver is slowly starting to look like how it should. Still a bunch of problems with in particular the mmu and the 68901, but it's getting somewhere.
But I hear people like screenshots? Ok, then let's have some. What I think was the first megademo on the ST was called the Union Demo, because it was done by a bunch of demomakers (also known as crackers that found more fun in writing the intros they put in front of the cracked games that actually doing the cracking) and not just one. It was also I think once of the first demos with a menu to choose between different screens, which became the norm on the atari for a while.
So here is the intro to the demo. It's moving all over the place, but it's reasonably done with raster-interrupt driven palette-changes. What one usually doesn't know is that demomakers wanted to make it a little difficult to steal their methods, and ex-crackers tend to be decent at protection. So reaching that screen requires making 14 sectors dedicated to protection be happy. So I'm happy to say that our current emulation is good enough to convince the Union demo protection. Sadly the 68901 fails at convincing the Ventura Demo or Punish your machine.
But while the idea of a menu was something new, or at least not usual at the time (we're talking 1988 here)...
... it was amusing to move "charlie" with the joystick to choose a door. You may notice there is something strange going on with the sides of the scrolltext. But one of the two things that really sealed the Union Demo's reputation is the Level 16 screen.
You'll notice that the Level 16 screen looks bigger than the others. That's because it is. It's considered the first stable overscan on the ST. Overscan has a interesting history, it's not something that's supported by the hardware of the st. But due to the fact that the circuit which decides whether to start or stop the display works with equality comparisons and the values compared to depend on the screen frequency (50, 60 or 70Hz) it is possible to mess up with them by perfectly timed changes without breaking the global screen syncs. And the interesting thing is that it was 100% experimental. They built models of how things seemed to work which were incorrect but useful, but what really happens wasn't understood until 2015 with ijor's decapping and analysis. Which ended up with the release of Sync's Closure demo which very much needed that perfect understanding. I haven't even dared trying it yet, I know where the current emulation breaks already.
More posts when more things work :-)