Hot answers tagged

46

Why did manufacturers of home computers avoid using the 6809 CPU? I can't really see that anyone 'avoided' it. There have been many successful machines using the 6809. Beside the mentioned Tandy's CoCo there where other computers for the general audience, like (Not exhaustive, there might be many more, as it's just from memory) Hitachi MB6890 of 1980 and ...


28

While I don't know the answer to this, I'll hazard a few guesses: It was quite an expensive CPU. For example, in 1983 retail price in the UK was £6.50 for the 6809 or £12 for the 68B09, versus £3.20 for the Z80A or £5 for a 6502A. Its performance didn't exactly set the world on fire. With most instructions taking 3-7 cycles at 1MHz, the base 6809 ...


24

From Byte Magazine article on 6809, by Terry Ritter: Point 11: Tell me again about the stack pointers: why two stack pointers? Answer 11: Good Point. The original reason for adding the user stack pointer was to facilitate the creation of a data stack in memory that is separate from the program stack. This avoids one of the serious problems ...


23

The 6809 has a couple of instructions which provide very quick ways of pulling (popping) and pushing registers off and onto the stack, PULS/PULU and PSHS/PSHU. PSHx only takes 5 cycles plus one per byte, which is much faster than other methods of writing to memory. So by pointing the stack registers (U and/or S) at the area of memory you want to read from ...


21

The basic improvements over the 6809: - 2 more 8bit accumulators; additional 8 & 16 bit registers - native and 6809 emulation modes - fewer execution cycles in native mode - improved instruction set - error trapping (illegal instruction & divide by zero) - roughly 10% speed increase in emulation mode/40% in native mode (both application dependant) - ...


17

The price was defined obviously by marketing team, therefore their decisions are out of reach for the logical engineering mind :) Probably they were relying on the marketing company (like this one https://cdn.hackaday.io/files/460001968064000/byte_6809_articlesx3.pdf) and thought people would be immediately convinced by cool features and buy 6809 whatever ...


16

It was just standard market positioning. The 6800 was still a current product and in use in many systems at the time, so they priced the 6809 as a more powerful alternative to both that and the Z80. The 6809 was expected to be used in higher end systems that cost more anyway, so Motorola naturally wanted their cut of that.


13

It's one divided by the clock. So for 0.895 MHz divide 1 by 895000 and the answer is 1.117318 micro seconds. for 1.79 Mhz it's 558.6592 nano seconds. I suspect however that the clock will be some multiple of NTSC timing (or PAL for European computers). Wikipedia gives NTSC timing as 3.579545Mhz which divided by four gives 0.89488625Mhz (i.e. nearly your 0....


13

The 6809 offers to combine indirect with either a fixed extended (16 Bit) address or all indirect indexed modes. These modes are extremely useful for all kinds of linked list and/or table processing. Essentially the basics for any operating system, thus simplifying and speeding up OS programming including any kind of list defined I/O. Especially the latter ...


13

E is used for memory selection in a similar way as 6502 do (or 6800 phi2). Q should be used as a signal "data stable" (due to "The MC6809 Cookbook"). Let me quote: Addresses from the MPU will be valid with the leading edge of Q. Data is latched on the falling edge of E. It is called the "quadrature clock" and it is used sometimes in other systems too. ...


11

So far as I can see, the 6809 lacks instructions that the 6800 has, such as aba, eorb ABA becomes PSHS B; ADDA ,S+ - a nifty use of the autoincrement feature. It shows as well were the temporary byte location comes from. After all, stack relative addressing, as well as indexing was one of the main features of the 6809. In fact, looking at his changes it ...


10

Based on the absolute dearth of information on the Motorola 68486/68487 video chipset (RMS), I would conclude that it was never officially released as a product for OEMs, and was therefore never used in any actual computer products. [UPDATE: Per OP finding, it appears that one company, Micro Concepts of the UK, was offering an SBC based on the 68000/010 ...


10

Although not too obvious, almost every feature of 6809 looks like specially made for high level languages like C and for 'serious' systems like OSes. For example, indirect addressing is convenient to dereference the pointers (like a=*b in C), stack-offset addressing simplifies working with local stacked variables, position-independent code simplifies ...


10

The rounding capability is useful when doing fixed point math with exactly eight fractional digits. For example, supposing that the number in A is a fixed-point number with 2 fractional digits, and the number in B is a fixed-point number with 6 fractional digits: lda #%00100010 A=%001000.10=8.5 ldb #%11110000 B=%11.110000=3....


10

Well, the intent behind the two-stack design we can only guess today. It was definitely not the same as the intent behind the later development of User and Supervisor Stack in the Motorola 68000. The 6809 has nothing comparable to a supervisor mode. Also the implementation is different: The later 68000 uses both stacks as system stacks (i.e. stores return ...


8

This PDF by Darren Atkinson gives you everything you want to know about programming differences between the two. It begins with a very thorough Leventhal-style instruction set reference, with everything 6309-specific clearly marked, then an in-depth article about the differences, then an opcode map, then a chart of undefined opcode behavior.


8

Pin and software compatible. Two extra 8-bit accumulators. Instruction fetch pipeline. Division instruction. Lower power consumption.


7

The skew between min and max propagation delays was a lot larger in old multi-micron NMOS processes (an understatement). The digital rise and fall times could be quite asymmetric. This made transistor sizing to prevent both setup and hold timing violations more difficult. Arithmetic combinations of a two phase (or more) or quadrature clocks allow creating ...


7

Can anyone offer some back-of-envelope sort of estimates of what sort of gate count was needed to add a multiplier to 8-bit CPUs? An 8x8 array multiplier build from 6T adders comes down to 8x8x6=384 transistors. With buffers/drivers this easily reaches beyond 400 transistors, maybe even near 600 when latching is needed. Further some decoding (PLA) and ...


6

The first production 6809 was fabricated around 3 years after the first production 6502, and thus, according to the Moore's Law rate of transistor density improvements, was likely fabricated using a small enough transistor geometry that more than double the number the number of transistors were available for the same initial die yield and cost, thus allowing ...


6

Your analysis seems pretty good. To confirm, the E clock is 1/4 the oscillator frequency. The data sheet also states that the free running counter (FRC) is driven by that same E clock. Your conclusions of the setting of the output compare register (OCR) is also correct. So how can there be a discrepancy? When I programmed this chip, it was very common to ...


6

The boards are essentially "serial to parallel converters," but probably not of any type anybody here is familiar with. A manual has been found that describes two devices, the MSD-1 Multiple Status Display and the MDC-2 Multiple Direct Command Option, used with the Moseley Associates Inc. MRC-2 system, a microprocessor-based system for monitoring ...


6

Like it says, it is useful for rounding the most significant byte. If you are only interested getting a 8-bit answer, and thus want to discard the low 8 bits of the multiplication. If the answer would be 234.9 for example, taking the high 8 bits directly would truncate to 234. Rounding to 235 would be closer to result. It could be accomplished by a 16-bit ...


5

TL;DR: It allows the use of MUL as part of a Multiply-Accumulate operation, by providing the rounding factor from the multiplication for a follow up addition. The Long Read: It's not about (mathematical) rounding of the result as 16 bit value, as a multiplication will never have any remainder. It's about supporting rounding toward an 8 bit value as it is ...


5

The Microware Assembler has no way to inform you of why it is issuing a warning. It keeps track of the total number of warnings, and also of the number of warnings on each line. If a line has any warnings, then when it is listed the assembler puts the "W" flag on that line1. At the end of the listing, the assembler prints the total number of warnings. ...


4

With some Google sorcery, I finally located a system that used the elusive RMS chip set: The Microbox 3 manufactured and sold by UK-based company "Micro Concepts" from Cheltenham! I can only find it described in detail one place and that is in the Electronics & Wireless World issue of May 1986. On page 63, it is announced as the British rival to the ...


3

While the 6809 had (and still has) technical applications, it lost out badly in the consumer market in the “mug's eyeful” department: if you were buying your kid a computer for Christmas and didn't know any different, why buy the Dragon which only had 0.89 megahertz when the ZX Spectrum came with 3½ of them? While folks here know that processor speed isn't ...


2

Many high-level language compilers store local variables (or, as C calls them, "objects with automatic duration"), on the stack. They also store temporary computation results and arguments of functions they're about to call there as well. Suppose a compiler sees foo(x,y); when two-byte value x is sitting at a spot 4 bytes above the stack pointer and y is ...


2

This is a fascinating subject, IMHO, and a fun one to find searching Google for a Z80/6502/6809 showdown. I think one of the areas that people in here haven't addressed - aside from cost - is the ability to license the 6809 core vs, say, the 6502. Let's take for example, Atari. Both Atari Inc and later Atari Corp. Atari Inc. did end up using the 6809 ...


2

One of the missed opportunities, in the United Kingdom, was the BBC Micro. In 1979 Acorn was selling 6502-based eurocard kit computers, and quickly brought out a successor based on the 6809 -- often omitted from descriptions of Acorn, but you can see one here http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_6809_CPU.html It was vastly better ...


Only top voted, non community-wiki answers of a minimum length are eligible