An expandable 6502 SBC
Hardware

A 6502 single board computer.
The circuit consists of a 6502, one or two 32k x 8 RAMs, a 32k x 8 EPROM, glue chip (GAL16V8A), a 1.832 MHz oscillator and an expansion connector.
The use of a GAL for the glue chip allows a complete change of the memory map without any circuit changes. This makes the board very versatile as new interfaces or changes in ROM or RAM requirements can be accommodated without recourse to the soldering iron. For anyone interested an example set of equations for this chip are in sbc.pld and can be compiled with WinCUPL. The fuse file, sbc.jed and the compiler listing, sbc.txt are also included.
Name sbc ; PartNo 00 ; Date 01/08/00 ; Revision 01 ; Designer Lee ; Company ; Assembly None ; Location ; Device g16v8as ; /* This GAL is the random glue for the sbc board */ /* Logic minimisations None */ /* Optimizations None */ /* Download JEDEC/POF/PRG */ /* Doc File Options fuse plot, equations */ /* Output None */ /* *************** INPUT PINS *********************/ PIN 1 = A15 ; /* address bus */ PIN 2 = A14 ; /* address bus */ PIN 3 = A13 ; /* address bus */ PIN 4 = A12 ; /* address bus */ PIN 5 = A11 ; /* address bus */ PIN 6 = A10 ; /* address bus */ PIN 7 = A9 ; /* address bus */ PIN 8 = A8 ; /* address bus */ PIN 9 = RW ; /* read write */ PIN 11 = p02 ; /* phase 2 clock */ /* *************** OUTPUT PINS *********************/ PIN 19 = ROM ; /* 32K ROM */ PIN 18 = port0 ; /* port 0 strobe */ PIN 17 = port1 ; /* port 1 strobe */ PIN 16 = RAM0 ; /* lower 32K RAM */ PIN 15 = RAM1 ; /* upper 32K RAM */ /*PIN 14 = ; /* */ /*PIN 13 = ; /* */ /*PIN 12 = ; /* */ /* intermediate terms */ Mrom = A15 & A14 & A13 & A12 & A11 & RW ; /* Monitor ROM adress range */ Brom = A15 & A14 & (!A12 # !A13) & RW ; /* BASIC ROM C000 - EFFF*/ /* Output terms */ !port0 = A15 & A14 & A13 & A12 & !A11 & !A10 & !A9 & !A8 ; /* 256 byte block */ !port1 = A15 & A14 & A13 & A12 & !A11 & !A10 & !A9 & A8 ; /* 256 byte block */ !RAM0 = !A15 & p02 ; /* lower 32K RAM */ !RAM1 = !(Mrom # Brom # !port0 # !port1) & A15 & p02 ; /* upper 32K RAM */ !ROM = (Mrom # Brom) & p02 ; /* 32K ROM */
CUPL(WM) 4.7b Serial# XX-xxxxxxxx Device g16v8as Library DLIB-h-36-2 Created Wed May 30 06:14:58 2001 Name sbc Partno 00 Revision 01 Date 01/08/00 Designer Lee Company Assembly None Location *QP20 *QF2194 *G0 *F0 *L00000 01010111011101111111111111110101 *L00032 01011011111111111111111111110101 *L00064 01011111101111111111111111110101 *L00256 01010111011110111011101110111111 *L00512 01010111011110111011101101111111 *L00768 11101111111111111111111111111101 *L01024 10011111110111011111111111111101 *L01056 11010111010110011111111111111101 *L01088 11011111110111011111111111111001 *L02048 00000000001100000011000000100000 *L02112 00000000000001111111111111111111 *L02144 11111111111111111111111111111111 *L02176 111111111111111110 *C28A9 *B080
*******************************************************************************
sbc
*******************************************************************************
CUPL(WM) 4.7b Serial# XX-xxxxxxxx
Device g16v8as Library DLIB-h-36-2
Created Wed Jan 03 06:19:06 2001
Name sbc
Partno 00
Revision 01
Date 01/08/00
Designer Lee
Company
Assembly None
Location
===============================================================================
Expanded Product Terms
===============================================================================
Brom =>
A12 & !A13 & A14 & A15 & RW
# !A12 & A13 & A14 & A15 & RW
Mrom =>
A11 & A12 & A13 & A14 & A15 & RW
!RAM0 =>
!A15 & p02
!RAM1 =>
!A14 & A15 & p02 & port0 & port1
# A15 & !RW & p02 & port0 & port1
# !A12 & !A13 & A15 & p02 & port0 & port1
# !A11 & A12 & A13 & A15 & p02 & port0 & port1
!ROM =>
A11 & A12 & A13 & A14 & A15 & RW & p02
# !A12 & A13 & A14 & A15 & RW & p02
# A12 & !A13 & A14 & A15 & RW & p02
!port0 =>
!A8 & !A9 & !A10 & !A11 & A12 & A13 & A14 & A15
!port1 =>
A8 & !A9 & !A10 & !A11 & A12 & A13 & A14 & A15
===============================================================================
Symbol Table
===============================================================================
Pin Variable Pterms Max Min
Pol Name Ext Pin Type Used Pterms Level
--- -------- --- --- ---- ------ ------ -----
A8 8 V - - -
A9 7 V - - -
A10 6 V - - -
A11 5 V - - -
A12 4 V - - -
A13 3 V - - -
A14 2 V - - -
A15 1 V - - -
Brom 0 I 2 - -
Mrom 0 I 1 - -
RAM0 16 V 1 8 1
RAM1 15 V 4 8 1
ROM 19 V 3 8 1
RW 9 V - - -
p02 11 V - - -
port0 18 V 1 8 1
port1 17 V 1 8 1
LEGEND D : default variable F : field G : group
I : intermediate variable N : node M : extended node
U : undefined V : variable X : extended variable
T : function
===============================================================================
Fuse Plot
===============================================================================
Syn 02192 - Ac0 02193 x
Pin #19 02048 Pol x 02120 Ac1 x
00000 x-x-x---x---x---------------x-x-
00032 x-x-x----x------------------x-x-
00064 x-x--x--x-------------------x-x-
00096 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00128 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00160 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00192 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00224 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pin #18 02049 Pol x 02121 Ac1 x
00256 x-x-x---x----x---x---x---x------
00288 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00320 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00352 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00384 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00416 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00448 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00480 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pin #17 02050 Pol x 02122 Ac1 x
00512 x-x-x---x----x---x---x--x-------
00544 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00576 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00608 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00640 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00672 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00704 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00736 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pin #16 02051 Pol x 02123 Ac1 x
00768 ---x--------------------------x-
00800 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00832 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00864 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00896 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00928 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00960 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00992 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pin #15 02052 Pol x 02124 Ac1 x
01024 -xx-------x---x---------------x-
01056 --x-------x---x--------------xx-
01088 --x--x---xx---x---------------x-
01120 --x-x---x-x--xx---------------x-
01152 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01184 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01216 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01248 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pin #14 02053 Pol x 02125 Ac1 -
01280 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01312 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01344 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01376 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01408 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01440 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01472 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01504 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pin #13 02054 Pol x 02126 Ac1 -
01536 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01568 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01600 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01632 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01664 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01696 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01728 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01760 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pin #12 02055 Pol x 02127 Ac1 -
01792 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01824 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01856 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01888 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01920 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01952 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
01984 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
02016 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
LEGEND X : fuse not blown
- : fuse blown
===============================================================================
Chip Diagram
===============================================================================
______________
| car_CPU |
A15 x---|1 20|---x Vcc
A14 x---|2 19|---x ROM
A13 x---|3 18|---x port0
A12 x---|4 17|---x port1
A11 x---|5 16|---x RAM0
A10 x---|6 15|---x RAM1
A9 x---|7 14|---x
A8 x---|8 13|---x
RW x---|9 12|---x
GND x---|10 11|---x p02
|______________|