INTL 3:770/1 3:770/3
REPLYADDR mjmahon@aol.com
REPLYTO 3:770/3.0 UUCP
MSGID: 310ed973
REPLY: 3897d3ea
PID: SoupGate-Win32 v1.05
Lawrence D'Oliveiro wrote:
> On Mon, 23 Dec 2024 03:26:11 +0000, Brian Gregory wrote:
>
>> On 18/12/2024 06:22, Lawrence D'Oliveiro wrote:
>>
>>> On Sun, 01 Dec 2024 15:11:05 +0000, Richard Kettlewell wrote:
>>>
>>>> The Natural Philosopher writes:
>>>>
>>>>> I also remember a zilog Z8000?
>>>>
>>>> Yes, although also with a segmented memory model.
>>>
>>> Its segmentation scheme made Intel x86 look good.
>>
>> Not that unusual. Compare to some of the Microchip PICs. Some have
>> really bizarre bank switching arrangements and so on.
>
> I think the Apple II RAM expansion card worked by switching to a different
> bank (48K each?) every time a particular control register byte was
> written. You couldn’t just write a bank number: instead, you had to repeat
> the write N number of times, and I guess remember where you started from,
> to get to the right bank.
>
> But this was because the CPU itself only supported 16-bit addressing. What
> was Zilog’s excuse?
>
Apple sold three memory expansion cards for the (8-bit) Apple II’s: the
16KB Language card that allowed bank switching RAM in place of the built-in
BASIC ROM, and (later for the Apple IIe) the 64KB Memory Expansion card for
the Apple IIe that allowed bank switching in a second 64KB of RAM bank
switched over the built-in 64KB (both were further bank switched the same
way as a 48KB Apple II equipped with a Language Card), and finally, the
“slinky”-style 256KB - 1 MB card that was not bank switched, but supported
sequential reads or writes through an autoincremented register set up by
the programmer (used primarily as a RAM disk).
Many other manufacturers offered cards of various capacities emulating the
architecture of each of Apple’s cards.
I know of no expansion card that required multiple control byte accesses to
select a particular bank.
Instead the bank value was stored in a control register, but this was only
for third-party cards with more than one additional bank. Since Apple never
shipped such a card, different manufacturers did not all choose the same
control byte address, nor did they interpret the control value the same
way.
Apple set the standard and a large number of applications used it. The
third-party extensions were supported by a smaller group of applications,
sometimes by design and sometimes by patches to applications.
BTW, banks were switched in selectively for reading or writing, so copying
data from one bank to another or executing code that wrote to another bank
was quite easy.
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
SEEN-BY: 10/0 1 19/10 103/705 105/81 106/201 124/5016 128/187 129/305
SEEN-BY: 153/757 7715 218/0 1 601 700 840 220/70 221/1 6 360 226/17
SEEN-BY: 226/30 100 227/114 229/110 111 114 200 206 300 317 400 426
SEEN-BY: 229/428 470 550 616 664 700 705 240/1120 266/512 267/800
SEEN-BY: 282/1038 291/111 292/854 301/1 113 812 310/31 320/219 322/757
SEEN-BY: 335/364 341/66 342/200 396/45 460/58 633/280 712/848 770/1
SEEN-BY: 770/3 100 330 340 772/210 220 230 902/26 2320/105 5020/400
SEEN-BY: 5020/1042 5075/35
PATH: 770/3 1 218/840 221/6 301/1 218/700 229/426
|