Minimig AGA for Turbo Chameleon 64 - at last!

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • The stars seem to have aligned over the last few weeks - and I've finally been able to do what I wasn't able to manage in the past - bring the Minimig AGA core to the Turbo Chameleon 64.

    A first beta can be found at: http://retroramblings.net/?page_id=1422


    A number of people have suggested that I set up some kind of virtual tip jar in the past - so that's what I've done.

    One-off donations are welcome at https://paypal.me/robinsonb5 or https://patreon.com/coresforchameleon. Anyone donating £20 or more via PayPal or sponsoring on Patreon at the second tier will be thanked by name in a “Core Supporters” shout-out page in subsequent releases.

  • It's fantastic new Dr. Robinson :) May I ask -- did you base it on something or did you implement it from scratch ?

    Nevertheless -- a fantastic job! But, by doing this, you've also welcomed the good old Feature Creep into the game and you've already seen all the wishes and suggestions over at the facebook-group so ..prepare :D :D :D

    PS! Now - where do I send the money.

  • It's fantastic new Dr. Robinson :) May I ask -- did you base it on something or did you implement it from scratch ?

    The actual AGA enhancements were done by Rok Krajnc (AKA Chaos) who added them to the MiST version of Minimig some years back. In order to port them to the Chameleon I needed three things:

    • (a) a development board with similar technology level to the Chameleon but a larger FPGA. (There's a very valuable virtual logic probe tool called SignalTap but use it effectively you need a few thousand spare logic elements and plenty of spare block RAM.)
    • (b) a soft microprocessor capable of running the menu firmware, ideally capable of running at the SDRAM clock rate, to avoid having to add any new clocks to the system.
    • (c) time.


    I recently bought a devboard with a MAX10 FPGA that's about twice the capacity of the Chameleon's FPGA but seems to be the same technology level - so that took care of (a).


    For (b), the original Minimig and the MiST board use an external microcontroller, while the older TC64 Minimig port used a second instance of the TG68K soft CPU. There's no way a second TG68K would fit as well as the AGA enhancements, so I needed something else. Last autumn I had the crazy idea of designing a new CPU from scratch - and wrote a toolchain for it, too - and it's now mature enough to power the MInimig AGA TC64 port.


    Covid-19 took care of (c)


    So here it is!

  • Impressive work, Alastair! I have just donated 300,- EUR, and I'd like to encourage everyone to also donate and/or do monthly support through Patreon.


    Do you maybe have a goal on when to release the soft core and tool chain? Maybe when a certain threshold on Patreon is achieved?

  • Works well... thank you m8.

    Amiga ---> 500 Rev.6a * ACA500+ * ACA1221lc * ACA1233n-55 * CA-PSU *X-Surf 500 *

    C-64 ---> C64 II JiffyDos * 1541 II Jiffy Dos * Turbo Chameleon v2 * Docking Station TCv2 * Micromys v5 * RR-Net-MK3 *


  • Thank you for that detailed update. How many percent less space does you new CPU take up compared to that 2nd instance of the TG68K cpu which was initially ?

    The fully-featured 68000/'020 switchable TG68 takes up around 7,000 logic elements (and uses 2 memory blocks).

    With the '020 stuff disabled to make it a smaller microcontroller it takes up around 4,400 (still using 2 memory blocks).

    My own core, EightThirtyTwo, uses around 1,400 (and no memory blocks) in its smallest configuration as used in the new Minimig core. (This rises to around 2,200 if you enable interrupts, partial result forwarding and dual threads.)


    The FPGA has 24,624 logic elements in total, but you can't generally use every last one of them - it's a bit like packing randomly sized items into a box - there's always going to be a little bit of airspace.


    Impressive work, Alastair! I have just donated 300,- EUR, and I'd like to encourage everyone to also donate and/or do monthly support through Patreon.


    Do you maybe have a goal on when to release the soft core and tool chain? Maybe when a certain threshold on Patreon is achieved?

    Many thanks for the donation, very much appreciated.


    The CPU core's already out - I've been developing it "in the open" and blogging about the process for the last few months. The Minimig core itself is, of course, an open-source project so it's important that other people can build it from source - not just me. (I also suspect the overlap between people who want more cores on the Chameleon and people who will make use of the CPU core in their own projects will be quite small!)


    As for setting goals - I think there'll be plenty of opportunity for that - I can see an expanse of project space opening up just with Minimig, even before I look at porting other cores.

  • Jens - we've soon passed 800 members in the TC64 Facebook Group so if you need to spread some info to a large crowd to current and possibly future TC-customers -- just let us know and I'll put it up there. I am the creator of the group and we'd gladly help to spread news and updates there as well.

  • The fully-featured 68000/'020 switchable TG68 takes up around 7,000 logic elements (and uses 2 memory blocks).

    With the '020 stuff disabled to make it a smaller microcontroller it takes up around 4,400 (still using 2 memory blocks).

    My own core, EightThirtyTwo, uses around 1,400 (and no memory blocks) in its smallest configuration as used in the new Minimig core. (This rises to around 2,200 if you enable interrupts, partial result forwarding and dual threads.)

    Nice, so you've freed up about 5600 elements (gates?) in the best case scenario ? That is supernice -- was that the thing which made able to fit a full aga-core ? Out of curiosity, how much free elements are left currently with the current agacore ?

  • Nice, so you've freed up about 5600 elements (gates?) in the best case scenario ? That is supernice -- was that the thing which made able to fit a full aga-core ? Out of curiosity, how much free elements are left currently with the current agacore ?

    Not quite - the main TG68 was (and still is) in the 7,000 LE configuration, while the supporting TG68 (which I've replaced) was in the 4,400 LE configuration, so I've saved around 3,000.


    There are about 1,500 logic elements left - but that doesn't necessarily mean I can add 1,500 LEs of extra stuff - place-and-route will probably start failing before it completely fills.

  • Hi Alastair,


    Congrats!!! Tested and working. Now I can get 256 colors!!! Great, still resolution is low.... don't know if I can grow it up to 800x600 or 1024x768 like VGAs. I guess I can´t.


    It took me time to find the hidden glow icons in Storage disk. I'm using 3.1.4 ROM and Workbench.


    Speedinfo reports slower speed though (13.19 vs 16.83) than previous MINIMIG. Is this correct?


    Thanks and regards

  • Explore the DblNTSC, DblPAL and Multiscan productivity monitors - I'm currently using DblNTSC at 720 x a little over 400, and it's very nice. I did end up editing the monitor driver's parameters a little to better suit my monitor, though.


    The CPU is slightly slower with the AGA core - more wait states were added upstream somewhere to improve stability. Looking at this is on my To Do list...!

  • Hi Alastair, Thanks for your comments. I'm not expert in Amiga OS.


    I have only PAL monitor in Devs. Not sure where this is coming from. In Prefs, I can only see PAL modes. I've tried to change chipset to NTSC but there is no change. Still see only PAL modes.


    IS there ea way to edit or copy additional Monitors to Devs? What files need to be edited to change Monitor properties?


    Thanks and regards


    David

  • The available monitor drivers will be in the storage directory - copy them from storage/monitors to devs/monitors to enable them permanently, or I think you can activate them from Storage with a double-click, to try them out.

  • hi,


    I’m reading about MIST FPGA and MISTER, and I’ve found there are many more ported cores available, specially for arcade machines like ghostngoblins and others.

    Can these cores be ported to TC2?


    In case they cannot, what FPGA system do you recommend? MIST OR MISTER?


    thanks

  • There is no competition for TC2 :). I already purchased mine. I’m looking at Arcade cores, and Mist & Mister catalogue of arcades is much wider.


    Don’t be jealous, I’m in love with TC2!!!


    best