Thread View: net.micro.atari
1 messages
1 total messages
Started by Fleysher.WBST
Wed, 20 Nov 1985 19:57
HEXBIN 1.1
Author: Fleysher.WBST
Date: Wed, 20 Nov 1985 19:57
Date: Wed, 20 Nov 1985 19:57
55 lines
2614 bytes
2614 bytes
--------------
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
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads