The group you are posting to is a . Messages posted to this group will make your email visible to anyone on the Internet.
1.
btb
More options
Feb 1 1987, 4:09 am
Newsgroups: comp.sys.atari.8bit
From: b@ncoast.UUCP -
Date: Sat, 31-Jan-87 14:09:06 EST
Local: Sun, Feb 1 1987 4:09 am
Subject: BINHEX of TBASIC interpreter with HEXBIN.LST
|
|
|
|
|
|
|
Hello folks.
Below, I've included everything you need to get started with Turbo BASIC... first, there is the listing of Dan Fleysher's HEXBIN.BAS program, and second, there is the Turbo BASIC interpreter which has been BINHEX'd using Dan's BINHEX.BAS.
Binhex is nice, because it is a simple enough idea that most of us could write a program to encode and decode in a fix... and a simple idea means less chance for bugs... jhs's uudecode is also something that we need, because it has a 3 to 4 expansion ratio compared to binhex's 1 to 2 ratio..., but with its increased complexity it is more challenging to write a bug free program to handle its protocol, so while some of us are working to develop good programs to uuencode and uudecode, the rest of yyou are without Turbo BASIC, which I think is one of the most important programs to come out for the Atari 8-bits since the Express terminal programs... additionally, Turbo BASIC would be a much more productive place to write more sophisticated programs like uudecode & and uuencode... (but without Turbo BASIC, obviously, those that don't have it couldn't use such programs, so here it is!).
It took approximately 10 minutes to binhex the interpreter, which we will call TBASIC.COM, from ramdisk, to ramdisk... a couple of points:
1) Turbo BASIC will not work under SpartaDOS 3.2... both TB, and SpartaDOS 3.2 try to hide in the same address space as the OS,
2) Turbo BASIC will only work with XL/XE machines, because these machines have RAM which can be switched into the OS address space, and this is how Turbo BASIC finds its place to hide...
Regarding TB Docs, perhaps some other kind soul will u/l them... there are lots of new commands in TB, and it is probably about 95% compatible with your existing Atari BASIC programs, so you can use Turbo BASIC to speed them up: WARNING: There have been problems with people trying to use terminal programs like Amodem, etc., in TB... Apparently, TB uses the space normally used by the R: handlers, but this is a minor shortcoming when you consider everything else that TB has.
The TB package that I have gotten off of local BBs here has included two 80K shrink files with the interpreter, a compiler, a runtime package, some neat demo programs, and all the docs, but this should get you started, and once you have TB, you could use programs (eh, jhs & Dan?) written in TB to do uuencoding and decoding, so potentially, we could post the whole package at some point...
What to do: save this message to a file edit out the TBASIC.BHX and HEXBIN.LST files d/l them to your machine... I recommend some form of Kermit for this, like Chameleon, because it will automatically convert your machines EOLs to ATASCII EOLs (155 dec)... HEXBIN it! and enjoy!
Brad Banko
Cleveland, Ohio
...!decvax!cwruecmp!ncoast!btb
******************** ----- separator line ------ ****************************
1 REM HEXBIN 1.1, DECEMBER 1984 2 REM -- BY DAN FLEYSHER -- 3 REM (FLEYSHER.WBST@XEROX) 4 REM THIS BASIC PROGRAM CONVERTS A 5 REM HEXADECIMAL TEXT FILE CREATED 6 REM BY COMPANION PROGRAM BINHEX 7 REM BACK INTO ITS ORIGINAL BINARY 8 REM FILE FORMAT. THE CHECKSUM AT 9 REM THE END OF THE INPUT HEX FILE 10 REM IS VERIFIED. 11 REM 20 DIM FILEIN$(15),FILEOUT$(15) 30 BUFSIZ=37:DIM BUF$(BUFSIZ) 40 ASCA=ASC("A"):ASCF=ASC("F"):ASC0=ASC("0"):ASC9=ASC("9") 50 ? "} HEXBIN 1.0":? :? 60 TRAP 60:? "INPUT FILENAME";:INPUT FILEOUT$ 70 IF FILEOUT$<>"" THEN 90 80 FILEOUT$="D:HEXFILE.TXT":? " ";FILEOUT$:GOTO 100 90 GOSUB 1000 100 FILEIN$=FILEOUT$:? 110 TRAP 110:? "OUTPUT FILENAME";:INPUT FILEOUT$:GOSUB 1000:? 120 TRAP 40000:SUM=0 130 OPEN #4,4,0,FILEIN$:OPEN #5,8,0,FILEOUT$ 140 TRAP 310:INPUT #4,BUF$:? BUF$:LBUF=LEN(BUF$):IF LBUF<7 THEN 140 142 FOR I=1 TO LBUF-6:IF BUF$(I,I+6)=".START." THEN 146 144 NEXT I:GOTO 140 146 POP :? " STARTING FILE CONVERSION" 150 TRAP 310:INPUT #4,BUF$:? BUF$:LBUF=LEN(BUF$):EVENODD=0:REM EVEN=0 155 IF LBUF=0 THEN 150 160 FOR I=1 TO LBUF 170 HEX1=ASC(BUF$(I,I)) 180 IF HEX1>=ASC0 AND HEX1<=ASC9 THEN HEX1=HEX1-ASC0:GOTO 200 190 IF HEX1>=ASCA AND HEX1<=ASCF THEN HEX1=HEX1-ASCA+10:GOTO 200 192 IF LBUF<I+5 THEN GOTO 240 194 IF BUF$(I,I+5)=".STOP." THEN 260 196 GOTO 240 200 EVENODD= NOT EVENODD 210 IF EVENODD THEN BYTE=HEX1:GOTO 240 220 BYTE=(16*BYTE)+HEX1 230 SUM=SUM+BYTE:PUT #5,BYTE 240 NEXT I:IF EVENODD THEN ? "ERROR - MISSING 1 OR MORE NIBBLES" 250 GOTO 150 260 POP :TRAP 40000:IF SUM=VAL(BUF$(I+6)) THEN ? "CHECK SUM VERIFIED.":? :GOTO 330 270 ? "CHECK SUM ERROR:":GOTO 320 310 ? "PREMATURE END OF FILE - NO CHECK SUM:" 320 ? " COMPUTED CHECK SUM = ";SUM 330 CLOSE #4:CLOSE #5 340 END 1000 IF LEN(FILEOUT$)<3 THEN GOTO 1040 1010 IF FILEOUT$(1,2)="D:" THEN RETURN 1020 IF LEN(FILEOUT$)<4 THEN GOTO 1040 1030 IF FILEOUT$(1,1)="D" AND FILEOUT$(3,3)=":" THEN RETURN 1040 BUF$=FILEOUT$:FILEOUT$="D:":FILEOUT$(3)=BUF$:RETURN
******************** ----- separator line ------ ****************************
Please remove me from the mailing list, thank you!
Music demo program
1.
jhs
More options
Feb 2 1987, 6:32 am
Newsgroups: comp.sys.atari.8bit
From: j@MITRE-BEDFORD.ARPA -
Date: Sun, 1-Feb-87 16:32:39 EST
Local: Mon, Feb 2 1987 6:32 am
Subject: Music demo program
|
|
|
|
|
|
|
Here is a silly little program that plays random music on the Atari 8-bit computers. It demonstrates some principles of music theory, such as the use of the twelfth root of two as the ratio between halftones in the "tempered diatonic scale". The algorithm picks a random step up or down from the current "base note", then picks some other more or less harmonious notes to go with the base note and make a chord. The result is (to my ears) usually pleasing, sometimes a little dissonant -- but then so are a lot of modern pieces of so-called music. There is also a bit of logic to vary the tempo occasionally by holding a note two or perhaps four times as long as the minimum.
You can probably learn from the basic program and make interesting modifications on your own. Enjoy, or ignore, as the case may be.
If you have uudecode on your host system you can uudecode this file there and then download it to your Atari. You should use 8-bit transfer mode as the uudecoded file will contain ATASCII characters such as end of line, and is a tokenized BASIC (not .LST) file.
If you don't have uudecode on your host, you can download this file as a normal ASCII file, letting your terminal emulator translate into ATASCII and then use the uudecode I posted on the net to decode it on your Atari. If anyone lacks the uudecode program, I can post it again.
-John Sangster / j@mitre-bedford.arpa
TV Test Pattern Generator programs
1.
jhs
More options
Feb 2 1987, 6:39 am
Newsgroups: comp.sys.atari.8bit
From: j@MITRE-BEDFORD.ARPA -
Date: Sun, 1-Feb-87 16:39:24 EST
Local: Mon, Feb 2 1987 6:39 am
Subject: TV Test Pattern Generator programs
|
|
|
|
|
|
|
I also have some programs in BASIC that generate TV test patterns such as color bars, dots, crosshatches, etc.
If you want to open your own TV service shop but can't afford the test equipment, let me know and I will post (or mail you) the programs!
-John Sangster j@mitre-bedford.arpa
Verifying disk drive speed - How ?
2.
kdj
More options
Feb 5 1987, 8:09 am
Newsgroups: comp.sys.atari.8bit
From: k@teddy.UUCP -
Date: Wed, 4-Feb-87 18:09:25 EST
Local: Thurs, Feb 5 1987 8:09 am
Subject: Verifying disk drive speed - How ?
|
|
|
|
|
|
|
I have seen a program (awhile back now) that could tell you the rotation speed of your disk drive. And given that you have access to a POT or some other adjustment screw, you could adjust and correct the speed. The disk speed, i believe, is slowing down and I am getting checksum errors on some of my use-to-work disks.
Does anyone know of (or have) a solution to this problem ? Your help would be appreciated.
--
->Kenneth D. Jordan, GenRad Inc, Production Test Division
<-
->USmail: Mail Stop 4, 300 Baker Ave, Concord, Mass.
01742 <- ->usenet: {decvax,linus,wjh12,mit-eddie,cbosgd,masscomp}!genrad!panda!kdj <-
->tel: (617) 369-4400 x2824
<-
uudecode revision..
1.
jhs
More options
Feb 2 1987, 8:37 am
Newsgroups: comp.sys.atari.8bit
From: j@MITRE-BEDFORD.ARPA.UUCP -
Date: Sun, 1-Feb-87 18:37:48 EST
Local: Mon, Feb 2 1987 8:37 am
Subject: uudecode revision..
|
|
|
|
|
|
|
Here is a minor revision of uudecode. This version IS SUPPOSED to do the following:
1. It should act like the latest former version in that it counts bytes and hopefully works OK on 800s as well as 800XLs with or without OMNIVIEW.
2. If you enter a RETURN for the output file name, it will proceed until it has read the "begin" line of the input file. If it finds a normal "begin" line, i.e. one with "begin" and something ending with a space followed by a valid filename, it will use that name for the output filename. Otherwise it will either ask for a filename again or bomb, depending on its mood.
Note that this implies you can give it a nonstandard output file name or let it use the one on the "begin" line by default.
By popular request, this version is also supposed to ignore header and trailer comments, e.g. if the file is embedded in a mail message. It searches for "begin" before even opening the output file.
Finally, the diagnostics at line 20 have been made a little more helpful.
I made this mod on the VAX and have not tested it on an Atari yet. But how could such a simple change have any bugs in it? (Don't answer that!) I would appreciate comments from my "Beta Test Site" users on whether the new features work.
-John S.
Be sure to download with translation to ATASCII character set enable. (The ASCII Line Feeds have to be translated to EOLs. $9B)
------------c-u-t---h-e-r-e---f-o-r---r-e-v-i-s-e-d---UUDECODE.LST------------ 1 GOTO 100:REM jump around time-critical loop to start up program. 2 M=USR(UUDADR) 10 IF M=0 THEN 2090 20 IF M<0 OR M>OBUFDIM THEN ? "Error at line 20 - M=";M;" BYTES=";BYTES:GOTO 3000 30 PRINT #2;OBUF$;:BYTES=BYTES+M 40 INPUT #1,IBUF$:GOTO 2 100 ? "Uucode Ver. 0.8":? "Report errors to":? "J. Sangster at (617) 235-8753" 101 ? "or j@mitre-bedford.arpa":REM Modified to count bytes 1/14/86 - JHS 102 POKE 6,1:REM Temporary fix for improved OMNIVIEW compatibility. 103 REM This version modified to take filename from header in .uue file. 105 DIM OBUF$(80),IBUF$(80),OFILE$(16),IFILE$(16),A$(1) 110 DIM UUDECODE$(400),UUENCODE$(400) 120 UUDADR=ADR(UUDECODE$):UUEADR=ADR(UUENCODE$):IBUF=ADR(IBUF$):OBUF=ADR(OBUF$) 130 OBUFDIM=80:UUDDIM=400 500 REM COMMAND DISPATCHER 520 ? "Encode (E) or Decode (D)";:INPUT A$ 530 ? "INPUT FILE";:INPUT IFILE$:IF LEN(IFILE$)=0 THEN 530 540 ? "OUTPUT FILE":INPUT OFILE$:IF A$="E" AND LEN(OBUF$)=0 THEN 540 550 IF A$="E" THEN 1000 560 IF A$="D" THEN 2000 570 SOUND 1,85,12,15:FOR I=1 TO 60:NEXT I:SOUND 1,0,0,0:GOTO 520 1000 GOTO 1100:REM E not done yet 1010 CLOSE #1:OPEN #1,4,0,IFILE$ 1020 CLOSE #2:OPEN #2,8,0,OFILE$ 1030 L=45:TRAP 1100 1100 ? "UUENCODE NOT IMPLEMENTED YET":END 2000 ? "LOADING UUDECODE SUBROUTINE..." 2001 RESTORE 4000:POKADR=UUDADR:MAXADR=POKADR+UUDDIM-1:PRGTOP=UUDADR-1 2002 READ X:IF X=255 THEN READ X:IF X=255 THEN 2004 2003 ? "BAD LOAD FILE FOR UUD":END 2004 READ LO1,HI1,LO2,HI2:BYTES=HI2*256+LO2-(HI1*256+LO1)+1:PRGTOP=PRGTOP+BYTES 2005 IF BYTES<0 OR BYTES>UUDDIM THEN ? "BYTE COUNT ERROR FOR UUD":END 2006 FOR I=1 TO BYTES:READ X:POKE POKADR,X:POKADR=POKADR+1:IF POKADR>MAXADR THEN ? "UUD STRG OVFLOW!":END 2007 NEXT I 2008 TRAP 2009:READ LO1,HI1,LO2,HI2:BYTES=256*HI2+LO2-(256*HI1+LO1)+1 2009 PRGTOP=PRGTOP+BYTES:IF LO1<>224 OR HI1<>2 THEN 2006 2010 ? "Beginning uudecode loop..." 2011 IBUF$(1,1)=" ":M=USR(UUDADR,IBUF,OBUF):IF M<>0 THEN ? "Error in initializing UUDECODE! M=";M:? 2019 CLOSE #1:OPEN #1,4,0,IFILE$ 2030 INPUT #1,IBUF$:BYTES=0 2040 TRAP 2095:IF IBUF$(1,5)<>"begin" THEN 2030:REM skip header 2042 ? IBUF$ 2044 TRAP 2050:L=LEN(OFILE$):IF L<>0 THEN CLOSE #2:OPEN #2,8,0,OFILE$:GOTO 40 2046 FOR I=L TO 1 STEP -1:IF IBUF$(I,I)=" " THEN OFILE$=IBUF(I+1,L):GOTO 2044 2048 NEXT I 2050 ? "OUTPUT FILENAME":INPUT OFILE$:IF LEN(OFILE$)=0 THEN 2050 2052 GOTO 2044 2090 INPUT #1,IBUF$:IF IBUF$(1,3)="end" THEN PRINT IBUF$:GOTO 3000 2095 NERR=PEEK(195):IF NERR=136 THEN PRINT "Missing 'end' line!":GOTO 3000 2097 ? "Error Code=";NERR 3000 ? "Done!":CLOSE #1:CLOSE #2:? "Output byte count = ";BYTES:END 4000 DATA 255,255,8,6,3,7 4010 DATA 104,240,67,170,56,233 4020 DATA 2,240,14,104,104,202 4030 DATA 208,251,169,254,133,212 4040 DATA 169,255,133,213,96,104 4050 DATA 141,1,6,104,141,0 4060 DATA 6,104,141,3,6,104 4070 DATA 141,2,6,165,6,240 4080 DATA 100,165,134,133,203,165 4090 DATA 135,133,204,173,2,6 4100 DATA 56,229,140,133,208,173 4110 DATA 3,6,229,141,133,209 4120 DATA 162,128,208,2,240,72 4130 DATA 160,0,177,203,201,129 4140 DATA 208,42,160,2,177,203 4150 DATA 56,229,208,208,33,200 4160 DATA 177,203,229,209,208,26 4170 DATA 165,203,141,6,6,165 4180 DATA 204,141,7,6,160,6 4190 DATA 177,203,141,4,6,200 4200 DATA 177,203,141,5,6,24 4210 DATA 144,22,24,165,203,105 4220 DATA 8,133,203,144,2,230 4230 DATA 204,202,208,192,169,255 4240 DATA 133,212,133,213,96,234 4250 DATA 173,0,6,133,204,173 4260 DATA 1,6,133,205,160,0 4270 DATA 132,213,177,204,56,233 4280 DATA 32,133,212,208,24,165 4290 DATA 6,240,19,173,6,6 4300 DATA 133,208,173,7,6,133 4310 DATA 209,160,4,169,0,145 4320 DATA 208,200,145,208,96,165 4330 DATA 6,240,43,173,4,6 4340 DATA 56,229,212,173,5,6 4350 DATA 229,213,16,9,169,255 4360 DATA 133,212,133,213,32,54 4370 DATA 185,173,6,6,133,208 4380 DATA 173,7,6,133,209,169 4390 DATA 0,160,5,145,208,136 4400 DATA 165,212,145,208,230,204 4410 DATA 208,2,230,205,173,2 4420 DATA 6,133,206,173,3,6 4430 DATA 4,7,102,7,133,207 4440 DATA 166,212,160,1,177,204 4450 DATA 56,233,32,133,203,6 4460 DATA 203,6,203,136,177,204 4470 DATA 56,233,32,6,203,42 4480 DATA 6,203,42,145,206,202 4490 DATA 240,64,169,0,133,208 4500 DATA 160,2,177,204,56,233 4510 DATA 32,74,102,208,74,102 4520 DATA 208,5,203,136,145,206 4530 DATA 202,240,39,160,3,177 4540 DATA 204,56,233,32,5,208 4550 DATA 136,145,206,202,240,24 4560 DATA 24,165,204,105,4,133 4570 DATA 204,144,2,230,205,24 4580 DATA 165,206,105,3,133,206 4590 DATA 144,166,230,207,176,162 4600 DATA 96,224,2,225,2,0
2.
jhs
More options
Feb 2 1987, 11:24 pm
Newsgroups: comp.sys.atari.8bit
From: j@MITRE-BEDFORD.ARPA.UUCP -
Date: Mon, 2-Feb-87 09:24:16 EST
Local: Mon, Feb 2 1987 11:24 pm
Subject: uudecode revision..
|
|
|
|
|
|
|
Well, folks...
The "minor revision" to uudecode posted last night has at least two bugs that I have found. Please change Line 2046 as shown. I will post another complete listing after I have fully debugged it.
2046 L=LEN(IBUF$):FOR I=L TO 1 STEP -1:IF IBUF$(I,I)=" " THEN OFILE$=IBUF$(I+1,L):GOTO 2044
^^^^^^^^^^^^^
^ -John S.
ABRA-CA-DABRA
1.
gandalf
More options
Feb 2 1987, 11:17 am
Newsgroups: comp.sys.atari.8bit
From: gand@bradley.UUCP -
Date: Sun, 1-Feb-87 21:17:00 EST
Subject: Re: ABRA-CA-DABRA
|
|
|
|
|
|
|
One note about this uu..code response...
The source I have for uu..code programs on a UNIX system where I go to school and on PC-clones written in Turbo Pascal is that when encoding, if a space (ASCII 32) is to be output to the coded file a grave (ASCII 96) IS inserted in its place. The reverse takes place running uudecode. Therefore I question that the correct version would have any spaces in it at all if the uu..code programs are supposed to be fully compatible with the UNIX originals.
Bob Greenwald
...!ihnp4!bradley!gandalf
800XL with sick ROM - Help!
1.
appelbau
More options
Feb 2 1987, 10:31 pm
Newsgroups: comp.sys.atari.8bit
From: appel@topaz.UUCP -
Date: Mon, 2-Feb-87 08:31:26 EST
Local: Mon, Feb 2 1987 10:31 pm
Subject: Re: 800XL with sick ROM - Help!
|
|
|
|
|
|
|
Try looking in either Antic or ANALOG for an ad from American TV. They have the ROMS. I don't know the prices. --
Marc L. Appelbaum
"Insanity is just a state of
mind" Arpa: m@aim.rutgers.edu Uucp:rutgers!ru-blue!appelbaum
2.
hans
More options
Feb 4 1987, 7:04 am
Newsgroups: comp.sys.atari.8bit
From: h@umd5.UUCP -
Date: Tue, 3-Feb-87 17:04:01 EST
Local: Wed, Feb 4 1987 7:04 am
Subject: Re: 800XL with sick ROM - Help!
|
|
|
|
|
|
|
In article <3@teddy.UUCP> k@teddy.UUCP (Kenneth D. Jordan) writes:
>My 800XL ROM is sick. The memory test on the ATARI shows the left hand
....
Well, there are a number of ways to approach this.
If you have access to a good ROM, an EPROM programmer, and 27128 EPROMs, you could duplicate a good one. As far as I know, the 600XL, 800XL, 65XE and 130XE all have the same ROM. If you have a friend with a broken machine of any of these types, you could also try to use a ROM from it. I have used a 27128 EPROM (either 200 or 250 ns, I don't remember), and know that it works.
If this is not feasible, there are several places which sell Atari parts. American TV and B&C Computervision come to mind. They advertise in Antic and Analog, among others. I have not dealt with either, but I hear that they promise delivery in the 4-6 week time frame. Price should be around $10.
Finally Computer Mail Order (again, I have not dealt with them) recently advertised 600XLs for $30 or $35. Since they are identical to 800XLs except for the memory circuitry and the video output, you would get a great supply of spare parts that way. Of course I don't know if they have any left.
Before doing any of this I would try to swap parts with a good machine, to be sure it really is the ROM and not some other part of the memory circuitry which is causing the problem.