home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib35a.dsk / JANUARY.1989 / SLIDE.SHOW.bas < prev   
BASIC Source File  |  2023-02-26  |  4KB  |  61 lines

  1. 10  REM  *************************
  2. 20  REM  * SLIDE.SHOW            *
  3. 30  REM  * BY STEVE ELLIS        *
  4. 40  REM  * COPYRIGHT (C) 1989    *
  5. 50  REM  * MINDCRAFT PUBL. CORP. *
  6. 60  REM  * CONCORD, MA 01742     *
  7. 70  REM  *************************
  8. 80 D$ =  CHR$(4): DIM F$(45):F = 0:P1$ = ""
  9. 90  ONERR  GOTO 600
  10. 100  PRINT D$"-PLOAD.INSTALL"
  11. 110  ONERR  GOTO 610
  12. 120  PRINT D$"BLOAD SLIDE.OBJ,A$300"
  13. 130  PRINT D$"PR#3"
  14. 140  ONERR  GOTO 390
  15. 150  HOME : PRINT : GOSUB 620: VTAB 1: PRINT : PRINT "Super Hi-Res Slide Show": PRINT "By Steve Ellis": PRINT "Copyright (C) 1989": PRINT "MindCraft Publ. Corp.": PRINT : PRINT 
  16. 160  PRINT "1) Enter Slot/Drive"
  17. 170  PRINT : PRINT "2) Enter Prefix": PRINT : PRINT "3) Turn picture names off": PRINT : PRINT "4) Turn picture names on": PRINT : PRINT "5) See slide show": PRINT : PRINT "6) Quit": PRINT : PRINT "Your Choice: ";
  18. 180  POKE  -16368,0: GET AN$: IF AN$ <"1"  OR AN$ >"6"  THEN 180
  19. 190  PRINT AN$;:
  20. 200  IF AN$ = "1"  THEN  GOSUB 510: GOTO 140
  21. 210  IF AN$ < >"2"  THEN 270
  22. 220 PP$ = P1$: HOME : INPUT "Enter Prefix: /";P1$: IF P1$ < >""  THEN P1$ = "/" +P1$: IF  LEFT$(P1$,2) = "//"  THEN P1$ =  RIGHT$(P1$, LEN(P1$) -1): GOTO 240
  23. 240 ERR = 0:FL = 1: PRINT D$"prefix ";P1$: PRINT D$"catalog": PRINT : PRINT "Press Return to continue ";: GET AN$: PRINT AN$;:
  24. 250 FL = 0: IF ERR  THEN P1$ = PP$
  25. 260  GOTO 150
  26. 270  IF AN$ = "3"  THEN F = 1: GOTO 150
  27. 280  IF AN$ = "4"  THEN F = 0: GOTO 150
  28. 290  IF AN$ = "6"  THEN  CALL 852: HOME : VTAB 23: END : REM shut down QuickDraw and end
  29. 300  IF P1$ = ""  THEN  PRINT D$;"PREFIX": INPUT P1$: GOTO 320
  30. 310  IF  RIGHT$(P1$,1) < >"/"  THEN P1$ = P1$ +"/"
  31. 320 X = 1
  32. 330  PRINT D$"OPEN"P1$",TDIR": PRINT D$"READ"P1$
  33. 340  INPUT A$: INPUT A$: INPUT A$
  34. 350  INPUT A$:T$ =  MID$ (A$,18,3): IF T$ < >"PIC"  AND T$ < >"PNT"  AND T$ < >"$C1"  AND T$ < >"$C0"  THEN 350
  35. 360  FOR Y = 15 TO 2  STEP  -1: IF  MID$ (A$,Y,1) = " "  THEN  NEXT 
  36. 370 F$(X) =  MID$ (A$,2,Y)
  37. 380 X = X +1:Y = 2: NEXT Y: GOTO 350
  38. 390  PRINT D$"CLOSE": IF FL  THEN ERR = 1: VTAB 16: PRINT "Error using prefix ";P1$: PRINT "Press Return to continue ";: POKE  -16368,0: GET AN$: VTAB 16: PRINT  SPC( 79): PRINT  SPC( 79);: GOTO 250
  39. 400  IF X = 1  THEN  HOME : PRINT "Disk error or no pictures on that disk...press Return to continue ";: POKE  -16368,0: GET AN$: PRINT AN$;: GOTO 140
  40. 410  ONERR  GOTO 490
  41. 420  CALL 768: REM Startup Quickdraw
  42. 430 Y = 1
  43. 440  PRINT D$"PLOAD"P1$ +F$(Y)
  44. 450  FOR Z = 1 TO  LEN(F$(Y)): POKE 735 +Z, ASC( MID$ (F$(Y),Z,1)): NEXT : POKE 735 +Z,0: CALL 794: REM poke title into memory and calc. its pixel width
  45. 460 H = (320 - PEEK(866))/2: POKE 824,H: REM center the title     
  46. 470  IF F = 0  THEN  CALL 819: REM draw the title
  47. 480  GET A$: IF  ASC(A$) = 27  THEN 500
  48. 490 Y = Y +1: IF Y <X  THEN 440
  49. 500  CALL 852:F = 0: GOTO 140
  50. 510  ONERR  GOTO 580
  51. 520  HOME : VTAB 1: PRINT "Slot:";: POKE  -16368,0: GET S: IF S <4  OR S >7  THEN 520
  52. 530  PRINT S
  53. 540  HTAB 1: VTAB 3: PRINT "Drive:";: POKE  -16368,0: GET D: IF D <1  OR D >2  THEN 540
  54. 550  PRINT D: PRINT D$;"PREFIX,S";S;",D";D: PRINT D$"catalog": PRINT : PRINT "Press Return to continue ";: GET AN$: PRINT AN$;:
  55. 560  PRINT D$"PREFIX": INPUT P1$
  56. 570  POKE 216,0: HOME : RETURN 
  57. 580  CALL  -3288: IF  PEEK(222) = 16  THEN 570
  58. 590  PRINT : PRINT "Invalid Slot and Drive. Press RETURN to continue.";: POKE  -16368,0: GET AN$: GOTO 520
  59. 600  HOME : PRINT "CANNOT FIND PLOAD.INSTALL": END 
  60. 610  HOME : PRINT "CANNOT FIND SLIDE.OBJ": END 
  61. 620  VTAB 22: HTAB 1: PRINT "While slide show is running, press Return for next picture": PRINT "and Escape for this menu";: RETURN