I’m not actually sure when Five To Five was released; there’s a YouTube video which says 1989 in the description and one visitor to Pouet commented about watching it in 1990, but there’s no date on any of the archives I usually grab Atari 8-bit files from. It’s a single-parter produced by Polish game developers Mirage Software – again according to the aforementioned YouTube description, it was put out as a preview for a game that wasn’t actually released – and features solid graphics, a brilliant piece of music by Jakub Husak and some clever use of the Atari 8-bit’s video hardware.
There’s a couple of effects of note, specifically the oscillating snake picture in the middle of the screen and a moving chessboard at the bottom; the latter is simple enough and works in the “traditional” manner which games like Trailblazer employ, having a series of triangles defining the shape and changing two colour registers for each row of squares, making the gaps wider between those colour changes near the bottom of the effect and narrower at the top.
The main effect is also relatively simple in technical terms but the implementation is what sells it; the shape of the Atari 8-bit’s screen is handled by a series of instructions called a display list and these commands can specify which mode is being used for each line of the screen, if horizontal or vertical fine scrolling is enabled and, most importantly in this case, where in memory to start fetching graphics data. There’s one of these memory selection commands for every scanline of the effect and the addresses following them are rewritten based on a sine curve. This technique wasn’t new and had already been used in the past to manipulate the display in programs like Jeff Minter’s Colourspace but the trapezoid frame around the picture adds to the overall effect, making appear to be moving in 3D.
This second screenshot is a glimpse behind the curtain for both effects that appears during the fraction of a second long pause between the display list being enabled and Five To Five‘s main code kicking in. The top of the snake picture is there without any distortion applied – the rest of the image is of course in memory after that part finishes, but the display list doesn’t have instructions to display it – so the shape of the frame more obvious and those triangles I mentioned that are used for the chessboard are visible as well.