harkening back to the old days... (nostalgia about BASIC)


when i was a wee young lad, back in the early days of the 19 and 80's, a company called Tandy was making these marvellous machines called Color Computers. i got a Color Computer 2 for christmas. the Color Computer 2 was a lesser-known competitor of the Commadore 64, a small machine with 64K of memory (period), extendable with rom cartridges and external floppy drives, and the omnipresent cassette tape drive. the computer consisted of one unit which looked about like an overgrown keyboard for a modern PC --- this unit had output which you fed to an RF switch and then into your color TV. here's an imitated screen shot:

EXTENDED COLOR BASIC 2.0.       
© 1980 TANDY
OK
> NEW
> PRINT HI
HI
> 10 PRINT MY NAME IS MUDD;
> 20 GOTO 10
> RUN
MY NAME IS MUDDMY NAME IS MUDDMY
 NAME IS MUDDMY NAME IS MUDDMY N
AME IS MUDDMY NAME IS MUDDMY NAM
E IS MUDDMY NAME IS MUDDMY NAME 
IS MUDDMY NAME IS MUDDMY NAME IS
 MUDDMY NAME IS MUDDMY NAME IS M
UDDMY NAME IS MUDDMY NAME IS MUD
DMY NAME IS MUDDMY NAME IS MUDDM
>_
since the CoCo hooked up to a television, it actually had a tv's aspect ratio -- but the text screen was only 32x16 characters! strangely enough, i can't find a web-popular typeface with a sufficiently stupid size to simulate this correctly.
i don't know the actual version number for the color computer 2...

i guess you could call it "charming"... in all honesty, it's an unbearable eyesore. i had always heard that the green was supposed to be better for your eyes, but the green-on-black tvi910p terminals i found my freshman year at UK were much easier to stare at for hours on end than the Tandy monstrosities of my youth. "what?" you ask, "`tvi910p'? are you just spouting off gobbledygook, now?" no... the tvi910p was one of the nifty little one-piece, curvy-plastic terminals which connected UK students to the PRIME mainframe. actually, we connected to a subnet and could "enter NET-ONE commands" such as "connect prime" or "connect ukcc". we had green on black, orange on black, and ultra-modern blue on black (if you were lucky). i learned to use "the stevie editor" (a nasty vi clone) in my first official programming class, learning FORTRAN and C in 1993 -- yes, we were still using a PRIME in 1993!! but i digress.

the Color Computer 2 had very little in the way of an operating system; in fact, its command shell was actually a BASIC interpreter. the manual for the book told how to turn the machine on and how to play games that came in ROM cartridges, and then launched full-bore into a tutorial on how to write programs in the Beginner's All-purpose Symbolic Instruction Code. well, hey, i thought this was great! this was my introduction to computing. i thought that by hacking away a few thousand lines of BASIC code i could be just as cool as matthew broderick in War Games... little did i know that to do anything remotely useful on my poor machine required delving into the "machine language" so fleetingly mentioned in the back of the instruction manual. all these years later i realize that the Color Computer 2 was actually something for full-grown hobbyists, engineers and computer scientists and other such brainiacs. well, maybe it's what made me a brainiac and an engineer...

at any rate, this poor little machine gave me my original taste of the programming world, and here i am about fifteen years later going strong.

so why am i thinking of this? well, i ran across something when i was home over the holidays... a writing portfolio from my senior year in high school. the '92-'93 year was one of kentucky's experimental years with the Kentucky Education Reform Act --- something i resentfully consider an extreme waste of students' and teachers' time, and an exploration of the failed ideas of other states. that was then... i wouldn't know about now. all that matters is that the schools in kentucky sucked, and the legislature thought they could make it better by passing a reform law. part of this law entailed making a writing portfolio in every class, even the ones like calculus for which a relevant and decent writing assignment is a particularly long stretch for a teacher to conjure. but, it was law, and we were stuck with it. in fact, since it was the first year, we were the class that would set the baseline for the school; all subsequent class had to to better than we, but we couldn't throw the tests (to make the going easier for the later classes), because if a school did less than so well, they lost their money. (how much sense does that make?!? cut off the funding to the ones in need?!?) no pressure, eh? so, we students had to create writing portfolios. note that this was completely mandatory for every student in the school, many of whom hadn't written a sentence in their lives, but was not to be graded. the teachers couldn't correct the work. some state board "objectively" reviewed the portfolios after the names and all references to geography and school had been effaced.

anyway, i found my senior writing portfolio (or maybe the spare copies of its contents, i guess), and read through it. one word: "OUCH." it stank, completely reeked of "i don't give a damn about this," and "i'm a high school student who thinks he can write well," and, in the later stuff, "i know i'm going to college next year, so fuck you all!" it overflowed with painful passive voice, corny and implausible hyperbole and vaudville-ish humor, and that sappy sentimentalism and self-importance with which egotistical-yet-unconfident high schoolers write. but one thing stuck out: the cross-disciplinary project. i had chosen to get out of a boring assignment by joining math, physics, and computer science with (an incredibly microscopic portion of) literature, in a rather demented composition i called "excerpts from the diary of a mad scientist." written in diary style with about 5 daily entries, it told the story of an unnamed young mad scientist (a high school junior, of course) seeking revenge on his evil and (obviously) intellectually inferior literature teacher, Miss Crabmeister. the nameless protagonist uses haughty and comically stilted language, not unlike the main character on Dexter's Laboratory. the plot, as you may expect, makes only a minimal appearance, almost a cameo:

the young mad scientist, irate at miss crabmeister for calling erich von danieken insane, plots to retaliate by hitting the blasphemous woman with a spitwad. however, "merely throwing it is beneath me. i must devise an ingenious contraption which will fire my projectile at her!" he goes on to find the equation for acceleration, which, when differentiated (there's the calculus) yields the equations for velocity and position. coupling these three with gravity (there's the physics) gives the means for calculating trajectories. he writes a computer program to calculate the proper angle, and makes a test fire. however, the first shot goes astray, since the apex of the trajectory of his chosen angle lay far above the ceiling. luckily, this is a quirk of algebra in quadratic equations (more than one answer to the problem), so he fires again the next day. the first shot at the new angle gets blocked "by the tall bangs of the girl who sits in front of me. it did not go largely unnoticed, but susie will walk again." (dark humor, anyone?) the second shot hits the money, and lands him in detention, where he writes the last entry.

yes, yes, i told you it was terrible... but the point is that i actually did all the programming and calculating that the story mentioned. in fact, i found the program attached to story. i wrote it in BASIC, originally for my Color Computer, but ported it to the BASIC used on DOS3.3 on the school's highly advanced (that's sarcasm again) IBM PC2/5 setup. it drew the trajectories as it calculated them, otherwise it would've been too short and boring... but this short program took almost two hours to execute!!!

and, now, the point of this whole writing: the oldest preserved program i ever wrote... it's embarassingly bad and spaghetti-like, but, hey, it's just like seeing those old baby pictures...


1 DIM HITSX(255), HITSY(255),HITSALPHA(255),HITTIME(255)
2 HIT#=0
5 F$="##.##     ##.##"
10 SCREEN 2
11 KEYOFF
20 CLS
30 GRAVITY = 32
35 INPUT "Initial velocity in feet per seciond";VELOCITY
36 INPUT "horizontal distance to target in feet";TARGETX
37 INPUT "vertical distance to target in feet";TARGETY
38 INPUT "initial testing angle(alpha) in radians";A
39 PRINT:PRINT:INPUT "Press <ENTER> to continue and <S> to quit ";A$
40 FOR ALPHA = A TO 157 STEP 01
50	CLS:LOCATE 3,30:PRINT "alpha=";ALPHA
55	LOCATE 4,30:PRINT "x","y"
60	CIRCLE ((TARGETX * 10),(100-TARGETY)),2
70	FOR TIME = 0 TO 2 STEP 0.001
80		X = (VELOCITY * COS(ALPHA)) * TIME
90		Y = (VELOCITY * SIN(ALPHA)) * TIME - .5 * GRAVITY * TIME^2
95		IF Y< -1 THEN 120
100		PSET((x*10),100-y)
102		LOCATE 5,30:PRINT USING F$;X,Y
105		IF (X > (TARGETX-.1)) AND (X < (TARGETX+.1)) THEN
			IF (Y > (TARGETY-.1)) AND (Y < (TARGETY+.1)) THEN
				GOSUB 500
107		IF (INKEY$ = "S" OR INKEY$ = "s") THEN S=1: GOTO 200
110	NEXT TIME
120 NEXT ALPHA
125 GOTO 200
126 '
127 '
200 BEEP:BEEP:BEEP
210 CLS
220 LRPINT:IF S = 1 THEN LPRINT "Experiment aborted --- loop executed";((ALPHA-A)*100);"times" ELSE LPRINT "Experiment completed"
230 LPRINT:LPRINT"target's (x,y)             initial velocity"
235 F$=" (##.##,####)                 ##.##"
240 LPRINT USING F$;TARGETX,TARGETY,VELOCITY
250 IF HIT# = 0 THEN LPRINT "no hits recorded":END
260 LPRINT:LPRINT HIT#;"hits recorded"
265 LPRINT "firing angle             hit (x,y)              time"
266 F$=  "  ##.##                (##.##,##.##)           #.###"
270 FOR W = 1 TO HIT#
280	LPRINT USING F$; HITSALPHA(W),HITSX(W),HITSY(W),HITTIME(W)
290 NEXT W
490 END
500 BEEP
505 LOCATE 1.10:PRINT"target hit at ";TIME
510 FOR Q = 1 TO 500: NEXT Q
520 HIT# = HIT# + 1
530 HITSALPHA(HIT#) = ALPHA
540 HITSX(HIT#) = X
550 HITSY(HIT#) = Y
560 HITTIME(HIT#) = TIME
570 LOCATE 1,10:PRINT
580 RETURN

(syntax highlighting on the BASIC code courtesy of gvim5)


erich von daniken was a real guy. he wrote chariots of the gods, among other books. in the days of middle school, chariots of the gods fascinated me and my (later wiccan) best friend with its seemingly endless proof that the figure we perceive as god is actually visiting aliens. there are mayan and incan drawings which amazingly resemble rocketships, mesopotamian drawings and sculptures depicting people in attire which remarkably resembles the space suits of today... what other purpose could the incan drawings serve than alien landing pads? honestly, the book is really interesting, even if the ideas are crazy, because after a while it seems pretty erie... one day i may even find a hyperlink to it.


4 january 1999


addendum --- i read a comment on /. by another former color computer user who said something to the effect of (<paraphrase>) "...tandy's color basic (wow, a good micro$oft product!" (</paraphrase>). can anyone confirm this? my old color computer manuals are hours away and stored in boxes that haven't seen daylight for years, so i can't check for myself, but i may have a mental crisis if this turns out to be true... well, not really.

and hey --- this may be the most important thing --- i found a link to chariots of the gods at amazon.com!! rest assured that the absolute best part is the customer reviews! here are some highlights: "So bad, it's good!" "The book is ridiculous, absurd and deserves our attention if not for the simple fact that serious people are paying attention." "i did a book-report on it when i was i the sixth grade (1976). everyone in my class thought i was nuts, i wasn't. just open-minded." "Typical conspericy [sic] theorist, ignor [sic] the facts and scream "The sky is falling"! Someone might believe you! " ahh, exactly as i remember it...

22 february 1999


addendum --- finally found my old tandy manuals. brought back the hardware, too, with plans to unleash its software eventually. (can't wait to play "madness and the minotaur" again, if that cassette hasn't been erased after all these years.) the extended color basic language does indeed bear the stamp of micro$oft. how strange. an interesting part, tho', is that i discovered many things i'd forgotten, such as the insanely small text page aspect ratio (32x16), and the fact that the manual shows 1980 as a copyright date for extended color basic. so i updated my simulated screenshot...

3 may 1999