With that said and done, time to get into the build itself. First of all, to understand the function of the Minimig itself, go to Dennis homepage and read through the description.
My design uses the same core as the original Minimig, but I did change or add to the periferial parts. What I have done are as follows:
- This project is based on Dennis van Weeren Minimig. The original design and the firmware for PIC and FPGA is his work. The Minimig is released under the GPL License
and so are also my modifications.
The orignal Minimig is found at this web page: http://home.hetnet.nl/~weeren001/. At this page, you can find all the sources for the Minimig
(I will only provide complied binaries that have been verified with my board).
- To use the Minimig (both my and Dennis version) requires a Amiga Kickstart ROM-file. This file is still a copyrighted piece of software, so I can't provide You with it. You need a actual Amiga
to download it from (tools for it are avaiable in the WinUAE project) and put it on the MMC/SD-card.
This project is ongoing and far from finished. There are several problems that have to be solved before the board plays any games.
My first issue was the PIC-programming at 3.3 V supply. Some dirty tricks and a bootloader will save this first run, but it needs
to be improved for an updated version (either by allowing the PIC to run at 5 V or by swapping it out for an ATmega instead).
A part of this is of course to get the firmware to run at a different PIC. The PIC18LF252 and PIC18L452 are partly identical, so
it should not be a big issue, if I only can program it...
- Changed the board size to follow Mini-ITX standards, regarding both dimension (170 x 170 mm) and mounting hole positions.
This was done to make the board usable in standard computer cases. Also, I got some more space for the rest I wanted to add.
- Changed the power supply. The original Minimig relies on a external, well regulated 5 V source. That was the first that had to be integrated in the design.
An internal, switched regulator allows the Minimig to run at almost any kind of PSU that could be found (from 8 to 40 V). A simple diode protection was also
added to prevent damage due to wrong connected PSU plugs.
- S-Video and Composite video outputs. This is almost mandatory to a system like this. By adding these two outputs, more kinds of TV's could be used with the Minimig.
As a bonus, I also added buffers to the VGA output. Now, the FPGA doesn't have to drive the VGA-cable directly.
- Buffered Audio. Basically to off-load the FPGA outputs when using long cables. The 3.5 mm headphone plug is also replaced by RCA-connectors (no odd cables needed
when hooking up the Minimig to a HiFi-system or a TV-set).
- A larger PIC to make the board funnier. This addition was not really needed, but I wanted to have the option to add an LCD. To simplify things, I just changed the
PIC18LF252 to a PIC18LF452. By donig this, I could still use the original code by keeping the original pin assigment. I also added ICSP, but that ended up little
bit odd in the first version. As an AVR-guy, I didn't realise that erasing a PIC requires 5 V... The solution will be a bootloader that allows programming of the
firmware via the serial port.
- Pinheaders for the serial port, the joysticks and the MMC-connector. By adding these, you will have a free option to place these ports in any position via simple
cables. The design of chassies will become much easier in that way. The MMC will require a separate board that I have to design first (it will be done if this
project ends up well and the demand for it shows up). The push buttons and LED's could also be mounted at the case via a header (like a PC monterboard).
The next thing is to figure out how to create a proper core-file for the FPGA. The actual syntesising-procedure isn't a problem, but to find out what PROM-format
to use is. There are some to choose from.
2007-10-08: Completed the Parallel Cable III and was able to contact the FPGA with the iMPACT software.
At least, I know that the FPGA is alive and seems to work (all voltages are at correct places). Program download
will be tested when the PIC-section is up and running. A proper compiled bin-file for the FPGA is avaiable at
Dennis homepage (useful for any Minimig-builder out there).
2007-10-12: Finally got the bootloader to work. A grounding error at the PCB caused a few days of fault locating
USART-code for PIC as the bootloader was not working. Also, the PCB symbols for the DSUB-9 connectors from Protel are
mirrored, so these has to be changed before making a new board layout.
2007-10-13: More progress - this time the OSD-menu showed up. Still no sign of an Amiga boot yet, so there are some debugging to do. At least
I know that the video converter is working (I got both composite and S-video out) and the keyboard is usable. Also, the PIC reads the SD-card (a 512 MB
2007-10-14: Finally, the board is working! The problem with the non-booting Amiga was when I found it, simple. It seems like the Minimig requires
512 kb Kick-ROM. A 256 kb Kick did not work (even if it works in WinUAE). When a proper ROM was loaded on the card, it just started up and showed me the
classical 1.3 floppy hand.
2008-08-25: A new PCB design is in progress. Due to requests, I'm re-designing the layout of the board and in the same moment I will correct some
faults in the original design. The most noticable changes are the connectors that will be moved to the rear end of the board, making it a true Mini-ITX.
2008-10-26: The new design is completed - the Version 2.0 of the Mini-ITX MiniMig is born and official. It got its own project page, go there and
see what has been changed and what is new.
The board is now working and I can both play games and amaze the world. But it will not end here. First, I have to finish off the boards that I have in store.
A friend of mine will almost die for one... But the development will not stop. I have to correct the errors that I found in the PCB layout. Then,
I will replace the VGA with component outputs. The reason for this is simple: 50Hz (PAL) VGA does not work on most of the PC flatscreens. But component port
may take it and the board could be switched over to 15kHz RGB that really works on any modern TV-set. The composite and S-video ports will be kept as they
just works fine. I will also modify the PIC-section to work better with ICSP. As it is now, thers is a single chance to get a correct bootloader in. If it
fails, Your board are screwed. But with some minor additional logic, this could be solved. Regarding the switchregulators, I maybe will swap them out for
low-drop linear ones, just to eliminate the risk of interference from the switching frequency.
At the software side, there will be more possibilities. But to explore them, I need to learn more about PIC-processorns and FPGA programming in Verilog.
And there are the mechanical pieces too - it needs a nice case of course. So, this project is far from completed. It has just started something new, thanks
to the amazing work from Dennis (keep it up) and some really busy weeks for me. ;-)
Web-links related to this project:
The 0-series bare PCB, made by PCBCart in China. Very good quality for decent prices.
An almost complete board.
Finally, it booted up! The classical 1.3 floppy hand screen...
AmigaDOS 1.3, just before some game started
Turrican, a real classic...
In-game shot. Yes, it works nice and plays like the real thing
Giana Sisters - a good test for emulators (it often fails of some reason)
In-game here too. Same feeling as it was my old A500...
The workplace where things are born...
Close-up of the setting. Luckilly, I have saved my old Red-Ball joystick...