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...... :^)