Retromaster’s Electronics Projects

…related to old computers and other assorted stuff…

Archive for January, 2011

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.

Posted in Projects, Retrocomputing | Tagged: , , , , | 12 Comments »

CPC6128 Keyboard Daughterboard for UFE

Posted by retromaster on January 17, 2011

This time, a post unrelated to Cumulus (a Cumulus-related update will follow shortly).

At the request of my friend Alcofribas, I’ve been designing and building (in parallel with my work on Cumulus) a CPC6128 keyboard daughterboard for UFE. It allows one to control the UFE floppy emulator using the host keyboard on a CPC6128, just like one does on an Amiga 500 or 1200.

This daughterboard ended up being a bit complicated to setup (at least moreso than the other UFE keyboard daughterboard designs). The existing ribbon connectors on the CPC mainboard are desoldered and female headers are installed in their place. The ribbon connectors are then soldered to the daughterboard. The daughterboard has male headers that match the female headers installed on the CPC mainboard. So, the daughterboard sits upside down on top of the CPC mainboard, and the case cover can be closed without any problems. The rest of the installation is the same as any UFE installation.

The board contains a PIC16F877 along with three 74LS245 chips, four headers/connectors and lots of pull-ups. The 245 octal buffers control the connections between the CPC mainboard and the CPC keyboard, so that UFE can prevent the CPC host from receiving keypresses when its user interface is active. The PIC controls everthing, scans the key matrix and transmits keypresses to the UFE mainboard over I2C.

It seems to work well, but at the moment there is one complication: For the daughterboard to be able to detect the activation keypress, the CPC host must be actively scanning the keyboard. I am told that this may become a problem with some demos and games. So, I’ll need to devise a way to make the daughterboard scan the keyboard at times for the activation keystroke without interfering with the host scan of the keyboard. The most likely solution is that the daughterboard will determine when (or if) it needs to scan the keyboard, by dynamically adapting to the host’s scanning patterns. I am sure that with some more experimentation and practical thinking, a satisfactory solution may be obtained here.

Posted in Projects, Retrocomputing | Tagged: , , , , , , , | Leave a Comment »

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.

Posted in Projects, Retrocomputing | Tagged: , , | 9 Comments »

New Cumulus PCBs Working

Posted by retromaster on January 5, 2011

I finally managed to assemble one of the new Cumulus boards, and I am glad to report that it works fine :). As a matter of fact, I received the bare boards a few days ago but I did not have the 32Mhz oscillators handy so the boards had to wait a bit until I got the part.

Aside from some changes in the CPLD and PIC pin assignments, no changes to the firmware were necessary. In my first tests there did not seem to be stability problems. The only (rather strange) problem I encountered is that the LCD fails to initialize at times (showing nothing), but the PIC definitely keeps on running, because even in this state the floppy emulation works fine. Hopefully, this issue should be fixable.

Here is what’s next (in no particular order):

1. Fix the remaining (firmware) issues and implement some of the missing basic functionality (e.g. writes, user interface).
2. Prepare the enclosure and fit the board in it.
3. Order some CumuluBus PCBs.
4. Prepare the web page for Cumulus and release the current sources, gerbers, etc. under GPL.

Posted in Projects, Retrocomputing | Tagged: , , , , | 7 Comments »