[comp.sys.atari.st] answering some questions

INFTVT1@HENTHT5.BITNET.UUCP (02/12/87)

Hi guys,
 
I recently a lot of questions i know the answer of, so here they are:
 
   1)  Changing the seekrate of the floppy disc drives on a legal way:
 
             It's quite simple once you know:
             $440 word contains the seekrate this way:
 
             0     ->   6 ms
             1     ->  12 ms
             2     ->   2 ms
             3     ->   3 ms
 
   2) turn of the verify on writing:
 
             make $444 (word) zero.
 
   3) Adresses of 1) and 2) are garuanteed not to change when other re-
      leases of GEMDOS, XBIOS or BIOS come out. So one can use it! The
      adresses must be changed in Supervisormode!
 
   4) How to get Pexec to work:
 
      long Pexec(mode, ptr1, ptr2, ptr3)
      int mode;
      char *ptr1, *ptr2, *ptr;
 
      mode       function        description
 
        0        load and go     ptr1 = pathname to the program you want
                                        to run.
                                 ptr2 = Command tail (like the dialogbox
                                        when you invoke a .ttp file from
                                        the desktop).
                                 ptr3 = Environmentstring (only included
                                        for compatability with MS-DOS).
 
        3        just load       same pointers as above, you get the
                                 address of the basepage back.
 
        4        just go         ptr1 = address of basepage.
 
        5                        make a basepage and allocate free memory.
                                 Not everything you can expect is included
                                 however.
 
   5)  The standard formatter  makes an interleave of 0:
       1 2 3 4 5 6 7 8 9. It's quite easy to make your your own formatter:
       With help of the functions Protobt and Flopfmt you can do a lot!
       (if you don't know how just send me a message and i'll explain).
 
   6)  Atari uses a modified Wd 1772 controller from Western Digital. The
       modification lies in the steprates. (And also there's some malfunction
       in de read track command: for those of you who want to write a copier
       which copies all protected software: it can be done! :-) ).
 
   7)  I sent a message a while ago containing some stuff on MS-Write. (that's
       the name). I don't think it was a demo: Everything seems to work
       (according to my friend).
 
                                          Sietze Roorda
 
BITNET: INFTVT1@HENTHT5.
 
                      Which expressions ?

john@viper.UUCP (02/14/87)

In article <8702120450.AA18858@ucbvax.Berkeley.EDU> 
	INFTVT1@HENTHT5.BITNET writes:
 >Hi guys,
 > 
 >I recently a lot of questions i know the answer of, so here they are:
 > 
     .....................................

 > 
 >   4) How to get Pexec to work:
 > 
 >      long Pexec(mode, ptr1, ptr2, ptr3)
 >      int mode;
 >      char *ptr1, *ptr2, *ptr;
 > 
 >      mode       function        description
 > 
 >        0        load and go     ptr1 = pathname to the program you want
 >                                        to run.
 >                                 ptr2 = Command tail (like the dialogbox
 >                                        when you invoke a .ttp file from
 >                                        the desktop).
 >                                 ptr3 = Environmentstring (only included
 >                                        for compatability with MS-DOS).
 > 

	...................................

 >                                          Sietze Roorda


  Sietze, if you are going to give people information that you "know", you
should finish the job and give them the correct information.  What you
mentioned above is by-the-book as far as most Atari-ST references go, but
it's WRONG.  A small wrong, but wrong never-the-less....

  The string you identify as ptr2 is -NOT- a simple null terminated string
as most people would think.  It's a Pascal style string.  The first byte
of the string -must- contain a count value indicating the length of the
string.  This is why so many people have problems getting Pexec to work
and why many of the examples given in manuals for how to pass a parameter
string to a sub-program fail...  The authors just haven't done their
homework...... :^)