[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 1985 machine spec...
Supertimer <supertimer@aol.com> wrote:
> Linards Ticmanis <ticmanis@coli.uni-sb.de> wrote:
>
> >Paul Schlyter wrote:
> >
> >> In Apple IIe and
> >> IIc though you could use both the 65C02 and the 65802.
> >
> >Is there any advantage to using a 65802? Do programs exist that use it?
> >Or does it execute opcodes with fewer cycles used, thus making the
> >system faster? Or is it just worthless in a IIe?
>
> A few programs used it, most notably VIP Professional, a Lotus 123
> clone (not only did it work just like Lotus 123 it loaded and saved
> Lotus 123 files) and the Merlin16 compiler.
To answer the second part of Linards' question:
The 65802 is no faster than the 6502 when executing 6502 instructions.
It is slightly faster than the 65C02 in a few rare cases (decimal mode
addition and subtraction: the 65C02 takes one cycle longer for these
instructions).
If you are running 8-bit software which knows nothing about the
65802/65816, then you are probably no better off with a 65802 than you
would be with a 65C02.
The only benefit is that it allows programs which support it to make use
of 16-bit operations (by switching into native mode, with interrupts
locked out) and the enhanced addressing modes (which are available in
emulation mode).
Merlin 16 is a good example of this.
Earlier versions of the Merlin/Big Mac assembler (Big Mac, Merlin,
Merlin Pro and Merlin 8) made use of the "Sweet-16" virtual 16-bit
machine (written by Steve Wozniak and originally included as part of
Integer BASIC).
The Sweet-16 virtual machine has sixteen 16-bit registers, and code
written for Sweet-16 is considerably smaller than the corresponding 6502
code, but will execute quite a lot slower due to the overhead of the
interpreter. It is a classic tradeoff between code size and speed - the
code size is reduced but it takes longer to execute. (It is also much
easier to manipulate 16-bit data in Sweet-16, which makes it easier to
write a complex application like an assembler.)
Merlin 16 replaced the Sweet-16 code with direct use of the 65802/65816
processor running in native mode (with 16-bit registers). This probably
made the code somewhat larger, but there wasn't as much of a space
constraint any more, because Merlin 16 only works on a 128K or larger
machine.
The speed benefit was quite significant: Merlin 16 can assemble a
program about five times faster than Merlin 8.
--
David Empson
dempson@actrix.gen.nz