Philips SAA 1099 je zvukový generátor vyvinutý firmou Philips. Obvod se používal v prvních verzích zvukové karty Sound Blaster a jejích předchůdcích. Je také použit v počítači SAM Coupé. Zvukový generátor Philips SAA 1099 umožňuje generovat šestikanálový stereo zvuk.

Rozložení pinů obvodu Philips SAA 1099

Popis obvodu editovat

Generovaný zvuk je programován pomocí 32 registrů, některé z registrů jsou ale nepoužité.

registr význam
0 hlasitost (amplituda tónu) kanálu 0
1 hlasitost (amplituda tónu) kanálu 1
2 hlasitost (amplituda tónu) kanálu 2
3 hlasitost (amplituda tónu) kanálu 3
4 hlasitost (amplituda tónu) kanálu 4
5 hlasitost (amplituda tónu) kanálu 5
6 rezervováno - nevyužito
7 rezervováno - nevyužito
8 číslo tónu v kanálu 0
9 číslo tónu v kanálu 1
10 číslo tónu v kanálu 2
11 číslo tónu v kanálu 3
12 číslo tónu v kanálu 4
13 číslo tónu v kanálu 5
14 rezervováno - nevyužito
15 rezervováno - nevyužito
16 číslo oktávy, ve které se nachází přehrávaný tón v kanálech 0 a 1
17 číslo oktávy, ve které se nachází přehrávaný tón v kanálech 2 a 3
18 číslo oktávy, ve které se nachází přehrávaný tón v kanálech 4 a 5
19 rezervováno - nevyužito
20 nastavení, ve kterých kanálech je přehráván tón
21 nastavení, ve kterých kanálech je přehráván šum
22 nastavení frekvence generátoru šumu
23 rezervováno - nevyužito
24 nastavení průběhu obálky amplitudy tónu v kanálu 2
25 nastavení průběhu obálky amplitudy tónu v kanálu 5
26 rezervováno - nevyužito
27 rezervováno - nevyužito
28 hlavní reset a povolení přehrávání
29 rezervováno - nevyužito
30 rezervováno - nevyužito
31 rezervováno - nevyužito

Registry 0 - 5 slouží k nastavení amplitudy (hlasitosti) tónu na příslušném kanále. Nezávisle na sobě se nastavuje amplituda pro levou a pravou část jednotlivých kanálů.

registr 0 (1, 2, 3, 4, 5)
bit 7 6 5 4 3 2 1 0
amplituda pravé části kanálu amplituda levé části kanálu

Registry 8 - 13 společně s registry 16 - 18 slouží k nastavení generované frekvence tónu v jednotlivých kanálech. Do registrů 8 - 13 se zapisují čísla tónů, registry 16 - 18 určují, ve kterých oktávách se tyto tóny nachází.

registr 8 (9, 10, 11, 12, 13)
bit 7 6 5 4 3 2 1 0
číslo tónu
registr 16 (17, 18)
bit 7 6 5 4 3 2 1 0
  oktáva kanálu 1 (3, 5)   oktáva kanálu 0 (2, 4)

Registr 20 určuje, ve kterých kanálech je přehráván tón.

registr 20
bit 7 6 5 4 3 2 1 0
    tón v kanálu 5 tón v kanálu 4 tón v kanálu 3 tón v kanálu 2 tón v kanálu 1 tón v kanálu 0

Stejným způsobem registr 21 určuje, ve kterých kanálech je přehráván šum.

registr 21
bit 7 6 5 4 3 2 1 0
    šum v kanálu 5 šum v kanálu 4 šum v kanálu 3 šum v kanálu 2 šum v kanálu 1 šum v kanálu 0

Registr 22 určuje frekvenci generátoru šumu. Generátory šumu jsou v obvodu dva, jeden pro kanály 0, 1 a 2, druhý pro kanály 3, 4 a 5.

registr 22
bit 7 6 5 4 3 2 1 0
  frekvence generátoru šumu pro kanály 0, 1 a 2   frekvence generátoru šumu pro kanály 3, 4 a 5

Fekvence generátoru šumu je určena kombinací bitů:

  • 00 - 31,25 kHz,
  • 01 - 15,6 kHz,
  • 10 - 7,8 kHz,
  • 11 - frekvence je odvozena od frekvence generátoru tónu v kanálu 0 pro šum v kanálech 0, 1 a 2, resp. od frekvence generátoru tónu v kanálu 3 pro šum v kanálech 3, 4 a 5, a může být v rozsahu od 61 Hz do 15,6 kHz.

V kanálech 2 a 5 může být obálka amplitudy tónu nejenom konstantní, ale také proměnná. Průběh obálky se pak nastavuje pomocí registrů 24 a 25.

registr 24 (25)
bit 7 6 5 4 3 2 1 0
zapnutí proměnné obálky   0 .. pro generování průběhu obálky bude použito vnitřní časování,
1 .. pro generování průběhu obálky bude použito vnější časování
0 .. čtyřbitové rozlišení průběhu obálky,
1 .. tříbitové rozlišení průběhu obálky
průběh obálky amplitudy 0 .. v levé i pravé části kanálu je průběh obálky totožný
1 .. v pravé části kanálu je průběh obálky inverzní

V případě vnitřního časování je průběh obálky amplitudy kanálu 2 odvozen od frekvence generátoru tónu v kanálu 1, průběh obálky amplitudy kanálu 5 odvozen od frekvence generátoru tónu v kanálu 4. V režimu vnějšího časování slouží jako zdroj hodinového signálu vstup A0, který jinak funguje jako přepínač mezi vybíráním registrů a zápisem hodnot do zvoleného registru.

Generované obálky amplitudy mají následující průběhy:

000 ________
001 ¨¨¨¨¨¨¨¨
010 \_______
011 \\\\\\\\
100 /\______
101 /\/\/\/\
110 /_______
111 ////////

Registr 28 slouží k zapnutí a vypnutí obvodu jako celku a k resetu a opětné synchronizaci všech generátorů v obvodu.

registr 28
bit 7 6 5 4 3 2 1 0
            reset generátorů zapnutí obvodu jako celku

Využití obvodu editovat

Sound Blaster editovat

Obvod byl použit ve zvukovývch kartách C/MS a v jejich nástupcích, kartách Sound Blaster, ve kterých byly použity dva tyto obvody pro generování 12kanálového zvuku. Pozdější verze karet Sound Blaster až do verze 2.0 sice vlastní obvod již neobsahovaly, nicméně podpůrná elektronika a patice pro oba obvody byly přítomné, takže obvod Philips SAA 1099 bylo možné do těchto karet doplnit.

SAM Coupé editovat

Philips SAA 1099 je použit v počítači SAM Coupé. Je připojen na portech 255 (zápis do zvoleného registru) a 511 (výběr registru) obvodu SAA 1099.

Sinclair ZX Spectrum editovat

Protože počítač SAM Coupé je kompatibilní s počítači Sinclair ZX Spectrum, vznikly interfacy Turbo Sound Easy, ZXM-SoundCard a TwinSound pro počítače ZX Spectrum, ve kterých je obvod Philips SAA 1099 zapojen stejně jako u počítače SAM Coupé.[1][2] Takto zapojený obvod využívá k přehrávání hudby hra Krunel. Na ZX Spectrum byly ruskými kodery převedeny téměř všechny hudby z programů pro SAM Coupé a jsou dostupné jak v prostých TAP souborech, tak v nových demokolekcích původně vytvořených pro ZXM-Soundcard.

SGI editovat

Obvod Philips SAA 1099 je součástí profesionální série IRIS (4D/50-85) a Power Series (4D/xxx) počítačů SGI, informace o přítomnosti těchto obvodů se ale nedostala do dokumentace k těmto počítačům.[3] Obvod je součástí desek IO2 a IO3.

PMD 85 editovat

Na základě obvodu Philips SAA 1099 byl vytvořen hudební interface MIF 85 pro počítače PMD 85.[4] Philips SAA 1099 je připojen na porty EF (výběr registru) a EE (zápis do vybraného registru), interface používá ještě port EC pro řízení přerušení od časovače.

Reference editovat

  1. Turbo Sound na velesoft.speccy.cz
  2. ZXM-SoundCard Archivováno 6. 12. 2013 na Wayback Machine. na micklab.narod.ru
  3. The Old SGI na sgistuff.net
  4. MIF 85 - Music interface pre PMD 85 na borik.net

Externí odkazy editovat