home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Amos / AmosCRAFT2Turbo.DMS / in.adf / demos / general / Copper-demo.AMOS / Copper-demo.amosSourceCode
Encoding:
AMOS Source Code  |  1994-02-20  |  2.3 KB  |  127 lines

  1. 'non-turbo demo- just for fun and our future projects! 
  2.  
  3.  
  4. Screen Open 0,320,200,16,Lowres
  5. Colour 0,0
  6. Colour 1,0
  7. Colour 2,$F00
  8. Hide 
  9. Curs Off 
  10. For I=1 To 12
  11.    Print "!!!  ABSOLUTELY NO BLITTER IS USED  !!!"
  12.    Print "!!!   ALL WORK DONE BY THE COPPER   !!!"
  13. Next 
  14. Hide 
  15. Wait Vbl : View : Wait Vbl : View 
  16. L=0
  17. COP_ADRES=Cop Logic
  18. Repeat 
  19.    C=Leek(COP_ADRES+L)
  20.    Add L,4
  21. Until C=$FFFFFFFE
  22. Reserve As Work 10,L+4
  23. L=0
  24. COP_COPY=Start(10)
  25. Repeat 
  26.    C=Leek(COP_ADRES+L)
  27.    Loke COP_COPY+L,C
  28.    Add L,4
  29. Until C=$FFFFFFFE
  30. Copper Off : Wait Vbl 
  31. NEW_COPLIST=Cop Logic
  32. OLD_COPLIST=Start(10)
  33. CHANGED=False
  34. Restore NEW_COPPER_INSTRUCTIONS
  35. Read LINE_TO_WAIT
  36. Repeat 
  37.    If CHANGED=False
  38.       _WAIT=Deek(OLD_COPLIST)
  39.       If _WAIT and 1
  40.          If _WAIT/256>LINE_TO_WAIT
  41.             CHANGE_ADRES=NEW_COPLIST
  42.             Cop Wait 7,LINE_TO_WAIT
  43.             Cop Move $184,$F
  44.             Add NEW_COPLIST,8
  45.             Read COUNT
  46.             For I=1 To COUNT
  47.                Read LINE,SHIFT
  48.                Cop Wait 7,LINE
  49.                Cop Move $102,SHIFT
  50.                Add NEW_COPLIST,8
  51.             Next 
  52.             Cop Wait 7,LINE+1
  53.             Cop Move $102,0
  54.             Add NEW_COPLIST,8
  55.             CHANGED=True
  56.          End If 
  57.       End If 
  58.    End If 
  59.    If _WAIT=$182
  60.       Cop Move $182,$0
  61.    Else 
  62.       Cop Move 0,0
  63.       Loke NEW_COPLIST,Leek(OLD_COPLIST)
  64.    End If 
  65.    Add NEW_COPLIST,4
  66.    Add OLD_COPLIST,4
  67. Until Leek(OLD_COPLIST)=$FFFFFFFE
  68. Cop Swap 
  69. Add CHANGE_ADRES,4
  70.  Extension_12_0016 
  71. Repeat 
  72.    Wait Vbl 
  73.    FIRST_SHIFT=Leek(CHANGE_ADRES)
  74.    For I=CHANGE_ADRES To CHANGE_ADRES+COUNT*8 Step 8
  75.       Loke I,Leek(I+8)
  76.    Next 
  77.    Loke I,FIRST_SHIFT
  78. Until Extension_12_0392 
  79.  Extension_12_0006 
  80. NEW_COPPER_INSTRUCTIONS:
  81. Data 100,46
  82. Data 100,$11
  83. Data 104,$22
  84. Data 108,$33
  85. Data 112,$44
  86. Data 116,$55
  87. Data 120,$66
  88. Data 124,$77
  89. Data 128,$66
  90. Data 132,$55
  91. Data 136,$44
  92. Data 140,$33
  93. Data 144,$22
  94. Data 148,$11
  95. Data 149,$11
  96. Data 150,$22
  97. Data 151,$33
  98. Data 152,$44
  99. Data 153,$55
  100. Data 154,$66
  101. Data 155,$77
  102. Data 156,$66
  103. Data 157,$55
  104. Data 158,$44
  105. Data 159,$33
  106. Data 160,$22
  107. Data 161,$11
  108. Data 162,$22
  109. Data 166,$33
  110. Data 170,$44
  111. Data 174,$55
  112. Data 178,$66
  113. Data 182,$77
  114. Data 186,$88
  115. Data 190,$99
  116. Data 194,$AA
  117. Data 198,$BB
  118. Data 202,$CC
  119. Data 206,$DD
  120. Data 210,$EE
  121. Data 214,$CC
  122. Data 218,$AA
  123. Data 222,$88
  124. Data 226,$66
  125. Data 230,$44
  126. Data 234,$22
  127. Data 238,$11