Ideas for the future - retrotruestory/M1DEV GitHub Wiki
In the future, I would like to add an additional card or cards, providing support for a CRT monitor and keyboard. I would like this functionality not to burden the 'main processor' and to be primarily handled by the 'graphics card'.
and port 'Embeddable Linux Kernel Subset' to Magic-1...
As far as adding keyboard/graphics card/etc., this would be a matter of using the memory-mapped I/O system. Current Magic-1 dedicates the physical address space 0xfc00 through 0xffff for use in devices. Further, addresses 0xff80 through 0xffff are dedicated to the existing devices such as the uarts and real-time-clock. See the "Memory Map" section of the homebrewcpu.com "Architecture" page. Note that the page says 0xff90-0xff9f and 0xff80-0xff8f are unused. However, I have since used 0xff90-0xff9f. Thus, you already have a signal on the device card (PSEL0) that is free to use. You could make this the keyboard device. Then, you'd build hardware that such that a read of 0xff90 resulted in a keypress code.
There is a lot more unused address space in Magic-1 that could be used as well for something like a frame buffer for a graphics card. You'd just need to have hardware to decode the proper address range and then also make sure that Minix knows not to allocate that space for anything else.
...Bill