home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / L.ZIP / LITBLA.LZH / LOAD.BAS < prev    next >
BASIC Source File  |  1991-04-01  |  1KB  |  62 lines

  1. 10 PRINT "Source file";
  2. 20 INPUT SFNAME$
  3. 30 PRINT "Destination file";
  4. 40 INPUT DFNAME$
  5. 50 OPEN SFNAME$ FOR INPUT AS #1
  6. 60 OPEN DFNAME$ FOR RANDOM AS #2 LEN=1
  7. 70 FIELD 2, 1 AS O$
  8. 80 E=0
  9. 90 LINECT=0
  10. 100 IF EOF(1) THEN GOTO 160
  11. 110 LINE INPUT #1, S$
  12. 120 LINECT=LINECT+1
  13. 130 GOSUB 200
  14. 140 GOTO 100
  15. 150 IF E=1 THEN GOTO 170
  16. 160 PRINT "Translation complete."
  17. 170 CLOSE #1
  18. 180 CLOSE #2
  19. 190 END
  20. 200 REM THIS SUBROUTINE DECOMPOSES ONE LINE OF THE HEX FILE
  21. 210 H$=LEFT$(S$,3)
  22. 220 H$=RIGHT$(H$,2)
  23. 230 GOSUB 540
  24. 240 COUNT%=X%
  25. 250 CSUM%=COUNT%
  26. 260 H$=LEFT$(S$,7)
  27. 270 H$=RIGHT$(H$,4)
  28. 280 GOSUB 540
  29. 290 ADDR%=X%
  30. 300 CSUM%=CSUM%+(ADDR%\256)+(ADDR% AND 255)
  31. 310 H$=LEFT$(S$,9)
  32. 320 H$=RIGHT$(H$,2)
  33. 330 IF H$<>"00" THEN GOTO 160
  34. 340 FOR J%=1 TO COUNT%
  35. 350 H$=LEFT$(S$,9+2*J%)
  36. 360 H$=RIGHT$(H$,2)
  37. 370 GOSUB 500
  38. 380 CSUM%=CSUM%+X%
  39. 390 LSET O$=C$
  40. 400 PUT #2, ADDR%+J%
  41. 410 NEXT J%
  42. 420 H$=LEFT$(S$,11+2*COUNT%)
  43. 430 H$=RIGHT$(H$,2)
  44. 440 GOSUB 540
  45. 450 CSUM%=CSUM%+X%
  46. 460 IF (CSUM% AND 255) = 0 THEN RETURN
  47. 470 PRINT "Checksum error in line ";LINECT
  48. 480 E=1
  49. 490 GOTO 150
  50. 500 REM THIS SUBROUTINE CONVERTS A HEX STRING IN H$ TO A BYTE in C$
  51. 510 GOSUB 540
  52. 520 C$=CHR$(X%)
  53. 530 RETURN
  54. 540 REM THIS SUBROUTINE CONVERTS A HEX STRING IN H$ TO AN INTEGER IN X
  55. 550 X%=0
  56. 560 IF LEN(H$)=0 THEN RETURN
  57. 570 Y%=ASC(H$)-48
  58. 580 IF Y%>9 THEN Y%=Y%-7
  59. 590 X%=16*X%+Y%
  60. 600 H$=RIGHT$(H$,LEN(H$)-1)
  61. 610 GOTO 560
  62.