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:

  1. Replace the edge connecter with a 26 pin header
  2. Replace the resister/capacitor (RC) clock with an oscillator
  3. Replace the RC reset with the DS1813 EconoReset
  4. Add NMI to the header
  5. Add a jumper pad to connect the 6522 IRQ to the 6502 IRQ
  6. Add a jumper to select 2716 or 2732 EPROM
  7. Add jumper (solder blob) to allow for a NMOS 6502 instead of WDC65C02
  8. Add 5v regulator
  9. 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 a DS1813 to debouce the NMI line.  I think I got this idea from the 6502.org website. The question is, will this be an issue upon power up of the processor. 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: 05/30/23.