Commit Graph

11 Commits

Author SHA1 Message Date
Stephen Heumann
aa38f6d209 Use faster assembly routine for 320-mode raw pixel decoding too.
The assembly code for the 640-mode and 320-mode routines is moved to a macro so it can be shared between them.
2016-05-20 22:08:05 -05:00
Stephen Heumann
9e401f4a83 Switch to using faster assembly routine (instead of C) for 640-mode pixel decoding loop. 2016-05-14 17:30:44 -05:00
Stephen Heumann
12999358b5 Use a static (instead of dynamically allocated) buffer for SHR pixels generated from raw decoding.
The program code is moved to a separate segment to make room for the buffer.
2016-05-13 21:44:12 -05:00
Stephen Heumann
141739c985 Clean up headers and make things static where appropriate.
Also include a few missing prototypes, which could possibly fix bugs.
2016-05-13 20:19:27 -05:00
Stephen Heumann
c6389c9925 Optimize 640 mode raw decoding for case where consecutive blocks of 4 pixels are the same.
This is also a win provided it can use the optimized case over ~40% of the time.
2015-09-28 22:48:23 -05:00
Stephen Heumann
2f13669a2f Optimize 320-mode raw pixel decoding for the case where two consecutive pairs of pixels are the same.
This is only a win if we can use the optimized case a reasonable proportion of the time (~40% or more), but that should be the case for most real screen images.

The equality comparisons are written with XORs because that produces better assembly code.
2015-09-28 20:53:45 -05:00
Stephen Heumann
3c069bc35d Raw decoding optimization: Do operations using 16 bits where possible.
This saves a few instructions that were being used to switch to 8-bit mode or mask values down to 8 bits.
2015-09-26 22:16:04 -05:00
Stephen Heumann
f810cb3799 Optimize the core loops for decoding raw pixels a little, in particular deferring increments to the end. 2015-09-26 14:26:05 -05:00
Stephen Heumann
ebf5297779 Switch to standard indentation of closing braces 2015-09-23 20:56:33 -05:00
Stephen Heumann
ab3210adb0 Consistently use spaces for indentation 2015-09-23 20:26:03 -05:00
Stephen Heumann
31ff375570 Post-1.0b1 work in progress from 2004.
This contains partial code for displaying the cursor locally.
2015-09-23 19:40:17 -05:00