Chris Ward's 6502 Computer
Created by Chris Ward
The computer has evolved a lot during the 18 months that I've been working on it. I will split the specification into two parts, to indicate what was built first and what was added later.
This is the original specification of the system, and is all I built to begin with:
There is 4k of memory-mapped I/O space. This is decoded to provide chip select lines for 16 I/O devices, each of which may have upto 256 bytes of address space. Hence it is not necessary for each device to have it's own address decoding logic. With the three I/O devices on board, up to 13 more could be added.
Obviously, the base system has no user input or output facilities. Initially, this can be provided by using a PC (or any computer with a serial port) as a terminal on the RS232 port.
The memory map of the base system looks like this:
0000-7FFF : 32k RAM 8000-CFFF : 20k available for future expansion D000-DFFF : 4k I/O space D000-D003 : 6551 ACIA D100-D10F : 6522 VIA #1 D200-D20F : 6522 VIA #2 E000-FFFF : 8k EEPROM
The following devices and interfaces have been added to the base system:
The keypad and the infra-red receiver make use of the 6522 I/O ports. A small additional circuit is needed to buffer the signals between the 6522 and the keypad.
Just a few logic gates are required to interface the LCD display, which is connected almost directly to the 6502's bus. I have placed this interface on my main board.
The real time clock and, especially, the IDE interface are a bit more complex and I have built these together on another circuit board. The RTC is the DS1687 from Dallas. This has a built-in battery and crystal, 242 bytes of non-volatile RAM, and is Y2K compliant. The IDE interface uses latches to bridge the gap between the 8-bit 6502 bus and the 16-bit IDE bus. It should work with any IDE device, e.g. hard disks or CD-ROM drives. The difficult part is writing the software...
Memory map extensions:
D300-D301 : LCD display D400-D401 : Real Time Clock D500-D510 : IDE interface
Only 9 out of the 32 I/O pins on the 6522s are used, so more devices can be attached here. A general purpose 8-bit parallel port would be a nice addition to the computer's back panel. It may even be possible to make a standard PC-style printer port.
The free area at 8000-CFFF could be used for more RAM and/or ROM, and is already decoded into 4k regions by the '138 (see the circuit description). Maybe a plug-in ROM cartridge interface would be useful, or possibly a FLASH memory card system like you see on palmtop computers.
There are still 10 vacancies for devices in the I/O area. Possible uses could be ADCs, DACs, sound or video devices, or more general purpose I/O ports.