ZX Spectrum > MUZYKA
Timer КР580ВИ53 jako generator dźwięku
Gelip:
Widzę, że dobry jesteś w te klocki z kodem :-). Faktycznie port #EE to port I/O timera którego używa "Bajt"
--- Cytuj ---Wychodzi na to, ze wykorzystany jest tylko jeden kanał, bo nie znalazłem żadnych innych odwołań poza tą jedną procedurą.
--- Koniec cytatu ---
Jeśli możliwe jest aby kilka dźwięków (nut) brzmiało jednocześnie przy użyciu tylko jednego kanału to pewnie masz rację. Jeśli wsłuchać się w demo to raczej kilka dźwięków brzmi jednocześnie :-) - tak sądzę.
pear:
--- Cytat: Gelip w 2013.06.04, 18:48:17 ---Widzę, że dobry jesteś w te klocki z kodem :-). Faktycznie port #EE to port I/O timera którego używa "Bajt"
Jeśli możliwe jest aby kilka dźwięków (nut) brzmiało jednocześnie przy użyciu tylko jednego kanału to pewnie masz rację. Jeśli wsłuchać się w demo to raczej kilka dźwięków brzmi jednocześnie :-) - tak sądzę.
--- Koniec cytatu ---
Jeszcze całkiem nie zardzewiałem ;)
Jest możliwe uzyskanie złudzenia kilku dźwięków jednocześnie na jednym kanale.
Przynajmniej na zwykłym beeperze z ZX się da, to tym bardziej na sprzętowym powinno się dać taki efekt uzyskać, ale na muzyce to ja się nie znam :)
Nie wiem jak dokładnie jest zbudowany Bajt. Dźwięk jest generowany tylko przez układ 8253, czy jest oprócz tego odpowiednik jednobitowego beepera ?
Gelip:
--- Cytat: pear w 2013.06.04, 18:34:08 ---Nie znalazłem też żadnej pętli, która z użyciem tej procedury odgrywałaby coś z pamięci.
--- Koniec cytatu ---
Chcesz powiedzieć iż procedura ta nie odczytuje danych np. tych niby muzycznych z offsetu 1FB5 ?
--- Cytat: pear w 2013.06.04, 18:54:37 ---Nie wiem jak dokładnie jest zbudowany Bajt. Dźwięk jest generowany tylko przez układ 8253, czy jest oprócz tego odpowiednik jednobitowego beepera ?
--- Koniec cytatu ---
W komputerach "Bajt" i "Bajt-01" jest też oczywiście odpowiednik BEEP'era ZX Spectrum.
pear:
--- Cytat: Gelip w 2013.06.04, 19:04:18 ---Chcesz powiedzieć iż procedura ta nie odczytuje danych np. tych niby muzycznych z offsetu 1FB5 ?
--- Koniec cytatu ---
Z tego co przeszukałem w dostępnym zdebugowanym źródle, to niestety nie ma nic co by czytało serię danych z pamięci i posyłało na 8253.
--- Cytat: Gelip w 2013.06.04, 19:04:18 ---W komputerach "Bajt" i "Bajt-01" jest też oczywiście odpowiednik BEEP'era ZX Spectrum.
--- Koniec cytatu ---
Sprzętowo może być generowany jeden dźwięk, a na beeperze (na przerwaniach) drugi ?
Gelip:
Przyjrzałem się jeszcze raz, dokładniej danym w offsecie 1FB5. Okazuje się, wartość na 4 pozycji też jest ważna i inna - nie tylko 00 jak wstępnie podałem. Wartość ta jest stała dla kilku kolejnych danych.
Chip 8253 jest używany w "Bajcie" w trybie 3 (Mode 3 - Square Wave Generator)
Teraz zapoznaje się z tym i faktycznie dobrze wyłuskałeś kod z assemblera. W linku w sekcji Mode 3 Square Wave Generator jest instrukcja assemblera podobna do tej:
--- Kod: ---ld a, 36h ; '6' ; wybór timera 0 w rejestrze sterującym
--- Koniec kodu ---
Komputer Sharp MZ-700 z CPU Z80 również używa chipu 8253 jako generator dźwięku w trybie 3. Na stronie www.sharpmz.org w sekcji MZ-700 jest bardzo dokładnie opisane jak generuje dźwięk :-) co może być pomocne w zrozumieniu działania chipu również odnośnie "Bajta" ;-)
Nawigacja
[#] Następna strona
Idź do wersji pełnej