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

Re: Problem with Apple II 3.5 Disk Controller Card on Apple IIe



Jose Carlos Lord Apple <aguilar@onixinformatica.com.br> wrote:

> [IIe crashes when booting ProDOS if Super Serial Card is present]

> > Rubywand, wrote:
> >      What are settings for DIP switches (SW1 and SW2) on your Super Serial
> > Card?
> > 
> >      How is the jumper block set (does the arrow point UP or DOWN)?
> > 
> 
> SW1
> 1: DOWN
> 2: DOWN
> 3: DOWN
> 4: DOWN
> 5: UP
> 6: DOWN
> 7: DOWN
> 
> SW2
> 1: DOWN
> 2: DOWN
> 3: DOWN
> 4: DOWN
> 5: DOWN
> 6: UP
> 7: DOWN

The problem is caused by SW2-6, but I'm surprised that you are getting a
crash by simply booting into ProDOS.  Your SSC might have a fault.

A little theory:

SW2-6 controls whether interrupts from the SSC are enabled.  They are
enabled in the ON (UP) position.

If SSC interrupts are enabled, and the CPU has enabled interrupts, _and_
the 6551 chip on the SSC is activated (by turning on the DTR output),
then an interrupt will occur for any change of state in the DSR or DCD
inputs, or for transmit data complete or receive data pending (if those
interrupt sources are enabled in the 6551 registers).

If the application doesn't have an interrupt handler installed, then the
occurrence of an interrupt will immediately cause the system to crash.

The reason that you aren't seeing a problem with DOS 3.3 is that DOS 3.3
disables interrupts (in the CPU) when it starts booting, and doesn't
normally enable them again (an application might do so).  By comparison,
ProDOS-8 version 1.2 and later disables interrupts during boot, but
enables them once the PRODOS file has been loaded.  (They are disabled
during all subsequent 5.25" disk I/O operations, and possibly at other
times, but the previous disable/enable state will be restored
afterwards.)

In theory, with SW2-6 in the ON position, what is supposed to happen is
that your machine will run fine as long as you don't try to do anything
which enables the serial port hardware (such as a PR#2 command).
Enabling the serial port risks a crash due to lack of interrupt
handlers.  The serial port should only be used while running
communications software which has an appropriate interrupt handler.

If you are getting crashes when booting ProDOS, then somehow your card
is being initialized during the ProDOS boot sequence, or it has some
kind of fault which is causing it to generate spontaneous interrupts.

If you want to use the SSC as a simple serial port to talk to a printer,
without interrupts, then you are supposed to turn SW2-6 OFF, and this
might be your best solution - only set SW2-6 ON while you are running
communcations software.

-- 
David Empson
dempson@actrix.gen.nz