What if independent MOS Technology had survived?
Re: What if independent MOS Technology had survived?
GARTHWILSON wrote:
You don't need to. You just change the stack pointer X when you switch tasks. The system stores the last value for the application, and restores it when it lets it run again. The applications don't have to care where their stack range is.
Quote:
Quote:
It's easier, yes, but it does waste an awful lot of cycles and it's not even very compact either.
Re: What if independent MOS Technology had survived?
Quote:
Or actually, I think it comes back to how hard it is to write in assembly language for most modern processors.
Re: What if independent MOS Technology had survived?
GARTHWILSON wrote:
Quote:
I have some tests with 6809 (2 accumulators) - they show that 2 accumulators may give even more than 100% speed boost.
Quote:
I'd say that speaks very poorly of the programmer! Or actually, I think it comes back to how hard it is to write in assembly language for most modern processors.
Re: What if independent MOS Technology had survived?
litwr wrote:
... at the same frequency because it is slower with memory
litwr wrote:
But the 2nd accumulator gives it a lot of advantages over 6502.
Re: What if independent MOS Technology had survived?
GaBuZoMeu wrote:
yes you could achieve 100% gain under rare circumstances. Otherwise nope.
But litwr's point about the 6809 being slow with memory is valid because there are more dead cycles. (I'm referring to bus cycles, so this is independent of any details of the clock generator).
Example:
- 65xx LDA zero-page takes 3 bus cycles. The 6809 equivalent takes 4 bus cycles. Likewise,
65xx LDA absolute takes 4 bus cycles. The 6809 equivalent takes 5 bus cycles.
Jeff
Last edited by Dr Jefyll on Tue May 02, 2017 3:03 pm, edited 1 time in total.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: What if independent MOS Technology had survived?
Dr Jefyll wrote:
GaBuZoMeu wrote:
yes you could achieve 100% gain under rare circumstances. Otherwise nope.
But litwr's point about the 6809 being slow with memory is valid because there are more dead cycles. (I'm referring to bus cycles, so this is independent of any details of the clock generator).
Example:
- 65xx LDA zero-page is 3 bus cycles. The 6809 equivalent takes 4 bus cycles. Likewise,
65xx LDA absolute is 4 bus cycles. The 6809 equivalent takes 5 bus cycles.
Jeff
Re: What if independent MOS Technology had survived?
GaBuZoMeu wrote:
OK, this was meant with "slow memory". Sorry, I'm not familiar with this term. Thank you 
BTW and FWIW, Hitachi produced its own version of the 6809 -- the enigmatic and legendary 6309. Compared to the Motorola product the 6309 has many *major* improvements. Among these is a drastic reduction in the number of dead cycles.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: What if independent MOS Technology had survived?
GaBuZoMeu wrote:
Are you talking about accumulator B or are you talking about using accumulators A and B as 16 bit accu D? Then, yes you could achieve 100% gain under rare circumstances. Otherwise nope.
Dr Jefyll wrote:
But litwr's point about the 6809 being slow with memory is valid because there are more dead cycles. (I'm referring to bus cycles, so this is independent of any details of the clock generator).
See results for 6309 in my project pi-spigot - viewtopic.php?f=2&t=4185 - it shows that 6309 is the best 8-bit processor. However these results maybe inaccurate I used an emulator to get them. And anyway 6502+ would be much better because 6309 has a lot of bulky instructions, can use only 64 KB of memory, ...
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: What if independent MOS Technology had survived?
Arlet wrote:
And while it's true that you don't need to load/unload the pointers in zeropage, it is quite painful to do pointer arithmetic, such as [B+N*X+offset] addressing, that's typically used in higher level languages. Anybody who disagrees is invited to write a 6502 version of my memory allocation challenge. 
x86? We ain't got no x86. We don't NEED no stinking x86!
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: What if independent MOS Technology had survived?
litwr wrote:
BTW I don't like 65816 PER instruction.
Quote:
PEI and PEA are just extenders to PUSH.
One of the subtle but important benefits of using PEA or PEI to write parameters to the stack is the registers are not disturbed. In fact, I occasionally use the instruction PEA #0 in a loop to create and initialize ephemeral stack workspace as an alternative to REP #%0010000 -- TSC -- SEC -- SBC #NNNN -- TCS. The latter sequence, while faster in moving the stack pointer if a lot of workspace is needed, doesn't zero out the workspace, which is sometimes a requirement, especially if direct page is temporarily pointed to the workspace as well.
x86? We ain't got no x86. We don't NEED no stinking x86!
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: What if independent MOS Technology had survived?
litwr wrote:
And anyway 6502+ would be much better because 6309 has a lot of bulky instructions, can use only 64 KB of memory, ...
You keep comparing apples (no pun intended) to oranges when you bring the 6800 MPUs into the discussion. The 6502's design was intended to eliminate the two most glaring weaknesses of the 6800, namely the lack of two index registers and the cost per piece (the latter is what influenced Wozniak into choosing the 6502 over the 6800). Obviously the 6502 greatly succeeded in that respect, as the home computer revolution was largely fueled by 6502 systems, not 6800 systems.
Comparison of the 6502 to the 6309 is only partially relevant, again apples to oranges—different MPUs with different intended "audiences." The 65xx family stands on its own, as is abundantly clear when one considers the countless millions and millions of 65xx MPUs that have been and continue to be used. Also, it is safe to say that the 6502 (and derivatives) is one of the most documented microprocessors in history. Only recently has the number of Internet search engine hits on "x86" exceeded the number of hits gotten when searching on "6502."
In my opinion, the 65C816 makes a better starting point for a homebrew computer than the 65C02 (or the much slower 6309), simply because it is a much more capable device, yet still adheres to the 65xx "philosophy" of a friendly bus structure, clean programming model and ready availability. One doesn't have to be concerned about 16 MB addressing to build a basic 65C816 system, as minus the bank latching circuitry, the 65C816 looks like a 65C02 as far as memory and I/O are concerned. It powers up in 65C02 emulation mode, which means it will run almost all 65C02 software without error. Once the programmer gets comfortable with the '816 he can switch to native mode (CLC -- XCE) and tap into the enhanced capabilities. That is how I started with my POC units, and it worked out well for me.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: What if independent MOS Technology had survived?
BigDumbDinosaur wrote:
The 6502's design was intended to eliminate the two most glaring weaknesses of the 6800, namely the lack of two index registers and the cost per piece...
Quote:
Only recently has the number of Internet search engine hits on "x86" exceeded the number of hits gotten when searching on "6502."
Re: What if independent MOS Technology had survived?
BigEd wrote:
Citation needed!
BigDumbDinosaur wrote:
You keep comparing apples (no pun intended) to oranges when you bring the 6800 MPUs into the discussion. The 6502's design was intended to eliminate the two most glaring weaknesses of the 6800, namely the lack of two index registers
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: What if independent MOS Technology had survived?
Dr Jefyll wrote:
BigEd wrote:
Citation needed!
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: What if independent MOS Technology had survived?
BigDumbDinosaur wrote:
Arlet wrote:
And while it's true that you don't need to load/unload the pointers in zeropage, it is quite painful to do pointer arithmetic, such as [B+N*X+offset] addressing, that's typically used in higher level languages. Anybody who disagrees is invited to write a 6502 version of my memory allocation challenge. 