home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sys / amiga / programm / 19156 < prev    next >
Encoding:
Internet Message Format  |  1993-01-25  |  10.4 KB

  1. Path: sparky!uunet!cbmvax!chrisg
  2. From: chrisg@cbmvax.commodore.com (Chris Green)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: AGA chipset registers and screenid's
  5. Message-ID: <38768@cbmvax.commodore.com>
  6. Date: 25 Jan 93 14:10:53 GMT
  7. References: <1jpgkiINN1q8@motmot.doc.ic.ac.uk> <1993Jan24.113304.17393@crash>
  8. Reply-To: chrisg@cbmvax.commodore.com (Chris Green)
  9. Organization: Commodore, West Chester, PA
  10. Lines: 268
  11.  
  12. In article <1993Jan24.113304.17393@crash> rtillery@crash.cts.com (Rick Tillery) writes:
  13. >Mark David Simmons (mds@doc.ic.ac.uk) wrote:
  14. >: Please don't flame my curiosity but I would like to know what the new registers/
  15. >: bits used in the AGA chipset and what they're used for (I don't want to have to
  16. >: try to disassemble AmigaDOS 3 to find out - cos I'm curious but lazy 8-).
  17. >: 
  18. >: Also has anyone got a complete list of ScreenID's (names and no.s)?
  19. >: 
  20. >: Please (*BEG*) mail me with the information or just a location on an anonymous
  21. >: FTP site somewhere where you know these things are to be found (I check amiga.
  22. >: physik.unizh.ch and nic.funet.fi every day in the hope...)...
  23. >:
  24. >
  25. >As an interesting observation, the AGA version of DPaint IV has a requester
  26. >that has (among many other things) the DisplayID code for each mode, aspect
  27. >ratio, sweep rate etc.
  28. >
  29. >Until I can get hold of more official info from C=, this is my best source
  30. >of this info (I use it to hand place the correct code into the CAMG chunks
  31. >of my IFFs so they open up the correct screen when viewed with VT).
  32. >
  33.  
  34.     It's in <graphics/modeid.h>:
  35.  
  36. #define LORES_KEY            0x00000000
  37. #define HIRES_KEY            0x00008000
  38. #define SUPER_KEY            0x00008020
  39. #define HAM_KEY                0x00000800
  40. #define LORESLACE_KEY            0x00000004
  41. #define HIRESLACE_KEY            0x00008004
  42. #define SUPERLACE_KEY            0x00008024
  43. #define HAMLACE_KEY            0x00000804
  44. #define LORESDPF_KEY            0x00000400
  45. #define HIRESDPF_KEY            0x00008400
  46. #define SUPERDPF_KEY            0x00008420
  47. #define LORESLACEDPF_KEY        0x00000404
  48. #define HIRESLACEDPF_KEY        0x00008404
  49. #define SUPERLACEDPF_KEY        0x00008424
  50. #define LORESDPF2_KEY            0x00000440
  51. #define HIRESDPF2_KEY            0x00008440
  52. #define SUPERDPF2_KEY            0x00008460
  53. #define LORESLACEDPF2_KEY        0x00000444
  54. #define HIRESLACEDPF2_KEY        0x00008444
  55. #define SUPERLACEDPF2_KEY        0x00008464
  56. #define EXTRAHALFBRITE_KEY        0x00000080
  57. #define EXTRAHALFBRITELACE_KEY        0x00000084
  58. /* New for AA ChipSet (V39) */
  59. #define HIRESHAM_KEY            0x00008800
  60. #define SUPERHAM_KEY            0x00008820
  61. #define HIRESEHB_KEY            0x00008080
  62. #define SUPEREHB_KEY            0x000080a0
  63. #define HIRESHAMLACE_KEY        0x00008804
  64. #define SUPERHAMLACE_KEY        0x00008824
  65. #define HIRESEHBLACE_KEY        0x00008084
  66. #define SUPEREHBLACE_KEY        0x000080a4
  67.  
  68. /* VGA identifiers */
  69.  
  70. #define VGA_MONITOR_ID             0x00031000
  71.  
  72. #define VGAEXTRALORES_KEY        0x00031004
  73. #define VGALORES_KEY            0x00039004
  74. #define VGAPRODUCT_KEY            0x00039024
  75. #define VGAHAM_KEY            0x00031804
  76. #define VGAEXTRALORESLACE_KEY        0x00031005
  77. #define VGALORESLACE_KEY        0x00039005
  78. #define VGAPRODUCTLACE_KEY        0x00039025
  79. #define VGAHAMLACE_KEY            0x00031805
  80. #define VGAEXTRALORESDPF_KEY        0x00031404
  81. #define VGALORESDPF_KEY            0x00039404
  82. #define VGAPRODUCTDPF_KEY        0x00039424
  83. #define VGAEXTRALORESLACEDPF_KEY    0x00031405
  84. #define VGALORESLACEDPF_KEY        0x00039405
  85. #define VGAPRODUCTLACEDPF_KEY        0x00039425
  86. #define VGAEXTRALORESDPF2_KEY        0x00031444
  87. #define VGALORESDPF2_KEY        0x00039444
  88. #define VGAPRODUCTDPF2_KEY        0x00039464
  89. #define VGAEXTRALORESLACEDPF2_KEY    0x00031445
  90. #define VGALORESLACEDPF2_KEY        0x00039445
  91. #define VGAPRODUCTLACEDPF2_KEY        0x00039465
  92. #define VGAEXTRAHALFBRITE_KEY        0x00031084
  93. #define VGAEXTRAHALFBRITELACE_KEY    0x00031085
  94. /* New for AA ChipSet (V39) */
  95. #define VGAPRODUCTHAM_KEY        0x00039824
  96. #define VGALORESHAM_KEY            0x00039804
  97. #define VGAEXTRALORESHAM_KEY        VGAHAM_KEY
  98. #define VGAPRODUCTHAMLACE_KEY        0x00039825
  99. #define VGALORESHAMLACE_KEY        0x00039805
  100. #define VGAEXTRALORESHAMLACE_KEY    VGAHAMLACE_KEY
  101. #define VGAEXTRALORESEHB_KEY        VGAEXTRAHALFBRITE_KEY
  102. #define VGAEXTRALORESEHBLACE_KEY    VGAEXTRAHALFBRITELACE_KEY
  103. #define VGALORESEHB_KEY            0x00039084
  104. #define VGALORESEHBLACE_KEY        0x00039085
  105. #define VGAEHB_KEY            0x000390a4
  106. #define VGAEHBLACE_KEY            0x000390a5
  107. /* These ModeIDs are the scandoubled equivalents of the above, with the 
  108.  * exception of the DualPlayfield modes, as AA does not allow for scandoubling
  109.  * dualplayfield.
  110.  */
  111. #define VGAEXTRALORESDBL_KEY        0x00031000
  112. #define VGALORESDBL_KEY            0x00039000
  113. #define VGAPRODUCTDBL_KEY        0x00039020
  114. #define VGAEXTRALORESHAMDBL_KEY        0x00031800
  115. #define VGALORESHAMDBL_KEY        0x00039800
  116. #define VGAPRODUCTHAMDBL_KEY        0x00039820
  117. #define VGAEXTRALORESEHBDBL_KEY        0x00031080
  118. #define VGALORESEHBDBL_KEY        0x00039080
  119. #define VGAPRODUCTEHBDBL_KEY        0x000390a0
  120.  
  121. /* a2024 identifiers */
  122.  
  123. #define A2024_MONITOR_ID        0x00041000
  124.  
  125. #define A2024TENHERTZ_KEY        0x00041000
  126. #define A2024FIFTEENHERTZ_KEY        0x00049000
  127.  
  128. /* prototype identifiers (private) */
  129.  
  130. #define PROTO_MONITOR_ID        0x00051000
  131.  
  132.  
  133. /* These monitors and modes were added for the V38 release. */
  134.  
  135. #define EURO72_MONITOR_ID        0x00061000
  136.  
  137. #define EURO72EXTRALORES_KEY        0x00061004
  138. #define EURO72LORES_KEY            0x00069004
  139. #define EURO72PRODUCT_KEY        0x00069024
  140. #define EURO72HAM_KEY            0x00061804
  141. #define EURO72EXTRALORESLACE_KEY    0x00061005
  142. #define EURO72LORESLACE_KEY        0x00069005
  143. #define EURO72PRODUCTLACE_KEY        0x00069025
  144. #define EURO72HAMLACE_KEY        0x00061805
  145. #define EURO72EXTRALORESDPF_KEY        0x00061404
  146. #define EURO72LORESDPF_KEY        0x00069404
  147. #define EURO72PRODUCTDPF_KEY        0x00069424
  148. #define EURO72EXTRALORESLACEDPF_KEY    0x00061405
  149. #define EURO72LORESLACEDPF_KEY        0x00069405
  150. #define EURO72PRODUCTLACEDPF_KEY    0x00069425
  151. #define EURO72EXTRALORESDPF2_KEY    0x00061444
  152. #define EURO72LORESDPF2_KEY        0x00069444
  153. #define EURO72PRODUCTDPF2_KEY        0x00069464
  154. #define EURO72EXTRALORESLACEDPF2_KEY    0x00061445
  155. #define EURO72LORESLACEDPF2_KEY        0x00069445
  156. #define EURO72PRODUCTLACEDPF2_KEY    0x00069465
  157. #define EURO72EXTRAHALFBRITE_KEY    0x00061084
  158. #define EURO72EXTRAHALFBRITELACE_KEY    0x00061085
  159. /* New AA modes (V39) */
  160. #define EURO72PRODUCTHAM_KEY        0x00069824
  161. #define EURO72PRODUCTHAMLACE_KEY    0x00069825
  162. #define EURO72LORESHAM_KEY        0x00069804
  163. #define EURO72LORESHAMLACE_KEY        0x00069805
  164. #define EURO72EXTRALORESHAM_KEY        EURO72HAM_KEY
  165. #define EURO72EXTRALORESHAMLACE_KEY    EURO72HAMLACE_KEY
  166. #define EURO72EXTRALORESEHB_KEY        EURO72EXTRAHALFBRITE_KEY
  167. #define EURO72EXTRALORESEHBLACE_KEY    EURO72EXTRAHALFBRITELACE_KEY
  168. #define EURO72LORESEHB_KEY        0x00069084
  169. #define EURO72LORESEHBLACE_KEY        0x00069085
  170. #define EURO72EHB_KEY            0x000690a4
  171. #define EURO72EHBLACE_KEY        0x000690a5
  172. /* These ModeIDs are the scandoubled equivalents of the above, with the 
  173.  * exception of the DualPlayfield modes, as AA does not allow for scandoubling
  174.  * dualplayfield.
  175.  */
  176. #define EURO72EXTRALORESDBL_KEY        0x00061000
  177. #define EURO72LORESDBL_KEY        0x00069000
  178. #define EURO72PRODUCTDBL_KEY        0x00069020
  179. #define EURO72EXTRALORESHAMDBL_KEY    0x00061800
  180. #define EURO72LORESHAMDBL_KEY        0x00069800
  181. #define EURO72PRODUCTHAMDBL_KEY        0x00069820
  182. #define EURO72EXTRALORESEHBDBL_KEY    0x00061080
  183. #define EURO72LORESEHBDBL_KEY        0x00069080
  184. #define EURO72PRODUCTEHBDBL_KEY        0x000690a0
  185.  
  186.  
  187. #define EURO36_MONITOR_ID        0x00071000
  188.  
  189. /* Euro36 modeids can be ORed with the default modeids a la NTSC and PAL.
  190.  * For example, Euro36 SuperHires is
  191.  * (EURO36_MONITOR_ID | SUPER_KEY)
  192.  */
  193.  
  194. #define SUPER72_MONITOR_ID        0x00081000
  195.  
  196. /* Super72 modeids can be ORed with the default modeids a la NTSC and PAL.
  197.  * For example, Super72 SuperHiresLace (800x600) is
  198.  * (SUPER72_MONITOR_ID | SUPERLACE_KEY).
  199.  * The following scandoubled Modes are the exception:
  200.  */
  201. #define SUPER72LORESDBL_KEY        0x00081008
  202. #define SUPER72HIRESDBL_KEY        0x00089008
  203. #define SUPER72SUPERDBL_KEY        0x00089028
  204. #define SUPER72LORESHAMDBL_KEY        0x00081808
  205. #define SUPER72HIRESHAMDBL_KEY        0x00089808
  206. #define SUPER72SUPERHAMDBL_KEY        0x00089828
  207. #define SUPER72LORESEHBDBL_KEY        0x00081088
  208. #define SUPER72HIRESEHBDBL_KEY        0x00089088
  209. #define SUPER72SUPEREHBDBL_KEY        0x000890a8
  210.  
  211.  
  212. /* These monitors and modes were added for the V39 release. */
  213.  
  214. #define DBLNTSC_MONITOR_ID        0x00091000
  215.  
  216. #define DBLNTSCLORES_KEY        0x00091000
  217. #define DBLNTSCLORESFF_KEY        0x00091004
  218. #define DBLNTSCLORESHAM_KEY        0x00091800
  219. #define DBLNTSCLORESHAMFF_KEY        0x00091804
  220. #define DBLNTSCLORESEHB_KEY        0x00091080
  221. #define DBLNTSCLORESEHBFF_KEY        0x00091084
  222. #define DBLNTSCLORESLACE_KEY        0x00091005
  223. #define DBLNTSCLORESHAMLACE_KEY        0x00091805
  224. #define DBLNTSCLORESEHBLACE_KEY        0x00091085
  225. #define DBLNTSCLORESDPF_KEY        0x00091400
  226. #define DBLNTSCLORESDPFLACE_KEY        0x00091404
  227. #define DBLNTSCLORESDPF2_KEY        0x00091440
  228. #define DBLNTSCLORESDPF2LACE_KEY    0x00091444
  229. #define DBLNTSCHIRES_KEY        0x00099000
  230. #define DBLNTSCHIRESFF_KEY        0x00099004
  231. #define DBLNTSCHIRESHAM_KEY        0x00099800
  232. #define DBLNTSCHIRESHAMFF_KEY        0x00099804
  233. #define DBLNTSCHIRESLACE_KEY        0x00099005
  234. #define DBLNTSCHIRESHAMLACE_KEY        0x00099805
  235. #define DBLNTSCHIRESEHB_KEY        0x00099080
  236. #define DBLNTSCHIRESEHBFF_KEY        0x00099084
  237. #define DBLNTSCHIRESEHBLACE_KEY        0x00099085
  238. #define DBLNTSCHIRESDPF_KEY        0x00099400
  239. #define DBLNTSCHIRESDPFLACE_KEY        0x00099404
  240. #define DBLNTSCHIRESDPF2_KEY        0x00099440
  241. #define DBLNTSCHIRESDPF2LACE_KEY    0x00099444
  242.  
  243. #define DBLPAL_MONITOR_ID        0x000a1000
  244.  
  245. #define DBLPALLORES_KEY            0x000a1000
  246. #define DBLPALLORESFF_KEY        0x000a1004
  247. #define DBLPALLORESHAM_KEY        0x000a1800
  248. #define DBLPALLORESHAMFF_KEY        0x000a1804
  249. #define DBLPALLORESEHB_KEY        0x000a1080
  250. #define DBLPALLORESEHBFF_KEY        0x000a1084
  251. #define DBLPALLORESLACE_KEY        0x000a1005
  252. #define DBLPALLORESHAMLACE_KEY        0x000a1805
  253. #define DBLPALLORESEHBLACE_KEY        0x000a1085
  254. #define DBLPALLORESDPF_KEY        0x000a1400
  255. #define DBLPALLORESDPFLACE_KEY        0x000a1404
  256. #define DBLPALLORESDPF2_KEY        0x000a1440
  257. #define DBLPALLORESDPF2LACE_KEY        0x000a1444
  258. #define DBLPALHIRES_KEY            0x000a9000
  259. #define DBLPALHIRESFF_KEY        0x000a9004
  260. #define DBLPALHIRESHAM_KEY        0x000a9800
  261. #define DBLPALHIRESHAMFF_KEY        0x000a9804
  262. #define DBLPALHIRESLACE_KEY        0x000a9005
  263. #define DBLPALHIRESHAMLACE_KEY        0x000a9805
  264. #define DBLPALHIRESEHB_KEY        0x000a9080
  265. #define DBLPALHIRESEHBFF_KEY        0x000a9084
  266. #define DBLPALHIRESEHBLACE_KEY         0x000a9085
  267. #define DBLPALHIRESDPF_KEY        0x000a9400
  268. #define DBLPALHIRESDPFLACE_KEY        0x000a9404
  269. #define DBLPALHIRESDPF2_KEY        0x000a9440
  270. #define DBLPALHIRESDPF2LACE_KEY        0x000a9444
  271.  
  272. -- 
  273. *-------------------------------------------*---------------------------*
  274. |Chris Green - Graphics Software Engineer   - chrisg@commodore.COM      f
  275. |                  Commodore-Amiga          - uunet!cbmvax!chrisg       n
  276. |My opinions are my own, and do not         - icantforgettheimpression  o
  277. |necessarily represent those of my employer.- youmadeyouleftaholeinthe  r
  278. |"A screaming comes across the sky..."      - backofmyhead              d
  279. *-------------------------------------------*---------------------------*
  280.