4 ms·
The 6809 is a fun processor to program in assembly and still my favorite 8-bit chip. The 8086/88 was such a let down after it. It would be interesting to have
by protomyth 5y ago
The 6809 is a fun processor to program in assembly and still my favorite 8-bit chip. The 8086/88 was such a let down after it. It would be interesting to have a 64-bit version just to play with for projects.
- ddingus 5y agoMy favorite too. A 64 bit, or even 32 bit one, with 64 bit available like 16 bit is available on the 8 bit chip, would be great fun!
- jjav 5y ago> The 6809 is a fun processor to program in assembly and still my favorite 8-bit chip. The 8086/88 was such a let down after it. Yes! I learned assembly on thge 6809 and had a hard time believing what a step down the 8086 was a few years later when I encountered it.
- PaulHoule 5y agoThe 6809 is the one chip I've coded for which has fewer registers than the 8086! I liked 6809 assembly (easy to write position independent code, Motorola had found religion in ROMable libraries) but I liked 8086 assembly to. In a high-level language you were forced to pick a 'tiny', 'small', 'medium', 'large' memory model based on how much code and data you had. In assembly you could do clever things with the segmentation registers (copy from one segment to another, using the same index register for the source and destinations)
- zabzonk 5y agoIt was sexy, for an 8-bit CPU, not least because it had a SEX instruction!
- crest 5y agoSo did the CDP1802.
- ansible 5y agoThat's "Sign EXtension" for the those wondering about that. The A and B registers combined to be the 16-bit D register, and this instruction would be used to convert an 8-bit signed integer to 16-bit. Also amusing was the "BRanch Always" instruction, which is the basic unconditional jump. There were branch instructions for all the usual conditions of the most recent operation such as 'overflow' during an addition. All the branch operations used relative addresses, the two 'jump' instructions used absolute addresses. So it was easy to write relocatable code on the 6809. This is binary code that can just be moved to another location in memory and still execute properly, without needing to be re-linked.
- pkaye 5y ago> It would be interesting to have a 64-bit version just to play with for projects. It could be built in an FPGA. What would you change beyond wider and more registers?
- protomyth 5y agoMaybe a floating point register or two. Maybe some instructions borrowed from the 56000. An array of these processors would be fun.
- 6809fan 5y agoYou might enjoy this paper, which is included with a cycle-accurate 6809 FPGA implementation: https://github.com/cavnex/mc6809/blob/master/documentation/super6809.md https://github.com/cavnex/mc6809/blob/master/documentation/s... I particularly liked how it covered his thoughts on why he'd avoid implementing a Hitachi 6309 instead. There's a bit more on the main README, as well.
- protomyth 5y agoHitachi did love to put their own touch on things. I do wish they had kept going with the SH processors.
- cmrdporcupine 5y agoI've read this before, and I like this bit at the end: "My knee-jerk sense here is that the 6809 was (nearly) the last big combinatorial non-microcoded CPU for a good reason. Some of us adore it, but there's a pragmatic limit to attempting to make a 'super' version of it; the supercharged "thing" quickly ceases to be a "6809" any more." I feel like the same thing applies to people who have tried to extend the 6502 into 32 bits, etc. No matter what you do it just doesn't end up being 6502ish, really. The genius with those processors was what they could do in a single cycle, with a minimal transistor count, fast interrupts, and with a one-byte opcode. It sucks not being able to address more than 64k but everything I've seen that extends that ultimately ends up being awkward and not 6502ish (including the 65816 in this)
- cmrdporcupine 5y agoRob Finch wrote a 6809 FPGA implementation that has extensions to support 32-bit (addressing) http://www.finitron.ca/Cores/CPUCores/rtf6809.html http://www.finitron.ca/Cores/CPUCores/rtf6809.html https://github.com/robfinch/Cores/tree/master/rtf6809 https://github.com/robfinch/Cores/tree/master/rtf6809 It might not be difficult to extend what he has to 64-bits. The 6809 is perhaps the ultimate 8-bit CISC processor. If VAX was the ultimate 32-bit CISC, the 6809 was the ultimate 8-bit. Made to be 'fun' to program in assembly, with an elegant expressive instruction set. After playing in 6502, the 6809 is so lovely in contrast.