Installing FPGA updates

Occasional updates to the M3SE FPGA configuration will become available on this website. Make sure that any programming file (with a .pof extension) you download is specifically compatible with your revision of M3SE.

To install an FPGA update, you must obtain free programming software from Altera. You will have to create an account at What you should download is the Quartus II Web Edition software. If you don't want to install the entire, very large application, you can just download the standalone programmer portion.

You will need a programming cable: either a ByteBlaster II that attaches to a PC parallel port, or a USB blaster. These (and clones) can be obtained inexpensively on eBay. The cable terminates in a 10-pin (2x5) receptacle with a raised bump on one side. Insert this connector into the 10-pin box header that hangs off the edge of the M3SE, being careful to align the bump with the slot in the header. Some programming hardware lacks the polarizing bump. In this case, make sure that the cable's red "pin 1" stripe is toward the 9-pin D-SUB joystick connector.

If you download the standalone programming software to use with a USB Blaster, you'll also need a driver from Altera. Here's the current link:

The M3SE can be left in place, connected to your TRS-80, during programming, or you can disconnect it if you need to move it closer to the programming PC. Only the power supply connection is required.

Power up the M3SE, but do not switch on the TRS-80 if still connected. Run the programming software, install your hardware, and set it for Active Serial programming. Add the supplied .pof file. Select the check-boxes for Program/Configure and Verify. Click the Start button. The FPGA will be programmed, and you should see a "success" message.

Power down the M3SE and disconnect the programming cable. Reprogramming is complete.

Note: Some feedback from a MISE user on installing FPGA updates under Ubuntu Linux:

I just finally got around to installing this update too. (well some weeks ago)

2 difficulties I encountered along the way.

* Took me a while to figure out that ubuntu updates had broken the usb device permissions and that you need to install some udev rules to fix that, (or run the quartus app as root).

* I don't know where it's documented that the program to actually execute is ~/altera/13.1/qprogrammer/bin/quartus_qpgmw out of all the other equally likely looking scripts and binaries in several directories. That took me a while to find too, and I never did find it from any actual documentation like a readme or the altera web site. Googling turned up some forum post where someone mentioned it in passing.

But finally, fpga update installed fine and I ftp'd the new software to my drive :0 fine and everything is working fine afterwords.

Note: There is a bug in many versions of the Altera programmer software when used with a ByteBlaster II (parallel port) programmer, that you might have to work around. If the software informs you that your programming hardware is not compatible with Active Serial programming mode, you have hit the bug. First, select JTAG programming mode. Then load an .sof file; here is one for M3SE 1.0. Then hit "Start". The programming sequence will fail. Switch back to Active Serial mode, load the .pof file, select the Program/Configure and Verify boxes, and then hit Start. Your FPGA should now be reprogrammed successfully.

Note: If you ever for some reason replace the M3SE's EP2C5 FPGA module--these are currently quite easy to find on eBay--you may have to remove four 0-ohm surface-mount resistors (shunts) labeled R1, R2, R9, and R10 on the module before plugging the module into the headers on the M3SE. This is because the same module can be used with the EP2C5 FPGA's bigger brother, the EP2C8. The four shunts connect power and ground to the EP2C8 FPGA, but the corresponding pins on the EP2C5 are functional I/O pins used by M3SE. For some reason all the module vendors I've used have populated these four shunts, unnecessarily and dangerously--if you power on the M3SE with the shunts in place, your FPGA could be damaged.

Warning: There is at least one newer revision of the FPGA module that does not work with M3SE without modification! You can tell you've got one of these if pin 17 is on the inside of the ring of pins; that is, the number 17 is printed closer to the FPGA chip than the number 18. The reversed pins are not a problem since neither is used by the M3SE PCB. The real problem is that the power-on reset circuit was botched on this design. One side of R13 should be hooked to +3.3V and C14 should be hooked to ground, to provide a momentary active-low power-on reset signal to FPGA pin 73. Unfortunately the PCB has it backward. You can fix the problem by swapping R13 and C14 with a soldering iron and a bit of courage.

Back to the main page