home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / STESTOS / STESTOS1.MSA / TEXT / BLIT1.DOC < prev    next >
Text File  |  2010-01-01  |  22KB  |  355 lines

  1. !ressotS000555673777
  2. FA0FA0FA0FA0FA0000001FA0
  3. FA0FA0FA0FA0FA0000001FA0
  4. FA0FA0FA0FA0FA0000001FA0
  5. FA0FA0FA0FA0FA0002009FA0           *****          STOS AND THE STE       ******
  6. FA0FA0FA0FA0FA0000009FA0           ********************************************
  7. FA0FA0FA0FA0FA0000001FA0     
  8. FA0FA0FA0FA0FA0000001FA0     
  9. FA0FA0FA0FA0FA0000001FA0     
  10. FA0FA0FA0FA0FA0000009FA0     A new column dealing with the STE side of STOS Programing.
  11. FA0FA0FA0FA0FA0002003FA0         
  12. FA0FA0FA0FA0FA0000001FA0               
  13. FA0FA0FA0FA0FA0002009FA0     BLITTER AND STE COMMAND TUTORIAL BASED ON ASA BURROW's DOC    
  14. FA0FA0FA0FA0FA0002009FA0     but severely edited to make it more usable. Hope he doesn't
  15. FA0FA0FA0FA0FA0002009FA0     mind to much. If you read this Asa,  please send any input
  16. FA0FA0FA0FA0FA0002009FA0     you might have to me. 
  17. FA0FA0FA0FA0FA0002009FA0     
  18. FA0FA0FA0FA0FA0002009FA0         To follow these tutorials, you will need:
  19. FA0FA0FA0FA0FA0000009FA0    STOS
  20. FA0FA0FA0FA0FA0002009FA0         The BLITTER.EX*           Starting this month
  21. FA0FA0FA0FA0FA0002009FA0         The STE_EXTN.EX*                Starting soon
  22. FA0FA0FA0FA0FA0002009FA0         A Blitter chip ,and/or an STE        
  23. FA0FA0FA0FA0FA0000001FA0             
  24. FA0FA0FA0FA0FA0000001FA0             
  25. FA0FA0FA0FA0FA0000001FA0  
  26. FA0FA0FA0FA0FA0002009FA0      Intro:
  27. FA0FA0FA0FA0FA0000001FA0      This  section  will deal with aspects of the STE
  28. FA0FA0FA0FA0FA0000001FA0      such as the Blitter, DAC and Hardware scrolling. Once again, 
  29. FA0FA0FA0FA0FA0000001FA0      many thanks for the people writting the Extentions, and in this
  30. FA0FA0FA0FA0FA0000001FA0      case ASA Burrows. Having met him, I can only say he is a very nice
  31. FA0FA0FA0FA0FA0000001FA0      chap, and it is a shame that more people are not making use of 
  32. FA0FA0FA0FA0FA0000001FA0      his extentions.
  33. FA0FA0FA0FA0FA0000001FA0      
  34. FA0FA0FA0FA0FA0000001FA0      Here is the challenge: Can you use these extentions?
  35. FA0FA0FA0FA0FA0000001FA0                       Have you a demo screen ?
  36. FA0FA0FA0FA0FA0000001FA0                       Have you got a clue? ( I haven't!)
  37. FA0FA0FA0FA0FA0000001FA0                       Can you help!
  38. FA0FA0FA0FA0FA0000001FA0                      
  39. FA0FA0FA0FA0FA0000001FA0      
  40. FA0FA0FA0FA0FA0000001FA0      Appeal:
  41. FA0FA0FA0FA0FA0000001FA0      Yes, I know ! I haven't even started and already I am appealing for
  42. FA0FA0FA0FA0FA0000001FA0      your source code and routines. But hey! why not. Please, please, 
  43. FA0FA0FA0FA0FA0000001FA0      please send me stuff STE related with plenty of Doc and Rems so that
  44. FA0FA0FA0FA0FA0000001FA0      I know what is going on!
  45. FA0FA0FA0FA0FA0000001FA0      How many of you are actually using STEs out there?
  46. FA0FA0FA0FA0FA0000001FA0      
  47. FA0FA0FA0FA0FA0000001FA0      
  48. FA0FA0FA0FA0FA0000001FA0     *** Warning **   ****************************************************
  49. FA0FA0FA0FA0FA0000001FA0     *All the stuff I mention is mostly trial and error, so I can't offer* 
  50. FA0FA0FA0FA0FA0000001FA0     *any guarantees. This tutorial might be harmfull to your machine,   *
  51. FA0FA0FA0FA0FA0000001FA0     *or peripherals, so be warned!                                      *
  52. FA0FA0FA0FA0FA0000001FA0     *ps: I never had any problems, but who knows.                       *
  53. FA0FA0FA0FA0FA0000001FA0     ********************************************************************* 
  54. FA0FA0FA0FA0FA0000001FA0      
  55. FA0FA0FA0FA0FA0002009FA0      Why bother with the STE and Blitter extentions?
  56. FA0FA0FA0FA0FA0002009FA0      Many of you will be using the Missing link ext. and mighty it is too!
  57. FA0FA0FA0FA0FA0002009FA0      But let's face it, the best machine code can not outperform hardware
  58. FA0FA0FA0FA0FA0002009FA0      trickery. Imagine a Horizontal 320*200 screen scroll that hardly uses 
  59. FA0FA0FA0FA0FA0002009FA0      any machine time at all! The possibility to shift large chunks of
  60. FA0FA0FA0FA0FA0002009FA0      graphics around without fancy programming and speed penalty.Better 
  61. FA0FA0FA0FA0FA0002009FA0      sound. All elements that would allow you more freedom to do animation.
  62. FA0FA0FA0FA0FA0002009FA0      That is the theory at least. But have you noticed that so far no use 
  63. FA0FA0FA0FA0FA0002009FA0      has been made by STOS users of these extentions? 
  64. FA0FA0FA0FA0FA0002009FA0          I could be wrong, in which case please send me your code!
  65. FA0FA0FA0FA0FA0002009FA0        I could be right, in which case I hope this column will provoke
  66. FA0FA0FA0FA0FA0002009FA0        some kind of reaction and  motivation.    
  67. FA0FA0FA0FA0FA0000001FA0        
  68. FA0FA0FA0FA0FA0000001FA0        
  69. FA0FA0FA0FA0FA0000001FA0        
  70. FA0FA0FA0FA0FA0000001FA0        
  71. FA0FA0FA0FA0FA0000001FA0        A quick summary follows, describing what can be done. An in depth
  72. FA0FA0FA0FA0FA0000001FA0        Tutorial will start afterwards. 
  73. FA0FA0FA0FA0FA0000001FA0        
  74. FA0FA0FA0FA0FA0000001FA0        First here is a summary of what is available to you:
  75. FA0FA0FA0FA0FA0000001FA0        
  76. FA0FA0FA0FA0FA0000001FA0        In the Blitter Extention:
  77. FA0FA0FA0FA0FA0000001FA0            Macros: set of high level commands doing the equivalent
  78. FA0FA0FA0FA0FA0000001FA0            of "screen copy, cls, fill," but faster and easy to use.
  79. FA0FA0FA0FA0FA0000001FA0     
  80. FA0FA0FA0FA0FA0000001FA0            Expert Commands: Access to all the registers of the 
  81. FA0FA0FA0FA0FA0000001FA0            blitter chip! Very Very Fast but Difficult to use.
  82. FA0FA0FA0FA0FA0000001FA0            Allows Single plane manipulation! and logical 
  83. FA0FA0FA0FA0FA0000001FA0            operations.  Frighteningly fast !!!
  84. FA0FA0FA0FA0FA0000001FA0            
  85. FA0FA0FA0FA0FA0000001FA0            The blitter chip can handle most common graphic tasks 
  86. FA0FA0FA0FA0FA0000001FA0            faster than the 68000, and leaves the main processor 
  87. FA0FA0FA0FA0FA0000001FA0            free to do other things, with a minimum speed penalty.
  88. FA0FA0FA0FA0FA0000001FA0            I love it for scrolling routines... that beat anything 
  89. FA0FA0FA0FA0FA0000001FA0            else I have seen ! ( I managed to crash my ST over 100
  90. FA0FA0FA0FA0FA0000001FA0            times writting this doc! so be carefull and save 
  91. FA0FA0FA0FA0FA0000001FA0            everything)###
  92. FA0FA0FA0FA0FA0000001FA0             
  93. FA0FA0FA0FA0FA0000001FA0        In the STE Extention
  94. FA0FA0FA0FA0FA0000001FA0            Twin joystick support        
  95. FA0FA0FA0FA0FA0000001FA0            Light Gun
  96. FA0FA0FA0FA0FA0000001FA0            Extended palette          *** so far nothing new or 
  97. FA0FA0FA0FA0FA0000001FA0                                           important
  98. FA0FA0FA0FA0FA0000001FA0            DAC  or DMA sample playing routine
  99. FA0FA0FA0FA0FA0000001FA0            Hardware scrolling       ***the powerfull and painfull bit 
  100. FA0FA0FA0FA0FA0000001FA0                                                            
  101. FA0FA0FA0FA0FA0000001FA0        
  102. FA0FA0FA0FA0FA0000001FA0      
  103. FA0FA0FA0FA0FA0000001FA0    Now let's start some tutorials:
  104. FA0FA0FA0FA0FA0000001FA0    
  105. FA0FA0FA0FA0FA0000001FA0    
  106. FA0FA0FA0FA0FA0002009FA0PART 1       ******** THE BLITTER EXTENTION  *********
  107. FA0FA0FA0FA0FA0000001FA0
  108. FA0FA0FA0FA0FA0000001FA0
  109. FA0FA0FA0FA0FA0002009FA0Here are the macro commands . They are the easiest part to master
  110. FA0FA0FA0FA0FA0002009FA0and the tutorial finishes with an example covering most commands.
  111. FA0FA0FA0FA0FA0000001FA0
  112. FA0FA0FA0FA0FA0000001FA0
  113. FA0FA0FA0FA0FA0002009FA0x=BLITTER
  114. FA0FA0FA0FA0FA0002009FA0
  115. FA0FA0FA0FA0FA0002009FA0    This checks to see if a blitter is fitted.If a 1 is returned,
  116. FA0FA0FA0FA0FA0002009FA0     you have one, if 0 is returned you don't.  So if you get 
  117. FA0FA0FA0FA0FA0002009FA0     a "0",  goodbye !
  118. FA0FA0FA0FA0FA0000001FA0
  119. FA0FA0FA0FA0FA0002009FA0BLIT CLS screen
  120. FA0FA0FA0FA0FA0002009FA0    Clears the screen. This can be logical, physical, or the address 
  121. FA0FA0FA0FA0FA0002009FA0    of a screen bank    
  122. FA0FA0FA0FA0FA0002009FA0        ie: 
  123. FA0FA0FA0FA0FA0000001FA0    
  124. FA0FA0FA0FA0FA0002009FA0        20 load" picture.neo",physic
  125. FA0FA0FA0FA0FA0002009FA0        30 wait key
  126. FA0FA0FA0FA0FA0002009FA0        40 BLIT CLS physic
  127. FA0FA0FA0FA0FA0002009FA0        *** not very clever !  loads a pic and erases it.
  128. FA0FA0FA0FA0FA0000001FA0        
  129. FA0FA0FA0FA0FA0000001FA0
  130. FA0FA0FA0FA0FA0000001FA0
  131. FA0FA0FA0FA0FA0002009FA0* BLIT COPY source,desination
  132. FA0FA0FA0FA0FA0000001FA0
  133. FA0FA0FA0FA0FA0002009FA0  BLIT COPY source,destination,op
  134. FA0FA0FA0FA0FA0002009FA0  BLIT COPY source,x1,y1,x2,y2,destination,x,y
  135. FA0FA0FA0FA0FA0002009FA0  BLIT COPY source,x1,y1,x2,y2,destination,x,y,op
  136. FA0FA0FA0FA0FA0000001FA0
  137. FA0FA0FA0FA0FA0002009FA0 This one is more usefull! It's similar to Screen Copy in Stos, or 
  138. FA0FA0FA0FA0FA0002009FA0 Blit from the Missing Link. So you should know how to use it!
  139. FA0FA0FA0FA0FA0000001FA0 
  140. FA0FA0FA0FA0FA0002009FA0 If you are copying only a small part from the source address, remember
  141. FA0FA0FA0FA0FA0002009FA0 that the X coordinates will be rounded to the nearest 16 pixels. The good 
  142. FA0FA0FA0FA0FA0002009FA0 news is that the destination can be any X,Y coordinates. 
  143. FA0FA0FA0FA0FA0000001FA0 
  144. FA0FA0FA0FA0FA0002009FA0The optional op parameter can range from 1 to 14 and sets the type of
  145. FA0FA0FA0FA0FA0002009FA0copying to do. Don't bother using it for a straight copy, but some nice 
  146. FA0FA0FA0FA0FA0002009FA0effects can be had 
  147. FA0FA0FA0FA0FA0000001FA0
  148. FA0FA0FA0FA0FA0002009FA01 source AND destination
  149. FA0FA0FA0FA0FA0002009FA02 source AND NOT destination
  150. FA0FA0FA0FA0FA0002009FA03 source (a straight copy)
  151. FA0FA0FA0FA0FA0002009FA04 NOT source AND destination
  152. FA0FA0FA0FA0FA0002009FA05 destination
  153. FA0FA0FA0FA0FA0002009FA06 source XOR destination
  154. FA0FA0FA0FA0FA0002009FA07 source or destination
  155. FA0FA0FA0FA0FA0002009FA08 NOT source AND NOT destination
  156. FA0FA0FA0FA0FA0002009FA09 NOT source XOR destination
  157. FA0FA0FA0FA0FA0002009FA010 NOT destination
  158. FA0FA0FA0FA0FA0002009FA011 source OR NOT destination
  159. FA0FA0FA0FA0FA0002009FA012 NOT source
  160. FA0FA0FA0FA0FA0002009FA013 NOT source OR destination
  161. FA0FA0FA0FA0FA0002009FA014 NOT source OR NOT destination
  162. FA0FA0FA0FA0FA0000001FA0 
  163. FA0FA0FA0FA0FA0002009FA0(NB.   XOR does a transparent copy)
  164. FA0FA0FA0FA0FA0000001FA0
  165. FA0FA0FA0FA0FA0002009FA0        ie:  we have our picture in bank 10
  166. FA0FA0FA0FA0FA0002009FA0             and want to copy the top left 1/4 
  167. FA0FA0FA0FA0FA0002009FA0             to the centre of our physical screen
  168. FA0FA0FA0FA0FA0000001FA0             
  169. FA0FA0FA0FA0FA0002009FA0             ...
  170. FA0FA0FA0FA0FA0002009FA0             ...
  171. FA0FA0FA0FA0FA0002009FA0             50 blit copy 10,0,0,160,100,physic,80,50
  172. FA0FA0FA0FA0FA0002009FA0             ...
  173. FA0FA0FA0FA0FA0002009FA0   Feel free to use different op parameters to see the effects
  174. FA0FA0FA0FA0FA0000001FA0   
  175. FA0FA0FA0FA0FA0002009FA0   REMEMBER THIS IS WHAT I CALL A MACRO. To squeeze more speed
  176. FA0FA0FA0FA0FA0002009FA0   we will use the low level expert (not!) commands at a later 
  177. FA0FA0FA0FA0FA0002009FA0   date.
  178. FA0FA0FA0FA0FA0000001FA0    
  179. FA0FA0FA0FA0FA0000001FA0
  180. FA0FA0FA0FA0FA0002009FA0X= BLIT BUSY
  181. FA0FA0FA0FA0FA0000001FA0
  182. FA0FA0FA0FA0FA0002009FA0    Very usefull !
  183. FA0FA0FA0FA0FA0002009FA0    Remember that once you have inscructed the blitter to do something
  184. FA0FA0FA0FA0FA0002009FA0    it will carry it out on its own!
  185. FA0FA0FA0FA0FA0002009FA0    Normaly  we use a "wait vbl" to make sure all graphic operations 
  186. FA0FA0FA0FA0FA0002009FA0    are completed.
  187. FA0FA0FA0FA0FA0002009FA0    Using this command we can also check that the blitter has finished 
  188. FA0FA0FA0FA0FA0002009FA0    its work before doing a screen swap. Omit this at your own risk
  189. FA0FA0FA0FA0FA0000001FA0    
  190. FA0FA0FA0FA0FA0002009FA0        ie .......
  191. FA0FA0FA0FA0FA0002009FA0            200 wait vbl
  192. FA0FA0FA0FA0FA0002009FA0            210 if BLIT BUSY=1 then 210
  193. FA0FA0FA0FA0FA0002009FA0            220 screen swap
  194. FA0FA0FA0FA0FA0002009FA0            * simple or what! 
  195. FA0FA0FA0FA0FA0000001FA0            
  196. FA0FA0FA0FA0FA0002009FA0        ********** WARNING **********
  197. FA0FA0FA0FA0FA0002009FA0        IF YOU STOP A PROGRAM BY USING <CONTROL <C>>
  198. FA0FA0FA0FA0FA0002009FA0        YOU ARE LIKELY TO CRASH YOUR STE.
  199. FA0FA0FA0FA0FA0002009FA0        NEVER STOP OR END A *.BAS WHILE THE BLITTER
  200. FA0FA0FA0FA0FA0002009FA0        IS ACTIVE !!            
  201. FA0FA0FA0FA0FA0000001FA0            
  202. FA0FA0FA0FA0FA0000001FA0            
  203. FA0FA0FA0FA0FA0002009FA0Ok, so far those of you using the Missing link might think that there is 
  204. FA0FA0FA0FA0FA0002009FA0no massive speed gain by using the blitter. Those used to standard Stos 
  205. FA0FA0FA0FA0FA0002009FA0should already be impressed. But hey, let's get really mad and use the 
  206. FA0FA0FA0FA0FA0002009FA0"expert commands". Those of you who know how the ST screen is built will 
  207. FA0FA0FA0FA0FA0002009FA0have a serious advantage.
  208. FA0FA0FA0FA0FA0000001FA0
  209. FA0FA0FA0FA0FA0002009FA0The real McCoy:
  210. FA0FA0FA0FA0FA0000001FA0          The following program loads a screen into bank 11,
  211. FA0FA0FA0FA0FA0000001FA0          then blits it at a low level to the logical screen,
  212. FA0FA0FA0FA0FA0000001FA0          and displays it after a screen swap. It then waits a while, and 
  213. FA0FA0FA0FA0FA0000001FA0          exits cleanly without a crash. Use this program to mess about 
  214. FA0FA0FA0FA0FA0000001FA0          with different values, but always save your work first.
  215. FA0FA0FA0FA0FA0000001FA0          No automatic clipping is done, and as we are in supervisor mode,
  216. FA0FA0FA0FA0FA0000001FA0          you are lickely to erase vital memory areas, causing a reset.
  217. FA0FA0FA0FA0FA0000001FA0          As it is it doesn't do much, but wait till next month!
  218. FA0FA0FA0FA0FA0000001FA0          
  219. FA0FA0FA0FA0FA0002009FA010 mode 0 : flash off : logic=back           rem**************
  220. FA0FA0FA0FA0FA0002009FA012 reserve as screen 11                      line 10-16 setup 
  221. FA0FA0FA0FA0FA0002009FA015 load "canyon.pi1",11                      for our screen.
  222. FA0FA0FA0FA0FA0002009FA016 get palette (11)  
  223. FA0FA0FA0FA0FA0000001FA0
  224. FA0FA0FA0FA0FA0002009FA017 A=start(11)                                L17- the variable "A"
  225. FA0FA0FA0FA0FA0002009FA0                          contains the source 
  226. FA0FA0FA0FA0FA0002009FA0                          picture's address 
  227. FA0FA0FA0FA0FA0002009FA0                        
  228. FA0FA0FA0FA0FA0002009FA01000 blit source address A                     We tell the blitter where 
  229. FA0FA0FA0FA0FA0002009FA01005 blit dest address logic                   to copy from, and to.
  230. FA0FA0FA0FA0FA0000001FA0
  231. FA0FA0FA0FA0FA0002009FA01010 blit source x inc 2            We copy all 4 planes at a 
  232. FA0FA0FA0FA0FA0002009FA0                        time,so "x inc 2".
  233. FA0FA0FA0FA0FA0002009FA0                        If we wanted to copy a 
  234. FA0FA0FA0FA0FA0002009FA0                        single plane at a time it 
  235. FA0FA0FA0FA0FA0002009FA0                        would be "x inc 8". If we 
  236. FA0FA0FA0FA0FA0002009FA0                        wanted to copy every other 
  237. FA0FA0FA0FA0FA0002009FA0                        word "x inc 4"
  238. FA0FA0FA0FA0FA0000001FA0                        
  239. FA0FA0FA0FA0FA0002009FA0    The "inc" commands set the increment to the next word 
  240. FA0FA0FA0FA0FA0002009FA0    in bytes. I know this will not make any sense to most of you, but 
  241. FA0FA0FA0FA0FA0002009FA0    I will you a better explaination with precise examples next month!    
  242. FA0FA0FA0FA0FA0000001FA0                    
  243. FA0FA0FA0FA0FA0002009FA01020 blit source y inc 2                          the "y inc (n)" sets the 
  244. FA0FA0FA0FA0FA0002009FA0                          line increment in the 
  245. FA0FA0FA0FA0FA0002009FA0                          same fashion
  246. FA0FA0FA0FA0FA0000001FA0                          
  247. FA0FA0FA0FA0FA0002009FA01030 blit dest x inc 2                As before but for the 
  248. FA0FA0FA0FA0FA0002009FA0                          destination    
  249. FA0FA0FA0FA0FA0002009FA01040 blit dest y inc 2
  250. FA0FA0FA0FA0FA0000001FA0
  251. FA0FA0FA0FA0FA0002009FA01050 blit x count 80                     Sets how many words to 
  252. FA0FA0FA0FA0FA0002009FA0                                                  read per line.
  253. FA0FA0FA0FA0FA0000001FA0                                                  
  254. FA0FA0FA0FA0FA0002009FA01060 blit y count 200                             Sets how many lines 
  255. FA0FA0FA0FA0FA0002009FA0                                                    to blit over.
  256. FA0FA0FA0FA0FA0002009FA01070 blit endmask 1 $FFFF
  257. FA0FA0FA0FA0FA0002009FA01080 blit endmask 2 $FFFF                        These 3 set the masks for 
  258. FA0FA0FA0FA0FA0002009FA01090 blit endmask 3 $FFFF                        the destination data.
  259. FA0FA0FA0FA0FA0002009FA0                    The first mask is for the 1st word
  260. FA0FA0FA0FA0FA0002009FA0                    The 2nd is for all the other words
  261. FA0FA0FA0FA0FA0002009FA0                    The 3rd is for the last word
  262. FA0FA0FA0FA0FA0002009FA0        $FFFF copies everything
  263. FA0FA0FA0FA0FA0002009FA0        But you can use binnary words:
  264. FA0FA0FA0FA0FA0002009FA0        %1111111111111111   total copy
  265. FA0FA0FA0FA0FA0002009FA0        %1010101010101010    stripy
  266. FA0FA0FA0FA0FA0002009FA0        or
  267. FA0FA0FA0FA0FA0002009FA0        %0000000000000000   destination stays unchanged
  268. FA0FA0FA0FA0FA0002009FA0        or ... whatever you want!    
  269. FA0FA0FA0FA0FA0000001FA0
  270. FA0FA0FA0FA0FA0002009FA01095 blit h line 0                      We could have defined a
  271. FA0FA0FA0FA0FA0002009FA0                    halftone pattern earlier. If
  272. FA0FA0FA0FA0FA0002009FA0                    we had, we would start using it 
  273. FA0FA0FA0FA0FA0002009FA0                    from line 0
  274. FA0FA0FA0FA0FA0002009FA0                    Values for blit h line (n)
  275. FA0FA0FA0FA0FA0002009FA0                    range from 0 to 15  
  276. FA0FA0FA0FA0FA0000001FA0                     
  277. FA0FA0FA0FA0FA0002009FA01100 blit hop 2                         If we were using a halftone 
  278. FA0FA0FA0FA0FA0002009FA0                    pattern, we must tell the blitter 
  279. FA0FA0FA0FA0FA0002009FA0                    what to do with it. Value for
  280. FA0FA0FA0FA0FA0002009FA0                                        blit hop (n) are:
  281. FA0FA0FA0FA0FA0002009FA0                                            0 all ones
  282. FA0FA0FA0FA0FA0002009FA0                                            1 half tone
  283. FA0FA0FA0FA0FA0002009FA0                                            2 source
  284. FA0FA0FA0FA0FA0002009FA0                                            3 source and half tone
  285. FA0FA0FA0FA0FA0000001FA0                                            
  286. FA0FA0FA0FA0FA0002009FA01110 blit skew 0                         This is the nice one! using skew 
  287. FA0FA0FA0FA0FA0002009FA0                    values from 0 to 15 in a step of 
  288. FA0FA0FA0FA0FA0002009FA0                    1, we can shift the destination
  289. FA0FA0FA0FA0FA0002009FA0                    one pixel at a time to the right 
  290. FA0FA0FA0FA0FA0002009FA0                    or left by decreasing from15 to 0                     right .
  291. FA0FA0FA0FA0FA0002009FA0                      This only works when using it
  292. FA0FA0FA0FA0FA0002009FA0                      on 1plane at a time, or there
  293. FA0FA0FA0FA0FA0002009FA0                      is a mess on screen
  294. FA0FA0FA0FA0FA0002009FA0    We will cover this in detail next month as it 
  295. FA0FA0FA0FA0FA0002009FA0    allows ultra smooth horizontal scrolling .
  296. FA0FA0FA0FA0FA0000001FA0    
  297. FA0FA0FA0FA0FA0002009FA01115 blit smudge 0                         If "blit smudge 1" then the value 
  298. FA0FA0FA0FA0FA0002009FA0                    from "skew is also used as the 
  299. FA0FA0FA0FA0FA0002009FA0                    "blit h line " number.
  300. FA0FA0FA0FA0FA0002009FA0                    Here, it is set to 0 and ignored
  301. FA0FA0FA0FA0FA0000001FA0                    
  302. FA0FA0FA0FA0FA0002009FA01120  blit it                We have set everything up,
  303. FA0FA0FA0FA0FA0002009FA0                    so let's do it !
  304. FA0FA0FA0FA0FA0000001FA0                    
  305. FA0FA0FA0FA0FA0002009FA01130 if blit busy=1 then 1130            Wait for the blitter to finish
  306. FA0FA0FA0FA0FA0000001FA0
  307. FA0FA0FA0FA0FA0002009FA01999 screen swap:wait vbl               Screen swap to make the finished
  308. FA0FA0FA0FA0FA0002009FA0                     work visible.
  309. FA0FA0FA0FA0FA0000001FA0                     
  310. FA0FA0FA0FA0FA0002009FA02000 wait 100 : cls physic : default : end 
  311. FA0FA0FA0FA0FA0002009FA0                                          Waits a bit then exits nicely!
  312. FA0FA0FA0FA0FA0000001FA0
  313. FA0FA0FA0FA0FA0000001FA0
  314. FA0FA0FA0FA0FA0000001FA0
  315. FA0FA0FA0FA0FA0000001FA0
  316. FA0FA0FA0FA0FA0002009FA0There are only a couple more  commands to cover:
  317. FA0FA0FA0FA0FA0000001FA0
  318. FA0FA0FA0FA0FA0002009FA0Obviously, if you intend to use them, they must be placed before the
  319. FA0FA0FA0FA0FA0002009FA0"BLIT IT " command, as they won't have an effect otherwise.
  320. FA0FA0FA0FA0FA0000001FA0
  321. FA0FA0FA0FA0FA0002009FA0BLIT HOG    : takes complete control of the STE to get 
  322. FA0FA0FA0FA0FA0002009FA0        extra speed. Stops most interrupts, and please
  323. FA0FA0FA0FA0FA0002009FA0        try to avoid it, unless you want to crash ! 
  324. FA0FA0FA0FA0FA0000001FA0
  325. FA0FA0FA0FA0FA0002009FA0BLIT NFSR n     When n=1, the last source read on every line is not
  326. FA0FA0FA0FA0FA0002009FA0        done (NO FINAL SOURCE READ). (n=0, means normal)
  327. FA0FA0FA0FA0FA0000001FA0        
  328. FA0FA0FA0FA0FA0002009FA0BLIT FXSR n    If n=1, an extra source read is done on every line
  329. FA0FA0FA0FA0FA0002009FA0        (FORCE EXTRA SOURCE READ). (n=0, normal)
  330. FA0FA0FA0FA0FA0000001FA0        
  331. FA0FA0FA0FA0FA0002009FA0BLIT OP op    This sets the logical operation of the data being 
  332. FA0FA0FA0FA0FA0002009FA0        copied.The operations are the same as for BLIT HOP 
  333. FA0FA0FA0FA0FA0002009FA0        with two options:
  334. FA0FA0FA0FA0FA0002009FA0            0 all zeros
  335. FA0FA0FA0FA0FA0002009FA0            15 all ones            
  336. FA0FA0FA0FA0FA0002009FA0                                                 
  337. FA0FA0FA0FA0FA0000001FA0
  338. FA0FA0FA0FA0FA0002009FA0BLITHALFTONE pat1,pat2,,,,,,,,,,,,,,pat16
  339. FA0FA0FA0FA0FA0000001FA0
  340. FA0FA0FA0FA0FA0002009FA0These enable you to set up a 16 x 16 half tone pattern.It's easiest to
  341. FA0FA0FA0FA0FA0002009FA0enter the patterns as binary words,so each digit represents a pixel. 
  342. FA0FA0FA0FA0FA0002009FA0As i didn't set it up for my small program, I ignored it!
  343. FA0FA0FA0FA0FA0002009FA0Check lines 1095 and 1110 to see what it can be used for.
  344. FA0FA0FA0FA0FA0002009FA0If you find anything out on this one, please send me the code. 
  345. FA0FA0FA0FA0FA0000001FA0        
  346. FA0FA0FA0FA0FA0000001FA0            
  347. FA0FA0FA0FA0FA0002009FA0 THIS IS IT FOR THE MOMENT, I AM AFRAID. See you in part 2!
  348. FA0FA0FA0FA0FA0002009FA0 *********************************************************
  349. FA0FA0FA0FA0FA0000001FA0 
  350. FA0FA0FA0FA0FA0000001FA0            
  351. FA0FA0FA0FA0FA0000001FA0        
  352. FA0FA0FA0FA0FA0000001FA0        
  353. FA0FA0FA0FA0FA0000001FA0        
  354. FA0FA0FA0FA0FA0000001FA0        
  355.