Dosius wrote: > I have unsuccessfully tried to bump my emulator up to 128K. I can get > up to 112K, but something appears to be wrong with my mechanism for > paging in/out re: the language card space if I go 128. Does anyone > know how this works and can explain in "relatively plain English" ? There are three separate mechanisms used for bank switching between main and auxiliary memory in a 128K Apple II: 1. Main/Aux Read/write selction for the 47.5K area at $0200-$BFFF. 2. Main/Aux selection for the zero page, stack and language card area ($0000-$01FF, $D000-$FFFF). 3. 80-column text and graphics mode switching ($0400-$07FF and $2000-$3FFF). Assuming you have the first and third mechanisms working correctly, I'll describe the second. There are three soft switches involved: MainZP ($C008), AltZP ($C009) and RdAltZP ($C016). The first two are write only, the third is read only, as per other IIe soft switches in this area. With MainZP active, $0000-$01FF and $D000-$FFFF access main memory. With AltZP active, $0000-$01FF and $D000-$FFFF access auxiliary memory. The language card soft switches ($C080-$C08F) are independent of this - they affect read and write accesses in $D000-$FFFF in the normal manner (read ROM or RAM, write enable or write protect RAM, $D000-$DFFF bank selection). The MainZP/AltZP switch just changes the RAM bank being accessed through the language card area. If ROM is selected and RAM is write protected, the MainZP/AltZP switch will have no obvious effect on this area (but will still switch the zero page and stack, and the changed language card bank will be exposed if language card RAM is read or write enabled). I hope that explains it sufficiently for you to implement it. -- David Empson dempson@actrix.gen.nz