Hi there!

noglin here... 2023 I decided to make a demo for my first mac: Macintosh Performa 5200.

Today 2024-08-02 it will be shown at Assembly. 

The Macintosh Performa 5200 has a PowerPC 603 at 75 MHz and a 37.5 MHz bus. 

This is quite alright but the problem is it only has 640x480 mode, which is too many pixels to do anything nice. So you do 320x240 but then you spend all your cycles on upscaling, or you do interlaced.

I suspected there was a way to get 2x upscaling for free, because it supports a TV card that upscales 320x240. I tried a lot of ways to write all over vram to see if I could impact the pixels shown. Finally, I found out by asking on 68kmla.org, that Marathon 2 had this 2x upscaling and used the Valkyrie chip. This was never documented anywhere, and Bungie must have gotten the engineer specification.

Reading the register names and addresses and it was clear how to do it. This was great.

You get two vram video pages at 320x240x16 bit, and can write to a register to say which one is active, and it will upscale it to 640x480. The screen buffer is still 640x480 but at 8 bit, and a specific pixel value in that screen buffer will let Valkyrie decide if it will show the current video buffer 320x240 upscaled.

This opened up a lot of possibilities, now finally all those cycles that would have been wasted on upscaling (or doing dithering) could be used for something fun, and the page flip allows it to be tear free. 

I was so excited. Blackis my friend since long time, his first mac was also a Performa 5200 and I shared this "secret" with him and I think he got pretty excited too.

In the hacker spirit, I am sharing all this as public domain. I hope you will make a demo and something fun with it :)

If you need to make a video capture for a Macintosh Performa 5200 demo, feel free to reach out, I can do it for you.
