home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 04 / tricks / make_inl.bas < prev    next >
Encoding:
BASIC Source File  |  1990-01-12  |  1.3 KB  |  52 lines

  1. '* ------------------------------------------------------- *
  2. '*                    MAKE_INL.BAS                         *
  3. '*      Erzeugen eines Blocks aus $INLINE-Bytefolgen       *
  4. '*          (c) 1990 Matthias Hoffmann & TOOLBOX           *
  5. '* ------------------------------------------------------- *
  6. $SOUND 0
  7. $COM1  0
  8. $COM2  0
  9. $EVENT OFF
  10. DEFINT A-Z
  11.  
  12. OPEN COMMAND$ + ".BIN" FOR BINARY AS #1
  13. GET$ #1, LOF(1), Puffer$
  14. CLOSE #1
  15.  
  16. OPEN COMMAND$ + ".INL" FOR OUTPUT AS #1
  17. PRINT #1, "'* ---------------------------------------- *"
  18. PRINT #1, "SUB <" + COMMAND$ + "> INLINE"
  19. PRINT #1, "'* ---------------------------------------- *"
  20.  
  21. Zeilen = LEN(Puffer$) \ 8
  22. IF LEN(Puffer$) MOD 8 > 0 THEN INCR Zeilen
  23. Puf.Ptr = 1
  24.  
  25. FOR i = 1 TO Zeilen
  26.   PRINT #1, "   $INLINE ";
  27.   FOR j = Puf.Ptr TO Puf.Ptr + 7
  28.     IF j > LEN(Puffer$) THEN
  29.       EXIT FOR
  30.       EXIT FOR
  31.     END IF
  32.     Var$ = HEX$(ASC(MID$(Puffer$, j)))
  33.     IF LEN(Var$) < 2 THEN Var$ = "0" + Var$
  34.     PRINT #1, "&H" + Var$;
  35.     IF j < Puf.Ptr + 7 AND j < LEN(Puffer$) THEN
  36.       PRINT #1, ",";
  37.     ELSE
  38.       PRINT #1,
  39.     END IF
  40.   NEXT j
  41.   INCR Puf.Ptr, 8
  42. NEXT i
  43.  
  44. PRINT #1,
  45. PRINT #1, "END SUB
  46. CLOSE #1
  47.  
  48. PRINT j-1 "Bytes Ok"
  49.  
  50. END
  51. '* ------------------------------------------------------- *
  52. '*                Ende von MAKE_INL.BAS                    *