Issue #7 AMIGAZINE! FixHunk 2.1 By D.J. James FixHunk2.1 -- This program will modify executable files to allow them to run in and with external FAST memory. The Amiga loader (since ver 1.1) will try to load both CODE and DATA hunks into FAST ram if available. This causes problems with programs that use data structures that must be in CHIP ram. Commodore-Amiga provides the ATOM utility to developers which allows them to modify object code to specify where hunks will load, but ATOM works only on object modules. What about all the existing programs available only in executable form? FixHunk is the answer. It works on executable files. It forces all DATA and BSS hunks in the file to be loaded into CHIP memory. CODE hunks will still load into FAST ram if available. There is no way to determine which specific DATA hunk should reside in CHIP ram, so FixHunk places them all there. Usage: FixHunk {-vi} filename where -v produces verbose output -i enters interactive mode FixHunk modifies the executable file IN PLACE, so don't modify an original file. Only modify a copy. ---------------- Changes with version 2.0 Will now handle overlays. Interactive mode added with -i switch. The interactive mode allows you to select where each DATA or BSS hunk will load into memory. You may select either CHIP, FAST or PUBLIC (either). You will be prompted for each DATA and BSS hunk as follows: Hunk #nnn: (W-Type) sssss [C/P/Q/]? where: nnn is a hunk counter (for reference purposes only). W is P,C or F. Shows Where the hunk currently loads. Type is DATA or BSS -- shows hunk type. ssss is the size of the hunk in bytes. You may reply: C or c to make the hunk load into CHIP ram. P or p to make the hunk public - loads into FAST if available. F or f to make the hunk load into FAST ram only. (not recommended) leave alone. Do not modify loader code. Q or q to exit interactive mode for this module. If you use the Q option to exit the interactive mode, the remaining DATA and BSS hunks in the module will not have their loader codes modified. Interactive mode will resume at the next hunk header. ------------------------ Changes with version 2.1 There was a problem reported with the overlay support. Programs compiled with the AC/BASIC AmigaBasic Compiler can now be processed. Added support for new hunk types proposed by the Software Distillery for their BLINK linker. These types are DRELOC32 (3F7), DRELOC16 (3F8) and DRELOC8 (3F9). This version no longer asks for permission to load an entire file image into CHIP ram -- it simply places it there. PUBLIC was changed to EITHER meaning either CHIP or FAST ram.