Sunday, June 24, 2007
Monday, June 18, 2007
Particularly interesting was the Gakken Denshi Block system, recently reintroduced to the market. This is a high quality kit with a portable radio style case. It has a transparent lid which you open to place pluggable modules.
Here is a photo of my own kit (rebranded as Skilcraft).
One of the experiments was important to my understanding of computers. It was titled Bistable Circuit with Two Lamp. This was another was of saying Flip-Flop, which is a critical building block of digital computers. Up until this point I had only an abstract concept of how a Flip-Flop actually worked.
Here is a link to an article on Wikipedia explaining what a Flip-Flop is http://en.wikipedia.org/wiki/Flip-flop_%28electronics%29
Thursday, June 14, 2007
I didn't actually take the programming class, which was only available for juniors and seniors, but my math class was in the classroom where the computers were, and I would sometimes write little programs for them in the minutes before or after class.
I'm not sure if the hard drive was manually or automatically switched, or if these computers ran a real disk operating system. I don't remember the computers having floppy drives, and it seems unlikely that they had networking code built into the power-up ROMs; just BASIC.
Perhaps someone else would be eager to comment on this?
Monday, June 11, 2007
However these disks probably exceeded the quality required. Later on some less expensive floppy disks became available from the likes of Maxell and memorably named Elephant Memory Systems. These were $2.50 or so per disk. The disk surfaces weren't as polished, and some cheap brands didn't have a reinforced mount but no matter really. The cheap disks were pretty much as reliable as far as anybody could tell.
Disk drive systems themselves were all quite different from each other. Apple's legendary Steve Wozniak had managed to create the ultimate in economy of design for a disk controller with a small card having only 5 ICs. Most other disk controllers were long circuitboards with 2 to 3 dozen chips. Monsters. ;-)
Some of these floppy drives used hard sector disks, meaning that there was an index hole in the media for each sector on the disk. So, if the disk was meant for a 16 sector drive, the disk would have 16 timing holes cut out of it evenly around the inner part of the disk. This would be read by an LED and a sensor. The Apple II used soft sector disks where there was only one hole cut in the disk, and the drive controller itself decided how many sectors to put on the disk by doing careful timing.
I remember that my father's H-89 had hard sector disks. The drives also made a strange clunking noise as they operated. The Apple II's drives made the much more familiar brrrr, brrr, mmm, mmm sound of most floppy drives and they were faster than the H-89 drives.
Thursday, June 7, 2007
Before we started writing inventory management software I tried my hand at creating some graphics. The Apple II had hi-res graphics (for that day), and Applesoft had high level commands for drawing so you didn't need to POKE and PEEK as much as in other BASICs. We had only a green phosphor monitor without color, but this was appropriate for business software development.
When editing a program in Applesoft BASIC, you could type some escape sequences to move the cursor around. If you moved the cursor up to the start of a line on the screen you could then reenter the line by moving the cursor to the right, and you could substitute some characters to change the line of code. This was crude compared to the way you did things on a VIC-20 where you just moved the cursor to the line you wanted to edit, changed just what was needed and hit Return.
Also, I had never written software before that used a floppy disk. This was another thing that I needed to become comfortable with. Our Apple II had 3 floppy drives, each was 143K. We also had a 16K card and a Z80 Softcard so the machine could run CP/M, but this was something we rarely did.
Monday, June 4, 2007
Sunday, June 3, 2007
Turns out I knew his son Michael from playing kickball at the park down the street. Mr. Alessi lived a mere 4 blocks away from me, which was the perfect distance. So I began visiting his place. As first we just played pool and experimented with his new Apple II+, and Mr. Alessi made no apologies about sharing his political opinions while smoking different kinds of pipe tobacco.
Since my friend Richard had an Apple II computer I got some games from him, and I made a joystick for the computer out of parts I bought at Radio Shack. I reused the case from an RC car's remote control. I cut out the steering wheel and replaced it with a dual-potentiometer joystick. It was ugly, but I saved some money. ;-)
Mr. Alessi was interested in creating some trend following inventory management software, and he talked a lot about this. Eventually we would begin to write this software, and do a lot of other things as well. This was not going to make me much money in the short run, but I couldn't have asked for a better opportunity to learn.
Saturday, June 2, 2007
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. :-)
Sunday, April 29, 2007
We finally had a real computer in the house! It ran CP/M and H-DOS (we use mostly this OS) and we had a couple of different versions of BASIC for it. We had something called Benton Harbor BASIC. The computer had no graphics modes, but it had graphics characters and I remember my brother Ernie was working on a version of Galaxians for it. We wrote a bunch of games. I remember my father also did some assembly language programming for it (or perhaps he just typed in straight machine code).
One thing I remember about the machine was that it used hard sector diskettes, and the floppy drive was loud. It would make clunking sounds. Ka-chunk, ka-chunk!
Thursday, April 26, 2007
I was able to use the techniques in the book to create demos for the computers at NEECO. The customer would ask the computer about itself, and the computer would try and respond appropriately with a demonstration of features.
The book can still be purchased used on Amazon.
Wednesday, April 25, 2007
Obviously a computer with a full size display screen (though one could be added) would have been preferable but we were excited at the prospect of having a computer in the house! Ultimately the AIM-65 was not our fate because my father decided that the nature of the deal amounted to a conflict of interest.
Tuesday, April 24, 2007
There were many different kinds of computers that could be bought from Heathkit at that time including the H-8, the H-11 and the microprocessor trainer ET-3400 which had a breadboarding area, could be programmed in machine code and could also be expanded to drive a terminal and be programmed in BASIC.
We spent a lot of time fantasizing about these and other machines, but we never got to see one in person. Computers were too expensive for kids with paper routes. Of course that would all change very soon.
Monday, April 23, 2007
Richard was smart, and he was always very nice to me and this mattered quite a lot since I wasn't exactly a popular kid. Richard taught me a lot about Apple computers, and we had a lot of fun playing games. He was also very active in his Boy Scout troop and was working on Eagle Scout. My mother called his mother and they became friends.
One interesting thing about Richard also was that he was into electronics and was the sort of person who wasn't afraid to modify his computer.
After I hadn't seen Richard for some years I tracked him down after I got married. I was glad to see he was doing well, but now I don't know where he is. I hope you're doing fine Richard wherever you are!
Sunday, April 22, 2007
NEECO was to become a central influence in my life for a couple of years. What a store it was. I have many memories of the place.
When I first started visiting the store there were the following models I can remember:
- Apple II
- Commodore PET and CBM 8032
- Intertec Superbrain
- Hewlett Packard HP-85
- Atari 800 and 400
There was usually something fun running on each machine, especially the Apple and Atari computers. They also had a magazine rack and lots of software for sale.
I spent a lot of time there. Sometimes I was helpful to the people running the store, but I think they sometimes wish I was somewhere else. I owe them a debt of gratitude at least. ;-)
Saturday, April 21, 2007
When these machines arrived at the local Radio Shack store my brother and I went to have a look. The only interesting thing you could do with the machine was program it. They may have had a couple of applications on tape in the store but we ignored them. The programming manual was very friendly, with a cartoon character that looked like a TRS-80 spouting explanations.
As I understand it the Level I BASIC that came with the machine was a custom version of Tiny BASIC. It had single letter variable names, only one string variable (I think), and it had only three error messages for the programmer:
- What? - Syntax error
- How? - Divide by zero, etc.
- Sorry. - Out of memory
Level I BASIC also had SET and RESET commands so you could draw graphics on a 128x48 grid.
Friday, April 20, 2007
He also bought one for my brother Ernie. This was not as nearly as powerful as an HP-67 (or the TI-59 my brother Neil had), but it was a wonderful first "computer" for me and my brother. Since we both had the same model we had a lot of opportunity to work together on games and other things.
These calculators came with very good instructional books and also a pad of program sheets where you would write down all program steps and explain what the program was for and how to use it. Great stuff.
Some of the sorts of programs we created did things like:
- Compute primes
- Plot curves
- Artillery games
- Lunar lander
- Number guessing games
Thursday, April 19, 2007
We wrote our own programs and we played the classic Star Trek game and some others too. The connect speed was 300 baud. It was pure magic.
I don't know whose idea it was to be so generous with their computers. All I can say to you whoever you are is "THANK YOU!" You really made our summer great. :-)
Wednesday, April 18, 2007
Before IBM blandified the computing landscape by killing off people's imaginations with the IBM PC there was an unbelievable amount of variety in computers. Computer companies were popping up everywhere and non-computer manufacturers were also getting into the game.
Some things that stand out most in my memory are:
- A really cool red and white R2D2 style robot that was roaming around the conference floor. There were other robots too.
- A computer that you programmed with geometric symbols as part of the syntax. I can't remember the name of the computer unfortunately.
- The RCA COSMAC VIP computer. Boy did I want one of these. It was a single board computer you could plug into your TV set. You assembled it yourself and programmed it in 1802 machine code using the hex keypad. The VIP had a cassette storage interface. It was expandable with a real keyboard. Very cool. I wish I could still get one of these! :-)
Tuesday, April 17, 2007
The calculator in question was an HP-67. http://www.rskey.org/detail.asp?manufacturer=Hewlett-Packard&model=HP-67
My father was really wonderful about finding ways for me and my siblings to pursue things we were interested in. As long as my homework was done I could use his HP-67 in the dining room. The calculator came with a wonderful manual which taught programming in a most clear and enjoyable way. The HP-67 uses a Reverse Polish Notation style of arithmetic entry. It also supports a GOSUB and RETURN style of programming like BASIC. The other amazing feature of the HP-67 is a magnetic card reader. This is like a tiny floppy disk drive except that the card just moves straight through the calculator instead of spinning around. The cards are about a half inch in width. This made the HP-67 more of a personal computer than a calculator.
Monday, April 16, 2007
I had no idea of course how to do anything with these kinds of electronic parts, but it was very intriguing. I wasn't sure yet what a computer was, but I knew just a little bit. My life was about to get interesting.
Sunday, April 15, 2007
I enjoyed reading the book and I understood some of it. I didn't get to try any of the ideas from the book until at least a year later.
Interestingly I found a similar book at the MIT flea market http://web.mit.edu/w1mx/www/swapfest.shtml a couple of years ago. I purchased it soley for nostalgic reasons. The book is titled Computer Programming in the BASIC Language, by Neal Golden. It's a well illustrated book, with lots of flowcharting and examples. The typography is strange to me because all the code listings substitute a slashed zero for O and vice versa.
The original TI-30 was bulky compared to TI-30 derived LCD calculators you can buy today. It was wedge shaped (like a sports car) and had a red LED display. Mine came with a blue denim pattern zip case.
The calculator was fun to use. When you used an advanced math function it spun a digit around in the display to indicate it was thinking.
Probably the best part of the calculator wasn't the calculator at all, but The Great International Math on Keys Book (yes, that really is the title) that came with it. This was a really fun book full of interesting things to do with a pocket calculator.
So, this isn't really a microcomputer but it makes sense for me to start my journey with the TI-30.
The first microprocessor (the Intel 4004) was invented in 1971 http://en.wikipedia.org/wiki/4004 and the first commercial microcomputer (the Altair) was first produced in 1975 http://en.wikipedia.org/wiki/Altair_8800 I managed to come pretty close to the beginning. ;-)
Hang on, I've got a lot to say!