home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib38b.dsk / PSG.BROWSER.bas < prev    next >
BASIC Source File  |  2023-02-26  |  5KB  |  63 lines

  1. 10  REM  ******************************
  2. 20  REM  * PSG.BROWSER                *
  3. 30  REM  * BY BOB THRASHER            *
  4. 40  REM  * COPYRIGHT(C) 1990          *
  5. 50  REM  * MINDCRAFT PUBL. CORP.      *
  6. 60  REM  * CONCORD, MA 01742          *
  7. 70  REM  ******************************
  8. 80  ON  PEEK(48896) = 76 GOTO 610: IF  PEEK(104) < >96  THEN  POKE 103,1: POKE 104,96: POKE 24576,0: PRINT  CHR$(4)"RUN PSG.BROWSER"
  9. 90  HGR :D$ =  CHR$(4): PRINT  CHR$(21): ONERR  GOTO 600
  10. 100  PRINT D$"BLOAD BROWSER.BIN":D =  PEEK(43624):S =  PEEK(43626):V =  PEEK(46017)
  11. 110  FOR X = 0 TO 3:L(X) = 16384 +X *572: NEXT : POKE 34,20:N = 254::M = 32768:W = 22528
  12. 120  HOME : PRINT "    PRINT SHOP GRAPHIC IMAGE BROWSER": HTAB 14: PRINT "by  Bob Thrasher": HTAB 7: PRINT "(C) 1990 MindCraft Publ. Corp.": GOSUB 150: GOTO 180
  13. 130  HCOLOR= 3:X = 28:Y = 12: GOSUB 140:Y = 91: GOSUB 140: CALL M +12: RETURN 
  14. 140  HPLOT X,Y TO X +93,Y TO X +93,Y +57 TO X,Y +57 TO X,Y: RETURN 
  15. 150  VTAB 24: HTAB 6: PRINT "Press RETURN to continue  : :";
  16. 160  VTAB 24: HTAB 33: GOSUB 630: POKE  -16368,0: IF Z$ < > CHR$(13)  THEN 160
  17. 170  PRINT : HOME : RETURN 
  18. 180  HOME : HTAB 7: PRINT "Load graphic images from:": HTAB 6: PRINT "SLOT -, DRIVE -, VOLUME ---": PRINT : PRINT "Use (S), (D), (V) to edit or (RETURN):";
  19. 190  VTAB 22: HTAB 11: PRINT S;: HTAB 20: PRINT D;: HTAB 30: PRINT  RIGHT$("00" + STR$(V),3);
  20. 200  VTAB 24: HTAB 39: GOSUB 630: ON Z$ =  CHR$(27) GOTO 620: IF Z$ =  CHR$(13)  THEN 250
  21. 210  VTAB 24: HTAB 1: IF Z$ = "S"  OR Z$ = "s"  THEN 320
  22. 220  IF Z$ = "D"  OR Z$ = "d"  THEN 350
  23. 230  IF Z$ = "V"  OR Z$ = "v"  THEN 380
  24. 240  GOTO 200
  25. 250  PRINT : HOME : ONERR  GOTO 270
  26. 260  PRINT D$"VERIFYZZ,S"S",D"D",V"V
  27. 270  POKE 216,0: IF  PEEK(222) < >6  THEN 310
  28. 280  CALL M:U =  PEEK(N) -1:T = U -3:F = 0: IF T <0  THEN T = 0
  29. 290  IF U < > -1  THEN 420
  30. 300  HOME : PRINT "There are no Print Shop compatible": PRINT "graphic files on this diskette": GOSUB 150: GOTO 180
  31. 310  HOME : PRINT "Slot "S", Drive "D", Volume "V: PRINT "is not responding to commands": PRINT "Please correct the parameters": GOSUB 150: GOTO 180
  32. 320  PRINT " Enter (1) thru (7) for slot selection:";
  33. 330  GOSUB 630: ON Z$ =  CHR$(27) GOTO 180: IF Z$ <"1"  OR Z$ >"7"  THEN 330
  34. 340 S =  VAL(Z$): GOTO 180
  35. 350  PRINT " Enter (1) or (2) for drive selection:";
  36. 360  GOSUB 630: ON Z$ =  CHR$(27) GOTO 180: IF Z$ <"1"  OR Z$ >"2"  THEN 360
  37. 370 D =  VAL(Z$): GOTO 180
  38. 380  PRINT " Enter a three digit volume number:    ";:V1 = 0:V = V1
  39. 390  HTAB 36 +V1: GOSUB 630: ON Z$ =  CHR$(27) GOTO 180: IF Z$ <"0"  OR Z$ >"9"  THEN 390
  40. 400 V = V + VAL(Z$) *((V1 = 0) *100 +(V1 = 1) *10 +(V1 = 2)): PRINT Z$;:V1 = V1 +1: IF V1 <3  THEN 390
  41. 410  GOTO 180
  42. 420  HOME : PRINT "A:";: HTAB 21: PRINT ":(N)ext, -> or DOWN": PRINT "B:";: HTAB 21: PRINT ":(P)rev, <- or UP"
  43. 430  PRINT "C:";: HTAB 21: PRINT ":(J)ump, (^Q)uit": PRINT "D:";: HTAB 21: PRINT ":(ESC) new disk : :";: CALL M +3: CALL M +6: GOSUB 130:F1 =  -1
  44. 440  IF F1 = F  THEN 500
  45. 450  VTAB 1: HTAB 1: PRINT : FOR X = 0 TO 3 *(U > = 4) +(U -1) *(U <4): ONERR  GOTO 470
  46. 460  IF F +X < = U  THEN  PRINT D$"BLOAD";: FOR Y = 0 TO 29: PRINT  CHR$( PEEK(W +(F +X) *30 +Y));: NEXT : PRINT ",A"L(X): GOTO 480
  47. 470  RESUME 450
  48. 480  NEXT 
  49. 490  CALL M +6: POKE N,F:F1 = F: CALL M +9
  50. 500  VTAB 24: HTAB 38: GOSUB 630: IF Z$ =  CHR$(27)  THEN 180
  51. 510  IF Z$ =  CHR$(17)  THEN  TEXT : HOME : END 
  52. 520  IF Z$ = "N"  OR Z$ = "n"  OR Z$ =  CHR$(21)  OR Z$ =  CHR$(10)  THEN F = F +4: IF F >T  THEN F = T
  53. 530  IF Z$ = "P"  OR Z$ = "p"  OR Z$ =  CHR$(8)  OR Z$ =  CHR$(11)  THEN F = F -4: IF F <0  THEN F = 0
  54. 540  IF Z$ < >"J"  AND Z$ < >"j"  THEN 440
  55. 550  ON U <4 GOTO 500: INVERSE : VTAB 21: HTAB 23: PRINT "N";: HTAB 30: PRINT "->";: HTAB 36: PRINT "DOWN";: VTAB 22: HTAB 23: PRINT "P";: HTAB 30: PRINT "<-";: HTAB 36: PRINT "UP";: NORMAL 
  56. 560  POKE N,F: CALL M +9: VTAB 24: HTAB 38: GOSUB 630: IF Z$ =  CHR$(13)  THEN  VTAB 21: HTAB 23: PRINT "N";: HTAB 30: PRINT "->";: HTAB 36: PRINT "DOWN";: VTAB 22: HTAB 23: PRINT "P";: HTAB 30: PRINT "<-";: HTAB 36: PRINT "UP";: GOTO 440
  57. 570  IF Z$ = "N"  OR Z$ = "n"  OR Z$ =  CHR$(21)  OR Z$ =  CHR$(10)  THEN F = F +1: IF F >T  THEN F = T
  58. 580  IF Z$ = "P"  OR Z$ = "p"  OR Z$ =  CHR$(8)  OR Z$ =  CHR$(11)  THEN F = F -1: IF F <0  THEN F = 0
  59. 590  GOTO 560
  60. 600  TEXT : HOME : PRINT "Fatal Error --": PRINT : INVERSE : PRINT " BROWSER.BIN ": NORMAL : PRINT : PRINT "must be on this diskette...": PRINT : END 
  61. 610  HOME : PRINT "THIS PROGRAM RUNS ONLY UNDER DOS 3.3": END 
  62. 620  TEXT : HOME : END 
  63. 630  WAIT  -16384,128:ZZ =  PEEK( -16384):Z$ =  CHR$(ZZ -128): POKE  -16368,0: RETURN