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
Motorola 6800
81–90 of 127 posts
Re: Motorola 6800
#82 > It has 72 instructions with seven addressing modes for a total of 197 opcodes.
noob question: why so many addressing modes?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?
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?
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
#85Earlier 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…
Crazy what could be done just pushing pixels at 1Mhz!
Re: Motorola 6800
#86Earlier 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.
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
#87With 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.…
When was this? What version? Thanks.
Re: Motorola 6800
#88Re: Motorola 6800
#89The 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> 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.
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.