MKick 1.3 (c) 1992,1993 MJSoft System Software Martin Mares ============================================================================== Introduction: ------------- MKick is a replacement of KickIt, ZKick and LKick kickers for use on machines with kickstart 1.2 or 1.3 in ROM (It also tries to be as powerful as SinSoft's SKick). The main advantages of MKick are: - ability to relocate any kickstart higher than 1.X to CHIP, FAST (C0-RAM) or EXPANSION RAM, if the relocation table is supplied. - standard operation (like ZKick) if the relocation table is not available. - reading of both KickIt and ROM Image kickstart formats (the encrypted beta-ROMs for A600 must be converted by the MakeKick utility) - patch function using supplied patch file (may correct known kickstart bugs). - can be started from both the command line and Workbench. - Graphic User Interface (GUI). - Small code size, because it's written completely in assembly. - loaded kickstart survives user reset and crashes (when the ExecBase is not destroyed). - C0-RAM salvage: many kickstarts perform destructive tests of C0-RAM (FAST RAM). MKick stores critical bytes in his own storage and restores their contents after memory tests. - If You have kickstart 39.106 or higher, the alert timing constant (execbase+$20E) won't be lost during reboot. Copyright: ---------- MKick, its documentation and all the utilites (MakeKick, MakeKickDisk and SwitchScript) are Copyright (C) MJSoft System Software 1993, Prague, Czech Republic. This archive may be freely redistributed, but only in original unmodified state. No files can be added, modified, removed etc. All copyright notices in the programs and accompanying documentation files must remain on their places. Also '.displayme' and other similar files may not be added. Contents of the archive: ------------------------ MKick - executable code of the program MKick.info - icon MKick.doc - this file History - history of development MakeKick - utility for making of kickstart header files MakeKick.doc - its documentation MakeKickDisk - utility for making of kickstart disks with track-loader MakeKickDisk.doc - its documentation SwitchScript - utility for easy switching of startup scripts SwitchScript.doc - its documentation SumKick - utility for calculating the kickstart image checksum SumKick.doc - its documentation KSHD/*.kick - kickstart headers for various kickstarts KSHD/*.kshd - source files for kickstart headers KSHD/*.rtb - relocation tables for kickstarts Included kickstart headers: --------------------------- The kickstart header files containing the relocation table and informations needed to load the kickstart are supplied for following kickstarts: (MKick has been tested with all of them.) kick37175.A500 standard 2.04 for A500+ kick39046.A500.BETA beta-version of 3.0 (*) kick39106.A1200 standard 3.0 for A1200 kick39110.A500.BETA beta-version of 3.0 (*) kick39115.A3000.BETA beta-version of 3.0 (*) kick39115.A3000SK.BETA beta-version of 3.0, SuperKickstart file (*) kick40003.A3000.BETA beta-version of 3.0, SuperKickstart file (*) (*)- Available only to official developers. System requirements: -------------------- - Amiga 500, 1000 or 2000 - Minimally 1 meg of RAM (all possible combinations) - Kickstart 1.2 or 1.3 in ROM - arp.library in the LIBS: directory Installation: ------------- The kickstart images are normally stored in directory DEVS:Kickstarts. The kickstart header files are stored on the same place. This directory is searched automatically in the GUI mode and can be overriden by the KICKDIR option (see below). To install MKick, copy the MKick executable (with its icon) into any place where You wish to have it, create the DEVS:Kickstarts directory and copy all header files to it. Then copy Your kickstart images and rename them with names of header files, but without any extension (it's also possible to rename the header files according to kickstart image). All the files of one particular kickstart must have identical names (except extensions). Note: There are no kickstart images in this archive. For best operation, You should insert calling of MKick as the first line of Your Startup-sequence script. It allows MKick to handle all operations requiring system reboot (switching from one kickstart in RAM to another one) automatically. When You hold down the left mouse button during system reboot, the GUI screen will appear. MKick usage: ------------ MKick may be called either from the Shell or from the Workbench. Invocation from the Shell ------------------------- Syntax: MKick [] [ADR
] [NOREL] [NOPATCH] [CHIP] [FAST] [EXP] [GUI] [WAIT] [KICKDIR ] [NOTEST] [AUTO] [ROM] [NOTAGS] [FORCE] [DEBUG] - name of the kickstart to be started ADR
, CHIP, FAST, EXP - specifies, where the kickstart has to be stored. When no memory control option is specified, MKick will search for optimal place automatically. ADR forces kickstart to be stored on specified address (in hex!), other memory options force using of CHIP, FAST or EXPANSION memory. The SKick-style addresses (higher word only) are also supported. NOREL - disables kickstart relocation. Use if You want to store kickstart on original memory location. (You must have some RAM there.) NOPATCH - disables kickstart patching. Use if You want to start the original kickstart without any additional patches. Warning! some kickstarts require the patches. GUI - switch MKick to the Graphic User Interface mode. Allows user to select the kickstart and the basic options using the mouse (or the rat if You have one :-). WAIT - tells MKick to wait for the ENTER key before starting the kickstart. If You enter "Q", MKick will quit with the kickstart left in memory. Used mostly for debugging purposes and isn't available in the GUI mode. KICKDIR - specifies directory where the GUI mode has to search the kickstart files in. NOTEST - disables testing of kickstart file checksum during load. Used only for debugging purposes. AUTO - exit if there's already some kickstart active in RAM. Used when You want to load the kickstart automatically from the Startup-sequence. ROM - remove kickstart in RAM using reset. NOTAGS - remove all resident tags. This option can solve several problems, especially with ALF controllers. FORCE - don't test selected memory - perform a hard-load. Used for kicking to RAM, which is not in MemList. MKick allocates the memory if possible, else it loads directly into it without respect to its contents. DEBUG - switch on colorful stripes during system reboot. The first sequence of stripes (rainbow colors) is displayed when MKick reaches its resident module (MKick.init) first time (from ROM kickstart) - it's directly before start of RAM kickstart. The second sequence of stripes (black & white, very narrow stripes) is displayed when we're again in MKick.init, but now in new kickstart. This informs You that the RAM kickstart has been correctly started. Invocation from Workbench: -------------------------- Simply double-click on MKick's icon and MKick will be started. Using 'Info' or 'Information' (WB 2.0 or higher), You may specify all previously mentioned options using the tool types. The boolean (ON/OFF) switches can be enabled using their name followed by '=' or '=ON'. If the kickstart name (FILE=) is not specified, the GUI is started automatically. Graphic User Interface: ----------------------- When MKick is started in the GUI mode, a screen with a list of available kickstarts will appear. You may select the kickstart which You want to use or hit 'Cancel'. Then You may select in which type of RAM You want to store the kickstart to (ORIGINAL location, CHIP RAM, FAST RAM, EXP RAM or ANY RAM if You want to choose the optimal location automatically). It's also possible to disable the patches. Then hit the 'OK' gadget to start the whole loading process. Types of operations: -------------------- - Normal loading - used when You load the kickstart to memory which is free - Loading to temporary buffer - used when You want to load the kickstart to memory which is not free, but if there is some room to load the image to. - Hard loading - used if the FORCE option has been used. In this case, the RAM block containing the kickstart image will be allocated only if it's possible. Unsuccessful allocation will not be reported. - Disconnecting of C0-RAM - used when You have only 0.5M of CHIP RAM and 0.5M of FAST RAM. MKick will perform a reset to disconnect the FAST RAM from the system memory list. Then (if started again) it will load the kickstart to the disconnected C0-RAM. - Loading from kickstart disk - MKick allows to load the kickstart from the floppy. It supports original SuperKickstart disks for the A3000 and the specially formatted disks created by MakeKickDisk. - Removing of RAM kickstart - uses reset - Replacing RAM kickstart by another RAM kickstart - uses reset to remove the old one and then (if started again, normally from the Startup-sequence) tries to load the kickstart using one of previously mentioned methods. Common problems: ---------------- - MKick has no effect - normal reboot happens: Some resident modules collide with MKick. MKick normally tries to remove such modules, but ... You can fix it using the NOTAGS option or by removing the module manually. - Colourful stripes move on the screen and the machine seems to be crashed: It occurs when MKick isn't able to allocate the kickstart block memory. Try the operation again after a cold reboot. - Black and white stripes and the machine seems to be crashed: Kickstart image checksum error during AUTOSUM test. Some program has destroyed the kickstart. Use MKick again. - Black and white stripes, which disappear if you press the left mouse button: MKick is unable to allocate space for some resident module. This should not happen, but when it happens, it can be fixed if you select the NOTAGS switch. - Quickly blinking power led with red color of screen background: Kickstart image checksum doesn't match. Some program has destroyed the kickstart. Use MKick again. - "Incorrect or suspicious kickstart file" message: the kickstart file You have supplied is corrupted or encrypted. The only thing You can do with corrupted kickstart files is to throw them out. The encrypted files can be decrypted using the MakeKick utility (see the KICKTO option of MakeKick). - "Incorrect kickstart address in header file","Invalid kickstart original address","Corrupted kickstart file","Kickstart file doesn't match the header", "Error reading kickstart file" and other similar messages: The kickstart file You have supplied doesn't match the kickstart header. Your kickstart can be corrupted or patched, but there's also a possibility that You have choosed wrong name of the kickstart. Thanks: ------- - to Commodore-Amiga for the operating system. - to SinSoft for his SKick and many good ideas. - to Tomas Zikmund, Petr Cisar and Stefan Stuntz for beta-testing. - ... (for ...?) Final words: ------------ This program, its documentation and all other files contained in this archive, are (c) Copyright Martin Mares, Kankovskeho 1241, 182 00 Praha 8, Czech Republic. This package is provided as is, any warranties cannot be applied. Any usage of this program or other parts of this archive, will be done at Your own risk! Send bug reports and comments to mjsoft@k332.feld.cvut.cz (When sending a bug report, You should describe what happens, including effect of the NOTAGS and DEBUG options. Also try to detect any dependence on memory You have the kickstart stored in (use FAST, CHIP, EXP options) and don't forget to specify Your hardware configuration.) Excuse me for my bad English and all bugs.