General Sound
General Sound je čtyřkanálový hudební interface k počítačům Sinclair ZX Spectrum a kompatibilním. Zařízení je vlastně samostatný počítač s procesorem Z80 specializovaným na přehrávání hudby. Díky tomu není při přehrávání hudby zatěžován procesor počítače, ke kterému je interface připojen.
Popis interface[editovat | editovat zdroj]
Interface umožňuje přehrávání hudebních modulů počítačů Amiga. Podporuje veškeré příkazy programu ProTracker, kromě příkazů E01 a EFX.[1] Také je možné přehrávání samostatných samplů. Interface umožňuje také podmíněné přehrávání samplů, kdy je tento přehrán pouze v případě, že je k dispozici volný kanál, nebo je na některém z kanálů přehráván sampl s nižší prioritou, než jakou má sampl, který má být přehrán.
Přehrávání hudby pomocí General Soundu může být na ZX Spectru emulováno programovým emulátorem využívajícím hudebního čipu AY-3-8912, možné je i využití hudebního interface Turbo Sound.[2] General Sound je emulován v emulátoru ZX Spectra UnrealSpeccy.[3][4]
V roce 2011 byl vyvinut podobný hudební interface SID-Blaster/ZX pro přehrávání hudeb hudebním čipem SID.[5]
Technické informace[editovat | editovat zdroj]
- procesor: Z80, 12 MHz,
- paměť RAM: 128 KiB (z toho 112 KiB pro moduly a samply) nebo 512 KiB (z toho 496 KiB pro moduly a samply),
- paměť ROM: 32 KiB,
- čtyři 8bitové D/A převodníky,
- frekvence při přehrávání samplů: 37,5 kHz.[6]
Používané porty[editovat | editovat zdroj]
General Sound používá ke své činnosti dva porty počítače, ke kterému je připojen:[7]
desítkově | šestnáctkově | význam |
179 | B3 | zápis: datový registr, čtení: výstupní registr |
187 | BB | zápis: příkazový registr, čtení: stavový registr bit 7 - datový bit, signál, že jsou nová data ještě nebyla přečtena, bit 0 - příznak vykonávání posledního příkazu |
Tyto porty jsou také používány interfacem pro připojení pevného disku ZX-IDE IF,[8] tudíž tato dvě zařízení nelze použít současně.
Vnitřní procesor Z80[editovat | editovat zdroj]
Protože interface obsahuje více paměti, než je adresový rozsah jeho procesoru Z80, je nutné paměť stránkovat:
65535 49152 |
ROM | RAM 1 | RAM 2 | RAM 3 | RAM 4 | ... | RAM 15 | |
49151 32768 |
||||||||
32767 16384 |
spodní polovina RAM 1 | |||||||
16383 0 |
spodní polovina ROM |
Vnitřní procesor interface používá ke své činnosti následující porty:
desítkově | šestnáctkově | význam |
0 | 00 | číslo stránky RAM v adresovém prostoru od 32768 (stránka č. 0 = ROM) |
1 | 01 | čtení obsahu příkazového registru (registru BB z pohledu počítače) |
2 | 02 | čtení obsahu datového registru (registru B3 z pohledu počítače) |
3 | 03 | zápis obsahu datového registru (registru B3 z pohledu počítače) – odeslání dat do ZX Spectra |
4 | 04 | stavový registr bit 7 - datový bit, bit 0 - příznak toho, že příkazový registr obsahuje nový příkaz od ZX Spectra |
5 | 05 | zápisem jakékoliv hodnoty na port dojde k vynulování bitu D0 stavového registru (port 04/port BB) |
6 | 06 | nastavení hlasitosti kanálu A |
7 | 07 | nastavení hlasitosti kanálu B |
8 | 08 | nastavení hlasitosti kanálu C |
9 | 09 | nastavení hlasitosti kanálu D |
10 | 0A | nastavení bitu D7 stavového registru na nerovný hodnotě bitu D0 portu 0 |
11 | 0B | nastavení bitu D0 stavového registru na rovný hodnotě bitu D5 portu 6 |
D/A převodníky jsou připojeny do adresového prostoru procesoru 6000h–7FFFh paralelně k paměti. Do D/A převodníku jsou data posílána při čtení z paměti,[9] při zápisu do paměti data do D/A převodníků zapisována nejsou.
od adresy | do adresy | D/A převodník |
6000 6100 6200 6300 |
60FF 61FF 62FF 63FF |
D/A převodník kanálu A D/A převodník kanálu B D/A převodník kanálu C D/A převodník kanálu D |
6400 6500 6600 6700 |
64FF 65FF 66FF 67FF |
D/A převodník kanálu A D/A převodník kanálu B D/A převodník kanálu C D/A převodník kanálu D |
... | ... | ... |
7C00 7D00 7E00 7F00 |
7CFF 7DFF 7EFF 7FFF |
D/A převodník kanálu A D/A převodník kanálu B D/A převodník kanálu C D/A převodník kanálu D |
Reference[editovat | editovat zdroj]
- ↑ General Sound : ZX Spectrum Archivováno 30. 5. 2012 na Wayback Machine. na 8bit.yarek.pl
- ↑ Рабочий стол - General Sound AY Emulator v1.0. 3Bit. Январь 2005, čís. 01. Dostupné online.
- ↑ ZX Spectrum Emulator Archivováno 22. 6. 2015 na Wayback Machine. (anglicky) na omegahg.com
- ↑ Emulator's ZX Spectrum (rusky) na zxaaa.untergrund.net
- ↑ http://zxbyte.ru/sid_blaster_en.htm
- ↑ General Sound na World of Spectrum
- ↑ Руководство по программированию General Sound. ZX Format. Июль 1997, čís. 06. Dostupné online.
- ↑ ŘÍHA, Pavel. ZX-IDE IF - Kompletní popis. ZX Magazín. 1999, čís. 3–4, s. 22–23.
- ↑ PSB/Halloween. Прямое программирование General Sound. Adventurer. Март 2002, čís. 13. Dostupné online.
Literatura[editovat | editovat zdroj]
- +Gama. General Sound. ZX Magazín. 1999, čís. 3–4, s. 28–30.
- LMN. General Sound. Your Spectrum. 1997, čís. 2–3, s. 24–25.
- Mystery/Flash. Мнение - General Sound - ZX vs Amiga?. Flash Info. Январь 1998, čís. 14. Dostupné online. ((rusky))
Externí odkazy[editovat | editovat zdroj]
- General Sound na SpeccyWiki
- General Sound ROM 1.04 na opensourcezx.untergrund.net
- General Sound - профессиональная музыкальная карта для Вашего ZX-Spectrum na scorpion.ru
- Index of ftp://pc.fk0.pp.ru/pub/zx/gamez/general-sound, část 1, část 2 na mmnt.net – seznam programů podporujících General Sound (archivovaná verze části 1, části 2)
- Z80 Music Site. ZX Spectrum 48Kb Music. Beeper Music. – obsahuje obrázek zvukového interfacu
- General Sound na sblive.narod.ru
- ZX Spectrum сегодня? Живее всех живых! na habrahabr.ru