- 14 Nov, 2010 1 commit
-
-
Robert Sprowson authored
Setting bit 1 of r0 in JPEG_FileInfo and JPEG_Info will now return the SOF type of the JPEG in question in bits 3-6 of the info flags in r0 on exit. Took this opportunity to refactor find_image_dims to take a structure pointer rather than lots of individual pointers (CFSI-JPEG ammended to match). Untangled the return codes a bit so it is only necessary to inspect r0 on exit from C to determine the outcome. Values of 1 & 2 are translated in the assembler code into more specific error messages than just "Incomplete or corrupt JPEG". Fix bug where unknown density marker would leave the file open in JPEG_FileInfo. Don't bother ADRL'ing r1 for error messages that don't have a %0 in them. Added all the input & output flag definitions to the exported header file so other callers can use them too. More functionality, fewer bugs, about 200 bytes smaller too. Version 1.35. Tagged as 'SprExtend-1_35'
-
- 13 Oct, 2010 1 commit
-
-
Robert Sprowson authored
The exit_c function was repeatedly being called with the line number argument and error code the wrong way round and since only bits 0-2 of the error code are inspected on exit any fatal exits from the ported JPEG library code would either report the wrong error or fail silently (depending on the line number) - example a 12 bits per sample JPEG would be rendered without fault into a screen full of random memory garbage. Assembling/compiling with the 'jpeg' switch off didn't work, fixed, and also now zeros out the SWI decode values in the module header. Moved include of 'yuvtabs.s' into the colour conversion code. Deleted panic_exit, it did nothing useful but trace a value then exit, so it now just calls exit() like everyone else. Removed excess call to find_image_dims(), this was needed just to get the workspace requirements when the JPEG had already been sized up by asm_find_image_dims() earlier. Side effect of removing the pilot JPEG code earlier is that this call can now only get to the JPEG code from a JPEG_ SWI. Changed to just pass the workspace requirements into 'c.PutScaled' and save a duplicate scan. Fatal exits from the assembler huffman decoder now report a sensible error. Trimmed out all the JPEG assessment code from 'c.PutScaled' and moved it into 'c.rojpeg' so the put scaled is only concerned with putting things scaled. Sanitised the #includes a bit. Fixed on last check of wp->save_mode looking at the wrong bits for the mode number. Resolved all the warning in the genhdr/genyuvtabs/genpalette utilities by casting a bit harder.[A[B Added new more descriptive error messages to the messages file (not currently used), and made the 'not supported by' ones consistent so the tokeniser might crunch the file a bit more. In looks_like_jpeg() changed a bitwise to logical or. Fixed longstanding problem of not being able to render JPEGs at a scale of less than 1/6 in any greyscale mode, because, err, there was no code to do it - only the colour case was checked for. Implemented for 8bpp grey and 32bpp grey (which gets dithered for other lower modes) by just converting the luma channel into an equally weighted RGB value or replicating it for 256 greys. Tested in all 8 colour depths on a Risc PC using sampling ratios of 1x1; 2x1; 1x2; 2x2 of the IJG test image scaled in !Draw by 0.16. Version 1.32. Tagged as 'SprExtend-1_32'
-
- 25 Sep, 2010 1 commit
-
-
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'
-
- 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'
-
- 11 Jun, 2009 1 commit
-
-
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
-
- 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'
-
- 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'
-
- 12 May, 2000 1 commit
-
-
Kevin Bracey authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-