An update on my latest adventures in FUZIX land. Since FUZIX is pretty disk heavy, with large binaries, even DriveWire is getting a bit slow. For example, launching a simple command like "ls" (like "dir" in os9) currently means loading 22 KB from disk for the command itself. Of course, "ls" could need a diet
But to get a much more responsive system, some new hardware could be needed.
I have therefore combined a memory extension with a generic SPI interface including a SD card slot (SD cards can be accessed over SPI directly). The SPI interface is based on Daryl Rictor's elegant "65spi
" CPLD design, with André Fachat's modifications
. It is basically a shift register for sending and receiving the data plus a few control registers. Using an external clock (I have a 50 MHz oscillator on my board, using a 1:16 clock divider) the SPI data rate is so fast that on block transfers the Dragon can just read or write the data as fast as it can without any polling (see also driver code
, mainly written by Alan Cox).
This being a generic SPI master interface it is not only about fast disk storage but it opens up for a whole range of SPI peripherals so this can get interesting...
For the memory extension, I was using 128KB in the wire monster prototype, which makes a quite useable FUZIX system, but for the PCB design I opted for 512KB SRAM chips just to be sure. As if anyone would need half a megabyte on a computer :-p The memory layout follows the "nx32" fixed-bank model that I support in FUZIX, n being 16 here. Hence the "spinx" name of course, which otherwise could look like a misspelling
So I guess this is the fastest unix-ish system ever run on a Dragon 32
Maybe with the most memory too. It would require a video to really show it off, but for now I can offer these screenshots.