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
Raw Permalink Normal View History

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<65>te. Den har 2
funksjoner; Hovedfunksjonen er lydgenerering, men den inneholder ogs<67> 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 <20> 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<70>ver <20> 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
<EFBFBD>ker med i verdi.
Med andre ord: For <20> scrolle skjermen oppover x antall linjer, legg x til
verdien som allerede ligger i AY-3-8912's dataport.
For <20> scrolle skjermen nedover x antall linjer, trekk x fra verdien som
allerede ligger i AY-3-8912's dataport.
---
26 juni 2001
Asbj<EFBFBD>rn Djupdal, djupdal@stud.ntnu.no