mdj wrote:
The IIc firmware uses parts of auxiliary page 2, auxiliary zero page and the auxiliary "Screen Holes". How much of it is actually used depends on what features you've got turned on, for instance keyboard buffering, the mouse, and serial port buffering are the primary (and rarely invoked) culprits.
Great, I simply could not recall the locations. Sadly I forgotten more than I care to admit over the years with this disability. Sometimes, when I'm really into working on something I can tap into that old storehouse. At least the knowledge is still here.
As a mention, I think the Apex 128k developer might fail your tests. IIRC, it uses some aux ram while /ram is still connected. Granted, I never had any problems with the system and I think the /ram blocks are marked but I could never get Don (at microgram) to use the Apple method.If it leaves /RAM connected it definitely fails. Applications that wish to use Aux memory have to disconnect it, then reconnect it on exit. If it's disconnected on launch, you have to stay out of the Auxiliary Language card region as well. Any application that leaves /RAM intact and uses 'some' areas is probably doing so to suppory double hires graphics.
Apex128k used the upper 16k of aux64 for interpreter routines and support code for operating between both 64k banks. Areas under $C000 in aux64 are support routines and data areas such as fonts and some mirror functionality in the main bank.
The 128k version did support Double-Hires but it was not strictly DHR restricted with support for other video modes including GS graphics. I believe those areas are also marked as unavailable in the /ram bitmap as well.
Note that I never had problems from this design on my 2c but it was strictly a 5.25 system with 512k Zram so ProDOS tended to get freshly booted quite often. Where I did have problems was Apex128 attempting to load files directly into aux-ram while running from the ZRam ram disk. I would expect IIe users with aux bank memory cards would suffer similar issues. This was something else I couldn't get Don to fix. I'm not quite sure he understood the problem. IIRC, he skipped from the II+ to the 2GS.
The 16k area in Aux memory behaves exactly the same as the language card area in main memory. Of course when it's switched in, the Aux Zero Page and Stack are also switched in.
Yes, I know this. It's how programs like Apex128 could run from aux64 and still have access to most of the main64 ram. AFAIK, the aux 16k in the aux64 bank worked on it's own and I misunderstood your post. My mistake I think.
Cheers, Mike T