"SUPERCOPIER SC3" ----------------- INSTRUCTIONS FOR USE -------------------- NOTE:- SUPERCOPIER SC3 IS SUPPLIED TO ENABLE YOU TO MAKE YOUR ESSENTIAL SECURITY BACKUP COPIES OF YOUR OWN SOFTWARE. IT IS ILLEGAL TO USE IT TO MAKE COPIES TO SELL OR OTHERWISE DISTRIBUTE - THIS IS PIRACY; AND WE DO NOT CONDONE PIRACY. General Information. ==================== Technical Details. ------------------ Here, we shall try to 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 - this is called a LEADER (L), and is around 5sec, in length for a HEADER, but only 2sec. for a CODE BLOCK. (These will be explained shortly). After, comes a burst of BLUE/YELLOW NARROWER STRIPES - these are BYTES (B) i.e. bits of code. This, for a typical BASIC program you get:- HEADER (TIME GAP) CODE BLOCK ------ ---------- L----B L----B ^ ^ ^ ^ 5secs. Very short 2secs. 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 } Give 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 + 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 SC3, its INTEGRAL HEADER READER will give the above information, e.g.:- BASNAME 0------580------1------490 ^ ^ ^ ^ ^ Program Type Length Auto Length Name (Basic) + Run (Program Variables Line only) No. CODENAME 3------32768--------32768------32768 ^ ^ ^ ^ ^ 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 one having ONE leader of 5sec. - the rest will be 2sec. Some programs contain FALSE HEADERS. These are blocks of code 17 bytes long but with illegal character types. They are usually put in to try and crash the copier. However, SC3 ignores these - they are shown by the presence of question marks:- ????? Also, there are different types of LEADERS now used e.g. VERY SHORT, WIDE, NARROW, etc - SC3 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 SC3(b) must be used for these. GENERAL METHODS OF BACKING UP PROGRAMS. ======================================= The MAJORITY of "ordinary" programs can be copied with SC3 easily in one operation. Exceptions arise when:- (1) The TOTAL PROGRAM LENGTH is longer than about 41500 bytes - here SC3 can be used for, say, 2 operations. (2) Any block is a FAST LOADING block, or any single block is longer than 41500 bytes. In these cases, SC3 (b) must be used. However, PELASE BE PATIENT! Don't try and back-up your lastest program first - since they are likely to be the best protected and will need patience and experimentation. Please try first on your "simpler" programs, then use your experience thus gained to eventually tackle the more difficult ones. TO LOAD SC3:- ------------- TYPE:- LOAD""CODE (ENTER). For the 128K Spectrum - select 128K Basic, type load""code - press ENTER. The program will load and then auto-run, giving a series of prompting messages. NOTE:- The messages refer to:- THE SOURCE TAPE - this is the tape you wish to back-up. THE OBJECT TAPE - this is the new tape onto which the back-up will be placed. The first screen shown in the MAIN LOADING SCREEN. This shows your LOADING INSTRUCTIONS. The following keys are relevant overall in SC3:- FOR LOADING:- ------------- "l" = Normal load. "u" = Looks for usual leaders. "N" = NEW - resets the computer - erases SC3. "w" = Loads wide leaders. "s" = Loads short leaders. FOR SAVING:- ------------ "c" = To make a back-up copy. "p" = PAUSE between blocks. "w" = Gives a copy with a wide leader. "a" = Go to MAIN LOADING SCREEN (no save). Assuming that the exceptions (1) and/or (2) above don't apply, the procedure for making your back-up copy is as follows:- TO BACK-UP MOST PROGRAMS. ========================= (1). Insert the tape you wish to copy (the SOURCE tape) into your recorder. (2). Press PLAY, then key "u" on the Spectrum. (3). When loading is completed, press "BREAK", and stop your recorder. (4). The prompting message then asks:- "ANY MORE LOADS?" If YES, press "y", then start your recorder playing again. If NO, press "n" and the SAVING INSTRUCTIONS will be displayed. (5). To make a back-up copy, put your new (OBJECT) tape into your recorder and press REC + PLAY. (6). Press "c" on your Spectrum, when the program will be saved out to tape. NOTE:- Pressing "a" returns to the initial MAIN LOADING SCREEN i.e. back to step (2). (7). After the program has been saved, stop your recorder. The prompting message asks:- "ANY MORE COPIES?" For another copy, press "y" for YES - this returns you to step (5). Pressing "n" for NO returns you to step (1) - the main loading screen. N.B. Whilst at step (1), pressing "N" (capital), gives a system reset i.e. clears the computer. EXTRA FEATURES ============== SC3 has other extra useful features as listed below:- (a) If, during LOADING, you press "BREAK", loading is stopped and the program gies to step (4). Now, you can SAVE what has been loaded, or load more blocks. (b) If, during SAVING, you press "BREAK", saving is stopped and the program goes to step (7). NOTE:- If you have loaded in SC3 (to copy itself), pressing "c" returns to step (1), since SC3 WILL NOT COPY ITSELF! (c) While at step (5) - part of the displayed message is:- No. Blocks = 4 This is the number of program BLOCKS (defined earlier), stored in memory at this time. e.g. if you have 6 blocks in memory, and you only want to save the first 4, pressing "d" for DELETE, twice, will remove the last two blocks (the number will reduce to 4). Then, saving will only save the first 4 blocks. Deleting all the blocks will return you to step (1). (d) Some programs have a pause between sections i.e. adventures, when a new game can be loaded, etc. This pause can be inserted into your back-up as follows:- Whilst at step (6), press and HOLD DOWN the "p" key while SC3 is SAVING THE BYTES OF THE BLOCK BEFORE THE GAP TO BE INSERTED. SC3 will then wait until you release the "p" key before saving any more data i.e. any length of pause can be thus inserted. (e) Please note that SC3 now contains instructions on copying 128K programs, also a Header Reader and Headerless Block Length Reader - for full instructions see later. MORE DIFFICULT PROGRAMS. ======================== Some programs have unusual parts, i.e. non-standard leaders, long blocks, fast loading blocks etc. Remember, as long as the total program length is not greater than 41500 bytes, or no block is a fast loader - you can usually copy them with SC3. However, other unusual features can also be encountered. These are:- (1). Programs with a total length greater than 41500 bytes, or a single block greater than 41500 bytes long. SC3 warns you of these - usually the message; "CAUTION! MEMORY SHORTAGE!" is displayed. Stop loading immediately, then save what you have onto tape. The longer part can then be copied using SC3 a second time. Or, if the longer block is more than 41500 bytes long, SC3 (b) must be used. (2). Programs with fast loading blocks - again these are copied using SC3 (b). (3). Some programs have blocks with very wide band leaders. Copy all but these blocks in the usual way. To copy these, at step two, press "w" instead of "u". Then when saving, at step (6), press "w" instead of "c". (4). Some programs have blocks with very showe leaders with no time gaps between the blocks e.g.:- L------BL------BL-----B Here, L can be as short as 1/10sec! ^ ^ ^ Block 1 Block 2 Block 3 For these, copy the normal blocks as usual. For the short leader blocks, press "s" at step (2) instead of "u". When saving, press "c" at step (6). NOTE:- Problems can arise with short leaders, especially when there are TWO together, in that SC3 sometimes can misread the program i.e.:- L------BL------B ^ ^ Block 1 Block 2 Sometimes, here, BLOCK 2 can be misread. This is overcome by pressing "d" to delete the 2nd block and reloading until the 1st block has passed, then press "t" not "s" to load BLOCK 2, which can then be saved as normal. Also, when using the "l" option, since no check is made here for leaders, SC3 can misread a leader as bytes - especially when there is no time gap between the blocks. This can be recognised since, instead of the usual sequence of:- L------B L------B ^ ^ ^ ^ RED/CYAN BLUE/YELLOW RED/CYAN BLUE/YELLOW THICK NARROW THICK NARROW BANDS BANDS BANDS BANDS you will actually see:- L------B L------B ^ ^ ^ ^ RED/CYAN BLUE/YELLOW BLUE/YELLOW BLUE/YELLOW THICK NARROW THICK NARROW BANDS BANDS BANDS BANDS i.e. SC3 is misreading L as B. This is best overcome by stopping the tape and starting again wherever you notice the border becoming THICK yellow/blue bands. Remember, with the enormous variation of modern program structures available, the key to sucessful copying is PATIENCE and, unfortunately, TRIAL AND ERROR, even with a copier as advanced as SC3! Also, please remember that, as long as the total program length is not longer than 41500 bytes AND no block is a fast loader, then SC3 should copy them successfully. For other cases, SC3 (b) MUST be used. "SUPERCOPIER SC3 (b)" --------------------- INSTRUCTIONS FOR USE -------------------- INTRODUCTION. ============= SUPERCOPIER SC3 (b) will only copy ONE block at a time. Thus, you could use SC3 (b) instead of SC3, but it would be rather laborious! For example, to copy a BASIC program, you would have to copy the header and code blocks separately! SC3 (b) is especially useful for copying very long blocks which SC3 can't handle (up to around 65509 bytes), and it will also copy FAST LOADERS. Thus, it is usually best to use SC3 first to copy as much as it can, then use SC3 (b) for the difficult parts. While loading data, ignore the unusual screen patterns which appear - these are a normal part of the loading process. Unfortunately, we could NOT make this program user friendly (to save on memory) thus, please read the instructions carefully! TO LOAD SC3 (b):- ----------------- TYPE:- LOAD""CODE (ENTER). For the 128K Spectrum, enter 128K Basic, type load""code; press ENTER. The program will load and then auto-run - giving a GREEN screen with a BLACK border. This is the INITIAL display - the menu of options shown below is then available. You can return to the INITIAL screen at any time (except after the "d" option - when the program NEW'S itself), by pressing "q". MENU. ===== "a" = Load a block up to 48293 bytes in length. "b" = Load a block from 48294 - 49494 bytes in length. "q" = Go back to the INITIAL screen. "n" = NEW - reset (clear) the computer. "t" = Byte counter - border goes YELLOW. (Must be used before "d"). "s" = SAVE the block to tape. "d" = Load a VERY long block of up to 65509 bytes. Use "t" first to count the bytes. Press ENTER when loaded to SAVE out to tape. "0 - 9" = Alter BAUD RATE. (0=SLOW: 2=NORMAL: 5=NORMAL FAST LOADER: 9=FASTEST). Border goes MAGENTA. NOTE:- If using "t" to count the bytes - "q" resets the counter to zero. APPROXIMATE BLOCK LENGTH GUIDE. ------------------------------- At NORMAL baud rate - the following values were obtained:- LENGTH LOAD TIME TAPE COUNT ------ --------- ---------- 47000 Bytes 4 Min. 12 sec. 72 50000 Bytes 4 Min. 29 sec. 76 Thus, if the count is less than around 72 - use the "a" option. If the count is 72-76 - use the "b" option. If the count is more than 76 - use the "d" option, after using "t" first to count the bytes. For a more accurate determination of Block Length - we recommend you use the Header Reader and Headerless Block Length Reader programs (see later). GENRAL LOAD/SAVE METHOD. ======================== For a block length of less than 48293 Bytes:- (1). Insert SOURCE tape - wind to the start of the block. (2). Press PLAY, then the approproate load option, = "a" here. (For "b"; and "d" options, see below). (3). After loading, (border changes colour) - stop your recorder. Insert new (OBJECT) tape - press REC + PLAY, then "s". When the block has been saved (border changes colour), pressing "s" again gives another copy. To load another block just press which option you require. NOTE:- Screen pictures may be slightly altered. (4). For a single block 48292 - 49494 bytes long:- This covers the majority of long blocks - these usually load a picture onto the screen, and the loading takes a long time. Simply start at step (1), but press "b". (5). For blocks longer than around 49494 bytes:- For these, the count bytes opyion "t" MUST be used FIRST as follows:- Rewind the tape to the start of the long block. Press PLAY and the "t" key and play until all the block is loaded. The bytes have then been counted and the count stored in memory. Next, repeat the above, and press the "d" key to load the block. Then save, by pressing ENTER. (Start tape first!). To save another copy, press ENTER again. NOTE:- To copy a different long block, SC3(b) must be reloaded and the above procedure repeated. PROCEDURE FOR PROGRAMS WITH DIFFERENT BAUD RATES. ------------------------------------------------- The new FAST LOADERS come under this heading. The BAUD RATE for LOADING and SAVING is changed by pressing the keys 0 to 9. Where 0=slowest: 2=normal: 5=usual fast loader: 9=fastest speed. On pressing these keys, the border changes to MAGENTA. Key 2 gives NORMAL speed, whereas most fast loaders need key 5. However, this can only be determined by TRIAL and ERROR. NOTE:- Before using the "t" counter, the correct baud rate must be set. Also, if you alter the baud rate, all subsequent loads/saves will be at this same baud rate. It is changed by pressing keys 0 to 9 as detailed above. Again, please be PATIENT. With patience and experimentation, most fast loaders can be backed-up. The main point to remember is that the higher the baud rate, the more critical the tone and volume settings on your recorder will be. Se please try varying these also. Procedure. ---------- (1). Save any NORMAL speed parts with normal SC3. (2). For FAST part, (usually screen picture first), try loading in using speed 5 - then press either "a" or "b" depending on the file length (see earlier). If the loaded picture seeks O.K., save out to tape by pressing "s". If corrupted, retry using a different speed e.g. 4 or 6 until the correct picture is obtained. This is then the correct speed. Remember, it can only be achieved by trial and error! (3). When correct speed has been found, copy all other fast files in a similar manner. A few known speeds for certain programs are:- Pyjamarama = 5. Automania = 6. Kokotomi Wilf = 6. "SC3 PULSE REMOVER" ------------------- "INSTRUCTIONS FOR USE" ---------------------- General Notes. -------------- Due to the problems caused by the new "Pulsed Leader" programs - mainly loading problems (we have heard of some people taking up to 35 min. to load one of these programs!), we have decided to design our "Pulsing Leader Program" copier so that it removes the troublesome pulses, and converts the Basic Loader to reload the program with NORMAL leaders and at NORMAL speed. We realise that the copy will load more slowly, but we feel that in the long run it will still prove faster, since loading problems will be non-existent! Backing up a Pulsed Leader Program. ----------------------------------- NOTE:- This part of SC3 is only to be used for the above named Pulsing programs. Also, DO NOT PRESS THE BREAK KEY AT ANY TIME, SINCE THIS WILL EITHER CRASH OR RESET THE COMPUTER! Most Pulsed Leader (P.L.) programs consist of a Basic Loader, then a short pulsing part (which sounds like a header), then 1, 2 or 3 pulsing files. NOTE:- If there is an extra Basic part - copy this first with the normal SC3 program. Load the PULSE REMOVER by typing:- LOAD "" CODE (ENTER). For the 128K Spectrum, select 128K Basic, type load""code: press ENTER. The program will load then auto-run, giving a GREEN screen with a BLACK border. The message: "To load a NORMAL file - Press ENTER" will appear. (1). Press ENTER and load in the normal Basic part. The program name will be displayed, and the message "Basic Loader Converted" will appear, and "To save NORMAL file - Press ENTER". Place a fresh tape in your recorder, start recording, and press ENTER to save out. The message "For PULSE files - ENTER=Save/Load" then appears. (2). Press ENTER to load the next part. This is USUALLY a short pulsing part like a Header. With MOST programs, this part is not used, but IF THE BORDER GOES BLACK AND INPUT STOPS - SAVE IT!, is the rule. This, if required, save out this part by pressing ENTER. (3). Press ENTER to load in the next paart - usually the screen picture. Press ENTER to save out (start your recorder first!). NOTE:- With SOME games the "short" pulsing part will NOT be saved. With certain games, the "short" part will be saved, but is found to interfere with the screen picture (no picture appears). If this occurs, simply erase this small part from your tape - by RECording over it. This program will copy most of the latest Pulsing Leader games, some of which are:- Bruce Lee Spy Hunter Ghostbusters Beach Head Buck Rodgers Daley Thompson's Supertest Daley Thompson's Decathlon Match Day Knight's Lore - and many more! We hope you will enjoy using this copier, but remember that:- THIS COPIER IS SUPPLIED ON THE UNDERSTANDING THAT YOU USE IT ONLY TO MAKE BACK-UPS OF YOUR OWN SOFTWARE. IT IS ILLEGAL TO USE IT TO MAKE COPIES TO SELL OR OTHERWISE DISTRIBUTE! "SC3 PULSE REMOVER TWO" ----------------------- "INSTRUCTIONS FOR USE" ---------------------- General Notes. -------------- This supplementary part of SC3 is intended ONLY for use with the VERY LATEST "Pulse Leader" programs e.g. "V", "Green Beret", "Alien Highway", etc. It will provide a NORMAL speed pulse free copy which loads with total reliability. Method. ------- The latest Pulsing Leader programs consist of:- Small Basic Program - Normal File 1 Large Basic Program - Normal File 2 Short Pulsing "Header" - Pulsing File Long Pulsing Program - Pulsing File There may also be extra parts after the long Pulsing part. Firstly, load the SC3 PULSE REMOVER TWO PROGRAM using LOAD "" CODE. For the 128K Spectrum, select 128K Basic, type load""code; press ENTER. The program will load and then run giving the message: "To Load NORMAL File:- Press Enter". Next, press ENTER, then play in the program from the start. The message "1st NORMAL File Loaded" and "To save NORMAL File Press ENTER" appears. Put a frest tape in your recorder, set to record, and press ENTER - the 1st Normal File will be saved out to your tape. The message "To Load NORMAL File:- Press ENTER" appears. Press ENTER and play in the next Normal file from your program tape. AS SOON AS THE FILE HAS LOADED, STOP THE TAPE. The message "SECOND NORMAL File Converted" and "To Save NORMAL File Press ENTER" appears AFTER A SHORT PAUSE. As before, press ENTER, and the File will be saved out to your backup tape. The message "ENTER LOADS/SAVES Pulsing Files" appears. Press ENTER - the screen goes black - and play in the rest of the game tape. When the program has loaded, press key "S" to save out the rest of the program to the backup tape. As a bonus, when this has been saved, if you press the "A" key, the game will run as normal. To reload the converted backup, use the normal LOAD "" command. When loaded, press the "A" to start the game. COPYING 128K PROGRAMS --------------------- The basic method is the same when using SC2 and SC2(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 the 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 progams 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 SC3, but the new program gives 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, SC3 can only copy blocks up to around 41500 bytes long. We COULD use SC3(b), but SC3 is less complicated. We can see that the first SIX bocks add up to 40356 (including 4X17 bytes for the Headers). Thus, we can copy the first SIX blocks using SC3 in the usual way. Similarly, blocks 7 and 8 total 32768; copy these with SC3. Blocks 9 and 10 total 32768; copy these with SC3. Blocks 11 and 12 total 22272; copy these with SC3. A similar method can be used for other 128K games. Also, SC3(b) can be used for fast loaders and VERY long blocks. "HEADER READER" --------------- INSTRUCTIONS FOR USE. ===================== LOADING:- --------- To load, type LOAD "" CODE (ENTER). For the 128K Spectrum, select 128K Basic, type load""code; press ENTER. The program will load then auto-run. 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 length + 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, type:- LOAD "" (ENTER). For the 128K Spectrum, at the Initial Menu all you do is press ENTER. 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).