Hi guys
This is my (hopefully) completed 6502GPD v2.5 design. I'm designing the PCB layout at the moment, but want to get some expert opinions before I get it fab'd (if you guys are happy to do this?).
I'm not going to wire-wrap it as it'd probably cost me less to just get to made (mostly due to the cost of wire wrap sockets).
Over all descriptionIt's a general purpose 65c02 board with as much I/O as possible exposed for experimentation and with expanded memory mapping.
Here are the features:
- 65c02s CPU running at 8MHz (dependant on the max speed of the design, especially the memory banking)
- 16 banks of RAM, each bank is 64KB. Not all is used - see banking below
- 24KB ROM - see banking below
- I/O: 2 channel Serial, TTL level, additional general I/O pins available
- I/O: System VIA
- I/O: User VIA
- I/O: 4 bit banking latch
Memor mapThe system allows for 16 banks of memory to be selected. Each bank is 64KB in size.
Certain memory ranges may not be "banked" and will always map to a specific memory bank or device.
The following is adjustable in the ATF1504 CPLD
$0000-$0FFF : Zero page, stack, some non-bank OS/user space. This will always map to bank 0 no matter the selected bank
$1000-$8FFF : Main RAM, fully bank switchable.
$9000-$90FF : (no device selected)
$9100-$91FF : I/O / Serial/ACIA, always mapped irresepctive of bank selected
$9200-$92FF : I/O / User VIA, always mapped irresepctive of bank selected
$9300-$93FF : I/O / System VIA, always mapped irresepctive of bank selected
$9400-$9EFF : (no device selected - I may map this to RAM in future)
$9F00-$9FFF : Bank latch
$A000-$DFFF : If in bank 0 then OS ROM selected , otherwise the same as $1000-$8FFF
$E000-$FFFF : OS ROM
Total of accessble RAM:
Bank 0 : 36KB >> ($0000-$8FFF)
Banks 1-15 : 48KB each (48KB x 15 = 720KB) >> ($1000-$8FFF, $A000-$DFFF)
Total : 36KB + 720KB = 756KB
I/OACIA/Serial: This was originally going to be a WDC 65C51 but due to a bug in that chip I've gone for a SC28L92. This IC allows 2 serial channels and some general I/O ports.
The serial channels map to 2 headers which provide for TXD, RXD, CTS, RTS and GND, don't use a line driving IC but utilise TTL levels. A TTL to RS232 module map be used with this.
6 outputs pins and 5 input puts are available for user use (OP2-7, IP2-6) and are routed to pin headers.
User VIA: This VIA is dedicated completely to user programs. The pin headers for ports both A & B include their own +5V and GND pins.
System VIA: This is for the OS to use. It gives access to a pin header for 44780 LCD (in 4 bit mode), 4 banks of 128KLB I2C EEPROM and a real time clock (RTC).
Bank latch: Selects the memory bank (0-15). Read/writable. The bank number is the lower 4 bits, the top 4 bits are discarded/set to 0.
User input/outputThe user display/keyboard is going to be from an attached PC via serial channel A. An LCD port may be attached to the appropriate System VIA pins. Additionally, a PS2 keyboard could be mapped to the System VIA (Port B pins 2-7 and CB1 are free and route to a pin header).
Diag/expansionThe following signals are routed to pin headers for diag/expansion purposes:
Address bus (16 bits)
Data bus (8 bits)
65C02 signals: IRQB, NMIB, RESB, RWB
IRQ open drain
PHI2 clock
/RD and /RW from the CPLD (used with non-65xx devices)
4 GND pin headers are dotted around the board for use with 'scope probe ground
Reset button and NMI buttons provided.
Device addressingThe ATF1504AS does all device addressing (ACIA, VIAs, RAM, ROM, bank latch)
IRQ arbistrationThe ATF1504AS does all IRQ arbitration (ACIA (open drain) and VIAs)
RAMThe RAM consists of two bricklaid SRAM ICs with all pins except the /CE enabled pins soldered together.
The bottom most IC /CE pin is soldered directly to the PCB, where-as the top-most IC /CE pin is connected to a nearby single pin header. This has been done to conserve PCB real estate.
Each IC is 512KB - each seen as 8 banks of 64KB - for a total of 1MB. The bottom-most IC covers banks 0-7 and the top one covers banks 8-15.
The top-most IC can be omitted (and the associated /CE pin header), reducing the memory to 8 banks of 64KB.
ClockThe main PHI2 clock is generated via a crystal oscillator can routed through a D type flip flop. This gives a square-wave signal with a 50/50 duty cycle.
PowerThe board has one main power input which expects 5V (reverse polarity protected)
2x Aux +5V power out headers are provided. These don't have any protection (for now).
3x 33uF tantalum capacitors are dotted around the board for power smoothing
Each IC has a 100nF ceramic capacitor across the power pins for smoothing
Circuit Diagram:
Attachment:
6502GPDv2.5.gif [ 194.44 KiB | Viewed 1814 times ]
Please let me know what you think
.