48
Who was the Idiot Savant in our school? I finally figured it
out...
At the start of Sophomore year, the school's computer remained in the
teachers' lounge, but now with two new, important features: It had a
cassette tape recorder/player, and it had been upgraded to a Level II
BASIC machine with sixteen kilobytes of memory.
Oh, baby! But as I soon found out, Level II
BASIC was a significantly different language than the original Level
I and a number of the earlier coding tricks no longer worked. I
asked the math department head, Zack Hatch, if they had a manual for
Level II, the answer was 'yes' and he showed me where it was
kept in the shelves above his desk, but unlike the Level I
manual which had a stick figure computer walking you through
examples, the new manual just had command and function names with a
brief description that was lacking any context or examples. At
first, not knowing what to do, I was stumped. Then it finally
occurred to me to use the computer itself and experiment.
Jonathan and Luke no longer shared a study period with me but this
worked out well as I could spend a whole period fiddling with just
one function until I learned it, without having to worry about
wasting my friends' time. Once I got my money machine card, and
could access my savings again, I pulled out a little money and bought
a copy of the Level II BASIC manual for myself so I could review
it outside of that one study period per school day. Still, that
wasn't enough and on the nights when the late bus was running, I
would stay after school to continue using the computer to finally
crack the nut on the new language variation and begin converting my
old programs to run in the new code.
By the end of October I had done it and was creating new games again
as well as converting the old Level I games we had gotten from
magazines. Once done, I would save an extra copy to tape to let
Jonathan and Luke play them when they could. By November I'd gotten
a reputation as the one to go to for help with the computer.
Once a student found me between classes and asked me if I could give
him a game to run on the computer, no not a tape, but write one down
before classes resumed in three minutes. I compromised and said I
could tell him the code if he wrote it down. He agreed and I rattled
off the shortest, yet fun, game I had come up with from memory.
After the next class was done I caught him in the halls and asked if
it worked. He said it did and he enjoyed it. Another student asked
me if I could teach him how to do graphics on the machine and I spent
a period showing him how, only to find him using that new skill to
create Swastikas... Was it a good thing that I had taught him
how? I still debate that.
Of the various games I'd created, there was the original 'Master
Mind' game clone. The simple but fun 'A,B,C' game had three letters
dropping down from the top of the screen, your gun was centered on
the left and you fired horizontally to hit them as they fell; 'A' was
slow and easy, 'B' was fast and harder, and 'C' was fastest with a
random variation. The game seemed deceptively simple with shooting
at the 'A', but to get a good score you had to hit the 'B' and 'C'.
The highest possible score was achieved by dodging the falling 'A'
and 'B' all together and going for the 'C', yet given the time it
took for your shot to make it across the screen, you had to
anticipate its random factor in order to hit it.
'Fleet Of Foot', named by my eldest brother, had you as a dot running
down an ever narrowing hallway. Being shot at from the narrow end,
you had to dodge the timed, though randomly aimed shots, until you
reached the tip of the hallway and captured the gun. I could never
get my original Atari tank battle clone game to work fast enough to
be playable, though I did get it to work finally, logic-wise. By the
turn of the year I cranked out 'Depth Charge', another two player
game where one player moved a submarine around while another had a
fixed paced, right to left, P.T. Boat above that could drop one depth
charge per repetitive pass. The trick with that game was to use the
charges to scare the submarine into one side of the screen then aim
for the tip of the submarine furthest from that edge forcing the
player to slowly dive as well as move right or left away from the
edge, often unsuccessfully.
Toward the end of the calendar year, I dubbed myself 'A Computer
Programming Genius' in the tenor of 'An Idiot Savant', while I knew
some people had a low opinion of me when it came to other subjects,
in the case of computers I had no doubt that I was pretty sharp. My
new found self esteem in this area was challenged when I went to
Colorado for Christmas and Jeff had shown me games far surpassing
anything I could come up with to date. When I returned home, I
decided I needed to up my game.
But the school's computer also had some fun during the Christmas
break. Given how expensive it had become with the recent upgrades,
the administration felt nervous about it being in the open concept
space; even though it was in the teacher's lounge, there were many
ways in and out of it without going through a door or passing a
teacher. Thus a small room had been built by the second entry
hallway next to the gymnasium. This room served two purposes, one
wall was a place for a teacher's work desk, as there was no longer
enough room in the teacher's work area for a new teacher joining the
school, and the other blank wall was a table for the computer. Being
in this room meant it was locked, and rather than having a note to
use the computer, students now had to get the key and return it once
the period was done. This new room was a double edged sword, it gave
us more privacy while we had fun playing games, but we could no
longer entice passing students into trying out the computer for
themselves. The new place for the computer came with a new
guideline, games were discouraged. But, hey, they put the computer
in a room with a locking door, what
were they expecting?
Still, prompted by this new guideline I did broaden my interests by
creating a program to conjugate Spanish verbs. Basically you type in
the infinitive version of the verb, it would check it against a list
of known irregular verbs and, if matching, pop out the answers for
that irregular verb. Otherwise it would pass the word to the
standardized conversion routine. This impressed the teachers as,
being a text based program, it could easily be adjusted for French
and Latin. I suppose I could have had it do English as well, but
we already knew all those words! Then there was the run of
making data storing and listing programs. One version was to place
all the information into the program itself. While this was a good
way of quickly testing what your program did with that data, it
wasn't very practical when new data had to be entered or old data
removed as it meant changing the program itself. The solution was
the other approach to the program where you saved and loaded the data
to tape... But god, it was slow loading and
saving data to a cassette tape. Let's see if I can do the math
right, sixteen kilobytes of RAM, with, say five kilobytes for the
program itself you could have ten thousand kilobytes of data which
would take about four minutes to load and save through the five
hundred baud cassette interface! And you thought your device was
slow.
Out of the blue, in early Nineteen Eighty, Zack Hatch came to me and
asked if I'd like to join him that weekend on a trip to a computer
fair. I did and he picked me up at my home and off we went. I
assumed he'd bring his son Pete as well but, apparently while Pete
liked to play the resulting games, he wasn't interested in the
computers themselves and how to code them.
The fair was at another school building elsewhere in the state and I
was there with about fifty other kids. Being Trash-80 focused, I
toured the rooms but, as I'd been spoiled seeing many of the cutting
edge programs at my new friend's, Jeff's, house in Colorado, I
instead settled down at one of the unused machines and popped in my
latest work in progress, a Trash-80 version of a popular coin
operated video game at the time. Soon I had about ten kids
surrounding me as I continued to refine the program. I'd run it for
a bit, find a hiccup in it, show the kids what had caused the hiccup
and brainstorm in front of them on how to resolve it, type in the
updated code and rerun it and we learned together if that coding fix
worked or not.
I did this for a couple hours, then once the game was working well
enough, I excused myself from the group, allowing those kids to play
the resulting game while I took another look around the rooms for
anything new. When I returned, more kids had arrived at the computer
to play and Zack and another adult had been drawn there as well. One
of the kids pointed to me. Zack wanted to know where I had gotten
the new game from, I opened the ruled lined notebook I had brought
with me and showed him my hand scrawling of code. He and the
other guy seemed very impressed. As the computer I had
typed it into didn't have a cassette recorder, once the end of the
fair approached three kids at the computer furiously started to list
the code I had put in and copy it down into their own notebooks. I
was positively beaming with pride on the way home.
Zack took me to another computer fair that Spring, though this one
was in another state and had fewer attendees. But this turned out
good for me as it had a variety of computers to play with rather than
being Trash-80 focused. These included the Apple II and the
Commodore PET. They had different games than the ones I'd been use
to seeing on the Trash-80 and after playing with them for a bit, I
broke open the source code and scrolled through it for their new
patterns of code. It turned out, like with the upgrade from
Level I to Level II on the computer I knew, the BASIC coding language
on these computers also had their own variations of the syntax.
After about two hours of looking over all this code, Zack decided he
wanted to leave early as there wasn't as much to see or do. While
the first fair had been a huge self esteem booster, the second one
had actually been better for me as I realized there was a bigger
world out there than just the Trash-80.
At the end of the school year I was revving to return to Colorado for
the summer break and discover what new programs Jeff would have and
also show him the new games I had completed in the past six months.
I was also gearing up to show off my work to Ralph at the local Radio
Shack, there, and return to visiting the store a few times a week to
try out my code.
But there was a wrinkle to that last bit...
No comments:
Post a Comment