KOBRAHSOFT SOFTWARE SUPERCOPIER SC6 UTILITY OWNERS MANUAL (C) KOBRAHSOFT 1989 INDEX ----- Contents -------- * Supercopier SC6; Introduction & Technical Section. * General backup mettods; Loading SC6(a). * Supercopier SC6 (b); Loading and Using. * Supercopier SC6(c); Loading and Menu. * Speedlock Decoder SD1; Introduction. * Loading SD1; Copying "Old" type Speedlock Programs. * Copying "New" type Speedblock Programs. * SD2; Loading and using for latest Speedblocks. * Copying Alkatraz programs; more details. * Copying 128K Programs. * Header Reader; Loading and Using. * Headerless Block Length Reader. "SUPERCOPIER SC6" ----------------- INTRODUCTION. ------------- We thank you for buying our "SUPERCOPIER SC6" utility for your Spectrum, and we hope you will enioy using it. PLEASE NOTE:- SUPERCOPIER SC6 IS SUPPLIED SOLELY ON THE UNDERSTANDING THAT YOU ONLY USE IT TO MAKE BACK UP COPIES OF YOUR OWN SOFTWARE FOR SECURITY REASONS, NOT TO USE IT TO MAKE COPIES TO SELL OR DISTRIBUTE - THIS IS PIRACY, AND WE DO NOT CONDONE PIRACY! NOTE:- SC6 now contains SIX main parts i.e.:- (a). "SUPER KOBRAH COPY PLUS":- This deals with normal speed programs and normal speed long blocks up to 49087 bytes long. It also copies normal speed "toned" programs i.e. programs with no pause between code blocks. (b). "THE KOBRAH TAPE UTILITY":- This again deals with normal speed programs, but it has the facility of you being able to select your own type of copier for the program you wish to copy. It can also copy Firebird type multi-block programs. (c). "KOBRAHSOFT ADVANCED TAPE COPIER":- A very versatile copier which will copy virtually ANY Fast Loader, with its easy to use baud rate measurer. It will also copy Trivial Pursuit question packs and other programs without leaders - as far as we know no other copier will copy these. Another very useful point is its ability to copy VERY LONG programs - up to around 80K! This is done using code compression techniques. It also will 'smooth' out the baud rate for different tape decks this is very useful for +2 owners. It will now also copy even the VERY LATEST Alkatraz protected programs (see later) e.g. "THUNDER BLADE" and "LED STORM". (d). "SPEEDLOCK DECODER SD1":- SD1 will copy the earliest Speedlock protected programs and later ones up to around the type such as "OUTRUN". (e). "SPEEDLOCK DECODER SD2":- This latest addition to SC6 enables the easy backup of the VERY LATEST Speedlock programs e.g. "BATMAN 2". It now also has the ability to copy ALL the blocks of Multi-Block Speedlock programs. Thus, COMPLETE programs such as "AFTERBURNER", "DRAGON NINJA", "OPERATION WOLF" and "WEC LE MANS" can now all be copied easily, as can "OUTRUN"! (f). "COPYING ALKATRAZ PROGRAMS":- Contains FULL details on copying Alkatraz programs. PLEASE NOTE:- Please do not expect SC6 to copy ALL your programs, it cannot, neither can any other copier available. However it WILL now copy the vast majority of Spectrum programs available. In addition to the above, SC6 also contains instructions on how to copy FULL 128K programs AND comes with FREE Header Reader AND Headerless Block Length Reader, for easy program analysis. TECHNICAL SECTION. ------------------ Here, we shall try and help you understand more about how your Spectrum LOADS and SAVES programs. When you load a program, you usually see at first a burst of RED/CYAN THICK STRIPES which is called a LEADER (L), and is around 5 sec. in length for a HEADER, but only 2 sec. for a CODE BLOCK. These terms will be explained shortly. After, comes a burst of BLUE/YELLOW NARROWER STRIPES - these are BYTES (B) i.e. bits of code. Thus, for a typical Basic program you get:- HEADER (TIME GAP) CODE BLOCK ------ ---------- ---------- L----B L----B ^ ^ ^ ^ 5 sec V. short 2 sec. Any length RED/CYAN BLUE/YELLOW RED/CYAN BLUE/YELLOW THICK THINNER THICK THINNER BANDS BANDS BANDS BANDS The HEADER must always come first, since it tells the Spectrum where the following code must go in memory. The burst of BYTES for a HEADER is always very short, since it always contains only 17 bytes. These 17 bytes give the following information:- BYTE NO. INFORMATION. -------- ------------ 1 - gives the TYPE of program, i.e 0 for BASIC: 1 for a NUMERIC ARRAY: 2 for a STRING ARRAY: 3 for MACHINE CODE. 2 - 11 - these 10 bytes give the PROGRAM NAME. 12, 13 - these 2 bytes give, for a block of code the CODE LENGTH, or for a BASIC PROGRAM the length of the program area plus its variables. 14, 15 - these 2 bytes give, for a block of code, the START ADDRESS of the block in memory, or, for a BASIC PROGRAM, the AUTO-RUN LINE NUMBER. 16, 17 - these 2 bytes give, for a block of code, a repeat of the CODE LENGTH, or, for a BASIC PROGRAM, the length of the program area only. You will note, that whilst LOADING or SAVING with SC6(a), its INTEGRAL HEADER READER will give the above information i.e.:- BASNAME 0------580------1------490 ^ ^ ^ ^ ^ Program Type Length Auto Length Name (Basic) + Run (Program Variables Line only) No. CODENAME 3------48392--------16384------40392 ^ ^ ^ ^ ^ Program Type Length Start Repeat Name (Code) of code of code of length After the HEADER, usually comes a CODE BLOCK. This contains a leader of around 2 sec and then CODE which can be of any length. Thus, we can have:- L------B L------B L------B L------B ^ ^ ^ ^ Header 1 Code 1 Header 2 Code 2 In every case, (L+B) = 1 BLOCK e.g. for so-called HEADERLESS BLOCKS, we get:- L------B L------B L------B L------B L------B ^ ^ ^ ^ ^ Header 1 Code 1 Code 2 Code 3 Code 4 i.e. here we have 5 BLOCKS but only 1 HEADER - this can be identified by only having ONE leader of 5 sec. - the rest will be 2 sec. Some programs e.g. MASK 2, have normal length Spectrum Leaders, but NO time gaps between parts. These are said to be "TONED". An example of a program with a series of very short AND toned leaders are the Firebird type. These have a large number of very small blocks, with very short toned leaders. Some programs contain FALSE HEADERS. These are blocks of code 17 - 28 bytes long but with illegal character types. They are usually put in to try and crash the copier. However, SC6 ignores these, and remains totally unaffected by their presence. There are also many types of LEADERS now used e.g. VERY SHORT, WIDE, NARROW, etc - SC6 copes with all of these. The Spectrum loads its programs at a certain speed - called the BAUD RATE - this is usually 1500. However, the modern FAST LOADERS have been evolved which increase this to give shorter loading times. FAST LOADERS can be recognised by the fact that the "noise" when loading is usually very high-pitched - the bands of the leader and the code are very narrow, and sometimes of a different colour from normal. These are harder to copy, and SC6(c) must be used for these (see later). GENERAL METHODS OF BACKING UP PROGRAMS. ======================================= The MAJORITY of "ordinary" programs can be copied with SC6(a) ("SUPER KOBRAH COPY PLUS") in one operation. Exceptions arise when:- (1) The TOTAL PROGRAM LENGTH is longer than about 42000 bytes - here the "Maxibytes" section should be used. For longer blocks (48K to 80K), use SC6(c). (2) For Firebird type programs, or other unusual loading programs, use SC6(b). (3) Any block is a FAST LOADING block, or any single block is longer than 42000 bytes. In these cases, SC6(c) must be used. However, PLEASE BE PATIENT! Don't try and back-up your latest programs first - since they are likely to to the best protected and will need patience and experimentation. Please try first your "simpler" programs, then use your experience thus gained to eventually tackle the more difficult ones. LOADING AND USING SC6(a) - "SUPER KOBRAH COPY PLUS":- ----------------------------------------------------- NOTE:- Before loading any SC6 program, ensure your Spectrum is cleared (RESET) by either disconnecting then reconnecting the power, or pressing RESET, whichever is applicable. For the 48K Spectrum:- Type LOAD "" then press ENTER. PLAY in the program. For the 128K Spectrum:- Select 48K Basic from the Menu, and proceed as for the 48K. The program will load and run displaying the messages:- SUPER KOBRAH COPY PLUS SAVE LOAD PAUSE BREAK QUIT 3:NORMAL 4:TONES 5:MAXBYTES The keys available at this stage are:- Press "3" = Select NORMAL data. Press "4" = Select TONED data. Press "5" = Select MAXBYTE option. Press "L" then ENTER = LOAD data. Press "S" then ENTER = SAVE data. Press "P" during SAVE = PAUSE the saving. Press "BREAK" during LOAD/SAVE = Abort LOAD/SAVE. Press "Q" at Menu = QUIT or RESET the computer. When the copier has loaded, it defaults to the "NORMAL" mode: to return to this after using any other mode - press "3". To copy programs with no gaps petween parts, press "4" for "TONES". This will copy any such program e.g. term copiers etc. For node "3" and "4" press next "L" to load, then press ENTER to start loading. As the program loads, the integral Header Reader will read the Headers and give information like:- For a BASIC program:- HD0 NAME (10 letters) 00125 00000 43981 ^ ^ ^ ^ ^ Header Filename File Auto- Code Length Type 0 Length Run Left. (Basic) Line No. For a M/C Program:- HD3 NAME (10 letters) 01573 24352 42864 ^ ^ ^ ^ ^ Header Filename Code Start Code Length Type 3 Length Address Left. (Code) When you have finisned loading, press BREAK. The message "LOAD HAS BEEN ABORTED" will be displayed. You can now save what you have loaded by pressing "s" then ENTER. During saving, when the last 500 bytes of a file is being saved a white square will flash - pressing "p" at this point will insert a pause before the next file is saved when you release the "p" key. NOTE:- Pressing "q" at the Menu will Quit the program and RESET the computer. When the saving has finished the message "ALL MY SECTIONS HAVE BEEN SAVED" will be displayed. You may then load/save more data. To load a LONG block up to 49087 bytes - press "5" for Maxbytes mode. Press ENTER, then "1" will LOAD, "2" will SAVE. NOTE:- This mode will ONLY load/save ONE BLOCK, after which the border will go YELLOW. NOTE:- Repeat copies can always be made in normal and toned mode by pressing "s" again, or by pressing "2" again in Maxbytes mode. "SC6(b) THE KOBRAH TAPE UTILITY" -------------------------------- Description. ------------ This is an advanced tape utility in which you work out how a program is loading, then alter the copier to copy it. Firstly, listen to the tape you wish to copy. Write down the answers to these questions: (1). What types of leasers are there? Are they long, short or normal? As an example consider the "multiple block" Firebird type games. Here the leaders are very sharp (sounding like a "blip"). Thus, for type of leaders required on reloading we select "short" - usually select the same as the original leaders. (2). How are the leaders loading? Are they normal, or high pitched (short), or have a deep base sound (wide)? Here, they are normal. (3). How is the game loading? Here it is with short leaders with no gaps. Other possibilities are "Toned" i.e. Normal leaders with no gaps, and Wide. (4). Do you want the copier to put any delays between gaps when saving - here we need none. When we have gathered this information, we can then load the copier:- LOADING SC6(b) - THE KOBRAH TAPE UTILITY. ----------------------------------------- For the 48K Spectrum:- Type LOAD "" ; press ENTER and PLAY the tape. For the 128K Spectrum :- Select 48K Basic from the Menu, proceed as for 48K. On loading, the following messages appear:- THE KOBRAH TAPE UTILITY Select Preferences Leader : Normal Type : Normal Mode : Normal Delay : Normal To select your choice, press "l" to select nature of leaders; "t" to select type: "m" to select mode; "d" to select delay. As an example consider a typical "multi-block" Firebird program. Here there are no sound gaps and fast very short "blip" type leaders. The typical program starts with one, and sometimes two, Basic parts - these are best copied first using SC6(a). Next, load SC6(b), and proceed to copy the "multi-block" parts. There are usually two of these, the first is the screen picture, followed by a short pause of around 1sec. while the program decodes the next section, then the final long block. Next, we set "Leader" to short by pressing "1" until the correct choice appears. Since the leaders, although short, sound normal in pitch, we set "Type" to normal. Since the leaders are short with no gaps, we set "Mode" to short. There are no delays between the blocks, so set "Delay" to none. When all the options have been selected, press "s" to start. Then press "l" to load and "s" to save. Pressing "BREAK" aborts any load or save. Pressing "q" RESETS the Spectrum. Pressing "c" clears the screen. NOTE:- The screen area is used as a buffer and you will see some weird screen patterns, but this is normal and should be ignored. There are two ways to copy the two "multi-block" parts i.e:- (1). Copy the first part (the screen display), leaving a gap of around 2sec on the tape at the end. Press "q" (reset); reload SC6(b) and copy the second part. Ramember always to press "BREAK" at the end of any load to abort the load; then press "s" to save out to tape. (2). This method involves simply copying BOTH the "multi-block" parts, and saving to tape. Although quicker, the snag is that no gap is inserted after the first block; thus, when the second block starts loading, the program may not have enough time to see the first part, in which case it will give a load error message. This is easily overcome by stopping the tape, and rewinding slightly, then playing in the second part again - the program should now load perfectly. We prefer method (1), since no loading problems occur with this method. NOTE:- Because of the way the code is saved by SC6(b), a second copy is NOT available by pressing "s" again - the code will be corrupted. If a second copy is required, reset the computer (press "q"), reload SC6(b) and repeat the process. "SC6(c) KSFT ADVANCED COPIER" ----------------------------- Description. ------------ This is probably the most useful and certainly the most powerful part of SC6. it will copy almost 99% of anything; in fact it will even copy Amstrad tapes! Loading SC6(c). --------------- For tne 48K Spectrum:- Type LOAD "" press ENTER and PLAY the tape. For the 128K Spectrum:- Select 48K Basic from the Menu - proceed as for 48K Spectrum. When loaded the only thing visible is a BLUE screen! This was necessary to save on memory. At this stage, the following keys are available:- "l" = Load. "s" = Save. "c" = Clear Screen. "m" = Measure Baud Rate. "e" = Even out Baud Rate. "o" = Special "ODE" copier. "u" = Return to normal copier after "o". "q" = Quit - Reset the Spectrum. In "Maxi Mode":- "1" = Load a block (first attempt). "2" = Load a block (second attempt). "s" = Save. This copier will copy virtually ANY fast loader or very long program. Firstly, copy any normal speed parts up to the long fast block using SC6(a). Next we measure the baud rate of the fast section. Press "m" and play in a "noisy" part of the fast section. By noisy we wan an area where there is a lot of different changes in the width of the loading stripes. It is usually best NOT to use a screen code area, since large parts of this can consist of only zeroes or ones. Within a second of playing in the noisy part, the screen will go RED, indicating that the baud rate has been measured. NOTE:- DO NOT play in the leader - this will give a false result. Rewind the tape to the start of the long fast block. Press "c" - this will clear the screen back to BLUE. NOTE:- At this stage the copier is VERY sensitive. For this reason, when starting to copy the long block, it is best to PLAY it, and wait until you hear the leader before pressing "l" to load. If this is not done, the copier may copy any "glitches" or background noise on the tape. This is very likely to occur when trying to copy a copy (which is not recomeneed anyway). If this does happen, it is recognised by the copier showing a few white lines at the top of the screen, and then stopping copying and going into "save" mode. It is recovered by pressing "c" to clear the screen, and then pressing "l" WHEN THE LEADER IS LOADING. The copier will now load data up to a maximum of 48000 bytes. If the block is longer than this, it will stop loading, though you will still hear data loading from your tape - watch for this. If this occurs you must use the "Maximode" to copy the long block (see later). If O.K., simply press REC and PLAY then "s" and safe the copied block out to a fresh tape. Any more saving and loading is done at the same baud rate unless "m" is used again. If the block is found to be longer than 48000 using "l" above, press "c" to clear the screen, rewind to the start of the long block, press "1" and PLAY in the block. The copier will load 48000 bytes and then stop. When it has stopped, DO NOT TOUCH THE COMPUTER KEYBOARD IN ANY WAY FOR AT LEAST TEN SECONDS. During this time the copier is compressing the 48000 bytes loaded to make room for the rest of the block. Next, rewind to the start of the long block, and press "2" and PLAY in the block again. It will now load the whole block regardless of its length. When finished, press "s" to save, and an uncompressed copy will be saved out to tape. Repeat copies are made by again pressing the "s" key. NOTE:- If there are any large gaps in a game, you should try to keep these in. For example, the ALKATRAZ PROTECTED "Countdown" type games e.g. "Cobra", "Indiana Jones" etc. have a Basic first section, then a fast section with a large gap. Copy the Basic part with SC6(a), then use SC6(c) to copy the long fast block thus:- copy he first part up to the gap, save it; AND LEAVE A GAP ROUGHLY EQUAL TO THE ORIGINAL. It only needs to be near - it is just to give the program time to decode the game code. Then copy the last part from the end of the gap onwards in the usual way (see later). COPYING ODE PROGRAMS. --------------------- These are programs containing a protection system used in "Trivial Pursuit" question packs; and "Sailing" by Activision. As far as we know, no copier up to date has been able to copy these, but SC6(c) can! Firstly, measure the baud rate, and rewind to the start of the data. Press "o" (not zero!) and use "l" and "s" to load and save. NOTE:-The program makes a buzzing sound in operation, and on loading and saving NO leader tones are present. To revert to the normal copier afterwards, press "u". SMOOTHING THE BAUD RATE FOR DIFFERENT TAPE RECORDERS. ----------------------------------------------------- Most tape decks run at different speeds, and at higher baud rates e.g. from 2700 upwards loading errors may often occur. Also, when a copier saves a program it may set the baud rate too high to suit a particular tape deck (Plus 2 users please note!). To check if this is happening with your tape deck (especially if it appears prone to a lot of tape loading errors with fast loaders), load in a sample program and look at the yellow/blue code lines when sating. Do they look narrower? If so, the baud rate is too high - press "e" to even it out. This is especially useful for +2 owners. Repeated pressing of "e" will load a program in fast, and save it out slow - an ideal use for microdrive transfer. "SPEEDLOCK DECODER SD1" INSTRUCTIONS ------------------------------------ INTRODUCTION. ------------- One form of software protection which has recently been developed is the famous (or infamous) SPEEDLOCK system - which uses the dreaded "Pulsed Leaders" to load the program. These have lead to many loading problems, and because of this we have produced our "SD1 SPEEDLOCK DECODER" system. We did this since these programs are now no widespread - being used by several software houses including Ocean, US Gold, and Imagine to name but a few. SD1 converts the pulsed leasers to normal ones, and saves the program out at normal speed. It also saves the program code in two well defined blocks, with NORMAL headers, and gives the start address for the machine code, as well as producing a Basic loader to reload the program for a tape backup copy to be produced. With SD1, these programs can now be backed up to tape with a minimum of effort on your part. We have improved SD1 and it is now in TWO distinct parts. Part 1 converts the "old" type Speedlocks programs, whereas Part 2 converts the later types. Please note that any utility like SD1 or similar, can NEVER transfer ALL programs, since new methods of protection are continually being evolved. However, when used in conjunction with our new SD2 (see later), most Speedlock programs can now be copied with SC6. HOW TO TELL WHICH SPEEDLOCK SYSTEM A PROGRAM CONTAINS. ------------------------------------------------------ The OLDER type Speedlock games had 1 (sometimes 2) Basic parts, these were usually fairly short, and were followed by the "Pulsing Leaders". Here, instead of seeing the usual RED and CYAN (light blue) loading stripes in the border, we see "jerking" stripes which load with a "clicking" sound. The colour of the stripes was later changed to RED and BLACK on games such as "ENDURO RACER" etc. All these are classed as OLD type Speedlocks, and SD1 Part 1 will convert these. The NEWER Speedlock games are completely different. These have a very short Basic section, then a long Basic section. This is followed by the border turning red/black and a series of random musical "Beeps" is heard. Following this is a very short red/black part; then the start of a long block loading with a blue/black border. Also, there appears on the screen a counter which starts around 2m 30s and counts down to 0. Part 2 of SD1 will convert these programs. NOTE:- As mentioned earlier, the newest Speedlock e.g. in "BATMAN 2" have a completely different loading system. SD2 will now copy these. LOADING SD1. ------------ Firstly, make sure you clear your computer by either disconnecting then reconnected the power supply OR press the Reset switch, whichever applies. To load SD1 in 48K Mode:- For the 48K Spectrum:- Type LOAD "", press ENTER, then PLAY on your recorder. For the 128K Spectrum +;+2; +3 :- Select 48K Basic from the Menu - proceed as for 48K. To load SD1 in 128K Mode:- For the 128K Spectrum + and +2:- Press ENTER at the Menu, then PLAY in SD1. For the Spectrum +3:- Press ENTER at the Menu (no disc in drive), then PLAY in SD1. It can be better to backup a game in 128K mode if possible, since many games e.g. "ENDURO RACER", "WIZBALL", etc have extra music which is thus retained. SD1 will load and run, starting with the message:- "Please Choose:" (1) OLD Type Speedlocks; (2) NEW type Speedlock. (1). MAKING BACKUPS OF OLD TYPE SPEEDLOCK PROGRAMS. --------------------------------------------------- Press key "1" at the above menu, when the message "Press ENTER then PLAY Tape" will be displayed. Remove the SD1 tape, and insert your Speedlock program tape, and rewind it to the start. SD1 is now ready to use. Some old Speedlock programs have ONE Basic section, others have TWO, before the pulsing sections. Where TWO Basic sections are present, SD1 will ignore the first. Press ENTER then PLAY on your recorder. When SD1 meets the main Basic, it will display its name, which will be used when saving Basic and code blocks. Watch your screen, and when the main Basic has loaded you will hear a warning beep and see a message saying "Stop the Tape". STOP your recorder - there will be a short pause while SD1 decodes the Speedlock Basic, then the message "Start Address of Code = *****" will appear. This is the E.A. (R.USR number) of the converted program - this is not needed for a TAPE backup. NOTE:- You may sometimes see the message:- "Decoding Error - Press ENTER". If this happens, rewind your Speedlock tape to its start, press ENTER, then PLAY to try again. If the error reoccurs, try again using a slightly different volume, if it still happens, assume the program isn't Speedlock, or SD1 can't convert it. The Menu available is:- Key Function --- -------- "l" - start loading a NEW Speedlock program. "t" - Save Basic loader for TAPE use. "n" - Next stage; loading pulsing parts. BREAK - Performs a reset or NEW. Now, if you wish to go back to the start, simply press the "l" key, otherwise place a new tape into your recorder, start recording, and press the "t" key to save a Basic Loader for your tape backup. ENSURE you Press RECORD and PLAY on your recorder BEFORE pressing "t" , since pressing a key saves out to tape immediately. On pressing the "t" (tape) key, you will save a Basic program that will load in the rest of the program's machine code i.e. a Basic Loader. This will contain the equivalent of LOAD"a"CODE for your tape backup. Having now saved a program to tape, we go on to the next section:- Haying saved out to tape, replace the Speedlock tape in your recorder, and press the "n" key. This will show the FINAL Menu, i.e.:- (1) Save Code (Tape to Tape) (5) Start Game. BREAK = NEW NOTE:- This is the Menu available AFTER all pulsing sections have been loaded. Start loading all the pulsing sections by pressing ENTER, followed by PLAY on your recorder. Wait until SD1 has loaded in ALL the program - this is shown by the border going YELLOW. If the screen display is corrupted, this indicates a loading error - this seans you most NEW the Spectrum (press BREAK) and reload SD1. The keys available now are as described above i.e. (1), (5) or BREAK. Replace your saving tape into your recorder and set ready to record. To make your tape backup, press RECORD and PLAY, followed by key (1). Wait until the program has been saved (border YELLOW). For tape backups the process is now complete. The program reloads with the usual LOAD "" ENTER command. When the program has loaded, (screen loaded), Press ENTER to start the game. NOTE:- SD1 always saves 2 blocks of code with normal headers, followed by a single headerless block. The last block is used for tape backups only and is in fact the screen display. NOTE:- After saving, you can either reset (clear) the Spectrum by pressing BREAK, or play the game by pressing key (5). (2). MAKING BACKUPS OF NEW TYPE SPEEDLOCK PROGRAMS. --------------------------------------------------- NOTE:- Again, SD1 may be loaded in 48K Mode OR 128K Mode (if available). The advantage being that using 128K Mode will retain any special sound effects and music which certain games show when loaded in 128K Mode. Press key "2" at the opening SD1 Menu, and proceed as for the "old" method, the only difference being that after pressing ENTER to load the final block you will hear the random musical "beeps". An example of this new type Speedlock is "WIZBALL". PLEASE NOTE:- SD1 when used in conjunction with SD2 (see later) CAN now copy programs with multiple loading blocks such as "OUTRUN". For the very latest multi-load Speedlock programs, SD2 alone can be used. "SPEEDLOCK DECODER SD2" INSTRUCTIONS ------------------------------------ INTRODUCTION. ------------- SD2 is our latest addition to SC6 and provides an easy means of copying the LATEST Speedlock programs, INCLUDING the multi-load types. NOTE:- SD2 produces a NORMAL speed copy of these programs, but the slight increase in loading times is more than offset by the reliabilty of loading obtained. As mentioned earlier, the Speedlock system is used by many software houses, among them Ocean, US Gold, and Imagine to name but a few. SD2 must be uses for the newer Speedlock programs, the older ones can be copied using SD1. HOW TO IDENTIFY THE LATEST SPEEDLOCK PROGRAMS. ---------------------------------------------- The latest Speedlock progress are indicated by having a long Basic Loader, followed by a short block with RED/BLACK leader stripes then BLUE/BLACK data stripes. This is followed by a similar sligntly longer block which loads the screen picture. The rest of the code then loads with an on screen counter down to zero. NOTE:- SD2 will only copy those latest programs which contain ONE ONLY initial long Basic Loader. Thus, for example, to copy an older program like "OUTRUN", the main parts would be copied using SD1, and the multi-loading blocks then copied using SD2, which CAN copy them separately. COPYING A SPEEDLOCK PROGRAM USING SD2. -------------------------------------- We will use "AFTERBURNER" as an example. The first step is to reset the Spectrum then load the "Slockldr" program supplied on the SC6 tape:- For the 48K Spectrum:- Type LOAD "" then press ENTER and PLAY in the program. For the 128K Spectrum:- Select 48K Basic; proceed as for the 48K Spectrum. When loaded, the message "Name?" appears - enter a name of upto 10 letters and press ENTER. This is the name to reload the program. The usual message "Start Tape than press any Key" appears. Put a new tape in your recorder, press REC and PLAY then any key and save the program to tape. Reset the Spectrum. Next, load the SD2 program as for the "Slockldr" method. The program loads and runs showing the message "Play the Tape". Remove the saving tape, insert the Afterburner tape rewound to the start ard PLAY it. When the long Basic first part has loaded, the border will flash and click as the program decodes the Speedlock - leave the tape PLAYing. When the main bulk of the tape has loaded (counter usually =0 at start of multiblocks) loading stops. Insert the saving tape, start recording and press ENTER - 3 blocks of code will be saved to tape after which the program will run as it normally would at that point. We now need to copy the following multi-load blocks. This is done using the "Levelcopy" program on the SC6 tape. Load it as described above. When loaded there is just a black screen! This was necessary to save memory. Reinsert game tape. The following keys are available at this point:- Keys 1 to 5 = LOAD a block at various speeds (1=normal speed; 5=fastest). Keys q to t = SAVE a block at various speeds (q=normal speed; t=fastest). e.g. "2" = LOAD a block at usual speed for multi-load blocks - faster than normal. "w" = SAVE a block at usual speed for multi-load blocks. Thus, if for any reason you wish to save a block at normal speed, press key "q". The code could then be inspected etc. To load the first multi-block, press "2" then PLAY on your recorder. NOTE:- The first part to load is the one byte "blip" leader - be ready to stop the tape IMMEDIATELY. When loaded, a few lines appear on the screen, and the border goes BLUE. Insert your saving tape, press REC and PLAY then "w" to save to tape. Reinsert your game tape, and repeat - press "2" and PLAY until the rest of the block has loaded. Then save to your saving tape by pressing REC and PLAY then key "w". Repeat the procedure for all other multi-load blocks. The complete program reloads in the usual way, using the LOAD "" command then press ENTER. To copy, say, "OUTRUN"; use the same method, but use SD1 to obtain the copy up to the start of the multi-load blocks. "Levelcopy" is then used to copy these as shown above. NOTE:- Of course, if no multi-blocks are present, the procedure is completed usually when the screen counter reaches zero. Using a similar procedure, most of the latest Speedlock games may be copied. "COPYING ALKATRAZ PROGRAMS" --------------------------- INTRODUCTION. ------------- Another popular form of protection system which has recently been evolved is the ALKATRAZ PROTECTION SYSTEM. It is used by software houses such as Ocean, US Gold, The Edge and Capcom. Its presence is indicated by a loading sequence which has no changing border colours; a screen display which loads in an unusual way (often loading from the outside in); and a 3 digit counter which reduces to zero. To confirm, proceed thus:- For the 48K Spectrum:- Reset, then type MERGE "" then press ENTER and PLAY the tape. For the 128K Spectrum:- Reset, select 48K Basic and proceed as for the 48K Spectrum. Now, type LIST and press ENTER. You should see the message "ALATRAZ PROTECTION SYSTEM". Since these programs are now so widespread, we give below detailed instructions on how to use SC6 to copy these programs - this was dealt with briefly in the section on SC6(c) Please note that these programs are VERY sensitive to loading volume changes. Thus, it is a good idea to ensure before trying to copy these progress, that the correct volume has peen selected to load the original! PROCEDURE FOR COPYING ALKATRAZ PROGRAMS. ---------------------------------------- Most Alkatraz programs have the following structure:- Basic : Short fast Block : Gap (approx 10sec) : Long Fast Block : Short fast block Some programs have 1 or 2 Basic parts; earlier programs do not have the last block. We will use as an exasple "THUNDER BLADE". Firstly, we must copy the first (Basic) part using SC6(a) - see earlier. To copy the rest, RESET and then load SC6(c) as described earlier. With the game tape positioned AFTER the Basic part measure the Baud Rate thus:- PLAY the game tape till just AFTER the leader. Stop the tape. Press "m" then PLAY the game tape. The baud rate will then be measured and the screen will go RED. Press "c" to clear the screen back to Blue. Rewind the game tape until it is again just after the Basic part. PLAY it, and WHEN YOU HEAR THE LEADER, press "l" to load. When loading is complete, insert your saving tape, start recording and press "s" to save. When saving is complete, leave a gap on the tape of roughly equal length to that on the original - this gives the program time to decode the game code. Press "c" to clear the screen. Position the game tape near the end of the gap. Press "l" to load, then PLAY the tape. The copier will load the short leader and then the code. NOTE:- No problems should occur when copying ORIGINAL programs. However, if the program is itself a copy, or it is very old, the copier (which is VERY sensitive at this point) MAY pick up any "glitches" on the tape. This is overcome as stated earlier under the SC6(c) method. After loading, press "s" to save. To load the last part of the game, which is the final code block, press "c" to clear the screen. Insert the game tape, PLAY it, and WHEN YOU HEAR THE LEADER, press "l" to load. When loading is complete, press "s" to save to the saving tape. Other COMPLETE Alkatraz games can be similarly copied. COPYING 128K PROGRAMS --------------------- The basic method is the same when using SC6 and SC6(b). However, since the 128K Spectrum has such a large amount of memory, it becomes more important than ever to determine accurately the structure of any program we wish to copy; particularly with regard to block lengths. This is where the Header Reader and Headerless Block Length Reader programs come in. For full instructions in their use, see later. We shall illustrate their use in a general method of copying 128K programs using the following program as an illustration:- Daley Thompson's Supertest 128K. -------------------------------- We have found the best method of copying 128K programs is to first make a list of the various Basic programs, and code blocks, together with their lengths. In the case of DTST, PLAY the tape, noting which are Basic programs and which are Code blocks - Headerless or otherwise. Next, use the Header Reader program to determine the lengths of the Basic parts and code blocks with Headers; use the Headerless Block Length Reader for those blocks without Headers. Thus, for DTST, we find:- Tape Count Type ---------- ---- 5 - 7 Basic 8 - 10 Basic 11 - 14 Basic 15 - 26 Basic 27 - 51 Headerless 52 - 76 Headerless 77 - 104 Headerless 105 - 129 Headerless 130 - 161 Headerless 162 - 193 Headerless 194 - 226 Headerless 227 - 242 Headerless We must now determine the lengths of these various blocks. For the Basic programs we can use the Header Reader program provided (we could also use the integral Header Reader in SC6(a), but HReader will give more information). Follow the loading instructions (see later), load the Header Reader and PLAY in the DTST tape. Note the length of each Basic program. Next, load the Headerless Block Length Reader and note the length of each Headerless Block. We find:- Block No. Tape Count Type Length --------- ---------- ---- ------ 1 5 - 7 Basic 128 2 8 - 10 Basic 240 3 11 - 14 Basic 240 4 15 - 26 Basic 6912 5 27 - 51 Headerless 16384 6 52 - 76 Headerless 16384 7 77 - 104 Headerless 16384 8 105 - 129 Headerless 16384 9 130 - 161 Headerless 16384 10 162 - 193 Headerless 16384 11 194 - 226 Headerless 16384 12 227 - 242 Headerless 5888 Remember, SC6(a) can only copy blocks upto arouno 42000 bytes long. We COULD use SC6(b), but SC6(a) is much easier. We can see that the first SIX blocks add up to 40356 (including 4X17 bytes for the Headers) i.e. we can copy the first 6 blocks using SC6(a) in the usual way. Similarly, blocks 7 and 8 total 32768; use SC6(a) for these. Blocks 9 and 10 total 32768; copy these with SC6(a). Blocks 11 & 12 total 22272; copy these with SC6(a). A similar method can be used for other 128K games. Also, SC6(c) can be used for fast loaders and VERY long blocks. HEADER READER ------------- INSTRUCTIONS FOR USE. ===================== LOADINS:- --------- For the 48K Spectrum:- Type LOAD "", press ENTER, and PLAY in the program. For the 128K Spectrums:- Select 48K Basic from the Menu - proceed as for the 48K above. USING:- ------- The HEADER READER will read the data from the header section at the start of each data block in a program. It will display details such as:- FILENAME:- The program name. This may sometimes be printed vertically due to the presence of certain control codes in the header e.g. CHR$(13), etc. PROGRAM TYPE:- i.e. Basic, Machine Code, SCREEN$, Numeric Array, Character Array, etc. PROGRAM LENGTH:- The HEADER READER will give, for a Basic program, the total program length (Basic program lengths + Variables), and the normal program length. It will also give the length of a machine code block. START ADDRESS:- For a machine code block, this is the start of the block in memory. AUTO-RUN LINE NUMBER:- For Basic programs only. To obtain this information, load the HEADER READER as described above, then load your desired cassette and press "PLAY". For each header, the screen will clear, and the data read will be displayed. It is usually best to "STOP" the tape when each header is read, so that the data can be written down. Press "PLAY" to continue. Repeat until no more data loads i.e. the program has finished. This can then be repeated with any other tape you wish to investigate. We recommend you use the HEADER READER before copying a program, since this will tell you how many data blocks you must copy and hence, when the program has ended. NOTE:- DO NOT PRESS "BREAK" AT ANY TIME - THIS WILL RESET THE COMPUTER. HEADERLESS BLOCK LENGTH READER ------------------------------ INSTRUCTIONS FOR USE. ===================== To load:- For the 48K Spectrum:- Type LOAD "", press ENTER then PLAY in the program. For the 128K Spectrums:- Select 48K Basic from the Menu - proceed as for the 48K above. The program will load and then auto-run. The program is then ready to use. To determine the length of any required Headerless Block, position your tape at the start of the block, then press "PLAY" on your recorder. The program will read in the bytes, count them, and print out the number of bytes in the block. To read in another block, press "r", then repeat as above. With these two utilities, the composition of most programs can be determined (except fast loaders and pulsing programs).