The spinx512 board for FUZIX

A place to discuss everything Dragon related that doesn't fall into the other categories.

The spinx512 board for FUZIX

Postby tormod » Mon Dec 14, 2015 12:15 am

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.
spinx512.jpg
The spinx512 board. One CPLD for memory banking and address decoding, the other for the SPI interface.
spinx512.jpg (107.33 KiB) Viewed 601 times

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.
booting-1.jpg
FUZIX kernel booting
booting-1.jpg (109.81 KiB) Viewed 601 times

date10times.jpg
Running date 10 times
date10times.jpg (111.63 KiB) Viewed 601 times

ls10times.jpg
Running ls 10 times
ls10times.jpg (99.97 KiB) Viewed 601 times
User avatar
tormod
 
Posts: 389
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Re: The spinx512 board for FUZIX

Postby robcfg » Mon Dec 14, 2015 10:57 am

Wow! That's a whole new level for the Dragon!

Are you planning on doing a batch of these boards?
User avatar
robcfg
 
Posts: 978
Joined: Sat Apr 04, 2009 10:16 pm
Location: Madrid, Spain

Re: The spinx512 board for FUZIX

Postby tjewell » Mon Dec 14, 2015 3:08 pm

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
tjewell
 
Posts: 203
Joined: Mon Oct 19, 2009 4:58 pm
Location: Cambridge, England

Re: The spinx512 board for FUZIX

Postby tormod » Mon Dec 14, 2015 4:22 pm

robcfg wrote:Are you planning on doing a batch of these boards?

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.
User avatar
tormod
 
Posts: 389
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Re: The spinx512 board for FUZIX

Postby robcfg » Mon Dec 14, 2015 4:30 pm

Does Fuzix have a C compiler or is right now cross-dev the only option?
User avatar
robcfg
 
Posts: 978
Joined: Sat Apr 04, 2009 10:16 pm
Location: Madrid, Spain

Re: The spinx512 board for FUZIX

Postby tormod » Mon Dec 14, 2015 6:33 pm

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.
User avatar
tormod
 
Posts: 389
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Re: The spinx512 board for FUZIX

Postby robcfg » Mon Dec 14, 2015 6:48 pm

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...
User avatar
robcfg
 
Posts: 978
Joined: Sat Apr 04, 2009 10:16 pm
Location: Madrid, Spain

Re: The spinx512 board for FUZIX

Postby tormod » Mon Dec 14, 2015 9:02 pm

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/
User avatar
tormod
 
Posts: 389
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Re: The spinx512 board for FUZIX

Postby Alastair » Wed Dec 16, 2015 12:25 am

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.)?
Alastair
 
Posts: 554
Joined: Fri Jul 18, 2008 11:33 pm

Re: The spinx512 board for FUZIX

Postby tormod » Wed Dec 16, 2015 1:09 am

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.
User avatar
tormod
 
Posts: 389
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Next

Return to Dragon General

Who is online

Users browsing this forum: No registered users and 2 guests