home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib33a.dsk / JANUARY.1988 / SUPER.PAC.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  44 lines

  1. 10  REM  SUPER.PAC/J.Hurlburt/(c)1988 By MicroSPARC Inc.
  2. 20  LOMEM: 37376:D$ =  CHR$(4):B$ = D$ +"BLOAD": PRINT D$"PR#3": HOME : PRINT D$"BRUNSP.DRD": PRINT B$"SP.FACE": DIM P$(50),T$(1),C$(10): FOR I = 0 TO 50:P$(I) = "": NEXT :F = 10: FOR I = 0 TO F: READ C$(I): NEXT :T$(0) = "$C1":T$(1) = "BIN"
  3. 30 Z$ = "PIC.FILES/":P = 4096:B = 854:H = 778:J = 879:Q = 787:S = 5:E = S +F: PRINT B$"SP.PUP": GOSUB 420: ONERR  GOTO 430
  4. 40 PC = S:Q$ = "": HOME : PRINT 
  5. 50  VTAB S -2: PRINT "SUPER PAC-(C) 1988 by MicroSPARC Inc.": PRINT : FOR I = 0 TO F: IF PC = I +S  THEN  INVERSE 
  6. 60  PRINT " "C$(I)" ": NORMAL : NEXT : CALL H:K =  PEEK(49152): IF K = 10  THEN PC = (PC <E) *(PC +1) +(PC = E) *S
  7. 70  IF K = 11  THEN PC = (PC >S) *(PC -1) +(PC = S) *E
  8. 80  IF K < >13  THEN 50
  9. 90 C = PC -S: ON C +1 GOSUB 270,100,110,130,410,420,270,390,380,330,120: GOTO 40
  10. 100  CALL 844: RETURN 
  11. 110  CALL J:P$ = "": RETURN 
  12. 120  HOME : PRINT D$"PREFIX/": PRINT "END": POP : END 
  13. 130  HOME : VTAB 5: PRINT C$(C)" "P$: PRINT "with SUFFIX";: GOSUB 250:R$ = "S": IF Q$ = "N"  THEN R$ = "D"
  14. 140  PRINT : PRINT C$(C)" all "P$;: GOSUB 250:I = 1:XS = 0:XE = 160:YS = 0:YE = 200: IF Q$ < >"N"  THEN I = 0: GOTO 170
  15. 150  PRINT "NAME";: GOSUB 230: PRINT :P$ = Q$
  16. 160  PRINT XS,XE,YS,YE: PRINT : INPUT "INPUT XS,XE,YS,YE: ";XS,XE,YS,YE: IF XS > = XE  OR XE >160  OR YS > = YE  OR YE >200  THEN  RETURN 
  17. 170  POKE 3,XS: POKE 4,XE: POKE 5,YS: POKE 6,YE: POKE 8,83: CALL 872:Z =  PEEK(P +6) + PEEK(P +7) *256 +(R$ = "S") *768
  18. 180  IF I  THEN  CALL Q +12: CALL J: CALL B: CALL Q +8: PRINT : PRINT "LEN= "Z" BYTES. OK";: GOSUB 250: IF Q$ = "N"  THEN  HOME : GOTO 160
  19. 190  GOSUB 360: IF U  THEN P$ =  LEFT$(P$,L -1) +R$: GOTO 220
  20. 200  IF L >12  THEN P$ =  LEFT$(P$,12)
  21. 210 P$ = P$ +".P" +R$
  22. 220  POKE P +5, ASC(R$): PRINT D$"BSAVE"Z$P$",A$1000,L";Z: GOSUB 420: RETURN 
  23. 230  INPUT ": ";Q$: IF Q$ = ""  THEN  POP 
  24. 240  RETURN 
  25. 250  PRINT "? (Y/N): ";: GET Q$: PRINT Q$: IF  ASC(Q$) = 13  THEN  POP 
  26. 260  RETURN 
  27. 270  HOME : FOR I = 0 TO N  STEP 3: FOR D = 0 TO 2: PRINT "["; SPC( I +D <10);I +D;"] ";P$(I +D); SPC( (D < >2) *(20 - LEN(P$(I +D))));: ON (P$(I +D +1) = "x") GOTO 280: NEXT : PRINT : NEXT : GOTO 290
  28. 280 I = N:D = 2: NEXT : NEXT 
  29. 290  PRINT : PRINT C$(C);"#";: GOSUB 230:I =  VAL(Q$):M =  ASC(Q$): IF I >N  OR M <48  OR M >57  THEN  RETURN 
  30. 300 P$ = P$(I): IF C  THEN  PRINT D$C$(C)Z$P$: GOSUB 420: RETURN 
  31. 310  GOSUB 360: PRINT B$Z$P$",T"T$(U)",A$1000": IF U  THEN  CALL B: RETURN 
  32. 320  CALL 841: RETURN 
  33. 330  VTAB 20:E$ = "": PRINT "CMD (' for comma)";: GOSUB 230
  34. 340  FOR I = 1 TO  LEN(Q$):N$ =  MID$ (Q$,I,1): IF N$ = "'"  THEN N$ = ","
  35. 350 E$ = E$ +N$: NEXT : PRINT D$E$: GOSUB 400: RETURN 
  36. 360 U = 0:L =  LEN(P$): IF L >3  THEN U = ( LEFT$( RIGHT$(P$,3),2) = ".P")
  37. 370  RETURN 
  38. 380 Q$ = Z$
  39. 390  HOME : PRINT D$"CATALOG"Q$
  40. 400  PRINT "PRESS RETURN";: CALL H: PRINT : RETURN 
  41. 410  HOME : PRINT C$(C)" "P$" as";: GOSUB 230: CALL Q +4: PRINT D$"CREATE"Z$Q$",T$C1": PRINT D$"BSAVE"Z$Q$",T$C1,A$1000,L$8000":P$ = Q$
  42. 420  PRINT B$Z$",TDIR,A$1000": CALL 912:N =  PEEK(4133): FOR I = 0 TO 2:P$(N +1) = "x": NEXT :N = N -1: FOR I = 0 TO N:P$(I) = P$(I) +"": NEXT : RETURN 
  43. 430  CALL 917: TEXT : HOME : PRINT C$(C)" ERROR " PEEK(222): CALL H: GOTO 40
  44. 440  DATA  LOAD PIC,DISP,CLS,PACK & SAVE,SAVE UNPACKED,UPDATE LIST,DELETE,CAT VOL,CAT PICS,PRODOS,END