home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / articles / archives / limanews.exe / FINDEX.TXT < prev    next >
Text File  |  2006-10-19  |  9KB  |  176 lines

  1. ORIGINALLY PUBLISHED IN LIMA NEWSLETTER FEBRUARY 1989
  2.   
  3.   
  4.        G  4CS1*FINDEX 5 AN AUTOMATIC CASSETTE TAPE PROGRAM 
  5.                       LOCATION SYSTEM H 
  6.                  a review by Charles Good 
  7.   
  8.     This one  is  for  cassette  tape  users  and  for  those 
  9. interested  in unusual programming techniques.  Have you ever 
  10. wondered if  it  was  possible  to  mark  with  software  the 
  11. position  of  a  specific  program on a cassette tape full of 
  12. many programs and then have the computer search the tape from 
  13. the beginning until the specific desired program is found? TI 
  14. did once develope such a system for its  99/8  computer,  but 
  15. TI's   WAFERTAPE  drive  was  never  released.   Coleco  ADAM 
  16. computers sccessfully use such a  system.   Not  so  for  the 
  17. TI99/4A,  according  to  many  well respected comentators.  I 
  18. have read again and again in our exchange newsletters  expert 
  19. comment  to  the  effect  that with the TI there is no way to 
  20. automatically,  under  software  control,  advance   a   long 
  21. cassette  tape to the exact physical location where a program 
  22. starts.  Well......, way back as  early  as  1983  Joseph  E. 
  23. Bartle  of  Parish NY wrote a TI BASIC program that does this 
  24. for the TI! I recently acquired a copy 1985 update  of  Joe's 
  25. CS1*FINDEX  program  (still  entirely  in  TI  BASIC  with no 
  26. assembly routines) and after removing a few bugs I  am  quite 
  27. impressed with capability of this software. 
  28.   
  29.     CS1*FINDEX  will  do  its  stuff even if you don't have a 
  30. printed list of which programs are on a program tape, even if 
  31. you  are using a tape recorder that does not have a numerical 
  32. tape counter, and even if you are using a tape recorder  that 
  33. is   not   automatically  controlled  on/off  by  the  99/4A. 
  34. CS1*FINDEX finds semiautomatically the exact  location  of  a 
  35. program  on a long tape.  The manual tape recorder operations 
  36. required of the user are all prompted from  the  screen.   If 
  37. you  are  using  a  TI  compatible  recorder, CS1*FINDEX will 
  38. advance the tape to your program's location after  you  press 
  39. fast  foreward, and then automatically stop the tape.  If you 
  40. are using a tape recorder that the  TI  cannot  automatically 
  41. turn  on  and off, CS1*FINDEX will turn the screen from green 
  42. to yellow and finally to red  to  indicate  when  you  should 
  43. manually  press  cassette  STOP  once  the  location  of your 
  44. program has been reached.  Neat! 
  45.   
  46.     With CS1*FINDEX you can create a  catalog  of  up  to  10 
  47. programs  you  want  to put on one side of a C60 tape and put 
  48. this catalog at the  beginning  of  the  tape.   The  catalog 
  49. includes  program  name  (up  to  12  characters  with spaces 
  50. anywhere), and there is also provision for catalog to display 
  51. a  12  chracter comment for each of the 10 programs.  You can 
  52. then  put  your  up  to  10  programs  onto  the  tape,  with 
  53. CS1*FINDEX  advancing  the  tape recorder to the correct tape 
  54. location where you should  SAVE  CS1  each  program.   It  is 
  55. necessary  to  reload CS1*FINDEX for each of the programs you 
  56. put on the tape.  Thus, users with  only  a  console/cassette 
  57. system  will  appreciate the fact that CS1*FINDEX is designed 
  58. to be small enough to load into the  MINIMEMORY  module  with 
  59. SAVE  MINIMEM.   Then  each time you need to load CS1*FINDEX, 
  60. all you do is type OLD MINIMEM, and CS1*FINDEX boots in a few 
  61. seconds.   Otherwise  it  takes  about  90  seconds  to  load 
  62. CS1*FINDEX from tape. 
  63.   
  64.     Later, when you want to use the tape you load  CS1*FINDEX 
  65. into  the  computer  and  then  load  the tape's catalog from 
  66. CS1*FINDEX.  From the catalog display you select  the  number 
  67. of  the desired program on the tape.  You are then instructed 
  68. to rewind the tape to the beginning and press FAST  FOREWARD. 
  69. CS1*FINDEX  then advances the tape to the program's location, 
  70. automatically stops the tape if you are using a TI compatible 
  71. recorder,  displays  the  name of your program on the screen, 
  72. and  informs  you  this  program  has  been  located.    Then 
  73. CS1*FINDEX BREAKs to command mode and allows you to load your 
  74. program in the normal way by typing OLD CS1 and following all 
  75. the  usual  screen instructions, except that you DO NOT again 
  76. "rewind cassette tape".  CS1*FINDEX can easily be modified in 
  77. extended  basic  to  load  the  located tape program into the 
  78. computer from within  CS1*FINDEX  rather  than  from  command 
  79. mode.  Change line 1770 to read RUN "CS1". 
  80.   
  81.     If you already have a printed list of each program on the 
  82. tape and in which order the programs occur,  you  can  bipass 
  83. the  catalog loading procedure.  When you RUN CS1*FINDEX your 
  84. first option is "LOCATION SEARCH (Y/N)".  From here  you  can 
  85. use  CS1*FINDEX  to locate the first or second or third, etc, 
  86. program on the tape without using time to boot the catalog. 
  87.   
  88.     What's the secret? How  does  CS1*FINDEX  using  only  TI 
  89. BASIC  with  no assembly routines do what all the experts say 
  90. can't be done? Have you ever noticed how  the  tape  recorder 
  91. behaves  when you read or write tape serial FILES (as opposed 
  92. to PROGRAMS)? The recorder starts, reads in or writes what  I 
  93. presume  to  be a file header, then stops.  Then the recorder 
  94. starts again and reads or writes the first  record  and  then 
  95. stops.   Then  the  recorder starts again and reads or writes 
  96. the second record and then stops, etc, etc.  The total number 
  97. of  start/stop  cycles equals the number of records plus one. 
  98. The computer controls the turning on  and  off  of  the  tape 
  99. recorder  motor  and IT DOESN"T MATTER TO THE COMPUTER IF THE 
  100. RECORDER  IS  SET  FOR  4PLAY 5 OR   FOR  4FAST   FOREWARD. 5    When 
  101. searching  for  a  program, CS1*FINDEX writes a false file to 
  102. the tape, turning the tape recorder motor on and off  several 
  103. times  as this file is written.  The tape recorder is set for 
  104. FAST FOREWARD rather than for RECORD as this file is written, 
  105. so  the  tape  never  receives any data.  The computer cannot 
  106. directly sense that the tape is not getting any data, so  the 
  107. computer  continues  to turn the recorder motor on and off as 
  108. it writes its fake file to the tape.   When  turned  on,  the 
  109. tape  advances  very  rapidly because the recorder is set for 
  110. FAST FOREWARD.  A tape  file  designed  to  write  up  to  10 
  111. records  with a record length of 192 will go through up to 11 
  112. start/stop sequences  on  a  C60  tape  before  the  tape  is 
  113. completely  wound  up  on  the  take  up  reel.   This is how 
  114. CS1*FINDX locates physical blocks of tape space in  which  to 
  115. insert  programs,  and  can  later  find  a  specific program 
  116. located at any one of these physical blocks  of  tape  space. 
  117. The first block (corresponding to the false file's header) is 
  118. where the catalog is stored, and the  next  10  blocks  (each 
  119. corresponding  to a false file record) are where the programs 
  120. are stored.  Enough space is included in each of the  program 
  121. storage blocks to store the largest possible tape PROGRAM. 
  122.   
  123.     LIMITATIONS:  1--You  can't  use  CS1*FINDEX with already 
  124. existing program filled tapes.  The spacing of  the  programs 
  125. on  the  tape won't be right.  You need to load programs onto 
  126. your  program  storage  cassette  tapes   using   CS1*FINDEX. 
  127. 2--Problems may occur if different tape recorders are used to 
  128. store and later play programs.  If the FAST FOREWARD speed of 
  129. the  two  recorders  differs  very  much  CS1*FINDX  will not 
  130. correctly find the location of the desired program.  3--There 
  131. is  only  room for a short program in the last (10th) program 
  132. block before the tape runs out. 
  133.   
  134.     The author of CS1*FINDEX has written  some  rather  wordy 
  135. documentation  files to explain the use of CS1*FINDEX.  These 
  136. files are in PROGRAM format so that they can be  loaded  from 
  137. tape  and  read  by  console/cassette-only users.  In general 
  138. most users can play around with the program  and  figure  out 
  139. how  to  use  it  without  these docs.  A sample tape program 
  140. finding catalog is printed below as is the CS1*FINDEX program 
  141. listing  (checksums added using EZ-KEYS PLUS) with permission 
  142. of the author Joseph E.  Bartle.  It is released  to  the  TI 
  143. community  as  FAIRWARE.   If  you like it, send whatever you 
  144. think it is worth to Joe at the address in the REM statements 
  145. at  the  beginning  of  the  program.  Joe has other fairware 
  146. offerings.  Write or call him for details.  User groups,  not 
  147. individuals,  may  obtain  a  copy of CS1*FINDX and the above 
  148. mentioned doc files by sending a disk and paid return  mailer 
  149. to the Lima User Group, P.O.  Box 647, Venedocia OH 45894 
  150.   
  151.       GSAMPLE FINDEX CASSETTE CATALOG H 
  152.   
  153.          CATALOG 
  154.     NUM     PROGRAMS 
  155.       1 ~ 3D TICTACTOE 
  156.       2 ~ BASEBALLSTAT 
  157.       3 ~ DRAW-------- 
  158.       4 ~ FUN HOUSE___ 
  159.       5 ~ MEMORY JOB-- 
  160.       6 ~ SPELL QUIZ__ 
  161.       7 ~ GOLFHANDICAP 
  162.       8 ~ LIGHT YEARS- 
  163.       9 ~ PHOTO DIARY- 
  164.      10 ~ ------------ 
  165.             REMARKS! 
  166.      11 R TIB--------- 
  167.      12 R TIB/DATAFILE 
  168.      13 R TIB TEACHING 
  169.      14 R XB/JS OPTION 
  170.      15 R TIB/DATAFILE 
  171.      16 R TIN/DATAFILE 
  172.      17 R TIB--------- 
  173.      18 R TIB--------- 
  174.      19 R TIB--------- 
  175.      20 R ------------ 
  176.