Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!cwruecmp!hal!ncoast!btb From: btb@ncoast.UUCP Newsgroups: comp.sys.atari.8bit Subject: BINHEX of TBASIC interpreter with HEXBIN.LST Message-ID: <1979@ncoast.UUCP> Date: Sat, 31-Jan-87 14:09:06 EST Article-I.D.: ncoast.1979 Posted: Sat Jan 31 14:09:06 1987 Date-Received: Sun, 1-Feb-87 11:53:14 EST References: <8709@topaz.RUTGERS.EDU> <8701291813.AA29877@mitre-bedford.ARPA> Reply-To: btb@ncoast.UUCP (Brad Banko) Organization: Cleveland Public Access UNIX, Cleveland, OH Lines: 1137 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