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.
- CPU: 65C02
- RAM: 32KB
- ROM: 16KB
- CLOCK: 2Mhz
- 6 expansion slots
- Slot 1: UART module
- Slot 1: Video Display Processor (VDP) module
- Slot x: SPI interface(s) (TODO)
- RAM: $0000 - $7FFF (binary 0xxxxxxxxxxxxxxx)
- TMS9918: $A800 - $A80F (binary 10101xxxxxxx1111)
- SERIAL: $B000 - $B00F (binary 10110xxxxxxx1111)
- ROM: $C000 - $FFFF (binary 11xxxxxxxxxxxxxx)
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
Set breakpoint at addr
SBRK addr
Clear breakpoint at addr
(will clear all breakpoints if no address is specified)
CBRK (addr)
STARTING ASSEMBLING AT ADDRESS $1000
1000: LDA #01
1002: ASL A
1003: STA 3000
1006: RTS
<ESC to exit>
// 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