Retromaster’s Electronics Projects

…related to old computers and other assorted stuff…

More Cumulus News

Posted by retromaster on January 17, 2011

Time for some more Cumulus news. There is not a lot, this time, though.

Over the last few days, I’ve worked on the firmware and made numerous small improvements and fixed some minor bugs. I’ve also implemented the log feature suggested by DBug.

I’ve also had the chance to do some tests on the newly-added write feature. I found out that, there was a bug in the code that caused part of the data not being actually written to the SD card. This bug was causing, strangely enough, “Disk Full” errors when copying large files under Sedoric. I’ve fixed this bug and now files are being copied without problems. I’ve also tested saving a game in Space 1999 and that seems to work, too.

Finally, I ordered yesterday some CumuluBus boards from the PCB manufacturer. I should receive them sometime next week, if all goes well. In the meanwhile, I’ll try to locate a cheap local source for the LCD modules. Afterwards, I plan to start assembling some boards :). Also, I am going to put up a project page for Cumulus very soon.


12 Responses to “More Cumulus News”

  1. As soon as you are ready, I will purchase a set of boards and help out! I wish I’d been able to be more involved in the software side of things, but you are definitely powering ahead of the pack ..

  2. retromaster said

    Thanks Jay. Part of the reason why I am “powering ahead of the pack” is because I wanted to make sure that there weren’t any problems directly related to the hardware… Sometimes, one encounters problems that are not solvable in software, so I wanted to first ensure that the basics work well enough.

  3. Dbug said

    Hi, I was wondering about the SD-Card, the module you are using, does it accept a large set of SD-Card (like MMC, SD, SDHC, small and large, slow and fast, …) or does it require some specific types of cards, min-max size, particular speed, etc… ? And does the type of card impact the performance of the Cumulus board ? Does it require special formating, or default standard FAT16/FAT32 are working well ?

    About the card structure, does it accept long filenames, or does it has to be some form of 8.3 format, does it accept folders, will it crash if there are files other than DSK files (like for example if I have a folder with some oric documentation, an old photo from my digital camera, and a text file with the login and password to my bank website :D, etc… ?

  4. retromaster said

    The SD-Card module should accept a wide range of cards, I’ve tried cards of size 1GB to 4GB, including SDHC. In theory, it should support older MMC cards, too, but I haven’t tested one. The speed should not make a major difference. FAT32 formatted cards with long filenames are supported, but only up to 22 characters can be displayed on screen. Folders are supported. FAT16 is not supported.

    Hopefully it won’t crash if there’s anything other than DSK files on the card, and if it does actually find “a text file with the login and password to your bank website” it will send the information to me at the first opportunity! 😛

    Anyway, I’d like to remind you (and any other followers) that you should not consider this as a “finished product” (at least not yet). I’ll try to do the best I can but as the current version number on the about screenshot above suggests Cumulus is far from complete, yet. The main reason why I am starting to assemble boards is because Jay suggested that he would like to help with the firmware development and perhaps there may be other people interested.

    Another point I’d like to make is that I’d like to make Cumulus boards for everyone who would like to own one, but I have very limited time to build them and it is rather labor-intensive to build SMD boards by hand. It is also a problem to procure the parts in quantity (due to potential customs issues where I live). So, I’ll do my best, but it will definitely take some time to build boards. So, anyone who wants to obtain a Cumulus from me will have to be patient, or arrange for someone else to make it for them.

  5. Dbug said

    I was more giving these questions and suggestions as points to check before going forward. Sometimes it helps finding something one did not think of 🙂 I guess in hardware it’s like in software: Fixing a problem earlier is less costly/difficult than when the product is nearly finished.

    I would definitely have been interested in helping on the firmware side, but I have absolute no knowledge in hardware programming, and I guess it’s not some language like C or C++?

  6. retromaster said

    I guessed your intent with the original questions, anyway it does not hurt to do a little course-correction, just in case, does it? 🙂

    Actually, the firmware is written in pure C 🙂 Just check a few PIC programming examples on the net if you’re interested.

  7. Dbug said

    Ha, ok, well then if that’s C, that’s no problem, I can help 🙂

    Actually it means that at some point we could even put the source code on the SVN repository ( so everybody interested can edit and update the firmware if they wish so, and it guarantees it does not get lost 🙂

    When do you think you could start sending the firmware code, I think I would learn more about what can be done by looking at the actual Cumulus firmware, the few samples I’ve checked here and there were minimalistic with not much vision on how it all works together.

    If I understood correctly, you have a version of GCC that can make code for this PIC, and then you can upload the generated binary from a SD card directly to the cumulus board? I guess there are restrictions about the size of the executable, if it can contain binary data (like font, bitmaps, etc…) assuming there’s room, it’s probably possible to make very entertaining things, specially considering there’s a screen 🙂

  8. retromaster said

    I think I can wrap up the sources and upload them to the SVN within a few days. I’ll contact you through the webmaster e-mail for the user account.

    If you would like to learn about what the PIC on the Cumulus board can do, I suggest you have a look at the Microchip PIC18F46K20 page ( and download and have a look at the datasheet there.

    Actually, with PIC micros, one usually uses the MPLAB IDE (that’s what I use), and there are free versions of the compilers that one can use. I suggest you download and install that too, just to play around a bit and get used to the environment.

    Also, to upload the firmware binary to the PIC, one generally uses a PIC programmer (e.g. search for PicKit 2) which connects to the PIC through a header on the board (which Cumulus has). Alternatively, if the PIC has access to storage on board (like the SD Card) and it has been pre-programmed with a suitable “bootloader”, the firmware can be updated through that storage. I have not yet implemented firmware updates through SD card, but it should not be a big deal, I have done it in other projects.

  9. This is very exciting, and I fully understand the fiddly nature of SMD assembly of the Cumulus boards .. if it will help, I would be happy to assist with this assembly for other members of the Oric community that want these boards – I can do SMD assembly and have the resources here in Vienna ( to do a lot of hardware work.

    Anyway, I’m personally waiting patiently, but with very, very much interest on a weekly basis in this project. Please let me know the *moment* you are ready and able to add other users of this product, and I will get rolling right ahead (already have MPLAB IDE, a PIC programmer, and so on.. would love to help with firmware uploads!)

  10. retromaster said

    This all sounds great, Jay. You are definitely the right guy to become involved in this project.

    At the moment we’re waiting for the CumuluBus boards to arrive. Once they get here, I’ll assemble a few boards and send you and DBug some boards for testing. For you, those boards should also serve as samples in case you want to assemble some others. In the meanwhile, I’ll try to find some time to get the sources on the SVN, and put up the Cumulus project page.

  11. Dbug said

    Great 🙂

    I checked the specs of the device, so if I understand correctly the thing has 64k of programmable memory (I guess the firmware has to fit into that), plus nearly 1k of eprom data (I suppose it’s the actual boot/reset to factory/whatever code that requires special equipment to modify), plus nearly 4k of ram for the cpu stack, temporary buffers and variables? Looks very competent hardware 🙂

    For the SVN account, all you need is to send me by mail the login and password you want to have, then I will create the account.

    Since it’s a general interest subject, I guess the ideal location for the firmware would be something like /public/oric/hardware/cumulus, then we can have subfolders for the schematics, documentation and how-to, firmware, etc…

    Since you have your own website I guess you don’t care, but if you want a “” or “” with full ftp access to upload html stuff, pictures and other oric related things, that’s not a problem either 🙂

  12. retromaster said

    You’re right about the firmware having to fit into the 64K flash memory. The EEPROM usually cannot be used to store code, it’s used for settings instead (because it endures far more write cycles). The special programmer hardware is usually used to program both memory areas, but PIC code can also write into those areas too (hence the SD-card firmware update function).

    I agree with the location for the firmware, and thanks for the website offer, but as you guessed, it does not seem to be really necessary at the moment.

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: