[comp.sys.atari.8bit] Questions on Turbo Basic Compiler

store2@ihuxi.UUCP (Wilcox) (01/21/87)

1) Has anybody gotten the uudecode program written in basic to run?

My experience is that the program complains there is no end of file statement.
So to download the compiler, runtime, and magic files I went through the
following procedure.
I ran the uuencoded files through a uudecode program that runs on a vax. I then
downloaded the binary files to my XL atari. I then proceded to try and run the
compiler. I got the title page for the compiler then the machine hung.
It required me to power cycle the machine to gain control again.

2) What DOS/s does the compiler run with?

I tried Atari DOS, Sparta DOS, Smart DOS, and DOSXL with the same end result, except
for Atari DOS. When I ran the compiler under Atari DOS it returned to the DOS menu
rather then hanging the machine.

3) Is there any documentation to go with the compiler?

I have the documentation that came with the Turbo Basic Interpreter, but it doesn't
say anyting about the compiler.

4) Does the compiler try to determine if the machine is 130XE with extra memory?

I have upgraded my machine with the 256K memory upgrade that is not compatible
with the 130XE. I should also note the the Turbo Basic Interpreter runs fine on
my machine.

                                                 Wayne Wilcox

oaa@houxl.UUCP (01/22/87)

In article <1478@ihuxi.UUCP>, store2@ihuxi.UUCP (Wilcox) writes:
> 1) Has anybody gotten the uudecode program written in basic to run?

I didn't try to decode the compiler, but I did try the uudecode basic program
on a 7500 byte Atari binary file I had on my UNIX machine and it worked fine.
I uuencoded the file on the UNIX machine, changed the ascii new-lines to
atascii EOLs, downloaded the file using x-modem, and uudecoded it, and it
worked perfectly.

> 2) What DOS/s does the compiler run with?

I have a different copy of the compiler and it works fine with Atari DOS,
and would expect it to work with the other flavors of DOS also.

> 3) Is there any documentation to go with the compiler?

I have a copy of the documentation posted earlier for the compiler if you
need it.

> 4) Does the compiler try to determine if the machine is 130XE with extra memory?

The compiler only uses the standard bank of XL machines and does not use the
extra banks of a 130XE or 256K XL.

>                                                  Wayne Wilcox

			Owen Alexander

btb@ncoast.UUCP (01/26/87)

When you all talk about uudecode, do you mean the hexbin/binhex programs
that were posted recently?  Or is there a genuine uudecode for the Atari's,
or is that exactly what uuencode/decode is?  

Turbo Basic won't work with SpartaDOS, because both SpartaDOS, and 
Turbo BASIC use the same trick to get extra memory, they squeeze into the
OS address space on the XE/XL machines... this is a shame, but not the
end of the world... the version of Turbo BASIC that came across on our
local BBs included an autorun.sys file to automatically copy the
compiler, interpreter, and runtime driver to the Ramdisk, so in a sense
they "make use" of the 130xe's extra memory...
r
-- 
			Brad Banko
			...!decvax!cwruecmp!ncoast!btb
			Cleveland, Ohio

"The only thing we have to fear on this planet is man."
			-- Carl Jung, 1875-1961

jhs@MITRE-BEDFORD.ARPA.UUCP (01/27/87)

Yes, there really is a uudecode for the Atari...  although some people have
been having trouble with it.  I think the problem may have been with
end-of-line characters.  Make sure that the uuencoded file contains ATASCII
end-of-line characters (hex $9B) and not ordinary ASCII ones.  The translation
usually takes place when uploading from an Atari to another system.  Most
Atari downloading programs can translate back into ATASCII for you.

Perhaps when I write my final version (also including uuENcode) I will try to
make it fix up things like EOL characters.

-John Sangster
jhs@mitre-bedford.arpa

----------------------c-u-t---h-e-r-e---f-o-r---UUDECODE.LST------------------
1 GOTO 100:REM jump around critical stuff to start up program.
2 M=USR(UUDADR)
10 IF M=0 THEN 2090
20 IF M>OBUFDIM THEN ? "Dimension error at line 20":GOTO 3000
30 PRINT #2;OBUF$;:BYTES=BYTES+M
40 INPUT #1,IBUF$:GOTO 2
100 ? "Uucode Ver. 0.6":? "Report errors to":? "J. Sangster at (617) 235-8753"
101 ? "or jhs@mitre-bedford.arpa":REM Modified to count bytes 1/14/86 - JHS
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$:? "OUTPUT FILE";:INPUT OFILE$
540 IF LEN(IFILE$)=0 OR LEN(OFILE$)=0 THEN 530:REM FOR NOW
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$
2020 CLOSE #2:OPEN #2,8,0,OFILE$
2030 INPUT #1,IBUF$:BYTES=0
2040 TRAP 2095:IF IBUF$(1,5)<>"begin" THEN ? "No begin line!":GOTO 2
2045 ? IBUF$:GOTO 40:REM Print begin line for documentation, normally.
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,208
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,208,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,208,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

Fleysher.wbst@XEROX.COM.UUCP (01/28/87)

re: "When you all talk about uudecode, do you mean the hexbin/binhex
programs
that were posted recently?"


for those of you who haven't been keeping up on your reading:


There are two alternative methods of transmitting binaries over the net
that have been under discussion over the past weeks:

BINHEX/HEXBIN are Atari Basic programs that convert binary files to text
files containing 2 hexadecimal characters per byte.  The file format is
unique to these two programs.  Author: Fleysher.wbst@Xerox.COM

UUDECODE is an Atari Basic program with machine language assist which
decodes a more efficient representation of binary files than the hex
files described above.  Unix machines use this more efficient file
format.  Author: jhs@mitre-bedford.ARPA

	Dan

-----------------------------------