Wednesday, September 26, 2018

Father of the Personal Computer -- Chuck Peddle?

I always thought that Alan Kay is the father of personal computer.  Some people think it is Steve Wozniak.  Just listen to this interview with Chuck Peddle, the designer of the 6502 processor at MOS and Commodore and you may change your mind.  He also talks about BASIC and Bill Gates.  He touches on so many really interesting things.  You may not think the same way again about computer history.

Click to go to theamphour.com and listen to this interview.

The truth "from a certain point of view." -- Obi-Wan Kenobi   ;-)

Thursday, September 20, 2018

A Brother from Another Mother

I hope my readers will indulge me while a take a quick detour into one of my favorite things; Programmable calculators.

As a gentle prologue to machine language programming I don't think you can do better than one of the old programmable calculators.  In my youth the very first thing I learned to program was my father's HP-67 calculator.  I still have one today.  Me and my brother Ernie both had TI-57 calculators and we had a good time with these, trying to cram something interesting into 49 steps of program memory.  ;-)

My personal HP-67.



If you look at the Commodore MOS KIM-1 it sort of looks like a giant calculator.

The HP-67 is a small computer, and like the KIM-1 it even has its own permanent program storage in a form of a magnetic card reader.  It has it's own language that resembles assembly language, but it is like an assembly language with training wheels.

Like the assembly language coder, the HP-67 programmer needs to deal with registers, with conserving space, with storing and retrieving values.  Many ideas are represented.  There is even a way to jump indirectly using a value in a register.

Here is some 6502 assembly code:

LDA #$c0
TAX
INX
ADC #$c4
BRK

For comparison here is some HP-67 code.

LBL A
F? 3
GTO 1
RTN
LBL 1
STO A
RTN

The user is insulated from certain kinds of problems such as programs accidentally overwriting themselves because the programs can only change values in the registers.  So there is program memory (224 instructions) and there is data memory (26 registers).

The programmer is also introduced to LIFO stack concepts.

The quality of documentation that came with these calculators put programming within the reach of most people.

Wednesday, September 12, 2018

Virtual 6502 web site

I found this cool website which has a 6502 emulator, an assembler and a disassembler.  What a cool free resource.

Check it out!

  https://www.masswerk.at/6502/index.html

Tuesday, September 11, 2018

Microchess 6502 source code

Microchess is the first game ever published for a home computer back in the 1970s.  It was written for the Commodore MOS KIM-1 single board computer by Peter Jennings (no, not that Peter Jennings!) and when you bought a copy all you got was a manual with the machine code listing in hexadecimal.  To play you needed to punch those numbers in by hand.  Yes, really!  The good news was that the KIM-1 had a cassette interface.  ;-)

I found the assembly language source code online!  Yay!

  http://6502.org/source/games/uchess/uchess.htm

Friday, September 7, 2018

The Edit, Cookies, Debug Cycle

Yes, you read that right!

Back in the day, when I used to write business software for the Apple II computer (and the IBM PC, let's forget I said that) we used to use the Applesoft BASIC Compiler from Microsoft.

Typically I would print out the program listing, or part of it.  Go away and mark it up, planning what I was going to do next.  Then I would sit down and make my edits using the Applesoft interpreter and run the compiler.

This was a disk-based compiler, before microcomputers had enough memory to hold the code, the compiler and everything else in memory.  That meant that the compile was really, really slow.

So when you start the compiler it reads a line of code and displays it on the screen, and then you hear the floppy drive do its grinding sounds.  Rrrrr, rrrr,  rrrrrrrr,  rr.  Swish, swish, swish.  Repeat.

Each line of code was 3 or 4 seconds to compile, and when it was finally done with that it had to do a second pass to finish compiling.

It took a half hour to compile the code.  I can't say I really minded so much because this was an ideal time for some coffee and cookies (Keebler fudge covered cookies).  Or I would watch TV with my boss and we would talk politics.

Then once the program was compiled it would get tested, and the cycle would repeat.

Thursday, September 6, 2018

Why Does the 6502 Matter?

Arguably the MOS 6502 processor was really no better than Motorola 6800 that was its direct predecessor, and why would you buy the most important part of your computer from a calculator chip company like MOS Technologies instead of a more stable company like Motorola?

The answer is clear.  $25  The 6502 was merely 1/6th the cost of a Motorola 6800.

Think about it.  Without this low price, Steve Wozniak would not have produced the Apple I and Apple II computers as we know them, and Commodore could not have produced the PET, VIC-20, C64, etc.  The Atari VCS and Nintendo NES would never have existed.

The home computer market would have evolved more slowly and in a completely different direction.

Wednesday, September 5, 2018

The Commodore KIM-1

When I was a kid, single board computers had real appeal as a low cost way into computing, at least until the VIC-20 and the Sinclair ZX80 appeared in the market.

For one thing if you were into electronics, these things had serious nerd appeal.  You could buy these things as kits to solder together, and you got to see the parts in all their glory.

The Commodore MOS KIM-1 is claimed to be the very first commercially available single board computer.  I think it's amazing that they actually sold a lot of these, but why should I be surprised?  Today people are buying these sorts of things all the time, for example the Arduino and the BASIC Stamp can certainly be compared to the KIM-1, and these are well known.

The KIM-1 inspired a whole range of imitators and evolutionary descendants.  For example, the RCA COSMAC VIP and ELF boards; the 6502 based Synertek SYM-1, and even trainers such as the Radio Shack Science Fair Microprocessor Trainer and the famous Heathkit ET-3400.  Perhaps the Heathkit H-8 also qualifies for this category.

So, let's sing a little praise for the unsung Commodore KIM-1 computer!