Jon (j_b) wrote,

Atari 8-bit "Archimedes Spiral" demo - Found again!

Sometimes you stumble upon what you were looking for by accident ...

When I was 9 or 10 years old, I didn't have a modem, much less access to the Internet. The few computer magazines I had, I read over and over - and would have to type in games from program listings. I remembered typing in a BASIC program full of complicated math I didn't understand. The resulting program would take hours to run, but produced an impressive 3-D wireframe image. (With hidden line removal!)

7 years ago (mid-2008) I decided to poke around the Internet and ask in various places if anyone had seen it ... with no luck.

I had a bit of luck a year later, and posted my findings here on LiveJournal.

Today I was reading through some .PDFs of old Atari magazines, not even thinking of this, when lo-and-behold, there was the article. Hazzoo-huzzah! It turned out not to be MACE Journal or Compute, but a 1982 issue of ANALOG Computing - #7, the one with the awesome Blade-Runner inspired cover art. Many thanks to Charles Bachand, and editor Lee Pappas for the article!

I wonder if Charles is reachable... and if he remembers where he got the code for the demo...

The image I found before (in a Commodore PET accessory ad) appears in Compute! issue 12 (May 1981)10 (Mar 1981) ... the ad is from Micro Technology Unlimited ... and the May 1981 issue has a screen-dump utility by MTU employee Martin Cohen, author of their Keyword Graphics Package. Hmm! (Neat aside: he thanks Gregory Yob for help in his code!). Other snippets of code floating around the 'net include a "HAT.BAS" claiming "Originally programmed August 1982 by Bourn & Fruhwald", but the Compute! ad invalidates this claim.

Those with too much time on their hands are encouraged to look at the issue on Internet Archive - A.N.A.L.O.G. Computing magazine, issue 7 (1982) pp60-61. (Thanks to Brewster Kahle, Jason Scott, and others for their work there!)

Analog_Computing_07_1982-p60 Analog_Computing_07_1982-p61
A.N.A.L.O.G. Computing magazine, issue 7 (1982) pp60-61
by Charles Bachand

This article contains a graphics program called "Archimedes Spiral". The program, although quite short, takes nearly three hours to run! This is definitely not a quick demo. (To produce the transparent version of the spiral, delete line 240.)(It still looks like a hat to me. Ed.)

110 REM 
130 REM 
140 GRAPHICS 8+16:SETCOLOR 2,0,0
150 XP=144:XR=4.71238905:XF=XR/XP
160 FOR ZI=-64 TO 64
170 ZT=ZI*2.25:ZS=ZT*ZT
180 XL=INT(SQR(20736-ZS)+0.5)
210 YY=(SIN(XT)+SIN(XT*3)*0.4)*56
220 X1=XI+ZI+160:Y1=90-YY+ZI
230 TRAP 250:COLOR 1:PLOT X1,Y1
240 COLOR 0:PLOT X1,Y1+1:DRAWTO X1,191
260 GOTO 260

It would be so much simpler if you could hand out a hardcopy of the graphics to demonstrate your prowess with the computer. Your friends will be doing cartwheels and going hazoo-huzzah over your printing expertise. (Hazoo-huzzah?! Ed.)

(Ed. Note: No one here at A.N.A.L.O.G is responsihle for Charlie's state of mind when he writes these non-tutorials. Just thought you people would like to know.)

  • Post a new comment


    default userpic

    Your IP address will be recorded 

  • 1 comment
Hi Jon,

Sorry to take so long getting back to you. LinkedIn delivered your message about having found this, almost two months ago, and I am only just now getting a chance to reply.

Very cool that you found this! I of course remember talking to you about it -- in 2008, it must have been --, and taking quite a while to find it for you in my disks, and I don't remember whether I ever managed to follow through with delivery. If I didn't, and this is the first time you've found it ("at long last!"), I'm that much happier for you.

Googling for "Archimedes Spiral" confirms my intuition that *this* isn't *that*. Not sure what the proper name of this hat-shaped thing is. Maybe this program evolved from an earlier form that really did do an Archimedes Spiral, and they simply never renamed it or edited the comments.

As for "where to find the math" for this sort of thing, well, pick any mathematical expression that produces "Z as a function of X and Y" -- that is, "height above the paper" for every (X,Y) point *on* a sheet of graph paper. The program just iterates across the paper, so to speak, computes the height at each point, and arranges to render the results as you see them. What would also be interesting would be to split the math stuff out from the display stuff -- say by writing the calculated values to a file and then later reading that file to display them. Displaying precomputed data from a file would be *a lot* faster than calculati g-as-we-go-along. Multiple different display prpgrams -- or the same program with different parameters -- could render the data in a multitude of different styles. These same rendering programs could display data of the same format but generated by different variants of the computation program. The data could be sent to a different computer for display there -- or a different computer could compute data fire display on the Atari. It goes on and on, and pretty soon you've reinvented the general-purpose graphing software package. And only forty years late! ;-)