Apple ][ -- Riven Graphics Tradeoffs

As always with my Apple II graphics works people second-guess the choices I make.

I tend to do a lot of semi-custom things by hand when converting the graphics. A frequent question is: "Can't you just automate this with a tool?" And of course you can, but I don't always like the results, and also the resulting images often don't compress as well (which matters when you're trying to fit as many as possible on a 140k floppy disk, and since disk is slow they also need to be cached in 48k of RAM).

It's a bit beyond this document to go into the details of Apple II "hi-res" graphics mode, but needless to say Woz extensively optimized the hardware at the expense of programmability. You roughly get 280x192 resolution in 6 colors in an 8k weirdly-interleaved framebuffer. There are all kinds of weird limitations. Really the resolution in color is 140x192, and also each byte holds 3.5 pixels, and those 3.5 pixel chunks can pick one of two palettes (purple/green or blue/orange) with all manner of color clash.

For comparison purposes I will show the results of a few tools. Most people seem to like ii-pix best but it has limitations (it's hard to setup and use and the results often don't compress well).

The various methods showcased are: The results below are with the AppleWin emulator, if I had more time I'd gather results on actual hardware.

The sizes given are the image data compressed with ZX02 compression.

Original Image from the Game
Auto-converted by the Gimp

6689 bytes

5668 bytes
Auto-converted by bmp2dhr

6496 bytes

5241 bytes
Auto-converted by ii-pix

5050 bytes

2172 bytes
Hand-converted by me

4368 bytes

3134 bytes

You might ask are there other ways to create graphics that might be smaller but still look nice?
Back to the Riven-on-a-floppy page