Linked by Kroc Camen on Sun 7th Nov 2010 19:43 UTC
Hardware, Embedded Systems "I had reduced the size of my ongoing Z80 project down to something more wieldy by using CPLD chips, but it was still a bit too bulky to fit into an acceptably sized case. The next step was to look into FPGAs and see where they could take it. One thing led to another and I ended up building a self contained post modern home computer laptop.. thing." Kroc: Can I haz port of BBC BASIC plz?
Thread beginning with comment 449037
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: um why?
by UltraZelda64 on Mon 8th Nov 2010 05:16 UTC in reply to "um why?"
Member since:

First off, its cool to build your own hardware, but why not build something around a truly elegant early CPU like the Motorola 68K series. I've written assembler for both Z80 and 68K, I can tell you all those general purpose registers and the flexibility of addressing modes in the 68K are a joy to work with. The Z80 on the other hand is a really bad hack.

I'm not trying to argue with you, I really don't know what's so great about the M68K series. Aside from the fact that it was used in possibly the greatest Sega home video game console ever, what is so special about the processor? I'd really like to know... from what I understand, it was just another CISC CPU, competing with Intel.

Its really a shame that the x86 instruction set ended up winning out over technically far superior offerings such as MIPS, PPC, Spark, PA-RISC. Perhaps someday we might all be using ARM based chips, that would be nice.

Once again, I don't know what is so good or bad about x86 vs. the others. The others are RISC, right? Is that it--minimal instructions, simplicity? Or was the x86 architecture simply poorly designed to begin with, and/or later bolted on with so many new things that it has become a monster?

Don't get me wrong though. I would love to get my hands on an ARM- or MIPS-based machine and try it out... but it's about impossible unless you're talking about a cell phone (ARM) or classic gaming console (N64).

Edited 2010-11-08 05:23 UTC

Reply Parent Score: 1

RE[2]: um why?
by Morty on Mon 8th Nov 2010 07:56 in reply to "RE: um why?"
Morty Member since:

I would love to get my hands on an ARM- or MIPS-based machine and try it out... but it's about impossible unless you're talking about a cell phone (ARM) or classic gaming console (N64).

Not really, non-cell phone based ARM machines are quite easy to get your hands on now. And they are quite cheap too. So if you are really interested you can try:

Reply Parent Score: 2

RE[2]: um why?
by burnttoys on Mon 8th Nov 2010 08:05 in reply to "RE: um why?"
burnttoys Member since:

I'm not trying to argue with you, I really don't know what's so great about the M68K series.

Compared to Intel it was a remarkably clean and frankly, powerful (massively overused word). The word everyone used at the time was "orthogonal" which made it easy to program in asm and easy to write compilers for. I wrote large amounts of 68K and built a compiler for a Forth like language - it was fairly simple.

8086 on the other hand was a mess of segment registers (even C code became non-portable on 8086 due to having at least 2 pointer types, often more). Registers had special meanings (counter - cx, index - si, di etc) so writing compilers became a tedious mess of register allocators (or lots of wasteful stack operations). Worse than that was the way using different registers for the same operations took differing amount of time - I seem to remember a memory read using "si" as the register took more time than using "sp". Optimisation was damn painful!

They were the big ones for the programmer - 68K's flat 32 bit memory model versus Intel 16+16=20bit segmented model and the register set (68K had a much bigger set as well as orthogonal instructions). 68K also had a rudimentary supervisor mode.

There were others - I had a brief hack on the 32000 (nat semi?) series - they were almost 68K goodness but the market never picked up on them (lazy marketing?). Z80000 was "ok" but far too late and Zilog also made a bit of a mess of the chip packaging.

The most astonishing CPU of that era was probably the first gen Transputers (the 414 32bit GPU and 212 16 bit IO CPU). I saw a data logger built using them some 20 years back - it was a brilliant piece of design - I've still got my OCCAM book somewhere.

Having said all that I saw guys building hi-end data loggers using 6800's well into the 90s. It's amazing what good hardware design and an excellent algorithm can accomplish. 6800 was lovely, so was the 6303 super-clone.

6502 was nice but that damn page 1 stack always got in the way (stack is limited to 256 bytes) but making a BBC B multitask BASIC was a delightful trick... Recursive image compression is a bitch with a tiny stack!

The worst thing about all the early 16/32 bit CPUs was the speed of multiply.

Sorry... nostalgia :-D

Soooo... for it's time the 68K had everything - very good instruction set, excellent hardware interfacing (including being able to use older peripherals), reasonable price, plenty of supply. Sadly we know where the market went but by the time x86 had hauled it's backside through to the Pentium it wasn't _too_ bad a CPU.

Reply Parent Score: 5

RE[3]: um why?
by tylerdurden on Mon 8th Nov 2010 09:25 in reply to "RE[2]: um why?"
tylerdurden Member since:

You mean, compared to the 8086. Yes, the 68000 was clearly a superior microprocessor/architecture. But by the time the 386 came around, most of the issues you were mentioning were addressed.

Then there was also the "tiny" issue that x86 compilers were managing higher performance than the 68K counterparts. Which is ironic since people like to wax poetic about how much easier to program 68K was supposed to be. Usually I see people giving qualitative arguments for these sort of matters as red flags, usually meaning that their argumentation is not based on first hand experience.

Reply Parent Score: 2