1. 31 Mar, 2013 1 commit
    • Jeffrey Lee's avatar
      Fix RMA corruption when caching colour translation tables · f1ba0db6
      Jeffrey Lee authored
      Detail:
        s/Wimp10 - cachetoolspritedata was using two slightly different ColourTrans calls for reading the table size and then filling the table in. This was resulting in the 'generate wide table' flag sometimes being ignored when the table size was checked, resulting in too little memory being allocated and so heap corruption when the table generation call overflowed the end.
      Admin:
        Tested on Pandora
        Fixes "not a heap block" errors when entering desktop
      
      
      Version 5.21. Tagged as 'Wimp-5_21'
      f1ba0db6
  2. 28 Mar, 2013 2 commits
    • Robert Sprowson's avatar
      Add support for wide translation tables for window tool furniture · cd1be707
      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'
      cd1be707
    • Robert Sprowson's avatar
      Tabs expanded in Wimp10 · e937dd5d
      Robert Sprowson authored
      Not tagged.
      e937dd5d
  3. 09 Oct, 2012 1 commit
  4. 03 Oct, 2012 1 commit
    • Robert Sprowson's avatar
      Placeholder alternate toolsprites for Raspberry UserIF · 098495b5
      Robert Sprowson authored
      Derived from the 'Steel' theme these are 90x90dpi toolsprites for the Raspberry UserIF. Their use of continuous tones has highlighted some deficiencies in the Wimp's translation table generation which are yet to be addressed, at which point the other resolutions and disc based copy will be more generally available.
      For now, ROM only keeps the distribution more controllable.
      098495b5
  5. 19 Sep, 2012 1 commit
  6. 06 Sep, 2012 1 commit
  7. 05 Sep, 2012 1 commit
    • Robert Sprowson's avatar
      Disc sprite updates · 1fb9fa36
      Robert Sprowson authored
      * Re tinted 'floppydisc'
      * New 'floppyscsi' and 'floppysd' for USB and SD card media
      * Removed !Scrap, the only boot resources that are seen by humans are !Boot !Fonts and !System, the others can rely on their private copies
      * Removed 3rd party applications, avoids bias towards particular vendor while not polluting the pool with stuff that isn't actually part of the OS (specifically !aemulor !arcfax !sparkfs !sprinter)
      1fb9fa36
  8. 01 Sep, 2012 1 commit
  9. 25 Aug, 2012 1 commit
  10. 20 Aug, 2012 1 commit
    • Robert Sprowson's avatar
      Disc sprites alteration · bc541f44
      Robert Sprowson authored
      In Sprites, the taskmanager was too high up.
      In Sprites11, the taskmanager has some scaling artefacts.
      Retagged as Wimp-5_18.
      bc541f44
  11. 11 Aug, 2012 2 commits
    • Robert Sprowson's avatar
      Add option to install disc sprites as a seperate target · cee23ab6
      Robert Sprowson authored
      Version 5.18. Tagged as 'Wimp-5_18'
      cee23ab6
    • Robert Sprowson's avatar
      Sprite resource fiddling · 2277990d
      Robert Sprowson authored
      * ROM sprite sets for Ursula and Morris4 brought in sync with Iyonix and Sovereign, including creating new sprites where missing
      * Disc sprite sets created for Ursula, Morris4, and Sovereign. These may not be coherent yet, but are the superset
      * Shelved the crusty 2D templates and tools
      No code changes, nor resource changes to active ROM builds, retagged as Wimp-5_17.
      2277990d
  12. 16 Jul, 2012 1 commit
  13. 14 Jul, 2012 1 commit
  14. 08 Jul, 2012 1 commit
    • Jeffrey Lee's avatar
      Fix getborder thinking indirected sprites have validation strings · 68cae2fd
      Jeffrey Lee authored
      Detail:
        s/Wimp10 - Corrected interrogation of icon flag word IST bits to avoid trying to parse the sprite area pointer of an indirected sprite as a validation string
      Admin:
        Tested on BB-xM with high processor vectors
        Fixes crash when dragging file icons in saveas dialogs
      
      
      Version 5.16. Tagged as 'Wimp-5_16'
      68cae2fd
  15. 24 Jun, 2012 1 commit
  16. 23 Jun, 2012 1 commit
    • Robert Sprowson's avatar
      Preset Wimp$IconTheme on initialisation to UserIF if not already set · 5283be1f
      Robert Sprowson authored
      Therefore, when in ROM, the ROM theme can be inferred. When a different theme is selected by the user in the boot sequence, that is respected.
      Restore a lost error message for *ICONSPRITES when the file doesn't exist even after trying all the 11/22/23 suffix and prefixes. This seems to have been lost post RISC OS 3.10 when Sprites22 support was added, but it is an error for the file given to not exist at all (cf. *TOOLSPRITES).
      Typos in docs ammended.
      
      Version 5.15. Tagged as 'Wimp-5_15'
      5283be1f
  17. 10 Mar, 2012 1 commit
  18. 27 Jan, 2012 1 commit
  19. 23 Jan, 2012 1 commit
    • Robert Sprowson's avatar
      Add extra Wimp_ReadSysInfo reasons 23/24/25/26/28. · 23680e24
      Robert Sprowson authored
      RISC OS Select has added reasons 18-27 and this change implements those that map directly to features that already exist (unimplemented ones return an error as before).
      One additional reason, 28, permits the reading of the flags collected from the *WimpVisualFlags command so that applications can discover if the cheesy 3D borders are on or not.
      
      Version 5.14. Tagged as 'Wimp-5_14'
      23680e24
  20. 03 Jan, 2012 1 commit
  21. 04 Aug, 2011 1 commit
    • Jeffrey Lee's avatar
      Make compatible with zero page relocation · ac6e04e7
      Jeffrey Lee authored
      Detail:
        s/Wimp, s/Wimp01, s/Wimp02, s/Wimp07, s/Wimp08 - Try using OS_ReadSysInfo 6 to get IRQsema & DomainId locations before falling back on legacy values. Store the pointers in module workspace for speedy access.
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 5.13. Tagged as 'Wimp-5_13'
      ac6e04e7
  22. 14 Apr, 2011 1 commit
  23. 01 Feb, 2011 1 commit
    • Jeffrey Lee's avatar
      Update Wimp to use new VFPSupport_ChangeContext_AppSpace flag · 385399f2
      Jeffrey Lee authored
      Detail:
        s/Wimp03, s/Wimp07 - When saving the VFP context the Wimp now uses lazy context switching where possible, via a combination of the Lazy & AppSpace flags
      Admin:
        Tested on rev A2 BB-xM
        Requires VFPSupport 0.02
      
      
      Version 5.11. Tagged as 'Wimp-5_11'
      385399f2
  24. 04 Dec, 2010 1 commit
  25. 26 Nov, 2010 1 commit
    • Jeffrey Lee's avatar
      Make the Wimp automatically switch VFP contexts · b68b72d7
      Jeffrey Lee authored
      Detail:
        s/Wimp, s/Wimp01, s/Wimp02, s/Wimp03, s/Wimp07 - The Wimp now uses the VFPSupport module to switch VFP contexts when performing task switches.
        Each task begins with the null context active (i.e. no VFP/NEON access). When paging out a task the ID of the active context is saved in the Wimp's per-task workspace. This context is then restored when the task is about to be resumed.
        Context save/restore is performed while the right task's memory is paged in, so it's safe to use with contexts located in application space.
      Admin:
        Tested with Iyonix & Beagle ROM builds.
      
      
      Version 5.09. Tagged as 'Wimp-5_09'
      b68b72d7
  26. 14 Mar, 2010 1 commit
    • Jeffrey Lee's avatar
      Fix a few nasty Wimp bugs · 8bfdcfc3
      Jeffrey Lee authored
      Detail:
        s/Wimp05 (setcaretcoords_fancy), s/Wimp07 - Fix some dodgy comments that had trailing backslashes, causing the next line of code to be gobbled by objasm and omitted from the compiled code. The code in question has been around for a long time, so I guess a recent objasm change (or the switch from aasm) has caused the dodgy comments to turn malicious. The setcaretcoords_fancy bug was the cause of bug #241 in the ROOL tracker.
        s/Wimp05 (int_set_caret_position) - While testing the #241 fix, I found that opening the filer 'rename' menu, typing text (enough to cause the icon to scroll), and then clicking away to close the menu would cause an infinite abort loop. The cause seemed to be int_set_caret_position mistakenly setting the caret window ptr to 0 instead of nullptr (-1), which would then cause setwindowptrs to die when it tried dereferencing what it thought was a valid pointer. Although initially confused about how this bug has gone unnoticed so far, I've now realised the abort was just down to alignment exceptions being turned on and the code would have "worked" on <=ARMv5.
      Admin:
        Tested on rev C2 beagleboard.
        Fixes bug #241.
      
      
      Version 5.08. Tagged as 'Wimp-5_08'
      8bfdcfc3
  27. 06 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Make Wimp NoUnaligned-safe · 4cf703e1
      Jeffrey Lee authored
      Detail:
        The "pointer leaving window" code now checks that ptrtask != nullptr before attempting to use it as an offset to the workspace pointer. This is required when alignment exceptions are enabled because nullptr is -1.
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 5.07. Tagged as 'Wimp-5_07'
      4cf703e1
  28. 01 Oct, 2009 1 commit
  29. 15 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build change · ac511301
      Ben Avison authored
      Detail:
        CPU version is no longer specified in the makefile - it's better to inherit
        it from the build environment now that we actually set it appropriately.
      Admin:
        Built and briefly tested. Binary should be unchanged - this only affects
        the warnings generated during assembly.
      
      Version 5.05. Not tagged
      ac511301
  30. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET file pathnames changed · 625526b8
      Ben Avison authored
      Detail:
        Uses suffixed file extensions for compatiblity with both objasm and asasm.
      Admin:
        Supplied by Peter Naulls, tested at ROOL
      
      Version 5.05. Not tagged
      625526b8
  31. 20 Apr, 2009 1 commit
  32. 10 Sep, 2008 3 commits
    • Steve Revill's avatar
      Make colour used for the window outline configurable. · 54c5c7c9
      Steve Revill authored
        Allow the outline to be plotted over the window tools.
      Detail:
        The options available through WimpVisualFlags have been extended with two
        new options that control how the window outline is plotted.
      
        WimpVisualFlags -WindowOutlineColour <&RRGGBB> -WindowOutlineOver
      
        WindowOutlineColour defines the colour to be used for the window outline.
        It allows theme designers to choose a window outline colour that fits
        in with a theme's general colour scheme. Default value is black.
      
        WindowOutlineOver controls if the window outline is plotted over the
        toolicons. It can be used to ensure that there is a window outline
        visible even when the toolicons are borderless. Default value is off.
      Admin:
        Tested on RO 5.11
      Author:
        Fred Graute
      
      Version 5.04. Tagged as 'Wimp-5_04'
      54c5c7c9
    • Steve Revill's avatar
      Allow a different set of window toolicons for the window with the input focus. · 58925e79
      Steve Revill authored
      Detail:
        Previous versions of the Window Manager required toolicons to have pixels
        that were transparent so that the background colour could be used to indicate
        whether a window had input focus or not. This means that new sets of toolicons
        either have to have transparent pixels or lose indication of input focus.
        To remove this limitation the support for toolicons has been extended so
        that a different set of toolicons can be used for the window with the input
        focus.
      
        The new icons have the prefix 'f' added to their names as follows:
          <toolname>    standard version of toolicon
          p<toolname>   pressed version of toolicon
          f<toolname>   focus version of toolicon
          pf<toolname>  pressed+focus version of toolicon
      
        Code has been added to ensure that all toolicons are represented.
        This is done in two stages; first the pressed icons are checked and for any
        missing its non-pressed equivalent will be filled in. Next the focus icons
        are checked and for missing ones its non-focus equivalent will be used.
      Admin:
        Tested on Iyonix RO5.11
      Author:
        Fred Graute
      
      Version 5.03. Tagged as 'Wimp-5_03'
      58925e79
    • Steve Revill's avatar
      Fixed misalignment of WimpWriteDir code. · 320528b2
      Steve Revill authored
        Fixed corruption of table with characters to be mapped to WimpSymbol.
      Detail:
        There was an ALIGN statement missing just above the code for WimpWriteDir
      
        The table used to map characters to the WimpSymbol font had become corrupted
        which prevented the mapping from working correctly. This resulted in keyboard
        shortcuts disappearing in menus when using fonts that don't have definitions
        for the required characters, in particular the up-arrow representing shift.
      Admin:
        Tested on RO 5.11
      Author:
        Fred Graute
      
      Version 5.02. Tagged as 'Wimp-5_02'
      320528b2
  33. 12 Jul, 2008 1 commit
    • Ben Avison's avatar
      Fixed potentially fatal bug in Watchdog. · dac31a6e
      Ben Avison authored
      Detail:
        Unnecessarily complex code in Watchdog for killing tasks other than the
        currently active task ended up corrupting the environment handlers for
        the current task.
      Admin:
        Fixes the test case of running a BASIC program consisting of
          REPEAT UNTIL FALSE
        which previously caused random errors or complete crashes if you ran it
        and then Al-Breaked and tried to kill a different task.
      
      Version 5.01. Tagged as 'Wimp-5_01'
      dac31a6e
  34. 16 Oct, 2007 1 commit
  35. 07 Oct, 2007 1 commit
  36. 23 Feb, 2006 1 commit