MANUAL FOR LERM TAPE COPIER 7. (TC7) ------------------------------------ PURPOSE OF THE PROGRAM ---------------------- TC7 is designed to cope with programs with (i) very long parts, (ii) programs with HIGH SPEED loaders, and (iii) those with a "JERKY" tone leader. IT IS VERY IMPORTANT FOR YOU TO FOLLOW THE HINTS IN THE SECTION CALLED "HELPFUL HINTS" WHICH APPEARS AT THE END OF THIS MANUAL. This is because high speed and jerky loaders are far more sensitive than "normal" programs. 1. LOADING IN TC7 ----------------- Follow the instructions in the introductory section. 2. MENU ------- After loading is complete the screen will go black, and you will be given a simple MENU of options. They are summarized below. KEY PURPOSE ----------------------------------------------------- l Loads in normal header and bytes h Loads in headerless programs. s Saves what has been loaded in using l and h. c Counts bytes Q Quit - does a "new". B Enters the B mode that manages very long program parts, and fast loaders. J Enters the J mode that copies jerky program parts. ---------------------------------------------------- Note that the "l" and "h" only copy "normal" speed program parts, to a maximum length of 38590 bytes. THE PROGRAM AT THIS STAGE WILL ONLY COPY A SINGLE PROGRAM PART (TH TB) OR SINGLE HEADERLESS BLOCK (TB) AT A TIME, unlike TC6 which manages them continuously. Thus you could use TC6 for the first few blocks of code, leaving TC7 "B" and "J" modes for the more difficult blocks. 3. HOW TO COPY A PROGRAM ------------------------ a. Having loaded in TC7 rewind the program you want to copy to its start. b. Press "l" on the Spectrum and play on your recorder. Make sure that the volume setting on your recorder is set to the same level as "usual" to load in that program. c. After loading the first program part (TH TB), stop the recorder. Put a clean tape into your recorder,and having altered the tape leads as usual, then press record. Then press "s" on your Spectrum. To make a second copy onto another tape simply press "s" again. d. After this the program may be "normal" with headers and bytes, or the program parts could be "headerless". To copy them use "l" to load in "normal" parts, and "h" to load in "headerless" parts. (If you are not certain then simply use "h") Again after loading repeat step c. e. Repeat d until you come to a block of code that has either (i) a jerky leader (ii) a fast loader (you can tell this because the width of the yellow/blue lines becomes narrower and the pitch higher). (iii) a block that is very long (more than the approx 38k that this mode can deal with). (iv) a block with a very short tone leader For these blocks you will have to use the "B" or "J" modes outlined later. For type (i) you will need the "J" mode, and types (ii) to (iv) the "B" mode. 4. THE COUNT OPTION ------------------- This option allows you to count the number of bytes in a block of code. It works for high speed blocks as well, but not those with a jerky leader. To use it (i) rewind the tape to the start of the block you want to measure the length of. (ii) press play on your recorder, and "c" on the Spectrum. The BORDER colour for the tone leader and for the bytes will NOT be the same as usual. After the block has been played in the length of bytes will be displayed on the screen. NOTE: If you then enter the "B" mode, this length is transfered to the "B" program, which itself has its own counter. This saves you time as you can measure the length just the once. e.g. a program has a long block and you are not sure whether or not the "h" option can cope with it. You measure its length using "c" and if under 38k you use "h". If it is longer, you enter the "B" mode, but don't need to measure its length again. ALSO NOTE that it is often very important for you to know the length of a block before entering the "B" option as there are different keys used for loading in the bytes depending upon the length of the block. This is thus an important option. 5. Q for QUIT ------------- You can get the program to NEW itself by entering CAPITAL "Q". 6. FALSE HEADERS ---------------- Note that "l" doesn't load in false headers. This is easily overcome however as you may copy each block under "h" separately. e.g. T H T B This has a normal header and bytes (could be basic, code, or an array). The "l" key will load in both blocks. e.g. T F T B This has a false header (i.e. the header may be saying load in 100 bytes, but in fact it loads in a different number of bytes). To copy this use "h" but you will have to copy each block separately in turn. All programs must have the first program part as "proper" code with no false headers, high speed loading, etc. Thus the "l" key will always be able to load in the first program part. 7. HOW TO ENTER THE "B" and "J" MODES ------------------------------------- To do this press CAPITAL "J" or CAPITAL "B". The border will go red, and the screen give you a simple message. It will tell you to press any key to continue, and the "B" and "J" modes HAVE NO INSTRUCTIONS, AND YOU MUST REFER TO THE MANUAL. This is to cut down the size of the program to a minimum. NOTE: YOU WILL FIND THE "J" AND "B" MODES USUALLY DISPLACE THE SCREEN PICTURE BY ONE PRINT SQUARE TO THE RIGHT. THIS IS NOT AN ERROR. HOWEVER WITH THAT EXCEPTION, THE PICTURE SHOULD BE NORMAL. If it isn't then try loading again using a different volume setting (or perhaps you chose the wrong loading key ?). When the border has gone red then press the SPACE key. In fact you could press others, as is implied on the screen, but it is possible to accidentally enter one of the programs other options if you hold down the key for too long. THE SCREEN WILL BE BLACK, and the BORDER YELLOW. If this fails then try again. NOTE THAT THE "b" KEY IN BOTH THE "J" AND "B" MODE PROGRAMS USES MEMORY THAT IS SET ASIDE FOR TAKING IN BYTES. THE "b" KEY IS USED FOR MEASURING, AND THUS IT SHOULDN'T BE USED IF YOU ARE GOING TO DO ANY MORE SAVING, AS THE COPY COULD CONTAIN CORRUPTED BYTES. Also note that if the block is very long, the "b" measurer can be overwritten by the program you are loading in, rendering the key useless. 8. The "J" MODE (see stage 14 and beyond for "B" mode) --------------- This mode manages those jerky tone leaders. We warn you they are not easy to manage - look at the "HELPFUL HINTS" section of the manual. The menu (NOT shown on the screen) is as follows: Key Purpose ------------------------------------------------------- b Measures the "jerk". Border MAGENTA after use. l One of the 2 loading in keys. m The other loading in key. s Save key. 0 Saves but with normal tone leader at normal speed (for micro, wafa, and disc drive transfer). This is the number zero NOT the letter "o". a Abort. Does a Clear screen. Makes border yellow q Quit - program NEW's itself. ------------------------------------------------------- Be sure to set the volume on your recorder to the level usually used for your program. 9. WHAT TO DO FIRST ------------------- You must first measure the jerk using the "b" key. To do this (i) Rewind your tape to the start of a jerky tone. Press play on your recorder, and then tap the "b" key while the "jerky" part is being played into the computer. The border will be thick red/cyan in colour. DO NOT STOP THE TAPE UNTIL THE FULL JERK HAS BEEN PLAYED AND SOME OF THE BYTES HAVE ALSO BEEN PLAYED. (ii) After this stop the tape, and tap the SPACE KEY. The border will change to MAGENTA. It is not necessary in fact to play in the full jerk, you could start pressing play on your recorder say half way through. What is important is to keep playing to get the jerky measurer to also receive some bytes. You can remeasure the jerk by repeating the above if you make a mistake. Programs we have met so far have the same jerk for every block. Note: if you want simply to convert to a normal tone at normal speed then you can omit this step altogether. 10. LOADING IN A JERKY PART --------------------------- There are 2 keys. "l" and "m". The older programs usually use "l" and the more recent "m". To decide which to use (i) Rewind the tape to the block of code where the screen string is made. (ii) Press play on your recorder, and the "l" on your Spectrum. Wait until the picture has appeared. If the colour attributes are correct then the "l" key was correct. (iii) If the colours weren't correct from (ii) then it must have been "m" instead. Thus by testing the screen picture you can decide which key is required. The volume control on your recorder must be correctly set. 11. SAVING ---------- This is simple. Place a clean tape into your recorder, and then, having pressed record, tap the "a" key to save it with a jerk, or (for drive transfer), the 0 key. Repeat copies are possible by pressing the appropriate key, and you could save with "s" then "0" if you wish. 12. THE "a" (abort) KEY ----------------------- By tapping this key it is possible to effect a CLEAR SCREEN making the paper black, and ink white, returning to step 8. It doesn't affect the jerky measurer. Under certain special circumstances it can cause a crash, and should not be used if the Spectrum has some of the program you still need to copy within its memory. 13. OTHER POINTS TO NOTE ------------------------ a. By tapping the SPACE key during a load or save you can stop the program working and return to the menu status. e.g. during saving your tape runs out so tap the space key, and after placing a longer tape into your recorder, press "s" or "0" to save again. b. Tapping the "q" key the program NEW's itself. 14. THE "B" MODE ---------------- This program allows you to copy high speed loaders, short tone leaders, and very long programs, including most of those that check the screen picture. It is thus quite complex and will take some getting used to - sorry but the diversity of programs makes this necessary. This is the menu of options. Key Purpose --------------------------------------------------------- l LOAD blocks to up approx 48300 bytes. m LOAD in blocks between 48300 and 50k. r LOADS in blocks over 50k. j LOADS in blocks, however it copes when "r" fails. (normal speed only) 3 LOADS in long blocks that start at the screen. (normal speed only) s SAVE blocks. p Special SAVE (used after c) 0 Saves at normal speed with a normal tone leader. (this is key number zero, not the letter "o") Makes border green. c COUNTS the length of bytes - used with r,j,l, and "3" LOADING options above. Makes border Magenta. b Measure the BAUD rate. Border RED after use. q Quit - does a NEW. a Abort - does a Clear screen. Makes border yellow. --------------------------------------------------------- NOTE: After using "j" and "3" options to load in and then save, the program NEW's itself. 15. WHAT TO DO FIRST - USING THE "b" BAUD RATE MEASURE ------------------------------------------------------ The BAUD RATE (speed of loading/saving) is set up initially as "normal" for the Spectrum when you first enter this mode. You MUST use the BAUD RATE measurer before doing anything else, including the "c" for COUNT option if the block is at "none standard" speed. To use this: a. Rewind your tape to the start of the block you are wanting to copy. Press play, and let the TONE LEADER pass through. b. When bytes are going through (NOT TONE LEADER), simply tap the "b" key. Try to find a nice "noisy" section of the bytes, not one with a pitch of the same level. e.g. when saving a screen picture frequently there are say 200 bytes all the same thus producing a sound of a single pitch level. Thus you get a "smooth" sound, and the yellow/cyan bands would be the same width. We want a mixed up (or noisy) section where a mixture of bytes is being played. Thus try to tap the "b" key during a "noisy" part. If you are not happy that you found an appropriate part, then repeat step b again. AFTER USE THE BORDER WILL GO RED. NOTE: Some programs have different BAUD RATES for each block, so before using one of the load keys you will have to test the baud rate using "b" first. If the program has the same rate for each block then you will only need to use "b" once. Finally you can test to see if it has measured the baud rate correctly if the program has a screen string. Simply try loading it in, using the "l" option, and if the picture together with the colour attributes are correct (but displaced by one print square to the right), then you know that the setting was correct. 16. EXPLANATION OF THE LOADING OPTIONS -------------------------------------- The problem is that in addition to the loading speed (or BAUD RATE), blocks can be very logn. To overcome this problem we have options that corrupt the screen picture. Some programs however check the picture to see that it is correct. Others have parts longer than the total memory of 48k. a. The "l" key. Loads in blocks up to approx 48300 bytes in length. Screen picture will be displaced by a print square. No corruption occurs when copied. This is your main loading in option and should be used provided the block is under 48300 bytes long. b. The "m" key. Loads in blocks between approx 48300 bytes and 50k. Screen picture will be distorted, and the copy that is made will have a corrupted screen picture. The copy will still run as normal provided that it doesn't check the picture. As the first 1k or so bytes that are saved out are all the same, then it looks as if the program is saving an extra set of bytes. Try this option first if the length is in the range 48.3 to 50k. This option is your first line of attack for blocks exceeding 48.3k. THE REMAINING OPTIONS REQUIRE YOU TO HAVE USED THE "c" (COUNT) OPTION FIRST. REMEMBER THAT THIS COUNT CAN TAKE PLACE BEFORE OR AFTER ENTERING THE "B" MODE. THESE OPTIONS ARE NOT NEEDED VERY OFTEN. c. The "r" key. Loads in programs longer than the "m" key can cope with, but again there is SCREEN CORRUPTION.(e.g. the program Million****). d. The "j" key. This is for blocks that load at normal speed, that are over 48.3k long, but DON'T START by loading into the screen. The screen picture ISN'T corrupted. e.g. SUPERCHESS ***. This has a block over 65000 bytes long. During loading it infact waits some considerable time, then it starts loading in a screen string. Use "j" key to load in this block, remembering that the program will crash after saving is complete. e. The "3" key This is the same as "j" except that the block STARTS loading into the screen FIRST (i.e. starts loading to 16384). Again the block should be over 48.3k long, at normal speed, and the copy that is made hasn't any screen corruption. SUMMARY: Thus you will have to find out the length of the block using "c" option, and select your loading key depending upon its length, whether it loads at normal speed or not, and whether or not the program checks the bytes. You may have noticed that we seem to have left something out. What about programs that are fast loaders but they also check the block for corruption (the "j" and "3" keys are for normal speed loaders only). For these we have another way around the problem - see the "p" special option later. 17. LOADING ----------- Rewind the tape to the start of the block you are trying to copy. Press play and the appropriate loading key. After loading stop the tape. 18. SAVING (i) The "s" key. (normal saving) Place your fresh tape into the recorder, press RECORD, and then the "s" key on your Spectrum. It will be saved out the same speed as loaded. Pressing "s" will allow repeat savings, except when using the "j" and "3" options as mentioned previously. (ii) The "0" key. (converts for drive transfer) If you have a high speed loader and want to convert it to normal for drive transfer then press key "0" (the number zero) before pressing "s". UNLIKE this option in the jerky copier it alters the saving setting to the "normal" speed. Thus if you want to do both tape to tape and a drive conversion copy, save under "s" the first time, then press "0" and the "s" for the second. To summarise: press "0" sets the saving to "normal" speed. To reset to other speeds you will have to use the "b" key again. (iii) The "p" key. (used with "c" and "l") If you have a high speed block too long for "l", but it checks the block to see if corruption has occured so you can't use "m", then you: a. Measure its length using "c" b. Load it in using "l". c. Save it using "p". Note that the count "c" could have been made from either step 2 or from within the "b" mode, explained in step 19 below. e.g. Doomsdark R****** Has a high speed loader with a very long part (over 41.7k, but it checks the block). 19. THE "c" KEY FOR COUNTING ---------------------------- This works exactly the same as the "c" key you have when TC7 has been loaded in at step 2. You simply press "c" having pressed play on your recorder, however it doesn't give the bytes count on the screen. 20. THE "q" KEY --------------- Pressing "q" gets the program to NEW itself. 21. THE "a" KEY --------------- This clears the screen and resets the baud rate - i.e. it sets everything to the same position as it was when you pressed capital "B" to enter this mode. 22. HELPFUL HINTS ----------------- Trying to make a BACK-UP copy of jerky leaders and fast speed loaders is tricky because it makes everything much more critical. Here are some general hints, but you will have to EXPERIMENT with YOUR EQUIPMENT. Usually your copy will load, it is a question of finding out the correct volume level. (i) You must have a decent recorder (preferably one without an automatic volume control when saving). The heads must be clean, and in alignment. Your tape must be high quality, and your original in a fit enough state. If it loads in only one time in four, the chances are you will need at least 4 attempts to load it in succesfully !! (ii) Load it into the copier at the volume level you would normally use for the program. (iii) It is highly likely tht the copy you have made will be saved at a HIGHER level than the original. As jerky/fast loaders are VERY VOLUME SENSITIVE, it is HIGHLY LIKELY that you will have to experiment to see what volume your copy will load in at. We generally thus advise that: a. FOR HIGH SPEED PROGRAMS: You try to load in at a reduced volume (say 20% less than usual). When you find the correct volume NOTE IT DOWN ON YOUR TAPE, so that in future you will not have to make several attempts to get it to load. b. FOR JERKY TONE LEADERS: The same as for high speed programs but even lower (perhaps 20-50%). In fact set the volume JUST HIGHER than the MINIMUM you can use for it to accept the jerky tone. i.e. as low as possible. c. If a screen string is corrupted (NOT merely displaced) there is no point in going any further. Stop the tape and try loading at a different volume level. d. Because the copy is made at a higher level it might be that you can load in the copy with a much smaller range of volume settings. We have found, particularly with the JERKY types, that it is possible to load in some copies more reliably by placing a lead into the "ear" socket of the recorder, while placing the other end into the "mic" on your Spectrum (rather than "ear"). This works because both "mic" and "ear" can be used for loading, but "mic" requires a higher volume. Thus depending on your equipment, this ear to mic method may allow you a wider range of volume settings. Sorry but you will have to experiment. High speed/jerky loads have caused many problems, as many have found them difficult to load, and so the copy may be equally difficult, or easier to load. The returns rate has been known to be very high. Some tapes will load on one cassette but not on another. (iv)We have sometimes found that it is only one part of the copy that is wrong. e.g. Suppose the program has this structure T H T B T J T J T J Block 1 2 3 4 5 The copy loads in but crashes at the end of block 3. However, upon loading the copy, but stopping at the end of block 2, loading FROM THE ORIGINAL its block 3, and then going back to the copy for blocks 4 and 5, the program then ran as normal. Thus it is clear that only block 3 was wrongly copied, and it is thus necessary to remake that part. (v) Completely fresh tape is always the best to use. If you have previously used the tape, and are copying over it, then your recorder has to erase first, and then save. Sometimes the erase head isn't all that efficient, and thus there is still some background noise. (vi) Do be patient. Managing these programs isn't easy, and don't expect TC7 to manage all programs. It can't. PLEASE DON'T ASK US HOW TO COPY AND/OR TRANSFER INDIVIDUAL PROGRAMS - WE CAN ONLY GIVE ADVICE ON THE USE OF THE PACKAGE This must be strictly observed. TC7-1