home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / demos / doublescroll.amos / doublescroll.amosSourceCode < prev    next >
AMOS Source Code  |  1991-02-26  |  3KB  |  123 lines

  1. Screen Open 0,320,256,2,Lowres
  2. Close Workbench : Close Editor : Led Off : Break Off 
  3. Curs Off : Flash Off : Hide On : Cls 0
  4. Unpack 6 To 0
  5. Screen Open 3,320,256,16,Lowres
  6. Unpack 5 To 3
  7. Screen To Back 3
  8. Screen Open 2,380,30,16,Lowres
  9. Curs Off : Flash Off : Hide On : Cls 0
  10. Get Palette 3
  11. Screen Copy 3,0,100,319,135 To 2,0,0
  12. Screen Open 1,380,30,16,Lowres
  13. Curs Off : Flash Off : Hide On : Cls 0
  14. Get Palette 3
  15. Screen Copy 3,0,100,319,135 To 1,0,0
  16. Def Scroll 1,0,9 To 368,21,-2,0
  17. Def Scroll 2,0,9 To 368,21,-1,0
  18. Set Rainbow 1,1,512,"(1,1,12)","","(1,-1,12)"
  19. Rainbow 1,1,40,256
  20. Dim X$(51),X(51),Y(51)
  21. SCNT1=1 : CNT1=31 : SCNT2=1 : CNT2=31
  22. SC1$=Space$(718) : For F=Start(8) To Start(8)+718 : Poke Varptr(SC1$)+F-Start(8),Peek(F) : Next F
  23. SC2$=Space$(1734) : For F=Start(9) To Start(9)+1734 : Poke Varptr(SC2$)+F-Start(9),Peek(F) : Next F
  24. SCRL$="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@,!.:?/+-()#{} "
  25. Screen Display 2,140,34,,
  26. Screen Display 1,140,178,,
  27. Gosub FDATA
  28. Music 1
  29. Do 
  30. Gosub MESSAGE1
  31. Gosub MESSAGE2
  32. Wait Vbl 
  33. If Mouse Key=1 Then Goto DIE
  34. Loop 
  35. MESSAGE1:
  36. Screen 1
  37. Scroll 1
  38. Add CNT1,6
  39. If CNT1>36 Then Gosub NCHAR1 : CNT1=0 : Inc SCNT1 : If SCNT1>Len(SC2$) Then SCNT1=1
  40. Return 
  41. NCHAR1:
  42. E$=Mid$(SC2$,SCNT1,1)
  43. E=Instr(SCRL$,E$)
  44. Screen Copy 3,X(E),Y(E),X(E)+14,Y(E)+14 To 1,350,9
  45. Return 
  46. MESSAGE2:
  47. Screen 2
  48. Scroll 2
  49. Add CNT2,6
  50. If CNT2>72 Then Gosub NCHAR2 : CNT2=0 : Inc SCNT2 : If SCNT2>Len(SC1$) Then SCNT2=1
  51. Return 
  52. NCHAR2:
  53. E$=Mid$(SC1$,SCNT2,1)
  54. E=Instr(SCRL$,E$)
  55. Screen Copy 3,X(E),Y(E),X(E)+14,Y(E)+14 To 2,350,9
  56. Return 
  57. FDATA:
  58. For F=1 To 51
  59.    Read X$(F),X(F),Y(F)
  60. Next F
  61. Data "0",84,40
  62. Data "1",98,40
  63. Data "2",112,40
  64. Data "3",126,40
  65. Data "4",140,40
  66. Data "5",154,40
  67. Data "6",168,40
  68. Data "7",182,40
  69. Data "8",196,40
  70. Data "9",210,40
  71. Data "A",0,12
  72. Data "B",14,12
  73. Data "C",28,12
  74. Data "D",42,12
  75. Data "E",56,12
  76. Data "F",70,12
  77. Data "G",84,12
  78. Data "H",98,12
  79. Data "I",112,12
  80. Data "J",126,12
  81. Data "K",140,12
  82. Data "L",154,12
  83. Data "M",168,12
  84. Data "N",182,12
  85. Data "O",196,12
  86. Data "P",210,12
  87. Data "Q",224,12
  88. Data "R",238,12
  89. Data "S",252,12
  90. Data "T",266,12
  91. Data "U",0,40
  92. Data "V",14,40
  93. Data "W",28,40
  94. Data "X",42,40
  95. Data "Y",56,40
  96. Data "Z",70,40
  97. Data "@",210,68
  98. Data ",",14,68
  99. Data "!",84,40
  100. Data ".",0,68
  101. Data ":",266,68
  102. Data "?",28,68
  103. Data "/",196,68
  104. Data "+",154,68
  105. Data "-",224,68
  106. Data "(",126,68
  107. Data ")",140,68
  108. Data "#",42,68
  109. Data "{",168,68
  110. Data "}",182,68
  111. Data " ",288,68
  112. Return 
  113. DIE:
  114. Screen Close 3
  115. Screen 1 : Fade 5 : Wait 75
  116. Screen 2 : Fade 5 : Wait 75
  117. Screen Close 1 : Screen Close 2
  118. Screen 0
  119. Fade 5 : Wait 10
  120. For F=63 To 0 Step -1
  121. Mvolume F : For T=0 To 1000 : Next T
  122. Next F
  123. Screen Close 0