💾 Archived View for mirrors.apple2.org.za › archive › ground.icaen.uiowa.edu › useful.stuff › tchang… captured on 2024-03-21 at 20:31:23.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

Type Changer (a ProDOS filetype changer program)

File name: TCHANGE.BIN Requires: any 128k or larger Apple IIe, IIc, IIgs and
ProDOS


This is a BRUN-able version of the old BASIC Roger Wagner ProDOS filetype changer
program.


Why BRUN-able?

The reason for a BRUN-able version is to circumvent the 'Catch-22' situation
faced by many Apple2 (IIe, IIgs, etc.) users who employ a PC or Mac to download
Apple2  wares from the net. That is: one is unable to download and use a filetype
changer because one needs a filetype changer to make the filetype changer program
runnable.


Why Change Filetype?

When a PC or Mac user downloads a "binary" file and moves it to his/her Apple2,
it is common for the file to end up as a Text (TXT) type file. The file is not
changed; but, its filetype has been set to TXT.

If it is, actually, say, a GS "ProDOS 16 application", then, it is _supposed_ to
be an S16 type file.  The filetype needs to be changed before it can be started
from the GS/OS Finder. Similarly, you cannot run a BASIC program so long as it is
a Text type file.


ShrinkIt to the Rescue

Fortunately, most Apple2 wares are now maintained in .SHK form. 8-bit ShrinkIt
and GS-ShrinkIt can un-pack an .SHK file whether or not it has the correct file
type. The file or files 'inside' the .SHK file will, once unpacked on an Apple2,
have their correct filetypes.


One-Shot

From the above it may seem that, for purposes of downloading Apple2 files from
the net, a PC or Mac owner may need to use Type Changer just one time: to get
GS-ShrinkIt going (or, for IIe users, to get 8-bit ShrinkIt going). In fact, this
may be the case.

GSHK.SEA is GS-ShrinkIt in a self-extracting GSHK archive. It is a type $B3 file
which automatically unpacks to give you GS-ShrinkIt and a docs file when
double-clicked on the Finder. But; when downloaded on a PC or Mac, it is likely
to end up on your GS as a Text type file which cannot be executed.

The original motivation for making Type Changer BRUN-able was to get a filetype
changer program to your Apple2 in order to permit changing the filetype of
GSHK.SEA on the GS from TXT ($04) to S16 ($B3) so that it will auto-unpack as
intended.


How to Get Type Changer Going

Download the file TCHANGE.BIN as a binary file to your PC or Mac. Move the file
(e.g. via NULL modem or by copying to a ProDOS diskette) to your Apple2.

Probably, the file will end up as a TXT type file. Make a temporary backup copy
of the file.

To get a BRUN-able  BIN type file, start ProDOS-8 BASIC and BLOAD the file:

BLOAD TCHANGE.BIN, TTXT, A2048

DELETE TCHANGE.BIN

Then, BSAVE the file:

BSAVE TCHANGE.BIN, A2048, L15711


TCHANGE.BIN is now BRUN-able. BRUN TCHANGE.BIN to start the filetype changer
program.

Having the type changer program as a plain BASIC file is a bit more convenient.
Once TCHANGE.BIN is running, you can exit the program and just SAVE TYPE.CHANGER
to have a BASIC type changer program which you can RUN to start.


About TCHANGE.BIN

TCHANGE.BIN is the original Roger Wagner BASIC program which has had a short
machine code routine tacked onto the front and been BSAVED. The machine code
routine sets up the program parameters (at locations $67, $68, ... and $AF, $B0) 
and executes a ProDOS RUN command.

Once the program starts to RUN, it is a BASIC program. This explains why you can
exit the program and SAVE it.

You may wonder why the program is not in the form of a Text file which could be
EXEC-ed. The explanation is that the program contains a fairly large chunk of
'hidden' machine code which would be lost.


Using the Program

The program's menus are, pretty much, self-explanatory. One thing may not be
obvious. When you are prompted to enter the new filetype, you can enter the
standard 'name' of the type (e.g. TXT, BIN, S16, etc) or the filetype number
($04, $06, $B3, etc.).  If you enter the filetype number the "$" must be included
to avoid getting an "unknown type" error message.


Rubywand, 1997