Re: [stella] Parker Brother's E0 Bankswitching

Subject: Re: [stella] Parker Brother's E0 Bankswitching
From: Joe Grand <joe@xxxxxxxxxxxxxx>
Date: Fri, 25 Apr 2003 11:22:09 -0400
Hmm. That was part of my question :) It seems to me that the -cartridge- needs to remember what state it is in in order to properly map the correct slice to the correct segment. From my original question:

The way I'm seeing it, if someone did a:


then slice 0 (0000-03FF) will be mapped to each of the 3 segments (1000-13FF for segment #0, 1400-17FF for segment #1, 1800-1BFF for segment #2). Why would something like that ever want to be done?

And then, the memory map will stay as above until someone later on in the code does a LDA $1FE9, for example, and then slice 1 (0400-07FF) would be mapped into segment #1 (keeping the mappings of segment #0 and segment #2 untouched)?

The cartridge would need to know which slices are mapped to which segment at any given point in time, since it will send back different code to the system depending on which slice is actually mapped into the segment, right? This sounds complicated to me from a cartridge point-of-view, especially if you think in 1982 terms, since there will need to be some state machine circuitry or something to keep track of the state of each segment (so probably 9 bits of storage, 3 bits to specify the current slice 0-7 for each segment).

Maybe another way to ask this is: When programming, once a slice is mapped into a segment (with LDA to one of the hot-spots, LDA $1FE0 for example), that memory map will stay the same until another slice is later loaded into the segment (LDA $1FE1, for example).

Am I understanding this properly?

I know there are some guys on the list that have successfully supported E0 in their Flash/RAM carts, etc. so speak up :)


At 09:30 AM 4/25/2003, Thomas Jentzsch wrote:
Joe wrote:
> Can someone clarify this for me?

Hm, I don't understand your problem.

With standard Atari bankswitching you don't have to remember which segment you are in (since there is only one) but you are very inflexible.

With E0 bankswitching you are very flexible and the more flexible you use the segments the more you have to keep track of what slice is in which segment. Normally you won't swap slices too much, e.g. keeping three segments constant all the time and only swap the fourth one to use different data (or code) for different levels.

What that your question?

Have fun!

Archives (includes files) at
Unsub & more at

Current Thread