Solving the global IC shortage by reusing old stuff!
Go to file
2022-11-24 23:02:20 +01:00
build Removed build output and .DS_Store files 2022-04-12 12:39:32 +03:00
hardware Solder jumpers instead of 0402 resistors, redundant 0805 decoupling caps 2022-11-24 22:44:36 +01:00
software_linux Removed build output and .DS_Store files 2022-04-12 12:39:32 +03:00
.gitignore R1B2 gerbers, start+stop bits in modem driver 2022-10-18 11:00:00 +02:00
abn6502rom.s Solder jumpers instead of 0402 resistors, redundant 0805 decoupling caps 2022-11-24 22:44:36 +01:00
assemble.sh BASIC interpreter support, PS/2 serial code, scrolling support, cleanup. 2022-09-18 14:02:18 +02:00
burncrom.sh Wireless nRF24L01+ bootloader added! 2022-04-03 14:13:47 +02:00
crom.s R1B2 gerbers, start+stop bits in modem driver 2022-10-18 11:00:00 +02:00
defines_abn6502.s BASIC interpreter support, PS/2 serial code, scrolling support, cleanup. 2022-09-18 14:02:18 +02:00
License.md PCB Silkscreen annotations added 2021-10-30 14:18:58 +02:00
memmap.cfg BASIC interpreter support, PS/2 serial code, scrolling support, cleanup. 2022-09-18 14:02:18 +02:00
README.md Update README.md 2022-11-24 23:02:20 +01:00
userland.s R1B2 gerbers, start+stop bits in modem driver 2022-10-18 11:00:00 +02:00

ABNielsen.com 6502 Single Board Computer R1

This is a 6502-based complete single board computer intended to help during the global IC shortage. Why use new chips when you can reuse scrap?

Complete hardware overview of R1:

Watch the video

Video about the wireless bootloader:

Watch the video

Check out the NEW project on HackADay if you want to read more and see some pretty pictures :)

https://hackaday.io/project/184725-abn6502-sbc-r1

For R1 I got rid of the Padauk MCU without increasing the chip count!

Build instructions:

  1. Send gerber files from /hardware to your favorite board house
  2. Build the firmware using assemble.sh (macOS/Linux) - this will also try to burn the main ROM using Minipro. Dependencies: [CC65] (https://github.com/cc65/cc65) and a way to burn the ROM's.
  3. Source the IC's - the spirit of this project is to contribute as little as possible to the global IC shortage and get used chips locally or from Ebay/AliExpress/etc.
  4. Burn the ROMs. I use a TL866II Plus variant for the actual ROMs.
  5. Solder away. If you can solder 0805 components(poorly), you should be fine. Some optional components (the microUSB connector, the 3v3 regulator, and the RF-module) require a bit more skill.
  6. For the PS/2-keyboard I use the 6522's Shift Register, PB6, and a 74xx74 flip flop. See my R1 Hardware overview at 7:46: https://youtu.be/w5cA64xof2I?t=466 This is now included on the board - instead of a PS/2 connector which can be harder to source I went with a USB-A-connector. Keyboard plugs straight into the board.
  7. Enjoy!

Optional: Setup SSH keys with a Raspberry Pi, connect an nRF24L01+ compatible module to it and compile the wireless bootloader code in /software_linux

Also optional: Microsoft BASIC can be enabled by cloning the msbasic Github repo into the same folder you cloned this repo.

git clone https://github.com/mist64/msbasic.git

Then uncomment ;BASIC := 1 (Remove the ";") and run assemble.sh - this will let you run BASIC by pressing F4. To change settings for BASIC, values can be changed in defines_abn6502.s

Also, please note that the current code assumes VRAM starts at $0800 rather than the default $2000 in the schematic - resistors will have pads for configuring in the next build, but for now it requires jumpers.

License: Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) https://creativecommons.org/licenses/by-nc/4.0/