View Single Post
Old 23rd May 2020, 9:48 am   #50
TonyDuell
Dekatron
 
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 5,215
Default Re: Early personal computers - what for?

Quote:
Originally Posted by SiriusHardware View Post
I think the Z80 is the P-51 Mustang of 8-bit microprocessors - The Z80 has such a luxurious instruction set for a processor of that era. Mind you, there are those who think the 6809 is better - not one I really played with.
I've worked with both and I _much_ prefered the 6809. OK, it has fewer registers and instructions, but it makes up for it by a wide range of addressing modes that apply to just about all the instructions. It has (conditional and unconditional) branches with a 16 bit offset (meaning you can branch anywhere in the memory space) and you can access data with an address relative to the program counter. These features mean you can write 'position independant code' -- a program that can run without changes wherever you put it in memory. This in turns means a multitasking operating system is very practical on that processor, there was a thing callled OS9 (nothing to do with Apple's OS of that name) from Microware (not Microsoft) which was very like a tiny unix.

It's a pity the BBC micro didn't use the 6809. Acorn did make a (rare) 6809 processor board for their 'Systems' (the 19" cardcage machines).

In many ways the 6809 parallels the V2000 video recorder. It came out last, and although it was technically superior to its competitors (6502 and Z80 in the case of the 6809 ; VHS and Betamax in the case of V2000), it was too late to make much of an impact. Although the 6809 does turn up in a lot of 1980s embedded systems (there's one in my HP 1630 logic analyser, one in most of HP's HPIB disk and tape units, one in my Facit N4000 paper tape punch/reader, etc..)

As for what is supposed to have replaced the 8 bit home computers to get people into programming, interfacing, etc now, I don't much care for them. The RPi seems overcomplex, while I like unix-like OSes for a lot of things, the linux on the RPi is not a real time system, and to be honest it just gets in the way for a lot of things I would want to do. And I can't find my way round the Arduino documentation. It seems to be far too much of 'buy these modules and plug them together', 'download these libraries', 'write a bit of code' and it works. That's far too high level for me. I do not design by sticking modules together. If I have to program I am happiest at the 'bare metal' -- assembly language, machine code, or microcode.
TonyDuell is offline