- 01 Mar, 2014 1 commit
-
-
Jeffrey Lee authored
Detail: This set of changes allows the Wimp to cache the last-used translation table, and cleans up some instances where translation tables were being generated and then not used s/Wimp01 - Expand selecttable_args to store all 8 registers needed by ColourTrans_GenerateTable. Add 1K of space for caching the palette that the cached translation table was generated from. Remove unused spriteX, spriteY variables. s/Wimp04 - Split cachespritedata in two. cachespritedata now only caches the basic information, while the new cachespritepixtable rotuine will generate a translation table (shaded/inverted if required). This allows table generation to be deferred until we're just about to render the sprite, ensuring that the table isn't generated only to not be used. Also updated icon sprite rendering to check the sprite is within the graphics window before attempting to render it, allowing removal of one more case where tables can be needlessly generated. s/NewSWIs, s/Wimp09 - Change ADR to ADRL s/Tiling, s/Tiling3D - Use cachespritepixtable when needed Admin: Tested on Iyonix, BB-xM, StrongARM RiscPC Version 5.36. Tagged as 'Wimp-5_36'
-
- 06 Aug, 2013 1 commit
-
-
Jeffrey Lee authored
Detail: s/Tiling, s/Tiling3D, s/Watchdog, s/Wimp05, s/Wimp07, s/Wimp09 - Replaced OS_SpriteOp reason code magic numbers with symbolic definitions. s/Wimp01 - Update *WimpMode / Wimp_SetMode to use OS_ScreenMode 13 (mode string to specifer) in place of its own code if a mode specifier string has been given. Note - mode number handling is unchanged, so a mode specifier string which begins with a mode number will currently have the specifier part ignored. s/Wimp01, s/Wimp02 - Flag_* -> ModeFlag_* renaming s/Wimp02 - Fix mode specifier copying to only stop copying when we hit a mode variable of -1. Previous code would also stop if the variable value was -1. Update mode set code to apply the Wimp's special greyscale palettes if the greyscale mode flag is set (i.e. greyscale mode was set via specifier generated by OS_ScreenMode 13) Admin: Tested on BB-xM Version 5.31. Tagged as 'Wimp-5_31'
-
- 11 May, 2013 1 commit
-
-
Robert Sprowson authored
Substitute magic numbers through the code. Squash some UAL warnings from missing #'s in Wimp10.s Version 5.27. Tagged as 'Wimp-5_27'
-
- 13 Apr, 2013 1 commit
-
-
Robert Sprowson authored
When matching an icon on the iconbar the window is initially matched correctly, but the "is this the right task" filter step was trying to compare the handle with -1. The result was that you would get the first match for any iconbar icon rather than a match for *your* iconbar icon. Unrelated: Tiling.s/Iconbar.s add a couple of comments and use symbols instead of magic numbers. Tested with a quality 3 line BASIC program, no longer returns icon #0 all the time. Version 5.23. Tagged as 'Wimp-5_23'
-
- 28 Mar, 2013 1 commit
-
-
Robert Sprowson authored
With the introduction of 16bpp/32bpp modes it became possible to request tables from ColourTrans which used > 1 byte per colour, but the Wimp wasn't using this extension. Therefore tool sprites designed in 8bpp or less would be quantised horribly when plotted in a 16bpp or 32bpp mode. The Wimp now requests and plots with a wide table, and to avoid thrashing ColourTrans so much with the prevalence of individually paletted icon sprites, keeps the table seperately to the icon sprites ones. At worst (in 32bpp) this uses an extra 256x4 bytes of RAM. Trace.s: Split out the tracing routines from Wimp10 as it was getting a bit big. Tiling.s: Namespace change for the icons versus tools distinction. Removed some unnecessary PC+8/PC+12 confused NOPs. Tiling3D.s: Namespace change for the icons versus tools distinction. Wimp01.s: New set of variables to track the tool translation tables separately. Various jiggling to keep ADRs in range. Wimp02.s: Namespace change. Remove some double handling in Wimp_SetColourMapping. Wimp04.s: Namespace change. Made factor rationalisation common to both the icon and tool grinding code. Removed dual use of cachespritedata for both icons and tools. The tintfunc moves to Wimp10. Service_InvalidateCache confusion resolved by adding a new flag to remember that the tools need regenerating rather than just marking the tool list as missing (which subsequently got restored in Tool_SpriteOp without actually doing any palette work. Wimp10.s: Label tools_area renamed as it was immensely confusing to have that (which was actually holding the RMA allocation of the tool_list) and tool_area (which contains the sprite area) hanging around. Changed references to use tools-only cachetolspritedata routine. Added 'wide' flags to sprite op and colour trans calls. Tool_SpriteOp changed to actually regenerate the colour tables when they're known invalid (previously the tools list pointer was merely restored and no colour tables used). Trace functions extracted. Resolved confusion as to what recache_tools_trans and recache_tools_trans2 should be doing. Tested with 4bpp "NewLook" sprites in 4bpp/8bpp/16bpp/32bpp and 8bpp smooth greyscaled "Steel" tool sprites in same modes. Also ran a task window doing repeated Service_InvalidateCache calls while monitoring the RMA for leaks. Generally navigated around some directories to ensure that inverse icons (during double click) and filer windows (with individually paletted sprites) were being rendered. Version 5.20. Tagged as 'Wimp-5_20'
-
- 23 Oct, 2002 1 commit
-
-
Ben Avison authored
Detail: All pointers passed to the Wimp (mode selectors, menus, sprite areas, palettes, pollwords, validation strings, message lists, routines etc etc) in any of its APIs can now be anywhere within the 32-bit address range. In general, whenever "<= 0" was accepted as a null condition, the value must now be either 0 or -1. It should also be tolerant of system memory areas (supervisor stack and RMA) being in the top half of memory. Also: * Default next slot now a build option - Ursula builds (eg Tungsten) use 1024K instead of 640K * Ursula builds no longer have a build variant in the help string * Autosenses ROM location * CR-LFs in *Configure messages replaced with LF-CRs * Added Iyonix resources (currently based on Morris4) * Morris4 sprites files have gained file_lxa, small_lxa, file_unf, small_unf and lo!help sprites * Ursula sprites files have gained lo!help sprites * *WimpSlot can take memory sizes in megabytes or gigabytes Admin: Tested on a "traditional" memory-mapped Tungsten. Version 4.76. Tagged as 'Wimp-4_76'
-
- 25 Apr, 2000 1 commit
-
-
Kevin Bracey authored
Detail: Lots of little changes throughout a lot of source. Admin: Appears to work - not stress tested with things like lots of tasks, big transfers, and all the other things that tend to go wrong. Version 4.47. Tagged as 'Wimp-4_47'
-
- 23 Oct, 1998 1 commit
-
-
Ben Avison authored
Adapted assembly process so that the choice of Options file (previously based purely on the "System" variable) can be overridden by passing "OPTIONS=foo" as an argument to either MkRom, or to amu/amu_machine directly, or indirectly, by specifying it in the components file for a build. To accomplish this, it was necessary to switch from using aasm to objasm - hence the large number of source files affected in this commit. Version 4.09. Tagged as 'Wimp-4_09'
-
- 18 Sep, 1998 1 commit
-
-
Ben Avison authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-