• Please review our updated Terms and Rules here

Building the Multicomp CP/M FPGA Computer

I have an Terasic Altera DE1 board which has an EP2C20 Cyclone II and on board SRAM, SD Card socket, RS-232 port, VGA port, and PS/2 port so it should already have everything it needs to run the FPGA computer. I'll have to give it a try and see if I can get it all setup.
 
Wiring it up and programming the board
Grant assumes you will be able to work out how to compile the VHDL and load it to the board. It's not too hard to work out using the Quartus II software and USB Blaster device so I'm going to leave that to you for now (plus, I'm away from the PC I used at the moment).

This is the bit im stuck on! :confused: "Any chance you could send me the actual VHDL file so i can cut and paste into Quartus II and learn that way!"

Kind Regards Baggey
 
If anyone is looking to use SDHC with the multicomp, I have a patch that might help. I had no experience with VHDL, but spent a little time looking at it a couple of years ago, enough to do this anyway!

I'm going to attach a patch file to the sd_controller.vhd from Grant's file set. You will need to acquire the patch.exe command from UnxUtils.zip from sourceforge to apply it. I've sent this patch to him, but never asked about releasing his file so I'm just going to release a diff that someone can use to apply to his file:

patch sd_controller.vhd <add_sdhc.patch

It has been awhile since I've looked at this, but I restored Oscar's image to a 4G SDHC card and it wouldn't boot CP/M on a Multicomp last night so then I remembered the SDHC version I did and compiled it in and everything worked great. I figure there may be others trying to use SDHC with their Multicomp's as well that could benefit from this.

http://home.earthlink.net/~alank2/add_sdhc.patch

I did also create another version that has never been released that implements 4 virtual drives where you can use a CP/M side utility to mount disk X(0-X) in drive Y(0-3). This allows you to fully utilize the microsd card's capacity. If anyone is interested in that let me know and I'll look through it and see what I can do to get that in a state for others to use.
 
Nice one, alank2!

Although you do get 16x8mb drives as standard IIRC, which should be enough for most people, but it would be nice to mount additional drives. I'm very familiar with the IDE drivers for this project, and I based my own IDE driver on it with Grant's permission. One of the utilities I implemented had this capability of switching physical drives at run time into / out of the available (logical) drive letters. There is a theoretical maximum to what can be addressed using the scheme though.
 
An update to this thread - I acquired a Cyclone II-C carrier board and built a neater implementation. I posted some pictures on StarDot here: https://stardot.org.uk/forums/viewtopic.php?f=41&t=12954&p=221457#p221457

The Cyclone II-C board is documented here: https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-c:start

The back of the Cyclone II breakout board has a lot of flux residue but once cleaned up (with methylated spirits - what you might call wood alcohol) it looks a lot neater. The build as pictured uses two 120x120mm laser cut pieces of matte finished black perspex and plastic threaded standoff posts, both available from eBay for not much money. It's neat looking albeit rather anonymous - maybe it needs a Multicomp CP/M label? I have set the VHDL to run it at 25Mhz and I'm investigating developments that some of the other RetroBrew guys have done: speed increases, 1MB RAM, modifications to free up some logic elements so I can implement new features. The carrier board has a RTC and GPIO pins that I would like to be able to access from within CP/M.
 
Back
Top