I am building a portable 65c02-based computer that might serve as a useful tool in addition to what I will learn in the process.
All code and hardware is available at https://github.com/snorklerjoe/useful6502.
Here is the rundown of my goals:
- 65c02 processor with surrounding logic to provide some additional functionality:
- User/kernel execution modes
- Protected memory
- Bank-switched application memory (up to 48kiB memory per process)
- PIC16 peripheral coprocessor, DMA interface through dual-port SRAM
- PIC-orchestrated bootloading through the dual-port SRAM
- SD card interface
- PS/2 keyboard interface and character LCD(s) for primary user interface
- Software
- Pre-emptive multitasking
- Basic socket-like FIFO queues
- Trap/syscalls through BRK instruction
- FAT32 filesystem support
- Basic UNIX-like utilities
- Custom libc for cc65 to cross-compile applications
The schematic is available here.