Welcome, Guest. Please login or register.

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

Description:

0 Members and 1 Guest are viewing this topic.

Offline wawrzon

Re: P96 RTG driver development for new hardware
« Reply #14 on: November 24, 2015, 12:19:08 PM »
Quote from: mikej;799513
"Have you considered using AROS/m68k instead? "
Happy for people to run whatever they wish! I can help with drivers etc as required.


it is not a problem with aros68k, it will accept a driver in a p96 format if you succeed to build one;)
my aros proposal was only meant as general solution to a repeated problems different parties are facing. but i have created a separate thread in case anyone has something to say in the matter:
http://www.amiga.org/forums/showthread.php?t=70091
please let us stay on topic. im eager to see you succeed, mike.
« Last Edit: November 24, 2015, 12:22:15 PM by wawrzon »
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show only replies by mikej
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #15 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 wawrzon

Re: P96 RTG driver development for new hardware
« Reply #16 on: November 24, 2015, 12:36:36 PM »
@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;)
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show only replies by mikej
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #17 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 wawrzon

Re: P96 RTG driver development for new hardware
« Reply #18 on: November 24, 2015, 04:12:55 PM »
@mikej

the problem is that aros rom is full being 1mb, i suppose. and especially since drivers come separately and under different licenses from the hardware vendors they have to be loaded from disk, no matter if we are talking about graphic or a lan card. i think it is also a reasonable way. aros and its kickstart should provide only a basic and common set of drivers, the amiga hardware ones and maybe a vesa one for rtg cards. third party drivers should be loaded from disk imho.
 

guest11527

  • Guest
Re: P96 RTG driver development for new hardware
« Reply #19 on: November 24, 2015, 04:15:08 PM »
Quote from: mikej;799510
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.

P96 is very much built around the capabilities of comtemporary (at its time) VGA chips and hence only accelerates blitter calls that are native (or typical) for such chips. Fully configurable min-term blitting was beyond any VGA chip, even more so as these typically work with chunky memory organizations and not planar organizations, like the Amiga.

As such, it only uses the on-board blitter to fill a rectangle, invert one, or copy one rectangle to another. The only additional function that could be speed up is BltTemplate(), i.e. a blitter function that takes a binary mask and draws the foreground in one color, and either draws the background in the second color or leaves it transparent. This is what the graphics.library Text() is built upon, and BltTemplate() of course.

The low-level interface looks somewhat different, but it can provide hardware acceleration for them.

The second additional hardware feature P96 supports is a cursor (aka "sprite" in Amiga terms). It is an optional feature.

The Picasso-IV is special in the sense that it supports also video overlays, though even the internal documentation of P96 does not say how these work or how the interface is defined.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show only replies by mikej
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #20 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 matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show only replies by matthey
Re: P96 RTG driver development for new hardware
« Reply #21 on: November 24, 2015, 07:09:19 PM »
Quote from: mikej;799510
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.

$3ff2 = %0011111111110010

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

0 RGBFB_NONE ; no valid RGB format (should not happen)
1 RGBFB_CLUT ; palette mode, set colors with LoadRGB32, etc.
0 RGBFB_R8G8B8 ; TrueColor RGB (8 bit each)
0 RGBFB_B8G8R8 ; TrueColor BGR (8 bit each)
1 RGBFB_R5G6B5PC ; HiColor16 (5 bit R, 6 bit G, 5 bit B), format: gggbbbbbrrrrrggg
1 RGBFB_R5G5B5PC ; HiColor15 (5 bit each), format: gggbbbbb0rrrrrgg
1 RGBFB_A8R8G8B8 ; 4 Byte TrueColor ARGB (A unused alpha channel)
1 RGBFB_A8B8G8R8 ; 4 Byte TrueColor ABGR (A unused alpha channel)
1 RGBFB_R8G8B8A8 ; 4 Byte TrueColor RGBA (A unused alpha channel)
1 RGBFB_B8G8R8A8 ; 4 Byte TrueColor BGRA (A unused alpha channel)
1 RGBFB_R5G6B5 ; HiColor16 (5 bit R, 6 bit G, 5 bit B), format: rrrrrggggggbbbbb
1 RGBFB_R5G5B5 ; HiColor15 (5 bit each), format: 0rrrrrgggggbbbbb
1 RGBFB_B5G6R5PC ; HiColor16 (5 bit R, 6 bit G, 5 bit B), format: gggrrrrrbbbbbggg
1 RGBFB_B5G5R5PC ; HiColor15 (5 bit each), format: gggrrrrr0bbbbbbgg
0 RGBFB_Y4U2V2 ; 2 Byte TrueColor YUV (CCIR recommendation CCIR601).
0 RGBFB_Y4U1V1 ; 1 Byte TrueColor ACCUPAK.

If so then this is RGBFB_CLUT|RGBFB_R5G6B5PC|RGBFB_R5G5B5PC|RGBFB_A8R8G8B8|RGBFB_A8B8G8R8|RGBFB_R8G8B8A8|RGBFB_B8G8R8A8|RGBFB_R5G6B5|RGBFB_R5G5B5|RGBFB_B5G6R5PC|B5G5R5PC.

Include Picasso96.i from the P96 SDK to get the values for RGBFormat. For example, to add 24 bit modes this would be changed to RGBFB_CLUT|RGBFB_R8G8B8|RGBFB_B8G8R8|RGBFB_R5G6B5PC|RGBFB_R5G5B5PC|RGBFB_A8R8G8B8|RGBFB_A8B8G8R8|RGBFB_R8G8B8A8|RGBFB_B8G8R8A8|RGBFB_R5G6B5|RGBFB_R5G5B5|RGBFB_B5G6R5PC|B5G5R5PC or $3ffe. Be careful though as RGBFormat is a ULONG and this is only using the least significant 16 bits. The upper 16 bits of RGBFormat are currently unused by the external P96 API but should be zero.
 

guest11527

  • Guest
Re: P96 RTG driver development for new hardware
« Reply #22 on: November 24, 2015, 08:28:11 PM »
Quote from: mikej;799547
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.

It's simply called if the minterm of BltBitMap() is set such that the destination is inverted (i.e. D=not C IIRC) and the mask value is 0xff. The same goes for fill, it's a matter of a fitting minterm.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show only replies by mikej
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #23 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 only replies by mikej
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #24 on: November 24, 2015, 08:40:28 PM »
Thanks Thomas, I'll take a look.
 

Offline kolla

Re: P96 RTG driver development for new hardware
« Reply #25 on: November 25, 2015, 12:03:40 AM »
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;)

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.
« Last Edit: November 25, 2015, 12:14:28 AM by kolla »
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC
---
A3000/060CSPPC+CVPPC/128MB + 256MB BigRAM/Deneb USB
A4000/CS060/Mediator4000Di/Voodoo5/128MB
A1200/Blz1260/IndyAGA/192MB
A1200/Blz1260/64MB
A1200/Blz1230III/32MB
A1200/ACA1221
A600/V600v2/Subway USB
A600/Apollo630/32MB
A600/A6095
CD32/SX32/32MB/Plipbox
CD32/TF328
A500/V500v2
A500/MTec520
CDTV
MiSTer, MiST, FleaFPGAs and original Minimig
Peg1, SAM440 and Mac minis with MorphOS
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show only replies by mikej
    • http://www.fpgaarcade.com
Re: P96 RTG driver development for new hardware
« Reply #26 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 wawrzon

Re: P96 RTG driver development for new hardware
« Reply #27 on: November 25, 2015, 01:42:04 PM »
Quote from: mikej;799568
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


in case you want to run a current nightly build they are here:
http://aros.sourceforge.net/nightly1.php

the rom images are either on the floppy or on the boot iso, boot/amiga directory, but i dont know if its a in a proper format you need. you dont need the floppy otherwise, if you can boot from hd. decompress the iso to a bootable partition and off you go.

there is currently aome problem with screenmode prefs, but otherwise it should work.
 

Offline kolla

Re: P96 RTG driver development for new hardware
« Reply #28 on: November 25, 2015, 02:08:27 PM »
Quote from: wawrzon;799581
in case you want to run a current nightly build they are here:
http://aros.sourceforge.net/nightly1.php

the rom images are either on the floppy or on the boot iso, boot/amiga directory, but i dont know if its a in a proper format you need. you dont need the floppy otherwise, if you can boot from hd. decompress the iso to a bootable partition and off you go.

there is currently aome problem with screenmode prefs, but otherwise it should work.


Content of AROS-20151124-amiga-m68k-boot.lha is:
aros-amiga-m68k-rom.bin  512 kB
aros-amiga-m68k-ext.bin  512 kB
aros-amiga-m68k-ram.elf   1450768 B
bootdisk-amiga-m68k.adf 901120 B

It is obvious for me what adf, rom.bin and ext.bin are, but what is the ram.elf file?
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC
---
A3000/060CSPPC+CVPPC/128MB + 256MB BigRAM/Deneb USB
A4000/CS060/Mediator4000Di/Voodoo5/128MB
A1200/Blz1260/IndyAGA/192MB
A1200/Blz1260/64MB
A1200/Blz1230III/32MB
A1200/ACA1221
A600/V600v2/Subway USB
A600/Apollo630/32MB
A600/A6095
CD32/SX32/32MB/Plipbox
CD32/TF328
A500/V500v2
A500/MTec520
CDTV
MiSTer, MiST, FleaFPGAs and original Minimig
Peg1, SAM440 and Mac minis with MorphOS
 

Offline JimDrew

  • Lifetime Member
  • Full Member
  • ***
  • Join Date: Jun 2012
  • Posts: 241
    • Show only replies by JimDrew
Re: P96 RTG driver development for new hardware
« Reply #29 from previous page: November 25, 2015, 03:21:51 PM »
I am guessing that .elf = is the PPC version, since that is what the PPC code hunks are called.

Where do the AROS rom.bin and ext.bin get mapped into the Amiga's address space?


NOTE!! Apparently AROS already works fine with the Replay board... from the AROS website:

AROS at AmiWest 2012

     Author:Jason McMullan  Date:2012-11-02    At AmiWest 2012, Samuel Crow and Jason McMullan demonstrated AROS v1 running on the Sam460ex from ACube, the FPGA Arcade Replay from FPGA Arcade, and the Raspberry PI from the Raspberry PI Foundation.
« Last Edit: November 25, 2015, 03:36:24 PM by JimDrew »