plasmo wrote:
We’ve just had a recent conversation in the programmable logic device section about mapping 1 meg memory into 64 16K pages using ATF1502. 16K page size is do-able, but the logic and register files increase rapidly as page size decrease to 8K or 4K. I don’t think ATF15xx CPLD is large enough to map 1 meg memory into 256 4K pages.
Bill
Edit, If the page size is increased to 32K, then the mapping becomes almost trivial. I have a small Z80 SBC that has 32 meg memory on board. I’ve mapped 8 meg to 256 32K banks in CPLD and was thinking about mapping 32 meg memory to 1024 banks, but gave up, not because the logic is hard, it isn’t, but because I don’t want to explain why 1024 32K banks is ever useful on a 14Mhz Z80!
Bill
Edit, If the page size is increased to 32K, then the mapping becomes almost trivial. I have a small Z80 SBC that has 32 meg memory on board. I’ve mapped 8 meg to 256 32K banks in CPLD and was thinking about mapping 32 meg memory to 1024 banks, but gave up, not because the logic is hard, it isn’t, but because I don’t want to explain why 1024 32K banks is ever useful on a 14Mhz Z80!
Dr Jefyll wrote:
wayfarer wrote:
I will be certain to look over your design, that is very much a basic part of what we are trying to accomplish
What's wonderful (and highly unusual!) about the 6509 scheme is that it looks at the extra memory space in terms of entire, 64K blocks (not just an awkward series of "windows" of 16K or whatever). Obviously the 6509 is no '816, but the 6509 designers did have the excellent good sense to treat the memory space as the '816 does (ie, blocks which are a full 64K each).
Unfortunately, the 6509 also has a few warts, probably because the designers were short of time or other resources. In order to preserve compatibility I didn't attempt any changes to moderate those shortcomings. But if you have any serious interest in a 6509-like approach then let me know, as I have some suggestions in that regard.
-- Jeff
fachat wrote:
The 6509 is an interesting approach. I like it because it is symmetrical, no bank is extra except 15 where it boots.
However, being able to cross access banks only with indirect y indexed accesses is not very handy.
The Commodore 500/600/700 BASIC of those machines that used it is quite a bit slower
André
However, being able to cross access banks only with indirect y indexed accesses is not very handy.
The Commodore 500/600/700 BASIC of those machines that used it is quite a bit slower
André
here is what I have so far:
Code: Select all
00-01: WX
YZ-03: Data 7 downto 0
04: AEN, ALE, T/C, RES
05: DREQ/DACK
06: IRQS, MEM R//W
07: IO, RDY, Clk, R/W
08-BC: Address 19 downto 0
DE: Control, Arithmetic Flags
F: Stack
so here the goal is to get the 6502, on the 8b ISA bus, some things, like R/W, can use an inverter, or inverting line-driver, and be split out to 2 lines, things like this can convert the 6800 style, to the 8080 bus. This should, let ISA cards use this bus, and the 6502 to talk to them.