Retromaster’s Electronics Projects

…related to old computers and other assorted stuff…

Cumulus Firmware Progress

Posted by retromaster on January 11, 2011

Over the last few days, I’ve improved the Cumulus firmware quite a bit. First of all, as the shots above show, Cumulus now has a proper user interface. The emulation screen shows the state of all drives, including the image mounted, the current track (updated in real-time), and the write protect status. From this screen, one may go into the image selection menu to mount a DSK image in one of the emulated drives or modify the write protect status. Also accessible from here is the main menu which allows one to modify the more general settings/preferences or even reset the Oric.

The square “light” on the top right blinks in green when Cumulus is idle and becomes when red disk operations are being executed. One can even interact with Cumulus while disk operations are in progress. Obviously, disk operations are given priority over user interaction, so the UI may feel sluggish or unresponsive if the drives are being accessed frequently.

As the UI shots already suggest, in addition to all these, I’ve implemented support for multiple drives and it seems to be working well. There is also very preliminary support for the “write sector” command in the firmware at the moment. I’ve done some early tests on this with the Sedoric copy command and I was able to copy some files with success, but I definitely need to do more thorough testing on it to make sure. I am open to suggestions on this.

There are still numerous bits and pieces missing, from both the UI and the WD1793 emulation, but I think this is a good start for verifying the main features on the new board and making them more accessible.

9 Responses to “Cumulus Firmware Progress”

  1. Chema said

    Great! This interface looks terrific🙂

    Apart from usual OS commands to save/copy things to disk, a good way of testing the write sector commands could be using the save option of 1337, Space:1999 and/or pinforic.

    All of them save the current game using direct sector writes to specific sectors in the disk. 1337 uses one sector as a directory and some more to implement the saved game slots. You can launch the game, save it and try to reload. Space:1999 saves the game as two consecutive sectors at a fixed position. In this case you can move the character to another room, get to an infopost and save. Then, for example, relaunch the game and, when asked, say you want to load the saved game.

    In pinforic, when you type “SAVE” it saves the game as a 512-byte sector (don’t remember if more than one where used) at a fixed disk position. “LOAD” should load it back.

    All of them bypass the operating system and use slightly different methods for sector read/write.

    Could that serve as a set of tests?

    Cheers and congratulations again

  2. retromaster said

    Chema, Thanks🙂. I think if I make sure that the set you suggested + the OS routines work well with writes that would be enough.

    Then, of course, “read track” and “write track” commands are still missing, but I think they would not be too difficult (perhaps even easier) to implement.

  3. Dbug said

    Getting better and better🙂

    Something I could think of that could be practical, is the possibility to show on the screen the commands as they are used, would be practical to debug loader problems, find what a game is doing, etc🙂

    You wrote earlier that you did not made Cumulus for the money or the glory, but mostly for yourself as something cool to do. Well, I think you definitely deserve the second, and that you will manage to make a bit of money back, because the effort so far is impressive, and the quality of the device is on par as well.

    I don’t know how much all the work, equipment, etc… has been costing, but what’s sure is that if you decide to build some small set of Cumulus I’m going to buy two of them, even at $100 piece – because it’s worth it🙂

  4. retromaster said

    Debug, thank you for your nice words🙂

    Your suggestion is quite good indeed. It’s kind of the way I’ve been using the LCD until now. I am sure a “log screen” can easily be added to the UI that shows all the commands being issued to the floppy controller.

    I don’t know if I’ll be able to implement everything, but once you get the boards and I release the sources, you’ll even be able to implement features you’d like to see in Cumulus yourself. I plan to add SD Card firmware update functionality so that you won’t even need a PIC programmer (unless something goes horribly wrong of course🙂 ).

  5. Dbug said

    Sounds good🙂

    Could you give the size of the board, and of the screen, I’d like to see if/how it would fit on my modified microdisc case. I’m pretty certain it could be installed on the top, by doing just some rectangular opening to insert the screen and the buttons, but I’m not sure of how to make the SD Card slot accessible🙂

  6. retromaster said

    The board is approximately 10cm by 6cm. The LCD is approx. 4cm across.

  7. Please be aware that I am ready to buy 5 of these things when you are ready to sell them! You will make *some* money, from me, at least!🙂

    [I really, really want my Atmos collection to all have disks .. maybe you could work out a way to interface multiple Orics to the same board combination, heh heh .. ;)]

  8. Gokhan said

    My friend retromaster likes old computers. he is a computer collector like me. Maybe if you offer him some rare machine like Telestrat, he can send very first special cumulus to you🙂 Btw, send me one too🙂

  9. retromaster said

    Well said, Gökhan! Btw, Gökhan is the one who gave me the inspiration for an Oric floppy emulator in the first place🙂.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: