- 06 Aug, 2013 1 commit
-
-
Jeffrey Lee authored
Add support for the new RISC OS 5 style sprite mode word. Add partial support for alpha channel sprite masks. Implement OS_ScreenMode reasons 13-15 Detail: ECFShift/ECFYOffset: - hdr/PublicWS - Add ECFShift and ECFYOffset to list of public exports (SpriteExtend was using hardcoded values). Rearrange exports so that VduWorkspace exports are now labelled as such. - hdr/KernelWS - Make sure ECFShift & ECFYOffset match their exported locations - hdr/OSRSI6, s/Middle - Add OS_ReadSysInfo 6 items 83 & 84, for reading ECFYOffset and ECFShift locations Mode flags/VDU variables: - Makefile - Add hdr/VduExt to the C header exports - hdr/VduExt - Get rid of NotRVVTBarWobblyBits macro and defined VDU variables manually so that Hdr2H will handle them. Begin replacing overly generic 'Flag_*' mode flag definitions with 'ModeFlag_*' instead. Define new flags as required by the new screen/sprite modes. Add OS_ScreenMode reason codes and mode selector format (from s.vdu.vdudecl) - NewModes/NEWF2, NewModes/OldPSSrc, NewModes/PSSrc, s.vdu.vdu23, s.vdu.vducursoft, s.vdu.vdudriver, s.vdu.vdugrafg, s.vdu.vdugrafj, s.vdu.vdugrafl, s.vdu.vdumodes, s.vdu.vdupal10, s.vdu.vdupal20, s.vdu.vdupalette, s.vdu.vdupalxx, s.vdu.vduwrch - Renaming Flag_* to ModeFlag_* - s.vdu.vdudecl - Remove OS_ScreenMode reason codes & mode selector format definitions; these are now in hdr/VduExt. Flag_* -> ModeFlag_* renaming. - s.vdu.vdupalxx - Apply a greyscale palette in PV_SetDefaultPalette if the greyscale mode flag is set New sprite types: - s.vdu.vdudriver - Extend GenerateModeSelectorVars to deal with the wide mask flag, 64K sprites, and the new RISC OS 5 sprite mode word format. - s.vdu.vdugrafdec - Store more information about the sprite in the SprReadNColour ... SprLog2BPC block. - s.vdu.vdugrafg - Update SpriteVecHandler to be able to detect whether RISC OS 5 format sprites are allowed palettes. Update SetupSprModeData to store the extra sprite info that's defined in vdugrafdec. Update PutSprite to fault any sprites with wide masks - SpriteExtend must be used for that (once implemented!) - s.vdu.vdugrafh - Update WritePixelColour to avoid temporary poking of NColour VDU variable for 8bpp sprites. Correctly replicate data when writing to RISC OS 5 format sprites. Update ReadPixelMask, WritePixelMask, SpriteMaskAddr, GetMaskspWidth to deal with wide masks. Delete obsolete bounce_new_format_masks routine. - s.vdu.vdugrafi - Comment updated to reflect new reality - s.vdu.vdugrafj - Get rid of unused code block in CreateHeader/PostCreateHeader. Update SanitizeSGetMode to generate RISC OS 5 style sprite mode words where applicable. Update DecideMaskSize to rely on GetMaskspWidth for calculating mask width. - s.vdu.vdugrafl - Update SwitchOutputToSprite/SwitchOutputToMask to deal with the new sprite formats. Allow PushModeInfoAnyMonitor to fail. - s.vdu.vduswis - Extended OS_ReadModeVariable to cope with new sprite types Misc: - s.vdu.vdudriver - Fixed bug with VIDCList copying where any -1 value in the structure would terminate the copy, instead of only -1 as a control item number - s.vdu.vduswis - Implemented OS_ScreenMode 13 (Mode string to specifier), 14 (mode specifier to string), and 15 (set mode by string). Mostly as per ROL's specs, but minus support for teletext attributes, and plus support for new RISC OS 5 attributes (L... layout specifier, 4096 & 24bpp packed modes, etc.) - s.vdu.vduwrch - Pick correct default text colours for the new modes Admin: Tested on BB-xM Part of an implementation of the Extended Framebuffer Format spec: http://www.riscosopen.org/wiki/documentation/show/Extended%20Framebuffer%20Format%20Specification Version 5.35, 4.79.2.194. Tagged as 'Kernel-5_35-4_79_2_194'
-
- 27 Nov, 2011 1 commit
-
-
Robert Sprowson authored
Expand tabs. Swap DCI for instructions now Objasm 4 is out. Symbols for FSControl_CAT/RUN/OPT changed to non Arthur definitions. Still boots on IOMD class, no other testing. Version 5.35, 4.79.2.124. Tagged as 'Kernel-5_35-4_79_2_124'
-
- 13 Apr, 2000 1 commit
-
-
Kevin Bracey authored
RPCEm update. * Register allocation in default ErrorV handler fixed - problems occured when callbacks were triggered on way out. * OS_Byte 19 didn't manipulate interrupt disable flag correctly in 26-bit builds. * Stray bit of debugging left in sprite code many years ago removed. Version 5.23. Not tagged
-
- 04 Apr, 2000 1 commit
-
-
Kevin Bracey authored
Details: The Kernel will now compile to produce a pure 32-bit system if No26bitCode is set to TRUE. If No26bitCode is FALSE, then the Kernel will be a standard 26-bit Kernel, although some internal changes have taken place to minimise compile switches between the two cases. See Docs.32bit for more technical info. The hardest part was the flood-fill... Other changes: Pointer shape changes now take place on the next VSync, rather than actually WAITING for the VSync. Turning the Hourglass on shouldn't slow your machine down by 5% now :) Lots of really crusty pre-IOMD code removed. Admin: Tested in 32 and 26-bit forms in a limited desktop build. Basically, this will need to see a lot of use to iron out difficulties. I'd like anyone who has a non-frozen project to at least attempt using this Kernel. Version 5.23. Tagged as 'Kernel-5_23'
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-