home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib31b.dsk / PS.SLIDE.SHOW.bas < prev    next >
BASIC Source File  |  2023-02-26  |  4KB  |  97 lines

  1. 10  REM  ************************
  2. 20  REM  *    PS.SLIDE.SHOW     *
  3. 30  REM  *   BY MIKE DORFFLER   *
  4. 40  REM  *  COPYRIGHT (C) 1987  *
  5. 50  REM  *  BY MICROSPARC, INC  *
  6. 60  REM  *  CONCORD, MA  01742  *
  7. 70  REM  ************************
  8. 80  REM 
  9. 90  TEXT : HOME : PRINT  CHR$(21): SPEED= 255
  10. 100 BL$ =  CHR$(4) +"BLOAD "
  11. 110  VTAB 10: HTAB 10: PRINT "PRINT SHOP SLIDE SHOW": PRINT : HTAB 12: PRINT "BY MIKE DORFFLER": PRINT : PRINT " COPYRIGHT 1987 BY MICROSPARC, INC.": PRINT : HTAB 10: PRINT "ONE MOMENT PLEASE..."
  12. 120  REM 
  13. 130  REM  STORE PICTURE NAMES IN MEMORY
  14. 140 NP = 4
  15. 150  DIM PIC$(NP): FOR X = 1 TO NP: READ PIC$(X): IF PIC$(X) = ""  THEN X = NP: NEXT : HOME : VTAB 12: PRINT "NOT ENOUGH FILE NAMES ENTERED IN DATA": END 
  16. 160  NEXT 
  17. 170  REM  BLOAD BINARY FILES
  18. 180 EF = 1: ONERR  GOTO 910
  19. 190  PRINT BL$;"PS.FAST": PRINT BL$;"HI.RES.CHAR.SET,A$6200"
  20. 200  REM 
  21. 210  REM  HIRES SCREEN SETUP
  22. 220  REM 
  23. 230  POKE 230,32: CALL 62450
  24. 240  FOR X = 22528 TO 23100: POKE X,0: NEXT 
  25. 250  HCOLOR= 6: FOR Y = 25 TO 95: HPLOT 85,Y TO 193,Y: NEXT 
  26. 260  HCOLOR= 7: HPLOT 10,101 TO 270,101: HPLOT 10,115 TO 270,115
  27. 270  HCOLOR= 2: HPLOT 10,2 TO 270,2: HPLOT 10,18 TO 270,18
  28. 280  CALL 24576: GOSUB 690: POKE 232,0: POKE 233,98: ROT= 0: SCALE= 1
  29. 290  REM 
  30. 300  REM  PRINT TEXT ON SCREEN
  31. 310  REM 
  32. 320 P$ = "PRINT SHOP SLIDE SHOW":L =  LEN(P$):Y = 10: GOSUB 710
  33. 330 P$ = "SPACE TO HOLD PICTURE":L =  LEN(P$):Y = 130: GOSUB 710
  34. 340 P$ = "RETURN TO RESUME":L =  LEN(P$):Y = 140: GOSUB 710
  35. 350 P$ = "ESCAPE TO END SLIDE SHOW":L =  LEN(P$):Y = 150: GOSUB 710
  36. 360  REM 
  37. 370  REM  RUN SLIDE SHOW - CHECK KEYBOARD
  38. 380  FOR X = 1 TO NP
  39. 390 EF = 2: ONERR  GOTO 910
  40. 400  PRINT BL$;PIC$(X);",A$5800": CALL 24576: GOSUB 760: GOSUB 700: GOSUB 750: GOSUB 770: NEXT 
  41. 410  REM 
  42. 420  REM  SLIDE SHOW OVER - RUN AGAIN?
  43. 430  REM 
  44. 440  HOME : POKE 49235,0
  45. 450  VTAB 22: INVERSE : PRINT "RETURN TO SEE SLIDE SHOW AGAIN": PRINT "ESCAPE TO END SLIDE SHOW": NORMAL 
  46. 460  GOTO 860
  47. 470  REM 
  48. 480  REM  ENTER PICTURE NAMES AS DATA
  49. 490  REM  100 MAXIMUM, PLEASE
  50. 500  REM 
  51. 510  DATA 
  52. 520  DATA 
  53. 530  DATA 
  54. 540  DATA 
  55. 550  DATA 
  56. 560  DATA 
  57. 570  DATA 
  58. 580  DATA 
  59. 590  DATA 
  60. 600  DATA 
  61. 610  DATA 
  62. 620  DATA 
  63. 630  DATA 
  64. 640  DATA 
  65. 650  REM 
  66. 660  REM 
  67. 670  REM  SUBROUTINES
  68. 680  REM 
  69. 690 XX =  PEEK(49232) + PEEK(49239) + PEEK(49236) + PEEK(49235): RETURN 
  70. 700 P$ = PIC$(X):L =  LEN(P$):Y = 108
  71. 710 LT = 8 *(L +2):BT =  INT((280 -LT)/2): HCOLOR= 7
  72. 720  FOR T = 1 TO L: DRAW ( ASC( MID$ (P$,T,1)) -31) AT BT +T *8,Y
  73. 730  DRAW ( ASC( MID$ (P$,T,1)) -31) AT BT +1 +T *8,Y
  74. 740  NEXT : RETURN 
  75. 750  FOR P = 1 TO 2000: NEXT : RETURN 
  76. 760  HCOLOR= 0: FOR Y = 102 TO 114: HPLOT 50,Y TO 200,Y: NEXT : RETURN 
  77. 770 KEY =  PEEK(49152): IF KEY <128  THEN  RETURN 
  78. 780  POKE 49168,0
  79. 790  IF KEY < >160  AND KEY < >141  AND KEY < >155  THEN  RETURN 
  80. 800  IF KEY = 160  THEN  GOTO 820
  81. 810  IF KEY = 155  THEN  POKE 49168,0: TEXT : HOME : END 
  82. 820 KEY =  PEEK(49152): IF KEY <128  THEN 820
  83. 830  POKE 49168,0
  84. 840  ON KEY = 155 GOTO 810: IF KEY < >141  THEN 820
  85. 850  RETURN 
  86. 860 KEY =  PEEK(49152): IF KEY <128  THEN 860
  87. 870  POKE 49168,0
  88. 880  IF KEY < >141  AND KEY < >155  THEN 860
  89. 890  IF KEY = 141  THEN  POKE 49234,0: GOTO 380
  90. 900  ON KEY < >155 GOTO 870: TEXT : HOME : END 
  91. 910 E =  PEEK(222):EL =  PEEK(218) +256 * PEEK(219): CALL  -3288: POKE 216,0
  92. 920  IF E = 6  AND EF = 1  THEN A$ = "TROUBLE LOADING BINARY FILES": GOTO 960
  93. 930  IF E = 6  AND EF = 2  THEN A$ = PIC$(X) +" NOT FOUND ON THIS DISK": GOTO 960
  94. 940  IF E = 8  THEN A$ = "I/O ERROR--CHECK DRIVE DOOR": GOTO 960
  95. 950 A$ = "ERROR " + STR$(E) +" IN LINE " + STR$(EL)
  96. 960  POKE 49235,0: VTAB 22: PRINT A$: PRINT "RETURN TO TRY AGAIN, ESCAPE TO QUIT";: GET Z$: PRINT : IF Z$ < > CHR$(27)  THEN A =  PEEK( -16302): HOME : ON EF GOTO 180,390
  97. 970  TEXT : END