Home

Awesome

<p align="center"> <img src="https://raw.githubusercontent.com/nickbild/6502_os/master/img/vectron_logo_small.png"> </p>

Vectron 64

Custom-built general purpose, programmable, 6502-based computer and operating system.

Specs

Schematics

Fritzing Schematics

Schematics Image

Images

6502 Computer

LCD

Operation

All slide switches must be switched to the right for normal operating mode. Connect a 9V DC power supply and the computer will begin running the program stored in ROM.

To program ROM, slide all switches to the left. Connect a microcontroller dev board (Arduino-like) per wiring guidance in the schematics. Code to perform the programming routine is available in my EEPROM Burner repository.

A small utility, hex.py, has been provided to generate the calls to the write function that are required (in EEPROM Burner) to transfer your binary to the ROM. Create a text file named hex.txt with hex codes, one byte per line, then run:

python hex.py

The included ROM image, 6502.asm, will capture keyboard input and display it on the LCD screen. This serves as a good template from which to build more complex applications.

Reserved Memory

AddressUse
$0000LCD enable
$0001Unused -- read it to disable any IC (except RAM).
$0002Current LCD cursor position.
$0003Flag to indicate if next scan code should be skipped.
$0100-$01FF6502 stack
$7FBE-$7FBFTemporary location for LCD data manipulation.
$7FC0-$7FFFData to write to LCD. Each character (16 x 2 lines) is represented by 2 consecutive bytes (4-bit mode). Most sig. 4 bits are for LCD data. Least sig. 4 bits - only bit 3 used (tied to RS pin).
$FFF8Clock keyboard shift register and enable line buffer.
$FFF9Reset binary counter (counts bits received from PS/2 keyboard packets).
$FFFANMI IRQ Vector
$FFFBNMI IRQ Vector
$FFFCReset Vector - Stores start address of this ROM.
$FFFDReset Vector
$FFFEIRQ Vector - Keyboard ISR address.
$FFFFIRQ Vector

Bill of Materials

QuantityPart TypeProperties
11Ceramic Capacitorpackage 200 mil [THT, multilayer]; voltage 6.3V; capacitance 0.1µF
9Electrolytic Capacitorpackage 100 mil [THT, electrolytic]; voltage 6.3V; capacitance 220µF
1Electrolytic Capacitorpackage 100 mil [THT, electrolytic]; voltage 6.3V; capacitance 47µF
2Electrolytic Capacitorpackage 100 mil [THT, electrolytic]; voltage 6.3V; capacitance 22µF
1Ceramic Capacitor package200 mil [THT, multilayer]; voltage 6.3V; capacitance 0.01µF
374HC08 Logic AND Gatevariant Variant 1; pins 14; chip label 74HC08; editable pin labels false; package DIP (Dual Inline) [THT]; pin spacing 300mil; part # 74HC08
374HCT688Epins 20; hole size 1.0mm,0.508mm; chip label 74HCT688E; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
174LS161Apins 16; hole size 1.0mm,0.508mm; chip label 74LS161A; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
174LS244ANpins 20; hole size 1.0mm,0.508mm; chip label 74LS244AN; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
1WDC 65C02pins 40; hole size 1.0mm,0.508mm; chip label WDC 65C02; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
574HC04pins 14; hole size 1.0mm,0.508mm; chip label 74HC04; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
1Voltage Regulatorvariant sink; chip 78005; package to220-igo; voltage 5V
128C256-15 EEPROMpins 28; hole size 1.0mm,0.508mm; chip label 28C256-15 EEPROM; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
1CY7C199-35PC SRAMpins 28; hole size 1.0mm,0.508mm; chip label CY7C199-35PC SRAM; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
474LS32pins 14; hole size 1.0mm,0.508mm; chip label 74LS32; true; package DIP (Dual Inline) [THT]; pin spacing 300mil
1LCD screenpins 16; type Character
2NPN-Transistorpackage TO92 [THT]; type NPN (EBC)
210kΩ Resistortolerance ±5%; resistance 10kΩ; package 2512 [SMD]
25kΩ Resistortolerance ±5%; resistance 5kΩ; package 2512 [SMD]
53.3kΩ Resistortolerance ±5%; resistance 3.3kΩ; package 2512 [SMD]
1Pushbuttonpackage [THT]
574HC595package DIP16 [THT]; type 74HC595
13SWITCH_SPDTpackage kps-1290
1POTvariant 100k_3362u; package 3362u
1mini DIN 6 Connectorvariant pth; package mini-din6; connector Mini-DIN6
1Crystalfrequency 1 MHz; package THT; type crystal; pin spacing 5.08mm

About the Author

Nick A. Bild, MS