Retromaster’s Electronics Projects

…related to old computers and other assorted stuff…

Cumulus

Cumulus is an SD card peripheral for Oric-1 and Oric Atmos computers that emulates the complete Oric Microdisc system.

Update: Due to unbelievably stupid and unfair new regulations implemented by Turkish Customs, apparently it has become virtually impossible for me to personally import small quantities of the components and parts required to execute a small, non-profit Cumulus manufacturing run. However, I think people interested in obtaining a Cumulus board should still leave a comment here on this page, in case some other party would become interested in organizing production.

Motivation

Oric-1 and Oric Atmos computers (like many others from the 80s) do not have a built-in floppy controller IC. Instead, the Microdisc peripheral contains a controller card with a WD1793 that connects to the Oric expansion port. One could use a standard SD card floppy emulator (e.g. TFE) with the with a Microdisc controller card, but the Microdisc system itself can be very difficult to obtain.

Instead of emulating only the floppy drive, Cumulus emulates the whole Microdisc system. There are significant advantages to emulating the controller together with the drive. For example, SD card access times are no longer critical as the emulator is in complete control of when the floppy disk surface is accessed. MFM conversion of data is no longer necessary as the floppy disk interface is eliminated.

Features

  • Read/write access for Oric-1 and Atmos computers.
  • Connects to the Oric expansion port (over CumuluBus).
  • Compatible with existing software written for the Oric Microdisc.
  • On-board support for DSK images. No conversion on PC necessary.
  • Emulates multiple drives.
  • Color LCD and 5 buttons for user interface.
  • Full FAT32 support (incl. long file names and directories) for the SD Card. SDHC support.
  • Firmware updates can be made through SD Card.
  • Completely solderless installation.
  • CumuluBus (bus buffer) + 80-conductor IDE cable for very high signal integrity.
  • PIC18F46K20 MCU @32Mhz, Xilinx XC95144XL CPLD. Double-sided PCB.

Installation

Cumulus draws power from the Oric main unit, but the power supply originally supplied with the Oric computers is usually not powerful enough to power both. The original power adapter needs to be replaced with one with a higher current rating. A commonly available, 9V DC, 1A adapter is more than enough.

Simply attach the CumuluBus buffer board to the Oric expansion port and connect the Cumulus and the CumuluBus boards with the 80-conductor IDE cable (40-pins) and the AUX cable (4-pins, Power and Reset). The black connector on the IDE cable always connects to the CumuluBus. The “Plug Select” jumpers (marked P6 on Cumulus and P4 on CumuluBus, found next to the connectors) select whether to use the gray connector or the blue connector on the Cumulus. Leave both jumpers open to use the blue connector, or keep both jumpers shorted to use the gray connector.

How to Use

Upon boot, Cumulus displays the status screen, which shows the state of all drives, including the image mounted, the current track (updated in real-time), and the write protect status, as well as the most recent status of the emulated floppy controller. 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 red when 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.

FAQ (as of February 2011)

Is it possible to purchase a Cumulus board?

Not yet. A small production run will probably be organized in the near future. If you are interested, please leave a comment here in this page.

What about the license?

All elements of the hardware design and software are (or will be) available under GNU GPL.

What is the status of the firmware?

The firmware is in an early state. While all the basics work well, there are still bugs and several features are still missing, including support for some WD1793 commands (e.g. read/write track) and old-style DSK images. I expect that these issues will eventually be solved with the help of the Oric community.

Downloads

There is no firmware release yet, but the latest sources can be found on the SVN here:
http://miniserve.defence-force.org/svn/public/oric/hardware/cumulus/

To update firmware, copy Cumulus.bin onto a freshly-formatted SD card with FAT32 filesystem. Cumulus.bin must be the only file on the card. On powerup, simultaneously press and hold the two buttons on the left side of the LCD screen. Cumulus will go into firmware update mode and a progress bar will be displayed. In case of failure (e.g. firmware not found on card) the LCD will turn red.

Theory of Operation

Cumulus consists of two main components: A Xilinx XC95144XL CPLD and a PIC18F46K20 microcontroller. The CPLD implements the all the logic on the original Microdisc board as well as part of the emulated WD1793, including the CPU bus interface, sector, command, data and status registers. The PIC microcontroller implements the rest (most) of the WD1793, i.e. emulation of the floppy controller commands through SD card access. The user interface (the LCD and buttons) is also handled by the microcontroller.

The CPLD and the PIC uC communicate through a dedicated, 8-bit wide data bus. Through this bus, the PIC uC is able to access all the WD1793 registers on the CPLD and modify the WD1793 status as presented to the Oric (read commands, transfer data, generate IRQ, etc.).

Both components are driven by a 32Mhz clock, generated by an on-board crystal oscillator. The 1 Mhz clock from the Oric is oversampled using the 32Mhz input clock and a synchronized counter on the CPLD controls the generation of the Oric bus signals (such as MAP).

Also contained on the Cumulus board is a 28C256 EEPROM that contains the original Microdisc ROM and a 74LVC4245 that performs 5V-3.3V voltage conversion for interfacing with the Oric bus.

Background

The idea for a floppy emulator like Cumulus was born after I got UFE to a useable state. Some people had asked whether it would be possible to use UFE with an Oric Atmos. Upon some investigation, I found out that it was possible, but the Oric Microdisc unit would be necessary. At that point, it occurred to me that the floppy controller could be emulated together with the drive, with the help of a CPLD to implement parts of the controller IC together with the required glue logic. As a proof-of-concept, I started to work on Cumulus, bearing in mind that the concept could be applied to several microcomputers from the 80s which did not have built-in floppy controllers.

The first version of Cumulus was implemented in two boards, a mainboard and a UI daughterboard. The idea was to separate the UI from the mainboard to make the design more flexible. Later on, it became clear that it would be more practical and less costly if the two boards were consolidated into a single, integrated board (rev B). It also turned out that there were significant signal integrity problems with a cable in between the Oric and Cumulus, so a bus buffer board (similar to AmpliBus) was added on the Oric side to solve these issues. More details on the development progress of Cumulus can be found in my main blog (posts tagged Cumulus).

Acknowledgments

Special thanks go to DBug, Jay Vaughan, Ozkano, and LW3D, Alcofribas.

Page History

Feb, 2011: Initial publication.
Apr, 2011: Customs update, acknowledgments.

Disclaimer

This information here is provided AS IS without any express or implied warranties. While every effort has been taken to ensure the accuracy of the information contained in this text, the author assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. I will not be held responsible for any damages or costs which might occur as a result of anything related to projects described or referred to on this page. You are not allowed to use information contained in these pages for commercial purposes without my written authorization.

40 Responses to “Cumulus”

  1. Boris said

    I am interested to purchase a Cumulus board.
    So if the board is ready contact me please :) Thx

  2. Ian Dibsdall said

    I have been following your progress on this project from the start and would be interested in purchasing a Cumulus (1B + CumuluBus) or latest system. Please email to discuss when you’re happy with your boards! Regards, Ian (dibs, UK).

  3. Dbug said

    Some people on comp.sys.oric were asking about where they could find a floppy disk drive for their Oric, I just posted a link to this Cumulus page.

    Oh, and yes, I’m of course interested by having one or two. Which made me realise that I have to check the type of power supply used in the Pravetz 8D (internal PSU) would be a shame if it was not powerful enough to power the Cumulus board!

  4. freaktmp said

    I am also interested to purchase at least one Cumulus board, or maybe more depending on the price!

    Thank you!!!!

  5. Symoon said

    I’m also interested in purchasing a cumulus board. At least one, probably two, maybe more ;-)
    Amazing achievment, congratulations!

  6. Well done! This is terrific progress!

    I will buy 2 Cumulus boards, please! Let me know as soon as you are ready to take my money! :)

  7. Chema said

    I am also interested in at least one board. Will I be able to test my games on a real machine at last?

    Thanks for this splendid work!

  8. [...] device is called the Cumulus and it’s used to emulate the floppy disk hardware for Oric-1 and Oric Atmos computers. These 1980′s era computers included an [...]

  9. Fingers said

    Awesome work!

    I’d be up for buying 1, possibly 2…

  10. Jaime González said

    Hi
    I would like to buy a Cumulus board. Please let me know if you are planning a collective order. Thanks! :-)

  11. OricFan#86 said

    Hi, an Oric Fan from Spain.
    I’m interested on Cumulus board.
    Please email me if you plan a collective order

    Thanks in advance

  12. Jose Perez Peinado said

    Hi, I am interested in the cumulus, if it goes on sale would be interested. Greetings

  13. Hi,

    French Oric Fan, i’ll be very interested in a cumulus board.
    Please email me if you plan to make a board production.

    Thanks for your job.

  14. Flopping said

    Hi, do you sell the cumulus board (complete)? and how much is it?, please e-mail me about it, thanks.

  15. TBC said

    Hi, I’m also interested in a cumulus board or two…

  16. JihemB said

    Hi,

    As a french Oric fan (but without an actual floppy disc drive) I’m very intersting in buying a Cumulus device too.

  17. Barnsey123 said

    It’s a “must have” for me…

  18. Karim said

    I’d be interested in buying one.

  19. Torfinn Ingolfsen said

    I am interested in buying one.

  20. George Paraskevas said

    I’m interested for Cumulus floppy emulator
    if you have the final product please email me
    Thank you

  21. Steve said

    I’d like to buy a Cumulus floppy emulator

  22. Pierre said

    Hi ! I’d like one ! I own an Atmos, but don’t have any tape nor tape recorder anymore. So that would be the solution. My children like Euphoric and of course the real Oric running on its own !

  23. ron said

    if there is a possibility of acquiring a Cumulus’m really interest. I’m using Oric Atmos, Spain as well.

  24. mmu_man said

    Btw, SVN is meant to version *text* files preferably, which are way easier to diff than zip or XLS files…
    Can’t you just commit the content of the zip and the BOM as CVS data ?
    You’ll see it’s useful to you as well when you next need to svn diff to an older version ;-)

  25. retromaster said

    I understand how the SVN is intended to be used… The thing is, there is almost no real reason to actually version the BOM or gerber files (at least, not in the same way as the source files). So, I am using the SVN just as a storage location for the gerbers and the BOM, as it is tidier that way. I do not think there will ever be a reason to “diff” those files.

  26. Philippe said

    Hi,
    I’m interested for Cumulus floppy emulator.
    I am very interested in buying a floppy emulator Cumulus.
    Thanks.

  27. Terry said

    I’m certainly interested in buying a cumulus!

    Terry

  28. Phil Eakins said

    Yep, count me in.

    Phil

  29. [...] Lösung für dieses Problem bietet retromaster in seinem Blog. Er hat ein Board entworfen das ein Microdrive komplett nachbildet und als Disketten [...]

  30. Flemming Dupont said

    I’m also interested in buying a Cumulus! Please add me to the list!

    /Flemming

  31. There is so much British, French and even Spanish fans. So I’m from Bulgaria – the country of Pravetz 8D and I’m very interested of this project for my Oric Atmos and Oric Nova. So please e-mail me when I could buy some ready to connect plates.
    Thanks in advance :)

  32. Rasmus said

    Hey, nice work :-) I’ve been scanning the ‘net for a vintage Oric Drive – mostly to let my kids see how “computers used to be” – but also to satisfy my own desire to see the old system up and running :-) Oooh, the times of Xenon-1, BASIC programming and being able to live with 48K, ha-ha…
    I’m game for a Cumulus card!!!

    All the best to all you old fanatics :-)

  33. Seb said

    Ultra nice work !!!

    Need this board too , count me in please

  34. dandeeocc said

    Great job! Please let me know when the final board is ready for shipping and I will save money till than. ;)

  35. BARBERI GWENAEL said

    Hi , i’m really interested to purchase you really done a great job

  36. undeath statement said

    Hi,

    I was waiting for this for a long time indeed…
    Hope you make it to production soon. Until then count me in when ready !

    Cheers.

  37. aliennerd said

    Very nice project, congratulations on your success!

  38. Porchy said

    Very interested in one of these should you find a way.
    Well done

  39. I’ve been thinking, I was the last Turkish Oric user living on the Earth ! The project is a miracle and I am so proud that a miracle come to a life by one of my citizen :)

    Keşke donanım bilgim yeterli olsaydı da böyle bir sistemi yaratabilseydim. Hala çalışan bir Oric Atmos ve Microdisc sistemim var ama PC den Oric’e program transferini asla gerçekleştirememiştim. Seri üretime ya da profit karşılığı satışa geçmeyeceğinizi biliyorum ama içinde hala Oric aşkı ile yanıp tutuşan bir arkadaş olarak bir istisna yapmanız mümkün müdür ? :)

  40. retromaster said

    Oğuzhan bey,

    Tabii ki istisna yapmam mümkün olurdu ancak belki blog’dan takip etmişsinizdir, Cumulus ile ilgili bazı son kalan önemli teknik pürüzler var… Maalesef projeyle bir süredir uğraşma şansım olmadı, yeterli zamanım olmaması nedeniyle de yakın dönemde pek olmayacak gibi görünüyor. Umarım ileride durum değişir de sizin gibi Oric kullanıcılarını dört dörtlük bir ürünle buluşturabilirim.

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

 
Follow

Get every new post delivered to your Inbox.

Join 50 other followers

%d bloggers like this: