CASS24K by Harry Wilhelm – 2018
Normally a TI99/4A with Extended BASIC, 32K memory expansion and a cassette player can only save to or load from cassette an XB program around 12K or 13K long. With the memory expansion you could write much longer programs than this, but unless you had a disk drive there was no way to save it
Two programs in this folder give the cassette only user the ability to use the cassette drive for XB programs of up to 24K in length. The programs do the same thing, but in different ways.
CASS24K1 will save and load programs using one internal, fixed 192 file
CASS24K2 fools XB into saving a long program as two shorter programs. When loading, these two halves are loaded, then recombined back into a single program.
APERTURE-X is a compiled program for testing that is about 17K long.
The steps are the same to use either one:
First, load either CASS24K1 or CASS24K2 from disk.
RUN will load the assembly routines to low memory.
Modify line 10 by removing the exclamation point after CALL LINK(“X”)
SAVE CS1 so the loader is first on the tape.
Load the XB program you want to save to tape. (OLD DSK1.program)
CALL LINK(“SAVECS”) and follow the prompts. (Don't rewind!)
To run the tape you just made:
Rewind to the beginning, type RUN “CS1” and follow the prompts.
These have been tested with the Win994a simulator. CASS24K1 is much slower on this simulator, but based on the tape counter I believe there will be no significant speed difference on a real TI99. Try them both out and use the one that works best for you.
(edit) I have uploaded a new version that fixes a bug in CASS24K2. If using CASS24K2 you must CALL FILES(1) before using it.
(edit2) I have uploaded the same program but with more information about the use of CALL FILES(1);
"When creating the tape, be sure you entered CALL FILES(1). After the tape is been created, only if the TI is connected to a disk system should you type CALL FILES(1) before RUN “CS1”. With only a cassette drive just type RUN “CS1”.
You do not have to SAVE CS1. You can save to disk if that makes it easier to use a WAV conversion program such as cs1er.
For example, a program called FRED could be saved as:
SAVE DSK1.FREDL (the loader)
SAVE DSK1.FRED1 (part 1)
SAVE DSK1.FRED2 (part 2)"
Edited by senior_falcon, Mon Jul 9, 2018 8:10 PM.