html5 templates

ZX81 HiRes

How to trick the ZX81 into displaying 'HiRes' graphics

How 'Psuedo HiRes' works on a ZX81

A very quick primer on ZX81 HiRes Graphics

The ZX81 was a character based computer and from BASIC you were allowed to print those characters within a 32x22 grid

(there were 2 more lines at the bottom of the screen but they were reserved)


However... it turns out that it's possible to trick the ULA into thinking it is always drawing the top line of a character for each horizontal line it displays. Which allows you to create pseudo Hires Graphics on the ZX81.


In effect, you can take any 256x192 black and white image and display it, or a close approximation of it, on a standard ZX81. 

As you might suspect, it's a little bit more complicated than that...


Making the ULA think that it;s always drawing the top line of a character (for each line it displays) gives you 192 pixels vertically to play with. However, each 8 pixel 'block' it draws horizontally still has to be a 'bit pattern' read somewhere from within the ZX81's 8K ROM.


There can only be 256  of these horizontal 'bit patterns' and they must be read from the ZX81's ROM. 

.

This means you can't just create a bunch of bit patterns in memory and then display them. You have to take an image and find the best match of bit patterns you can within the 8K ROM.


And not just anywhere in the ROM, they must all be within a 2K block with each of the 256 bit patterns being 8 bytes apart.


Note that you can use RAM based patterns on an unexpanded (1K) ZX81, but that introduces other limitations, namely only 1K of memory to write anything in.

   

Essential further Reading

For some essential further reading about ZX81 Hires displays, take a look at Wilf Rigter's in depth description of the ZX81 Video Display System and Steven McDonald's  Hires Routine 


Hardware

The real thing

Is it worth getting hold of a real ZX81 ?

Emulation

Getting as close as you can

Firing up ZX81 programs on your laptop

Development

The how and the why

Toolkits for developing HiRes applications on a real ZX81

ZX81 HiRes

The fun stuff

Quick Primer on the ins and outs of ZX81 HiRes