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 |______________|