home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / SHAPE.MECH1.SHK / SHAPE.MECHANIC / FONT.EDITOR.bas < prev    next >
BASIC Source File  |  2000-01-01  |  3KB  |  33 lines

  1. 0  REM <CTRL-M><CTRL-M>===============<CTRL-M> FONT EDITOR<CTRL-M> (C) 1985<CTRL-M> MARK SIMONSEN<CTRL-M> BEAGLE BROS<CTRL-M>===============<CTRL-M>
  2. 1  IF  PEEK(103) + PEEK(104) *256 < >2049  THEN  POKE 2048,0: POKE 103,1: POKE 104,8: PRINT  CHR$(4)"RUN FONT.EDITOR"
  3. 2  SPEED= 255: NOTRACE : LOMEM: 32768: PRINT  CHR$(21): TEXT : NORMAL :D$ =  CHR$(4)
  4. 3  PRINT D$"BLOAD CURSORS,A24576": PRINT D$"BLOAD FONT.EDITOR.ML"
  5. 4 F = 24832:B$ = "LOAD"
  6. 5  DIM E$(13):E$(4) = "WRITE-PROTECT":E$(6) = "PATH NOT FOUND":E$(8) = "I/O":E$(9) = "DISK FULL":E$(10) = "FILE LOCKED":E$(11) = "SYNTAX":E$(13) = "FILE TYPE MISMATCH"
  7. 6  ONERR  GOTO 22
  8. 7 Z =  PEEK(F +1) -1: IF  PEEK(F +2) < >208  OR  PEEK(F +3) < >0  OR Z <0  OR Z >1  THEN 32
  9. 8  IF B$ = "LOAD"  THEN  CALL 3968
  10. 9  POKE 49232,0: POKE 49239,0: POKE 49235,0
  11. 10  POKE 49168,0: POKE 233,96: HOME : VTAB 21: PRINT "SELECT:": GOSUB 31
  12. 11  PRINT "EDIT    LOAD    CATALOG" SPC( 13)"QUITTYPE    SAVE    PREFIX";
  13. 12  INVERSE : VTAB 23: HTAB 1: PRINT "E";: HTAB 9: PRINT "L";: HTAB 17: PRINT "C";: HTAB 37: PRINT "Q": HTAB 1: PRINT "T";: HTAB 9: PRINT "S";: HTAB 17: PRINT "P";: NORMAL 
  14. 13  VTAB 21: HTAB 8: GET A$:A$ =  CHR$( ASC(A$) -32 *( ASC(A$) >95)): HOME : IF A$ = "Q"  THEN  VTAB 21: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y"  AND A$ < >"y" GOTO 10: HOME : VTAB 23: DEL 3,3: END 
  15. 14  ON A$ = "E" GOTO 26: ON A$ = "S"  OR A$ = "L" GOTO 16: ON A$ = "C" GOTO 15: ON A$ = "P" GOTO 27: ON A$ = "T" GOTO 30: GOTO 10
  16. 15  TEXT : HOME : PRINT : PRINT D$"CAT": PRINT : GOSUB 31: PRINT "ANY KEY:";: GET A$: POKE  -16304,0: GOTO 10
  17. 16 B$ = "LOAD": IF A$ = "S"  THEN B$ = "SAVE"
  18. 17  HOME : VTAB 24: PRINT "<RETURN> TO ESCAPE";: VTAB 22: HTAB 1: PRINT B$" FONT NAMED";: GOSUB 20: IF B$ = "LOAD"  THEN  PRINT D$"BLOAD "F$",A"F:Z =  PEEK(F +1) -1: IF Z <0  OR Z >1  THEN  POKE 222,13: GOTO 23
  19. 18  IF B$ = "SAVE"  THEN  PRINT D$"BSAVE "F$",A"F",L"2 + PEEK(F +200) + PEEK(F +201) *256
  20. 19  GOTO 8
  21. 20  INPUT ":";F$: CALL  -958: IF   NOT  LEN(F$)  THEN  POP :B$ = "": GOTO 9
  22. 21  RETURN 
  23. 22  CALL  -3288
  24. 23  HOME : VTAB 22:I =  PEEK(222)
  25. 24  INVERSE : IF I <14  THEN  PRINT  CHR$(7)" "E$(I)" ERROR "
  26. 25  FOR J = 1 TO 2000 -1999 *(I = 255): NEXT : NORMAL : GOTO 9
  27. 26  CALL 3968 +3: GOTO 10
  28. 27  PRINT  CHR$(4)"PREFIX": INPUT A$: HOME : VTAB 24: PRINT "<RETURN> TO ESCAPE";: VTAB 22: HTAB 1: PRINT "PREFIX:"A$;: VTAB 22: HTAB 8: CALL  -657:A$ = "": FOR I = 512 TO 767: IF  PEEK(I) < >141  THEN A$ = A$ + CHR$( PEEK(I) -128): NEXT 
  29. 28  ON A$ = "" GOTO 10: PRINT  CHR$(4)"PREFIX"A$: GOTO 10
  30. 30  CALL 3968 +6: GOTO 10
  31. 31  FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN 
  32. 32  RESTORE : FOR I = F TO F +3: READ J: POKE I,J: NEXT : FOR I = F +4 TO F +192  STEP 2: POKE I,216: POKE I +1,0: NEXT : FOR I = F +194 TO F +252: READ J: POKE I,J: NEXT : GOTO 7
  33. 33  DATA 100,2,208,0,223,0,232,0,241,0,250,0,0,0,0,0,0,0,73,137,146,146,146,146,18,0,150,146,146,146,146,9,0,64,192,64,192,64,192,64,24,0,64,192,64,192,64,192,64,88,0,64,192,64,192,64,192,64,8,0,25,0,0