[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dos 3.3 Launcher???
Doktor DynaSoar writes ...
>
> rubywand@swbell.net sent bitwaves which read:
> }
> } If you decide to try DOSLauncher, etc. to run DOS 3.3 wares from
> }your hard disk, it's a good idea to check each program to be sure it does
> }no direct disk writes.
>
> Going to tell them how to go about this?
>
Okay. First, you know about your own programs. If all disk I/O is via
the usual DOS commands (like SAVE), then you are not doing any direct writes.
Non-commercial programs which have no reason to store information, like
simple arcades with no High Scores record or Game Save, are unlikely to write
anything directly to disk. One check is to write-protect the diskette and
play the game. If it does not bomb or do a lot of clattering while attempting
a disk access, it probably does not attempt any direct writes.
Another fairly good check is to list the program under Program Writer
and Search for any CALLs and & routines. If all CALLs are to monitor routines
($F800 or higher); and, you can account for any & commands (e.g. they play
music, etc.); and, any expected Game Saves, Pic Saves, etc. are accounted for
by standard DOS 3.3 commands, then, there are probably no direct writes.
If, via the above checks, a program seems free of direct writes except
for CALLs to the $300 area, then, you will need to account for these CALLS.
Often, they will be for sound effects, special screen-clears, and/or KB-input
processing.
Via the above checks, quite a few programs will seem free of direct
writes except for CALLs to code BLOADed somewhere before or after the
program. You will need to account for these CALLs.
Any program which does CALLs to the Text Page area ($400-$700) is very
suspect as is any program which does CALLs and/or PEEKs and POKEs to
addresses which fall inside the range occupied by the program.
Any program you cannot list and which saves information to disk is
suspect. This includes any games, word processors, and educational wares
which save scores, record position of an adventure party, maintain a progress
record, do document backups, etc..
Any program with REMs filled with 'garbage', evidence of hidden lines,
or which otherwise seems to behave oddly when listed is suspect.
Any commercial program, especially games, educational programs, and word
processors, and any supposedly deprotected commercial program is suspect.
Any program which automatically reboots upon a Reset is very suspect.
About the only way to verify that some "suspect" program does not do
direct writes is go to the monitor and account for the functions of machine
code routines. Just noting than no JMPs or JSR's go to the usual DOS
locations does not protect against custom disk R/W routines which can be
located in all sorts of places.
Note: If code is in the Text Page or any other area which is automatically
changed when the program is halted you will need custom firmware to do an
auto-move of these areas upon Reset. In fact, you may need to check such
areas at different times in the game, etc..
One alternative to a special auto-move is to look for and view the code
that you believe is going into the Text Page, etc. on diskette using a
utility like the Copy ][+ Sector Editor. This does not, however, guarantee
that the code is not greatly modified after being loaded by the program.
If any of the above conveys the impression that some wares are trapped
specifically in order to mess up disks of users who copy or in any way modify
the wares, it is because this is the case. Many other wares do direct writes
in order to speed-up game play, make a word processor's operation more
'transparent and user-friendly, and for other good reasons. There are, in
short, lots of DOS 3.3 'icebergs' waiting to sink your hard disk.
So; if you did not write a DOS 3.3 program yourself or do not have some
guarantee from the program's producer or an experienced user of the program
on hard disk, then, either list the program and check the code or forget
about launching it from hard disk.
Rubywand