In article <
[email protected]>,
Paul MacMillan <
[email protected]> wrote:
I was playing around with Orca Pascal on the IIGS and wrote simple Peek
and Poke routines (via assembly language) and I wanted to try some
Lo-Res stuff. The soft switches to go to Graphics mode did not work
unless I used the soft switches in the $E1 bank.
Is this expected behaviour? I couldn't find this documented in the Apple
IIGS Firmware manual.
Thanks,
Paul
On a IIgs, the softswitches always exist in banks $E0 and $E1. They generally exist in banks $00 and $01 (if bit 6 of $C035 is clear, which it is under
GSOS, and basically anything that isn't a weird demo).
When you write native IIgs code, you'll be running out of an arbitrary bank that generally will be between $02 and $41 (if you have 4MB of memory),
and the softswitches will not exist in those banks. So you have to be sure
to access a bank where they do exist.
Similarly, if you want to directly access the screen, you'll likely want to use bank $E0 for classic Apple II modes, and bank $E1 for SHR (and DHR). It's possible to use shadowing from banks $00 and $01, and this should work OK
for text/lores since GSOS has left shadowing on for them. I don't know the steps to do so for hires under GSOS (you have to make sure GSOS doesn't try to use the memory for something else, which is very hard for bank $00). GSOS turns off shadowing of the hires pages by default.
If you write a GUI app, you'll need to change $C029 to $41 to turn off SHR
(and $C1 to turn SHR back on), since it overrides any old Apple II video mode.
Kent
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)