home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
articles
/
limanews
/
FINDEX.TXT
< prev
next >
Wrap
Text File
|
2006-10-19
|
9KB
|
176 lines
ORIGINALLY PUBLISHED IN LIMA NEWSLETTER FEBRUARY 1989
G 4CS1*FINDEX 5 AN AUTOMATIC CASSETTE TAPE PROGRAM
LOCATION SYSTEM H
a review by Charles Good
This one is for cassette tape users and for those
interested in unusual programming techniques. Have you ever
wondered if it was possible to mark with software the
position of a specific program on a cassette tape full of
many programs and then have the computer search the tape from
the beginning until the specific desired program is found? TI
did once develope such a system for its 99/8 computer, but
TI's WAFERTAPE drive was never released. Coleco ADAM
computers sccessfully use such a system. Not so for the
TI99/4A, according to many well respected comentators. I
have read again and again in our exchange newsletters expert
comment to the effect that with the TI there is no way to
automatically, under software control, advance a long
cassette tape to the exact physical location where a program
starts. Well......, way back as early as 1983 Joseph E.
Bartle of Parish NY wrote a TI BASIC program that does this
for the TI! I recently acquired a copy 1985 update of Joe's
CS1*FINDEX program (still entirely in TI BASIC with no
assembly routines) and after removing a few bugs I am quite
impressed with capability of this software.
CS1*FINDEX will do its stuff even if you don't have a
printed list of which programs are on a program tape, even if
you are using a tape recorder that does not have a numerical
tape counter, and even if you are using a tape recorder that
is not automatically controlled on/off by the 99/4A.
CS1*FINDEX finds semiautomatically the exact location of a
program on a long tape. The manual tape recorder operations
required of the user are all prompted from the screen. If
you are using a TI compatible recorder, CS1*FINDEX will
advance the tape to your program's location after you press
fast foreward, and then automatically stop the tape. If you
are using a tape recorder that the TI cannot automatically
turn on and off, CS1*FINDEX will turn the screen from green
to yellow and finally to red to indicate when you should
manually press cassette STOP once the location of your
program has been reached. Neat!
With CS1*FINDEX you can create a catalog of up to 10
programs you want to put on one side of a C60 tape and put
this catalog at the beginning of the tape. The catalog
includes program name (up to 12 characters with spaces
anywhere), and there is also provision for catalog to display
a 12 chracter comment for each of the 10 programs. You can
then put your up to 10 programs onto the tape, with
CS1*FINDEX advancing the tape recorder to the correct tape
location where you should SAVE CS1 each program. It is
necessary to reload CS1*FINDEX for each of the programs you
put on the tape. Thus, users with only a console/cassette
system will appreciate the fact that CS1*FINDEX is designed
to be small enough to load into the MINIMEMORY module with
SAVE MINIMEM. Then each time you need to load CS1*FINDEX,
all you do is type OLD MINIMEM, and CS1*FINDEX boots in a few
seconds. Otherwise it takes about 90 seconds to load
CS1*FINDEX from tape.
Later, when you want to use the tape you load CS1*FINDEX
into the computer and then load the tape's catalog from
CS1*FINDEX. From the catalog display you select the number
of the desired program on the tape. You are then instructed
to rewind the tape to the beginning and press FAST FOREWARD.
CS1*FINDEX then advances the tape to the program's location,
automatically stops the tape if you are using a TI compatible
recorder, displays the name of your program on the screen,
and informs you this program has been located. Then
CS1*FINDEX BREAKs to command mode and allows you to load your
program in the normal way by typing OLD CS1 and following all
the usual screen instructions, except that you DO NOT again
"rewind cassette tape". CS1*FINDEX can easily be modified in
extended basic to load the located tape program into the
computer from within CS1*FINDEX rather than from command
mode. Change line 1770 to read RUN "CS1".
If you already have a printed list of each program on the
tape and in which order the programs occur, you can bipass
the catalog loading procedure. When you RUN CS1*FINDEX your
first option is "LOCATION SEARCH (Y/N)". From here you can
use CS1*FINDEX to locate the first or second or third, etc,
program on the tape without using time to boot the catalog.
What's the secret? How does CS1*FINDEX using only TI
BASIC with no assembly routines do what all the experts say
can't be done? Have you ever noticed how the tape recorder
behaves when you read or write tape serial FILES (as opposed
to PROGRAMS)? The recorder starts, reads in or writes what I
presume to be a file header, then stops. Then the recorder
starts again and reads or writes the first record and then
stops. Then the recorder starts again and reads or writes
the second record and then stops, etc, etc. The total number
of start/stop cycles equals the number of records plus one.
The computer controls the turning on and off of the tape
recorder motor and IT DOESN"T MATTER TO THE COMPUTER IF THE
RECORDER IS SET FOR 4PLAY 5 OR FOR 4FAST FOREWARD. 5 When
searching for a program, CS1*FINDEX writes a false file to
the tape, turning the tape recorder motor on and off several
times as this file is written. The tape recorder is set for
FAST FOREWARD rather than for RECORD as this file is written,
so the tape never receives any data. The computer cannot
directly sense that the tape is not getting any data, so the
computer continues to turn the recorder motor on and off as
it writes its fake file to the tape. When turned on, the
tape advances very rapidly because the recorder is set for
FAST FOREWARD. A tape file designed to write up to 10
records with a record length of 192 will go through up to 11
start/stop sequences on a C60 tape before the tape is
completely wound up on the take up reel. This is how
CS1*FINDX locates physical blocks of tape space in which to
insert programs, and can later find a specific program
located at any one of these physical blocks of tape space.
The first block (corresponding to the false file's header) is
where the catalog is stored, and the next 10 blocks (each
corresponding to a false file record) are where the programs
are stored. Enough space is included in each of the program
storage blocks to store the largest possible tape PROGRAM.
LIMITATIONS: 1--You can't use CS1*FINDEX with already
existing program filled tapes. The spacing of the programs
on the tape won't be right. You need to load programs onto
your program storage cassette tapes using CS1*FINDEX.
2--Problems may occur if different tape recorders are used to
store and later play programs. If the FAST FOREWARD speed of
the two recorders differs very much CS1*FINDX will not
correctly find the location of the desired program. 3--There
is only room for a short program in the last (10th) program
block before the tape runs out.
The author of CS1*FINDEX has written some rather wordy
documentation files to explain the use of CS1*FINDEX. These
files are in PROGRAM format so that they can be loaded from
tape and read by console/cassette-only users. In general
most users can play around with the program and figure out
how to use it without these docs. A sample tape program
finding catalog is printed below as is the CS1*FINDEX program
listing (checksums added using EZ-KEYS PLUS) with permission
of the author Joseph E. Bartle. It is released to the TI
community as FAIRWARE. If you like it, send whatever you
think it is worth to Joe at the address in the REM statements
at the beginning of the program. Joe has other fairware
offerings. Write or call him for details. User groups, not
individuals, may obtain a copy of CS1*FINDX and the above
mentioned doc files by sending a disk and paid return mailer
to the Lima User Group, P.O. Box 647, Venedocia OH 45894
GSAMPLE FINDEX CASSETTE CATALOG H
CATALOG
NUM PROGRAMS
1 ~ 3D TICTACTOE
2 ~ BASEBALLSTAT
3 ~ DRAW--------
4 ~ FUN HOUSE___
5 ~ MEMORY JOB--
6 ~ SPELL QUIZ__
7 ~ GOLFHANDICAP
8 ~ LIGHT YEARS-
9 ~ PHOTO DIARY-
10 ~ ------------
REMARKS!
11 R TIB---------
12 R TIB/DATAFILE
13 R TIB TEACHING
14 R XB/JS OPTION
15 R TIB/DATAFILE
16 R TIN/DATAFILE
17 R TIB---------
18 R TIB---------
19 R TIB---------
20 R ------------