Welcome, Guest. Please login or register.

Author Topic: Minimig AGA 060 RTG  (Read 58569 times)

Description:

0 Members and 5 Guests are viewing this topic.

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show all replies
    • http://www.billtoner.net
Re: Minimig AGA 060 RTG
« on: July 12, 2011, 02:17:46 AM »
Quote from: psxphill;649114Emulating P96 allows you to use software that already exists, while natami will need new drivers. However I doubt you can use copper to get draggable screens and mid screen resolution changes etc. Plus natami is also talking about h/w 3d rendering, which P96 doesn't have.
 
What Natami is doing is redefining what the Amiga can do, which will need alot of software work. I'd love to see if, then hopefully someone can figure out how to make it cheap enough.[/QUOTE

I don't quite understand this. To "emulate" P96 without making a new driver, Yaqube needs to clone a chip that has an existing P96 driver. Like, clone a Cirrus Logic GD5446 chip inside the FPGA. pr clone a S3 Virge chip inside the FPGA, or ... and use the existing P96 driver for that.

Natami could make a new P96 driver for SuperAGA. I think that's enormously easier than making a clone of someone else's graphcis chip to save on driver writing.

I don't know if Yaqube is doing anything more advanced than cloning AGA. Someone said CyberGraphics API had a driver for AGA, but it was very slow. If he's doing a direct but fast AGA clone, a P96 driver is still what would make sense. If he's enhancing it to make an Uber-AGA, then a P96 driver is still the right thing to do to benefit from such enhancements. (Or a CGX driver if you prefer that to P96)

Any which way around here, Natami is the same situation as Minimig-AGA or minimig-Uber-AGA
« Last Edit: July 12, 2011, 02:20:51 AM by billt »
Bill T
All Glory to the Hypnotoad!
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show all replies
    • http://www.billtoner.net
Re: Minimig AGA 060 RTG
« Reply #1 on: July 26, 2011, 04:35:44 PM »
Quote from: psxphill;651723
Not really. Cloning one of the cards that there is already a P96 driver for is pretty trivial. The simplest cards are just framebuffers with very few registers. The emulation doesn't need to be very accurate, just good enough for P96 to work.


If all you have is a dumb framebuffer, there's not much point in a P96 driver. P96 drivers accelerate things by using graphics chip hardware to draw lines and other shapes, picture-in-picture stuff, etc. A dumb framebuffer doesn't have such things. I don't get this.

Cloning a chip with features that are worth cloning, such as a Voodoo3 or eventhe old PicassoIV or whatever chips, that's going to be an enormous amount of work. You can find out the register API, what register addresses do what, what bits do what, but then you have to design the chip to do exactly that. Chip design is a lot of work. Yaqube is already doing exactly that sort of work in cloning AGA (and thus knows what you're asking of him) and perhaps improving on it. Let's not ask him to do this large effort twice.
 
Quote
Extending AGA to the point where P96 makes sense (16/24/32 bit modes) etc is going to be more complicated to shoehorn it into the design plus you can't even see it until you have written the software.


It's nearly exactly the same problem as cloning a Cirrus Logic 5446. How do you shoehorn that into the Minimig design any easier than an enhanced AGA? Do you convert the 5446 clone into the 680x0 bus that connects everything in Minimig now? (and thus have to redesign how some things in the 5446 work because it was designed for PCI) Do you make it PCI as the original was and then add a bridge between them?

A p96 driver isn't that big of a deal to make. I've been involved with that before. By day I am a chip designer. I don't do graphics chips, I work on microcontrollers, but I have some sort of idea of what you would have to go through to clone something. Trust me, making a new P96 driver is SIGNIFICANTLY LESS EFFORT than cloning a second graphics chip for the reason of avoiding a P96 driver for AGA, testing, debugging, etc. He's got to do all of that for AGA already, but for the purpose of an Amiga clone, that part makes sense. If you want a 5446 or some other non-AGA chip, wedge in a PCI slot or something to the design and plug it in there.

And AGA is already more advanced than your simple framebuffer proposal. It can draw shapes and move memory around. The main reason not to have made an AGA P96 driver ages ago was that the bus bottlenecks got in the way too much, performance was a problem there. Yaqube has an opportunity here to improve on those bottlenecks and get AGA performing better, so that P96 driver is worth making for it.

Let's encourage Yaqube to make AGA perform as well as or maybe even better than the PCI chips of old.
Bill T
All Glory to the Hypnotoad!
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show all replies
    • http://www.billtoner.net
Re: Minimig AGA 060 RTG
« Reply #2 on: July 27, 2011, 12:25:55 AM »
I think a P96 driver for Minimig-AGA makes sense for us users, and here's why. Minimig-AGA gives us AGA, so we can run AGA software. A P96 driver for AGA lets us also run P96 (and most CGX too I guess) software that doesn't have an AGA/ECS equivalent. And it does that with far less effort than adding in a second graphics core that is compatible with an existing P96 driver.

I was originally excited in this thread to find out how Yaqube accomplished P96 compatibility. Since then, it's become apparent that his path really is the most efficient one to get us there. Efficient in usage of his time, and efficient in usage of FPGA resources.

Quote from: psxphill;651821
You'd only need to make it work the same as the original graphics card, so it would be a zorro device.
No, it was a PCI graphics chip with a PCI->Zorro bridge in between. A PCI chip has a PCI register map.  I guess in theory you could leave out PCI and also leave out Zorro and attach such a reinvented graphics core direct to the native 680x0 Minimig bus, but it's still a lot of work, even if you didn't have to reverse it to start. Since we're inside an FPGA now, there's no PCI or Zorro forced upon us, but it's still a ton of work any which way.

Now, I am not against Zorro or PCI. I have a slower than glaciers progress project to do a Zorro bridge myself. But my only goal is Zorro<->Wishbone. I suppose a Minimig<->Wishbone bridge would be required for Minimig, but AoOCS already has Wishbone, so I can start playing there and then see if someone ended up making Wishbone for Minimig by then. I've taken to thinking that desigining a couple bus bridges would be a good way for me to learn Verilog. (Or VHDL if we're taken there, as I think MikeJ has suggested may happen, or will we end up with both Verilog and VHDL ports tracking each other?)

Quote
I guess if you could use the AAA register layout then it would be cool, I like old hardware and adding new registers just seems wrong.
Who needs to add new registers? We can do things to improve AGA compared to Commodore's motherboard/chip design without changing registers. Make the bus faster clock. Maybe make the bus wider. Faster memory access. Things that can make Minimig's AGA implementation perform well enough for P96 driver to now be practical for the first time. We're not talking incompatible, we're talking fast enough to be worth doing a P96 driver. And Making an AGA clone that performs well is something that makes sense as a big goal for Minimig-AGA.

Now, if we can go beyond AGA (Natami anyone?) without breaking software, then why not? Add some true 24bit modes, and new registers or new bits previously undefined in old registers to support that. Add alpha blending. Add chunky modes. Add YUV and other color modes if you like. It doesn't have to break old stuff, and if you put your fingers over the new changes to the updated register map, you won't know the difference. If you want to get real crazy, add some hardware OpenGL.

And if someone wants to have fun putting an alien graphics chip in there too, that is OK to play around with. But for motivation of wanting to do that. Motivation to avoid writing a P96 driver is an odd one that I don't think makes sense. but do it for fun, for education, to show off, whatever. You're probably going to have to write a P96 driver anyway. (I think it would be fun to play with opengraphics and other free graphics cores, but I'd start on AmigaOnes and true Classics that have real PCI and real Zorro slots, rather than try to add PCI and Zorro into Minimig first. PCI, Zorro, and those other additional gfx cores will all take up space, and I don't have a huge FPGA chip)
« Last Edit: July 27, 2011, 12:29:16 AM by billt »
Bill T
All Glory to the Hypnotoad!
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show all replies
    • http://www.billtoner.net
Re: Minimig AGA 060 RTG
« Reply #3 on: July 27, 2011, 07:43:20 PM »
Quote from: yaqube;651918
The Minimig RTG card (embedded in the same FPGA as the main core) is independent from its AGA display engine. Although the Chip RAM is used as the display memory (there is 50 MB of it) it's much faster than the one found in real AGA machines.

I've misunderstood things then. I appologize to the guy I've been debating with about the sense of a second gfx engine beside AGA in there vs AGA-native P96 driver.

When can we learn more about this thing? Is it something you made yourself, or an open core you found somewhere?
Bill T
All Glory to the Hypnotoad!
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show all replies
    • http://www.billtoner.net
Re: Minimig AGA 060 RTG
« Reply #4 on: August 07, 2011, 08:24:49 PM »
Quote from: yaqube;651927
Right now it's not a high priority. I tried to make use of the extra DDR memory bandwidth and I was surprised how easy it was to implement a simple frame buffer and write a driver for it.

As I said before it's a simple frame buffer but in the future it will be expanded by a dedicated blitter engine. Everything has been made by me.


I'm curious also why not a P96 driver for AGA direct. Is it still not able to perform well enough, even with all the good things that Minimig in a good FPGA offer with this DDR bandwidth etc?
Bill T
All Glory to the Hypnotoad!
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show all replies
    • http://www.billtoner.net
Re: Minimig AGA 060 RTG
« Reply #5 on: December 03, 2011, 03:40:55 PM »
Quote from: amigadave;669999
This thread should be changed to FPGA Arcade Replay w/060 & RTG, as I don't think it has anything to do with the original Minimig.


While this thread does seem very FPGA-Arcade centric, since that's what Yaqube and friends have to develop the AGA version of Minimig in.

But nothing to do with Minimig? It'll have a lot of the same Verliog code (or VHDL port) from the original. AGA won't change everything everywhere... (Will Paula core change? Even if it does change, will it be completely thrown out and replaced?)

Unless you think of Minimig as the board. Which I don't. I guess that both the core and the old boards have the same names. but the boards really are just FPGA boards, like FPGA-Arcade is and Terasic DE1 is, etc. The Verilog core (or a port to VHDL) is what makes them really interesting to us here.
Bill T
All Glory to the Hypnotoad!