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.APPEND.bas < prev    next >
BASIC Source File  |  2000-01-01  |  3KB  |  27 lines

  1. 0  REM <CTRL-M><CTRL-M>===============<CTRL-M> SHAPE APPEND<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.APPEND"
  3. 2  SPEED= 255: NOTRACE : LOMEM: 32768: PRINT  CHR$(21): TEXT : NORMAL :D$ =  CHR$(4)
  4. 3  PRINT D$"BLOAD SHAPE.APPEND.ML"
  5. 4 M$ =  CHR$(13):X$ = "(NONE)":Y$ = "(NONE)":X = 0:Y = 0:L = 0:T1$ = "MASTER SHAPE TABLE":T2$ = "LAST SHAPE TABLE LOADED"
  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":C$(1) = "NO SHAPES IN " +T1$:C$(2) = "NO SHAPES IN " +T2$:C$(3) = "TOO MANY SHAPES"
  7. 6  ONERR  GOTO 24
  8. 7  HOME : VTAB 6: PRINT T1$: GOSUB 27: PRINT X$M$"("X" SHAPES)"M$M$: PRINT T2$: GOSUB 27: PRINT Y$M$"("Y" SHAPES)": VTAB 21: PRINT "SELECT:": GOSUB 23: PRINT "APPEND    LOAD    CATALOG" SPC( 11)"QUIT" SPC( 10)"SAVE    PREFIX";
  9. 8  INVERSE : VTAB 1: HTAB 14: PRINT " SHAPE APPEND ": VTAB 23: HTAB 1: PRINT "A";: HTAB 11: PRINT "L";: HTAB 19: PRINT "C";: HTAB 37: PRINT "Q": HTAB 11: PRINT "S";: HTAB 19: PRINT "P";: NORMAL 
  10. 9  VTAB 21: HTAB 8: GET A$:A$ =  CHR$( ASC(A$) -32 *( ASC(A$) >95)): IF A$ = "Q"  THEN  VTAB 21: HTAB 1: CALL  -958: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y"  AND A$ < >"y" GOTO 7: HOME : VTAB 23: DEL 3,3: END 
  11. 10  ON A$ = "L" GOTO 11: ON A$ = "S" GOTO 12: ON A$ = "A" GOTO 14: ON A$ = "C" GOTO 18: ON A$ = "P" GOTO 19: GOTO 9
  12. 11  VTAB 21: HTAB 1: CALL  -958: VTAB 24: PRINT "<RETURN> TO ESCAPE";: VTAB 22: HTAB 1: INPUT "LOAD SHAPE TABLE NAMED:";F$: CALL  -958: ON   NOT  LEN(F$) GOTO 7: PRINT D$"BLOAD "F$",A$2000":X$ = F$:X =  PEEK(8192):Y$ = X$:Y = X:L = 0: GOTO 7
  13. 12  IF   NOT L  THEN  HOME : VTAB 12: HTAB 12: INVERSE : PRINT  CHR$(7)" NOTHING TO SAVE ": NORMAL : GOSUB 22: GOTO 7
  14. 13  VTAB 21: HTAB 1: CALL  -958: VTAB 24: PRINT "<RETURN> TO ESCAPE";: VTAB 22: HTAB 1: INPUT "SAVE SHAPE TABLE NAMED:";F$: CALL  -958: ON   NOT  LEN(F$) GOTO 7: PRINT D$"BSAVE "F$",A$2000,L"L: GOTO 7
  15. 14  IF X$ = "(NONE)"  THEN  HOME : VTAB 12: HTAB 6: INVERSE : PRINT  CHR$(7)T1$" NOT LOADED ": NORMAL : GOSUB 22: GOTO 7
  16. 15  VTAB 21: HTAB 1: CALL  -958: VTAB 24: PRINT "<RETURN> TO ESCAPE";: VTAB 22: HTAB 1: INPUT "APPEND SHAPE TABLE NAMED:";F$: CALL  -958: ON   NOT  LEN(F$) GOTO 7: PRINT D$"BLOAD "F$",A$6000"
  17. 16  CALL 4096: IF  PEEK(4096 +3)  THEN  HOME : VTAB 12: HTAB (21 - LEN(C$( PEEK(4096 +3)))/2): INVERSE : PRINT  CHR$(7)" "C$( PEEK(4096 +3))" ": NORMAL : GOSUB 22: GOTO 7
  18. 17 Y$ = F$:Y =  PEEK(8192) -X:X =  PEEK(8192):L =  PEEK(4096 +4) + PEEK(4096 +5) *256: GOTO 7
  19. 18  HOME : PRINT : PRINT D$"CAT": PRINT : GOSUB 23: PRINT "ANY KEY:";: GET A$: GOTO 7
  20. 19  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 
  21. 20  ON A$ = "" GOTO 7: PRINT  CHR$(4)"PREFIX"A$: GOTO 7
  22. 22  FOR I = 1 TO 1999: NEXT : RETURN 
  23. 23  FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN 
  24. 24  CALL  -3288: HOME : VTAB 12: HTAB 11:I =  PEEK(222)
  25. 25  INVERSE : IF I <14  THEN  PRINT  CHR$(7)" "E$(I)" ERROR "
  26. 26  FOR J = 1 TO 2000 -1999 *(I = 255): NEXT : NORMAL : GOTO 7
  27. 27  FOR I = 1 TO 23: PRINT "=";: NEXT : PRINT : RETURN