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
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
- 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
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
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
- ↑ General Sound : ZX Spectrum na 8bit.yarek.pl
- ↑ Рабочий стол - General Sound AY Emulator v1.0. 3Bit. Январь 2005, čís. 01. Dostupné online.
- ↑ ZX Spectrum Emulator (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
- +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
- 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