                          - SEPTIC'S DEMOSKOLA -

                                 Lektion 6
                                 ¯¯¯¯¯¯¯¯¯
                        Skriven av Vicious / Septic

                                 15 Jun 93



                                 Inledning
                                 ¯¯¯¯¯¯¯¯¯
Ännu en gång sitter ni framför monitorn spända på vad den nya lektionen ska
presentera den här gången...Vi har hunnit fram till Lektion 6 nu, och det
börjar snart likna något nu. Ni har lärt er coppern, hur man visar bilder,
och i viss mån att visa sprites. Än så länge har vi inte så mycket som
nosat på den omtalade blittern, men jag lovar att det inte ska dröja länge
till. Den här gången måste jag gå igenom lite ytterligare saker som hör
till sprites. Hoppas ni tål detta och väntar med spänning på nästa lektion.


                                   Teori
                                   ¯¯¯¯¯
Jag nämnde något om Attached mode i förra lektionen, och jag ska gå in lite
närmare på den nu tänkte jag.
  Som jag sa, kan en sprite bara ha 4 färger maximalt. Detta är ju lite
ynkligt, och det är just därför Attached mode har skapats. I attached mode
kombineras två spritar ihop till en enda och får istället för bara 2
bitplan, hela 4 stycken, som ger 16 färger.
  Spritarna kan endast kombineras i spritepar som följer: sprite0 med
sprite1, sprite2 med sprite3, sprite4 med sprite5 och sprite6 med sprite7,
vilket betyder att man inte kan sätta ihop tex sprite0 med sprite6.
  Att sätta en sprite i attached mode är ganska simpelt. Man sätter bara
bit #7 i kontroll WORDet i båda spritarna och ser till att de alltid
befinner sig på samma koordinater.
  Visningen av dem sker sedan helt automagiskt med DMAn.


                                 Register
                                 ¯¯¯¯¯¯¯¯
I vanlig spritemode ställs ju färgerna in lite konstigt, så att sprite 0
och 1 har färg 16-19, sprite 2 och 3 färg 20-23 osv, men attached mode är
det lite annorlunda. Där delar ALLA sprites på färgerna 16-31, så har man
flera sprites på samma gång måste man se till att de har samma palette,
annars blir det hyfsat fult.


                              Programexemplet
                              ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Den här gången har jag gjort ett litet smidigt program som visar fyra
stycken spritar i attached mode (de är gjorda i endast 8 färger var för att
jag skulle kunna ha både blått och gult) som studsar runt som besatta på
skärmen.
  Jag sköter X och Y ändringen i två olika rutiner. I SineSwing gör jag
studsningen på Y-koordinaten, genom att läsa från en sinustabell och föra
in värdet i spritens kontroll WORD. I rutinen SpriteMove flyttar jag
spriten antingen åt höger eller vänster, och kollar om den nått höger eller
vänster vägg än, och har den det så byter jag bara riktning.
  Jag måste medge att spritarna ser äckligt fula ut, men jag erkänner att
jag har ritat dem själv, och jag är ingen grafiker... :-)


                                 Utmaning
                                 ¯¯¯¯¯¯¯¯
Utmaningen var tydligen FÖR lätt eller vad är detta?!?! Inte ett enda svar!
Det är verkligen inte skojigt...Lite respons på mitt arbete skulle vara
kul! Men, men...Det är väl sommarens hetta som gör att man inte orkar sitta
inne och knappra på datorn....
  Jag har med en lösning i alla fall, som jag tror är det minsta smidigaste
sättet att göra det på. Släng gärna en flukt på det.
