[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