Retromaster’s Electronics Projects

…related to old computers and other assorted stuff…

Cumulus and Custom Disk Routines

Posted by retromaster on November 29, 2010

At the suggestion of Dbug, I tried out some Oric games and demos that use their own disk access routines instead of the standard OS ones. The behaviour I have seen with these disk images has been consistent with the Oricutron emulator, so I can say that Cumulus is capable of running fine with custom disk routines.

I’ve also made an improvement to the Cumulus design, by getting rid of the 74221 and the associated components. Instead of replicating the circuitry inside the Microdisc, I used an oversampling approach as suggested by Torlus here. I used an 32Mhz clock to sample the incoming ϕ2 clock, apply a digital filter (to prevent glitches that cause instability) and digitally synthesize the associated signals (i.e. MAP, Bus Output Enable, etc.). This approach has been quite promising,  and it looks like the 74221-based circuitry can be eliminated successfully.

One thing I’ve noticed is that, using Cumulus directly attached to the Oric expansion port places a lot of mechanical stress on the connectors. Of course, this is not because of the weight of the Cumulus PCB, but due to the forces applied during SD card insertion and removal. Realising that this will be much more of a problem with the next PCB, which will integrate the LCD and the buttons, I’ve decided to connect Cumulus to the Oric expansion port through a very short length (a few cms) of ribbon cable. This will also allow me to put the board in an enclosure and the PCB can be wider than the expansion port.

So much for good news, though. Unfortunately, Cumulus still seems to exhibit occasional data corruption issues. For example, in demos, this can be in the form of some screens displaying garbage, the music going bad, or even crashes. A number of possible causes come to my mind, including Oric bus signal integrity issues, problems with ϕ2 clock related signals, board issues, CPLD-PIC interoperation or even PIC firmware problems or SD card access issues. I hope that I’ll be able to solve the data corruption issue with some heavy debugging during this week. I’ve come a long way with Cumulus, but I do realize that is basically useless if it does not work reliably.

4 Responses to “Cumulus and Custom Disk Routines”

  1. Symoon said

    I do hope you find this random problem. I’ve read many times such communication problems from people that made RAM extentions or, IIRC, that tried to build IDE interface.
    Anyway, really a wonderful work. Congratulations🙂

  2. Gokhan said

    Congratulations Tolga… Wonderful work.

  3. About the cable-stress on the PCB issue, I have thought about designing a housing for such a project that would put the SD slot on the top of the Atmos – basically, a housing that would ‘mate’ with the case design of the Oric-1/Atmos in such a way that its very firmly mounted on the system.

    I have access to all the sorts of resources one needs to start prototyping such cases (see http://thingiverse.com/ for examples) here in Vienna, and I wonder if it wouldn’t be worth my time to prototype some sort of ‘expansion case’ adapters that might be useful? If so, please contact me with your ideas about component placement and so on, in case we can work on this in parallel ..

    BTW, I am ready to buy 5 of these adapters once they’re ready, and I can certainly see myself getting ready to start beta-testing/prototyping once you finalize the design! 🙂

  4. retromaster said

    Your idea for a case that “mates” with the Atmos case is definitely worth giving a shot. But, I must admit that right now I cannot exactly visualize what such a case would look like. It would be useful perhaps if you made a sketch of what you had in mind… There are several photos in my blog posts of the current PCB of Cumulus that should give you an idea of what the housing needs to acommodate.

    The idea I had was using the case I used in the A2601 project (in black, of course😉 ). It is mass-produced (here, in Turkey), and it is quite cheap (~$2 each). One only needs to cut the holes for the buttons, the screen, and the connector, and it’s done.

    For the production, hopefully some members of the Oric community that are experienced in electronics will be able to arrange a small run. Otherwise, perhaps I can assemble some units too, but how many, I cannot say now🙂. Anyway, the remaining problems need to be sorted out first.

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: