From: phbill@cyberden.sf.ca.us
Newsgroups: comp.sys.atari.8bit
Subject: COM_RUN
Date: Sat, 02 Jan 93 21:26:02 PST
Reply-To: phbill@cyberden.sf.ca.us
Organization: Indescribable Creations

Well, I've figured out how to pass parameters between programs!  YAY!  
What are you going on about? you ask??  Well, I've been convinced to add 
parameter passing abilities to the MyNI_DOS CLI.  A fellow C.S.A.8 reader 
(damn, sorry! I forgot who you werw! :-(  ) said that SpartaDOS uses page 
4 of memory, so I finally got off my duff and looked it up in _Mapping_.  
Unfortunatley, the only thing on page 4 is the descriptions of addresses 
8 through 11.

Ok, it was a bad joke the first time what's-his-name said it, and it 
still is now :) ...

Anyways... page 4 of memory is... (drum roll, please), the CASBUF 
(cassette buffer), which is only used (guess when!?) when using a program 
recorder.  (Oh, and also during boot...)  Soooooooo . . .
I've made a TurboBASIC XL demo that shows how it's done.  I'm lucky 
enough now to have a RAMDisk, so running "COMmand" (.COM) files from disk 
wasn't a discouraging thought.  Anyways, I made a few little TBXL 
programs...
  COM_RUN.TBS  - COMmand file RUNner (in TurboBaSic).  It's a VERY simple
                 CLI.  All it can do is load another TBXL program 
                 (passing parameters to it), display a title/info., and
                 exit back to TurboBASIC.
  DIRCOM.TBS   - The "DIR" command.  It shows a directory... the mask of
                 which is sent as... a PARAMETER!!...
  WDIRCOM.TBS  - A wide-directory (two columns) viewer.
  VIEWCOM.TBS  - A graphics 8, 9, and 15 picture viewer.  It uses one or
                 two parameters!
  RUNCOM.TBS   - A program runner!  HA!
and then, some other ones I made later that day (after I made the first 
ARC and uploaded it here & there) were:
  TIMECOM.TBS  - sets or displays current value of TBXL's TIME$ clock.
  READCOM.TBS  - ..the most "complex" of the COMmand programs I've made
                 for this little demonstration.  It displays text files,
                 and knows how to translate ASCII CR/LFs into AtASCII 
                 EOLs, and it can set address 766 to 1 (meaning the 
                 editor characters are displayed, rather than "done"), 
                 and finally it can use the INPUT command rather than
                 GET to load and display AtASCII files (as long as no
                 line in the file is greater than 255(?) bytes...).
                 THIS COMmand file uses up to 4 parameters, the first
                 being the file name, and the other three being the
                 display/load settings (described above) >IN ANY ORDER!<

Cool, eh?  (well, >I< think it is, as I'm not a SpartaDOS user, and I've 
never done anything as way-cool as this! ;)  )


Well...  I could simply UUEncode the ARC and post it here (perish the 
thought!  Too bad it's a VERY small ARC, eh!?  I could probably even 
post a LISTing of the other two COMmand files...)


BTW: Just FYI, this concept is going to be used in MyNI_DOS, and if 
someone'd be kind enough to explain EXACTLY how SpartaDOS does it, I 
could even try & make it SD compatible!  gasp...

Thanx!

BYE!

           \
  /\  /    /\  / /  /
 /\/ /\  \/\/ / /  /    PhBill@Cyberden.SF.CA.US, or
/     /   \/ /  \  \    PhBill@Cyberden.UUCP