English Amiga Board


Go Back   English Amiga Board > Main > Amiga scene

 
 
Thread Tools
Old 31 March 2015, 02:50   #1
eXeler0
Registered User

eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 43
Posts: 1,422
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).
eXeler0 is offline  
AdSense AdSense  
Old 31 March 2015, 03:39   #2
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Quote:
Originally Posted by eXeler0 View Post
So, which AGA core is the most compatible out there? (Im guessing none of them is "perfect" yet).
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.
matthey is offline  
Old 31 March 2015, 08:59   #3
eXeler0
Registered User

eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 43
Posts: 1,422
Thanx for explaining @matthey
eXeler0 is offline  
Old 31 March 2015, 15:48   #4
IanP
Registered User

 
Join Date: Mar 2015
Location: Bristol/UK
Posts: 121
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 15:56.
IanP is offline  
Old 31 March 2015, 16:53   #5
alexh
Thalion Webshrine
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 11,943
Quote:
Originally Posted by matthey View Post
I believe the AGA core of the FPGA Arcade and Mist are both based on the MiniMig AGA HDL source code.
I don't think that is true is it?

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.

Quote:
Originally Posted by matthey View Post
I don't know if the Mist AGA is missing some of the updates in the FPGA Arcade version of AGA.
I am 95% sure they are different code bases.

Last edited by alexh; 31 March 2015 at 18:44.
alexh is offline  
Old 31 March 2015, 18:00   #6
IanP
Registered User

 
Join Date: Mar 2015
Location: Bristol/UK
Posts: 121
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:
I have an SVN developer server set up now. You may see developer chat on these forums about the code and environment, and I understand it is frustrating if you do not have access.
This is a small server and accesses is limited to those actively working on projects and have a board.
Two reasons this is limited for now :
- Things are shifting a lot in the libraries and I need to get something stable.
- I don't have time to support much at the moment.
I am prioritizing shipment to people who want to work on porting or writing a core. Mail me if you want to get early access.
As we near code release I will start pushing out snapshots to the main website.
Everybody is welcome to add their own projects and contribute to existing ones at this point.
If I can figure out how to do it I can add a live repository browse as well.
Thanks for the understanding and patience.
MikeJ
link

Last edited by IanP; 31 March 2015 at 18:12.
IanP is offline  
Old 31 March 2015, 18:38   #7
alexh
Thalion Webshrine
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 11,943
Interesting. I wonder why they are not using GITHUB or another good public server.

Anyone been downloading the HDL?
alexh is offline  
Old 31 March 2015, 21:55   #8
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Quote:
Originally Posted by alexh View Post
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.
I have no insider knowledge on this so everything I said is hearsay based on what I have read. The Mist AGA core became available and usable very quickly considering there is limited hardware information about AGA (no AGA Hardware Reference Manual like for ECS). Look at the effort to reverse engineer and document the Amiga chipset with Clone-A and even hooking a 1200 up to analysers currently for the FPGA Arcade. Granted, there have been stealth projects like the AGA MiniMig and Natami which did a lot of work under the radar before surprising us with how far they had progressed. Either someone really knew what they were doing with Mist AGA or they had more than a peak at some version of the MiniMig AGA core.

Quote:
Originally Posted by alexh View Post
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.
They are almost certainly different code bases now .
matthey is offline  
Old 31 March 2015, 23:51   #9
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 522
Quote:
Originally Posted by alexh View Post
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.
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.
robinsonb5 is offline  
Old 01 April 2015, 03:15   #10
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Quote:
Originally Posted by robinsonb5 View Post
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.
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?
matthey is offline  
Old 01 April 2015, 06:46   #11
alexh
Thalion Webshrine
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 11,943
Quote:
Originally Posted by matthey View Post
The Mist AGA core became available and usable very quickly considering there is limited hardware information about AGA (no AGA Hardware Reference Manual like for ECS).
Minimig was released a long time ago. This guy Rok could have been playing with the source for many years before his release. WinUAE is an open source recreation of AGA. Quite well commented. Some ASIC engineers turn software models into hardware as their jobs.

Quote:
Originally Posted by matthey View Post
Look at the effort to reverse engineer and document the Amiga chipset with Clone-A
No one really knows what was done or how successful that project was as it was closed source

Quote:
Originally Posted by matthey View Post
Granted, there have been stealth projects like the AGA MiniMig and Natami which did a lot of work under the radar before surprising us with how far they had progressed.
The original Minimig came from nowhere, developed by someone unknown to the Amiga community or the FPGA community. Yaqube came from nowhere and did all the Minimig ECS fixes, developed the ARM board and Minimig AGA? Or JimDrew, while he didn't exactly come from nowhere the SuperCard Pro was a surprise alternative to Kryoflux released and functional in a very short time?

Quote:
Originally Posted by matthey View Post
Either someone really knew what they were doing with Mist AGA or they had more than a peak at some version of the MiniMig AGA core.
A bit of synical conclusion don't you think?

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 18:19.
alexh is offline  
Old 01 April 2015, 12:37   #12
chaos
Registered User

chaos's Avatar
 
Join Date: Mar 2013
Location: Slovenia
Posts: 133
Quote:
Originally Posted by matthey View Post
I have no insider knowledge on this so everything I said is hearsay based on what I have read. The Mist AGA core became available and usable very quickly considering there is limited hardware information about AGA (no AGA Hardware Reference Manual like for ECS). Look at the effort to reverse engineer and document the Amiga chipset with Clone-A and even hooking a 1200 up to analysers currently for the FPGA Arcade. Granted, there have been stealth projects like the AGA MiniMig and Natami which did a lot of work under the radar before surprising us with how far they had progressed. Either someone really knew what they were doing with Mist AGA or they had more than a peak at some version of the MiniMig AGA core.
Hi,

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 ...
chaos is offline  
Old 01 April 2015, 20:21   #13
eXeler0
Registered User

eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 43
Posts: 1,422
Rok, have you talked to MikeJ @ FPGA Arcade? The tiny 68k Amiga world that is left could use some co-operation ;-)
eXeler0 is offline  
Old 02 April 2015, 02:40   #14
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Quote:
Originally Posted by alexh View Post
A bit of synical conclusion don't you think?
It's the truth even if it sounds cynical.

Quote:
Originally Posted by chaos View Post
Hi,

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
That's a lot of commits. You have obviously done a lot of work and you know what you are doing. I am always impressed when I find experts in jobs I didn't know existed a few years ago. I wish Amiga software development progressed as quickly .

Quote:
Originally Posted by chaos View Post
- 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!
Interesting. You make it sound easy. I take it you were already familiar with the Amiga and 68k which probably helped.

Quote:
Originally Posted by chaos View Post
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.
I have the AGA guide but I never got into programming the Amiga custom chips despite being a 68k assembler programmer. Toni knows more than any book. He should write an AGA hardware guide.

Quote:
Originally Posted by chaos View Post
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 announced? At some point, I just decided to do it myself ...
I think the FPGA Arcade updates will be released if the FPGA Arcade comes out before it's outdated. Having the HDL code for both AGA cores available should accelerate development.

Quote:
Originally Posted by eXeler0 View Post
Rok, have you talked to MikeJ @ FPGA Arcade? The tiny 68k Amiga world that is left could use some co-operation ;-)
The Mist guys seem to be more open. Maybe the FPGA Arcade guys are just too busy .

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 .
matthey is offline  
Old 02 April 2015, 03:09   #15
IanP
Registered User

 
Join Date: Mar 2015
Location: Bristol/UK
Posts: 121
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.
IanP is offline  
Old 02 April 2015, 06:09   #16
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Quote:
Originally Posted by IanP View Post
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.
The Mist and FPGA Arcade projects seem to realize the importance of the Amiga but only as a retro gaming market. Gunnar (Apollo project) is targeting accelerators where the custom chip set is not important, he is likely to use SAGA which is proprietary and he is likely to create his own standard which he believes will antiquate everything else. IMO, there is not much chance of working with him unless you are working for him. Thomas Hirsch has been quiet but I have reason to believe that he hasn't given up on the Natami (or whatever he chooses to call it). I doubt ThomasH would open source SAGA but he may be open to a standard if he was close to releasing something and had good reason to communicate (he supposedly still communicates with some Amiga people). I wouldn't want to bet on a Natami reappearance though. I'm pretty sure Marcel would like to work on and release a standard based on what he has done so far. I don't know if he is ready to work with a group but he should. His current documentation and work needs AGA compatibility and review.

Quote:
Originally Posted by IanP View Post
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.
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.
matthey is offline  
Old 02 April 2015, 12:29   #17
Megol
Registered User

Megol's Avatar
 
Join Date: May 2014
Location: inside the emulator
Posts: 254
Any idea how the extra integer registers are encoded? I've asked Gunnar however never got any relevant answer. :/
Megol is offline  
Old 02 April 2015, 13:13   #18
jbenam
Italian Amiga Zealot

 
Join Date: Jan 2009
Location: Italy
Age: 29
Posts: 1,226
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.
jbenam is offline  
Old 02 April 2015, 14:06   #19
alexh
Thalion Webshrine
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 11,943
Quote:
Originally Posted by matthey View Post
It's the truth even if it sounds cynical.
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 14:12.
alexh is offline  
Old 02 April 2015, 15:03   #20
Megol
Registered User

Megol's Avatar
 
Join Date: May 2014
Location: inside the emulator
Posts: 254
Quote:
Originally Posted by alexh View Post
Should you not have given Chaos the benefit of the doubt?
Didn't he?
Quote:
Originally Posted by matthey
Either someone really knew what they were doing with Mist AGA or ...
Quote:
I imagine people who used to borrow their smarter friends homework when things got tough imagine that everyone does the same?
... Classy.
Megol is offline  
AdSense AdSense  
 


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 Akira Retrogaming General Discussion 47 01 January 2016 02:25
fpga for ecs -> aga turrican3 support.Hardware 17 14 August 2013 01:09
Which FPGA Implementation of Amiga are you looking forward too? digiflip Amiga scene 44 06 June 2011 00:22
Which FPGA Implementation of Amiga do you think has the best chance? digiflip Amiga scene 4 29 May 2011 09:31
Best Amiga E implementation Madcrow Coders. General 1 25 June 2008 01:54

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 21:47.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.27145 seconds with 12 queries