Welcome, Guest. Please login or register.

Author Topic: P96 RTG driver development for new hardware  (Read 19231 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
P96 RTG driver development for new hardware
« on: November 23, 2015, 04:01:42 PM »
Jim Drew and I have been working on an RTG implementation for the Replay (FPGAArcade) board.

I've implemented the display engine and dedicated blitter which is working fine, and the system is in a usable beta.

http://www.fpgaarcade.com/2015/11/21/amiga-rtg-graphics-card-working-and-in-beta/

The card driver is based on publicly available information, but we noticed the blitter is not used as much as expected.

To move forward, we would very much appreciate any details on the driver SDK or APIs for Picasso96.

This is not meant to be an open/closed/IP debate, I realize the waters are somewhat murky here, but to find a way forward which minimizes the amount of work and makes best use of the code currently available.

If Picasso96 is the best thing available now, it seems daft for us to re-invent the wheel when there are other fun things to be done.

/MikeJ
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #1 on: November 23, 2015, 04:26:59 PM »
Oh, I forgot to add I have developer hardware available at cost if anybody is interested in working on this (or any other) area. May have minor cosmetic issues etc - mail me if interested.
/MikeJ
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #2 on: November 23, 2015, 04:41:28 PM »
Strange. Seems to be fixed after a refresh. Thanks.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #3 on: November 23, 2015, 07:43:14 PM »
Quote from: OlafS3;799471
Have you already contacted Toni about it? If someone has deep insight knowledge then he


Not specifically, although Jim may have. I examined UAE of course when working on the first cut of the driver.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #4 on: November 24, 2015, 11:51:34 AM »
Quote from: Thomas Richter;799504
This is completely irrelevant for driver development. P96 patches over half of gfx to get its services announced, but the monitor driver is unrelated to that. It is the rtg.library which does that. The monitor and card files are regular libraries that offer their services to the rtg.library and provide elementary services for programming the video chip on the card, and provide basic facilities for 2D hardware acceleration.

Thanks Thomas, that makes sense.

ORI.L   #(1<<15),(PSSO_BoardInfo_Flags,A2) ; BIF_BLITTER
        LEA     (BlitRectNoMaskComplete,PC),A1
        MOVE.L  A1,(PSSO_BoardInfo_BlitRectNoMaskComplete,A2)
        LEA     (BlitRect,PC),A1
        MOVE.L  A1,(PSSO_BoardInfo_BlitRect,A2)
        LEA     (WaitBlitter,PC),A1
        MOVE.L  A1,(PSSO_BoardInfo_WaitBlitter,A2)
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #5 on: November 24, 2015, 11:56:00 AM »
Thanks Thomas, that makes sense.

We need to look more into the card driver and make sure we are setting all the board info flags. For example, during setup ( InitCard: )

        ORI.L   #(1<<15),(PSSO_BoardInfo_Flags,A2) ; BIF_BLITTER
        LEA     (BlitRectNoMaskComplete,PC),A1
        MOVE.L  A1,(PSSO_BoardInfo_BlitRectNoMaskComplete,A2)
        LEA     (BlitRect,PC),A1
        MOVE.L  A1,(PSSO_BoardInfo_BlitRect,A2)
        LEA     (WaitBlitter,PC),A1
        MOVE.L  A1,(PSSO_BoardInfo_WaitBlitter,A2)

We only ever see blit calls with mode 12 (dst = src). This is all we have implemented, but would be good to know if we can do more.

Likewise, for supported modes
       ORI.W   #$3FF2,(PSSO_BoardInfo_RGBFormats,A2)

Seems to be correct, but I want to add additional formats so I need to figure out the bits I need. I'll have a read around, maybe the details on the BoardInfo struct are documented and I missed it.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #6 on: November 24, 2015, 12:01:59 PM »
"Have you considered using AROS/m68k instead? "
Happy for people to run whatever they wish! I can help with drivers etc as required.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #7 on: November 24, 2015, 12:24:25 PM »
Sure, appreciated. The P96 driver for Replay is already working and the binary for now is on my forum. Please feel free to give it a go under AROS if you fancy, and let me know if you need any hardware to play with.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #8 on: November 24, 2015, 12:44:18 PM »
Quote from: wawrzon;799523
@kolla

tbh, i dont know how to boot your arcade with rtg support. i guess you have an 1mb kickstart? if you were softkicking from amiga kickstart you would have to:
AROSBootstrap ROM boot/amiga/aros.hunk.gz somecard.card somecard.chip
at the beginning of the s-s, but maybe it can be just compiled in, better ask toni;)


Slightly off topic, but you can upload any ROM images you fancy anywhere.
In the .ini file :

# F80000, 0x40000 256K ROM  FC0000 also mirrored to F80000
# F80000, 0x80000 512 ROM
# E00000, 0x80000 then F80000, 0x80000 1M ROM

#ROM = kick.rom,0x40000,0x00F80000
#ROM = kick_13.rom,0x40000,0x00F80000
#ROM = kick_13.rom,0x40000,0x00FC0000
ROM = kick_31.rom,0x80000,0x00F80000
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #9 on: November 24, 2015, 04:23:45 PM »
"As such, it only uses the on-board blitter to fill a rectangle, invert one, or copy one rectangle to another."

Ok, we've got the copy covered. I haven't seen fill or invert called, but there may be flags to enable this which we haven't found yet.

I've implemented hardware sprite for the cursor and that works fine.

Thanks,
Mike
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #10 on: November 24, 2015, 08:37:48 PM »
Quote from: matthey;799551
$3ff2 = %0011111111110010

Are the following modes with a '1' in front the ones currently supported?


Yes. Thanks, 0x3FFE should enable the 24 bit modes when I add them. Thanks for the pointer to the header file, that's really useful.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #11 on: November 24, 2015, 08:40:28 PM »
Thanks Thomas, I'll take a look.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #12 on: November 25, 2015, 07:24:47 AM »
Quote from: kolla;799560
Not sure if you intended to address me? I have only booted AROS successfully on Minimig, bootstrapped from AmigaOS, loading the 1MB AROS kickstart to RAM. I intend to trim down the kickstart, throw out everything strictly not needed, so it fits within 512kB and can be loaded directly by the Minimig without going via AmigaOS. When 1.5 MB of non-chip RAM is all you have, you don't want 1MB to vanish for no good reason ;) I know Chaos who is doing Minimig implementation for MIST is doing some work so the 1MB AROS kickstart will load on MIST.


AROS should run on Replay as-is (64M of RAM). I'm happy to give it a go if you mail me the files. 1M ROM is already supported.
/Mike
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #13 on: January 31, 2016, 01:37:26 PM »
It's all working fine now - some errors in the soft core T68K bitfield instructions were causing problems.

I've a little work to do now to enable the high frequency clocks and then we'll have 1024, 1280 and maybe 1920 modes over DVI/HDMI/Analogue also.

I've had some conversations with Thomas, but my attempts to reach the original authors have not been successful so far regarding potential licensing.

My P96 driver is based completely on publicly available information, and like UAE the driver (as well as the core shortly) will be open sourced.

The hardware is generic, and the core has a build option for the RTG subsystem at the moment, but as the core implements a generic video display system and blitter it does not have any dependency on P96 - it could be used with alternative software for example.

I was a little surprised to hear that that licensing discussions were on-going for the Apollo/Vampire project,when I was told just a week or two ago that no contact had been made - and I was discouraged from any attempts to release a product.

In my view, it would be a very sad day for what remains of this community if an attempt was made to exclusively license the P96 system.

Anyhow, play nice and have fun.
/Mike
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #14 on: January 31, 2016, 02:32:56 PM »
Given the much higher volumes of the generic platforms, it wouldn't make sense financially either.