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.
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.
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 "The spinx512 board for FUZIX
Re: The spinx512 board for FUZIX
Wow! That's a whole new level for the Dragon!
Are you planning on doing a batch of these boards?
Are you planning on doing a batch of these boards?
Re: The spinx512 board for FUZIX
Oh wow, this is exciting - I'm positively vibrating at the idea of running a unix-ish on the Dragon! I did work on 386BSD back in 1992 (somewhere there's an 8bit scsi driver with my name on it), but I never dreamt I'd see something like this running on the Dragon. Definitely interested in one of these boards if you make more!
Tony
Tony
Re: The spinx512 board for FUZIX
Sure! I would love to see more people developing on FUZIX for Dragon, and over time, even using it I have at the moment just a small number of boards at hand, and will prioritize anyone serious about getting their hands dirty with development, just let me know.robcfg wrote:Are you planning on doing a batch of these boards?
Re: The spinx512 board for FUZIX
Does Fuzix have a C compiler or is right now cross-dev the only option?
Re: The spinx512 board for FUZIX
There is only as09 and cpp so far... Currently we build the kernel and all applications with gcc-6809 (and lwtools) so it is cross-dev. It is very easy to set up on a Debian or Ubuntu machine.
Re: The spinx512 board for FUZIX
Can you point to some instruction on how to setup gcc-6809?
I've tried it a couple of times but couldn't get it working...
I've tried it a couple of times but couldn't get it working...
Re: The spinx512 board for FUZIX
William's instructions on his patch are quite precise, but yes it is not the easiest thing to build. I have pre-built packages for Debian/Ubuntu here: http://toolshed.sourceforge.net/gcc/
Re: The spinx512 board for FUZIX
The board looks amazing, though looking at the screen-shots I reckon a real time clock with battery back-up wouldn't go amiss.
I have one question, is this board for the exclusive use of FUZIX or can it be used with other systems (OS-9, NitrOS9, Flex, DragonDOS, etc.)?
I have one question, is this board for the exclusive use of FUZIX or can it be used with other systems (OS-9, NitrOS9, Flex, DragonDOS, etc.)?
Re: The spinx512 board for FUZIX
The way the memory extension works is similar to my +32K board, just with bank selection added. When mapped in, the selected bank overlays $8000-$FEFF. The FUZIX dragon-nx32 port was written with such a design in mind. For other operating systems, it can surely be used as a RAM disk if someone writes drivers for this.
The SPI interface works independently of the memory extension, and can even be used from BASIC with PEEK and POKE (at the resulting speed). Reading files from a filesystem on an SD card is relatively complex, but e.g. reading or writing to a serial flash memory isn't too difficult. Or an SPI RTC module
Of course, FUZIX has also DriveWire support, so getting the time from a computer or uDW is also possible. IIRC Brett added this to his CoCo3 port.
The SPI interface works independently of the memory extension, and can even be used from BASIC with PEEK and POKE (at the resulting speed). Reading files from a filesystem on an SD card is relatively complex, but e.g. reading or writing to a serial flash memory isn't too difficult. Or an SPI RTC module
Of course, FUZIX has also DriveWire support, so getting the time from a computer or uDW is also possible. IIRC Brett added this to his CoCo3 port.