1. 01 Jun, 2013 1 commit
    • Robert Sprowson's avatar
      Fix for corrupt register in pushfontstring with password-style substitution · 752b3a8b
      Robert Sprowson authored
      When CnP=TRUE but UTF8=FALSE the code path through pushfontstring for icons using the 'D' validation string would use R11 as a temporary without having preserved it (the UTF8 case preserves it because it uses R11 as a bitmask of substitutes).
      Changed to always preserve R11, the routine is so huge one extra pushed register isn't going to slow it down measurably.
      Adjusted options files now this combination is safe.
      
      Tagged as Wimp-5_30-pre1.
      752b3a8b
  2. 06 May, 2013 1 commit
    • Robert Sprowson's avatar
      Refinements to disc based targets especially · a30a2489
      Robert Sprowson authored
      Previous attempt to disable Sprites11 support for 3.10 and 3.50 hadn't spotted it was reenabled in the common options, also the Sprites11 switch was also tied up in Wimp$IconTheme support.
      Title bars would flicker when picked up when using a tool sprite set with no 'p' pushed equivalents on RISC OS 4.0x due to screen cache.
      Makefile now installs a default set of tools & sprites when target is ThemeDefs.
      CLI limit reduced to 256 pre Ursula to save RAM.
      
      Options/!Common:
        Promote Sprites11 switch into !Default
        Remove fixrmatools
      Options/!Default:
        Sprites11 true by default
        LongCommandLines true by default, false on targets pre Ursula
        Remove ServiceCallTable (harmless to have it in all cases)
      NewSWIs.s:
        Enable Wimp_Extend 13 all the time
      Wimp01.s:
        Reduce RMA use by vital 1.5k for non long command line case
        Change sense of Sprites11 switch to adopt all its previous functionality, but not look for '11' suffix when the switch is false
        Adopt ServiceCallTable switch permanently
      Wimp02.s:
        Comments ammended
      Wimp07.s:
        Range of ADR
      Wimp10.s:
        Change sense of Sprites11 switch to adopt all its previous functionality, but not look for '11' suffix when the switch is false
        Adopt :LNOT: fixrmatools switch permanently
        Supress title bar sprite plotting when none of the sprites exist
      
      Version 5.25. Tagged as 'Wimp-5_25'
      a30a2489
  3. 03 May, 2013 1 commit
    • Robert Sprowson's avatar
      Slacken pointer checks · 42e284a3
      Robert Sprowson authored
      The pointer comparison checking required when running in a system with > 64M memory was tightened up from Wimp-4_75 to Wimp-4_76, but to allow the module to target pre RISC OS 5 systems an option to relax those checks is required.
      Each check has been revisited and where appropriate demarked with a "AcceptLoosePointer" macro, which just remaps the pointer into the stricter form and carries on. In the strict checking case, the macro reduces to nothing.
      
      Detail:
      Add AcceptLoosePointers switch.
      Retire singular use of StrongARM switch (calling XOS_SynchroniseCodeAreas is harmless pre StrongARM anyway).
      Rename Ursula_RPC options to RO400.
      Put duplicate documentation in the attic.
      Allow -2 or -1 as the iconbar handle in Wimp_ResizeIcon (ticket #203).
      Tighten up the list terminator check in the DebugMemory switch of Memory.s
      
      Tested on RISC OS 3.10 (emulated), 3.50, 3.60, 3.70, 4.02.
      
      Version 5.24. Tagged as 'Wimp-5_24'
      42e284a3
  4. 10 Apr, 2013 1 commit
    • Robert Sprowson's avatar
      Build fixes for variants pre RISC OS 5 · fc22d68f
      Robert Sprowson authored
      Minor fixups as part of univeral !Boot work.
      Options no longer ASSERT on International_Help (which is a definition exported by the kernel, rather than a build switch), and instead define a switch which is true for > 3.50.
      Non UTF8 supporting case has simple substitutes for Wimp_TextOp.
      Legacy_DomainId and LegacyIRQsema no longer cause NULL pointer dereference.
      MOVeQ => MOVEQ to placate ObjAsm.
      
      Ursula_RPC version built and used briefly on RISC OS 4.02 host. No other run time testing.
      
      Version 5.22. Tagged as 'Wimp-5_22'
      fc22d68f
  5. 30 Oct, 2002 1 commit
    • Ben Avison's avatar
      Merged in RISC OS 4.02 changes (including ROM patches). Also som bugfixes. · 3b1e336c
      Ben Avison authored
      Detail:
        RISC OS 4 changes:
        * Font blending for desktop font (based on NC code, but now configurable)
        * 3-D window/menu/iconbar borders
        * Textured menu backgrounds
        * Loss of rubout box in unfilled text+sprite icons
        * *WimpVisualFlags controls various aspects of cosmetic changes above
        * Iconise button "slot" glyph slightly shorter (but only adopted in the RO400
          Resource directory)
        * Command window has front-window flag set
        * Byte at +39 of the window block has gained two new flag bits:
            bit 2 set => this window must never be given a 3D border
            bit 3 set => this window must always be given a 3D border
            (note that ResEd erroneously created windows with both bits set,
            this case is treated as though both bits were clear)
        * Another two colour specifiers on the end of C validation string command
          for icons controls the foreground and background colours to be used when
          the icon is selected...
      3b1e336c
  6. 23 Oct, 2002 1 commit
    • Ben Avison's avatar
      Given a good thrashing. · c8e139f1
      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'
      c8e139f1
  7. 07 Oct, 1999 1 commit
  8. 23 Nov, 1998 1 commit
    • Ben Avison's avatar
      Added options file for Ursula_RiscPC builds: similar to Ursula options file,... · 109210f0
      Ben Avison authored
      Added options file for Ursula_RiscPC builds: similar to Ursula options file, but without UTF8 support (it's unlikely the rest of the modules will be updated sufficiently for this to be useful) and without the development cut-n-paste support. Also removed module postfix (we don't want "Ursula" appearing during a *Help Modules).
      
      Retagged as bavison_Wimp-4_11.
      109210f0
  9. 20 Oct, 1998 1 commit
    • Ben Avison's avatar
      UTF-8 support from previous version switched in; additional alphabet-... · 2c759475
      Ben Avison authored
      UTF-8 support from previous version switched in; additional alphabet- conditional support added as follows:
      
      * Correctly converts character index returned from Font_FindCaret into byte
        index into raw string.
      * Left-arrow, right-arrow, delete-left and delete-right now act as far as
        the next character boundary, instead of to the next byte.
      * Menu item text justification works again (it relies on overwriting spaces
        with hard space characters, which are two-byte characters in UTF-8).
      * General key handling code has been rewritten. The Wimp now has three
        internal key input buffers - one each for taking keyboard-generated,
        task-generated, and function-key-generated strings. Each input buffer is
        processed in chunks of one character, rather than one byte; malformed
        UTF-8 characters are rejected, so tasks don't have to worry about them
        (simplifying their character-handling code). There is also a key output
        buffer, to ensure that (UTF-8) sequences of Key_Pressed events are not
        broken up.
      * As a r...
      2c759475
  10. 18 Sep, 1998 1 commit
  11. 07 May, 1997 1 commit
  12. 05 Nov, 1996 1 commit