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

  1. 0  REM <CTRL-M><CTRL-M>===============<CTRL-M> SHAPE 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 SHAPE.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 SHAPE.EDITOR.ML": FOR I = 0 TO 5: READ V: POKE 24832 +I,V: NEXT : DATA 1,0,4,0,29,0
  5. 4 P = 233:F = 24832: POKE P -1,0: SCALE= 1: ROT= 0
  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 23
  8. 7  REM 
  9. 8  HOME : POKE P,97: HGR : HCOLOR= 3: CALL 3840:I =  PEEK(3840 +13): DRAW I -1 *(I > PEEK(F)) AT 65,80: XDRAW I -1 *(I > PEEK(F)) AT 214,80
  10. 9  POKE P,96: HOME : VTAB 21: PRINT "SELECT:": GOSUB 27: PRINT "EDIT    LOAD    CATALOG" SPC( 13)"QUITVIEW    SAVE    PREFIX";
  11. 10  INVERSE : VTAB 23: HTAB 1: PRINT "E";: HTAB 9: PRINT "L";: HTAB 17: PRINT "C";: HTAB 37: PRINT "Q": PRINT "V";: HTAB 9: PRINT "S";: HTAB 17: PRINT "P";: NORMAL 
  12. 11  VTAB 21: HTAB 8: GET A$: PRINT A$:A$ =  CHR$( ASC(A$) -32 *( ASC(A$) >95)): HOME : POKE 49235,0: IF A$ = "Q"  THEN  HOME : VTAB 21: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y"  AND A$ < >"y" GOTO 9: HOME : VTAB 23: DEL 3,3: END 
  13. 12  ON A$ = "E" GOTO 15: ON A$ = "L"  OR A$ = "S" GOTO 17: ON A$ = "C" GOTO 13: ON A$ = "P" GOTO 28: ON A$ = "V" GOTO 14: ON A$ = "N" GOTO 16: GOTO 9
  14. 13  TEXT : HOME : PRINT D$"CAT": GOSUB 27: PRINT "ANY KEY:";: GET A$: PRINT A$: POKE 49232,0: GOTO 9
  15. 14  CALL 3840 +3: GOTO 8
  16. 15  CALL 3840 +6: GOTO 8
  17. 16  POKE 49234,0: GOTO 9
  18. 17  POKE P,97:B$ = "SAVE": IF A$ = "L"  THEN B$ = "LOAD"
  19. 18  VTAB 24: PRINT "<RETURN> TO ESCAPE";: VTAB 22: HTAB 1: PRINT B$;" SHAPES NAMED";: GOSUB 21: IF B$ = "LOAD"  THEN  PRINT D$"BLOAD "F$",A"F: POKE 3840 +12,1: POKE 3840 +13,1
  20. 19  IF B$ = "SAVE"  THEN  CALL 3840 +9: PRINT D$"BSAVE "F$",A"F",L" PEEK(3840 +14) + PEEK(3840 +15) *256 -F +1
  21. 20  GOTO 8
  22. 21  INPUT ":";F$: CALL  -958: PRINT : IF   NOT  LEN(F$)  THEN  POP :B$ = "": GOTO 8
  23. 22  RETURN 
  24. 23  CALL  -3288
  25. 24  HOME : VTAB 22:I =  PEEK(222)
  26. 25  INVERSE : IF I <14  THEN  PRINT  CHR$(7)" "E$(I)" ERROR "
  27. 26  FOR J = 1 TO 2000 -1999 *(I = 255): NEXT : NORMAL : GOTO 8
  28. 27  FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN 
  29. 28  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 
  30. 29  ON A$ = "" GOTO 9: PRINT  CHR$(4)"PREFIX"A$: GOTO 9