Projects/tigris
Projects
/
tigris
Archived
5
0
Fork 0
This repository has been archived on 2024-07-04. You can view files and clone it, but cannot push or open issues or pull requests.
tigris/reference/lyd.txt

47 lines
1.8 KiB
Plaintext

Lyd og scrolling i TIKI-100 Rev C
---------------------------------
TIKI-100 inneholder en AY-3-8912 chip. Dette er en standard lydkrets som finnes
i mange andre datamaskiner, bl.a Amstrad CPC og ZX-Spectrum. Siden det finnes
mange gode tekster som omhandler programmering av denne kretsen, tar jeg bare
med det som gjelder spesielt for TIKI her.
AY-3-8912 har 15 registre som kontrollerer kretsens virkemåte. Den har 2
funksjoner; Hovedfunksjonen er lydgenerering, men den inneholder også en 8 bits
dataport. Denne dataporten er i TIKI-100 brukt til vertikal scrolling av
skjermen.
Tilgang til AY-3-8912 skjer gjennom 2 I/O-porter:
I/O-port 16H: Lyd og scroll peker
For å få tilgang til et av registrene i AY-3-8912, må det aktuelle
registernummeret skrives til denne porten.
I/O-port 17H: Lyd og scroll data
Etter at registernummeret er skrevet til I/O-port 16H, kan data til det aktuelle
registeret skrives/leses i denne porten.
Hardware scrolling
Som nevnt tidligere, benyttes AY-3-8912's dataport (register 14) til vertikal
scrolling. Hver gang prosessor eller videokrets prøver å få tilgang til grafikk-
hukommelsen, adderes innholdet i denne dataporten multiplisert med 128 til
verdien på adressebussen. Hvis f.eks prosessoren skal ha tak i innholdet i
adresse 0 i grafikkram, og innholdet i AY-3-8912's dataport er 10, vil
prosessoren i stedet få innholdet i adresse 0 + (10*128) MOD 32768 = 1280. Selv
om data i grafikkram ikke fysisk skifter plass, vil det i praksis føles som om
grafikkram-innholdet hopper oppover like mange linjer som dataportens innhold
øker med i verdi.
Med andre ord: For å scrolle skjermen oppover x antall linjer, legg x til
verdien som allerede ligger i AY-3-8912's dataport.
For å scrolle skjermen nedover x antall linjer, trekk x fra verdien som
allerede ligger i AY-3-8912's dataport.
---
26 juni 2001
Asbjørn Djupdal, djupdal@stud.ntnu.no