Moin!
Für mein 15 Euro Selbstbau-Computer-Projekt "Sorbus Computer" bin ich gerade dabei, einen "Native-Core" aufzusetzen.
Die Memory-Map ist schlicht gehalten:
- $0000-$0003 "Special I/O"
- $0004-$CFFF RAM
- $D000-$DEFF External I/O (für Erweiterungeskarten)
- $DF00-$DFFF Internal I/O (für den UART, Random-Funktion, Bankswitching, etc.)
- $E000-$FFFF ROM (bis zu 256 Bänke)
Jetzt bin ich am Überlegen, wie ich das ROM aufsetzen sollte. Ein Grafikboard ist zwar in der Entwicklung, der Standard-Zugriff soll aber über den USB-UART erfolgen (zumindest erstmal).
Meine Meinung nach wäre ein Maschinenensprachemonitor im Stil der Freezer Cartridges am sinnvollsten, mit dem Unterschied, dass es einen "Shell-like" Line-Editor statt Fullscreen a la C64 gibt.
Man kann z.B. den Monitor aus dem FC3 einzeln bauen. Allerdings greift der Monitor heftig auf BASIC und Kernal zurück. Auch wenn die Implementierung eines Kernals, der zumindest den Jumptable der CBMs abbildet, sinnvoll wäre, so ist es etwas was bei mir viel weiter hinten auf der TODO-Liste steht. Als quick'n'dirty-Hack habe ich erst mal den WozMon aus dem Apple-1 angepasst. Der ist aber mit seinen 3 Funktionen doch etwas zu minimalistisch.
Jetzt hoffe ich auf etwas Sehwarmintelligenz, die mir eine Alternative aufzeigen kann. Wäre es einfach die Version des WozMon aus dem Apple-II zu portieren? Oder gibt es einen Monitor, der etwas weniger kann, dafür aber auch weniger Abhängigkeiten hat?
(Ach ja, und falls jemand eine Implementation eines 65c02 Direktassemblers in C kennt, wäre ich auch für Hinweise dankbar. Den würde ich gerne in einen anderen Core einbauen, der dazu gedacht ist, der CPU im Detail auf den Bus zu schauen.)