[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GS 65816 Chip??



In article <3qetpp$ql4@triode.apana.org.au>,
Andrew Roughan <posty@triode.apana.org.au> wrote:
> 
> Well, I've placed my 65816 into my platinum //e. (I use it to run Merlin16).
> So I'd like to hear the electrical reasons why this should not be done.
> Can someone explain exactly what damage is being done?

I don't know about "damage".  There are several pins on the 65816 that
have different functions to the 6502/65802.  The full list is as follows:

Pin(s)  6502/65802            65816

1       Ground                Vector Pull (output)
3       Phase 1 (output)      Abort (input)
5       No Connection         Memory Lock (output)
7       Sync (output)         Valid Program Address (output)
26-33   Data Bus              Data Bus or Bank Address
35      No Connection         Emulation Mode (output)
36      No Connection         Bus Enable (input)
38      Set Overflow (input)  Memory/Index Size (output)
39      Phase 2 (output)      Valid Data Address (output)


The most serious problems I can see from the above:

1. Vector Pull is usually high, and will be tied to ground.  This
   will cause unusual power drain from this pin.  I don't know whether
   this can damage the micro.

2. The Sync output goes to all of the slots.  If any card is relying on
   this function, it won't work with a 65816 installed.  (The Sync signal
   is not available on the IIgs.  It was replaced with M2SEL, which
   indicates that the address bus contains a valid slow memory address.)

3. The data bus is OK during the second half of each cycle, but during the
   first half, the 65816 will be outputting a bank address.  This is the
   video half of the cycle, and will conflict with video data coming from
   the RAMs.  Every cycle will result in a bus clash, which will cause
   noise, extra power consumption, etc. and may interfere with video output.
   Assuming the RAM chips have a higher drive capacity, the video will
   probably "win" the bus clash.

4. The Abort and Bus Enable inputs will float.  They probably have
   internal pullups in the processor, so this is unlikely to cause
   problems.  It may cause unusual power drain, though.


There are other problems when using a 65816/65802 in a circuit
designed for a 6502, which are related to changed behaviour of the
processor rather than specific pin functions.  The following points
are immediately obvious from the 65816 data sheet:

1. If a native mode interrupt or BRK occurs in a 65816 or 65802, the
   vector is fetched from a different location, which does not contain
   a valid vector in the IIe/IIc.  For safety, interrupts should be
   disabled at all times while in native mode, unless the language card
   is enabled and 65802-specific vectors and handlers have been set up.
   (Merlin-16 should do this, as it runs from the auxiliary memory language
   card space.)

2. The COP instruction uses a vector which is not available in the IIe/IIc
   ROM, so should not be used unless the language card is enabled with the
   required vectors, as above.

3. The RDY signal is handled differently in the 6502, 65802 and 65816:

   6502:  RDY will only cause the processor to stop during a read cycle.

   65802: When in emulation mode, RDY only causes the processor to stop
          during a read cycle.  When in native mode, RDY also causes the
          processor to stop during a write cycle.

   65816: RDY causes the processor to stop during any read or write cycle.

   This may affect any I/O card which makes use of the RDY signal.
-- 
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand