Amiga.org
Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: Dennis on April 27, 2008, 06:31:00 PM
-
I have uploaded a new Minimig core and PIC firmware to my website.
This release adds support for Amiga Forever encrypted roms.
I have also cleaned up the PIC18 code a bit and added a simple form of error posting. :-D
I have been fighting with this update a couple of months as I couldn't get 512KB encrypted roms to load. It turned out there is a nasty bug in the floppy controller (floppy.v) that causes some bytes to get missed or added to the dma stream. :pissed:
The fault lies with the fifo management. I have not fixed this (yet) but programmed some workarounds in the PIC code. :roll:
I think this is also the reason that a lot of games refuse to load so I have started redesigning floppy.v. This will also make it easier to add write support for floppy's...
Ah well, more work to do :-)
Dennis
-
Great news- thank you.
-
@Dennis
Thanks Dennis !
-
Dennis! Thank you for all your hard work... much appreciated
Az
-
Thank you Dennis, great work. :-)
-
Cheers Dennis. :-)
I've been busy testing software this week, but I've been using the amended 60kHz core. I'll retest the failed software once I set up my old CRT again.
-
Thank you Dennis
:pint:
-
Great work. I must find some time to do some work. Acube loaned me a MiniMig board 2 weeks ago and it's still in it's box.
I wonder what happened to that polish Yaqube guy who did some work and never released his source? I wonder if he's any closer?
-
Your efforts are much appreciated Dennis. :-D
-
@Darrin,
The new core isn't any more compatible than the old one. The changes are mainly in the PIC18 firmware. But, I *think* that the bug I found in the floppy controller is largely responsible for the bad compatbility. If that is fixed, it is time to retest some games :-)
@AlexH
Yaqube's developments are very interesting. If you want some issues to put your teeth in:
* Supposedly (as reported by tobiflex) 68000 writes to ram/chipset take too long. This causes some graphic issues in some games/demos. If that is fixed, blitter timing can be made normal/standard again (read explanation in agnus.v/blitter.v)
* The bitplane dma engine is not right yet... Can you enable /disable dma in the middle of a line on a real amiga?
* Sprite engine is not right too, probably has something todo with memory slot allocation/timing relative to copper or the logic inside Denise.v. Superfrog shows partial sprites and is a good game to do some debugging.
* Collision detection is completely broken...
* Hardfile support!
Dennis
-
@ Dennis,
Have you had any contact from Yaqube regarding his work on ECS?
Thanks for your continued work.
-
Dennis wrote:
@Darrin,
The new core isn't any more compatible than the old one. The changes are mainly in the PIC18 firmware. But, I *think* that the bug I found in the floppy controller is largely responsible for the bad compatbility. If that is fixed, it is time to retest some games :-)
Ah, thanks for that info. I've hooked up a CRT and I've been retesting a few games, but mostly ones with corrupt graphics or dodgy sprite detection (Settlers and Menace for example). I'll just stick to the ones that didn't want to load.
(One thing: Troddlers did load and work before with just the player sprite missing, while now it locks up with a black screen with a red horizontal line just after the Title screen and before it would go to the player options).
-
(One thing: Troddlers did load and work before with just the player sprite missing, while now it locks up with a black screen with a red horizontal line just after the Title screen and before it would go to the player options).
Hmmm, strange. The FPGA core hasn't changed afaik.
Did you update your PIC firmware too? If so, did you try some Amiga Forever roms?
Dennis
-
Great news, thanks for your latest work Dennis!
If this can somehow be merged with the 60khz yaqube firmware I'll be super happy!! :-P
-
Dennis wrote:
(One thing: Troddlers did load and work before with just the player sprite missing, while now it locks up with a black screen with a red horizontal line just after the Title screen and before it would go to the player options).
Hmmm, strange. The FPGA core hasn't changed afaik.
Did you update your PIC firmware too? If so, did you try some Amiga Forever roms?
Dennis
I haven't changed the PIC firmware yet. The only way to update that is via a PC with serial port connected to the Minimig, isn't it (None of the PCs I have set up at the moment have serial ports)?
Perhaps Yaqube's core has a tweak in it that allows it to play? I don't have the time to flash the PIC right now and I'm off to Brazil tomorrow for 4 weeks so my testing will have to go on hold. :-(
-
@Dennis
Is the PIC firmware upgrade likely to work fine with yaqube's firmware? (I only have a 60khz TFT monitor here). In other words is it okay to upgrade the PIC firmware but continue with an older Minimig bin?
I've not used the Tiny PIC Bootloader before but I do have a serial connection established between my PC and Minimig (to use Amiga Explorer). Is this fairly straight-forward to use and is there any risk to the Minimig (I'm guessing it's similar to flashing a PC bios)?
-
straycat wrote:
@Dennis
Is the PIC firmware upgrade likely to work fine with yaqube's firmware? (I only have a 60khz TFT monitor here). In other words is it okay to upgrade the PIC firmware but continue with an older Minimig bin?
Well, if Yaqube has not altered the PIC code in any way to achieve the 60hz, then yes the PIC update will not affect it.
The PIC controls flashing of the FPGA, and MMC reading.
I've not used the Tiny PIC Bootloader before but I do have a serial connection established between my PC and Minimig (to use Amiga Explorer). Is this fairly straight-forward to use and is there any risk to the Minimig (I'm guessing it's similar to flashing a PC bios)?
Similar, sort of. connect up Minimig to PC using nullmodem (and set the Jumpers). Set the Tiny software to scan for the Minimig and quickly add power to Minimig. The pic's listen window (for firmware updates) is about 1 second before it boots the main code. If the flash fails (Loss of power etc), then when the power comes back up, just do it again, because the Actual boot code sits in a different location to the Firmware you are flashing.
@Dennis. How is the multiple ADF function coming along (this would be a image swap life saver for multiple disk games).
-
Just want to give a shout out aand THANKS! to Dennis and White B. Dennis for his continued fixes to the MiniMIG and whiteb for assembling my minimg.
Been having a great time with the Minimig. Have mine in a MINI itx case, but I'm thinking of putting it in a keyboard with a built in flip top unit that has desk storage underneath. This would really recreate a modern looking Amiga wedge all in one design.
-
New Pic18 firmware flashed okay.
SD card is currently in my Camera, so the Disk led flashes 6 times, so looks like it is working well so far.
-
@whiteb
Thanks for the info. I'll check out the Tiny PIC Bootloader site :-)
-
@whiteb
Any plans to try the upgraded pic firmware with yaqube's minimig1 firmware?
-
I might try it tonight, at Maug. (Melbourne Amiga User Group).
-
I just had a thought in regards to interfacing the Amiga, PAL resolutions to VGA monitors. When using 60 Hz refresh, it won't match up evenly (60/25=2.4).
But using 75 Hz it will (75/25=3), this will put some extra demand on the ram memory. And it might be needed to tweak the DCM-clocks used. It would essentially work by sending the same image 3 times. Doing this 25 times per second results in 75 Hz. Which is a very common update frequency for LCD screens.
640x480 12bpp 75Hz = 32,96 MByte/s
800x600 12bpp 75Hz = 51,50 MByte/s
An 133 MHz SDRAM with an 8 bit wide interface should be able to handle this.
It might require a seperate video buffer, but some clever coding might avoid that.
Should 25 fps PAL need to be output on 30 fps NTSC. One could simple use average between the last two frames weighted with the quote corresponding to the position in time between the frames used. I suspect this however will impose some slight 5 Hz flickering :)