STOS FIXER VERSION 2.7
by Robert Quezada
Release date: November 28, 1993


Brief Description
-----------------

    This program was written using the AutoZest interface and GFA BASIC.  
It calculates the STOS values required for STOS interpreter and STOS 
compiled programs for virtually all TOS versions.

Requirements
------------
    This should work on any TOS version, on machines with 512k minimum, 
and as far as I know, any resolution.  
    It requires that the file is not compressed (with ATOMIK, PACK-ICE, 
etc.).  It will check if the file is compressed and will often not write 
the changes to the file, but if it does, it changes the original file 
extension to .123, so that you will always have the original file.

NOTE:
-----

DO NOT USE THIS PROGRAM TO UPDATE COMP_xxx.PRG (the STOS compiler file) or
C3D.PRG (the STOS 3D accessory program) BECAUSE THEY WILL NOT WORK 
PROPERLY AFTERWARDS.

    If the file is compressed, it can be decompressed with Mega Depack, 
which is available on GEnie(file #24286) and probably on other network 
systems.

FIXES
-----
Ver 2.0

   The joystick address finding routine has been fixed to work with less
joystick movement.  In order for it to work, the joystick must be in port 
#1 (not the mouse port, in case you didn't know).  Then, just follow the 
on screen instructions and then the address will be found.

Ver 2.1
     Can now be placed on the desktop and will fix STOS files if the 
programs are dragged onto it.  If your TOS supports that (which should be 
any TOS version 2.05 or higher), then click on STOSFX27.prg once, and then 
go to the INSTALL APPLICATION menu on the desktop.  You must install the 
default directory as APPLICATION and the parameter as FULL PATH.
     Then, you drag the icon onto the desktop and save the desktop, so all
those changes will be saved.  Every time you want to fix a file so it will 
work on your TOS version, all you have to do is drag the file to be fixed 
onto the STOS fixer's icon, it will fix the file for you and then return 
to the desktop.
     Run time STOS programs are now supported in this version.  They are 
fixed in the same way that compiled STOS programs are fixed.  One example 
of this would be Psycho Pig 2 (available on GEnie).  On disk 1, BOOT.PRG 
is a run time STOS program.

NOTE:PSYCHO-PIG 2 DOESN'T WORK ON FALCON030.


Version 2.6 (submitted to ST Format magazine in August 1993)
-----------
	As of writing this, I have not yet received a response to my 
submission, so that is why I never released this to GEnie.  This version 
supports virtually any type of STOS file as it now searches for the 
address table instead of putting it in a fixed location.
	Calculations of the last 2 values in the table were incorrect, but 
is now fixed for the Falcon030 and some other STs in previous versions.

Version 2.7 (CURRENT VERSION AS OF NOVEMBER 1993)
-----------
	Now supports MULTITOS!!!!!  This file uses only 128kB of memory and 
should work with files of any size.  Files are only partially loaded in 
blocks no longer than 4096 bytes long, in order to conserve memory.
	I finally got this program to work.  I had to rewrite Version 2.1, 
because of a problem encountered with a cache program that erased all the 
files on my Falcon030.  That's why it took so long.
	Joystick calculating routine has been incredibly sped up so it only 
now takes about 1 second to get the correct value.
	In the window, there is now a listing of important values used by 
the program, so if there is any problem using it on your system, you can 
just tell me the numbers it found to help figure out the problem.
	DEFAULTS.DAT is now renamed to DEFxxxx.DAT where "xxxx" is the TOS 
version and all the values are listed in hexadecimal to make it easier to 
read.
	All *.PRG files can be dragged onto the STOSFX27.PRG icon(if using a 
TOS version that supports putting icons on the desktop).

Other Notes
-----------
	FOR TOS Versions 4.0 and higher:
	--------------------------------
	The MMU cache doesn't need to be disabled (contrary to what I've 
read in previous issues of ST Format).  Also, don't run the interpreter or 
game files under MultiTOS as they will cause an "Illegal instruction" 
error, or something like that, and they will not run.
	For some reason, after the addresses are put in the table, the 
program may not work.  Just change the ".PRG" extensions to ".TOS" for 
game files.  But the interpreter and run-time files must be auto-booted.  
All STOS files must be run in ST resolutions.
	Doing this should make the files work without a problem on your TOS 
version.  I've been using the interpreter on my Falcon030 with TOS 4.04 
for a few months now, and the speed increase is amazing in comparison with 
an 8 MHz STe.
(----------------------------------------------------------------------)

FOR EVERY TOS VERSION:

    After it finds the joystick address, it will ask you if you want to 
save the results as defaults.  If you select YES, then it will save the 
results to disk to the default file.  These values will then be in memory 
every time the program is run, so that when you want to allow other STOS 
compiled programs to work on your TOS, you don't have to go through 
constant testing of the joystick address.

    When it writes the file to disk with the changes, it also turns the
FastLoad option on.

    If you have any questions, comments, or anything else you want to tell 
me, or if this just doesn't work at all, send me e-mail to (R.QUEZADA) on 
GEnie.
    Also, if you have TOS 3.05 or TOS 4.0 or higher and have gotten a STOS
program or the STOS interpreter to work (using this fix program), send me
e-mail so I can make note of the values for games I am currently writing 
so I can make them work on everyone's TOS.

                                                    Robert Quezada.

    There may be a chance that this might not work on early STs with the 
TOS 2.06 conversion board.  I think that I have fixed the problem with the 
original program so that it will now work on those STs.  But if it 
doesn't, the default values that are supplied with the program are for TOS 
2.06
