RISC OS 5.21 sprite changes
David Thomas
dave at davespace.co.uk
Thu Dec 22 00:04:11 GMT 2022
On 27/08/2022 12:33, David Thomas wrote:
> I might start using RO5's new sprite types in PrivateEye. OSLib ought to
> know about them so I thought I'd sketch out the amendments needed and
> pop them here for discussion. Here's what I've got so far.
<snip changes>
Here's a patch which amends OS.swi and OSSpriteOp.swi with those changes.
Regards,
Dave
--
David Thomas dave at davespace.co.uk http://www.davespace.co.uk/
-------------- next part --------------
Index: Source/Core/oslib/OS.swi
===================================================================
--- Source/Core/oslib/OS.swi (revision 477)
+++ Source/Core/oslib/OS.swi (working copy)
@@ -238,20 +238,31 @@
TYPE OS_ModeFlags = .Bits;
CONST
- OS_ModeFlagNonGraphics = OS_ModeFlags: %1,
- OS_ModeFlagTeletext = OS_ModeFlags: %10,
- OS_ModeFlagGap = OS_ModeFlags: %100,
- OS_ModeFlagBBCGap = OS_ModeFlags: %1000,
- OS_ModeFlagHiResMono = OS_ModeFlags: %10000,
- OS_ModeFlagDoubleHeight = OS_ModeFlags: %100000,
- OS_ModeFlagHardwareScroll = OS_ModeFlags: %1000000,
- OS_ModeFlagFullPalette = OS_ModeFlags: %10000000,
- OS_ModeFlagInterlaced = OS_ModeFlags: 0x10,
- OS_ModeFlagGreyscale = OS_ModeFlags: 0x20 "RISC OS 6",
- OS_ModeFlagDataFormat = OS_ModeFlags: %1111000000000000 "RISC OS 4.32+",
- OS_ModeFlagDataFormatShift = .Int: 12 "RISC OS 4.32+",
- OS_ModeFlagDataFormatRGB = OS_ModeFlags: 0 "RISC OS 4.32+",
- OS_ModeFlagDataFormatCMYK = OS_ModeFlags: 1 "RISC OS 4.32+";
+ OS_ModeFlagNonGraphics = OS_ModeFlags: %1,
+ OS_ModeFlagTeletext = OS_ModeFlags: %10,
+ OS_ModeFlagGap = OS_ModeFlags: %100,
+ OS_ModeFlagBBCGap = OS_ModeFlags: %1000,
+ OS_ModeFlagHiResMono = OS_ModeFlags: %10000,
+ OS_ModeFlagDoubleHeight = OS_ModeFlags: %100000,
+ OS_ModeFlagHardwareScroll = OS_ModeFlags: %1000000,
+ OS_ModeFlagFullPalette = OS_ModeFlags: %10000000,
+ OS_ModeFlagInterlaced = OS_ModeFlags: 0x10,
+ OS_ModeFlagGreyscale = OS_ModeFlags: 0x20 "RISC OS 6",
+ OS_ModeFlagDataFormat = OS_ModeFlags: %1111000000000000 "RISC OS 4.32+",
+ OS_ModeFlagDataFormatShift = .Int: 12 "RISC OS 4.32+",
+ OS_ModeFlagDataFormatRGB = OS_ModeFlags: 0 "RISC OS 4.32+",
+ OS_ModeFlagDataFormatCMYK = OS_ModeFlags: 1 "RISC OS 4.32+",
+ OS_ModeFlagDataFormatYCC = OS_ModeFlags: 2 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatShift = .Int: 14 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatTBGR = OS_ModeFlags: 0 "RISC OS 4.32+",
+ OS_ModeFlagDataSubformatTRGB = OS_ModeFlags: 1 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatABGR = OS_ModeFlags: 2 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatARGB = OS_ModeFlags: 3 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatKYMC = OS_ModeFlags: 0 "RISC OS 4.32+",
+ OS_ModeFlagDataSubformatYCC601Full = OS_ModeFlags: 0 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatYCC601Video = OS_ModeFlags: 1 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatYCC709Full = OS_ModeFlags: 2 "RISC OS 5.21+",
+ OS_ModeFlagDataSubformatYCC709Video = OS_ModeFlags: 3 "RISC OS 5.21+";
TYPE OS_VDUVar = OS_ModeVar;
CONST
Index: Source/Core/oslib/OSSpriteOp.swi
===================================================================
--- Source/Core/oslib/OSSpriteOp.swi (revision 477)
+++ Source/Core/oslib/OSSpriteOp.swi (working copy)
@@ -48,14 +48,28 @@
TYPE OSSpriteOp_ModeWord = .Bits;
CONST //for sprite mode words
- OSSpriteOp_NewStyle = OSSpriteOp_ModeWord: %1,
- OSSpriteOp_XRes = OSSpriteOp_ModeWord: %11111111111110,
- OSSpriteOp_XResShift = .Int: 1,
- OSSpriteOp_YRes = OSSpriteOp_ModeWord: %111111111111100000000000000,
- OSSpriteOp_YResShift = .Int: 14,
- OSSpriteOp_Type = OSSpriteOp_ModeWord: %1111000000000000000000000000000,
- OSSpriteOp_TypeShift = .Int: 27,
- OSSpriteOp_AlphaMask = OSSpriteOp_ModeWord: %10000000000000000000000000000000 "RISC OS Select";
+ OSSpriteOp_NewStyle = OSSpriteOp_ModeWord: %1,
+ OSSpriteOp_XRes = OSSpriteOp_ModeWord: %11111111111110,
+ OSSpriteOp_XResShift = .Int: 1,
+ OSSpriteOp_YRes = OSSpriteOp_ModeWord: %111111111111100000000000000,
+ OSSpriteOp_YResShift = .Int: 14,
+ OSSpriteOp_Type = OSSpriteOp_ModeWord: %1111000000000000000000000000000,
+ OSSpriteOp_TypeShift = .Int: 27,
+ OSSpriteOp_AlphaMask = OSSpriteOp_ModeWord: %10000000000000000000000000000000 "RISC OS Select",
+ OSSpriteOp_ExtStyle = OSSpriteOp_ModeWord: 0x78000001 "RISC OS 5.21+",
+ OSSpriteOp_ExtStyleMask = OSSpriteOp_ModeWord: 0x780F000F "RISC OS 5.21+",
+ OSSpriteOp_ExtXRes = OSSpriteOp_ModeWord: 0x00000030 "RISC OS 5.21+",
+ OSSpriteOp_ExtXResShift = .Int: 4 "RISC OS 5.21+",
+ OSSpriteOp_ExtYRes = OSSpriteOp_ModeWord: 0x000000C0 "RISC OS 5.21+",
+ OSSpriteOp_ExtYResShift = .Int: 6 "RISC OS 5.21+",
+ OSSpriteOp_ExtModeFlags = OSSpriteOp_ModeWord: 0x0000FF00 "RISC OS 5.21+",
+ OSSpriteOp_ExtModeFlagsShift = .Int: 8 "RISC OS 5.21+",
+ OSSpriteOp_ExtType = OSSpriteOp_ModeWord: 0x07F00000 "RISC OS 5.21+",
+ OSSpriteOp_ExtTypeShift = .Int: 20 "RISC OS 5.21+",
+ OSSpriteOp_ExtRes180 = .Int: 0 "RISC OS 5.21+",
+ OSSpriteOp_ExtRes90 = .Int: 1 "RISC OS 5.21+",
+ OSSpriteOp_ExtRes45 = .Int: 2 "RISC OS 5.21+",
+ OSSpriteOp_ExtRes23 = .Int: 3 "RISC OS 5.21+";
CONST
OSSpriteOp_TypeOld = OSSpriteOp_ModeWord: 0,
@@ -68,7 +82,11 @@
OSSpriteOp_TypeCMYK = OSSpriteOp_ModeWord: 7,
// OSSpriteOp_Type24Compact = OSSpriteOp_ModeWord: 8 "allocated but not used",
// OSSpriteOp_TypeJPEG = OSSpriteOp_ModeWord: 9 "allocated but not used",
- OSSpriteOp_Type16bpp64K = OSSpriteOp_ModeWord: 10 "RISC OS 6";
+ OSSpriteOp_Type16bpp64K = OSSpriteOp_ModeWord: 10 "RISC OS 6",
+ OSSpriteOp_TypeExt = OSSpriteOp_ModeWord: 15 "RISC OS 5.21+",
+ OSSpriteOp_Type16bpp4K = OSSpriteOp_ModeWord: 16 "RISC OS 5.21+",
+ OSSpriteOp_Type420YCC = OSSpriteOp_ModeWord: 17 "RISC OS 6.21+",
+ OSSpriteOp_Type422YCC = OSSpriteOp_ModeWord: 18 "RISC OS 5.21+";
CONST OSSpriteOp_Unspecified = .Ref OSSpriteOp_Area: &100;
More information about the oslib-user
mailing list