sidreloc(1) sidreloc(1) NAME sidreloc - Change the load address of a SID tune. SYNOPSIS sidreloc [ OPTIONS ] input.sid output.sid DESCRIPTION Sidreloc is a tool for relocating SID tunes any number of whole pages. It can also relocate all zero-page variables used by the tune. OPTIONS Relocation -p, --page First memory page (in hex) to be occupied by the relocated SID. Default value: 10 -z, --zp-reloc Range of free zero-page addresses that the relocated SID can use. The tool determines which zero-page addresses are used by the playroutine, and packs them towards the beginning of the specified range. Default value: 80-ff -k, --no-zp-reloc Keep all zero-page addresses as they appear in the original SID. Default value: off -r, --reloc Range of pages to relocate, e.g. "50-5f" for a 4 kB SID origi- nally located at $5000. Must include the entire loading range of the SID. Default value: Determined from the input file. Verification -t, --tolerance Tolerance (in percent) for wrong pitches. Default value: 2 -s, --strict Verify pulse widths. Default value: off -f, --force Write output file even if verification fails. The verification step is still performed, and warning messages are printed. Default value: off Emulation --frames Number of times to call the playroutine of each subtune. The default corresponds to approximately 33 minutes of a PAL tune, which should be enough to cover most tunes. Default value: 100000 --nmi-calls Number of times to call the NMI routine (if installed by the SID) per frame. The CIA2 timer setting is ignored. Default value: 200 --init-cycles Max number of clock cycles for the initialisation routine. Default value: 1000000 --play-cycles Max number of clock cycles for the playroutine. Default value: 20000 --nmi-cycles Max number of clock cycles for the NMI routine. Default value: 1000 Other -v, --verbose Output some statistics and a nice map of all the relocations. -q, --quiet Don't print warnings about write operations to memory outside the loading range (and the SID registers). -h, --help Display a brief summary of the program options and exit. -V, --version Display version information (and credits) and exit. EXIT STATUS The exit status of sidreloc can be used to determine the reason for failure according to the following table. 0 Relocation successful. 1 Not a valid SID file header. 2 Bad SID file: RSID requirements not fulfilled. 3 MUS files not supported. 4 BASIC tunes not supported. 5 PSID extensions not supported. 6 Bad command line parameters. 7 Input/output error. 8 Relocation failed: No solution found. 9 Relocation failed: Zero-page full. 10 Verification failed. 11 Could not determine playroutine address. 12 Invalid relocation range. 13 Max number of clock cycles exhausted. The following constants are added to the exit status to provide extra information. Hence, an exit status of 32, 64 or 96 also indicates a successful relocation, but with warnings. 32 SID tune writes to memory outside the loading range (and the SID registers). 64 Some mismatching pitches or pulse widths were detected. EXAMPLE The following command line can be used to relocate Zoids by Rob Hubbard from its original load address of $1000 to the address $4200, and move the zero-page variables from $fb-$fe to $c0-$c3: sidreloc -p 42 -z c0-ff Zoids.sid Zoids-4200.sid SEE ALSO Learn more at http://www.linusakesson.net/software/sidreloc/ 2012-05-18 sidreloc(1)