Tiny Basic, Signetics 2650 and a SC/MP: HalfByte’s early days

I am sitting here, banging away on a run of the mill HP Windowsc03742269 computer. It has a decent set of specs for today, but is no match for even a low end gaming PC or a research oriented computer. For the few games I play, the Internet browsing, code writing and Microsoft Office tasks, it works well.  Compare it to the comptuers that I started out with, however, it might as well be a Cray Supercomputer. 

Indeed, this AMD based HP would be the hottest thing in 1974, the year I can remember first ‘using’ a home computer (or, actually, ANY kind of computer.)  Back then, home computers were barely out of science fiction. In fact, that first computer was the Mark 8 ‘mini’ computer first showing up on the pages of Radio-Electronics Magazine.  It was an Intel based 8008 ‘beast’.  It was something that my Dad was working on and, once it got to a bootable point, I was hooked.

mark8_re_coverIf I remember correctly, this thing was a pain in the butt to use. Just to ‘boot’ it up, you had to key in a sequence of sixteen bytes, one bit at a time, on the front panel.  Once they were keyed in, the computer would start.  My Dad had this ‘TV Typewriter’ that we used to talk to the computer. It was, in reality, a Serial based video terminal, but it was new then.  A fellow by the name Don Lancaster designed it. My Dad bought the bare board and built it himself. That’s how things were done, you did not go to a Best Buy and just buy one. No, you built it.

So, this computer couldn’t do much.  My Dad bought something called ‘SCELBI Tiny Basic’ on a paper tape.  He had scrounged (something he was very good at) a paper tape reader and we were able to load this program into the computer. He would painstakingly key in a Tiny Basic program that I could then use.  I was only nine at the time, so programming was not something I thought about, but I was intrigued.

Fast forward a year and my father built another, more powerful, cTinyTrekBasicListingomputer. This one, a sixteen bit behemoth, was based on the Signetics 2650 microprocessor.  Man, this thing was great.  Signetics made them for quite a long time and they special because of their architecture: 16 bit internal, 8 bit bus.  It was unique among a sea of ‘me too’ chips.  More importantly, there was a dynamite version of Tiny Basic for the chip. This is when I started to figure out this programming thing.  It was addictive and started purely by accident.  See, my Dad was an engineer and built a lot of things. But, he was not good at this programming thing.  He, one day, gave me a program listing, the Tiny Basic manual he had printed out and told me to figure out how to get the program listing to work with Tiny Basic.  It was a Lunar Lander game from a very famous (at the time) book: Dave Ahl’s 101 computer games in Basic. I figured out that some statements just would not work, which ones needed small changes and I even figured out how to make some work by making a ‘gosub’ function-which is what I called a subroutine then.  It took me several weeks, but i got the game to work. Then, I found out, that my Dad already had a version that worked and was specifically for that version of Tiny Basic.  At first, I was upset. All that time I wasted.  Something struck me though…I had a blast making it work.  That is what he had hoped would happen. 

It paid off too.

Now, I had the bug in me. I WANTED to figure out and learn this programming stuff.  I started making small programs…mostly code that made Tiny Basic do thing it was not supposed to do. Like string handling and ‘graphics’ by making the cursor move about the screen and ‘drawing’ with ASCII characters.

I also got my very own computer. 

That computer, based on the National Semiconductor SC/MP, had 16k of RAM (quite a bit then) and a version of Tiny Basic called NI/BL.  Nibble, as I called it, was quite sophisticated for its day. Written for control applications (the SC/MP was an industrial controller, much like the ATMEL line of microcontrollers) Nibble was able to directly talk to the hardware, had the DO-UNTIL construct for looping, direct memory addressing, direct serial line addressing and memory management.  The computer also a cursor addressable video terminal and cassette I/O, which required me to write a ‘loader’ application in Nibble.  I could save my code just by typing LIST and pressing record, but I had to write code to load it back because the cassette was too fast for the input routine of Nibble.  I had to read the tape, 128 bytes at a time, poke it into a memory page, wait 1 second, and get more code.  The cassette was controlled by a relay, so I could start and stop it as needed. A 2K program took a couple of minutes to load, but it was much faster than typing.  I eventually had a paper tape reader and punch as well.

Ferguson-BigBoard-IBy now, my Dad had a disk drive based Z80 computer and something called ‘CP/M’.  It was a computer made from the ‘furgeson big board’.  The Big Board was very close to the design of modern day motherboards: integrated memory, cpu logic, video terminal and disk controller on one board.  Prior to that, we used the ‘S-100’ bus.  In this setup, the ‘motherboard’ only contained the connectors for the bus itself and no real logic.  Some had a power supply, most did not.  Each piece of the computer was on a separate board.  The Big Board, however, had it all on the SAME board.   It was very cool and was used as the design in the first real ‘personal’ computer from Xerox: the Xerox 820.  I had one.  My dad was able to get the board and built it into a desk, along with two 8 inch disk drives, keyboard, monitor and a printer.  I was set now.  In the interim, I also bought a ZX-81 and got a TRS-80 Color Computer. But, the Xerox is what I did my ‘real’ stuff on and the others were relegated to games or collected dust. 


Before the Xerox 820, my passion was the ZX-81 because I BUILT IT.  zx81adI bought the kit with money got back on my very first income tax refund.  Yep. $99 was sent to Sinclair for the kit.  Wow, I built it and…it did not work.  In looking at my work and the schematic, my Dad figured out that I was missing a resistor…to pull the Z80 reset pin low (I think) which allowed it to start up. I may have that backward, it has been so long. Once I soldered the resistor into place (there was a spot on the board, and it was on the schematic, but it was missing from the parts list and instructions) the Zed Ex came to life. I was thrilled. My Dad, he was unimpressed.  Not sure why, but he always hated Sinclair and anything Uncle Clive ever did. That little computer was awesome. To this day, I wish I still had the six or so that I had (I collected them for a bit, was going to make something great…never did.)  This thing introduced me to wanting to get into electronics more, but that waited until recently with my Arduino stuff.

The TRS-80 Color Computer also grabbed my heart.  I had one well into the late 1990’s or early double 00’s.  I don’t remember when, but I gave it to some kid at a hamfest.  Games, peripherals, the computer, etc.  He was so excited. I hope it inspired him. At any rate, the CoCo introduced me to GUI’s too.  I wrote a couple in Extended Basic.  Went on to write one in assembler, but it sucked.

Looking back, however, I think I was happiest on that 2650 and the SC/MP. They were, comparatively speaking, so basic and so primitive and the things I could do with them. Man, that was exciting. Exciting enough to keep me interested (well, there was that time when I discovered the opposite sex, but that is something for another time…and blog) in pursuing programming as a career.

I look back with much fondness and some sadness as well.  Those were the days when I bonded with my Dad.  Learned quite a bit and was genuinely excited.  Names like Les Soloman, Don Lancaster and Dave Ahl were the ‘rock stars’ of my world.  They were among the founders of the home computer revolution that you never hear about. Sure, I saw Microsoft rise, witnessed Apple’s few innovations (Apple ][, Apple //c) and saw IBM create an entire industry (the Wintel computer) but, more importantly, that time with my Dad and a small number of class mates in high school. Neil, Patrick…you guys rock.  Sadly, though, those computers are history and my Dad…well he is too.

I miss those days.

It’s the BASIC Stamp!

IMG_2395I was at a local Radio Shack store today and came across a sweet little deal on a BASIC Stamp experimenters kit. Called BASIC Stamp Homework, this little gem contains the BASIC Stamp 2, serial to USB, a prototype board and several bags full of parts, including photocell, resistors, old school seven segment LED, servo and more. 

The BASIC Stamp microcontroller, unlike other similar controllers, uses a flavor of Tiny Basic instead of something like C.  This makes it a good candidate for teaching both programming and electronics to kids and adults. The included book is easy to understand but does not talk down to those who may be experienced and just want experiment with microcontrollers.

In the little bit of time I’ve played with the kit, I was able to program the controller to interpret the amount of ambient light and flash each outer segment of the seven segment display at a rate that corresponded with the amount of light the photocell received as well as make the display count to ‘F’ in hex.  Simple, but oddly satisfying.IMG_2394

When my XGS PIC Basic project is complete, I’m definitely coming back to the BASIC Stamp. I have some ideas that this will be perfect for trying out.

The kit retailed for $99, but was being clearanced by Radio Shack for $29.95. You may or may not find at your local Shack. (Radio Shack, by the way, has a really nice line of do it yourself little kits and a full line of Arduino, Propeller and BASIC Stamp kits, sheilds and parts.)

Velleman Classic TV Game

I am old enough to remember the beginnings of the home video game market. Indeed, I had all sorts of ‘TV Tennis’ or Pong consoles from Unisonic to Coleco and companies that, I’m sure, have not existed since the 1970’s.  I even had the original home video game ‘console’: the Magnavox Odyssey.  Of course, today I have only programmable consoles that use cartridges or discs (and a few with the games built in.) But, one thing I missed was that dedicated PONG game.

Recently, I was perusing a local Radio Shack for some Arduino/Raspberry PI shields for a project when I spotted something called ‘Classic TV Game’.  Naturally, I am intrigued.

mk121palUpon closer examination, I realize that it is a kit.  A real, honest to goodness video game kit! How cool was that!? Well, at that point, I notice it isn’t any ordinary kit. No, no…this was ‘TV Tennis!’ PONG!  At $14.95, how could I go wrong?

I purchase the kit and, when I got home, eagerly tore it open and begun assembling it.  It took me about an hour since my skills are REALLY rusty. But, it worked and on the second attempt. My first attempt was wasted because the battery holder had a bloody short.  Still, I built a game console based on the first video game I ever played: PONG!

The kit was simple and easy enough for anyone to build. It was a bit disappointing since the controls were two (four total) buttons: up and down.  They are soldered to the board, which means both players have to be sitting there to play.

While assembling the kit was easy-the included instructions, a bit cryptic at first mk121schermuntil I realized that the parts were actually logically grouped in the package (each resistor in the pack was arranged in the order to be used, the capacitors matched the schematic, etc.) and the resistor code (hey, I’m rusty at this, ok?) was printed clearly. Only problem I had was the battery holder, of all things. One of the leads was loose and was shorting out. Once I fixed that, it fired up and I could play my childhood video game in all its glorious monochromatic vibrancy.

There are few controls: player a and b up and down controls, reset and a potentiometer for controlling the video.  Mono audio and video out are the only connectors. 

There are several variants of Pong, all selectable by holding down the Reset button and one of the four player buttons.  Single and two player games are included and the instructions for selecting them are on the PC board and in the instructions.

If you pine for the video gaming days of yore and you like to build things, this is a good way to do so.

Note: perusing the Radio Shack website indicates the item is no longer available there, however, you can get it here.

Repairing the power switch on your V.Tech V-Reader

In my last post, I discussed the poor quality switch that V.Tech used on the V-Reader. Well, I found a replacement switch at a local Radio Shack, which is, in itself, a remarkable event.  Side note: I didn’t realize that Radio Shack still carried such parts, but, they do. Most of the little parts like switches, resistors, breadboards, etc. are in a bin full of drawers. They are organized very nicely and were easy to find what I wanted.

IMAG0404Back to the V-Reader.  The part, number 275-0002 5.0 mm High Tact Switch, came in a package of four for under four dollars.  You will need a small Phillips screwdriver, soldering iron, solder and wire cutters to make this repair.  Soldering skills are necessary.

Once you have the part, you need to take the back off of the device.  Remove the batteries and the SD card if you have one installed. There are a number of screws on the back that you must remove, including one in the battery compartment, two on the back under the rubber feet and the rest are under the plastic booties.  The booties are easily removed with a pocket knife or the tip of a pair of tweezers.  Carefully lift up on the booties as you’ll need them once you are done.  After you have removed all of the screws, very carefully lift up on the back. The orange on/off switch piece just sits between the two halves and it will fall out. Note the direction it was sitting (it really only sits one way) and put it aside.

Next, there is a screw with a washer made on the screw. This screw keeps the little pc board IMAG0406in place that has the switch soldered in place. Remove the screw and set it aside.  Carefully lift up the board and, using the wire cutters, cut the old switch off the board. You’ll need the existing legs to stay in place since the legs on the new switch (yes, I know they are called pins…I like legs more) are too short.  Here’s where it gets tricky…

Using the soldering iron, very carefully solder each leg on the new switch to the legs of the old switch that are still on the board.  You may need needle nose pliers to steady the switch. You may be able to ditch the board all together and solder the red wire to one leg and the black wire to the opposite leg as two legs are all you need. You would need to fasten the switch to the case somehow.  But, if you can use the board, the better.

Once you replace the old switch with the new, put batteries in and test. Hold down the switch for a few seconds and the device should power on. Once you have successfully replaced the switch, put the board back in the slot it came out of and then place the orange tip in the slot. You may need to shave the tit of the orange piece just a bit as the replacement switch is just a little too tall. Put the back cover in place, being careful not to pinch the power wires and ribbon cable on the bottom right of the device.  V.Tech did a poor job laying out the wires.

Screw it all back together and replace the screw covers and the rubber tips.

Turn the unit back on to make sure it is working.  If so, congratulations, you saved yourself the cost and headache of replacing the device. If not, don’t despair, recheck your work. A wire may not have been soldered correctly.  I made that mistake myself. 

Even though this is a cheap and simple repair, it is one that should not have to be made. The poor design and choice of parts is inexcusable.  V.Tech should have been more proactive and, at the very least, let registered users know about the issue and allow them to exchange the device.

Digg This