How I Used My ZX81 to Draw the Iconic OP Logo


A simple graphic animation that draws the Ocean Pacific logo from eighties.

As 2020 wound down, I had a couple of different ideas for new ZX81 programs. Most of them were graphic programs of various sorts. Themes ranged from dumpster fire pictures, an advent calendar, a virus action game, to a solo RPG. Although they were all great ideas, I didn’t think I’d get any complete enough to publish. In the end, I decided to enter in one of my old graphic programs of the Ocean Pacific logo.

Is the ZX81 that slow?

Running the program, I it will bore you quickly watching it draw the O and top of the P. Although the ZX81 had great math routines, it does everything with floating point. This tended to make them slow. The various SIN, COS, TAN and their arc versions being the worst offenders. As such, drawing circles is like watching paint dry.

Fortunately, drawing lines is way faster. The rest of the program almost screams once the circles are draw. I had to fill in a few spots using normal PLOT commands. The text is a PRINT statement, I didn’t bother trying to draw the words. I could have done some better kerning on the P and C of pacific. Outside of that, the logo looks pretty good for an almost 40 year old computer with B/W boxy graphics.

OP, ZX81 Screenshot by Steven Reid, 2020OP, ZX81 Screenshot by Steven Reid, 2020

The original program would print to an attached printer using the COPY command. I still have my printouts floating around somewhere, having laminated a couple. Funny thing is, I don't remember owning any OP clothes. Since I didn’t expect most folks would want to print the logo, I replaced that routine. I added a delay, using some more math, and a screen wipe effect. You can bypass the delay by pressing any key.

No arguments here.

Code wise, you’ll find OP works pretty much like my other drawing programs (Bolt or TS). There are two drawing routines. Starting at 1000, the function that prints a line can be found. Starting at 2000 is a simple circle routine. There is no complex math here. The program is a bunch of LET statements defining arguments, and a GOSUB to the proper function. Oh how simple things were back then. If only the ZX81 supported real functions.

Like my last program, I wrote the program out in a text file first. I then copied it into JSZeddy to compile. I ran into a bit of an issue where the lines with X1 or Y1 needed to be entered again. They displayed correctly, but the ZX81 was giving me an out of memory error when trying to run them. It was an easy fix, but something I’ll have to watch.

There isn’t much else to change.

Outside of the kerning issues I noted above, I could have designed the letters better. The logo itself is decent and doesn’t need improving. I do like how the waves came out. The code might be brute forced, but it works. I could have created an array or something, but it would have meant a lot of typing for no real value.

As the title noted, there isn’t anything I’d do different. And that is the best way to end the year. It is nice to close with a decent ZX81 program from my youth that works well, looks good, and wasn’t too hard to enter.

For 2021, I plan to work on some newer ideas. I have a few larger programs still to enter and share from childhood. Now, I need to make sure I find the time to get them all done.



Comments on this article:

No comments so far.

Write a comment:

Type The Letters You See.
[captcha image][captcha image][captcha image][captcha image][captcha image][captcha image]
not case sensitive