Welcome to probably the only _______ ________ _______ // \ | // \ // \ | // \ // \ | _ // \ _//------------\_ |_______| _//------------\_ Docfile in exsistance. This docfile has been split up into different sections :- A - Screens B - Colour Palette Setup C - Hardware Sprite D - Quater Pixel Scrolling Although after reading through this file and studying the included source code you will be able to program the AGA chipset there are probably a fews things missing, but its nothing I needed to know. Section (A) Screens ~~~~~~~~~~~~~~~~~~~~~~~ The new chipset enables you to have eight bitplanes instead of the old six which gives you screens with upto 256 colours or 262,144 in HAM8. Another bonus of eight bitplane is that the Dual Playfield mode now can have two 16 colour screens instead of 8. Enabling the screen modes :- Setting the register $dff100 (Bplcon0) to the following values will give you the enhance screens. $7200 - Selects 7 bitplanes $0210 - Selects 8 bitplanes $0a10 - Selects 8 bitplanes with HAM8 Also the register $dff1fc (Fmode) must be set to $0003. Modulos ~~~~~~~ The modulo values for an eight bitplane interleaved screen are what you would expect 40*7, but for some reason ( and this goes for all number of planes) 8 has to be taken off to give you 40*7-8. This is the same for both bpl1mod and bpl2mod. Section (B) Colours ~~~~~~~~~~~~~~~~~~~~~~~ In the old chipset a colour value ranged from 0-4096 giving you a 12 bit colour value ie. $fff is white. Now the new chipset can select a colour from 16,777,216 which means the colour value is 24 bit. One problem we have is that the amiga has only 32 colour registers and we sometimes need to set upto 256 different colours, so does the new chipset have 256 colour registers ? NO. What the chips do is they split the 256 colours up, firstly they are separated into eight banks of 32 colours then split again into two word values ie. colour value $fefefe which is almost 24 bit white is split to give $fff and $eee. What you have now is two sets of 8 * 32 colour banks one for the top 4 bits of each RGB component and one for the bottom 4 bits. To select a bank of 32 colours to set we use $dff106 (bplcon3) this when set to a certain value will enable you to change a certain bank of colours or bits. The top 4 bits of your colour have to set this register to one of eight values ( $0c40, $2c40, $4c40, $6c40, $8c40 $ac40, $cc40 and finally $ec40). The bottom 4 bits are accessed the same way except the $c40 is changed to $e40. Section (C) Sprites ~~~~~~~~~~~~~~~~~~~~~~~ One of the enhancements which was long overdue was bigger sprite, these can now be upto 64 pixels wide ( but still only 8 and the same colour selection applies ie 4 or 16 colour attached). To enable the extra wide sprites the register $dff1fc (Fmode) must be set to $000c, then the other thing to notice is that the control words have moved slightly :- Old way Control Word1 Control Word2 V V | | V V MySpriteData dc.w $9c3c,$cc00 New way Control Word1 V | V MySpriteData dc.w $9c3c,$0000,$0000,$0000 dc.w $cc00,$0000,$0000,$0000 ^ | ^ Control Word2 Section (C) Scrolling ~~~~~~~~~~~~~~~~~~~~~~~~~ The new chipsets hardware scroll feature has been changed so that you can now move in quarter increments, this can give you very nice raster scrolls. The register used is still $dff102 (bplcon1), but extra bits are now used. For example :- To scroll all even planes we use bits 0-3 for normal scroll. For quarter scroll we use the above bits plus bits 8-9. Also there is extended scroll to move the screen more than 16 pixels these bits are 10-11. This in total gives you a scroll value from 0-255 although you only move 64 true pixels the rest are just quarter steps. Extra Information ~~~~~~~~~~~~~~~~~ All graphical information on the A1200 is fussy about the boundary its placed on ie word or long word. The easiest way to get around this is to use a section statement before each incbin you use. All the above things mentioned have an example file included on this disc for you to mess about with, they were all written using Hisoft Devpac v3.04. Hope this helps you out and gets more A1200 only games on the scene. / / / / / / \ \/ / \/\/ Amiga Forever !!!!!