[comp.sys.apple] //GS bank switch mem probs

jdc@beach.cis.ufl.edu (Jeff Capehart) (05/05/88)

I have had some peculiar problems with programs working fine on a //e
and not working on a //gs.  The problem is that they will crash into
the monitor on the GS with an address in the 00/Dxxx range.  Since the
programs are operating in compatibility mode, or rather they are
*SUPPOSED* to operate in that mode, I am assuming that all the bank
switching should work fine, and that the memory there will be RAM/ROM
depending on the soft-switches.  Some programs like to copy the ROMs
to the RAM so that they can operate freely in the 16k Ram card area
(language card ram) without having to switch around to access the
monitor routines.  I am curious if anyone else has had problems like
this and if there is something fairly standard to check.  An example
of a solution might be something like.... on the //e you can double
reference address $C011 and that sets the bank 1 on, but on the GS it
will flip it out of compatibility mode... (Obviously this is wrong,
but this is the kind of answer I am looking for... if there is one.)
Thanks in advance...
Apple2 shall live on!


--
Jeff Capehart 		Internet: jdc@beach.cis.ufl.edu
University of Florida	UUCP:   ..!ihnp4!codas!uflorida!beach.cis.ufl.edu!jdc	

KAPFFER@DMZRZU71.BITNET (Matthias Kapffer) (05/12/88)

Jeff,

the  Apple IIgs has no real compatiblity mode (like GO64 on a C= 128) but just
a  lot  of  single  options like shadowing of video buffers (but not text page
2...   )  and  the  I/O area, emulation vs native mode of the 65816 (don't mix
this  up  with  Apple //e - Apple IIgs compatiblity !), CPU speed etc.  All of
the  advanced  features  of  a  IIgs  can  be  used  by  programs  running  in
"emulation".

To  come  down  to  your specific problem, the hardware of the "language card"
doesn't  cause  any troubles, but the monitor activly manages the state of the
banked  switched  RAM  in  this  area  to  offer  unlimited  access to it (the
appropriate ROMs can be read in bank $FF anyway).  This causes some EXEC files
to  crash  which  use monitor commands to switch over to the RAM and load some
files  into  it.   Also  "G" commands will always call the ROM in this address
range.

                                        Matthias Kapffer
                                        <KAPFFER@DMZRZU71.BITNET>