ZX Spectrum > MUZYKA

Timer КР580ВИ53 jako generator dźwięku

<< < (2/15) > >>

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

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej