• Commodore Free Magazine, Issue 88 - Part 8

    From Stephen Walsh@39:901/280 to All on Wed Jul 1 16:56:33 2015
    ge built in. BASIC
    was a mystery to me and for weeks I had little comprehension as to how it worked. I knew how to LIST a program, which I did out of curiosity before running any program. Even to this day if I use a Commodore emulator, I'll
    type LIST just to see what language the program is written in and what
    program might have been used to compress it or compile it.

    Not knowing how BASIC operated, I remember one of my very first attempts at using the BASIC language went something like this:

    10 to the computer, print a border ar
    ound the screen 20 place random boxes inside the bord
    er of the screen

    Needless to say this approach failed. While I understood the concept of
    line numbers, which the computer executed from lowest to highest, the BASIC language would be a learning curve for me. It took time to learn commands
    such as the PRINT and INPUT. We had no documentation on how to use the PET
    at the time.

    I remember one day I was trying some elementary BASIC coding and hearing a student ask the teacher, "Sir, how do you turn off reverse field?" I had absolutely no idea what reverse field was, and hearing that made me quite frustrated. What was reverse field? Oh man, I'm never going to learn how
    to use this computer. For those who are unfamiliar with BASIC, reverse
    field is simply text shown in reverse highlight, or a reverse image of
    itself. For example pressing SPACE in reverse field would create a sold square.

    Well, I stuck it out - and went on to learn how to use Reverse Field. I mastered the GOSUB and RETURN commands, the POKE AND PEEK commands, FOR
    NEXT loops, and READ/DATA. I created the same elementary program that
    we've all created at one time or another - the random number guesser.

    10 PRINT "PICK A NUMBER FROM 1 TO 10"
    20 N = INT(RND(1)*10) 30 INPUT A 40
    IF A > N THEN PRINT "TOO HIGH": GO
    TO 30
    50 IF A<N THEN PRINT "TOO LOW": GOTO3
    0
    60 IF A= N THEN PRINT "YOU GOT IT"
    70 END

    PEEK and POKE took some time to comprehend. I knew how to POKE an asterisk
    on the screen with POKE 32768,42 but I couldn't understand how PEEK worked. PEEK 32768, 42 just wasn't working for me. It would take some examination
    of other programs to learn that the proper method to read a location was
    PRINT PEEK(32768). Learning PEEK and POKE was essential for any decent
    game that you were looking to create.

    BASIC was, as the name implies, quite simple to learn and while not a very
    fast language it accomplished many tasks for early Commodore users. BASIC
    was used to create adventure games, simple graphic games such as Miner, educational programs and it was used in bulletin board systems (BBS).

    Software for the PET wasn't easy to acquire, for during the early 1980's
    tapes were either mailed through the post office or hand delivered. You
    could imagine the excitement when our teacher walked into school with some
    new cassette tapes full of games! There was no downloading of games
    because there were no modems at the time for the PET let alone a local
    Bulletin Board System (BBS) we could dial into.

    Space Invaders was a student favourite. On our last day of Grade 8 classes
    our teacher wheeled a PET into our classroom for us to play. I believe I
    was the Space Invaders champ of the day.

    The Commodore PET was something that either ended up attracting students, arousing casual interest or was of no interest at all to students. Young
    girls tended to avoid using the PET while the athletic students might only
    play a casual game or two during free class time. It was the 'geeks' that gravitated toward the PET. By 'geek' I'm not referring to the
    stereotypical boy with large glasses, but rather the young men who were fascinated with this new technology and who lived for it. They wrote out
    games on paper which they'd then type into the computer. They stayed after school to play games and to program. They played dungeons and Dragons on weekends. They also went on to very successful jobs in computer software
    and information technology.

    With so little software available on the PET computer, many users resorted
    to writing their own software. This took some learning and some trial and error but it also brought about results. I remember playing a game in the arcade where you'd explore various rooms and encounter different enemies,
    while picking up treasure. Having acquired the skills for BASIC, I sat
    down one summer and began typing away the code to recreate the arcade game
    on the Commodore PET. Sure, it ran much slower than the arcade game as
    BASIC was a slower language, but it was something that I'd created on my
    own using my own imagination.

    Some of the software that made its way to our classroom contained some mysteries of their own:

    One particular game that's always amazed me was Space Invaders. The game
    was written entirely in 6502 machine code (the native language of the PET)
    and played just like the arcade game did. It was the type of game that you could have written and played it against yourself and still found it challenging. Not only did the programming amaze me but the fact that
    whoever wrote this game did so in the very early days of the PET years,
    surely they'd had prior experience in programming 6502. Why didn't they
    put their name in the game for credit? What was their programming
    background?

    When you loaded the game Night Driver for the PET, it read "Created by J. Suzuki HM-1020". For years I've wondered what the significance of the
    HM-1020 was. I used to think that it meant home room 1020, now I think it
    may have been a college course code. I was intrigued that somewhere out
    there in the world there may have been an actual class held where students learned how to program machine language. Was Night Driver a student's
    project and if so were there other student games like it?

    PET's were not only being used in elementary classes but also universities.
    The University of Waterloo in particular had some very talented Commodore
    PET programmers. The university assisted in the development of the
    SuperPET. Jim Summers, the author of some the greatest PET games ever such
    as Star Spores and Slime also attended Waterloo University. If you Google
    it, there's an interview I did with Jim where he discusses his early PET
    days.

    In 1978 the Toronto Pet Users Group (TPUG) was founded with the intention
    of bringing together Commodore owners through monthly meetings. TPUG maintained a library of public domain software. If you'd created a word processor or a recipe organizer, you could submit it to TPUG where it would
    be shared by other members. TPUG software was great for the home user. I remember people lining up at our local chapter meetings to purchase a disk
    full of TPUG software. Of course this was shareware, not commercial and I found much of it not very exciting. I was always looking for the 'cracked' commercial software - and on that note so were many adults. TPUG's
    membership would reach almost 20,000 users worldwide by the mid 1980's.

    TPUG also released a monthly magazine and occasional newsletters. Inside
    the magazine readers might find BASIC programs that they could type into
    their own computers. Jim Butterfield was a regular contributor to the TPUG magazine. Jim was a great wealth of knowledge when it came to BASIC and
    6502 machine code. His articles were beneficial in helping many people
    learn machine language.

    The Commodore PET was primarily a school computer, far too expensive for a beginner home computer. Some teenagers like myself had teachers for
    parents and were fortunate enough to bring these machines home for the
    summer when the schools were vacant. Many nights were spent in our
    basement hacking away on the PET as we created some new universe to take ourselves to, or to battle Klingons.

    The PET was also featured in a television series. In 1983 TV Ontario aired
    a program called Bits and Bytes which featured Luba Goy and Billy Van. In
    the series, Luba would walk Billy through the process of loading software
    into a PET as well as taking him through some basic programming. Today
    you're not likely to find any television programs dedicated to learning how
    to program, that's best left to the huge assortment of pricey books at your local Chapter's.

    1. This is something that I pity the current young generation for. They
    know how to load albums onto their I-Pods, they know how to text message
    and they can use Instagram to tag a photo with 80 hashtags - but they don't know how to use their imagination! By sitting down with a goal in mind,
    and typing on a keyboard, we could literally invent a new game much the way
    a painter could paint a portrait using his hands. If you required a recipe book, a program to track your expenses, or a database of phone numbers all
    you had to do was sit down and CREATE it. There was no downloading of applications, no purchasing of software, no trial ware, no pop up ads -
    just one's own imagination. If you required help on programming, there
    were dozens of back issues of magazines covering BASIC programming and Commodore computers.

    From 1980 until about 1982 I met only two people outside of school who introduced me to new PET games - one was my neighbour and the other was a university student I'd met in a Radio Shack store. You have to remember
    that during this period Commodore programmers were quite isolated. There wasn't an internet or local gaming groups at the time and regional TPUG chapters didn't exist until much later.

    When I started junior high school in 1982, their computer room contained
    PET computers. The classroom had approximately 20 computers connected by a shared disk drive. Yes, I'd graduated to an actual disk drive which made loading software so much faster. One of the first programs I wrote in high school was a 'graffiti wall' which allowed the students at their computer
    to leave a message on the 'wall' which could be read by others at their computers. It was Facebook circa 1982. The wall was really just a
    SEQ-uential file and eventually it would become too large and would need to
    be deleted. There was no Zuckerberg behind this social wall, just a few
    dozen lines of code on a PET disk drive to "social network" the different students together.

    Teachers and students would often share BASIC programming tips with one another, there was no age barrier in the Commodore world. The junior high computer teacher had his class do projects about the Commodore computer
    which were then presented to the classroom.

    A few years later the PETs disappeared from our classroom and were replaced
    by Unisys ICON computers (yuck). They stopped teaching BASIC and things
    became very boring. I've often wondered where those old PET computers
    ended up.

    THE VIC 20

    In 1980 Commodore released the VIC-20 home computer. The VIC-20 had a mere
    5k of memory, a 22 character wide screen and one joystick port. The VIC-20
    was an affordable home computer and was marketed by Commodore on television with ads featuring William Shatner. By 1982 approximately one million
    VIC-20's had been sold. These machines were available in chain stores such
    as K-Mart.

    2. People who'd learned BASIC or machine language (6502 code) on the
    Commodore PET were able to port their skills over to the new machine. As a result there was less of a learning curve for people to create new software
    on the Vic-20 than on the Commodore PET.

    By now there were more computer magazines on the store shelves that catered
    to the home computer user. Some of these magazines included Compute! RUN, Ahoy! And Commodore Power Play. Now it was possible to create a game and
    have it published in a magazine for thousands of other people to be able to play. It might take hours to type in the many pages of code and mistyping
    one character might mean the difference between a fully working game and
    one that crashed. It could be frustrating going over five pages of printed text to see where you'd made an error. Some programs were pure BASIC, some were a mix of BASIC and machine language and some were pure machine
    language. Machine language was used for things such as smooth scrolling, playing music and other effects that were necessary to occur at a precise interval.

    In December of 1983 Compute! Magazine introduced MLX. MLX was an editor program that you typed into your computer once, and saved. If an author
    wanted to publish a machine language program in a future issue of Compute! Magazine their program would be listed in MLX format. MLX provided a
    fail-safe way of typing in programs. Every line of code that was featured
    in the magazine contained a checksum number, so if a person inadvertently
    made an error such as typing in "132" rather than "133" the MLX editor
    would make a buzzing sound and alert the person to an error in the line of numbers. This worked only for machine language programs, BASIC programs
    were still susceptible to errors.

    As the popularity of the VIC-20 computer grew, more home software was
    produced. As with the Commodore PET, the main source of new software was
    your classmates and neighbourhood friends. If someone purchased a new game
    on cassette tape, they might bring it to school and you could borrow it for
    a night. Some of the youth who'd already knew BASIC, wrote their own
    homemade games which they shared with others. It was through these
    classmates that new connections were made. I remember sitting beside a kid named Eric back in Grade 9. Eric mentioned owning a Vic-20 and suggested I visit him on the weekend for some game trading. Eric had written a few of
    his own games in BASIC and I eagerly wanted to copy them. As it was, he declined because in his words, "I want more people to know I created it
    first" which was a reasonable answer. I never did get Eric's homemade game
    but we did swap some others.

    Many weekends were spent riding our bikes over to people's homes who owned
    a Vic-20 and playing or trading games. This was our own social network, a network where you didn't have to know someone for years to be invited into their house. All you needed was a mutual friend to introduce you to
    someone, and you had a new friend. My neighbour who lived three doors down owned a Vic-20 and I knew him but not well enough to go over to his house
    and do things together. Upon learning he owned a Vic-20 I found myself
    making up reasons to want to head to his house. One day I walked over to
    this neighbour's house because Compute! Magazine had published a tank game where two people could play with a joystick. The second joystick was
    connected by a series of wires to the rear port of the Vic-20. So to accomplish this I brought over some wires and alligator clips to use as connectors. The other end of the wire would be connected to the joystick.
    Well as you know, an alligator clip is conductive on both sides of the clip
    and upon connecting it to the Vic-20 I shorted out the upper and lower pins
    and blew the Vic-20. It was dead. My neighbour began freaking out
    claiming I blew his computer, as his mother watched on in horror. Feeling
    very uncomfortable and not knowing how to respond, I politely made my out
    the front door. As it would turn out I'd just blown a fuse which was
    easily replaced. I'm still friends with this person today although we
    don't speak as often.

    Around 1982 my father purchased a Vic-20 for our household. Now there was
    no longer a need to find reasons to visit my friend, I could get my
    computer fix at home. Much of the time was spent playing games that came
    on cartridge. This provided opportunity for us youngsters to trade
    cartridges with one another. In fact you could even 'rent' these
    cartridges from the local video store. There were also Colecovision and
    Atari 2600 cartridges for rent. We'd played Colecovision and Atari but
    there was more appeal in creating something of your own design on a
    Commodore.

    By reading the accompanying programmer's guide, I learned that I could
    create custom graphics on th

    --- MBSE BBS v1.0.4 (GNU/Linux-i386)
    * Origin: Dragon's Lair ---:- bbs.vk3heg.net -:--- (39:901/280)