I scaled back my project to the following goals:
- Use 65816 processor. Consider a 6502 build later.
- Just get something working first. Worry about ISA interfacing later (R1). This will be R0.
- Design for theoretical operation at at least 10MHz. Higher is better. 14MHz may be possible (I'll discuss later).
- Use parts that are still made.
- Use discrete components and TTL glue logic (I think I found a setup where 14MHz operation is possible with discrete TTL).
- Bank 0 should be distinguished, so that other banks can be used for extra RAM.
Memory Map is as follows (ROM split is deliberate- it's not important why, so don't ask):
|0x0000-0x3FFF|RAM|
|0x4000-0x7FFF|PRG ROM (Extra Forth words, helper routines, etc)|
|0x8000-0xBFFF|IO (VIA, ACIA, maybe PIA in future)|
|0xC000-0xFFFF|SYSTEM ROM|
|0x10000+|Extra RAM/ROM (future expansion)|
The program/schematic makes the following assumptions
- RWB is NOT gated for EPROM access (so attempt to write to ROM addresses will cause contention).
- BA0-7 to 373 setup time is not violated (it is neglible for ACT/ABT anyway).
- Delay from 373 output to Output Enable is longer than VDA/VPA to Output Enable.
|Connection |TTL Chip |Prop Delay (ns)|
|:------------------|:--------- |:--------------|
|BA0-7 to A16-23 |74ACT373N |10.4|
|BA0-7 to D0-7 |74ACT245N |9|
|A16-23 to BANK_ZERO|74ACT11030|8.1|
|Many |SN74ACT00N |8.5|
And lastly, I have attached the schematic of my current setup for EPROM accesses. First image is the CPU sheet, second is the EPROM and RAM sheet (ignore the RAM portion- it is wrong). The circuit below satisfies the A16-23 to ~OE conditions from my program for 8MHz, since:
8.1ns (8-input NAND) + 8.5ns (NAND) is < 33.6 ns.
VDA/VPA is also satisfied, as relative to PHI2's falling edge,
30ns address setup + 10ns data setup + 17ns OR (two NANDs) + 8.5ns = 65.5ns, which is less than 125ns-15ns = 115 ns for 8 MHz. I'll add that to my program later.
Code: Select all
F:\Legacy\6502\SOURCE\R1\src>r1timing.py
Desired 65816 frequency (MHz): 8
Decoding delay from A0-A15 to ~CE (ns): 8.5
Required EPROM speed w/ 8.5 glue logic (max access time): 76.5
Decoding delay from A16-23 to ~OE: 33.6
Required bank 0x1-0xFF RAM/EPROM speed w/o glue logic: 33.6Does anyone who has dealt with higher speeds think I'm on the right track?