Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!
Vytvořit web zdarmaNa FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!
Vytvořit web zdarma5.12.2019 Mnoho let jsem se pdil po njak modernj zkladn desce s alespo 1 ISA slotem pro nativn SB zvuk pod DOSem a vyzkouel adu jinch monost. Kdy u jsem si jeden takov industrial MB za tk prachy objednal z Taiwanu, tak jsem zjistil, e na nm nefunguje ISA DMA a tm pdem zvukovka nepehraje samplovan zvuk pes DMA. Po njakm bdn jsem zjistil, e funkn een pece jen existuje a to sice MB Portwell RUBY-9719VG2AR, kter jako jeden z mla pouv jin zpsob pipojen ISA sbrnice skrze LPC2ISA bridge Fintek F85226FG (nikoliv pes polofunkn PCI2ISA bridge). Aby to opravdu fungovalo, musel si Tiido napsat vlastn konfiguran utilitu RUBYISA.EXE, kter sprvn nastav rozsahy I/O port, jen se budou dekdovat na ISA sbrnici. Z dalch debat na VOGONS fru se pak zrodil npad, e by se dal tento LPC2ISA bridge pipojit i k jinm zkladnm deskm pes TPM header, na kterm je vyveden LPC sbrnice. S tm u jsem trochu experimentoval na pedchozm projektu SuperIO expanderu. Naden jsem si objednal tento ip na AliExpressu za 256 K a zaal si pipravovat schma, ale pak na to njak nebyl as...
27.3.2023 jsem zjistil, e m pedbhl Rasteri, kter mezi tm spn dothl do konce svj projekt dISAppointment. Na jeho een se mi ale nelbilo, e deska je zbyten velk a potebuje k napjen cel ATX konektor, co znamen splitter na napjen ze zdroje s tlustm svazkem drt (dal bordel v case). To m motivovalo dothnout do konce svoji verzi. Schma vychz z katalogovho zapojen mstku F85226FG, kter jsem doplnil klasickm SMPS obvodem MC34063, s nm jsme si u kdysi hrli na FELu u Jirska s Krejika. Vysok univerzlnost tohoto obvodu ho umouje zapojit jako step up/down a invertor. Zde vyrb napt -12 V z +5 V, z nj se dle linernm regultorem 79M05 vyrb napt -5 V. Tyto zporn vtve mohou bt poteba pro funkci operanch zesilova na ISA zvukovch kartch, nepedpokldm zde vt proudov odbr ne pr destek mA. Dky tomu mi sta k napjen adaptru obyejn Molex konektor (3,3 V pro napjen bridge se bere pmo z TPM headeru).
4.4.2023 Aby to nebylo tak jednoduch, zapojen TPM headeru nen pln standardn a u rznch vrobc MB se li. Pro sprvnou funkcionalitu ISA DMA je kruciln mt vyveden signl LDRQ# a jak vidte, ten zrovna na TPM headeru Gigabyte chyb. Nkte vrobci MB ho maj na pinu 20. Chipsety intel PCH obvykle poskytuj 2 LDRQ# signly, z nich 1 vede do SuperIO ipu. Ten me vyuvat DMA pro adi disket i LPT port v reimu ECP. Druh LDRQ# signl nemus bt vyveden vbec nebo me bt pouit jako GPIO a nebo je vyveden nkam do rezervy. Natst k MB od Gigabyte jsou hojn dostupn leaknut schmata, z kterch lze zjistit, e zrovna Gigabyte k nm byl milostiv a signl LDRQ1# nm naservroval na docela dobe pstupn (neosazen) odprek pobl PCH ipu. Na pokusn desce Gigabyte GA-P67A-D3-B3 jsem tedy provedl dal drtkov mod a signl dothnul na pin 20 TPM headeru (pvodn SUSCLK jsem odpojil), abych ho ml pipraven. Rasteri prozkoumal jednu levnou nskou desku Machinist X99-PR9, kde po odpjen PCH zjistil, e signly LDRQ# od BGA pad nevedou vbec nikam. Na GitHubu postupn vznik compatability list, kde lze nalzt dal typy MB, na kterch se podailo spn LDRQ# vythnout.
POZOR: na novjch chipsetech intel ady 1xx byl signl LDRQ# odstrann (posledn chipsety, kter ho jet maj, jsou ady H/Z97 a X99) a u chipset ady 5xx pro CPU Rocket Lake (zatek roku 2021) sbrnice LPC zmizela pln a byla nahrazena mn-pinovou sbrnic eSPI (Enhanced Serial Peripheral Interface), take pak je jedinou monost pro zvuk v nativnm DOSu softwarov emulace SBEMU.
11.12.2023 Dokonil jsem PCB layout (velo se mi to na 2-vrstvou desku o rozmrech 55 x 139 mm) a spolu s dalmi ploky jsem zadal vrobu v JLCPB. Zvolil jsem bnou dopravu EuroPacket, tak snad to pijde do Vnoc nebo bhem svtk, abych si ml s m hrt.
layout 3D model PCB JLCPCB objednvka
28.12.2023 Ploky konen dorazily. U 17.12. byly v Lipsk tdrn DHL, ale posledn mle u ns trv nejdle. Bhem veera jsem desku kompletn osadil. Zatm jsem jen otestoval funknost spnanho zdroje, zporn napjec vtve funguj sprvn.
zsilka z JLCPCB PCB z JLCPCB osazen deska LPC2ISA-top osazen deska LPC2ISA-bottom
2.1.2024 Pustil jsem se do testovn na upraven desce GA-P67A-D3-B3. Nejprve jsem si musel vyrobit cca 15cm 20-ilov ploch propojovac kablk s konektory PFL20, kter jsou ale trochu ir ne ern plastov ohrdka TPM headeru na desce, take jsem musel boky ohrdky vytpnout ostrmi kletmi. Do ISA slotu jsem zasunul celkem obyejnou zvukovou kartu ESS AudioDrive ES1869F s 1MB wavetable ROM a pipojil napjec Molex. Deska bez pot nabootovala do DOSu, kde jsem spustil konfiguran utilitu SAPPHISA.EXE bez parametr (s vchozmi okny I/O port, ty mohou bt max. 4). Utilita ohlsila, e spn nala mstek F85226FG a provedla nastaven.
C:\>dos\drivers\sapphisa.exe Malformed args, using defaults Found Intel LPC Controller. Found Fintek F85226FG LPC-ISA Bridge Enabling Range 0 : Base 200, Mask fc, LPC fc0201 Ports : 200-2FF Enabling Range 1 : Base 300, Mask 70, LPC 700301 Ports : 300-303,310-313,320-323,330-333,340-343,350-353,360-363,370-373 Enabling Range 2 : Base 388, Mask 1c, LPC 1c0389 Ports : 380-39F Enabling Range 3 : Base a00, Mask fc, LPC fc0a01 Ports : A00-AFF
Pak jsem zkusil inicializovat zvukovou kartu univerzln utilitou Unisound 0.80a.
C:\DOS\DRIVERS>unisound.exe Universal ISA PnP Sound Card Driver for DOS v0.80a. (c) JazeFox 2019-2022 PnP card found: [ESS1869] ESS ES1869 Plug and Play AudioDrive Loading Unisound default settings... ADD:220 OPL:388 MPU:330 IRQ:5 DMA:1/0 CTR:660 JOY:201 Initialization done. ESS Mixer [VOL:85 WAV:80 FM:80 LIN:0 CD:0 MIC:0 3D:0]
DOSov utilita HWiNFO tak zvukovku vid, ale z Dooma ani jinch program se mi nepodailo vyloudit dn zvuk. A to ani FM syntzu, kter by mly stait jen funkn I/O porty bez IRQ a DMA. Divn je, e originln konfiguran utilita ESSCFG.EXE zvukovku taky nenajde. Pokud na zatku nespustm konfiguraci LPC2ISA bridge, tak zvukovku nenajde ani Unisound ani HWiNFO (patrn ji detekuj pes Plug & Play porty v poslednm I/O okn A00 - AFFh). Pro jistotu jsem zvukovku otestoval ve star desce s nativn ISA a funguje. Tak jsem znovu zkontroloval schma a pinouty bridge a ISA konektoru, prohldl jsem zapjen adaptr pod zvtovkem, ale dnou chybu jsem nenael.
3.1.2024 Tak jsem se posunul trochu dle. Napadlo m strit do ISA slotu msto zvukovky POST kartu, nastavit I/O okno pro port 80h a zkusit tam nco poslat. A vida, na displeji se rozsvtily zapsan hodnoty, take zkladn funkcionalita adresov a datov sbrnice na ISA by mla bt v podku.
C:\DOS\DRIVERS>sapphisa.exe 80 0f Found Intel LPC Controller. Found Fintek F85226FG LPC-ISA Bridge Enabling Range 0 : Base 80, Mask f, LPC f0081 Ports : 80-8F C:\DOS>smb.exe /dbg CMD:> outportb(80, aa) AAh -> port[0080h] CMD:> outportb(80, bb) BBh -> port[0080h]
Pak jsem se znovu podn podval na vpis Unisoundu a viml si, e tam reportuje njak port "CTR:660" (asi dic), kter nen zahrnut ve vchozm nastaven I/O oken utility sapphisa.exe. Zkusil jsem jej tedy pidat msto 4. I/O okna A00-AFFh a po t u originln konfiguran utilita esscfg.exe zvukovku nala a inicializovala (bylo slyet i lupnut ve sluchtkch).
C:\DOS\DRIVERS>sapphisa.exe 200 fc 300 70 388 1c 660 3f Found Intel LPC Controller. Found Fintek F85226FG LPC-ISA Bridge Enabling Range 0 : Base 200, Mask fc, LPC fc0201 Ports : 200-2FF Enabling Range 1 : Base 300, Mask 70, LPC 700301 Ports : 300-303,310-313,320-323,330-333,340-343,350-353,360-363,370-373 Enabling Range 2 : Base 388, Mask 1c, LPC 1c0389 Ports : 380-39F Enabling Range 3 : Base 660, Mask 3f, LPC 3f0661 Ports : 640-67F
Avak te m zas trp njak problm s IRQ. Zkouel jsem inicializace s IRQ 5 a 7, ale nefunguje ani jedno. Sound Blaster Pro Test Program 1.91 hls, e neme najt dn odpovdajc IRQ a v Doomu nehrajou zvuky, ale u aspo hraje hudba pes FM syntzu i MIDI. Pitom DOSov pehrva hudby MPXPlay mi pehrl MP3 bez problm. Pi tomto testu jsem ml v SETUPu vypnut paraleln port, aby nezabral dn IRQ. Ale ve vpisu IRQ HWiNFa jsem zjistil, e se na uvolnn IRQka hned nasraly njak 2 onboard PCI zazen a nevm, jak tomu zabrnit. Novj BIOSy bohuel v SETUPu postrdaj volby pro nastaven Plug & Play, kde bylo mono rezervovat IRQ pro legacy zazen. Po blim zkoumn jsem zjistil, e onboard USB 3.0 adi (PCI device 8086:1C12h) primrn obsad IRQ 5 (pokud je voln) a takt onboard USB 2.0 adi (PCI device 8086:1C26h) obsad IRQ 5 (pokud je voln) a pokud jsou zapnut oba USB adie, pesune se USB 2.0 adi na IRQ 7. Onboard LPT port m vy prioritu piazovn IRQ ne onboard PCI zazen, take vdy dostane IRQ 5 nebo 7 podle explicitn volby v SETUPu. Nap. pi IRQ 5 se USB 2.0 adi pesune na IRQ 3 a USB 3.0 adi na IRQ 7.
POST test zvukovka ES1869F HWiNFO vpis IRQ SBPro Test IRQ 7 SBPro Test IRQ 7 err.
Zd se tedy, e jedin monost je nechat paraleln port zapnut a jeho IRQ sdlet se zvukovkou. Pi nastaven na LPT2 s IRQ5 zvukovku zhadn nenajde ani HWiNFO ani Unisound ani ESSCFG. Pi nastaven na LPT1 s IRQ7 se zvukovka na IRQ 7 inicializuje sprvn (t jsem upravil promnnou prosted BLASTER), ale Sound Blaster Pro Test si pod stuje, e nenael IRQ i kdy spustm run nastaven a vyberu IRQ 7. Nicmn Doom po runm nastaven game setupu zaal hrt i SFX, take fakticky sdlen IRQ 7 funguje, akort to psob problm nkterm programm pi autodetekci zvukovky. Nap. demo Boost, kter pouv zvukovou knihovnu MIDAS 1.1.1, takzvukovku nenajde. Pak jsem zjistil, e lze pi sputn s parametrem -m vyvolat konfiguran menu a po runm nastaven SB Pro s IRQ 7 demo zane hrt. Bohuel ne kad program umouje manuln konfiguraci, jako teba DOSov ZDoom, tam jsem na dn takov parametr nepiel. UPDATE: knihovna MIDAS se d promnnou prosted BLASTER, jen jsem ji patn nastavoval. Pemlm, jestli by pomohlo po bootu paraleln port v SuperIO i jeho IRQ njak deaktivovat, aby zstalo vyhrazen jen pro zvukovku, ale zatm nevm jak...
8.1.2024 Vyzkouel jsem pr npad. Naped jsem se podval do IVT na vektor peruen INT 0Fh - IRQ 7, jestli se njak mn jeho hodnota je-li LPT zapnut nebo vypnut, ale je tam pod stejn adresa 0070:0465h (DOS, IRET), co je asi njak defaultn printer handler DOSu. Pokud ten vektor pepu na 0:0, tak Sound Blaster Pro Test pi detekci IRQ zamrzne. Dle jsem zkoumal 2 hodnoty v BDA (BIOS Data Area), kde na adrese 0040:0008h je word s bzovou adresou LPT a na adrese 0040:0011h v bitech 7:6 je poet LPT port. Se zapnutm LPT tam byla dle oekvn bzov adresa 378h a poet port 1. Zkusil jsem tedy tyto hodnoty vynulovat. HWiNFO pestalo vypisovat LPT port v seznamu periferi, ale jinak se nic nezmnilo. Zkouel jsem spustit jet njakou intel ICU (ISA Configuration Utility), ale ta zfailovala s chybou "An internal error has caused incorrect number of System Device Nodes in NVS".
Abych se ujistil, e Sound Blaster Pro Test funguje sprvn a nehled nhodou pes Plug & Play, co je u programu z roku 1992 velmi nepravdpodobn, spustil jsem ho na star 386 desce bez LPT portu (a pochopiteln bez PnP, ESCD a pod. novot). Konfiguran utilita esscfg.exe zvukovku nala a inicializovala na IRQ 7 a Sound Blaster Pro Test toto IRQ sprvn detekoval a pehrl vechny testovac zvuky.
Nakonec dolo na npad deaktivovat cel LPT port v SuperIO ITE IT8728F v CR 30h logickho zazen 3 (LPT) zpisem 0 do bitu 0, viz datasheet na stran 59. Zpis do registr SuperIO nen pln triviln, ale kamard Ruik mi pomohl a peportoval linuxov utility ISADUMP a ISASET pro DOS/DJGPP. Vynulovn onoho registru se provede nsledujc sekvenc pkaz (pedpokld se, e SuperIO komunikuje pes I/O registry 2Eh - index a 2Fh - data):
# konfiguran kl: isaset.exe -f 0x2e 0x87 isaset.exe -f 0x2e 0x01 isaset.exe -f 0x2e 0x55 isaset.exe -f 0x2e 0x55 # volba logickho zazen . 3 (LPT) isaset.exe 0x2e 0x2f 0x07 0x03 # vynulovn CR 30h isaset.exe 0x2e 0x2f 0x30 0x00 # vpis vech registr logickho zazen . 3 pro kontrolu isadump.exe -k 0x87,0x01,0x55,0x55 0x2e 0x2f 3
Po t HWiNFO pestalo vypisovat LPT port v seznamu periferi a tak ve vpisu peruen bylo IRQ 7 oznaeno jako voln. Pak jsem zinicializoval LPC2ISA bridge a zvukovku, ale Sound Blaster Pro Test pod nenael IRQ 7. Programy pouvajc knihovnu MIDAS (nap. dema Boost a Dream a DOSov ZDoom) se sprvn nastavenou promnnou prosted BLASTER fungovaly bez ohledu na to, jestli jsem LPT port deaktivoval nebo ne. Zde jsem narychlo natoil jedno mizern video na mobil jak to funguje.
14.1.2024 Obas se mi zhadn stalo (teba pi 1 z 20 boot), e Sound Blaster Pro Test najednou sprvn detekoval IRQ 7, ale nebyl jsem nikdy schopen tento stav njak konzistentn navodit znovu. Zkusil jsem pipojit SATA HDD a bootovat z nj DOS msto z USB flashky, abych mohl kompletn deaktivovat onboard USB adie i LPT port a tm uvolnil IRQ 5 a 7. Bohuel ani tak Sound Blaster Pro Test ve vtin ppad IRQ 7 nedetekoval, pouze asi ve 2 nhodnch ppadech. Zkusil jsem tedy nastaven ESSCFG zmnit na IRQ 5 a najednou Sound Blaster Pro Test spolehliv detekoval zvukovku pi kadm bootu. Abych zabrnil obsazen IRQ 5 onboard USB adii, zapnul jsem LPT port s volbou IRQ 5 (jako LPT2 na 278h). Pak bylo nutn po bootu do DOSu LPT port deaktivovat ve uvedenm zpsobem, jinak ESSCFG ani Unisound zvukovku nenael. S tmto nastavenm zstal Sound Blaster Pro Test funkn a tak pr dalch program, kter mly pedtm problm s IRQ 7, zaalo s IRQ 5 fungovat. To povauju za uspokojiv vsledek. Jedin potenciln problm by mohl bt s njakmi programy, kter pouvaj natvrdo adresu LPT1, pak bych holt musel zmnit nastaven LPT v SETUPu nebo zkusit v SuperIO penastavit bzovou adresu LPT za bhu.
Pozdji jsem objevil novj OpenSource testovac utilitu SBDIAG, kter je soust projektu 8-bitov OpenHW zvukovky Snark Barker. Do n bych si mohl pidat njak ladic vpisy pi hledn problmu s IRQ 5. Pro zajmavost jsem na osciloskopu zachytil prbh signlu LDRQ# pi pehrvn testovacho zvuku (v klidu m signl rove log. 1, negativn puls je irok cca 90 ns - 3 hodinov takty LPC sbrnice).
LDRQ pulses LDRQ pulse-zoom
27.1.2024 Uivatel dartfrog na VOGONS fru objevil, e existuj mstky z nov sbrnice eSPI na LPC, nap. Microchip ECE1200 a Fintek F85227N. Nkte vrobci prmyslovch a embedded zkladnch desek (nap. Arbor, DFI a iEi) je pouvaj pro pipojen LPC SuperIO ip, aby mohli nabdnout klasick sriov porty. Take by mohlo bt mon mstky zetzit a zskat ISA slot. Avak je tu opt problm s ISA DMA, resp. LDRQ#. V datasheetu ECE1200 se pmo pe, e DMA nepodporuje a datasheet k F85227 jsem zatm nenael.I tak je otzka, jestli legacy DMA transakce pes eSPI bude podporovat PCH chipset.V intel eSPI specifikaci 1.0 je na str. 13 explicitn napsno, e 8237 DMA nepodporuje i kdy podporuje bus mastering. Tak se objevil nov mstek z PCI Express 1.1 na ISA Fintek F85526, ale v jeho popisu je uvedeno, e pro ISA DMA pouv LPC interface, tedy zejm opt LDRQ#, take to problm nee.
Na platformch AMD se socketem AM3(+) byla LPC sbrnice integrovan v southbridge, v APU ped architekturou Zen v FCH (Fusion Controller Hub) a na AM4/SP4 se pesunula pmo do CPU/APU (s celm FCH) a koexistuje s eSPI. Bohuel na AM5/SP5 byla LPC odstranna a zbylo jen eSPI. Nkter MB s AM5, jako nap. Asrock Taichi X670E, vyuvaj t zmnn eSPI2LPC bridge F85227N pro pipojen hned 2 LPC SuperIO ip NCT6796D-S a NCT6686D, co je zajmav, kdy oba maj i eSPI (na eSPI je mono pipojit vce slave zazen pomoc vce SS# signl). Deska pitom jejich potencil moc nevyuv, nebo nenabz dn COM ani LPT port, take ani legacy DMA nepotebuje.
18.4.2025 Uivatel dartfrog na VOGONS fru objevil, e na zkladn desce Gigabyte Z390 Aorus existuje fyzick propojen mezi LDRQ# pinem SuperIO ipu IT8688E a pinem GPP_A7/PIRQA#/GSPI0_CS1# PCH chipsetu Z390, pestoe podle oficiln dokumentace PCH nezmiuje dnou LDRQ# funkcionalitu na tomto pinu nebo ktermkoliv jinm pinu. Me snad chipset v sob skrvat njakou nedokumentovanou funkcionalitu? Dalm zkoumnm zjistil, e chipset zejm m njak legacy DMA IO porty, kter obsahuj neprzdn hodnoty a dokonce lze do nkterch bit zapisovat tak, e svou hodnotu dr. Avak nechovaj se tak, jak by u funknho legacy DMA mly. Je otzka, jestli je to jen njak nefunkn pozstatek, kter intel v chipsetu zanechal (snad kvli zptn kompatabilit) nebo bylo v plnu implementovat funkcionalitu legacy DMA softwarov pomoc SMI handleru?
24.4.2025 Dartfrog se pustil do nvrhu vlastnho PCI2ISA adaptru s mstkem ITE IT8888F, kter implementuje slave DDMA (Distributed DMA), alternativu k legacy DMA. Problm je, e v novjch chipsetech chyb DDMA master st. Dartfrog nejprve nadrtoval prototyp na univerzln desce s interposerem pro QFP ip a pak udlal i plok. Bohuel na nm prohodil strany A, B u ISA konektoru a odprsknul PicoGUS, kter tam zastril. To se d ale opravit pepjenm ISA slotu na druhou stranu desky. Objednal si nov PicoGUS, ale software mu ho nedetekuje. Ale kdy na ISA POST kartu prochz, take je asi patn nakonfigurovan I/O routovn v chipsetu (I/O pstupy jsou smrovny na LPC bridge msto na IT8888 bridge).
5.12.2025 Mezitm si uivatel KYA pohrl se svou industrial CPU kartou iBase IB945F (se southbridge ICH10) a PICMG backplanem osazenm ISA sloty a mstkem IT8888G. Tento southbridge ji nem implementovan DDMA master, ale podailo se mu na zklad projektu SBEMU napsat program VDMA - DDMA master emultor, kter stejn jako SBEMU vyuv zachytvn I/O port a peposl pkazy slave DDMA bloku v IT8888 bridge. Podailo se mu tak rozbhnout adu her, ale jsou zde stejn omezen jako v ppad SBEMU, tedy je poteba loadnut JEMM386 s modulem QPIEMU (CPU ve V86 reimu) a DPMI host, s m maj nkter hry problm. Proti pln emulaci pes SBEMU lze oekvat men vyten CPU a teba o nco lep latence...