Classic 8-bit CPU (HD63C09P) memory banking glue logic - Page 1
Forum section: electronics / beginners

author: Pugbutt
author_rank: Contributor
timestamp: February 22, 2022, 04:37:48 pm
content: Hi Fellow Nerds,I'm designing a CPU card using an HD63C09P which has a 16-bit address bus, but I want to use a massive 512KB SRAM (KM684000BLP-7) and also a 512KB ROM (TMS27C040-15JL).I think I want to segment 6309's 64KB address space into 8 pages of 8KB each, and have a way to remap any of these pages to anywhere within ROM or RAM. I also want a small area be IO-space and be either relocatable or at least capable of being turned on or off in the memory map, and if this space could contain some memory mapped-registers for bank selection, I think that would be great. The 6309's interrupt vector table is at 0xFFF0...0xFFFF, so the last page should be mapped to ROM initially, but it would be nice to be able to later remap this page to RAM so the vectors could be reconfigured.I have a bunch of little ATF16V8 PALs in DIP-20 packs, but I don't yet know much about them. Would one or more of these be up to the task? It seems like I need to implement some extra address lines and chip selects, (A16, A17, A18... /CSROM, /CSRAM...) How would I interact with the PAL's to select banks? Could they look like memory-mapped registers, or would they be invisible and respond to some type of magic reads or writes or some such? I'm hoping for something performant so banks can be switched using as few instruction cycles as possible,Would it make more sense to use a bigger CPLD for this? (I have an ATF2500C in a DIP-40), or a peripheral controller like a VIA, CIA, PIA, or even an FPGA? I guess having a 512KB SRAM on board already blew any prospects of the thing being period-correct anyway.Attached is the schematic so far, minus glue logic, power-on-reset generator, bus pinout, etc.Geek on,Craig

author: Benta
author_rank: Super Contributor
timestamp: February 22, 2022, 05:57:36 pm
content: 16V8s or similar are fast enough. The 6809 is not a 2 GHz processor.As inspiration for your other issues, perhaps studying the MC6829 can be helpful:http://www.bitsavers.org/components/motorola/_dataSheets/6829.pdf

author: Pugbutt
author_rank: Contributor
timestamp: February 23, 2022, 03:04:20 am
content: I love this and had no idea it existed. Thanks so much.

author: srb1954
author_rank: Super Contributor
timestamp: February 24, 2022, 08:13:36 am
content: Quote from: Pugbutt on February 23, 2022, 03:04:20 amThe 6829 wasn't very commonly used. Instead a lot of designers of 6809 computers systems in the 70's and 80's rolled their own memory management systems out of standard logic chips.Look for documentation for 6809 designs from the likes of SWTPc (Southwest Technical Products Corp), Smoke Signal Broadcasting, Gimix etc.

author: Benta
author_rank: Super Contributor
timestamp: February 24, 2022, 02:01:14 pm
content: Quote from: srb1954 on February 24, 2022, 08:13:36 amI´m not certain that the 6829 ever went into real production. I think it never got past the prototype stage for select cusomers.I just linked to the data sheet for inspiration.

author: nfmax
author_rank: Super Contributor
timestamp: February 24, 2022, 02:11:40 pm
content: Quote from: Benta on February 24, 2022, 02:01:14 pmI have had for some years a small stock of what are supposed to be these prototypes. I haven't attempted to verify this, yet!

author: Benta
author_rank: Super Contributor
timestamp: February 24, 2022, 11:07:59 pm
content: Quote from: nfmax on February 24, 2022, 02:11:40 pmI'm not sure that they are useful without the errata sheets. But it's a rarity.