DESCRIPTION: PatchWPA8 replaces WritePixelArray8() and WritePixelLine8() functions of graphics.library with a highly optimised chunky-to-plannar routines. In most cases on 8bit screen it gives acceleration up to 3.5 times. REQUIREMENTS: OS3.0+ (temporary bitmap is allocated via AllocBitMap) CPU 68020 or better NOTE: Don't use it with gfx boards! BENCHMARKS: Original Patched Converting 640x480x8 screen 10 times: PAL:Hires Laced 22.23s 7.16s (1) (3.1x faster) DBLPAL:Hires NoFlicker 43.68s 12.10s (3.6x faster) Real applications: VT - JPEG 640x480x24 42.03s 38.12s VT - JPEG 640x480x8 13.03s 9.23s Flick opt ROM 2.8fps 4.2fps (2) CyberShow and CyberTVPlayer are faster about 2-2.5 times (visually) All times are measured by SpySystem3 on 68030@25Mhz. Testing program with a source is included in this archive. (1) Yes! It's true :( Write access to Chip memory is almost 3 times slower in doublescan modes (8bit) than in 15kHz PAL or NTSC so WPA8 and WPL8 are slower, too. (2) It's done just for a test so DON'T use ROM option anymore because Flick has own very fast (state of the art) c2p routines. NOTE: Many programs (f.e. FastJPEG, FastView) use own fast c2p routines with direct access to screen (system unfriendly but faster) so this patch will not speed up anything. USAGE: PatchWPA8 can be started ONLY from CLI. It works like a switch. No arguments are supported. AUTHOR: PatchWPA8 was developed in Devpac assembler on A4030/882/10MB/850MB/CDROM. C2P routines are based on several sources in Aminet and highly changed by me for system usage. All comments or bug reports send to: Pawel Hernik Nowowiejska 24/3 25-532 Kielce POLAND tel. (041)27012 E-mail: spi-ph@srv1.tu.kielce.pl DISTRIBUTION: PatchWPA8 is FREEWARE. You may use and copy this program freely but all files must be copied in an unmodified state preferably in LhA or LZX archive. Use it on your own risk. If you use PatchWPA8 send me a postcard or message via e-mail. BUGS: - I can't write directly into RastPort's BitMap (it is system unfriendly!) so data is blitted via BltBitMapRastPort. In original function (by Commodore) c2p routine took ~80% of all time but now it's only ~30% and slow blitter is real bottle neck :( If anyone has idea how to do it system friendly but without using blitter let me know about it. Direct write to BitMaps gives acceleration over 8 times (!). - Patched routine doesn't damage source chunky in A2 (Is it really a bug? :) ) - Patch ignores TmpRastPort in A1 and own bitmap is used (because I need 8bit interleaved bitmap aligned to 32bit). It makes problems when some tasks use WPA8 and/or WPL8 simultaneously. I used very primitive semaphore mechanism to avoid conflicts - it isn't system friendly but WORKS! - Chunky data must have less than 2048 pixels/line (look above) - Only 8bit c2p is optimised but it works well for 7bit and less but acceleration isn't as big as in 8bit. It's still faster than original routines. HISTORY: 1.0 - first release