[comp.sys.apple] Apple //c Resets heck, resets in general

jetzer@studsys.mu.edu (jetzer) (04/26/88)

In article <8804200757.AA17542@crash.cts.com>, tmetro@pro-angmar.UUCP (Tom Metro) writes:

> I read an article that explained how you could copy the ROM code at $D000 to
> $F800 into the Bank Switched RAM on a //e. This then allowed you to modify
> vectors that are at the top of the address space, such as RESET, IRQ and NMI.
> I tried this on my //c. I was able to copy the ROM code, verify that I had
> copied it, modify the code, and verify my modifications. The modification I
> tried was to redirect the RESET vector, but it wouldn't work. I verified that
> I had the Bank Switched RAM selected for read operations by looking at the
> status of $C011 and $C012. The RESET still caused a normal reset and left the
> //c with the ROMs selected and the RAM turned off. 

> Does anyone know if the hardware that controls the bank switching on a //c
> gets reset with the RESET signal?
> It must not on a //e for this to work...
> Is the $D000-$FFFF bank switched RAM contained on the motherboard of the //e?
> This article gave me the impression that it was located on a card, but maybe
> that refers to an unenhanced //e.

Have you actually done this on a //e?

According to the "Reference Manual (for //e only)": [non-enhanced]

"When you initiate a reset, hardware in the Apple IIe sets the memory-
controlling soft switches to normal:  main board RAM and ROM are enabled,
. . . , the bank-switched memory is set up to read from ROM and write to
RAM, using the second bank at $D000."

Turning the page, a shaded box under the "Warm-start Procedure":

"A program in bank-switched RAM cannot use the reset vector to regain control
after a reset, because the reset routine enables ROM in teh bank-switched
memory space.  If you are using Integer BASIC, which is in the bank-sitched
RAM, you are alos using DOS, and it is DOS that controls the reset vector
and restarts BASIC."

The "Apple //c Reference Manual" also says:

"A program residing in bank-switched RAM cannot use the reset vector to regain
control after a reset, because upon reset the hardware selects the ROM for
reading in the bank-switched memory space."

It seems unlikely that the original article was about a //e.  Maybe a ][+
(I'm reasonably certain that this was possible on a ][+).

Maybe all this information is overkill, but there seems to be a bit of
confusion ...
-- 
Mike Jetzer
"Hack first, ask questions later."