Videoaddressräknaren kan nu både skrivas och läsas. Skrivningen
påverkar omedelbart visningen, så var försiktig. Bäst att sätta
registren under Vertical Blank Interrupt.
FF820C ........XXXXXXX. VBASELO (R/W)
Detta register innehåller den lägsta byten av skärmens
basaddress. Detta tillåter dej att börja skärmen på ett ord
(tidigare bara på en 256-bytegräns) för att åstadkomma vertikal
scrolling.
FF820E ........XXXXXXXX LINEWID (R/W)
Innehåller antalet ord som läggs till efter det att en linje har
ritats, för att komma till nästa linje. Värdet 0 läggs i
registeret vid Reset, och då fungerar det som en vanlig ST.
På detta sätt kan man skapa bredare bilder i minnet, och visa en
bit i taget.
Till exempel: Skriv in värdet 20, och i 640x400 mode får du en
bild som är 640+20x16 = 960 pixels bred. För att se från kolumn
20 till 670, öka skärmens basaddress med ett (16 bitar) och lägg
en 4a i HSCROLL.
FF8204 red grn blu
FF825E ....032103210321 PALETTE (R/W)
Paletteregister, numera 4 bitar för varje färg. Observera att den
minst signifikanta biten har placerats högst
upp, så att ST-program fortfarande ska fungera rätt.
FF8264 ............XXXX HSCROLL (R/W)
Detta register möjliggör horisontell scrollning bit för bit.
Värdet säger vilken bit i skärmaddressen VBASE ska starta.
FF9200 ............3210 FIRE0-3 (R)
joy3 1 2 0
Via avfyrnings och joysticksregistren läser du av de två gamla
(joy1 och joy3) och de nya (joy0 och joy2). Du kan också skriva
till joy0 och joy2.
FF9210 ........XXXXXXXX XPAD0 (R)
FF9212 ........XXXXXXXX YPAD0 (R)
FF9214 ........XXXXXXXX XPAD1 (R)
FF9216 ........XXXXXXXX YPAD1 (R)
Du kan också sätte paddles i joystick port 0 (paddle 0) och ett
annat par i joystick port 2 (paddle 1). Registren innehåller
läget. Avfyrningsknapparna är densamma som för joysticks.
Triggern för paddlarna är i bit 0 och 1 på register FF9202 (höger
och vänster av joy0).
FF9220 ......XXXXXXXXXX LIGHTX (R)
FF9222 ......XXXXXXXXXX LIGHTY (R)
Ljuspistol/penna. En sådan kan sättas i joy0. Registren
innehåller läget. X-position ändras för var
4 pixels i 320x200
8 640x200
16 640x400
y upplösningen är exakt. x läget visas alltid 320x200-upplösning,
så att för varje 640x200 skiftar du en bit till vänster och för
640x400 två bitar.
FF8900 .............XCC SDMACNTR (R/W)
Ljud-DMA-kontrollregister.
CC = 00 - ljud-DMA bortkopplat (efter reset)
CC = 01 - ljud-DMA kopplas in; ur igen vid ramslut
CC = 11 - ljud-DMA kopplas in; upprepa raminnehåll
Detta värde kan användas för mer komplexa ljud. I event count
mode får timer-A i MFP en signal vid slutet av ramen. Om du t.ex.
sätter dataregistret i timer-A i event count till 5 upprepas
musikramen 5 gånger.
I interruptrutinen kan FRMBASE ändras, då det gamla värdet
buffras - ett nytt värde kan man utnyttja två buffertar, skriva i
en medan man spelar den andra.
FF8902 ..........XXXXXX FRMBASEHI (R/W)
FF8904 ........XXXXXXXX FRMBASEMID (R/W)
FF8906 ........XXXXXXX. FRMBASELO (R/W)
Musik "ramens" basaddress.
FF8908 ..........XXXXXX FRMCNTHI (R)
FF890A ........XXXXXXXX FRMCNTMID (R)
FF890C ........XXXXXXX. FRMCNTLO (R)
Musikramens addressräknare. Den aktuella addressen under ljud-DMA.
På detta sätt kan du ta reda på vilken sample som just spelas.
FF890E ..........XXXXXX FRMENDHI (R/W)
FF8910 ........XXXXXXXX FRMENDMID (R/W)
FF8912 ........XXXXXXX. FRMENDLO (R/E)
Musikramens slutaddress.
FF8920 ........M.....RR SMODCNTR (R/W)
Ljudmodulkontroll. Frekvens och sätt att spela ramen.
RR = 00 - 6258 Hz frekvens (standard)
RR = 01 - 12517
RR =10 - 25033
RR = 11 50066
M = 0 - stereo (standard)
M = 1 - mono
Frekvensen gäller för mono, halva värdet för stereo. Varje sample
är på 8 bitar, -128 till +127. I stereo är varannan byte för
vänster, varannan för höger kanal.
FF8922 XXXXXXXXXXXXXXXX MWDATA (R/E)
FF8924 XXXXXXXXXXXXXXXX MWMASK (R/W)
Microwire-interfacet för framtida microwire-utrustning. Kretsen
LMC1922 - som är ansvarig för ljud och volym hos det digitala
ljudet - är den första tillämpning. LMC1922 har microwireaddress
01.
När du programmerar LMC1992 måste du alltid sätta maskregistret
till $07FF. Värdena du skriver till data registret är:
Precis som TT har den gamla ROM-addressen flyttat från $FC0000
till $E00000 ROMmarna är på 256 Kbytes, med ca 30 Kbytes ledigt.
Funktionerna Setpalette och Setcolor har anpassats till 4-bits
färgpalett. Alla trap-F-accesser till AES är försvunna. De
interna variablerna har också flyttats till nya addresser.
Denna text kom i första hand från Martin Backschat, vilken sedan
översattes av Ralph Haglund, vilken sedan efter många mellanhänder
kom fram till Atarispeciaisten/Desktop Center där Johan Antoni
skrev in den till .TXT format från ett papper.
Texten är numera någotsånär rättstavad av Juan Irming.
Denna text är spriden genom ATARISPECIALISTEN BBS (08/313020, SysOp:
Johan Antoni).