Page Index Toggle Pages: 1 Send Topic
Normal Topic WavetablePi - czyli MT32 i więcej ! (Read 743 times)
zyga64
Full Member
***
Offline



Posts: 471
Location: Sulęcin, lubuskie
Joined: 29. Dec 2017
Gender: Male
WavetablePi - czyli MT32 i więcej !
03. Apr 2024 at 20:21
 
WavetablePi - cóż to takiego ?

Otóż jest to moduł brzmieniowy MT32-PI (You need to Login or Register to view media files and links) w formie karty WaveBlaster (You need to Login or Register to view media files and links) wpinanej w kartę muzyczną.
Autorem projektu jest scrapcomputing - wszystkie informacje potrzebne do wykonania takiego modułu dostępne są na githubie: (You need to Login or Register to view media files and links)

Dlaczego wydał mi się interesujący ?
1. Ze względu na rozmiary (jest niewiele większy od Raspberry Pi Zero 2 - który jest jego sercem/mózgiem),
2. Ze względu że nie potrzeba interfejsu midi DB15 -> DIN aby go podłączyć do karty dżwiękowej, zasilany jest również bezpośrednio z karty dźwiękowej ze złącza WaveBlaster
3. Ze względu na to że pracuje w trybach General Midi oraz MT-32.
- w trybach General Midi możemy sobie wgrać tyle soundfontów, na ile pozwoli nam pojemność karty SD,
- jako MT-32 mamy do wyboru 3 tryby: MT32 New, MT32 Old oraz CM32L

Jeśli chcemy korzystać z trybu General Midi, to nic nie musimy robić. Wpinamy w kartę i już Smiley Najlepiej za pomocą programu do inicjalizacji karty dźwiękowej ustawić sobie interfejs Midi jako 0x330 i IRQ9 (domyślny dla większości gier) i można już cieszyć się świetną muzyką w Duke 3D, Doom 1 i 2, Tyrian i wiele innych.
Natomiast jeśli chodzi o MT-32 to niektóre gry wymagają tzw. Intelligent Mode Midi. Tryb ten zapewnia oryginalny interfejs Rolanda MPU401 w formie karty ISA, bądź jego nowej implementacji zbudowanej na Atmega1284 o nazwie HardMPU (You need to Login or Register to view media files and links). Interesująca jest wersja HardMPU ze złączem Wavetable (Waveblaster) (You need to Login or Register to view media files and links). Te nowoczesne implementacje powstały w oparciu o rozwiązanie softwarowe o nazwie SoftMPU (You need to Login or Register to view media files and links) . Jest to programik rezydentny (TSR) który działa sobie w tle i przechwytuje odpowiednie odwołania do MT32 obsługując tryb Intelligent Mode. Aby ten TSR załadować konieczne jest uruchomienie DOSa w trybie chronionym, czyli w config.sys należy umieścić linijkę:
device=emm386.exe ram
Najlepiej machnąć sobie multikonfigurację w config.sys/autoexec.bat. Jeśli ktoś jest chętny to mogę podzielić się swoim konfigiem. Acha, niestety JemmEx nie działa - musi to być emm386 od Microsoftu. Taki od MS DOS 6.22 wzwyż.

Część gier potrafi jednak grać na Rolandzie w trybie Uart Mode - są to np. Lotus 3, czy The Lost Vikings.
(You need to Login or Register to view media files and links)
Najlepiej samemu sprawdzić Smiley

Istnieje również nowa alternatywa MPU401 - karta PicoGUS (You need to Login or Register to view media files and links) oparta na mikrokotrolerze RP2040 wykorzystywanym w Raspberry Pi Pico (PicoGUS koniecznie w wersji 2.0 - wersje DYI nie mają złącza Waveblaster) który jest hardwarowym emulatorem - pierwotnie tylko karty Gravis Ultrasound, ale dorobił się również emulacji innych kart dźwiękowych. (ostatnio SB 2.0). Z poziomu linii poleceń można wgrywać odpowiedni firmware z emulacją. Jeden z tych firmware to właśnie interfejs Roland MPU401. Jeszcze się PicoGUSa nie dorobiłem, ale się przymierzam Smiley Póki co korzystam z karty dźwiekowej ALS100 i SoftMPU.

Do przełączania się między trybami modułu brzmieniowego służy programik MT32PI-Control (You need to Login or Register to view media files and links) , który wywołujemy z lini poleceń. Wysyła to komunikty midi SYSEX do modułu brzmieniowego.
Natomiast do włączania trybu Intelligent Mode służy wspomniany przeze mnie wcześniej SoftMPU.

Warto je mieć zawsze pod ręką. Ja poradziłem sobie w taki sposób, że dodałem je do menu Norton Commandera dostępnego pod klawiszem F2.

Uwagi:
1. Moduł jest niewielki (76x38mm), ale jednak może być za długi dla karty dźwiękowej, jeśli jest ona niska a złącze posiada na górze. Przykładowo moja Yamaha OPL3 SA2 (YMF718) jest za niska. Zależy to generalnie od umiejscowienia złącza WaveBlaster na karcie.
2. Raspberry Pi Zero 2 „patrzy” na płytkę PCB karty dźwiękowej. Mógłby więc zawadzać o wystające komponenty. Dlatego wykorzystałem przedłużone gniazdo goldpin (o wysokości 13 mm). Ma to swoje zalety. Komponenty z karty dźwiękowej nie powinny już zawadzać, można również pokusić się o przyklejenie radiatorka na procesor Raspberry PI jeśli ktoś chciałby ją podkręcać (ja nie miałem takiej potrzeby - na stockowych ustawieniach gra świetnie).
Ma to również swoje wady - złącze karty sąsiadującej z kartą dźwiękową jest bezużyteczne Sad
3. Niektóre karty dźwiękowe (np. mój lepszy ALS100) nie trzymają się standardu złącza i zasilanie +5V podłączone zostało tylko do 1 pinu ( w oryginale 3 piny) . Niestety autor rozszerzenia również nie trzyma się standardu i też  postanowił podłączyć zasilanie tylko do 1 pinu - niestety innego niż na mojej karcie Smiley Drutowanie rozwiązało sprawę.
3. Autor przewidział wlutowanie wyświetlacza OLED1306 - na którym można zobaczyć różne komunikaty czy equalizer - jednak ja tego nie zrobiłem. Więcej sensu miałoby wyprowadzenie takiego wyświetlacza na front obudowy, np umiejscowić go na zaślepce 5.25’.
4. Autor przewidział  2 opcje generowania dźwięku - PCM przez piny GPIO RPi, lub przez DAC PCM5102A. Ja zdecydowałem się na DAC, gdyż daje on lepszą jakość dźwięku. W tym przypadku nie korzystamy ze złącza JACK na  DACu, dźwięk (sygnał analogowy) idzie przez złącze Wavetable do karty dźwiękowej.
  

bottom_and_top.jpg ( 352 KB | 15 Downloads )
thickness.jpg ( 124 KB | 8 Downloads )
ALS100.jpg ( 394 KB | 9 Downloads )
CX4237.jpg ( 376 KB | 9 Downloads )
ALS100_2.jpg ( 368 KB | 5 Downloads )
yamaha_opl3sax.jpg ( 385 KB | 5 Downloads )
opl3_sax_too_long.jpg ( 228 KB | 8 Downloads )
blokada_zlacza_isa.jpg ( 282 KB | 15 Downloads )
drutowanie.jpg ( 109 KB | 11 Downloads )


- C64 /1541 II /Pi1541 /SD2IEC /EasyFlash3 /WiC64 /RAD
- SCAMP /286@20 /4MB /CL-GD5422 /CMI8330
- i420EX /486DX33 /16MB /TGUI9440 /GUS+ALS100+MT32Pi
- i430FX /K6-2@400 /64MB /Rage Pro PCI /ES1370+YMF718
- i440BX /P!!!750 /256MB /MX440 /SBLive!+Vibra16s
- iB75 / i5 3470s /4GB /GTX750Ti /ALC662
Back to top
 
IP Logged
 
zyga64
Full Member
***
Offline



Posts: 471
Location: Sulęcin, lubuskie
Joined: 29. Dec 2017
Gender: Male
Re: WavetablePi - czyli MT32 i więcej !
Reply #1 - 03. Apr 2024 at 20:22
 
Reszta zdjęć.
  

multikonfiguracja.jpg ( 123 KB | 10 Downloads )
norton5_menu1.jpg ( 238 KB | 7 Downloads )
norton5_menu2.jpg ( 231 KB | 5 Downloads )
norton5_menu_przyklad.jpg ( 111 KB | 9 Downloads )
tryby_pracy.jpg ( 152 KB | 8 Downloads )
soft_mpu.jpg ( 144 KB | 6 Downloads )


- C64 /1541 II /Pi1541 /SD2IEC /EasyFlash3 /WiC64 /RAD
- SCAMP /286@20 /4MB /CL-GD5422 /CMI8330
- i420EX /486DX33 /16MB /TGUI9440 /GUS+ALS100+MT32Pi
- i430FX /K6-2@400 /64MB /Rage Pro PCI /ES1370+YMF718
- i440BX /P!!!750 /256MB /MX440 /SBLive!+Vibra16s
- iB75 / i5 3470s /4GB /GTX750Ti /ALC662
Back to top
 
IP Logged
 
zyga64
Full Member
***
Offline



Posts: 471
Location: Sulęcin, lubuskie
Joined: 29. Dec 2017
Gender: Male
Re: WavetablePi - czyli MT32 i więcej !
Reply #2 - 03. Apr 2024 at 20:24
 
Ps. Mam 2 moduły na sprzedaż. Cena 165 zł/szt (bez karty SD - może być w zasadzie dowolna).
  


- C64 /1541 II /Pi1541 /SD2IEC /EasyFlash3 /WiC64 /RAD
- SCAMP /286@20 /4MB /CL-GD5422 /CMI8330
- i420EX /486DX33 /16MB /TGUI9440 /GUS+ALS100+MT32Pi
- i430FX /K6-2@400 /64MB /Rage Pro PCI /ES1370+YMF718
- i440BX /P!!!750 /256MB /MX440 /SBLive!+Vibra16s
- iB75 / i5 3470s /4GB /GTX750Ti /ALC662
Back to top
 
IP Logged
 
Jenot
3dfx Friends
*****
Offline


Jenot

Posts: 1784
Location: Chełm
Joined: 15. Jan 2015
Gender: Male
Re: WavetablePi - czyli MT32 i więcej !
Reply #3 - 15. Apr 2024 at 19:22
 
Napisałem PW.
  

ATC-5220, K6-III 400, 512MB RAM, Voodoo3 3000 AGP, GUS MAX 1MB, Terratec EWS64 XL, AWE32 CT2760, 3x40GB HDD, DVD TSSTcorp, FreeDOS, OS/2 Warp 4, Win95 OSR2
Back to top
GTalk  
IP Logged
 
zyga64
Full Member
***
Offline



Posts: 471
Location: Sulęcin, lubuskie
Joined: 29. Dec 2017
Gender: Male
Re: WavetablePi - czyli MT32 i więcej !
Reply #4 - 17. Apr 2024 at 20:11
 
No i się rozeszły.
  


- C64 /1541 II /Pi1541 /SD2IEC /EasyFlash3 /WiC64 /RAD
- SCAMP /286@20 /4MB /CL-GD5422 /CMI8330
- i420EX /486DX33 /16MB /TGUI9440 /GUS+ALS100+MT32Pi
- i430FX /K6-2@400 /64MB /Rage Pro PCI /ES1370+YMF718
- i440BX /P!!!750 /256MB /MX440 /SBLive!+Vibra16s
- iB75 / i5 3470s /4GB /GTX750Ti /ALC662
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send Topic