home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / file_trans / bbctape / !BBCTape / !Help < prev    next >
Encoding:
Text File  |  1992-08-27  |  10.5 KB  |  208 lines

  1. > <BBCTape$Dir>.!Help
  2.  
  3.                     !BBCTape - BBC to Arc file copier
  4.                     =================================
  5.  
  6. !BBCTape is an application to transfer files from a cassette-based BBC micro
  7. to an Archimedes. It may also work with a disc system (see Technical file in
  8. the !BBCTape directory), but better things exist for discs (e.g. Beebug's
  9. serial link).
  10.  
  11.   To use the program you need a serial lead to join the Arc and Beeb,
  12. appropriately wired. You can get this from e.g. Beebug for £11.50 (why is a
  13. piece of wire so expensive?) At the Beeb end the connector seems to be able
  14. to go into the socket in two different ways; mine works with the cutout in
  15. the outer metal ring at the top.
  16.  
  17.   You also need to set the baud rates and serial protocols to be the same,
  18. which they aren't by default; the program has an option to set the Arc to
  19. the Beeb default (see below).
  20.  
  21.   Note that the maximum file length you can load with this program is about
  22. 27.5 Kbytes; normally you won't have anything longer than this, but if you
  23. happen to have a large data file you'll either have to split it up, or
  24. modify the program (e.g. to use sideways RAM for extra storage).
  25.  
  26.   Note also that locked files cannot be loaded by this program; it seems,
  27. however, that comparatively few programs are locked (possibly relating to
  28. the ease with which you can copy a tape using two tape recorders!).
  29.  
  30.   When attempting to use copied programs, bear in mind that in addition to
  31. the difficulties associated with using any Beeb program on the Arc, there
  32. are two particular features of tape systems which have no analogue with
  33. discs; namely that you can have any number of files with the same name, and
  34. that you can load a file with a null name to get the next file on the tape.
  35. You may also find that some files are too long to load into 65Host, but you
  36. should be able to get them into 65Tube.
  37.                  
  38. Program Instructions
  39. ====================
  40.  
  41.   After starting the program click <menu> over the icon. The menu tree is as
  42. follows:
  43.  
  44. Misc     ⇨ Info         ⇨ Program information box
  45.            File         ⇨ File information box
  46.            Status ...     Pops up a status window
  47.            9600, 8n1      Set Arc serial port to BBC defaults
  48.            Reset          Reset program to its initial state
  49.            Clear          As reset, but also clears a file from memory
  50.  
  51. Save     ⇨ Standard save box
  52.  
  53. Options  ⇨ File type    ⇨ Set filetype (text or hex)
  54.            Load address ⇨ Set load address
  55.            Exec address ⇨ Set execution address
  56.            CR ⇨ LF        Swap carriage return and line feed
  57.            Guess type     Guess a file type
  58.            Auto load      Load several files
  59.            Fast load      Slightly faster transfer, slower wimp response
  60.            Use BGET       Load with BGET rather than OSFILE
  61.  
  62. Upload   ⇨ File name      Ask the Beeb to load a file and send it
  63.  
  64. Download   Send the loader program to the Beeb
  65.  
  66. Quit       Quit!                                                       
  67.  
  68.   The most important options are <Upload> and <Download>. The first thing to
  69. do is click on <Download>; a message* appears telling you to type "*FX 2,1"
  70. on the Beeb keyboard, and after doing this and clicking on "OK" a program is
  71. sent to the beeb - you should see it appear on the screen if the Beeb is
  72. connected to a display (this isn't necessary, but it helps). While it does
  73. this the <Upload> option is shaded. After the download finishes click on
  74. <Upload>; a message* appears telling you to press play on the tape recorder;
  75. the cassette motor light on the Beeb should come on, and the next file on
  76. the tape will be loaded. Alternatively, type a file name into the <File
  77. name> menu item, and that file will be loaded. When the load finishes a
  78. message appears; the file can then be saved by dragging the save box to a
  79. directory viewer or another application in the usual way.
  80.  
  81. * The message boxes for <Upload> and <Download> don't appear if you click
  82. with <menu> or <adjust>.
  83.  
  84.  While uploading both <Upload> and <Download> options are shaded.
  85. Downloading just shades the <Upload> option. Use <Reset> to get them back if
  86. something goes wrong. Pressing <escape> on the Beeb keyboard will stop the
  87. program at that end; if you want to re-start, press <ctrl-BREAK> before
  88. sending the loader program again. The Arc program can be quit and re-started
  89. without disturbing the Beeb, as long as you don't do it while a file is
  90. loading.
  91.  
  92.   Alternatively, click on <Auto load> and then <Upload>. Files will then be
  93. loaded and sent one after another, and automatically saved in the BBCFiles
  94. directory within the !BBCTape directory (double click on the !BBCTape
  95. directory icon with <shift> held down to see inside). Note that transferring
  96. a file over the serial link takes some time, so you will have to turn off
  97. the tape recorder when the cassette motor light goes out if you don't have
  98. automatic motor control.
  99.  
  100.   The program will always ask for confirmation before saving a file if a
  101. file of the same name already exists; this can easily  happen with a tape
  102. system, as you may have several files on a tape with the same name.
  103. If you don't confirm an overwrite while in <Auto load> mode the program
  104. will drop out of that mode, and you can then use the normal save box.
  105.  
  106.   To monitor the progress of a transfer, click on <Status ...> or click on
  107. the icon bar icon with <select>. This pops up a window which tells you
  108. whether a file is being uploaded or downloaded; the size of the file; the
  109. number of bytes transferred; the transfer rate; and the number of CRC
  110. (cyclic redundancy check) errors. If the latter is non-zero the serial link
  111. is not entirely reliable; I haven't found this to be a problem, but the file
  112. should still transfer intact unless the link is very bad.
  113.  
  114.   Transferred files can be saved with load and execution addresses or with
  115. filetypes; the former (which is the default) is better for files to be used
  116. with the BBC emulator, and the latter is better for files to be used on the
  117. Arc. This can be set by clicking on the <Load/Exec address> or <File type>
  118. menu options respectively. The load and execution addresses are read from
  119. the Beeb, but can be altered in the menu items. The file type defaults to
  120. Text, but can also be set either as a name (e.g. BASIC) or a hex number
  121. (e.g. FFB). Alternatively, click on <Guess type> to have a file type guessed
  122. from the load and execution addresses. The guessing algorithm only chooses
  123. from Text, BASIC, BBC ROM and Data at the moment; see the Technical file for
  124. details of how to improve it.
  125.  
  126.   BBC text files are stored with a carriage return (CR) at the end of each
  127. line, while most Arc programs (including !Edit) expect a line feed (LF).
  128. Clicking on <CR ⇨ LF> swaps these over for a file in memory, and if the
  129. option is ticked will do it for any new file loaded. Make sure you only do
  130. this with text files! There is also an option in !Edit to do the same thing.
  131.  
  132.   The file information box shows various pieces of information; a file type
  133. icon (as in the save box); whether CR ⇨ LF has been done; whether the file
  134. has been saved; the file type or <untyped> for a file with load and
  135. execution addresses; the load and execution addresses read from the Beeb
  136. (as in the relevant menu items); the filename (as in the save box); the
  137. original file name on the Beeb; and the file size.
  138.  
  139.   As explained below, turning off the <Fast load> option may improve the
  140. wimp reponse if you're working on something else, at the expense of a
  141. slower transfer rate.
  142.  
  143.   The <Use BGET> option is rather obscure; it makes the Beeb load files with
  144. OSBGET rather than OSFILE, but it shouldn't make any difference, except
  145. that you won't be able to re-try files which have loading errors.
  146.  
  147.   All options can be changed while a file is loading, and should give the
  148. expected results. You can even save a file which has only partly loaded,
  149. although I wouldn't recommend it!
  150.  
  151. Note for experts:
  152. =================
  153.  
  154.   With a baud rate of 9600, you might expect a transfer rate of about
  155. 1 Kbyte/sec (I certainly did) and be surprised at the low rate achieved by
  156. this program (about 100 bytes/sec). I don't think this is my fault (but I
  157. could be wrong!); it seems to be due to three things:
  158.  
  159. 1) The beeb can apparently only transmit data at about 100 bytes/sec
  160.    (although it can receive faster). The beeb-end program is written in
  161.    machine code, so there isn't much scope for a speed-up, except maybe
  162.    by poking the serial buffer directly.
  163.  
  164. 2) Even if it could go faster, the Arc OS_SerialOp calls only go at about
  165.    230 bytes/sec - this is the speed of the machine code call, not Basic
  166.    (which is much faster - a SYS "OS_WriteC",0 takes 358 µs) and is about 
  167.    the same if you use OS_Byte 145 or BGET# after opening "serial:" as
  168.    an input file. Considering the relative power of Arc and Beeb, this
  169.    is pathetic!
  170.  
  171. 3) The consequence of 2) is that, to match the Beeb, the Arc has to spend
  172.    half of its time just doing OS_SerialOp calls. In a Wimp program,
  173.    this means that you either have to slow the Wimp down or make the
  174.    transfer take longer. I've chosen the former as a default, but you can
  175.    select a slow(er) mode (see above). Both modes go at about the same rate,
  176.    except that if you do something in the foreground which holds the
  177.    transfer up it will "catch up" in fast mode, putting up the hourglass.
  178.    Downloading always uses the fast mode, which means that the wimp becomes
  179.    almost unusable, but you only need to do it once per session.
  180.  
  181. If anyone can tell me why serial transfer is so slow, or what you can
  182. do about it, I'd be quite interested to know!
  183.  
  184.  
  185.   Finally, the boring bit. This program is FreeWare, but I retain copyright.
  186. You can copy it freely, as long as you don't sell it for profit, and as long
  187. as this file goes with it. If you make any changes, add a comment to that
  188. effect in both the "Program information" box and in this file. You can
  189. freely use bits of the code in your own applications, as long as they are
  190. credited to me in any code that you distribute. I make no warranty for the
  191. performance of the program, fitness for any purpose, or absence of bugs, and
  192. I take no responsibility for files erased, computers blown up, nuclear wars
  193. started, or any other consequence of the use of the program. Basically, I've
  194. done the best I can to make it bug free, but beyond that (as with all PD
  195. programs) you should use it with care.
  196.  
  197.   If you find the program useful you might like to make a donation to Oxfam
  198. - say £5 (less than half the price of a serial lead!)
  199.  
  200.   I can be contacted by e-mail on Janet (the UK academic network) as
  201. SB2 @ UK.AC.RL.IB, or by snail mail:
  202.  
  203.        Stephen Burke,
  204.    c/o 7, Egdon Drive,
  205.        Luton,
  206.        Beds
  207.        LU2 7AZ
  208.