1 REM Ins{nd av Kristoffer Eriksson SYSOP <5357> 1986-08-21 19.51.08 (DUMP) 20 ! program FILTOHEX ver 2 30 ! 40 ! Konverterar en valfri fil till en hexfil. En checksumma l{ggs sist. 50 ! Orginal ABSTOHEX av L-O Larsson <5499> 1985-01-25 60 ! [ndrad av A Franz`n <5258> 1985-05-03 (ABC80 version) 70 ! [ndrad av B Kullmar <1789> 1985-05-04 80 ! [ndrad av K Eriksson<5357> 1986-08-21 Uppsnabbad med maskinkod 90 ! 100 ! Anv{ndningsomr}den: 110 ! - Konvertera en 8-bitars fil s} att den kan |verf|ras med FILTRANS och 120 ! sedan konvertera tillbaka den med prog. HEXTOFIL. 130 ! - M|jlighet att {ndra i en 8-bitars fil med en vanlig editor. 140 ! 150 ! 160 INTEGER : EXTEND 170 DIM In$=80,Ut$=80 180 ; CHR$(12) 'FILTOHEX' : ; : ; 190 ; 'Programmmet konverterar en 8-bitarsfil, t ex BAC eller ABS fil till' 200 ; 'en textfil. Denna textfil kan sedan skickas eller h{mtas till monitorn.' : ; 210 ; 'I textfilen skrivs f|rst in filnamnet, vilket g|r att n{r man konverterar' 220 ; 'tillbaka s} f}r man r{tt filnamn automatiskt. Anger man en enhet s} f}r' 230 ; 'utfilen samma enhet.' : ; 240 ; 'Man konverterar tillbaka till originalet med HEXTOFIL.' : ; 250 ; 'Programmet kan ocks} anv{ndas f|r att {ndra i 8-bitars filer med en' 260 ; 'vanlig editor.' : ; 270 INPUT 'Ange infil: 'Infil$ 280 OPEN Infil$ AS FILE 1 290 Punkt=INSTR(1,Infil$,'.') : IF Punkt Utfil$=LEFT$(Infil$,Punkt-1)+'.HEX' ELSE Utfil$=Infil$+'.HEX' 300 ON ERROR GOTO 320 310 OPEN Utfil$ AS FILE 2 : CLOSE 2 : ; 'Filen ' Utfil$ ' finns redan! Ta bort den f|rst!' : GOTO 540 ! END 320 ON ERROR GOTO 510 330 PREPARE Utfil$ AS FILE 2 340 Orgfil$=Infil$ : Kolon=INSTR(1,Orgfil$,':') : IF Kolon Orgfil$=RIGHT$(Orgfil$,Kolon+1) 350 ; 'Utfil: ' Utfil$ 360 ; #2,Orgfil$ 370 ! 380 In$=" " : Ut$=" " ! Allokera utrymme 390 Z=FNAsminit(VAROOT(In$),VAROOT(Ut$)) 400 Block=0 410 WHILE -1 420 FOR J=1 TO 10 430 IF J<10 THEN Max=26 ELSE Max=19 440 GET #1 In$ COUNT Max 450 Summa=Summa+CALL(VARPTR(Asm$)) 460 ; #2 Ut$ 470 ! ; Ut$ 480 NEXT J 490 Block=Block+1 500 WEND 510 IF ERRCODE<>38 ; 'Fel nr' ERRCODE CHR$(7) : GOTO 540 520 ; "Antal konverterade block = ";Block 530 ; #2,Summa 540 END 550 ! 560 DEF FNAsminit(In,Ut) 570 DIM Asm$=100 580 Asm$=" " ! Allokera utrymme 590 A=VARPTR(Asm$) 600 ! 610 REM ASSEMBLERING AV BINTOHEX.ASM. 1986-08-21 15.28.40 620 POKE 0+A,33,0,0,35,35,94,35,86,35,78,35,70,33,0,0,35,35,126,35,229,102,111,229,217,33,0,0,217,121,176,40,22,26,217,95,22,0,25,217,15,15,15 630 POKE 42+A,15,205,A+66,SWAP%(A+66),26,205,A+66,SWAP%(A+66),19,11,24,230,209,167,237,82,235,225,35,115,35,114,217,201,230,15,198,48,254,58,56 640 POKE 73+A,2,198,7,119,35,201 650 ! 660 POKE A+1,In,SWAP%(In) 670 POKE A+13,Ut,SWAP%(Ut) 680 RETURN 0 690 FNEND