Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site decwrl.UUCP
Path: utzoo!linus!decvax!decwrl!dec-rhea!dec-dosadi!binder
From: binder@dosadi.DEC
Newsgroups: net.micro.apple
Subject: Re: applesoft compilers
Message-ID: <3858@decwrl.UUCP>
Date: Mon, 8-Oct-84 08:59:54 EDT
Article-I.D.: decwrl.3858
Posted: Mon Oct  8 08:59:54 1984
Date-Received: Tue, 9-Oct-84 20:20:25 EDT
Sender: daemon@decwrl.UUCP
Organization: DEC Engineering Network
Lines: 46

> Has anyone used the TASC compiler V2.0 with anything other than DOS 3.3,
> namely diversi-DOS, and had it work correctly?  I have had some problems
> with this.  Does any one have experience with other applesoft compilers.
> If so, how do they compare. How about a PRO-DOS compiler? I would like any
> info you might have on the matter.

> Brent Haws  -  STC StorageTek (Disk Division)

TASC is guaranteed not to work with Diversi-DOS because TASC modifies its DOS 
when it runs, and the hooks it alters are in the wrong places in Diversi-DOS.  
My own method is to use a standard TASC disk to compile and then copy the 
resultant file off onto a Diversi-DOS disk.  It occurs that TASC might 
POSSIBLY work with Pronto-DOS, which claims to have all internal hooks in the 
same places as DOS 3.3.  I haven't tried it because I don't like what I've 
seen of Pronto-DOS enough to buy a copy just to find out.

I am told that the Einstein Compiler is better than TASC, but I haven't been 
curious enough to blow the money on ANOTHER compiler.

As a matter of speculation, TASC should have no trouble producing executables 
that will run under Pro-DOS, if you go about things right.  Try this:

1.  Compile your programme normally with TASC.  Then use Diversi-DOS's PAD 
    command to find out how long the binary is.

2.  Recompile with the following address assignments:

    a.  Programme to begin at $1000, or immediately above hi-res screen if you
        use hi-res.
    b.  Library to begin immediately after programme binary, as determined by
        the length that PAD gave you.
    c.  Variables to begin immediately after library; library is just under
        $1000 long.

    Example:  for a programme that produced a binary $343A long, the addresses 
    I used were $1000, $4500, and $5500.

3.  Continuing with the address assignments from the above example, perform
    the following steps to save your file: 

    a.  BLOAD RUNTIME,A$4500
    b.  BLOAD PROGRAMME.OBJ,A$1000
    c.  BSAVE PROGRAMME.EXE,A$1000,L$4500

You now have a single BRUNnable binary file - transfer it to Pro-DOS and it 
ought to work.  Let me know if it does, as I haven't sprung for Pro-DOS yet.