!pr0
!lm12
!rm75
More on the //e............................Bob Sander-Cederlof

1.  Page Zero Usage:

Last month I erroneously reported that the new //e monitor used location $08 in page zero.  It does not.

However, I was correct when I said the monitor now uses location $1F.  It is possible that your programs conflict with this, and it is possible that some commercial programs conflict with this.  For example, standard SWEET-16 uses $1F for half of its register 15, which is its PC-register.

If you disassemble the //e monitor at $FC9C (CLREOL, Clear to end of line), you will find a STY $1F a few lines down.  This is the only visible place where $1F is used.  However, there are some invisible ones lurking in the shadows of ROM.

2.  The Shadow ROM:

By shadows, I mean the alternate ROM space which overlays the I/O slot ROMs.  By switching the SLOTCX soft switch, the monitor turns on this shadow ROM; the rest of the code necessary in the new monitor is then accessible starting at $C100.  At $FBB4 the new monitor saves the current status, disables interrupts and saves the status of the SLOTCX softswitch, and switches to the shadow ROM.  Then it JMP's to $C100 with the Y-register indexing one of 9 or 10 functions.

The "shadow ROM" (my terminology, not Apple's) covers the address space from $C100-C2FF and $C400-C7FF.  The space from $C300-$C3FF is also there, but it is always turned on in my //e.  It holds the startup code for the 80-column card, and some memory management subroutines.

The space from $C100-C2FF contains the extra code for handling monitor functions in the //e.  $C400-C7FF holds the self-test program that you initiate by pressing control-solid-apple-reset or control-both-apples-reset.  (With both Apples, you get sound with the self-test.)

There is more ROM you switch in and out with another soft switch at $C800-CFFE.  This holds the 80-column firmware.

3.  Version ID Byte:

Location $FBB3 in the monitor identifies which type of Apple you have:

!lm+5
FBB3- 38 ... old Apple II
FBB3- EA ... Apple II Plus (Autostart Monitor)
FBB3- 06 ... Apple //e
!lm-5

This byte is now a permanent feature; Apple will continue to use it as an ID byte in the future.  Art Schumer and Clif Howard published an extensive Version ID program in the February 1983 issue of Call APPLE.  They listed two versions, one for use from DOS and one for use from Pascal.

4.  
