View Single Post
Old 27 January 2007, 06:50   #19
Registered User
Join Date: Sep 2005
Location: melbourne
Age: 49
Posts: 510
for those concerned about PCB manufacturing and pricing, Dennis just posted this on

Gizmomelb said:
the PCB overlay Dennis released for v1.0 is single layer, double sided. I seem to recall Dennis saying previously he's gone out of his way to design a simple and cheap to manufacture board for enthusiasts.


It is a double sided (2-layer if you like) board. I've ordered the boards here ( ) . I have payed about 20,- euro per board. The only thing that prevents Minimig from being mass-producing friendly is that I have mounted some components at the bottom side of the board. For DIY soldering that is not a problem however. Another good move would be to port the Minimig to an universal FPGA board. The C-One comes to mind but the FPGA's of the C-One are probably too small. The TREX C1 seems a good alternative. If one would design a simple daughterboard for the expansion slot containing the 68000 and some joystick ports, a Minimig can be built.

Now I think Jens is bringing out a PCI FPGA board that can also run the minimig code, so there should be enough 'home brew' and commercial solutions to suit everyone.

As for hardware versus software emulation - there is no difference at all between the two! The hardware emulation that Dennis is doing is from the WinUAE code. So any emulation problems that existed in the code that he was porting to the FPGA hardware would of course still exist in the hardware minimig. Jens' Code-A Amiga emulator is modelled from observations using a logic analyser - so in theory that should provide 100% accurate emulation of an Amiga 500 (or he might have analysed an A1200 - who knows?).

It's like taking a BASIC program: 10 PRINT "HELLO WORLD"

and then converting it to C for the FPGA compiler:

main() {
printf("hello, world");

When the program runs the end result is exactly the same thing on both platforms, no matter how differently it is being processed by the different 'CPU's. If there was a bug in the first code example, which was then accurately translated to C for the FPGA - the same bug would be present.

Software emulation of some digital circuits on the IBM/Mac/Unix may take a lot of processing, whereas the same emulation of those digital circuits on the FPGA won't - as that is what it does better than running compiled C code.

The FPGA in the minimig appears to be mainly emulating the custom chips of the A500 plus some other minor interfacing for the circuit board (sound and video output, joystick/mouse and keyboard input). There's a real 68000 CPU to process the code and a PIC+MMC emulating the disk drive (to handle constant bit ADF images), whereas the software WinUAE has to emulate ALL of those tasks, at the correct speed/sync in a purely software environment (so it needs a lot more CPU processing power than the FPGA which is only handling Agnes, Denise and Paula emulation).

I'm really looking forward to Dennis releasing this, as we should also see the release of reasonably cheap, solid state replacement floppy drives for our REAL Amigas. There are currently many hardware floppy drive emulation projects being developed (torlus FPGA, 1541 flash drive, tnt23's megadrive, goMMC, techtravels etc.) with the majority using FPGA's to emulate the floppy drive hardware - Dennis's design is the easiest and simplest out of all of them (and what I was requesting help with last year - ie: use a cheap and readily available PIC to decode/shift decoded ADF data to a RAM space, then have the floppy circuit logic handle the RAM as if it were a floppy disk and talk to the floppy interface with known timings and reponses when queried.)

Dennis is using a PIC18LF252 based flashcard controller with FAT16 support and on-the-fly .ADF decoding with an MMC Flashcard to load fpga (so you can reprogram the FPGA with newer versions of the minimig code) + ADF files.
gizmomelb is offline  
Page generated in 0.07723 seconds with 10 queries