John Bell Engineering 6502 Microcomputer 80-153
This page is a work in progress and will be
updated as I have time.
My version of the John Bell Engineering 6502
Single Board Computer 80-153
Back in the early 80s as a college student I
built/assembled an Apple II compatible computer, pineapple computer from Formula
International Inc. I needed an EPROM programmer so I bought the John Bell
Engineering Apple 6522 Parallel Interface card and 2716 EPROM programmer. It
worked fine for what I needed
A bit later I had a contract job to design a timer circuit
to change the sequence of a horizontal copy camera (similar to this
https://www.pinterest.com/pin/516577019735851819/)

The objective was something like turning on
additional lights for focusing before opening the shutter. I first started with
a couple 555 timers but I couldn’t get the sequence right. Then it hit me, I
could use a small computer to do this. I had seen ads for John Bell Engineering
in Byte magazine. I ordered a John Bell Engineering 6502 computer, assembled
it, added some push buttons and relays and had it working. Having an Apple
II compatible computer and an EPROM programmer made it easy to develop the code
and test it out.
Fast forward many years to today, I was
looking thru some boxes with old computer parts and breadboards I had assembled
back in the 80s. I found I had a few 2114 SRAM chips so I thought about
designing a version of the John Bell Engineering 6502 SBC to use the RAM chips.
I did some searching for any info about the JBE SBC.
I great source of info was found on
http://retro.hansotten.nl/6502-sbc/john-bell-engineering-sbcs/john-bell-80-153/
I drew a Schematic using
ExpressSCH. Then started laying out the PCB using
ExpressPCB, trying to stay as close as possible to
the original.
Over the years I’ve used
ExpressPCB for other designs and thought I could
make the 6502 SBC fit on their 2 layer
miniboard service (3.8” x 2.5”).
I made a few changes to the original John
Bell Engineering 6502 SBC board. The changes are:
- Replace the edge connecter with a
26 pin header
- Replace the
resister/capacitor (RC) clock with an oscillator
- Replace the RC reset with
the DS1813 EconoReset
- Add NMI to the header
with optional DS1813
- Add a jumper pad to connect
the 6522 IRQ to the 6502 IRQ
- Add a jumper to select 2716
or 2732 EPROM
- Add jumper (solder blob) to
allow for a NMOS 6502 instead of WDC65C02
- Add 5v regulator
- Add a power LED
Here’s the schematic I came up with


PDF version of the
schematic
PDF version of the schematic:
jbe-sbc-2022-7-schematic.pdf
ExpressPCB
Schematic file: jbe-sbc-2022-7.sch
ExpressPCB
layout file: jbe-sbc-2022-7.pcb
Gerber files (zip file):
jbe-sbc-2022-7-gerber.zip
The PCB layout pretty much follows the original trace
layout.
You can get a copy of the original
documentation here:
http://retro.hansotten.nl/6502-sbc/john-bell-engineering-sbcs/john-bell-80-153/
Here’s the memory map (same as the
original)
|
Memory Map
|
|
2114 RAM
|
0000 - 03FF
|
|
zero page
|
0000 - 00FF
|
|
stack
|
0100 - 01FF
|
|
6522 VIA
|
1C00 - 1CFF
|
|
2716 EPROM
|
F800 - FFFF
|
|
2732 EPROM
|
F000 - FFFF
|
|
NMI Address (low)
|
FFFA
|
|
NMI Address (hi)
|
FFFB
|
|
Reset Address (low)
|
FFFC
|
|
Reset Address (hi)
|
FFFD
|
|
IRQ Address (low)
|
FFFE
|
|
IRQ Address (hi)
|
FFFF
|
Here are the memory locations of the
registers of the 6522
|
6522 VIA Registers
|
|
1C00
|
ORB/IRB
|
|
1C01
|
ORA/IRA
|
|
1C02
|
DDRB
|
|
1C03
|
DDRA
|
|
1C04
|
T1C-L
|
|
1C05
|
T1C-H
|
|
1C06
|
T1L-L
|
|
1C07
|
T1L-H
|
|
1C08
|
T2C-L
|
|
1C09
|
T2C-H
|
|
1C0A
|
SR
|
|
1C0B
|
ACR
|
|
1C0C
|
PCR
|
|
1C0D
|
IFR
|
|
1C0E
|
IER
|
|
1C0F
|
ORA/IRA
|
Comments on the changes I made.
Header:
The original used 23 of the 50 pins of the edge connector. I chose to use
a 26 pin header. Here’s the layout
|
Header
|
|
Pin #
|
Signal
|
|
1
|
+5
|
|
2
|
Gnd
|
|
3
|
PA0
|
|
4
|
PA1
|
|
5
|
PA2
|
|
6
|
PA3
|
|
7
|
PA4
|
|
8
|
PA5
|
|
9
|
PA6
|
|
10
|
PA7
|
|
11
|
CA1
|
|
12
|
CA2
|
|
13
|
/Reset
|
|
14
|
/NMI
|
|
15
|
PB0
|
|
16
|
PB1
|
|
17
|
PB2
|
|
18
|
PB3
|
|
19
|
PB4
|
|
20
|
PB5
|
|
21
|
PB6
|
|
22
|
PB7
|
|
23
|
CB1
|
|
24
|
CB2
|
|
25
|
+5
|
|
26
|
Gnd
|
RC oscillator: I
wanted to use a can type crystal oscillator but there wasn’t sufficient space on
the PCB. I came across the MAX7375 silicon oscillator and found it would
work. The downside is that it’s a surface mount package but isn’t that hard to
solder. I also added 3 pins (+, -, clk) so I
could put a header socket and plug in different clocks for testing.
Reset: I
selected the DS1813 to provide a more reliable reset circuit. I also added
a provision for a reset switch or a 2 pin header for
a remote reset switch.
NMI: I
added the NMI line to the header which connects to an optional DS1813 to
debouce the NMI line. In the future I may have
an add-on board that would have a pushbutton tied to NMI. The way I could have a
routine to capture the processor state. I think I got this idea
from the 6502.org website. Question, will this be an issue upon power up
of the processor since the DS1813 would hold the line low for approx 150ms. Actually, no, since NMI is active on the falling edge of the
line. On power up the NMI line is held low then transitions
to high.
6522 IRQ:
From what I can tell, the original didn’t have the 6522 IRQ line connected to
the 6502 CPU. I added a pad that you could place a blob of solder to
connect the 6522 IRQ to the 6502 IRQ line.
EPROM Jumper:
The original mentions that you could add a wire jumper to use a 2732 EPROM. I
added a 3 pin header with a jumper to select which
EPROM is used.
NMOS 6502 option:
I wanted to allow for use of an older NMOS 6502 chip instead of the newer
WDC65C02. On the WDC6502 pin 1 is named Vector Pull (VPB) which is an output. It
is not used for this design. On the NMOS 6502 pin 1 connected to VSS (gnd).
On the bottom side of the PCB I placed a pad close to
Pin 1 so you can drag a blob of solder from GND to pin 1. Note: this is only for
the older NMOS version of the 6502 chips. Tying pin 1 to ground and inserting a
newer WDC65C02 chip would be extremely bad.
5V regulator:
In the corner of the PCB I placed the pads for a 7805
type voltage regulator. I actually use the switching type regulators
instead of the linear 7805. I’ve had good luck with the 5V, 1.5A
Step-Up/Step-Down Voltage Regulator S13V15F5 from pololu.com product number
#4084 (https://www.pololu.com/product/4084). It allows me to use a wide
voltage range and has the same pinout as the 7805 regulator.
Power LED: like to have an LED to
indicate that power is one. I placed this in the corner of the PCB. The pad
placement is such that you can use 806 surface mount resistor and led or 1/8w
resistor and T-1 led.
Circuit testing.
The first test I performed was right from
the JBE 6502 manual. You connect a speaker thru a resistor to one of port B
pins. The software sets port B to be an output and flips them on/off to
create a series of tones..
Next was to connect
leds to port B with resistors and write a program that turns then on and
off.
Software
I needed to do a refresher course in 6502
assembly as I hadn’t used it for over 40 years. I found Ben Eater’s
youtube videos very informative for creating
assembly programs to try out.
LCD and switches
Display MC14495 Hex display driver
more to come with code samples and photos
Go [Back] [HOME]
Copyright © 2023 Paul Hopkins. All rights reserved.
Revised: 06/01/23.