Short: patcher for compatibility with relocated sys vars Author: Mark J Swift Version: 1.09 Uploader: msw@blackpool.ac.uk This program takes a QL exectable, scans for $28XXX and patches it appropriately. ARCHIVE CONTENTS SYS_REF_README_txt - this file SYS_REF_bas - BASIC source SYS_REF_task - TURBO compiled code D68K_README_txt D68K_rext - a disassembly toolkit PDTK_README_txt PDTK_rext - a toolkit with many TK2-like commands PDTK_asm - the assembly source to the toolkit PROGRAM FEATURES * TURBO COMPILED for speed * BASIC source is provided * CACHE friendly - your code will still work on 68030, '40 and '60 processors - will even work with COPYBACK enabled * FREEWARE PURPOSE A lot of QL programs won't run when the system variables are not located in the usual place ($28000 hex - 163840 decimal). This can happen in Minerva with the second screen enabled or in Amiga-QDOS with extended memory. PATCHING TURBO If patching CODEGEN_task of the TURBO compiler, patch ALL references EXCEPT the two that refer to $28010. These are not part of the CODEGEN code, but are included in all TURBO compiled programs. Patched versions of TURBO produce code identical to unpatched versions, i.e. newly compiled tasks still require patching. If patching PARSER_task, or any other TURBO program replace ALL references. 32 BIT FRIENDLY SYS_REF makes all TURBO'ed programs 32-bit clean. This means you can run them from high in memory. This is especially useful in Amiga-QDOS, where if you have 16 meg of memory, the memory map could be from $07000000 - $08000000 with the system variables relocated to $07000000. CACHE FRIENDLY On a QL with a big processor (68030/'040/'060) the caches are flushed/disabled/enabled at the appropriate time. PROBLEMS? Turbo and Turbo patched programs work fine on my 16 meg 68040 Amiga running Amiga-QDOS with intruction, data and copy back caches enabled. You should have no problems with the code on a bog standard QL. REQUIRES Requires the D68K toolkit (D68K_rext included) and some TK2 commands. If you don't have TK2 use PDTK instead (PDTK_rext included). SYS_REF, D68K and PDTK are freeware - distribute freely