- 25 Jun, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: Sources/SprExtend - Added new CheckAlignedAndSensible macro to make it easy to check pointers. Pointers which aren't word aligned or are less than 256 are considered bad. Sources/SprOp - Update findsprite, getspritename and getspriteaddr to check sprite/area/name pointers for validity. Sprite names are the only ones that are allowed to not be word aligned. Admin: Tested on rev A2 BB-xM. Version 1.43. Tagged as 'SprExtend-1_43'
-
- 14 Apr, 2011 1 commit
-
-
Ben Avison authored
Detail: Page 33 of the RiscOS 3 volume 3 Programmers manual states that the active point can be set from the sprite's mask. This was never implemented but it is very useful as it means that the active point is no longer hardwired into programs but dependant on the sprite used. The obvious problem is ptr_write. At present the active point is at the top left. If you run !ptr_test and run the pointer over the 'standard active point position' writable icons from the bottom you will see that the pointer changes to an I with its top at the bottom of the writable icon. If you move the pointer until the top of the I is just inside the upper writable icon of the 2 and click, the focus goes into the upper writable - not what you'd expect. Similarly it's difficult to place the caret between the 2 lls in will. The bottom two icons shows the difference with the active point in the correct position in the I beam. You could change the wimp to put the caret in the correct position like I have in the bottom 2 writables of !Ptr_test however this would have the wrong active point position if the mode had rectangular y pixels and it wouldn't fix all instances where programmers had set ther own values. It also means that themes can change the pointer active point as well as the shape. The routine added copes with old and new type sprites of any bit depth though OS_SpriteOp 36 has a 8bit limit. Admin: Tested on Iyonix 5.17. Author: Colin Granville Version 1.42. Tagged as 'SprExtend-1_42'
-
- 29 Sep, 2010 1 commit
-
-
Robert Sprowson authored
During the original development (referred to in the docs as Sprite Extend 2) JPEG data was briefly wrapped inside a sprite file before the JPEG_ swis were introduced. Within SpriteExtend some code still remained to fake a mode 20 sprite header with the JPEG output sized adjusted as though it was 4bpp, then later undo the faking by checking for a mode 20 sprite with is_it_jpeg set. This version removes all of the code looking out for pilot JPEGs, and rationalises the fake sprite header to just report the true X/Y size. Fix bug where r4 would be corrupted on exit from JPEG_PlotScaled if an error occurred, and generally rationalised the exit cases a bit more sensibly. Made the JPEG_ swi despatch a bit more simple to follow. Corrected a comment in the NSM_bpptable. Deleted unused 'ecfspace' from the workspace. Hid the 'macroword' from the C code as it's now an assembler only value. Cut the initial comments from c/putscaled and placed in Docs. Cut the debug tracing code (a notable %age) from c/putscaled and placed in tracing support file. Simplified the entry to putscaled_compiler() now we don't have to look out for pilot format JPEGs within sprites any more. Sprinkled in some block comments to make navigating the c/putscaled file a bit easier. Version 1.30. Tagged as 'SprExtend-1_30'
-
- 25 Sep, 2010 1 commit
-
-
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'
-
- 19 Sep, 2010 1 commit
-
-
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'
-
- 17 Sep, 2010 2 commits
-
-
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'
-
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...
-
- 01 Sep, 2010 1 commit
-
-
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'
-
- 29 Aug, 2010 1 commit
-
-
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'
-
- 26 Aug, 2010 1 commit
-
-
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.
-
- 16 Jun, 2009 1 commit
-
-
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.
-
- 10 May, 2009 1 commit
-
-
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'
-
- 24 Apr, 2009 1 commit
-
-
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'
-
- 06 Nov, 2002 1 commit
-
-
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'
-
- 15 May, 2001 1 commit
-
-
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'
-
- 27 Jun, 2000 1 commit
-
-
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'
-
- 12 May, 2000 1 commit
-
-
Kevin Bracey authored
-
- 05 Aug, 1999 1 commit
-
-
Kevin Bracey authored
-
- 21 Jan, 1997 1 commit
-
-
Neil Turton authored
-
- 06 Nov, 1996 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-