Yesterday I read in 3 ti tapes from our family collection to safe all programs on CF7+/NanoPEB (=DISK).
So far they were all TI Basic / XB programs.
For large files I used the following trick that was shared by Ray Kazmer in the Micropendium:
CALL FILES(1)
NEW
OLD CS1
[reading in...]
CALL FILES(3)
SAVE DSK1.PROGNAME
this way your large program gets saved in the I/V254 File Format.
The limit for the PGM Format is somewhere between 45-48 sectors.
The reasons:
Disk DSR - Device Service Routines - use memory if a Disk System is attached.
This can be reduced to a certain amount with Call Files command.
XB has less memory free to the user than TI Basic. So try TI Basic for troubleshooting programs as well.
Try to read a program in without having a TI Disk System attached.
Quote
Micropendium December 1986: How to save program from tape to disk
Re "Program Problems" (Feedback, Nov. '86), I also had problems saving long tape programs to disk.
The way the system acts I assume the first byte of data saved to tape tells the computer the length of the
program. When the program is loaded, if this length exceeds the available console memory the load
attempt is aborted.
To save long tape programs to tape I turn off the system, turn off the disk drives, then turn the console
back on. If the program will load into Extended Basic I use it, otherwise I use Basic (Extended Basic works
faster when deleting lines). Start at the top of the program list and delete about half the lines and re-save
the program to another tape. Now load the original tape program, remove the last half of the program
listing and save it to a se cond tape. Turn your system off. Turn the disk drives on and turn the system
on.
Load the first half of your tape program and SAVE DSK1.A,MERGE
Load the second half of the tape program, then MERGE DSK1.A
Now save the complete program to disk.
If you have a GRAM Kracker with GRAM Utility 1 loaded you can use the DEL starting line-ending line
to save a lot of time.
Jerry Keisler, Paris, TX
Quote
Micropendium January 1987: From tape to disk
Ray Kazmer, of Kazco International, Sylmar, CA, provides a User Note which, he writes, "will put to rest
forever the continuing problem of how to transfer an over-sized file from tape to disk (and vice versa). The
method described by Jerry Keisler in your Dec. 86 Feedback is one way to do it, but if you're as fumblefingered
and impatient as I am, I think you'll prefer this method.
To transfer an over-sized file from tape to disk:
1. In command mode, enter CALL FILES(1).
2. Load the program from tape.
3. After loading, enter CALL FILES(3).
4. Save the file to disk. It will be in I/V254 format and will run.
To transfer an over-sized file from disk to tape:
1. Load the I/V254 file from disk.
2. In command mode, enter CALL FILES(1).
3. Save the file (now in "Program" format) to tape.
Quote
Micropendium January 1987: More on saving tape programs to disk
In response to the question of saving long tape programs to disk I have used a different method than what
has been suggested which seems to work very well.
The problem seems to be in that when the drives are connected to the computer you lose about 3K of
console memory. Cassette programs which are close to filling up the 16K console memory anyway will
then not load into the computer because the computer does not think it has enough room even though you
may have 32K. This is because programs which exceed the 16K console memory are saved in a different
format (INT/VAR 254 instead of program format) and must be in INT/VAR 254 format in order to load
them into the computer again when console memory is exceeded.
So let's say you have a cassette program which takes up almost all the 16K but will load with the disk
drives off but not when they are on. To get that program onto disk and in the correct format so that you
will not have any trouble loading it again you must do the following:
1. Type CALL FILES(1) and NEW. This frees up about 2K memory taken by the disk drives.
2. Now load your cassette program into memory while in XB.
3. Type SAVE DSK1.PROGRAM and your program will now be saved to disk. However, every time you
need to load it you must repeat step 1 as the computer saved the file to disk in PROGRAM format
thinking that you have enough console memory and that the 32K is not needed to hold the program
when actually 32K is needed because you are cheating by using step 1. So you need that program
saved to disk in INT/VAR 254 format (32K format, as I call it) so it can be loaded without the use of
the CALL FILES.
4. With the CALL FILES still in effect (it stays in effect until you go back to the title screen or turn off
the system) and with your program still in memory, type SAVE DSK1.PROGRAM,MERGE which
erases your previous save and now saves your program in merge format.
5. Go back to the title screen and re-enter XB (this clears your CALL FILES command). Now type
MERGE DSK1.PROGRAM (this will take a while). When completed your program is now in memory
without having to use CALL FILES and without having your disk drives turned off!
6. Save your program to disk once again by typing SAVE DSK1.PROGRAM which erases the program
on disk in merge format and replaces it with a program in 32K format.
Now if you try to put this program back on cassette tape the computer will not allow you to do so as
INT/VAR 254 files cannot be saved to cassette. So what you will have to do is type CALL FILES(1) and
NEW then load your program off of disk and then save it to cassette. This way you again released 2K of
memory so the computer does not think it needs 32K, so it will save your program back to cassette in its
original format.
Keep in mind that anything exceeding console memory cannot be saved to cassette even though you may
have 32K so if you modify your program (add lines) you may not be able to put that program onto cassette
tape again.
This method has worked on all but one cassette program that I have, in which freeing up 2K was not
enough for it to load as 1K is still used by the disk drives even though I used the CALL FILES, as that
program took nearly every byte of the 16K memory. In this case Jerry Keisler's method in the December
Feedback will have to be used.
Gary Cox, Memphis, TN