4

On the Apple IIe system, an "auxiliary RAM" card may be present which expands the built-in 64 kB RAM.

When using an aux RAM card which has more than 64 kB, the auxiliary RAM bank in use can be switched by writing to an address in the C07X range. Some auxiliary RAM cards put the bank select register anywhere in the range C070-C07F. Other aux RAM cards, for example the Applied Engineering RAMWorks, only have the bank select register at C073.

Most applications I have encountered use C073, but I have recently found an application, ProTERM 1.x, which I believe is using a different address in the C07X range. Moreover, at least one set of programs, the AE RAMWorks tools, refuse to work with aux cards which have the bank register at any C07X address, since a genuine RAMWorks only listens to C073.

What was the first aux card to feature more than 64 kB of RAM, and at what address was its bank select register located? How did the bank select register address standard develop from there? And out of all the Apple IIe software, what addresses were most commonly used by applications to switch aux ram banks?

2 Answers 2

3

Some auxiliary RAM cards put the bank select register anywhere in the range C070-C07F.

In general this interferes with analogue input reset since original II times. But on the IIe (and IIc) as well with IOU management (Double-HiRes), as they use $C07E/7F and $C077/78 (only IIc). $C074 was as well reserved by Applied Engineering for the Transwarp - after all, they did, AFAIK, come up with the idea to reuse paddle reset.

The only RAM card diverging from $C073, I know, is the Legends E, which uses $C071. Due this it needed to patch for Apple Works.

Other aux RAM cards, for example the Applied Engineering RAMWorks, only have the bank select register at C073.

It was AE that did set this standard and other cards followed. With Apple Works using $C073 to access RAM past 128 KiB, any divergence would add inconvenience to IIe users.

Most applications I have encountered use C073, but I have recently found an application, ProTERM 1.x, which I believe is using a different address in the C07X range.

Mind to share what you found? And sure it's about RAM?

Moreover, at least one set of programs, the AE RAMWorks tools, refuse to work with aux cards which have the bank register at any C07X address, since a genuine RAMWorks only listens to C073.

Seams reasonable. After all, why should they make their tool to work with other cards at all?

What was the first aux card to feature more than 64 kB of RAM,

The first was of course Saturn 128 for the Apple II. (SCNR:))

In case of AUX RAM cards for the IIe, it was AE's Memory Master IIe in 1984, with 128 KiB, allowing two pages of 64 KiB o be switched in. Later 256 KiB (4 pages) as well. This was 1985 followed by the RAMworks (I), starting a 256/512 KiB.

and at what address was its bank select register located?

AE it did set the standard of $C073 as bank register.

How did the bank select register address standard develop from there? And out of all the Apple IIe software, what addresses were most commonly used by applications to switch aux ram banks?

$C073 was common. There was no development beside increase in fitted RAM size (*1) and Apple implementing the use of $C073 with the IIc ROM 3 board - after the huge success AE's Z-Ram extension had.


*1- 16 Mi is a quite high bar to pass before needing more than one byte to switch. IIRC the RAMworks II maxed out at 5 MiB

3
  • Thanks for the info, Raffzahn. ProTERM using a different C07X address is an educated guess. I made a RAMWorks clone which myself and others have tested somewhat extensively and with success. One tester, however, says that ProTERM did not recognize the extra RAM. Checkmate, the company which made ProTERM, marketed their own aux ram card, and their manual suggests that any C07X address can be used to switch banks. So my guess was that ProTERM uses a different address. I will investigate further. Jan 25, 2020 at 3:00
  • @ZaneKaminski Well, this spells already trouble on a II+ with a Transwarp ($C074) installed and even more so on any IIe with double hires ($C07E).
    – Raffzahn
    Jan 25, 2020 at 3:52
  • 1
    My suspicion has turned toward the capacity of my RAM card. It seems that 2MB is not a common RAMWorks capacity, and it could be that ProTERM supports only certain aux RAM sizes, not including 2MB. The fact that only certain sizes are supported may arise from the peculiar bank address mapping scheme used in the RAMWorks, where the bank addresses are not contiguous. This is all just speculation at the moment. I am gonna try limiting my card to 1MB and see what happens then. Feb 3, 2020 at 16:59
2

Figured it out. I consulted the now-expired patent (US4601018) on the RAMWorks, which indicates that the card has the bank select register at not only C073, but C071, C075, and C077 as well. Changing my card to respond to these four addresses solved the problem with ProTERM, and the AE stuff still works as well. So evidently some applications are using these other addresses.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .