kategoria: Sprzęt
[#1] Terratec 512i digital - regulacja głośności nie wycisza kanału do zera
Witam,
Jak w temacie: karta dźwiękowa Terratec 512i digital zainstalowana w G-REX 4000, wykrywana poprawnie, gra ładnie.
Ale na żadnym z wejść nie mogę zjechać z głośnością na zero.
To znaczy same suwaczki głośności wejścia oraz master volume są w dolnym położeniu, ale w głośnikach słychać cicho dźwięk z danego kanału.
Wygląda to mi na błąd typowo programowy : tak jakby aplikacja miksera dla G-REXa nie ustawiała właściwych wartości rejestru w karcie muzycznej przy zerowym położeniu suwaka głośności.
Opcji "mute" też nie ma...

I tutaj moje pytanie do użytkowników tej karty dźwiękowej pod Mediatorem: czy aplikacja Mixer z Mediatora działa poprawnie i wycisza wszystko do zera na karcie Terratec 512i digital?

A może ktoś ma Terratec 512i digital w mostku G-REX?

Wiem że aplkacja Mixer działa poprawnie z Sound Blasterem i wycisza do zera.

Brak wyciszania do zera nie jest jakoś strasznie dokuczliwy, ale po trzech latach składania wymarzonej A4000 chciałbym aby wszystko w końcu działało jak należy.
Na chwilę obecną nie mam peceta aby wpiąć kartę i przetestować pod Windą, ale sama karta jest raczej ok.
[#2] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@stachu100, post #1

Stachu postaram się zdać relację z testów wieczorem,bo aktualnie mam szumblastera w Medku.Wydaje mi się,że minimalny przesłuch,może być,ale nie będę gdybał,ja nawet swojego NAD-a nie mogę ściszyć do zera wieczorem,to jednak słychać.:)

Ostatnia aktualizacja: 07.01.2013 17:20:39 przez Grisza
[#3] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@Grisza, post #2

Grisza dzięki za pomoc, ale SB w Mediatorze kiedyś miałem i nie było takich problemów. Bardziej zależałoby mi na testach Terratec 512i digital w Mediatorze. Od biedy skombinuję PC i przetestuję samą dźwiękówkę. Jak będzie ok w PC to wiadomo że na bank problem programowy z aplikacją miksera w Amidze.
[wyróżniony] [#4] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@stachu100, post #3

Staszku właśnie jestem po świeżych testach,użyłem wejścia CD IN i tak:
suwak CD IN na zero-dzwięk jest dalej,jak u Ciebie
kliknięcie na mute CD IN-cisza grobowa
suwak MASTER na zero-dzwięk jest dalej,jak wyżej
kliknięcie na mute MASTER-cisza
suwaki CD IN i MASTER na zero-cisza,wot ciekawostkaja?pomysł
[#5] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@Grisza, post #4

Dzięki!
Czyli coś jest na rzeczy. Przynajmniej wiem że nie jestem sam z tym problemem. Aż dziw że do tej pory nikt nie zwrócił na to uwagi...
[#6] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@stachu100, post #5

Ok, pogrzebałem trochę w internecie i znalazłem opis rejestru głośności układu fm801:

PCM Out Volume ˇ Host Offset Address: 0x00 - 0x01
Power-on value: 0x8808
Description: PCM Out Volume

B15: PCM Out Mute
B14~B13: Reserved
B12~B8: PCM Right Channel Gain
00000=+12db gain, 01000=0db gain, 11111=-34.5db gain (each step corresponds to approximately 1.5db)
B7~B5: Reserved
B4~B0: PCM Left Channel Gain
00000=+12db gain, 01000=0db gain, 11111=-34.5db gain (each step corresponds to approximately 1.5db)
* B15, B12~B8, B4~B0: read/write by host.

I teraz chciałbym włączyć mute dla tego kanału "z palca". Czyli z shella.
Polega ona na przestawieniu bitu 15 z "0" na "1".
Czyli np. zapisanie wartości 0x88 do rejestru 0x01 chipu FM801.

Moje pytanie do forumowiczowych programowych guru: jak to zrobić?
Mój rozum podpowiada mi że:
1) Najpierw muszę znaleźć przestrzeń adresową samej karty dźwiękowej w całkowitej przestrzeni adresowej Amigi. Myślę że komenda PCIScan dostarczana razem z mostkiem G-REX będzie idealna.
2) Do znalezionego początkowego zakresu adresowego dodaję 0x01 (czyli adres rejestru " PCM Out Volume ".
3) I teraz najważniejsze: jak z shella wydać polecenie zapisania wartości 0x88 do adresu 0x???????01?

Pozdrawiam!
[wyróżniony] [#7] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@stachu100, post #6

Co do ustalenia adresu brzmi logicznie, choć nie jestem w 100% pewien czy tak to będzie. Co do shella to chyba będzie potrzebny customowy programik napisany na szybko przez kogoś, bo na 99% w bazowych poleceniach takiej komendy nie ma.
Na szybko można ściągnąć asm-one, albo inny disasembler który pozwoli pokazać dany obszar pamięci (w asm-one chyba to było d i dalej address, np. d $C0000) i go wy-edytować dla testu.

Ostatnia aktualizacja: 08.01.2013 11:53:32 przez flops
[#8] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@flops, post #7

Na szybko znalazłem w Aminecie pakiecik Poke-Mem
link
Jest tam programik "poke" i kilka innych. Obadam temat.
[#9] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@stachu100, post #8

Ja osobiście używam tego do takich celów.

Tak z ciekawości, jak wygląda u Ciebie output PCIscan?
[#10] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@strim, post #9

Dzięki za pomoc!

PCIScan wrzucę wieczorem lub jutro.
[#11] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@strim, post #9

whichamiga
link
PCIScan:
link
Spróbowałem peek z adresem 0xFFFA1100 jak i 0xFFFA1101
Po wydaniu tej komendy system znacznie spowalnia: ruchy myszki przypominają slideshow oraz nie ma żadnej wartości wyjściowej tej komendy...
Muzyka z CD gra sobie ładnie przez kartę.
Także na razie jestem w kropce.

Ostatnia aktualizacja: 08.01.2013 19:10:07 przez stachu100
[#12] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@stachu100, post #11

Może jest to spowodowane jednoczesnym działaniem sterownika AHI czy nawet sterowników G-REXa? Ciężko powiedzieć, jednak Twój tok rozumowania wydaje się być poprawny - ja oczekiwałbym istnienia tego rejestru pod 0xFFFA1100 do 0xFFFA1101.

Ciekawe czy efekt będzie taki sam jeżeli uruchomisz komputer bez startup-sequence? Oczywiście nie będziesz mógł stwierdzić zbyt wiele nie mając uruchomionego AHI, ale zastanawia mnie czy wtedy też wystąpi taki zwis przy dostępie.

Korzystając z AmigaOS nie da się wyłączyć całkowicie sterowników G-REXa, bo one są w końcu we flashu CSPPC i uruchamiają się przed załadowaniem systemu... co utrudnia debugowanie w takich przypadkach.

Ostatnia aktualizacja: 09.01.2013 16:50:28 przez strim
[#13] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@stachu100, post #1

Wiem jak to wyglada ze zwyklym SB128 w Mediatorze gdyz mam wbudowana obsluge glosnosci w programie TvR.
Jest dokladnie tak samo ja z Twoja karta muzyczna, czyli nie wystarczy zjechac suwakiem max do zera aby dzwiek przestal grac. Nalezy ustawic dodatkowa flage MUTE. Czyli tak jak odkryles gdzies jest ustawiany jakis bit.
Na szczescie Elbox wypuscil dokladna dokumentacje do oprogramowania miksera kart dziwekowych dlatego tez sprawa jest bardzo prosta. Nie wiem czy jest podobna dokumentacja do G-rexa, jesli tak to napisanie odpowieniego softu to godzinka roboty.
[#14] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@Phibrizzo, post #13

Sprobwalem sie troszke dokladniej zaglebic w ten temat z czystej ciekawosci. Oto co udalo mi sie ustalic.
PCIInfo w moim przypadku podaje ze dla mojej karty dzwiekowej istnieje cos takiego jak I/OSpace od adresu $ed6800 do $ ed683f
Normalnie do ustawiania glosnosci instnieje funkcja SetAudioType() gdzie podaje sie dwie wartosci: poziom glosnosci oraz dla ktorego wejsca lub wyjscia dzwiekowego ta wartosc dotyczy.
Jednak biezacy podglad obszaru ktory podalem wyzej nic nie wykazuje.
W dokumentcaji do mixer.library Elboxu istnieje tez inna funkcja: ReadCodec(). Dopiero podglad ta funkcja pokazal to co podales wyzej z ustawiem bitow i dokladnie tak jest jak tam pisze.
W moim przypadku trzeba dla tej funkcji podac adres 0x02 aby kontrolowac glosnosc dla wyjsca.
Podejrzewam ze nie da sie ot tak wprost podac do jakiejs komurki pamieci aby zmienic ustawienia. Wg mnie nalezy uzyc jakiegos protokolu ktory zapoda odpowiednia wartosc do odpowiedniego rejestru karty.

Ostatnia aktualizacja: 09.01.2013 19:08:34 przez Phibrizzo
[#15] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@Phibrizzo, post #14

I/OSpace od adresu $ed6800 do $ ed683f


Mediator 1200? Jeśli tak, to powinien być rzeczywisty adres, ale ten zakres pamięci w Mediatorach 1200 jest współdzielony między przestrzenią I/O a przestrzenią konfiguracyjną. Na początku tej "karty" widocznej w autoconfigu jest rejestr (offset 0x7), który pozwala na przełączani się między nimi. W Medku 4000 te przestrzenie nie są współdzielone, więc addres widoczny w pciinfo to pewnie będzie jakiś offset od adresu mostka, ale nie mam jeszcze Medka 4000 więc nigdy tego nie sprawdzałem.


Ostatnia aktualizacja: 09.01.2013 19:23:31 przez strim
[#16] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@strim, post #15

Tak. Mediator 1200.

Dopisane:
Do wpisywania odpowiednich wartosci do rejestrow karty muzycznej jest funkcja WriteCodec().
Jednak jak ona dokladnie dziala (wewnetrznie) to nie wiem. Podejrzewam ze z tej funkcji kozysta SetAudioType() aby programista byl odciazony znajomoscia rejestow karty dzwiekowej.

Ostatnia aktualizacja: 09.01.2013 19:29:56 przez Phibrizzo
[#17] Re: Terratec 512i digital - regulacja głośności nie wycisza kanału do zera

@Phibrizzo, post #16

Więc jeśli, dajmy na to, adres Mediatora w ShowConfig to 0xEC0000, to pod 0xEC0007 możesz wpisać 0xA0 lub 0x20, to spowoduje że pod 0xED0000 będziesz miał odpowiednio widoczną przestrzeń konfiguracyjną, lub przestrzeń I/O.

Z doświadczenia powiem, że lepiej operować na pojedyńczych adresach (np. wspominanymi programami peek i poke), niż wyświetlać sobie całą przestrzeń.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem