lotus

previous page: 06.036 How do I access ProDOS routines from machine language?
  
page up: Apple II Csa2 FAQs
  
next page: 06.038 How can I modify ProDOS to do BLOADs in the input buffer and Text Page 1 areas?

06.037 How can I convert DOS 3.3 wares to run under ProDOS?




Description

This article is from the Apple II Csa2 FAQ, by Jeff Hurlburt with numerous contributions by others.

06.037 How can I convert DOS 3.3 wares to run under ProDOS?

         Quite a few DOS 3.3 programs will run fine under ProDOS with no change at
all. Unless you have some reason to believe a DOS 3.3 program will not run
under ProDOS, it's worthwhile to just copy it to a ProDOS diskette and give it
a try.

Note: A few 'DOS 3.3' programs, mainly old commercial games, include routines
which do direct writes to one or more sectors. This could overwrite parts of a
file or a ProDOS directory. It's a good idea to copy risky-looking software to
a ProDOS disk you can afford to lose (e.g. a bootable disk with no favorite
programs, etc. on it).  Boot this disk and try out the program.

     The main barriers to running DOS 3.3 programs under ProDOS are ...

1. Size: DOS 3.3 leaves more space for programs than ProDOS + BASIC.SYSTEM.
Some DOS 3.3 programs are too large for ProDOS. To use them you will need to
find ways to reduce program size.

2. Areas of memory used: ProDOS reserves parts of memory, such as Text Page 1
($0400-$07FF), for various pointers. Some DOS 3.3 programs LOAD or BLOAD into
one or more of these areas. For example, some games BLOAD a lo-res pic or Text
for you to look at while the rest of the game loads. Normally, ProDOS will
refuse to do such loads and the result will be a BUFFERS NOT AVAILABLE error
message. To run these programs you will need to unmark the reserved areas which
get in the way (see next Q&A) and/or change

the location(s) of the program's troublesome LOADs and BLOADs.

When ProDOS loads it uses most of the memory in the "language card" areas. Some
DOS 3.3 programs also use this memory. If a DOS 3.3 program uses the "language
card" it will probably have to be modified in order to run under ProDOS.

ProDOS handles buffer allocation differently than DOS. If a DOS 3.3 program
lowers HIMEM in order to create space for BLOADing code or data, it may need to
be modified to guarantee that the code/area is safe. (See page 237 of Exploring
Apple GS/OS and ProDOS 8 or page 7-4 of Beneath Apple ProDOS.)

3. Names: DOS 3.3 file names can be longer and have more kinds of characters
than ProDOS names. If a DOS 3.3. program BLOADs, WRITEs, etc. to any files, you
will need to be sure that the file names used are compatible with ProDOS.

4. DOS/ProDOS Commands and Syntax: There are, really, very few DOS 3.3 command
and syntax differences likely to cause problems under ProDOS. Still, there are
some and you will need to check for these and make any indicated mods.

5. Integer BASIC: Int BASIC programs can be transferred to a ProDOS diskette;
but, you can not run them directly under ProDOS. If you are willing to move an
Int BASIC program to a Text editor, convert the syntax to Applesoft BASIC, and
EXEC the resulting Text file, you can obtain an Applesoft BASIC program which
you can modify as necessary for ProDOS.

6. It's not DOS 3.3: Very old software, old commercial copy-protected software,
and deprotected copies of old software may not be on DOS 3.3 disks. Your first
challenge with such software is getting it into a form which will permit
transferring files to a ProDOS diskette.

     When checking and modifying a DOS 3.3 program for ProDOS a good program
editor is essential. You will save untold hours of work when you invest in
Beagle's tried and true "Program Writer".

_________________________

By:  Jeff Blakeney
    

 

Continue to:













TOP
previous page: 06.036 How do I access ProDOS routines from machine language?
  
page up: Apple II Csa2 FAQs
  
next page: 06.038 How can I modify ProDOS to do BLOADs in the input buffer and Text Page 1 areas?