I've built my own very affordable little open source 65C02 based computer by just using a Raspberry Pi Pico as the chipset: https://xayax.net/sorbus/.
As I've got a bare minimum kernel running by now, I want to look into additional environments to include. A BASIC interpreter comes to mind at first (and will be done in the future), but I also would like to include at least one not so obvious choice. Having read about the RSC Forth included into the R65F-line of CPUs by Rockwell, I thought that this might a an interesting choice.
However, never having used Forth, I'd like to get the opinions of some more experienced persons on this. Here's what my system looks like:
- 65C02, running at ~1MHz
- Offers serial console via Pico's USB UART
- using flash to simulate a hard drive
- 4MB
- with DMA transfer
- CP/M based filesystem
- kernel provides load, save, etc using software interrupts
- memory map
- $0000-$0003: I/O
- $0004-$000F: reserved for kernel
- $0010-$00FF: user zeropage
- $0100-$01FF: stack
- $0200-$03FF: reserved for kernel
- $0400-$CFFF: user memory
- $D000-$DEFF: I/O for expansion cards
- $DF00-$DFFF: internal I/O (like UART, internal drive)
- $E000-$FFFF: ROM space (banked: bank 0 = RAM, bank 1 = kernel, bank 2 = Forth?)
- $FF00-$FFFF: Bankswitching code, handler for software interrupts, etc.
- Capable of running CP/M 65: https://github.com/davidgiven/cpm65
- build price: <$15
But there are a couple of questions I'd like to have asked before spending time on it:
- Is it a good idea to start with RSC Forth, or is it just totally outdated?
- If it's usable, should I go for the "small" or "large"?
- Is there already a disassembly that I can use as a starting point?
- If it's not usable, what else can I use with my memory map?
- Will there be anyone else but myself using this?