Monday, May 28, 2007
There was an article detailing a single board computer with diagrams. The computer was an Ohio Scientific computer, probably a Superboard. http://oldcomputers.net/osi-600.html
These were very cool machines, and pretty cheap. They used a 6502 processor and had BASIC and machine code monitor in ROM; sort of a poor man's Apple II. For the money it was a better machine. With better marketing and a nicer looking case perhaps they could have given Apple a run for their money.
Thursday, May 24, 2007
The game I created was a simple simulation of flying through an asteroid field. You needed to shoot the asteroids to destroy them or else they would hit your ship. It probably took a couple of dozen hours to create this game. The graphics on the VIC-20 were all done by creating custom graphics characters. Sound was pretty easy with the computer's built-in 3 voice tone generator and white noise generator. The actual BASIC code for the program wasn't very big because it all had to fit in 3.5K of RAM. The game was fast enough in BASIC that it didn't need any machine code routines.
My plan was to sell the software at NEECO, and the sales guys there agreed to do it. The software would be in a ziplock bag with some artwork and a cassette tape. A lot of software was sold this way back then. My father helped me with the artwork. He's pretty good at drawing sharp graphics, which makes sense because he spent thousands of hours drawing things at a drafting table.
So the sales guys at NEECO put the software on the wall (2 copies) with all the rest of the stuff there. Within a couple of days they had sold one! Unfortunately the owner of the company had not cleared this clandestine operation and when he found out he had my remaining copy pulled. I don't think they even gave it back to me.
The things we kids did during summer break. ;-)
Monday, May 21, 2007
He seemed interested that I was about his son's age and that I knew something about programming. He told me that his son played soccer, and I guess he thought that I could befriend his son and teach him about BASIC.
So we agreed that I would come to his house to see this ZX-80. I remember that his home was absolutely filled with the smell of curry (in fact he smelled like curry even when he wasn't at home). I also remember that his son wasn't there when I visited. So much for me and his son developing a friendship.
I didn't have much time to play with his computer. It was much smaller than it looked in the ads. The keyboard was completely flat, and you just touched each "key" lightly to activate it. Each key had a letter, a graphic character, and a BASIC keyword on it. Since you couldn't touch type, the way that you would type a whole keyword in with a single keystroke help speed things up. The computer was plugged into the television set (as so many home computers did), and its plain black and white output would blank briefly between some keypresses. If your program did any computation in loops it would also blank then since the display was driven completely in software by the single Z80 processor.
It was a fun little machine to play with, but I wasn't interested in owning one after I saw it. Later on Sinclair would produce the ZX-81, a much more expandable machine. I actually recently bought a kit version of this machine unassembled which I hope to assemble at some point.
Sunday, May 20, 2007
This was a rather strange console, with very limited game options. Unfortunately I got bored of playing with it rather quickly.
Nowadays we have three consoles in my house.
- An Atari 7800 console
- A Nintendo 64
- A Nintendo Gamecube
The Atari console is the one we play most. I bought it used years ago with about 30 cartridges. I think I paid about $50 for the lot. Most of the games are Atari 2600 (they work on the 7800) but we have some 7800 cartridges too. We play Ms. Pac-Man, Donkey Kong Jr, and Space Invaders most.
Thursday, May 17, 2007
It was wonderful that you could usually buy a 250 page book for the computer of your choice. That book would tell you everything... EVERYTHING about the innards of the machine. You could bend the computer to your will. These days you have no idea what's going on in the machine. As a programmer you deal with the Windows API, or with the Java SDK platform.
Sometimes I wonder how hard it would be to create a new computer simple enough to master it all the way down to the bits. The operating system would be very small and simple, and the machine could be programmed in BASIC, Forth, and assembly language. The code for the whole thing could be open sourced. Perhaps there wouldn't be a way to make money with such a product, but it would be fun. :-)
To get a feel for what this time was like, watch this YouTube video of Steve Wozniak relating his experiences growing up and designing the Apple computer. Great stuff! http://www.youtube.com/watch?v=ctGch5ejjT4
Tuesday, May 15, 2007
For 7th grade I wrote a report that explained programming on the TI-57 calculator. I hand typed the report on a manual typewriter. I remember being up all night before it was due (I had a bad habit of doing that).
For 8th grade I wrote a report introducing the BASIC programming language. The teacher decided that I should use the blackboard to explain to the class how it all worked. If memory serves, I remember that the presentation was also attended by a trained programmer, who happened to be the father of one of my fellow students.
I knew more than the teacher about this subject, so these were easy A's. :-)
Saturday, May 12, 2007
This kit was great fun to put together, and it helped me learn how to solder. I would use this skill as I got older for many purposes, some of them computer related.
I wish there was more of a kit culture today. While you can build robots with Lego Mindstorms and similar systems, it makes sense to learn things as fundamentally as possible.
In a similar way people studying computers should consider learning at least a simple machine code. For example before I had any opportunity to program in machine code I read a book on Z80 machine code. Eventually I had some chance to write 6502 assembly. I never mastered assembly language but it was valuable experience. I suspect that many young people studying computer science today are not exposed to the bare hardware of the machine these days. Universities should be held to account for this IMHO.
Thursday, May 10, 2007
Tuesday, May 8, 2007
I grabbed a yellow lined notepad and started writing code in BASIC. After a half page of code I began to write lots of IF THEN statements, one almost exactly the same as the next. I realized after a bit of this that my program was going to be gigantic!
So while I was walking to the library with my brother Ernie I told him what I ran into while trying to write the program. He explained to me that I needed to learn to use arrays (he called them subscripted variables). I really had no idea what he meant. I can't remember clearly how I learned about arrays, except that Ernie must have shown me how to use them. Along with arrays it was great to learn about nested loops.
With his help I was able to write a version of Star Trek in BASIC for my father's Heathkit H-89. Later I wrote a version for the VIC-20 as well.
So this was a breakthrough moment for me. Arrays make many kinds of game programming practical, and I made good use of them. It was easy to for me to see that to create a game is to craft a simulation (even if for an imagined reality). This insight served me well as I wrote more and more software.
Sunday, May 6, 2007
The teletypes looked like this:
I didn't actually attend Pollard Middle School, but my brother Ernie did and he took me with him a couple of times to use these. The teletypes are pretty darn ugly (I think). They are also ridiculously slow and noisy. The only nice thing about them is that you can punch your BASIC program out on paper tape and take it home with you. Later you can come back and read it back into the PDP-11 and work on it.
I really preferred using a CRT terminal.
Saturday, May 5, 2007
It was essentially a version of the Commodore PET that plugged into a TV set. For the price there was nothing like it. It had Commodore BASIC built-in, color and sound, a joystick port, and a cartridge expansion slot. It didn't have graphical sprites, but it was still capable of video games and it cost about half the price of an Atari 400.
I wrote a lot of software for this machine at NEECO where I hung out. It didn't have full screen graphics, but you could program the graphics characters on the fly. It did have a very low screen resolution (22x23 text mode, 176x184 graphics mode) and it only came with 3.5K of available RAM out of the box, but we were very used to limited memory back then.
Compute! magazine had some really great software listings for this machine, like a graphics character editor for example and a machine code monitor. Just type it in and go. :-)