1. 15 Jan, 2014 1 commit
    • Robert Sprowson's avatar
      Flag unrecognised critical tags, but allow ancilliary tags between IDAT and IEND · fd01e328
      Robert Sprowson authored
      PNG spec 1.2, section 4.3, turns out tIME iTXt tEXt zTXt have no ordering constraints. Images with these after the IDATs but before IEND were being rejected, plus it's possible to encounter private ancilliary chunks - so it's safest just to let them all through.
      Unexpected critical chunks are now explicitly faulted.
      Version 1.46. Tagged as 'ChangeFSI-1_46'
  2. 11 Jan, 2014 1 commit
    • Robert Sprowson's avatar
      Minor fixes · bd8086c1
      Robert Sprowson authored
      Having selected JPEG output format, you'd get an error clicking on one of the radio icons on the sprite output format window.
      Look for BZERO and BSCALE in FITS astronomical image files, rather than subtracting a hardwired 0x8000 - this tended to result in any 16bpp images coming out solid green.
      Mirror the FITS image output in the X axis so they're the right way up.
      Version 1.45. Tagged as 'ChangeFSI-1_45'
  3. 08 Jan, 2014 3 commits
    • Robert Sprowson's avatar
      Add WBMP reading ability · ab4eef8c
      Robert Sprowson authored
      From reading WAP WAE 1.1 spec, tested with some sample images from the internet.
      Test image added to 'tests' directory for reference.
      Version 1.44. Tagged as 'ChangeFSI-1_44'
    • Robert Sprowson's avatar
      Add PNG reading ability · 30964e0b
      Robert Sprowson authored
      Also increased the minimum work area of the uutput window so the up/down adjusters don't get squashed with very small images.
      Tested with 174 test PNGs from the PNG test suite.
      Version 1.43. Tagged as 'ChangeFSI-1_43'
    • Robert Sprowson's avatar
      Fix for prevalent 'Outside file' errors · 59019698
      Robert Sprowson authored
      With small image files ChangeFSI would often report 'Outside file' as its detection code tried to read from around offset 512 within the file - often longer than the image itself. The extent is now checked before attempting to look for signatures that far in.
      Other minor changes:
      * Removed the need to pass a block of scratch memory to PROCcachesize
      * Command line use is in 'CmdBasUse' not 'FSIinfo' within the docs
      * Moved flag 666 image parser up into numerical order
      * Don't pass an argument to SWI Hourglass_On
      * Inline FNfits
      * Make the uniform palette function more general rather than hardwired for 256 entries
      Tested briefly, still works.
      Version 1.42. Tagged as 'ChangeFSI-1_42'
  4. 12 Dec, 2013 1 commit
    • Robert Sprowson's avatar
      Fix for unaligned load processing 48 bit image data · 37d93803
      Robert Sprowson authored
      In mappix (2 occurrences) for 48 bit data when step24=6 ChangeFSI relied on the unaligned load rotate, this is now split out for machines that can't do that.
      Don't bother looking for jcompmod in ChangeFSI$Dir - it's never been supplied there.
      Line 6934: fix stack imbalance.
      Rehomed a few comments with the lines to which they refer, added a few comments.
      Built, but not tested.
      Version 1.41. Tagged as 'ChangeFSI-1_41'
  5. 08 Dec, 2013 1 commit
  6. 11 Aug, 2013 1 commit
    • Jeffrey Lee's avatar
      Fix low colour output · a212eba0
      Jeffrey Lee authored
        source/ChangeFSI - Fixed a couple of issues that could prevent low colour (i.e. <=256) output from working in some situations:
        - Fixed bug in default palette reading code that would cause it to try and allocate silly amounts of memory depending on the current mode (e.g. FNdim of 0 bytes if loading 16 colour palette while in 32bpp mode)
        - Reworked colour conversion code so that the pixel index and image base pointer are in two seperate registers instead of being in one. The old code had a habit of failing with an "image too complex" error when producing <256 colour output, because (base%<<(3-dest_log2bpp)) could easily overflow a 32bit int, especially when you consider that a dynamic area is used to store the target image.
        Tested on RISC OS 5.21 Iyonix, converting a test image to all the different output colour depths & "special" modes.
      Version 1.40. Tagged as 'ChangeFSI-1_40'
  7. 15 Jul, 2013 1 commit
    • Robert Sprowson's avatar
      Add support for local colour tables in GIFs · 9146f67e
      Robert Sprowson authored
      ChangeFSI previously only supported global colour tables, but will now look at the local colour table bit too.
      Additionally, the info report was looking at the wrong bitfield when describing the log2bpp - always showing 8 (because it was showing the colour table size).
      Version 1.39. Tagged as 'ChangeFSI-1_39'
  8. 12 May, 2013 1 commit
  9. 28 Oct, 2012 1 commit
    • Robert Sprowson's avatar
      Add interactive help to ChangeFSI · 45d13432
      Robert Sprowson authored
       * Trim out some redundant statements in FNdeducemode which look to have been used when JPEG was in the sprite output dialogue
       * Likewise, fix keyboard navigation in sprite output dialogue to not try to go via the (non existant) JPEG quality writeable
       * Add 'smoothing' to keyboard navigable writeables in processing dialogue
       * Bump up version number reported in Wimp_Initialise to allow interactive help messages on menus to be passed
       * Uncapitalise iconbar menu second words
      Version 1.37. Tagged as 'ChangeFSI-1_37'
  10. 27 Oct, 2012 3 commits
  11. 25 Sep, 2012 1 commit
    • Robert Sprowson's avatar
      Update Shell code from Library-1_58 · e0f3c425
      Robert Sprowson authored
      * Now does an OS_SynchroniseCodeAreas before jumping to Shell_Job (and back again)
      * Removed the attempted Arthur 1.20 support - it was attempting to support this using the 'X' form of XOS_ChangeEnvironment, except that that SWI name wouldn't lookup on Arthur. Doh!
      Version 1.34. Tagged as 'ChangeFSI-1_34'
  12. 15 Sep, 2012 1 commit
    • Robert Sprowson's avatar
      Documentation enhanced · a0ac06f2
      Robert Sprowson authored
      * Working example of using ChangeFSI as a library added
      * Note about not freeing memory when worklimit%=0 added to docs
      Retagged as ChangeFSI-1_33.
  13. 03 Sep, 2012 1 commit
  14. 27 Aug, 2012 1 commit
    • Robert Sprowson's avatar
      Fix processing of new format sprites with palettes · 338016d7
      Robert Sprowson authored
      * Function 'newropal' was treating palette entries as &00BBGGRR when they are stored as &BBGGRR00, leading to generally wrong colours all round.
      * Also, 256 entry palettes were not distinguished from 64 entry palettes, so files from Paint (which seems to prefer 64 entry ones) were generally black due to reading of the end of the palette.
      * Added text to the info string stating if the input sprite contained a palette.
      * Fixed template buffer overrun when filename is truncated to 12 letters (to formulate a sprite name), the template only reserved 12 letters and hence use of '$' operater in BASIC overran and messed up the border validation.
      Tested with a number of 180dpi 'new' format sprites in 8bpp and 4bpp with and without palettes.
      Version 1.33. Tagged as 'ChangeFSI-1_33'
  15. 11 Aug, 2012 1 commit
    • Robert Sprowson's avatar
      Minor rework to run on RISC OS 3.6 as advertised · 92a964c2
      Robert Sprowson authored
      During 32 bitting some MRS/MSRs were added, but these don't assemble with the BASIC that is implied by the RMEnsure in !Run.
      Changed 25 occurrences to use a macro instead.
      Removed attribution from !Run/!Boot copied to the user.
      Some dead definitions removed from the makefile.
      Version 1.32. Tagged as 'ChangeFSI-1_32'
  16. 14 Jan, 2012 1 commit
  17. 06 Nov, 2010 1 commit
    • Robert Sprowson's avatar
      Reorder evaluation of whether to use built in JPEG decode or djpeg. · cb1cd3b7
      Robert Sprowson authored
      Before, the candidate JPEG file was prescanned and a decision made as to whether that was too hard for CFSIjpeg to do or not. This lead to duplicated tests when (a little later on at 'WHEN 3700:') the file is prescanned anyway - plus this implictly encoded the capabilities of CFSIjpeg into the BASIC code.
      Now, the CFSIjpeg binary is loaded at the first detection of a JPEG file and the scan done up front using its built in routine.
      This isn't a performance penalty since the area (jpeg%) was never freed anyway so there is now no need to load it later, which has the additional benefit that it is now possible to detect CFSIjpeg missing and fall back to djpeg rather than reporting an error.
      Fixed an 'end of file' error spotted in testing when djpeg fails to produce an output it does actually create a scrap file of zero length which is now checked for too.
      Version 1.30. Tagged as 'ChangeFSI-1_30'
  18. 24 Oct, 2009 1 commit
  19. 07 Jun, 2009 1 commit
    • Ben Avison's avatar
      ChangeFSI changes · c181e52d
      Ben Avison authored
        Main ChangeFSI program changed to assemble new instructions on ROL OS
        versions without "No such mnemonic" error. Also changed to handle
        _Version: token in messages file.
        Added "stripdepnd Makefile" to !MkClean.
        Makefile locks destination !Sprites and !Sprites22 files, because
        everything else is being locked.
        Makefile altered to use new centalised awkscript to keep version numbers
        updated. (Note that ChangeFSI has a slightly odd makefile, so this
        shouldn't be used as an example of how to modify Makefiles to use the new
        awk version script.)
        Window menu fixed to be style guide compliant.
        Requires Library 1.32
        Tested on RiscPC RO402
        Changes by James Lampard.
      Version 1.28. Tagged as 'ChangeFSI-1_28'
  20. 17 Oct, 2008 1 commit
    • Steve Revill's avatar
      Fixed a bug from earlier commit. · 327d0ecf
      Steve Revill authored
        In the reformatting work, MOVEQ instructions got broken into MOVE Q which
        clearly won't work.
        Appears to work now.
      Version 1.27. Tagged as 'ChangeFSI-1_27'
  21. 06 Oct, 2008 1 commit
    • Steve Revill's avatar
      Merged change from Castle source repository. · 5e1c8fa8
      Steve Revill authored
        Increased maximum image size from around 19 MiB to 64 MiB to avoid data
        aborts. This won't fix the problem but it does move it away a bit.
        Untested - but presumably worked for Castle.
      Version 1.26. Tagged as 'ChangeFSI-1_26'
  22. 15 Jun, 2008 1 commit
    • Steve Revill's avatar
      Source code reformat and tweak to sprite output. · 8fcca077
      Steve Revill authored
      - Reformatted the main source code so that it can be read by humans.
      - Verified that it builds something which is functionally identical.
      - Modified default max DA size to be a bit more useful for modern images.
      - Changed sprite file output to name the sprite after the leafname of the source
        image (e.g. if source is "photo/jpg" the sprite in the sprite file is "photo").
        This is arguably much more useful than calling it after the processing options.
        Untested but crunched BASIC compared by eye with previous revision.
      Version 1.25. Tagged as 'ChangeFSI-1_25'
  23. 18 Oct, 2007 1 commit
    • Andrew Hodgkinson's avatar
      Comply with component licence conditions. · 9ab3f734
      Andrew Hodgkinson authored
        Required to supply diffs for some mixed licence components by the
        licence conditions in some cases - e.g. for the JPEG library. ReadMe
        files added to explain the licence situation where necessary.
  24. 22 Jan, 2007 1 commit
    • Steve Revill's avatar
      Minor tweaks to build and install correctly. · 6f9d22a9
      Steve Revill authored
        Some changes were required in order for this component to build and install
        correctly with the newer cc.
        Tested in Iyonix 'Disc' build using ROOL 'BuildEnv' build environment
      Version 1.24. Tagged as 'ChangeFSI-1_24'
  25. 10 Nov, 2004 1 commit
    • Steve Revill's avatar
      Fixed fault reported on newsgroups · 0843620a
      Steve Revill authored
        If ChangeFSI program was used as a BASIC LIBRARY, calls to it would fail with
        "Unknown or missing variable" due to the use of spop% which isn't defined in
        library usage.
        Also fixed install rule in makefile to use "do mkdir -p" rather than "cdir".
        Tested - seems to still work!
      Version 1.23. Tagged as 'ChangeFSI-1_23'
  26. 02 Jun, 2003 1 commit
    • Robert Sprowson's avatar
      Removed another 2 debugging SWI WriteI's missed earlier. · 86e72c6d
      Robert Sprowson authored
      Choices are now read from Choices: not <Choices$Write>
      Changed FNChangeFSI so that -1 is used to determine where the workspace
      comes from,rather than taking any -ve number.This now matches the docs.
      Jiggled "output" template.
      Version 1.22. Tagged as 'ChangeFSI-1_22'
  27. 07 Feb, 2003 1 commit
    • Robert Sprowson's avatar
      Fixes for work done by the keyboard fairy. · 120ca555
      Robert Sprowson authored
      Outputting sprites to 256 greyscales gave an unknown or missing variable
      due to ms$ instead of m$ in an IF statement.
      A comment added to table lookup mode contained colons inside assembler
      Finally figured out why the bottom corner of the screen sometimes gets
      messed up,there was a SWIEQ 256+ASC"A" festering in the B&W lookup table
      code (been in for years!).
      Version 1.21. Tagged as 'ChangeFSI-1_21'
  28. 20 Jan, 2003 1 commit
    • Robert Sprowson's avatar
      Added btpc 4.1 support,though the detection in the main program has always... · 32ad2fd7
      Robert Sprowson authored
      Added btpc 4.1 support,though the detection in the main program has always been there the binary vanished sometime round 1995.
      Added abridged info on BTPC to the appropriate docs,plus docs updates
      to reflect interesting information which seems to have been
      progressively removed with time.
      Yucky sprites added,Sprites23 deleted.
      The output window now remembers where it was last opened instead of
      always jumping to the middle of the screen.
      You no longer need to be in a specific screen depth for any operation,
      before (particularly using special mode "r") it needed to read the
      palette in a particular mode - now if it realises it cannot it will look
      for a default palette in its Palettes directory and only then give an
      Reinstated 256 colour special mode "t",this has always been missing the
      4096 colour lookup table and most of the support for it was removed in
      about 1992 though the assembler remained leading to a "No such variable"
      error when trying to use it.GenCFSIict produces the table.
      Version 1.20. Tagged as 'ChangeFSI-1_20'
  29. 12 Nov, 2002 1 commit
    • Robert Sprowson's avatar
      Nuked a BICEQS in the shell code that got missed. · 0c623fa2
      Robert Sprowson authored
      Choices now stored in choices$write not locally.
      pcdtemp spool file now put in wimp$scrapdir not locally.
      Removed binary stored hpcdtoppm (now built from sources).
      Added tests directory which contain some useful test images for Changefsi
      Port of newer "hpcdtoppm",the bits changed from the original are all
      demarked by "RISCOS_TWEAK".
      Version 1.19. Tagged as 'ChangeFSI-1_19'
  30. 05 Nov, 2002 2 commits
    • Robert Sprowson's avatar
      Lost the sources to 1.15 somewhere,and RISC OS 4 came with 1.17. · 1c865d70
      Robert Sprowson authored
      Output template reworked
      Zoom template swiped from !Paint
      Infobox and saveas box swiped from !Edit
      Improved error messages for unsupported formats
      Hyphenated the date (also now derived at build time from the VersionNum
      Assembler stamped on to remove 26 bit code (uses MRS and MSR,hence ARM6
      or later,but the RMEnsure of Utility module catches this).
      Rejigged a few ADRs which were no longer in range due to the above.
      Added ChangeFSI alias to !Boot file,it's always been documented as being
      Took 6b of the IJG jpeg code,and updated the JPEGinfo file accordingly
      3dtemplate renamed as Template3d
      Eliminated some dead documentation which never went on the disc image
      Bug fix for CLI use when output is an S16 sprite,no default x dpi or y dpi
      was assumed leading to an infinitely narrow infinitely tall sprite.
      REM'd out the sketchy support for S24,a mythical 24 bpp packed sprite and
      tweaked the docs to read S32 which you can actually generate!
      Now handles progressive JPEGs (merged from a patched CFSI from RComp's
      Adds TechnoI video digitiser reading (untested)
      Adds P8 reading (untested)
      Merged the useful bits from RISC OS Ltd's sources,which seem to be
      pretty unchanged from V1.15.
       * Missing hpcdtoppm sources,so no 32 bit there
       * Missing btpc sources,so no 32 bit there
      Version 1.18. Tagged as 'ChangeFSI-1_18'
    • Robert Sprowson's avatar
      Added VersionASM and VersionNum · 3f7baeae
      Robert Sprowson authored
  31. 16 Dec, 1996 1 commit
  32. 05 Nov, 1996 1 commit