Live data from Hacker News

Motorola 6800

en.wikipedia.org

81–90 of 127 posts

Re: Motorola 6800

#81
post #76
post #9

I built a small multitasking kernel with a friend with a 68000 (m68000) in college. We implemented it on breadboards, I think with 30 or so feet of jumpers [0]. I had very little prior embedded experience, so it was trial by fire. It was a wonderful introduction to how kernels work (or at least concurrency and scheduling) at their most basic level, without having to deal with the complexity of virtual address spaces,…

This article refers to the 6800 which isn't the same. Also, that's a 68008 (with the 'simplified' 8bit data and smaller address bus). Both somebow 8bit :-P

It certainly made it easier to wire up :) I would not want to hand-wire a 32 bit databus.

Re: Motorola 6800

#83

> It has 72 instructions with seven addressing modes for a total of 197 opcodes. noob question: why so many addressing modes?

Back then people wrote assembly language themselves.

At 1-2Mhz, sometimes Khz, it was how one got performant code.

Addressing flexibility makes assembly language programming practical for people to do.

Check out the 6809 for a beautiful ISA and probably one of the most powerful 8 bit CPUs.

Re: Motorola 6800

#84

> It has 72 instructions with seven addressing modes for a total of 197 opcodes. noob question: why so many addressing modes?

It has very few general-purpose registers (A and B accumulators, IX and SP indexes), and it was designed when few (if any) mainstream processors were pipelined. Fewer addressing modes would mean more intermediate values to store, and more cycles spent in calculating their values.

If you have plenty of registers and a pipelined processor with a decent bypass network to get intermediate results available earlier, then it makes sense to simplify the addressing modes (to increase frequency and/or shorten the pipeline). However, the 6800 had neither many registers nor a pipelined ALU.

Re: Motorola 6800

#85
post #68

Earlier quoted context omitted.

There was the 6809 in between. I remember BYTE magazine's cover story, "A Microprocessor for the Revolution". Well, not quite, as it turned out! :)

The 6809 was used in a production gadget, the Vectrex, the only vector-graphic consumer videogame console. It came with a screen that worked like an oscilloscope -- no raster, just an electron beam sweeping along the line. So, no jaggies. As it was necessarily monotone, games came with clear plastic color overlays for the screen. 6809 was notable as the first 8-bit microprocessor with a multiply instruction: 8x8->16…

It was also in some Williams games, including my favorite: DEFENDER.

Crazy what could be done just pushing pixels at 1Mhz!

Re: Motorola 6800

#86

Earlier quoted context omitted.

I had the multi pak and the external uart. The entry level price of the coco was low but I think I got most of the peripherals available for it, particularly the disks were crazy expensive. Adding it all up I must have spent more than I spent on the AT clone that replaced it ($1200) In most ways the C-64 was a great machine but boy was the disk drive slow.

Perfect system == 6809 + SIO from the Atari800 + C64 SID + IBM PC keyboard + C64 VIC or maybe V9938.

That would be fun!

I would add the MMU from the CoCo 3, so one can bank in lots of RAM with only minor league fuss.

Re: Motorola 6800

#87

With the optics of _compiled_ code, how do the various 8-bitters stack up? (6809/6811, 65C02, Z80, H8, ...)? One would have to account for the frequency allowed by the ISA at iso-technologies (which makes including AVR somewhat tricky). I only have experience with Z80 and 65C02 and I believe the consensus is that a 4 MHz Z80 beats a 2 MHz 65C02, but neither is a particularly nice compiler target.

Just for modern perspective... you can use SDCC. It's an open-source optimizing C compiler targeting small microprocessors like the Z80 and various others. The project itself is terribly run--the maintainers recently pushed out an ABI change which broke everyone's code, but released it as a minor version bump. This ABI change did speed up the code, but that's small consolation to anyone who ended up with broken code.…

> The project itself is terribly run--the maintainers recently pushed out an ABI change which broke everyone's code, but released it as a minor version bump.

When was this? What version? Thanks.

Re: Motorola 6800

#89
If you are interested on programming something like a 6800 or 6502, but would like to make a practical device and not just run in simulation, take a look at the STM8. It's a very widely used 8-bit embedded controller and architecturally very like a cleaned up and improved 6800.

The STM8S discovery board for this is $8 and in stock at ST and Digikey.This includes the target system and the ST-Link programmer. There are free commercial tool chains and the open source SDCC toolchain.

Re: Motorola 6800

#90
post #83

> It has 72 instructions with seven addressing modes for a total of 197 opcodes. noob question: why so many addressing modes?

Back then people wrote assembly language themselves. At 1-2Mhz, sometimes Khz, it was how one got performant code. Addressing flexibility makes assembly language programming practical for people to do. Check out the 6809 for a beautiful ISA and probably one of the most powerful 8 bit CPUs.

"You kids and your RISC! Back in my day we had seven addressing modes and we liked it!"

Everyone nowadays takes it for granted that you can use software to write software. There are still lots of graybeard programmers around who had to make do with punch-cards when they were learning.

Post reply on HN