Welcome, Guest. Please login or register.

Author Topic: Minimig Review completed!  (Read 20310 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« on: March 01, 2008, 03:35:19 PM »
Interesting review, thanks TheDaddy!

Quote
darksun9210 wrote:
that is so freakin cool!

i wonder if i could use one to build a portable system....
hmmmmm... 5-7" LCD, couple of PSP battery packs...


You certainly could. I would choose the Mini MiniMig board if I was going to make a portable system:
http://www.illuwatar.se/project_pages/mini-minimig/mini-minimig.htm
You might want to check out this video for inspiration (watch 1:18 to 1:32 in particular):
http://www.youtube.com/watch?v=HwP0t0kakW0

Quote
freqmax wrote:
The software  list is updated.
All your Amiga is now Minimig :-D


freqmax, can you correct the Chaos Engine 1&2 status please.

Quote
TheDaddy wrote:
Do you know if you can use WHLoad on the minimig so that you don't have to swap ADFs? :-D


I don't know, but Dennis is working on multi-ADF support at the moment, which should help.

Quote
TheDaddy wrote:
>>Also, does the FPGA have to be reprogrammed every time you boot, or just the first time? How long does the programming process take?
And can you "store" its programming somehow (like you would do with a flash memory for instance) or is it just temporary until you switch it off?

This is new to me...can anyone confirm this?
 :-?


The FPGA gets reprogrammed every time the machine is switched on. The FPGA code is stored on the memory card. Programmable logic devices with permanent memory do exist, but I don't see the need right now. Boot time is approximately 15 seconds:
http://www.youtube.com/watch?v=_2NjNXHUi34

Quote
However, I'm not a gamer. Just out of curiosity, has anybody tried out any applications such as Deluxe Paint, or Final Copy?


I would imagine you'd need the multi-ADF support to do this, which Dennis is working on. Workbench runs so that's one part of the equation sorted. Currently the memory card is read only (so you couldn't save work you did), but there isn't any reason (AFAIK) why writing to the memory card couldn't be added to the current design.

I had a thought when reading your review conclusion about the Minimig TheDaddy, when you mentioned you'd like an on/off button on the Minimig. What about if the FPGA sources were amended so that pressing the Menu and Reset buttons at the same time switched the machine off (or on)? You could do the same with keyboard shortcuts. Alexh, if you're reading this, do you think it would be an easy feature to add (I was impressed by the work on NTSC Minimig modifications you posted about on amiga.org)?
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« Reply #1 on: March 01, 2008, 07:53:32 PM »
Quote
TheDaddy wrote:
Excellent. So do we just download the code and flash the chip to update it?


Updating the FPGA is achieved simply by swapping the minimig.bin file on the memory card. Updating the PIC (which is probably necessary for a few features) may require a bit more work, but should be straightforward enough, even if you don't own a PIC programmer.

I've had another idea of a feature I'd like the Minimig hardware to have, which is an MP3 player. Here is an open source project we could use the source from:
http://www.pjrc.com/tech/mp3/
Runs on a small Spartan FPGA, the Minimig hardware should have no problem running a modified version of the HDL code. You might even be able to get video player running on Minimig hardware.

Reason I think mp3 player for Minimig would be cool is that it adds value for money to the hardware, making it an easier sell, with increased sales = even more development (hopefully).
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« Reply #2 on: March 02, 2008, 11:54:44 PM »
Quote
freqmax wrote:
The FPGA can't turn itself off in the current design. But it would be possible to snoop the keyboard. And make the MCU forcefully reload the FPGA and let the FPGA clear the memory on boot.


Doesn't the PIC load before the FPGA does? If it does, you could have a 'standby' mode when the power supply is plugged in, right? Don't know if it would do much to protect the circuitry, but it might have some benefit.

Quote
freqmax wrote:
The MCU (PIC18) could be updated by makeing a small circuit board that stack an ICSP connector + MCU socket. And then use that to wire to a programmer. The next minimig board maybe should have an onboard ICSP connector.
(ICSP - In circuit connector for programming)


Are the pins used to program the PIC connected to the FPGA? If so, wouldn't it be possible to use a customised FPGA core to reprogram the PIC?
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« Reply #3 on: March 03, 2008, 07:40:49 PM »
Quote
straycat wrote:
Quote
HenryCase wrote:
I would imagine you'd need the multi-ADF support to do this, which Dennis is working on. Workbench runs so that's one part of the equation sorted. Currently the memory card is read only (so you couldn't save work you did), but there isn't any reason (AFAIK) why writing to the memory card couldn't be added to the current design.


Going by this am I right to assume you cannot save your game position on the Minimig yet?


Correct. The hardware can do it, but the PIC+FPGA code don't allow it yet. I imagine this will be a feature that is added early on, so I wouldn't let it worry you too much.

Quote
neuroflip wrote:
Quote
HenryCase wrote:
Currently the memory card is read only (so you couldn't save work you did), but there isn't any reason (AFAIK) why writing to the memory card couldn't be added to the current design.


what implies to upgrade to this feature?
reprograming the pic and/or change the .bin file?

if i am an unexperienced user..., what will be the dificult to do this?


Good questions neuroflip.

There are two programmable elements in Minimig v1.1, the FPGA chip which houses the OCS chipset recreation and the PIC chip which helps to boot the system and controls memory card access (AFAIK).

When updates for Minimig are available, upgrading the FPGA is very easy. All you would need to do is change the .bin file on the memory card.

Upgrading the PIC is slightly different. At the moment, it would involve taking the chip and putting it in a PIC programmer. PIC programmers are fairly cheap to make or buy. However, there might be an easier solution, which would let the Minimig update its own PIC through a .bin file, which would make updating the PIC as easy as updating the FPGA (I asked freqmax earlier to see if this would be possible, but if anyone can answer my question please do so).
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« Reply #4 on: March 03, 2008, 11:09:19 PM »
Quote
freqmax wrote:
I think it's possible to make the FPGA update the PIC, provided that the MCLR and some other pins can be used for this.


Excellent! :-)

Quote
freqmax wrote:
However, there's currenly hardly ANY i/o pins available. I would suggest to use a XC3S500-PQ208 for the next version.


Not going to be an issue. I'm not proposing the PIC programming code be built into the standard Minimig FPGA core, it would be a separate core, written for the sole purpose of updating the PIC, so you'd have all FPGA pins at your disposal.

Bigger FPGA in the next Minimig version is desirable, but it's not necessary for adding PIC updating functionality.
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« Reply #5 on: March 04, 2008, 12:35:52 AM »
Quote
freqmax wrote:
No I/O available, change fpga or no room for this.
(maybe there is but it will be REALLY tight)


I looked into this matter, here's what I found...

According to the Minimig v1.1 schematics (found here: http://home.hetnet.nl/~weeren001/downloads/minimig11_schematics.pdf), the following pins of the PIC and FPGA are linked:

Code: [Select]
Link name PIC pin FPGA pin
FPGA_SEL0 3  93
PROG_B  4       207
INIT_B  5  83
CCLK  7  104
SPI_CLK  14  90
SPI_DOUT  15  19
SPI_DIN  16  85
RXD  18  185
DONE  24  103
FPGA_SEL1 26  86
FPGA_SEL2 27  87
DIN  28  92


According to this page, http://home.earthlink.net/~davesullins/software/pic18f.html, the pins you need to reprogram a PIC (18F series) are: SDATA/RB7, SCLK/RB6, PGM/RB5, Vpp/MCLR. On the PIC in Minimig v1.1 these are:

Code: [Select]
PIC pin name  PIC pin number
SDATA/RB7     28
SCLK/RB6      27
PGM/RB5       26
Vpp/MCLR      1


In other words, three of the four pins we need are already linked to the FPGA. The last one, pin 1, is linked to a 'programmers button' according to the Minimig schematics. As far as I can tell, pin 1 isn't a data line, so as long as you hold down this button you will be able to reprogram the PIC using the FPGA.

So why do we need these extra pins again? :-P
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« Reply #6 on: March 05, 2008, 12:50:06 AM »
Quote
freqmax wrote:
@HenryCase:
Now you got to check:
1) Does using these pins "the wrong way" interfere with anything else?
2) How to handle the MCLR.

I assume the PIC18 is 3.3V or we have another issue aswell.

I suspect with a special HDL-code and the user holding down the PROG button. One can reprogram the PIC18.
Provided power glitches doesn't happen and certain bits aren't set which requires highvoltage reprogramming.


Page 140-141 of this document, http://www.xilinx.com/support/documentation/data_sheets/ds099.pdf , shows pin capabilities for XC3S400-PQ208 (used in Minimig v1.1). Pins 86, 87 and 92 are described as "Configuration pin, then possible user I/O". Good to know these pins aren't input only.

The PIC used in Minimig v1.1, PIC18LF252, runs at 3.3V. However this may be an issue:
http://web.comhem.se/illuwatarproject_pages/minimig/minimig.htm
"I didn't realise that erasing a PIC requires 5 V"

However, as you can see, Illuwatar has already achieved a form of ICSP for the PIC...
"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."

We might be in luck, it's possible PIC reprogramming can be done with the current Minimig design:
http://home.hetnet.nl/~weeren001/minimig_building.html
"Although the PIC can be directly programmed with the necessary firmware, I strongly suggest the use of a bootloader. A bootlader makes it possible to reprogram the PIC through the serial port. To serial select jumper is designed to facilitate this. By setting the jumper to "MCU", a null-modem cable can be used to connect the Minimig to a PC. This way, new firmware can be downloaded without removing the PIC from the Minimig board. I use the Tiny PIC Bootloader by Claudiu Chiculita. This bootloader is easy to use and works reliably. Please follow the link on the links page to download the bootloader. When you use this bootloader (and you should!) program the file called "tinybld_18F252_20MHz.HEX" (inluded in the Tiny PIC Bootloader archive) into the PIC using a programmer. Then use the Tiny PIC Bootloader download tool to download the Minimig firmware into the PIC. This will make future updates much easier."

How can we check that ACube have included the Tiny PIC Bootloader Dennis recommends in their builds? Is there a way of reading PIC contents at runtime?
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show all replies
Re: Minimig Review completed!
« Reply #7 on: March 15, 2008, 08:26:47 PM »
Quote
TobiFlex wrote:
Ah! Thank you for this. Now we must find somebody who can try this on a 68EC000. Is anybody here???


Who is likely to have this type of processor? Would it need to be in an Amiga?
"OS5 is so fast that only Chuck Norris can use it." AeroMan