31 March 2015, 01:50 | #1 |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,978
|
Best AGA implementation on FPGA?
Ok, so I've been following the FPGA Replay project for a while, and it looks fairly promising, although the AGA core still needs some love.
Ive seen other people play AGA games on the MIST and even the core thats in the Chameleon? (MIST / Minimig?) Now.. To me it seems somewhat... pointless... to re-invent the wheel several times. Why isn't there just one project thats perfecting the AGA core (after all, its reverse engineering and the goal is clear and the same for everyone: to behave exactly like the original). Then others could focus on more interesting projects such as the "Super AGA" as once described by the Natami team. So, which AGA core is the most compatible out there? (Im guessing none of them is "perfect" yet). |
31 March 2015, 02:39 | #2 |
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
I believe the AGA core of the FPGA Arcade and Mist are both based on the MiniMig AGA HDL source code. The code is GPL or similar open source which requires release to others but the FPGA Arcade may not need to release until it is selling production units (grey area). I have heard there has been some cooperation between these guys but I don't know if the Mist AGA is missing some of the updates in the FPGA Arcade version of AGA. There is some variation in emulation even when the code is the same due to hardware, timing and CPU differences. I expect the FPGA Arcade AGA implementation is the most mature as it has been in testing for the longest. The Natami SAGA is probably the most technically advanced (including some RTG and chunky support) but has had little in the way of testing. I have heard rumours of cooperation between Thomas Hirsch and Gunnar of the Apollo/Phoenix project so some variation of SAGA could reappear hear as well as with a revived Natami project. The non-open source licence for SAGA may be preferable for a commercial project.
|
31 March 2015, 07:59 | #3 |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,978
|
Thanx for explaining @matthey
|
31 March 2015, 14:48 | #4 |
Registered User
Join Date: Mar 2015
Location: Bristol/UK
Posts: 166
|
I was having a look on Google Code the other day to see what Amiga and related projects are hosted there since it's closing and found both minimig https://code.google.com/p/minimig/ and MiST https://code.google.com/p/mist-board/ projects there. The MiSt project Amiga core page links to a minimig-mist Github https://github.com/rkrajnc/minimig-mist. A wider search found a Github for minimig on the Altera-DE1 https://github.com/rkrajnc/minimig-de1. There is also minimig for the TurboChameleon64 on Github https://github.com/cnvogelg/minimig_tc64 and https://github.com/robinsonb5/minimig_tc64. The code base for minimig seems to be spread all over the place with probably other variations not (yet) made public.
Last edited by IanP; 31 March 2015 at 14:56. |
31 March 2015, 15:53 | #5 | |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,466
|
Quote:
AFAIK MiST/DE-1 AGA core Coded from scratch (probably based on MiniMig ECS) by Rok Krajnc (Chaos) and enhanced by Alastair M. Robinson and is open source. https://github.com/rkrajnc/minimig-mist FPGA Arcade AGA core Written by Jakub Bednarski (Yaqube) who took over MiniMig core development and probably some input from MikeJ. AFAIK it is legally required to be open source as binaries including MiniMig GPL code have been released but so far I've seen no HDL. I am 95% sure they are different code bases. Last edited by alexh; 31 March 2015 at 17:44. |
|
31 March 2015, 17:00 | #6 | |
Registered User
Join Date: Mar 2015
Location: Bristol/UK
Posts: 166
|
Binary FPGA Arcade Replay Amiga AGA cores can be found on their forum in the thread http://www.fpgaarcade.com/punbb/viewtopic.php?id=356
mikej wrote Quote:
Last edited by IanP; 31 March 2015 at 17:12. |
|
31 March 2015, 17:38 | #7 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,466
|
Interesting. I wonder why they are not using GITHUB or another good public server.
Anyone been downloading the HDL? |
31 March 2015, 20:55 | #8 | ||
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
Quote:
Quote:
|
||
31 March 2015, 22:51 | #9 |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,157
|
My enhancements were prior to Rok adding AGA support (thought I did tinker briefly with adding AGA palette support a year or two back), and were mainly to the menu system and hard disk / sd card support, but otherwise yes, that's right.
|
01 April 2015, 02:15 | #10 |
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
Thanks for clarifying. Is the Mist AGA core missing any AGA support or are there any known AGA incompatibilities? Is the AGA core run at original clock speed or can it be run at a faster speed?
|
01 April 2015, 05:46 | #11 | ||||
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,466
|
Quote:
Quote:
Quote:
Quote:
This guy Rok is writing synthesiseable HDL and targeting multiple FPGA platforms not just MiST, which are from different FPGA vendors, using different FPGA tools. Chances are he's pretty smart. I give him the benefit of the doubt but I don't know. I imagine you'd be able to tell if you had the two source codes side by side. As the source for Minimig AGA hasn't been openly released so we'll have to wait to find out. Last edited by alexh; 01 April 2015 at 17:19. |
||||
01 April 2015, 11:37 | #12 | |
Registered User
Join Date: Mar 2013
Location: Slovenia
Posts: 138
|
Quote:
I'm the person working on the minimig AGA core for the mist board. There seems to be a lot of speculation about this, so a few words from the horse's mouth, as they say - You can find all the work I've done on the minimig core for the DE1 board and later on the MIST on github, starting on 3. Dec 2011: https://github.com/rkrajnc/minimig-m...master?page=15 As you can see, I'm not exactly new at minimig - There has been (almost) NO code sharing between either the FPGAArcade team or the yaqube's new minimig AGA core and me. Mike did send an updated TG68K CPU core with some changes to Till Harbaum, who forwarded it to me, but that is it. - Yes, my minimig AGA core was written pretty fast, the majority in a week of sick leave actually You'd be surprised how little changes AGA requires on top of ECS. It is of course based on minimig ECS, which thanks to everyone working on it, especially yaqube, is a great place to start There is also the AGA guide document, which describes all the added / changed custom registers of the AGA chipset. You can implement around 75% of AGA on top of ECS and still be completely ECS compatible, which makes testing it (With small ASM-one few-liner programs) very easy. Of course, once you switch Lisa ID, all hell breaks loose Here is the approximate sequence how I did it: * convert the minimig core to a single 28MHz clock (not absolutely neccessary, but I didn't know that at the time) * check if SDRAM controller implementation is good enough for 64-bit DMA fetches (it was) and add 64bit data paths for sprite and bitplane data * implement AGA color LUTs, converting the LUT to blockrams, fix HAM6, HAM8 & EHB modes * implement dither for video output, as the MIST only supports 18-bit output * implement new bitplane DMA sequencer, bitplane modulos etc - I spent most of the time on this * add / fix 64-bit serializer regs for bitplane data and fix sprite serializer implementation * than you can start incrementally adding bits from new AGA registers and testing as you go, like border sprites, color table XOR, color table offsets, ... * keep in mind that the most complex parts of the chipset - the blitter and copper - aren't changed AT ALL! Most of this can be done with the help of the existing minimig ECS codebase, the AGA guide document, and common sense, especially thinking about how they upgraded the ECS chipset with minimal changes and in a compatible way. And, of course, with A LOT of guessing And, if you are wondering, yes, I am (well, was) a professional ASIC designer, so you could say I have some idea what I'm doing. I also had some help from Toni Wilen, who nudged me in the right direction. The AGA core is also not complete, not by far. There are some missing features waiting to be implemented, like bitplane / sprite scandoubling, programmable display modes are missing (they are missing from minimig ECS also), the bitplane scroll is wrong for some modes, border sprites are not always correct, the CPU only has a 16-bit bus, ... And of course, the hardest part - finding a million corner cases which are currently not handled properly. Yes, I'd prefer if yaqube's AGA updates were made available, I was waiting for that for how many years now since it was first annnounced? At some point, I just decided to do it myself ... |
|
01 April 2015, 19:21 | #13 |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,978
|
Rok, have you talked to MikeJ @ FPGA Arcade? The tiny 68k Amiga world that is left could use some co-operation ;-)
|
02 April 2015, 01:40 | #14 | |||||
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
It's the truth even if it sounds cynical.
Quote:
Quote:
Quote:
Quote:
Quote:
It would be good to have some cooperation on an enhanced AGA+RTG (with Chunky) and RTA standard. Unfortunately, the guys in charge of the Mist and FPGA Arcade projects only seem to want legacy compatibility with minimal bolt-ons. Gunnar of the Apollo/Phoenix project doesn't care about an enhanced Amiga chip set standard either unless they are optimized for his implementation and he can define them (maybe Marcel "Veda" Verdassdonk and Thomas Hirsch would be more open). I tried to create an enhanced standard 68k ISA but Gunnar made his own which I don't think any 68k FPGA CPU would or easily could follow. More division and chaos in the Amiga community seems to be par . |
|||||
02 April 2015, 02:09 | #15 |
Registered User
Join Date: Mar 2015
Location: Bristol/UK
Posts: 166
|
It would be great if the various FPGA teams could agree common standards for Amiga enhancements. However MiST and FPGA Arcade were both started as Atari ST enthusiast projects IIRC. Both are building on the Minimig legacy but they are not as Amiga focused as the Natami team was and the Apollo Phoenix team is. Thomas Hirsch has been quiet for some time unless I missed something and I've no idea what plans Marcel has for an end product.
I know you put a lot of work in on your enhanced 68k ISA Matt and it must be frustrating that others have chosen a different path however I think it's a good thing that some enhancements will finally be available soon. |
02 April 2015, 05:09 | #16 | |
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
Quote:
I am the first to acknowledge that we need higher performance 68k processors which wouldn't exist without Gunnar. He is quite a character with some great personality traits and some major personality flaws. As high as his expectations are, his superscalar CPU might actually meet them this time. The 68k has serious potential which was never explored and developed. If memory could be dual ported to allow 2 reads/cycle, I believe the 3 integer pipe superscalar design would be outperforming some *much* faster clocked hard processors. The core is very compact for the performance which is great for embedded applications also. Gunnar's ISA is too radical and lacks compatibility for retro and embedded markets though. I can't see compilers taking advantage of his extra non-orthogonal integer registers and trying will take a long time to mature if ever. It is FPGA so it would be possible to go back but a reputation for incompatibility and bugs is more difficult to roll back and Gunnar is as stubborn as he is arrogant. I doubt part of his ISA would be adopted and used as a standard either. A more conservative ISA standard could have had TG68 and UAE adopting it once there was compiler support and software available. A standard enhanced 68k CPU would have made a custom chipset standard easier. Another missed opportunity for the Amiga. At least we will have 68020+AGA as a base which isn't bad for retro use but a more modern Amiga to play with and develop for would have been more fun. |
|
02 April 2015, 11:29 | #17 |
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Any idea how the extra integer registers are encoded? I've asked Gunnar however never got any relevant answer. :/
|
02 April 2015, 12:13 | #18 |
Italian Amiga Zealot
Join Date: Jan 2009
Location: Italy
Age: 36
Posts: 1,913
|
IMHO the first target should be 100% (or at least 98%) compatibility with old hardware.
Creating a new ISA/Enhanced Architecture (even if it's fast as heck) will just fragment even more the market and only a small fraction of the users out there would end up using it. If the Minimig required stuff especially compiled for it, you can bet whatever you want that it'd have bombed massively. No one is going to spend money and time to support something only a niche of a niche would use. |
02 April 2015, 13:06 | #19 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,466
|
Should you not have given Chaos the benefit of the doubt?
I imagine people who used to borrow their smarter friends homework when things got tough imagine that everyone does the same? Last edited by alexh; 02 April 2015 at 13:12. |
02 April 2015, 14:03 | #20 | ||
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Didn't he?
Quote:
Quote:
|
||
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Minimig 060 AGA core on FPGA-Arcade | Amiga1992 | Retrogaming General Discussion | 47 | 01 January 2016 01:25 |
fpga for ecs -> aga | turrican3 | support.Hardware | 17 | 14 August 2013 00:09 |
Which FPGA Implementation of Amiga are you looking forward too? | digiflip | Amiga scene | 44 | 05 June 2011 23:22 |
Which FPGA Implementation of Amiga do you think has the best chance? | digiflip | Amiga scene | 4 | 29 May 2011 08:31 |
Best Amiga E implementation | Madcrow | Coders. General | 1 | 25 June 2008 00:54 |
|
|