Re: [stella] Parker Brother's E0 Bankswitching

Subject: Re: [stella] Parker Brother's E0 Bankswitching
From: Adam Wozniak <adam@xxxxxxxxxxxxxxxx>
Date: Fri, 25 Apr 2003 09:09:48 -0700 (PDT)
On Fri, 25 Apr 2003, Joe Grand wrote:
> Hey everyone. I've been trying to figure out E0 bankswitching for a little 
> while now (from the cartridge side, not the programmer side). I read 
> through Kevin Horton's sizes.txt file and Thomas' good explanation 
> (, but 
> what I can't figure out is it seems to me like the currently selected 
> slice/segment relationship needs to be remembered by the cartridge until 
> the slice is changed for that particular segment (using one of the 24 
> hotspots, LDA $1FE0, etc.)
>  From a programmer point-of-view, apparently this requires less overhead to 
> keep track of what bank you are currently in (compared to something more 
> standard like F6, F8, etc.), but I don't quite see that, since it seems 
> that the programmer will need to keep track of which slice is currently 
> "loaded" into each segment.
> The way I'm seeing it, if someone did a:
> LDA $1FE0
> LDA $1FE8
> LDA $1FF0
> 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)?
> Can someone clarify this for me? I confuse myself more the longer I look at 
> this stuff.. I'm trying to figure out if I can do this with simple 
> programmable logic or if I have to use some gates as registers to store the 
> current state of each mapped segment, which would be a bummer.

You seem to have the right idea.  It shouldn't be that hard to implement
in VHDL on a CPLD.

Will code for food.

"Fools despise wisdom and instruction." Proverbs 1:7 

Archives (includes files) at
Unsub & more at

Current Thread