1 REM Ins{nt av: Anders Franz`n <5258> 1985-05-26 22.13.21 100 REM HEXTOFIL 110 REM Konvertera hexfil till 120 REM en vanlig fil. Om det 130 REM finns en checksumma sist 140 REM kontrolleras den. 150 REM Programmet klarar {ven av 160 REM att konvertera hexfiler 170 REM med en punkt mellan varje 180 REM byte. 190 REM 200 REM orginal HEXTOABS av 210 REM L-O Larson <5499> 1985-01-25 220 REM Ny version HEXTOBIN av 230 REM B Kullmar <1789> 1985-04-28 240 REM [ndrad till ABC80 av 250 REM A Franz`n <5258> 1985-05-03 260 REM 270 DIM R1$=253% 280 H$="0123456789ABCDEF" 290 ; CHR$(12%)"HEXTOFIL" : ; : ; 291 ; 'Programmmet konverterar en HEX-fil i textformat tillbaka till orginalet.' 292 ; 'Orginalet m}ste vara skapat med programmet FILTOHEX. Om s} {r fallet' 293 ; 'finns filnamnet lagrat i HEX-filen, s} att r{tt filnamn erh}lles p} utfilen.' 294 ; 'Anger man en enhet i infilen s} f}r utfilen samma namn.' : ; 295 ; 'Extension ".HEX" {r defult, dvs om man inte skriver en extensin i infilen' 296 ; 's} antas ".HEX" som extension.' : ; 300 ; 'Infil '; : INPUT F1$ 310 I%=INSTR(1%,F1$,".") 320 IF I%=0% LET F1$=F1$+".HEX" 330 OPEN F1$ ASFILE 1% 340 INPUT #1%,R$ 350 ; "Utfil ("R$") "; : INPUT F2$ 360 IF F2$="" LET F2$=R$ 370 ONERRORGOTO 400 380 OPEN F2$ ASFILE 2% : CLOSE 2% 390 ; "Fil "F2$" finns redan !" : END 400 ONERRORGOTO 610 410 PREPARE F2$ ASFILE 2% 420 B%=0% : S%=0% : R1$="" 430 FOR J%=0% TO 9% : INPUT #1%,R$ 440 IF LEN(R$)<10% GOTO 570 450 P$=MID$(R$,3%,1%) 460 IF P$="." P%=3% ELSE P%=2% 470 FOR I%=1% TO LEN(R$) STEP P% 480 H1%=INSTR(1%,H$,MID$(R$,I%,1%)) 490 H2%=INSTR(1%,H$,MID$(R$,I%+1%,1%)) 500 X%=(H1%-1%)*16%+H2%-1% : S%=S%+X% 510 R1$=R1$+CHR$(X%) : NEXT I% 520 NEXT J% : Z%=CALL(28666%,2%) 530 Q0$=R1$ : Z%=CALL(28670%,B%) 540 R1$="" : B%=B%+1% 550 ; B%" skapade block"CHR$(13%); 560 GOTO 430 570 ; : ONERRORGOTO 590 580 IF VAL(R$)=S% GOTO 640 590 ; "Checksummafel !"CHR$(7%) 600 GOTO 640 610 ; : IF ERRCODE=34% GOTO 630 620 ; "ERR"ERRCODE;CHR$(7%) : GOTO 640 630 ; "Checksumma saknas !"CHR$(7%) 640 CLOSE 1% : CLOSE 2% 650 END