Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!ut-sally!husc6!cmcl2!rutgers!labrea!aurora!ames!sdcsvax!ucbvax!WALKER-EMH.ARPA!InfoMail-Mailer From: InfoMail-Mailer@WALKER-EMH.ARPA Newsgroups: comp.sys.atari.8bit Subject: Undeliverable Mail Message-ID: <8708011852.AA04112@ucbvax.Berkeley.EDU> Date: Tue, 28-Jul-87 17:21:00 EDT Article-I.D.: ucbvax.8708011852.AA04112 Posted: Tue Jul 28 17:21:00 1987 Date-Received: Sun, 2-Aug-87 09:57:12 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 256 Mail was not delivered to the following users because there were bad address(es) in TO and/or CC field(s): info-atari UNDELIVERED-MESSAGE: ---------------------------------------------------------------- Received: from score.stanford.edu by BBN.COM id aa00277; 28 Jul 87 17:17 EDT Date: Tue 28 Jul 87 09:50:39 PDT Subject: Info-Atari8 Digest V87 #62 From: Info-Atari8 @ SCORE.STANFORD.EDU Errors-to: Info-Atari8-request@Score.Stanford.EDU Maint-Path: Info-Atari8-request@Score.Stanford.EDU To: Info-Atari8 Distribution List: Reply-to: Info-Atari8@SCORE.STANFORD.EDU Text: Info-Atari8 Digest Tuesday, July 28, 1987 Volume 87 : Issue 62 This weeks Editor: Bill Westfield Today's Topics: Re: Info-Atari8 Digest V87 #61 Turbo BASIC for the 800 ACTION ERROR HANDLING ACTOIN ERROR HANDLING ADDENDUM ---------------------------------------------------------------------- Date: 27 Jul 87 08:53:57 PDT (Monday) Subject: Re: Info-Atari8 Digest V87 #61 From: "Hugh_E._Wells.ElSegundo"@Xerox.COM To: Info-Atari8@Score.Stanford.EDU In-Reply-to: Info-Atari8%Score.Stanford:EDU:Xerox's message of 7/27/87 Hi John, Yes, I would like to have a copy of the Turbo Pascal and will send a disk if you will post your address here or send it to me via slow mail. I'll post mine here so that we can correspond outside the net if you wish. Thanks, Hugh Wells 1411 18th St Manhattan Beach, CA 90266 ------------------------------ Posted-From: The MITRE Corp., Bedford, MA To: info-atari8@score.stanford.edu Subject: Turbo BASIC for the 800 Date: Mon, 27 Jul 87 20:24:23 EDT From: jhs@mitre-bedford.ARPA The Turbo BASIC disk turns out to be a boot disk, i.e. it has a "special" DOS.SYS on it which contains, presumably, the interpreter. I assume that there is no easy way to transmit this as a uuencoded file, because the decoded file cannot be written back to the disk by DOS in the proper way. Does anybody know if there IS a way to do this to save me having to mail all the disks out? I.e. a way that does not require me to write a special version of uudecode and or uuencode? Any nifty ideas or should I start either writing the program or mailing the disks? -John Sangster, jhs@mitre-bedford.arpa ------------------------------ Date: 28 Jul 87 02:30:43 GMT From: kaoa01.dec.com!curzon@decwrl.dec.com (Richard Curzon KAO4-3/7A DTN 621-2196) Subject: ACTION ERROR HANDLING To: info-atari8@score.stanford.edu Re Marc Appelbaum's question on error handling in Action, here are 2 approaches at least: I got them from Bruce Langdon, who used to put lots of stuff in this newsgroup last year on the Action! language. If you want me to mail "the works" to you, send me personal mail. I don't normally receive the newsgroup mailings! ============================== One approach: ============================== BYTE OpOK ; flag for file opening error routinge PROC SysError(BYTE errno) ;used to save error Routine ;pointer below PROC MyError(BYTE errno) IF errno=$80 THEN Error=SysErr Error(errno) FI ; break quits PrintF("error %I. Try again%E",errno) OpOK=0 RETURN PROC Main() SysError = Error ; save old error handler vector Error = MyError ; replace it with MyError OpenFile() ; prompts for filename, and opens file ; after OPEN command, use something like: ;"IF OpOK THEN [go ahead] ; ELSE [prompt for filename again] ; FI" Error = SysError ;restore normal os error handler . . . ======================== another approach ======================== MODULE ; CATCH.ACT ; copyright (c) 1984 ; by Action Computer Services ; All Rights Reserved ; This module provides two PROCs ; (Catch and Throw) which can be used ; for error trapping (and flow ; control, yeck!) in ACTION!. To ; use them, you must call the Catch ; PROC to indicate where you want ; the program to continue when you ; call Throw. When throw is called, ; execution will continue following ; the last call to Catch with the ; same index as the call to Throw. ; Calling Catch is similar (but not ; identical) to TRAP in BASIC. It ; differs in that the actual trapping ; is generated by the user (by ; calling Throw) and that you can ; have multiple Catch'ers active at ; one time. Also, you cannot Throw ; to a Catcher that is no longer ; active (the PROC/FUNC containing ; it has RETURN to it's caller). The ; Throw procedure tries to check for ; this error, but it is possible to ; fool it into thinking it's OK. If ; you want to solve this problem, you ; can set 'c_t_sp(index)' to zero ; before you return from the PROC ; that contained the Catch(index). ; If index is greater than 24 or ; if there is no matching Catch index ; for the Throw, then Error will be ; called with a value of CTERR ; (defined below to be 71). If you ; setup your own Error procedure and ; use Catch and Throw, your error ; procedure should handle this error ; as well or your program will most ; likely "go off the deep end". DEFINE CTERR = "71" BYTE ARRAY c_t_sp(25)=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] BYTE ARRAY c_t_hi(25), c_t_lo(25) PROC Catch(BYTE index) DEFINE TSX="$BA", TXA="$8A", LDYA="$AC", STAY="$99", PLA="$68", LDAY="$B9", PHA="$48" IF index>=25 THEN Error(CTERR,0,CTERR) FI [ LDYA index PLA STAY c_t_hi PLA STAY c_t_lo TSX TXA STAY c_t_sp LDAY c_t_lo PHA LDAY c_t_hi PHA ] RETURN PROC Throw(BYTE index) DEFINE TXS="$9A", PHA="$48", LDYA="$AC", STX="$86", TSX="$BA", TAX="$AA", LDAY="$B9" BYTE sp=$A2 ; get current stack pointer [ TSX : STX sp ] IF index>=25 OR sp+2>c_t_sp(index) THEN Error(CTERR,0,CTERR) FI [ LDYA index LDAY c_t_sp TAX TXS LDAY c_t_lo PHA LDAY c_t_hi PHA ] RETURN MODULE ; for following code... ------------------------------ Date: 28 Jul 87 02:52:03 GMT From: kaoa01.dec.com!curzon@decwrl.dec.com (Richard Curzon KAO4-3/7A DTN 621-2196) Subject: ACTOIN ERROR HANDLING ADDENDUM To: info-atari8@score.stanford.edu Re Marc Appelbaum's question, my q & d answer omitted one important (maybe obvious) thing -- you have to set the flag OpOK to 1 before Opening the file. Other wise it error handling routine can't flag whether the error handler has been called! see y'all...... Dick Curzon Digital Equipment of Canada PO Box 13000 Kanata Ontario K2K 2A6 Canada. (DEC E-NET) KAOA01::CURZON (UUCP) {decvax, ucbvax, allegra}!decwrl!kaoa01.dec.com!curzon (ARPA) curzon%kaoa01.DEC@decwrl.ARPA ------------------------------ End of Info-Atari8 Digest ************************** ------- -------------------END OF UNDELIVERED MESSAGE-------------------