1. 25 Sep, 2010 2 commits
    • Robert Sprowson's avatar
      Reinstate mungeGCOL8to32. · 4347e05f
      Robert Sprowson authored
      Had erroneously been switched out in version 1.27 clean up, when it is needed. Comment added to denote it's a fall through of the table above it.
      
      Version 1.29. Tagged as 'SprExtend-1_29'
      4347e05f
    • Robert Sprowson's avatar
      Remove postprocessing step of C code. · 4c21926d
      Robert Sprowson authored
      Since 2001 this module has been using objasm, but still using the C compiler to output (via -S) assembly code which is then passed through 'sed' and included via GET into the assembler code.
      Changed to compile the C code into object files, and use the linker to patch up the unresolved references - this has required some reordering of the C code to make sure static functions now appear in the object file, and some reordering of the header files to ensure both the module and the CFSI version still compile without conflicts.
      Minor fix to 'swiv2', the label was in the wrong place for _swi() though it's not used in this module so didn't affect the _swix() case.
      Makefile cut down a bit. Unixify some path names.
      Test code moved to 'Test/c' directory.
      Tested in both debug and non debug cases via softloaded module. Oddly, it's 4 bytes longer than the previous version.
      
      Version 1.28. Tagged as 'SprExtend-1_28'
      4c21926d
  2. 19 Sep, 2010 2 commits
    • Robert Sprowson's avatar
      Panel beat with hammer of sanity. · 19fec5e3
      Robert Sprowson authored
      Deleted c.SpriteOp to untangle it from c.rojpeg to draw boundary around JPEG code.
      Moved all the OS_SpriteOp code out of SprExtend into a new file SprOp, so the main file just contains the usual macros/includes/module heading.
      Added new 'debugso' switch for debugging SpriteOps, was previously using 'debuggs' which is supposed to be for JPEG leading to reams of confusing debug.
      TestForMaskAtDepth was rejecting 8bpp sprites with masks due to testing against log2bpp (4) instead of sprite type (5).
      NSM_bpptable re-encoded in bytes rather than words, accesses ammended accordingly.
      Took fresh copy of swiv2 from RISCOS_Lib revision 4.7.
      SpriteV interception made a bit simpler (& faster).
      Fixes to validate sprite (SpriteOp 17):
       Was looking at the wrong bits of the mode word to test for old mode words.
       Added new test for DPI values being non zero.
       Algorithm more closely follows PRM.
      
      Version 1.27. Tagged as 'SprExtend-1_27'
      19fec5e3
    • Robert Sprowson's avatar
      Title line made consistent. · f9b84277
      Robert Sprowson authored
      No code change - not tagged.
      f9b84277
  3. 17 Sep, 2010 3 commits
    • Robert Sprowson's avatar
      Retire old compiler. · a76bc825
      Robert Sprowson authored
      2000 lines of unloved code from 1993 deleted, binary still the same afterwards, so should be same as 1.25.
      
      Version 1.26. Tagged as 'SprExtend-1_26'
      a76bc825
    • Robert Sprowson's avatar
      Fix two bugs causing aborts on corner cases. · d801c60e
      Robert Sprowson authored
      1 pixel wide JPEGs:
      The diffuse dithering code considers all lines as 1-N-1 where N can be zero and the first and last pixel are dealt with specially because there's no data to scatter beyond the edge.
      With a 1 pixel wide JPEG the dithering code ended up with a -ve number in the X counter and wandered off the end of memory. Fix just moves a SUB up a few lines and turns it into a SUBS so that the 1 wide case becomes 0-N-1 with N=0.
      1 pixel high sprites:
      With output switched to a 1 pixel high sprite an abort would quickly follow because the read of mode variables had a backdoor check to workaround a bug in RISC OS 2.00 which returned a duff value for YWindLimit in MODE 22. As the definition of MODE 22 got changed to 768x288 in RISC OS 3.xx (and the YWindLimit bug fixed) this code now just falsely reported a 1 pixel high sprite as being 1024 high and the blitter splattered all over memory it shouldn't.
      Result:
      Loss of RISC OS 2.00 compatibility, but can now load J...
      d801c60e
    • Robert Sprowson's avatar
      Comment corrected. · f6a6ef40
      Robert Sprowson authored
      f6a6ef40
  4. 01 Sep, 2010 1 commit
    • Robert Sprowson's avatar
      Clean up pass. · ff031992
      Robert Sprowson authored
      Trim 200+ lines of changes dating back to 1987, combine with non duplicates in the 'BlackLog'.
      Use 'offsetof' macro in genjhdr to avoid warnings about uninitialised variables, rename from makejhdr so all the utils are clearly demarked.
      Add throwback to MkCFSI-j.
      Replace reason codes passed to SWIs with textual equivalents from the respective header files.
      Speed up SWI despatch a bit by making the first few debug instructions depend on 'debuggs'.
      Qualify all of the debug switches with the global 'debug' one.
      Eliminate single use of 'pullx' macro.
      Make do_branch() take an unsigned opcode so 50% of the branches don't result in implied cast warnings.
      Added an UNUSED() macro to reduce a few of the legitimate warnings (the remainder are either in the original JPEG code or ones that it is worth checking the logic of.
      Unixify one last filename.
      
      Version 1.24. Tagged as 'SprExtend-1_24'
      ff031992
  5. 29 Aug, 2010 1 commit
    • Robert Sprowson's avatar
      A few small fixes. · 6393b19d
      Robert Sprowson authored
      Sources/PutScaled:
       Sync comment with C code.
      Sources/SprExtend:
       Debug switch 'debuggs' had been left on, which left in some unnecessary code, but turning it off pulled in code with a stack imbalance. Now off.
       Ensured a terminator at the end of the RMEnsure.
       Colour translation tables passed to SetPointerShape that were in top bit set addresses were being interpreted as though no tt was supplied. Now tested against zero to match docs.
      Sources/SprTrans:
       Switches pre 0.60 collapsed.
      Sources/diffuse:
       The C code was corrupting r12 workspace pointer so the check of the flag 'ctrans_recent' sometimes failed leading to a duff table lookup.
       Small optimisation to checking of guard word.
      c/PutScaled:
       Change paths to be Unix friendly.
      rojpeg:
       Put assembler_panic in the header file to shut the compiler up.
      3x unused files deleted.
      
      Version 1.23. Tagged as 'SprExtend-1_23'
      6393b19d
  6. 26 Aug, 2010 2 commits
    • Robert Sprowson's avatar
      Collapse old switches. · 02ca29e9
      Robert Sprowson authored
      Removed braces selecting code from 0.47 0.50 and 0.55, this is over 80
      versions ago and just confusing.
      Binary the same, not tagged.
      02ca29e9
    • Robert Sprowson's avatar
      Code generator improvements for ARMv5T and later. · 8ef703da
      Robert Sprowson authored
      The code generator could output TST instructions with immediate constants not generated in the ARM approved way, while this isn't currently a problem the generator is changed to encode constants less than 256 as an immediate with no shift.
      Use of LDR rn, Rd,[Rn] would produce
             LDR Rd,[Rn],#0
      which is unpredictable when Rd=Rn. Swapped use of OFFSET0 to OFFSET(0) so
      an indexed load is used instead.
      Removed the explicit 'S' from TST use, since the TST macro includes 'S' already.
      Delete h/swis (held centrally).
      Delete h/kernel (held centrally).
      Delete hdr/Modes (not used).
      
      Version 1.22. Tagged as 'SprExtend-1_22'
      8ef703da
  7. 21 Aug, 2010 1 commit
  8. 19 Jan, 2010 1 commit
    • ROOL's avatar
      Incremented version number, no other change. · bd7ef5fe
      ROOL authored
      Previous changes were untagged, but incrementing the version number gives
      us a tag we can associate with the official RISC OS 5.16 release.
      
      Version 1.21. Tagged as 'SprExtend-1_21'
      bd7ef5fe
  9. 16 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build fix · 1eb8d8a1
      Ben Avison authored
      Detail:
        Defines UXTH and SXTH as macros. This means we can assemble the output of
        cc -S -cpu 6 even using current versions of objasm that are limited to the
        v5TEJ instruction set. It is expected that objasm will ignore these macros
        if/when it gains v6 instruction set support.
      Admin:
        Tested - it works.
      1eb8d8a1
  10. 13 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build fix · 3a68b17c
      Ben Avison authored
      Detail:
        The build utilities utils.makejhdr, utils.genpalette and utils.genyuvtabs,
        compiled at build time, are now built using the HostTools shared makefile,
        and so will execute on any RISC OS build host even if the default compiler
        options are to target an incompatible ARM architecture. Also now sets the
        throwback flag when doing builds via the Mk obey file.
      Admin:
        Tested using an APCS-R build on an Iyonix.
      
      Version 1.20. Not tagged
      3a68b17c
  11. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET file pathnames changed · b1220ed0
      Ben Avison authored
      Detail:
        Uses suffixed file extensions for compatiblity with both objasm and asasm.
      Admin:
        Supplied by Peter Naulls, tested at ROOL
      
      Version 1.20. Not tagged
      b1220ed0
  12. 10 May, 2009 1 commit
    • Ben Avison's avatar
      Now safe to use in IOMD builds again. · 383c0f8d
      Ben Avison authored
      Detail:
        The use of ARMv4 SMULL instructions is now switched based upon the
        Hdr:CPU.Arch header file. This means that in IOMD ROM builds, only pre-v4
        instructions are used, so it will function on all required target platforms.
        Tungsten and OMAP3 builds will continue to use SMULL.
      Admin:
        Inspected binary to ensure correct behaviour. Requires HdrSrc 1.67 or
        1.62/4.162.2.4.
      
      Version 1.20. Tagged as 'SprExtend-1_20'
      383c0f8d
  13. 24 Apr, 2009 1 commit
    • Steve Revill's avatar
      Performance improvement and code tidy-up. · 2ae9b407
      Steve Revill authored
      Removed local definition of XOS_CLI and XColourTrans_SelectTable, replaced
      with header file.
      
      Delete swiv2_old (moved to _old directory)
      
      Changed to use {TRUE} and {FALSE} built in objasm variables.
      
      Label dividebyzero fall through had code in the way for debug = {TRUE}.
      
      Trimmed some dead code and definitions.
      
      Stopped thrashing OS_CLI every time a JPEG plot is required to check
      ColourTrans version, this is now done once at startup and a flag kept
      instead.
      
      Author: Rob Sprowson
      
      Version 1.19. Tagged as 'SprExtend-1_19'
      2ae9b407
  14. 17 Oct, 2008 1 commit
    • Steve Revill's avatar
      Small makefile tweak · bdc1c026
      Steve Revill authored
      Detail:
        Creates install directories if not already present before doing the
        copy operation.
      Admin:
        Will work.
      
      Version 1.18. Tagged as 'SprExtend-1_18'
      bdc1c026
  15. 18 Oct, 2007 1 commit
  16. 07 Dec, 2004 1 commit
    • James Byrne's avatar
      Fix bug where "Sprite doesn't exist" error message was being truncated. · 72e3ff6f
      James Byrne authored
      Detail:
        cache_sprite_doesnt_exist_error routine in MsgCode failed to take into
        account the fact that the messages file might be tokenised. Calling
        MessageTrans_Lookup with R2=0 gives you the length of the unexpanded
        message in R3. Now fixed to work in a better way.
        Also rename fp to r11 in swiv2 file to avoid assembler warnings.
      Admin:
        Soft-loaded module tested. Problem seems to be solved.
      
      
      Version 1.17. Tagged as 'SprExtend-1_17'
      72e3ff6f
  17. 03 Mar, 2004 1 commit
  18. 08 Apr, 2003 1 commit
    • Robert Sprowson's avatar
      Change to file vetting (only affects SpriteExtend module). · fc09fa95
      Robert Sprowson authored
      First pass check now only looks for a SOI tag,not bothering looking
      for the "JFIF" text: this lets both JFIF and EXIF files through the
      first gate.
      Next,improvements to the find_image_dimensions routine to properly
      look for tags rather than assuming tag APP0 is always at the start of
      the file as it is in ".jpg" files.Again - EXIF files are now understood
      as a side effect,plus a nice speed up for when skipping unknown tags.So
      rather than loading lots of unused 1k blocks it just sets the file
      pointer forwards to the required point.
      Tested with a handful of specially contrived EXIF files plus some frommy
      Panasonic camera,plus retested the JPEGs in the ChangeFSI test directory
      to check that progressive JPEGs are still correctly faulted.
      Yay - !Paint and !Draw can now load digital camera piccies!
      
      Version 1.15. Tagged as 'SprExtend-1_15'
      fc09fa95
  19. 19 Dec, 2002 1 commit
  20. 02 Dec, 2002 2 commits
  21. 06 Nov, 2002 1 commit
    • Kevin Bracey's avatar
      A couple of 32-bit fixes. · 98162fe6
      Kevin Bracey authored
      Used to interpret negative translation table pointers as "none"; now just 0
      as per documentation.
      Plotting 16bpp sprites into 32bpp modes now correctly sets the 3 least
      significant bits of each channel - used to be set to 0 due to a typo.
      Build option (currently set to on) to use SMULL instructions.
      
      Version 1.11. Tagged as 'SprExtend-1_11'
      98162fe6
  22. 02 Jul, 2001 1 commit
  23. 17 May, 2001 1 commit
    • Stewart Brodie's avatar
      Oops - I'd put semicolons in the sed script. · 7a6c481b
      Stewart Brodie authored
      Detail:
        This doesn't work because amu will (correctly) say that the semicolon
          is a command separator.  This is now fixed by passing each pattern
          separately with -e.
      Admin:
        Not tested.
      
      
      Version 1.09. Tagged as 'SprExtend-1_09'
      7a6c481b
  24. 15 May, 2001 1 commit
    • Stewart Brodie's avatar
      Now uses objasm throughout instead of aasm. · 6a240288
      Stewart Brodie authored
      Detail:
        The build structure for this module is not nice - I've sanitised it a
          bit, but it's still not nice.
      Admin:
         Built and tested with the test program briefly - the test sprite seems
           to scale and rotate properly.  ChangeFSI not tested.
      
      
      Version 1.08. Tagged as 'SprExtend-1_08'
      6a240288
  25. 27 Jun, 2000 2 commits
    • Justin Fletcher's avatar
      Removal of empty debug loop. · 952f94d7
      Justin Fletcher authored
        Addition of srccommit files.
      Detail:
        * c.jrdjfif, get_dqt had an empty debug loop when debug was disabled.
          This is no longer compiled when debugging is not enabled.
        * VersionNum and VersionASM files added, and Sources.SprExtend modified
          to use symbols exported from there rather than from Version.
      Admin:
        Ran on my machine. Previously tested in ROL builds.
        In future, might like to merge Exif support from ROL builds, but don't
        want to do that until I've re-read the specs on Exif format again.
      
      Version 1.07. Tagged as 'SprExtend-1_07'
      952f94d7
    • Justin Fletcher's avatar
      created by srccommit. · cc4641bb
      Justin Fletcher authored
      cc4641bb
  26. 12 May, 2000 1 commit
  27. 05 Aug, 1999 1 commit
  28. 22 Jan, 1997 1 commit
  29. 21 Jan, 1997 3 commits
  30. 16 Dec, 1996 1 commit
  31. 21 Nov, 1996 1 commit