justinmoor / 65021EM

Source code, schematics and other resources for my 6502-based homebrew computer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

65021EM

65021EM stands for 65021 Expandable Microcomputer, a 6502-based computer, made in 2021. The 65021EM runs an operating system called MP/OS (Monitor Programming Operating System).

This repository holds all the necessary resources for the project, which includes source code and schematics.

Specifications

  • CPU: 65C02
  • RAM: 32KB
  • ROM: 16KB
  • CLOCK: 2Mhz

Features

  • 6 expansion slots
    • Slot 1: UART module
    • Slot 1: Video Display Processor (VDP) module
    • Slot x: SPI interface(s) (TODO)

Memory Map

  • RAM: $0000 - $7FFF (binary 0xxxxxxxxxxxxxxx)
  • TMS9918: $A800 - $A80F (binary 10101xxxxxxx1111)
  • SERIAL: $B000 - $B00F (binary 10110xxxxxxx1111)
  • ROM: $C000 - $FFFF (binary 11xxxxxxxxxxxxxx)

MP/OS

Available commands:

Memory display
MD addr1 (addr2)

Memory modify at addr
MM addr byte1 (... byten)

Fill memory range with byte
MF addr1 addr2 byte

Assemble at addr:
ASM addr

Disassemble at addr (optionally amount of lines):
DIS addr (lines)

Execute at addr:
R addr

XMODEM receive at addr:
XM addr

Start BASIC
BASIC

To be added

Set breakpoint at addr
SBRK addr

Clear breakpoint at addr (will clear all breakpoints if no address is specified)
CBRK (addr)

Assembler syntax

STARTING ASSEMBLING AT ADDRESS $1000
1000: LDA #01
1002: ASL A
1003: STA 3000
1006: RTS
<ESC to exit>

Build

// assemble code
cl65 -t none -C memory_layout.cfg --feature labels_without_colons src/main.asm -o build/os

// write to ROM
minipro -s -p AT28C256 -w build/os

// open terminal session
picocom --b 19200 --send-cmd "sx -vv" --receive-cmd "rx -vv" --omap delbs /dev/ttyUSB0 // linux
picocom --b 19200 --send-cmd "lsx -vv" --receive-cmd "lrx -vv" --omap delbs /dev/tty.usbserial-FT4YNKSL // macos

// edit program bytes with hexeditor
hexeditor -b programs/helloworld 

About

Source code, schematics and other resources for my 6502-based homebrew computer


Languages

Language:Assembly 100.0%