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.