home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / alt / sys / amiga / demos / 2095 next >
Encoding:
Internet Message Format  |  1993-01-04  |  10.5 KB

  1. Path: sparky!uunet!elroy.jpl.nasa.gov!usc!wupost!spool.mu.edu!enterpoop.mit.edu!eru.mt.luth.se!lunic!sunic!dkuug!daimi!u920659
  2. From: u920659@daimi.aau.dk (Carsten S|rensen)
  3. Newsgroups: alt.sys.amiga.demos
  4. Subject: AGA HW manual
  5. Keywords: AGA
  6. Message-ID: <1993Jan4.133144.25696@daimi.aau.dk>
  7. Date: 4 Jan 93 13:31:44 GMT
  8. Sender: news@daimi.aau.dk
  9. Organization: DAIMI: Computer Science Department, Aarhus University, Denmark
  10. Lines: 310
  11.  
  12. Just a little something of public interest :)
  13.  
  14. Here we go:
  15. ------------
  16.  
  17. N.S.I. (No Secret Information) issue 1
  18. 24-dec-92
  19. France
  20.  
  21.  
  22.  
  23. The followings informations were gathered by Junkie/PMC Fr and Yragael.
  24.  
  25. Junkie  bought  a  1200  some  days  ago  and  started  quickly to dasm the
  26. copperlist of the workbench.  Thanx to his work of prime importance and his
  27. impressive  speed  which  leads  me to dasm the copperlist too, I (Yragael)
  28. brings you the followings informations.
  29.  
  30. More  should  follow  as  long  as  we  will not get the hardware reference
  31. manual.
  32.  
  33. We are waiting for your works on 1200 and your cooperation to the trip into
  34. the hardware of the A1200.
  35.  
  36. (next  issue:   Sprite  corrections,  HAM8+,  other  graphic modes, 3 words
  37. copperlists ...)
  38.  
  39. ***************************************************************************
  40.  
  41. USING THE SUPERHIRES MODE
  42.  
  43. To  use  the  SuperHires  mode  (1280  pixels  wide), just use the bit 6 of
  44. register $0100
  45.  
  46. bit 6 | Mode SuperHires
  47. -----------------------
  48.   0   | Non selectionne
  49. -----------------------
  50.   1   | Selectionne
  51. -----------------------
  52.  
  53. ***************************************************************************
  54.  
  55. USING 8 BITPLANES
  56.  
  57. The  number  of bitplanes available used to be no more than 7 and was coded
  58. using  the  bits  14 to 12 of register $0100.  To use 8 bitplanes, just use
  59. bit  4  of  register  $0100.   The  value of bits 14 to 12 will then not be
  60. considered anymore.
  61.  
  62. bit 4 | 8 bitplanes mode 
  63. ------------------------
  64.   0   | Not selected
  65. ------------------------
  66.   1   | Selected
  67. ------------------------
  68.  
  69. ***************************************************************************
  70.  
  71. ACCEDING 24 BITS COLORS
  72.  
  73. The 24 bits color is coded using 2 words:
  74.  
  75. - the first receives the 4 low bits of each R, G and B componants
  76. - the second receives the 4 high bits of each R, G and B componants
  77.  
  78. To modify a color using 24 bits coding, you must use 2 coppers-moves on the
  79. same  color  register.   The  first move must ABSOLUTELY be the move of the
  80. word  of  the 3*4 high bits, the second move is the move of the word of the
  81. 3*4 low bits.
  82.  
  83. The  copper  knowns  when the move regards the 3*4 low bits or the 3*4 high
  84. bits by checking the bit 9 of register $0106
  85.  
  86. bit 9 | Componants access
  87. -----------------------------------------------------------------
  88.   0   | Access to the 4 low bits of componants R, G and B
  89. -----------------------------------------------------------------
  90.   1   | Access to the 4 high bits of componants R, G and B
  91. -----------------------------------------------------------------
  92.  
  93. ex: change $0180 to $00123456 in the copperlist
  94.  
  95. $01060000
  96. $01800135
  97. $01060200
  98. $01800246
  99.  
  100. When  you  want  to  work using the 12 bits color coding mode, the 3*4 bits
  101. value you move to the color register is considered by the copper as the 3*4
  102. high bits.  You don't have to care about $0106.  It seems bit 9 of register
  103. $0106 is initialized to 0 at each copjmp.
  104.  
  105. ***************************************************************************
  106.  
  107. ACCEDING THE 256 COLORS PALETTE
  108.  
  109. The  amiga  don't  work  with  256  separate color registers.  A same color
  110. register is used several times to code several colors.
  111.  
  112. The  amiga  just  works with 8 differents palettes of 32 colors each, using
  113. color registers from $0180 to $01BE.
  114.  
  115. You  can  choose  the  palette  you want to access via the bits 11 to 14 of
  116. register $0106
  117.  
  118.  
  119. bit 14 | bit 13 | bit 12 | Selected palette
  120. --------------------------------------------------------
  121.    0   |    0   |    0   | Palette 0 (color 0 to 31)
  122. --------------------------------------------------------
  123.    0   |    0   |    1   | Palette 1 (color 32 to 63)
  124. --------------------------------------------------------
  125.    0   |    1   |    0   | Palette 2 (color 64 to 95)
  126. --------------------------------------------------------
  127.    0   |    1   |    1   | Palette 3 (color 96 to 125)
  128. --------------------------------------------------------
  129.    1   |    0   |    0   | Palette 4 (color 128 to 159)
  130. --------------------------------------------------------
  131.    1   |    0   |    1   | Palette 5 (color 160 to 191)
  132. --------------------------------------------------------
  133.    1   |    1   |    0   | Palette 6 (color 192 to 223)
  134. --------------------------------------------------------
  135.    1   |    1   |    1   | Palette 7 (color 224 to 255)
  136. --------------------------------------------------------
  137.  
  138. ex: You want to change color 177 to $00123456
  139.  
  140. Color 177 is color $01A2 of palette 5
  141.  
  142. $01065000
  143. $01800246
  144. $01065200
  145. $01800135
  146.  
  147. ***************************************************************************
  148.  
  149. SWITCHING THE PALETTE
  150.  
  151. You can switch colors. The definition of switching color A and color B is:
  152.  
  153. - Color registers of colors A and B are NOT modified by the switching
  154. - Color  A  is  displayed  using  the  content  of register of  color B and
  155.   vice-versa
  156.  
  157. The  switching  of  palette  can't be used on just n colors of the palette.
  158. Once  you  choose  a  switching  value,  ALL  the  palette's colors will be
  159. switched.   The  switching  value  is  the  value separing the colors to be
  160. switched and is coded with bits 15 to 8 of register $010C.
  161.  
  162. ex: You want all the colors separated by  one  color in the colorlist to be
  163.     switched
  164.  
  165. $0180 <--
  166. $0182 <--|--
  167. $0184 <--   |
  168. $0186 <-----
  169. $0188 <--------
  170. .              |
  171. .
  172. .
  173.  
  174. Value 2 will be stocked in bits 15 to 8.
  175.  
  176. The  switching  works  with the palette as if it was a circular palette.  I
  177. mean  if  if the copper consider color 255 and must switch by 1 the colors,
  178. color $0180 will be assiocated to color 255.
  179.  
  180. ***************************************************************************
  181.  
  182. USING SPRITES IN LOWRES, HIRES AND SUPERHIRES
  183.  
  184. To  change  the  reolution  of the sprite, just use bit 7 and 6 of register
  185. $0106
  186.  
  187. bit 7 | bit 6 | Resolution
  188. --------------------------
  189.   0   |   0   | Lowres
  190. --------------------------
  191.   1   |   0   | Hires
  192. --------------------------
  193.   0   |   1   | Lowres
  194. --------------------------
  195.   1   |   1   | SuperHires
  196. --------------------------
  197.  
  198. ***************************************************************************
  199.  
  200. USING 16, 32 AND 64 PIXELS WIDE SPRITES
  201.  
  202. Well,  I  still  have bug there with sprites in 32 or 64 pixels.  Sorry but
  203. the followings informations may have to be corrected.
  204.  
  205. Use bit 3 and 2 of register $01FC
  206.  
  207. bit 3 | bit 2 | Wide
  208. -------------------------
  209.   0   |   0   | 16 pixels
  210. -------------------------
  211.   1   |   0   | 32 pixels
  212. -------------------------
  213.   0   |   1   | 32 pixels
  214. -------------------------
  215.   1   |   1   | 64 pixels
  216. -------------------------
  217.  
  218. The  copper  doesn't read the spritelist in the same way regarding the wide
  219. you choose for your sprite
  220.  
  221. 16 pixels wide reading:
  222.  
  223. word C1, word C2
  224. word A1, word B1
  225. .
  226. .
  227. .
  228. word An, word Bn
  229. $0000 0000
  230.  
  231. C1=first control word
  232. C2=second control word
  233.  
  234. Ai and Bi are combined via OR to form the sprite
  235.  
  236. 32 pixels wide reading:
  237.  
  238. long C1, long C2
  239. long A1, long B1
  240. .
  241. .
  242. .
  243. long An, long Bn
  244. $0000 0000 0000 00000
  245.  
  246. C1=first control long
  247.    the  first control word is the high word of C1.  The low word of C1 must
  248.    contain the second control word.
  249. C2=second control long
  250.    the second control word is the high word of C2. Low word of C2 is $0000
  251.  
  252. Ai and Bi are combined via OR to form the sprite
  253.  
  254. 64 pixels wide reading:
  255.  
  256. double C1, double C2
  257. double A1, double B1
  258. .
  259. .
  260. .
  261. double An, double Bn
  262. $0000 0000 0000 00000 0000 0000 0000 00000
  263.  
  264. C1=first control double
  265.    C1=W3:W2:W1:W0 (Wi=words)
  266.    W3 is first control word
  267.    W2 and W1 are second control word
  268. C2=second control double
  269.    C2=W3:W2:W1:W0 (Wi=words)
  270.    W3 is second control word
  271.  
  272. Ai and Bi are combined via OR to form the sprite
  273.  
  274. ***************************************************************************
  275.  
  276. CHANGING THE SPRITE PALETTE
  277.  
  278. It  is possible to choose the color palette of the sprite.  This is done by
  279. the bits 7 and 4 of register $010C.
  280.  
  281. bit 7 | bit 6 | bit 5 | bit 4 | Starting color of the sprite's palette
  282. -------------------------------------------------------------------------
  283.   0   |   0   |   0   |   0   | $0180/palette 0 (coulor 0)
  284. -------------------------------------------------------------------------
  285.   0   |   0   |   0   |   1   | $01A0/palette 0 (color 15)
  286. -------------------------------------------------------------------------
  287.   0   |   0   |   1   |   0   | $0180/palette 1 (color 31)
  288. -------------------------------------------------------------------------
  289.   0   |   0   |   1   |   1   | $01A0/palette 1 (color 47)
  290. -------------------------------------------------------------------------
  291.   0   |   1   |   0   |   0   | $0180/palette 2 (color 63)
  292. -------------------------------------------------------------------------
  293.   0   |   1   |   0   |   1   | $01A0/palette 2 (color 79)
  294. -------------------------------------------------------------------------
  295.   0   |   1   |   1   |   0   | $0180/palette 3 (color 95)
  296. -------------------------------------------------------------------------
  297.   0   |   1   |   1   |   1   | $01A0/palette 3 (color 111)
  298. -------------------------------------------------------------------------
  299.   1   |   0   |   0   |   0   | $0180/palette 4 (color 127)
  300. -------------------------------------------------------------------------
  301.   1   |   0   |   0   |   1   | $01A0/palette 4 (color 143)
  302. -------------------------------------------------------------------------
  303.   1   |   0   |   1   |   0   | $0180/palette 5 (color 159)
  304. -------------------------------------------------------------------------
  305.   1   |   0   |   1   |   1   | $01A0/palette 5 (color 175)
  306. -------------------------------------------------------------------------
  307.   1   |   1   |   0   |   0   | $0180/palette 6 (color 191)
  308. -------------------------------------------------------------------------
  309.   1   |   1   |   0   |   1   | $01A0/palette 6 (color 207)
  310. -------------------------------------------------------------------------
  311.   1   |   1   |   1   |   0   | $0180/palette 7 (color 223)
  312. -------------------------------------------------------------------------
  313.   1   |   1   |   1   |   1   | $01A0/palette 7 (color 239)
  314. -------------------------------------------------------------------------
  315.  
  316. ***************************************************************************
  317.  
  318.  
  319. That's all. Thanx you VERY MUCH to Junkie/PMC Fr for his work.
  320.  
  321.                                            Written by Yragael
  322.