Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bloom-beacon!oberon!cit-vax!ucla-cs!zen!ucbvax!WALKER-EMH.ARPA!InfoMail-Mailer From: InfoMail-Mailer@WALKER-EMH.ARPA Newsgroups: comp.sys.atari.8bit Subject: Undeliverable Mail Message-ID: <8710081436.AA03615@ucbvax.Berkeley.EDU> Date: Thu, 8-Oct-87 10:26:00 EDT Article-I.D.: ucbvax.8710081436.AA03615 Posted: Thu Oct 8 10:26:00 1987 Date-Received: Sun, 11-Oct-87 02:23:06 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 367 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 BBN.COM by WALKER-EMH.ARPA ; 8 Oct 87 13:55:58 GMT Received-2: from score.stanford.edu by BBN.COM id aa07823; 8 Oct 87 9:44 EDT Date: Tue 6 Oct 87 10:03:26 PDT Subject: Info-Atari8 Digest V87 #88 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, October 6, 1987 Volume 87 : Issue 88 This weeks Editor: Bill Westfield Today's Topics: Standalone (shareware) OmniCom XF551 and ADOS kermit information some silly programs Dhrystone figures for the Atari 800xl SX212 info sought What's the right way... ---------------------------------------------------------------------- Posted-From: The MITRE Corp., Bedford, MA To: info-atari8@score.stanford.edu Subject: Standalone (shareware) OmniCom Date: Sat, 03 Oct 87 23:47:45 EDT From: jhs@mitre-bedford.ARPA Steven Grove, your message arrived with no useable return path, so I am unable to reply directly. Steve comments that he would like to download OmniCom but has no terminal software with which to download it. This situation keeps coming up. Can't somebody come up with a simple downloading program? The following program might be turned into something that can be used for this purpose by adding some machinery to buffer the received data in a string, then CLOSE the serial I/O and write the string to a file. Steve, maybe you could be the one to get this working. Meanwhile, the program below, as it stands, may be enough to let you at least log in as a dumb terminal. You may have to fiddle to get it working, but it is what Avatex publishes with their modem as a simple terminal program. -John S. -------------------------------c-u-t---h-e-r-e-------------------------------- 10 GOTO 310:REM Dumb Terminal Prog. 100 STATUS #3,AVAR:IF PEEK(747)=0 THEN 200 120 GET #3,CHAR:IF CHAR=0 OR CHAR=10 THEN 200 130 PUT #4,CHAR 200 IF PEEK(764)=255 THEN 100 210 GET #2,KEY:PUT #3,KEY:GOTO 100 300 REM I/O Setup for Dumb Terminal. 310 OPEN #2,4,0,"K:" 320 OPEN #3,13,0,"R:" 330 OPEN #4,8,0,"E:" 340 XIO 34,#3,192+48+3,0,"R:" 350 XIO 40,#3,0,0,"R:" 360 GOTO 100:REM Go to it! [I have a very simple basic program for the IBM PC that downloads files using the xmodem protocol. It might be easilly convertable to the atari. Someone drop me a note if they are interested... BillW@Score.stanford.edu] ------------------------------ Date: Mon, 5 Oct 87 08:44:19 EDT From: lazear@gateway.mitre.org To: info-atari8@score.stanford.edu Subject: XF551 and ADOS I have seen the XF551 advertized in ANTIC, but haven't seen any word on the ADOS that supposedly accompanies it. You would think this would be a big deal and worthy of a review. Anyone seen the drive for real or used ADOS? Walt Lazear (lazear@gateway.mitre.org) ------------------------------ Date: Mon, 5 Oct 87 14:31:14 PDT From: davidp@tc.fluke.com (David Pryor) To: info-atari8@score.stanford.edu Subject: kermit information I have a little problem. I would like to have a copy of kermit on my atari but have no way of down loading it to the atari. I would be willing to mail a disk and a stamped mailer if some one would be willing to copy it for me. Thanks in advance Dave Pryor davidp@tc.fluke.COM ------------------------------ Posted-From: The MITRE Corp., Bedford, MA To: info-atari8@score.stanford.edu Subject: some silly programs Date: Mon, 05 Oct 87 22:48:52 EDT From: jhs@mitre-bedford.ARPA Probably everybody who ever got a home computer must have written one of each of the following programs, but I thought a few readers of these postings might find them useful nevertheless, especially "APRPROG.BAS", which computes the effective Annual Percentage Rate of a loan. -John Sangster / jhs@mitre-bedford.arpa ------------------------------------------------------------------------------ MORTGAGE.BAS - Simple loan payment calculator. Given the Annual Percentage Rate of interest, the number of payments per year (normally 12), and the total number of PAYMENTS in which loan is to be paid off, returns the monthly payment amount. (E.g. for 30 years of monthly payments, there are 360 payments.) The above is obtained by "RUN" or GOTO 100. If you start the program instead with "GOTO 400", it prints, on your printer, a table of "dollars per thousand" loan amounts for a range of interest rates you select and for a set of convenient loan durations (15, 20, 25, 30 years). (C) 1987 by John H. Sangster, placed in the public domain for non-commercial use; all commercial rights reserved. -------------------C-u-t---h-e-r-e---f-o-r---MORTGAGE.LST--------------------- 100 PRINT "}" 110 PRINT "MORTGAGE CALCULATOR by JHS" 120 ? "Revised 10 August 1986":? 130 N=300:NOLD=300:REM 25 YEARS 140 PRINT "ANNUAL PERCENT INTEREST"; 149 TRAP 162 150 INPUT I:IF I>0 THEN GOTO 170 160 IF I>0 THEN GOTO 170 161 PRINT "I <=0, SO..." 162 END 170 IF I>=1 THEN GOTO 200 180 I=I*100:? "TIMES 100 ASSUMED" 181 GOSUB 320 200 PRINT "PAYMENT PERIODS/YEAR"; 205 TRAP 211 210 INPUT K:GOTO 220 211 ? "MONTHLY PAYMENTS ASSUMED":K=12:GOSUB 320 220 IF K<=0 THEN STOP 230 LET IP=I/(K*100):REM INT/PERIOD 240 PRINT "TOTAL NR OF PAYMENTS"; 245 NOLD=N:TRAP 255 250 INPUT N:IF N<=0 THEN STOP 251 GOTO 260 255 N=NOLD:? "ASSUMING N=";:? N:GOSUB 320 260 GOSUB 265:GOTO 270 265 LET R=IP/(1-(1+IP)^-N):RETURN 270 PRINT "MULTIPLIER=";R 279 TRAP 140 280 PRINT "AMOUNT BORROWED";:INPUT A 290 IF A<=0 THEN PRINT :GOTO 140 300 P=INT(A*R*100+0.5)/100:PRINT P 310 GO TO 279 320 SOUND 0,85,10,15:FOR J=1 TO 40:NEXT J:SOUND 0,0,0,0:RETURN 400 REM Print Table of $/1000 410 ? "Starting APR";:INPUT APR1 420 ? " Ending APR";:INPUT APR2 430 ? " Step in APR";:INPUT ASTEP 432 CLOSE #1:OPEN #1,8,0,"P:" 433 PRINT #1,," Dollars Per Thousand Per Month":PRINT #1," " 434 PRINT #1," ","APR"," 15 Years"," 25 Years"," 30 Years":PRINT #1 440 FOR APR=APR1 TO APR2 STEP ASTEP 450 IP=APR/(K*100):N=180:GOSUB 265:R15=R*1000:N=300:GOSUB 265:R25=R*1000 455 N=360:GOSUB 265:R30=R*1000:PRINT #1,,APR,R15,R25,R30 460 NEXT APR ------------------------------------------------------------------------------ APRPROG.BAS - Computes Annual Percentage Rate (APR) from amount of loan, number of monthly payments, and amount of monthly payment (principal plus interest). Uses functional iteration method based on Contraction Mapping Theorem. (C) 1987 by John H. Sangster, placed in the Public Domain for non-commercial use; all commercial rights reserved. --------------------C-u-t---h-e-r-e---f-o-r---APRPROG.LST--------------------- 100 REM Program to compute APR (Annual Percentage Rate) from loan amt A, Payment P, and nr of payments N. 110 ? "Truth-in-Lending Interest Rate" 120 ? "Calculator - JHS 28 July 1986" 130 ? :TRAP 600 140 ? "Loan Amount";:INPUT A:? "Monthly Payment";:INPUT P:? "Total Nr of Payments";:INPUT N 150 IF A=0 THEN ? "AMOUNT=0 - INTEREST IS UNDEFINED":GOSUB 1000:GOTO 140 155 PA=P/A:I=PA 160 FOR J=1 TO 100 170 IOLD=I 180 GOSUB 500 190 IF ABS(I-IOLD)/IOLD<1E-12 THEN 300 200 NEXT J 210 ? "No convergence!":GOSUB 1000:GOTO 140 300 ? "CONVERGED AFTER ";J;" ITERATIONS" 400 ? "APR=";I*1200;" PERCENT PER ANNUM" 410 ? :GOTO 140 500 REM Iteration to improve estimate of I: 510 I=PA*(1-(1+I)^(-N)) 520 RETURN 600 ? :? "Use BREAK to exit to BASIC.":? :GOTO 110 1000 SOUND 0,65,12,15:FOR I=1 TO 120:NEXT I:SOUND 0,0,0,0:RETURN ------------------------------------------------------------------------------ CHEKBOOK.BAS - Simple checkbook balancing aid. Nothing fancy, just does the dirty work. Main advantage over a calculator is that the program helps you keep your place by automatically incrementing the check number as you enter check amounts. (C) 1987 by John H. Sangster - Placed in the public domain for non-commercial use; all commercial rights reserved. ----------------------C-u-t---h-e-r-e---f-o-r---CHEKBOOK.LST------------------ 10 REM Simple Checkbook Program 11 REM JHS 06/08/86 Version 1.0 12 REM Command interpreter to be 13 REM added in later version. 15 DIM A$(40):TRAP 200:BAL=0 200 REM Startup Routines 220 DIM C(100):DIM D(300) 1000 REM F - Forward Balance 1005 TRAP 2000 1010 ? "Balance forward from prev stmt":INPUT BALF:BAL=BALF 2000 REM C - Enter Credit Items 2010 ? "Enter credit items (deposits,":? "interest, corrections etc.)," 2020 ? "followed by RETURN, or just RETURN":? "to end input.":NC=0 2030 FOR I=1 TO 100:INPUT A$:IF LEN(A$)=0 THEN GOTO 3000 2035 C(I)=VAL(A$) 2040 BAL=BAL+C(I):NC=I:NEXT I 3000 REM D - Debits: checks & charges 3010 ? "Enter debits(checks&charges)" 3020 ? "Start with checks, beginning with":? "check number";:NCHK=0 3025 TRAP 3030:INPUT A$:NCHK=VAL(A$):ND=0 3030 FOR I=1 TO 300:? NCHK;" ";:INPUT A$:IF LEN(A$)=0 THEN GOTO 4000 3040 D(I)=VAL(A$):BAL=BAL-D(I) 3050 ND=I:IF D(I)>=0 THEN NCHK=NCHK+1 3060 IF D(I)<0 THEN NCHK=NCHK-1 3070 NEXT I 4000 REM Final Output Section 4010 TC=0:TD=0 4020 IF NC>0 THEN FOR I=1 TO NC:TC=TC+C(I):NEXT I 4030 IF ND>0 THEN FOR I=1 TO ND:TD=TD+D(I):NEXT I 4090 ? "STARTING BALANCE WAS $";BALF 4100 ? "TOTAL CREDITS $";TC;" # ITEMS: ";NC 4101 ? "TOTAL DEBITS $";TD;" # ITEMS: ";ND 4102 ? "ENDING BALANCE IS $";BAL:? :? 4110 ? "DO NEXT MONTH";:INPUT A$:IF A$(1,1)="Y" THEN BALF=BAL:GOTO 2000:END ------------------e-n-d---o-f---s-i-l-l-y---p-r-o-g-r-a-m-s------------------- ------------------------------ Date: 5 Oct 87 14:05:21 GMT From: cbosgd!cblpf!cblpe!res@ucbvax.Berkeley.EDU (Rob Stampfli) Subject: Dhrystone figures for the Atari 800xl To: info-atari8@score.stanford.edu x I recently ported the Dhrystone Version 1.1 software to my Atari 800xl and compiled it using the CC8 compiler recently posted by Steve Kennedy. I then recoded the program in the Action! language and ran it. Here are the results: CC8 Version 2.3b, Ace-C Runtime Engine: 7.8 dhrystones/sec Action! Version 3.6: 131 dhrystones/sec By way of comparison here are how some other common micro's performed: Commodore 64, C Power 2.9 trim: 34 dhrystones/sec Commodore 128, C Power 128 trim: 68 dhrystones/sec IBM PC/XT, MS-DOS 2.0, Microsoft 3.1 C: 347 dhrystones/sec Atari 520ST, TOS, Lattice 3.03.01: 450 dhrystones/sec Amiga 1000, Manx C 2.30a, 32 bits: 684 dhrystones/sec Amiga 1000, Manx C 2.30a, 16 bits: 915 dhrystones/sec Atari 520ST, TOS, Megamax 1.0: 1136 dhrystones/sec IBM PC/AT, PC-DOS 3.20, Microsoft 4.0: 1796 dhrystones/sec Comments: The dhrystone program is designed to generate a "figure of merit" benchmark of a particular computer / compiler combination. It consists of a statistically typical set of operations, minus i/o and floating point, invoked repeatedly and timed. The results are indicated in iterations/sec. Published statistics exist for literally hundreds of machine/compiler combinations. In getting these programs to run, I had to make several modifications, which I believe did not significantly alter the final results. Since CC8 does not recognize 'typedefs', I had to rewrite the code so as not to use them. Action!, of course, is an entirely different language, but I took care to port the code faithfully. Surprisingly, the only area where I had trouble making a direct port involved a doubly dimensioned array. Action! does not support this, so I had to define a large singly dimensioned array and generate the index manually. The dhrystone package was, by design I believe, not optimally written in C, and could have been made for efficient during the rewrite, if that had been a goal. The results speak well of the machine and compilers. CC8 is a real jewel, the best C compiler I have seen for the Atari, and Steve has taken pains to include most of the constructs found in the full implementation of C. This was substantiated by the ease of the port. However, CC8 is interpretive, so you would not expect it to be a stellar performer in the speed category. Action! is marketed by OSS, Inc., and is a true compiler plus development system on a plug-in Atari cartridge. Not only does it possess a phenominal human interface, but the code it produces is well known to run like a bat out of hell. Too bad it is a language which has never been available on anything but the 8-bit Ataris. One concern I had was that Action! stores string variables internally in a different format from C. I don't think this is significant in the operation of the program, so I did not go out of my way to try to mimic C here, but rather let Action do its thing. I never expected to break 100 dhrystones/sec even if I coded in assembler. To do this on an 8-bit machine with a clock speed of less than 2 Mhz is truely impressive. I did not try a port to Basic, but it would be interesting to see what kind of figures this would produce. Any takers? Robert Stampfli cbosgd!cblpe!res ------------------------------ Date: 6 Oct 87 03:32:01 GMT From: topaz.rutgers.edu!wilmott@rutgers.edu (Ray Wilmott) Subject: SX212 info sought To: info-atari8@score.stanford.edu !!!!!!!!!!!!!!!!!!!!!!!!!!!!! Hello all. Rumour has it in these parts that the SX212 will be on stores shelves very soon (if it isn't already!). A couple questions maybe someone out there can answer for me that none of my friends seems to know for sure... 1) Can you or can you not connect the SX212 directly to the 8-bit without an interface? 2) About connecting to the 8-bit, does it come packaged with the necessary cable and term program (I'd heard something about a new version of Express?), or do you have to hunt them down seperately? 3) Perhaps most importantly to me, since the main reason I would like to get the SX212 is for use with the schools' Unix system (300 baud can be painful when you want to do something other than read the newsgroups :-) ), I would like to know *for sure* if Chameleon will work with it or not. As always, any info is greatly appreciated. -Ray Wilmott wilmott@topaz.rutgers.edu ------------------------------ Date: Tue, 6 Oct 87 12:22 EDT From: John R. Dunning Subject: What's the right way... To: info-atari8@SCORE.STANFORD.EDU to return from a program to DOS? I always thought the protocol was that DOS (any DOS) effectively JSR'ed to the start address of the program once it was loaded; thus the right way to return was just to RTS. That's always worked for me, using DOS XL. However, I've gotten some reports that Kermit-65 sometimes wedges up when one exits from it. I'm pretty sure I'm not trashing the stack; it really looks like DOS expects something other than an RTS. Anyone got any ideas? Thanks in advance. ------------------------------ End of Info-Atari8 Digest ************************** ------- -------------------END OF UNDELIVERED MESSAGE-------------------