Amiga RTG Support (Update: Shipped!)

User avatar
limi
Top Contributor
Posts: 619
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 135 times
Been thanked: 418 times

Amiga RTG Support (Update: Shipped!)

Unread post by limi »

There’s been a lot of requests for some sort of RTG support for the Minimig core in MiSTer.

You can currently use the HD720 driver to achieve 1280×720 resolution — like I showed in this Reddit post — but I’d love to have something a bit better, since it’s kind of a hack with some limitations.

jpy6qw1pfbu41.jpg
jpy6qw1pfbu41.jpg (274.25 KiB) Viewed 40572 times

Sorgelig wrote:
Actually HDL part can be simplified for MiSTer. Scaler supports rendering from frame buffer, so i wanted to re-use the frame buffer mode for RTG. In this case Minimig doesn't need to switch between video outputs but just continue to provide AGA video while RTG drivers will use DDR3 memory for RTG video.
So instead of dropping serious money on something like the Vampire V4, I’d love to use that money to sponsor an open source implementation of RTG, so everyone can benefit.

Do we know if anyone is interested in implementing a Picasso96-compatible implementation for MiSTer? And is anyone else willing to put some money down towards this?

I would hope that 1920×1080 support with 24/32 bit color (or even 1440/1536) could be possible. It sounds like it doesn’t require actually emulating a hardware card, instead using the frame buffer.
User avatar
limi
Top Contributor
Posts: 619
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 135 times
Been thanked: 418 times

Re: Sponsoring RTG support

Unread post by limi »

(…and the uaegfx driver might be interesting for inspiration, too)
mahen
Posts: 185
Joined: Sun May 24, 2020 8:25 pm
Has thanked: 19 times
Been thanked: 6 times

Re: Sponsoring RTG support

Unread post by mahen »

I would also be happy to sponsor someone specifically improving the Minimig core. (in addition to Alexey & others).
I'm trying to get in touch with Rok Krajnc to see if he is still around.

The Minimig core is already pretty mature, I love it and wouldn't complain even if it stayed that way ! Highly compatible + super low latency + perfect 50 Hz smoothness / timing + scanlines + minimalism = pure bliss.

But some nice to have features would be :

RTG (granted, using dblpal, productivity etc. is a nice temporary solution to get a proper ratio / bigger workspace :-),
AHI support (I think Rok used to work on that),
faster CPU (for some demos & high end games),
bsdsocket emulation (to chat with old pals on IRC & whdload updates),
a way to mount a directory on the SD (otherwise I have to take my SD away and use UAE to add / update apps !),
some improved scanlines / CRT mimicking,
some way to set the scaling multiplier while cropping the picture to get a bigger integer-scaled pic,
CD32 isos / possibility to mount ISO & CDDA tracks for a couple of games (AB3D for instance).
User avatar
limi
Top Contributor
Posts: 619
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 135 times
Been thanked: 418 times

Re: Sponsoring RTG support

Unread post by limi »

As far as networking goes, this is already there? I definitely have AmiTCP running and can download files via WiFi. Is there something specific missing there?

Scaling: MegaAGS has great defaults, and even includes an experimental 5× scaler for running PAL games edge-to-edge, similar to what the C64 core does.
User avatar
limi
Top Contributor
Posts: 619
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 135 times
Been thanked: 418 times

Re: Sponsoring RTG support

Unread post by limi »

(But let’s keep this thread focused on RTG only, there are of course a bunch of other improvements that could be done) 🙃
mahen
Posts: 185
Joined: Sun May 24, 2020 8:25 pm
Has thanked: 19 times
Been thanked: 6 times

Re: Sponsoring RTG support

Unread post by mahen »

Yep indeed. I'll definitely look into what you mentioned above and that is little know.

The common factor could be to fund Minimig related development in general. I'd be in !
Anything
Posts: 8
Joined: Mon May 25, 2020 1:48 pm

Re: Sponsoring RTG support

Unread post by Anything »

Yep I'd be in too
petarku
Posts: 25
Joined: Mon May 25, 2020 8:59 am
Has thanked: 3 times
Been thanked: 3 times

Re: Sponsoring RTG support

Unread post by petarku »

I would be in as well , I remember that Sorg said once that most people that could move minimig core further are doing commercial projects so maybe we can attract them to contribute here on mister. I am waiting for RTG and LL cool joy (when it comes) and ready to use MIster as my my daily Amiga driver.
MikeJ
Posts: 9
Joined: Wed Jun 10, 2020 6:30 pm
Been thanked: 8 times

Re: Sponsoring RTG support

Unread post by MikeJ »

Hi. I do the FPGAArcade stuff. I opensourced the RTG code ahead of the full core, but it looks difficult to integrate.

While I am fully focused on my upcoming Replay2 platform, it's (like nuclear fusion) always 2 months away. I had a beer with the team earlier and nobody objected to us making a build for the DE10-nano platform. Note, this is not a port to Mister, that's too complex. You would need to run our firmware executable as well, but that shouldn't be a problem ? Our build system already targets 3 different platforms, and I don't see a major issue with supporting the DE10-nano as well. I'm also working on bridging the ethernet and USB, something I need to do for R2 as well (the current 68060 DB has separate ethernet and usb phys). I've ordered a bunch of boards for the guys to play with anyhow.

What memory configuration do you have, single memory with analog video or the dual memory?
petarku
Posts: 25
Joined: Mon May 25, 2020 8:59 am
Has thanked: 3 times
Been thanked: 3 times

Re: Sponsoring RTG support

Unread post by petarku »

just to be clear what I would be interested to sponsor.. Extension of minimig with RTG code and all that should be open source.. I think that is in the spirit of mister FPGA project , I wouldnt be interested to sponsor any close code project , even if that can work on DE10-nano..
MikeJ
Posts: 9
Joined: Wed Jun 10, 2020 6:30 pm
Been thanked: 8 times

Re: Sponsoring RTG support

Unread post by MikeJ »

Hi,
Sorry I wasn't asking for sponsorship, but if you feel you want to support the team later that's great.
The plan was always to make it open - our old SVN repository was and contains a lot of code that made it's way into Mister.
We've moved to github and it's taking some time to refactor, but it will be public again soon.
/Mike
Fularu
Posts: 29
Joined: Sat Jun 13, 2020 3:25 am

Re: Sponsoring RTG support

Unread post by Fularu »

@Mikej

I've been waiting on your Replay 2 project since I missed on the initial one ;-) Hope it's really just a few months away :P Even if you make a DE-10-Nano build (and I would get a new Nano specifically for it and have a different one for everything else)
User avatar
Sorgelig
Site Admin
Posts: 877
Joined: Thu May 21, 2020 9:49 pm
Has thanked: 2 times
Been thanked: 211 times

Re: Sponsoring RTG support

Unread post by Sorgelig »

I have questions about RTG driver or Picasso capability:
- does it distinguish stride (bytes per line) from screen width or they have to match each other? i.e. can you configure stride separately from width?
- does it support configuration of color bits? i.e. can you configure which bits are representing RED/GREEN/BLUE components?
- does it require some kind of HW blitter or it's optional?
kolla
Posts: 188
Joined: Sat Jun 13, 2020 7:56 am
Has thanked: 17 times
Been thanked: 33 times

Re: Sponsoring RTG support

Unread post by kolla »

In my opinion, once you want RTG you can just as well drop FPGA and go straight to whatever UAE of choice - the *ENTIRE* point of FPGA Amiga is to replicate the Amiga chipset, and use it for what it was good at.
Fularu
Posts: 29
Joined: Sat Jun 13, 2020 3:25 am

Re: Sponsoring RTG support

Unread post by Fularu »

kolla wrote: Wed Jun 17, 2020 8:24 pm In my opinion, once you want RTG you can just as well drop FPGA and go straight to whatever UAE of choice - the *ENTIRE* point of FPGA Amiga is to replicate the Amiga chipset, and use it for what it was good at.
That's a rather narrow view. The Amiga has had graphics cards as early as the first Amiga 2000 release. It was a productivity computer as much as a gaming machine. As such implementing RTG shouldn't be viewed as some transgression of what makes an Amiga an Amiga. It was concieved from the get go with expandability in mind and that should be available in a new, modern factor with no morality discourse.

I mean the most popular RTG videocard for the Amiga right now is FPGA based and a recreation of the Picasso 96 standard (the ZZ9000)
User avatar
Coffea
Posts: 32
Joined: Thu May 28, 2020 8:35 pm
Has thanked: 6 times
Been thanked: 5 times

Re: Sponsoring RTG support

Unread post by Coffea »

I see no reason why unused space on the FPGA can't or shouldn't be used to optionally extend machines, even if that goes into realms of fantasy hardware. For the Amiga on FPGA specifically, there is also a feel that emulation just doesn't replicate.

Certainly wouldn't kick an optional high res desktop or accelerated CPU out of bed.
mahen
Posts: 185
Joined: Sun May 24, 2020 8:25 pm
Has thanked: 19 times
Been thanked: 6 times

Re: Sponsoring RTG support

Unread post by mahen »

Yep, it's a common use case to actually use the RTG for productivity apps and AGA for games. It's great too for browsing one's whdload collection and you can gain some CHIP ram useful for launching the games :)
kolla
Posts: 188
Joined: Sat Jun 13, 2020 7:56 am
Has thanked: 17 times
Been thanked: 33 times

Re: Sponsoring RTG support

Unread post by kolla »

I am talking about practical implications here, I am not talking about "what makes an Amiga" or that Amiga has no place as a productivity system. I am not much of a gamer myself, and primarily use Amiga for productivity.

What is RTG? It's a software layer between the OS and graphics hardware - it patches to the OS to use hardware agnostic methods for drawing graphics, and then translates those methods to hardware native methods through a hardware driver. Hardware abstraction. This is what P96 is and does. As does CyberGraphX.

Why is the most popular graphics card right now FPGA based? Because it is pretty darn impossible to find available graphics chips that at all can be interfaced with original Amiga hardware and that are well documented, it makes perfect sense to "make one yourself" (and no, there is no "recreation of the Picasso 96 standard" - to use RTG with the ZZ9000 you install P96, and the ZZ9000 P96 driver, just like you do with any other P96 hardware - or for that matter UAE and the UAEGFx driver) What does the FPGA on the ZZ9000 do? It interfaces with the Amiga. So what does the ARM processor on the ZZ900 do? "All Picasso96 rendering functions are fully accelerated using custom ARM routines." So you essentially have a software emulated graphics card (like UAEGFx) plugged into the zorro bus of a real Amiga. How would you accomplish the same on the MiSTer? By using the onboard ARM, and "All Picasso96 rendering functions are fully accelerated using custom ARM routines" the same way as with the ZZ9000. And then you are already well on your way to the path of software emulation, you just need to move the CPU out of the FPGA and you are very much done.
kolla
Posts: 188
Joined: Sat Jun 13, 2020 7:56 am
Has thanked: 17 times
Been thanked: 33 times

Re: Sponsoring RTG support

Unread post by kolla »

Btw - SAGA from the Apollo Core project is supposed to be open source - instead of "implementing graphics card on FPGA", it adds native chunky modes to the existing AGA chipset - it's no secret that I am no super fan of the project in general, but this thing, in my view, makes a heck lot more sense.
User avatar
Sorgelig
Site Admin
Posts: 877
Joined: Thu May 21, 2020 9:49 pm
Has thanked: 2 times
Been thanked: 211 times

Re: Sponsoring RTG support

Unread post by Sorgelig »

RTG wouldn't be desirable if original AGA mode wouldn't be so slow in 256 colors mode with super-high resolution. 1280x720 AGA mode looks fantastic on MiSTer and basically higher resolution is not required. But speed... If we could think how to increase a drawing speed in AGA mode.
Basically RTG is required only for WB, while it of course useless for games.

I never used CD32, does Akiko chip there accelerate the WB?
bbond007
Top Contributor
Posts: 519
Joined: Tue May 26, 2020 5:06 am
Has thanked: 85 times
Been thanked: 198 times

Re: Sponsoring RTG support

Unread post by bbond007 »

Sorgelig wrote: Fri Jun 19, 2020 7:38 am I never used CD32, does Akiko chip there accelerate the WB?
Akiko chip does nothing to accelerate the WB. It was only used in a few games.

Picasso support would be really nice for ShapeShifter the MAC emulator. The chunky to planar conversion really slows down the emulation.

I don't know if this FPGA GFX card implementation would be helpful. --> https://github.com/mntmn/amiga2000-gfxcard

The section "Picasso96: Writing a Driver for a Closed System" is interesting:

"There is also a number of entrypoints to allow hardware blitting (block copying), rectangle fills and line drawing. I don't implement these yet, but they should speed up working with the card significantly."

That seems to suggest HW blitter is optional.
User avatar
Sorgelig
Site Admin
Posts: 877
Joined: Thu May 21, 2020 9:49 pm
Has thanked: 2 times
Been thanked: 211 times

Re: Sponsoring RTG support

Unread post by Sorgelig »

bbond007 wrote: Fri Jun 19, 2020 9:57 am I don't know if this FPGA GFX card implementation would be helpful. --> https://github.com/mntmn/amiga2000-gfxcard

The section "Picasso96: Writing a Driver for a Closed System" is interesting:
thanks for link! That's really interesting. Many useful info!
robinsonb5
Posts: 129
Joined: Fri Jun 19, 2020 8:54 pm
Has thanked: 13 times
Been thanked: 57 times

Re: Sponsoring RTG support

Unread post by robinsonb5 »

There's more useful Picasso96 info at http://wiki.icomp.de/wiki/Category:P96 - the API's no longer obscure.

As it happens I've been tinkering with the Minimig core again recently. My target platform's the Turbo Chameleon 64 cartridge, but some of what I'm doing will no doubt be applicable to MiST and Mister, too.
I've already implemented the Akiko C2P cornerturn, and I'm currently tinkering with the possibility of getting some kind of RTG framebuffer running within the confines of a nearly-full FPGA and the bandwidth limits of regular SDRAM. (We love challenges, don't we?!)
apolkosnik
Posts: 24
Joined: Wed Jun 17, 2020 6:04 am

Re: Sponsoring RTG support

Unread post by apolkosnik »

So the software part from FPGAArcade is available here:
https://github.com/FPGAArcade/amiga_cod ... master/rtg

The FPGAArcade's VHDL implementation of the RTG is available here:
https://github.com/FPGAArcade/replay_am ... common/rtl
kolla
Posts: 188
Joined: Sat Jun 13, 2020 7:56 am
Has thanked: 17 times
Been thanked: 33 times

Re: Sponsoring RTG support

Unread post by kolla »

Sorgelig wrote: Fri Jun 19, 2020 7:38 am RTG wouldn't be desirable if original AGA mode wouldn't be so slow in 256 colors mode with super-high resolution. 1280x720 AGA mode looks fantastic on MiSTer and basically higher resolution is not required. But speed... If we could think how to increase a drawing speed in AGA mode.
Yes, if there was ways to improve drawing speed in AGA modes ("turbo mode"?), that would be much more interesting and useful than adding RTG, as it would benefit a lot more software (DPaint, Brilliance, SCALA etc that don't work with RTG).
Mike
Posts: 6
Joined: Sat Jun 20, 2020 8:24 am

Re: Sponsoring RTG support

Unread post by Mike »

MikeJ here again, managed to get locked out my account.
Kolla, in my view the RTG is compatible with the original hardware ethos - it was a plug in card which can be disabled. Same with the AHI audio.

Similarly, it's important to have the cycle accurate 68K, but faster CPUs will help with software which doesn't support RTG. As you could plug accelerator cards in, this is also ok to the purst I think.

As FPGA technology and memory bandwidth increases, this will come. Work is also being done to improve the current CPU and make a new one.
kolla
Posts: 188
Joined: Sat Jun 13, 2020 7:56 am
Has thanked: 17 times
Been thanked: 33 times

Re: Sponsoring RTG support

Unread post by kolla »

Well, you can have RTG on the MiSTer Minimig already, just install P96 and the “Native” driver :)

http://aminet.net/package/driver/moni/Native

But that’s not what the topic is really about, it’s about how to implement fast, highres, deep colour screen modes for the Minimig, and if the answer to that is to use the ARM SoC to do all drawing, then why not move fully to software emulation and get faster cpu, memory access, disk i/o, bsdsocket.device etc as well? The MiSTer can do that too, you know :)

What screen resolutions and colour depths can one realistically expect from implementing “a graphics card” on the MiSTer FPGA?
kolla
Posts: 188
Joined: Sat Jun 13, 2020 7:56 am
Has thanked: 17 times
Been thanked: 33 times

Re: Sponsoring RTG support

Unread post by kolla »

It just struck me what many really want...
Fast, RTG, networked etc UAE setup, as frontend for the FPGA Minimig, where launching a “native” program such as a legacy game, fires up the Minimig core with preferred parameters... “FPGA enhanced WHDload experience under UAE” or thereabouts.

Pretty sure it can be done already, pretty sure it’s rather uninteresting and tedious work compared to implementing chunky modes for Minimig in FPGA :)
robinsonb5
Posts: 129
Joined: Fri Jun 19, 2020 8:54 pm
Has thanked: 13 times
Been thanked: 57 times

Re: Sponsoring RTG support

Unread post by robinsonb5 »

kolla wrote: Sat Jun 20, 2020 1:09 pmWhat screen resolutions and colour depths can one realistically expect from implementing “a graphics card” on the MiSTer FPGA?
So far the highest resolutions I've managed to display from plain SDRAM shared with the Amiga have been 1024x768 in 16-bit colour and 1440x900 in 8-bit indexed. That's a big win over AGA on my target platforms since we don't have de-interlacing. That's just a dumb framebuffer with relatively slow writing speed, though - I'm sure much more could be done on the Mister.
Mike
Posts: 6
Joined: Sat Jun 20, 2020 8:24 am

Re: Sponsoring RTG support

Unread post by Mike »

Yes, the PS memory can be used as the frame buffer, latency is not really an issue.
I squeezed two memory channels out my single DDR memory on Replay1 but not sure that flies with the SDRAM. I'll have a play.
p.s. I sent you a mail robinsonb5 but I may have an old email address.
/MikeJ
Post Reply