VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1520 of 1724, by DarthSun

User metadata
Rank Member
Rank
Member

@wtfrules
interrupt line=10 - The dos titles are irq10, they don't make much sound, 5 or 7 should be.

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.

Reply 1521 of 1724, by wtfrules

User metadata
Rank Newbie
Rank
Newbie
tauro wrote on 2024-08-15, 03:25:
wtfrules wrote on 2024-08-15, 01:35:
Hello Everyone! […]
Show full quote

Hello Everyone!

I landed here trying to give some use to my lovely HP NX6320 laptop, which is perfect (for me) for playing (again) again DOS games. And can´t believe how crazy this SBEMU project is, thanks all for your hard work!

OK, going to business, this thing is driving me nuts. Sound don´t work on DOS.

The Sound Hardware is Intel ICH7 with Chipset NH82801GBM with AD1981HD. When running SBEMU it detects it as "Intel HDA" fine, ths speakers makes some "click" noise, and that´s it, I tried the VOL9 option with no joy, and option O1 or O2 to route to the speaker or headphone without any results. Quake when SBEMU is loaded, detects the hardware but no sound at all.
I tried with Win98 DOS and FREEDOS, same sad results. But the same HDD used for testing in my Intel CORE i5 3rd GEN works perfectly... but not in the vintage laptop.

I´m copying HDASTATS before and after running SBEMU. If anything else is needed, please don´t hesitate to ask me to get it for you to help me solve this out.

Thank y'all!

BEFORE SBEMU is loaded:

HD Audio device (class=0x040300) found at bus/device/function=0/27/0:
vendor=0x8086, device=0x27d8
CMD=0x6 ([0]=IOSE,[1]=MSE (Memory Space Enable),[2]=BME (Bus Master Enable)
capabilities ID=0x1 (Power Management)
capabilities ID=0x5 (MSI)
capabilities ID=0x10 (PCIe)
interrupt line=10

HDA Base Address=0xe8580000
+0 Global Capabilities=0x4401
#input streams=4, #output streams=4, #bidirect. streams=0, #SDO=0 (0=1,1=2,2=4)
+2 Version=1.0
+4 Output Payload Cap=60 (=960 bits/frame)
+6 Input Payload Cap=29
+8 GCTL - Global Control=0x1 ([0] 0=in reset)
+12 WAKEEN - Wake Enable=0x0
+14 STATESTS - State Change Status=0x3
+16 GSTS - Global Status=0x0
+32 INTCTL - Interrupt Control=0x0
+36 INTSTS - Interrupt Status=0x0
+48 WALCLK - Wall Clock Counter=0x37e39642
+56 SSYNC - Stream Synchronization=0x0
+64 CORB base address=0x3515800
+72 CORB WP=0x3, RP=0x3
+76 CORB control=0x0 ([1] 0=DMA Stop, 1=DMA Run)
+78 CORB size=0x42 ([7:4] size cap [bitmask],[1:0] size [0=2,1=16,2=256,3=rsvd])
+80 RIRB base address=0x3515000
+88 RIRB WP=0x3, RIC=0x1
+92 RIRB control=0x0 ([1] 0=DMA Stop, 1=DMA Run)
+94 RIRB size=0x42 ([7:4] size cap [bitmask],[1:0] size [0=2,1=16,2=256,3=rsvd])
DMA position base address=0x0
ISD0 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD0 status=0x0
ISD0 link position in buffer=0x0
ISD0 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD0 last valid index=0x0 (no of entries in BDL-1)
ISD0 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD0 FIFO size=119 (bytes-1)
ISD0 format=0x0 (base rate=48000, bits=8, channels=1)
ISD0 buffer description list base address=0x0
ISD1 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD1 status=0x0
ISD1 link position in buffer=0x0
ISD1 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD1 last valid index=0x0 (no of entries in BDL-1)
ISD1 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD1 FIFO size=119 (bytes-1)
ISD1 format=0x0 (base rate=48000, bits=8, channels=1)
ISD1 buffer description list base address=0x0
ISD2 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD2 status=0x0
ISD2 link position in buffer=0x0
ISD2 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD2 last valid index=0x0 (no of entries in BDL-1)
ISD2 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD2 FIFO size=119 (bytes-1)
ISD2 format=0x0 (base rate=48000, bits=8, channels=1)
ISD2 buffer description list base address=0x0
ISD3 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD3 status=0x0
ISD3 link position in buffer=0x0
ISD3 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD3 last valid index=0x0 (no of entries in BDL-1)
ISD3 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD3 FIFO size=119 (bytes-1)
ISD3 format=0x0 (base rate=48000, bits=8, channels=1)
ISD3 buffer description list base address=0x0
OSD0 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD0 status=0x0
OSD0 link position in buffer=0x0
OSD0 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
OSD0 last valid index=0x0 (no of entries in BDL-1)
OSD0 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD0 FIFO size=191 (bytes-1)
OSD0 format=0x0 (base rate=48000, bits=8, channels=1)
OSD0 buffer description list base address=0x0
OSD1 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD1 status=0x0
OSD1 link position in buffer=0x0
OSD1 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
OSD1 last valid index=0x0 (no of entries in BDL-1)
OSD1 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD1 FIFO size=191 (bytes-1)
OSD1 format=0x0 (base rate=48000, bits=8, channels=1)
OSD1 buffer description list base address=0x0
OSD2 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD2 status=0x0
OSD2 link position in buffer=0x0
OSD2 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
OSD2 last valid index=0x0 (no of entries in BDL-1)
OSD2 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD2 FIFO size=191 (bytes-1)
OSD2 format=0x0 (base rate=48000, bits=8, channels=1)
OSD2 buffer description list base address=0x0
OSD3 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD3 status=0x0
OSD3 link position in buffer=0x0
OSD3 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
OSD3 last valid index=0x0 (no of entries in BDL-1)
OSD3 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD3 FIFO size=191 (bytes-1)
OSD3 format=0x0 (base rate=48000, bits=8, channels=1)
OSD3 buffer description list base address=0x0

codec/node/cmd/param: value
-----------------------------------------------
0/ 0/0F00/0 - vendor/device: 0x11d4/0x1981
0/ 0/0F00/4 - node count: 0x10001 (start node=1, no of nodes=1)
0/ 1/0F00/5 - function group type: 0x1 ([6:0]=type [afg=1])
0/ 1/0F00/10 - supported PCM rates: 0xe007f
0/ 1/0F05/0 - power state control=0x0
0/ 1/0F00/4 - node count: 0x2001e (start node=2, no of nodes=30)

audio output ( type 0 )

0/ 2/0F00/9 - widget cap.: 0x30311 ([1]=inp amp, [2]=out amp, digital=1, chnl cnt-1=1)
0/ 2/0F00/10 - supported PCM rates: 0x20060
0/ 2/0F00/14 - connection list length: 2
0/ 2/0F02/00 - get entries in connection list: 1 4 0 0
0/ 2/0F01/0 - currently selected connection: 0
0/ 2/0F03/0 - processing state: 0x0
0/ 2/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
0/ 2/000A/0 - converter format: 0x0 (rate=48000, bits=8, channels=1)
0/ 2/0F2D/0 - converter channel count: 0x0
0/ 3/0F00/9 - widget cap.: 0x441 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 3/0F00/10 - supported PCM rates: 0xe007f
0/ 3/0F05/0 - power state control=0x0
0/ 3/0F03/0 - processing state: 0x0
0/ 3/0F06/0 - link stream/channel: 0x10 (stream=1, channel=0)
0/ 3/000A/0 - converter format: 0x4011 (rate=44100, bits=16, channels=2)
0/ 3/0F2D/0 - converter channel count: 0x0

audio input ( type 1 )

0/ 4/0F00/9 - widget cap.: 0x100511 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 4/0F00/10 - supported PCM rates: 0x6007f
0/ 4/0F00/14 - connection list length: 1
0/ 4/0F02/00 - get entries in connection list: 21 0 0 0
0/ 4/0F05/0 - power state control=0x0
0/ 4/0F03/0 - processing state: 0x0
0/ 4/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
0/ 4/000A/0 - converter format: 0x0 (rate=48000, bits=8, channels=1)

audio mixer ( type 2 )

0/ 12/0F00/9 - widget cap.: 0x200101 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 12/0F00/14 - connection list length: 2
0/ 12/0F02/00 - get entries in connection list: 30 31 0 0
0/ 14/0F00/9 - widget cap.: 0x200101 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 14/0F00/14 - connection list length: 8
0/ 14/0F02/00 - get entries in connection list: 13 17 18 19 26 27 28 29
0/ 15/0F00/9 - widget cap.: 0x200100 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 15/0F00/14 - connection list length: 1
0/ 15/0F02/00 - get entries in connection list: 11 0 0 0

audio selector ( type 3 )

0/ 11/0F00/9 - widget cap.: 0x300101 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 11/0F00/14 - connection list length: 6
0/ 11/0F02/00 - get entries in connection list: 3 12 9 14 5 24 0 0
0/ 11/0F01/0 - currently selected connection: 0
0/ 13/0F00/9 - widget cap.: 0x30010c ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 13/0F00/18 - output amplifier details: 0x800b0f0f
0/ 13/000B/8000 - amplifier gain/mute: 0xf ([7] mute, [6:0] gain)
0/ 13/0F00/14 - connection list length: 2
0/ 13/0F02/00 - get entries in connection list: 16 22 0 0
0/ 13/0F01/0 - currently selected connection: 1
0/ 17/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 17/0F00/18 - output amplifier details: 0x80051f17
0/ 17/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 17/0F00/14 - connection list length: 1
0/ 17/0F02/00 - get entries in connection list: 3 0 0 0
0/ 18/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 18/0F00/18 - output amplifier details: 0x80051f17
0/ 18/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 18/0F00/14 - connection list length: 1
0/ 18/0F02/00 - get entries in connection list: 8 0 0 0
0/ 19/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 19/0F00/18 - output amplifier details: 0x80051f17
0/ 19/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 19/0F00/14 - connection list length: 1
0/ 19/0F02/00 - get entries in connection list: 9 0 0 0
0/ 21/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 21/0F00/18 - output amplifier details: 0x80050f00
0/ 21/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
0/ 21/0F00/14 - connection list length: 8
0/ 21/0F02/00 - get entries in connection list: 12 9 14 15 25 5 24 23
0/ 21/0F01/0 - currently selected connection: 0
0/ 26/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 26/0F00/18 - output amplifier details: 0x80051f17
0/ 26/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 26/0F00/14 - connection list length: 1
0/ 26/0F02/00 - get entries in connection list: 5 0 0 0
0/ 27/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 27/0F00/18 - output amplifier details: 0x80051f17
0/ 27/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 27/0F00/14 - connection list length: 1
0/ 27/0F02/00 - get entries in connection list: 23 0 0 0
0/ 28/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 28/0F00/18 - output amplifier details: 0x80051f17
0/ 28/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 28/0F00/14 - connection list length: 1
0/ 28/0F02/00 - get entries in connection list: 24 0 0 0
0/ 29/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 29/0F00/18 - output amplifier details: 0x80051f17
0/ 29/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 29/0F00/14 - connection list length: 1
0/ 29/0F02/00 - get entries in connection list: 25 0 0 0
0/ 30/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 30/0F00/18 - output amplifier details: 0x80000000
0/ 30/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
0/ 30/0F00/14 - connection list length: 1
0/ 30/0F02/00 - get entries in connection list: 8 0 0 0
0/ 31/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 31/0F00/18 - output amplifier details: 0x80000000
0/ 31/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
0/ 31/0F00/14 - connection list length: 1
0/ 31/0F02/00 - get entries in connection list: 24 0 0 0

pin complex ( type 4 )

0/ 5/0F00/9 - widget cap.: 0x400187 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 5/0F00/12 - PIN capabilities: 0x1173f (presence detect cap.=1, output cap.=1)
0/ 5/0F00/13 - input amplifier details: 0x270300
0/ 5/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
0/ 5/0F00/18 - output amplifier details: 0x80053f3d
0/ 5/000B/8000 - amplifier gain/mute: 0x3d ([7] mute, [6:0] gain)
0/ 5/0F00/14 - connection list length: 2
0/ 5/0F02/00 - get entries in connection list: 3 14 0 0
0/ 5/0F01/0 - currently selected connection: 1
0/ 5/0F07/0 - pin widget control: 0x40 - Out enable
0/ 5/0F1C/0 - configuration default: 0x92174110
port connectivity=2,location=0x12 (???), def. device=Speaker, conn type=Other Analog, color=green
0/ 6/0F00/9 - widget cap.: 0x400185 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 6/0F00/12 - PIN capabilities: 0x1f (presence detect cap.=1, output cap.=1)
0/ 6/0F00/18 - output amplifier details: 0x80053f3d
0/ 6/000B/8000 - amplifier gain/mute: 0x3d ([7] mute, [6:0] gain)
0/ 6/0F00/14 - connection list length: 2
0/ 6/0F02/00 - get entries in connection list: 3 14 0 0
0/ 6/0F01/0 - currently selected connection: 1
0/ 6/0F07/0 - pin widget control: 0x40 - Out enable
0/ 6/0F1C/0 - configuration default: 0x321201f
port connectivity=0,location=0x3 (Left), def. device=HP Out, conn type=1/8" stereo/mono, color=grey
0/ 7/0F00/9 - widget cap.: 0x400104 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 7/0F00/12 - PIN capabilities: 0x10 (presence detect cap.=0, output cap.=1)
0/ 7/0F00/18 - output amplifier details: 0x80053f3d
0/ 7/000B/8000 - amplifier gain/mute: 0xbf ([7] mute, [6:0] gain)
0/ 7/0F00/14 - connection list length: 1
0/ 7/0F02/00 - get entries in connection list: 15 0 0 0
0/ 7/0F07/0 - pin widget control: 0x40 - Out enable
0/ 7/0F1C/0 - configuration default: 0x410710f0
port connectivity=1,location=0x1 (Rear panel), def. device=Line Out, conn type=Other Analog, color=black
0/ 8/0F00/9 - widget cap.: 0x400083 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 8/0F00/12 - PIN capabilities: 0x1727 (presence detect cap.=1, output cap.=0)
0/ 8/0F00/13 - input amplifier details: 0x270300
0/ 8/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
0/ 8/0F07/0 - pin widget control: 0x20 - In enable
0/ 8/0F1C/0 - configuration default: 0x3a12020
port connectivity=0,location=0x3 (Left), def. device=Mic In, conn type=1/8" stereo/mono, color=grey
0/ 9/0F00/9 - widget cap.: 0x400187 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 9/0F00/12 - PIN capabilities: 0x1737 (presence detect cap.=1, output cap.=1)
0/ 9/0F00/13 - input amplifier details: 0x270300
0/ 9/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
0/ 9/0F00/18 - output amplifier details: 0x80053f3d
0/ 9/000B/8000 - amplifier gain/mute: 0xbf ([7] mute, [6:0] gain)
0/ 9/0F00/14 - connection list length: 2
0/ 9/0F02/00 - get entries in connection list: 3 14 0 0
0/ 9/0F01/0 - currently selected connection: 0
0/ 9/0F07/0 - pin widget control: 0x20 - In enable
0/ 9/0F1C/0 - configuration default: 0x181302e
port connectivity=0,location=0x1 (Rear panel), def. device=Line In, conn type=1/8" stereo/mono, color=blue
0/ 10/0F00/9 - widget cap.: 0x400301 ([1]=inp amp, [2]=out amp, digital=1, chnl cnt-1=1)
0/ 10/0F00/12 - PIN capabilities: 0x10 (presence detect cap.=0, output cap.=1)
0/ 10/0F00/14 - connection list length: 1
0/ 10/0F02/00 - get entries in connection list: 2 0 0 0
0/ 10/0F07/0 - pin widget control: 0x40 - Out enable
0/ 10/0F1C/0 - configuration default: 0x4145f0f0
port connectivity=1,location=0x1 (Rear panel), def. device=SPDIF Out, conn type=Optical, color=other
0/ 22/0F00/9 - widget cap.: 0x400000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 22/0F00/12 - PIN capabilities: 0x20 (presence detect cap.=0, output cap.=0)
0/ 22/0F07/0 - pin widget control: 0x20 - In enable
0/ 22/0F1C/0 - configuration default: 0x995711f0
port connectivity=2,location=0x19 (???), def. device=Digital Other Out, conn type=Other Analog, color=black
0/ 23/0F00/9 - widget cap.: 0x400081 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 23/0F00/12 - PIN capabilities: 0x27 (presence detect cap.=1, output cap.=0)
0/ 23/0F07/0 - pin widget control: 0x20 - In enable
0/ 23/0F1C/0 - configuration default: 0x5993e0f0
port connectivity=1,location=0x19 (???), def. device=AUX, conn type=ATAPI internal, color=white
0/ 24/0F00/9 - widget cap.: 0x400187 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 24/0F00/12 - PIN capabilities: 0x1737 (presence detect cap.=1, output cap.=1)
0/ 24/0F00/13 - input amplifier details: 0x270300
0/ 24/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
0/ 24/0F00/18 - output amplifier details: 0x80053f3d
0/ 24/000B/8000 - amplifier gain/mute: 0xbf ([7] mute, [6:0] gain)
0/ 24/0F00/14 - connection list length: 2
0/ 24/0F02/00 - get entries in connection list: 3 14 0 0
0/ 24/0F01/0 - currently selected connection: 0
0/ 24/0F07/0 - pin widget control: 0x20 - In enable
0/ 24/0F1C/0 - configuration default: 0x91a79121
port connectivity=2,location=0x11 (???), def. device=Mic In, conn type=Other Analog, color=pink
0/ 25/0F00/9 - widget cap.: 0x400001 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 25/0F00/12 - PIN capabilities: 0x20 (presence detect cap.=0, output cap.=0)
0/ 25/0F07/0 - pin widget control: 0x20 - In enable
0/ 25/0F1C/0 - configuration default: 0x593310f0
port connectivity=1,location=0x19 (???), def. device=CD, conn type=ATAPI internal, color=black

power widget ( type 5 )

0/ 20/0F00/9 - widget cap.: 0x500500 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 20/0F00/14 - connection list length: 6
0/ 20/0F02/00 - get entries in connection list: 13 14 144 19 154 29 0 0
0/ 20/0F05/0 - power state control=0x0

beep generator ( type 7 )

0/ 16/0F00/9 - widget cap.: 0x700000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)

codec/node/cmd/param: value
-----------------------------------------------
1/ 0/0F00/0 - vendor/device: 0x11c1/0x3026
1/ 0/0F00/4 - node count: 0x10001 (start node=1, no of nodes=1)
1/ 1/0F00/5 - function group type: 0x102 ([6:0]=type [afg=1])

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

AFTER SBEMU IS LOADED:

HD Audio device (class=0x040300) found at bus/device/function=0/27/0:
vendor=0x8086, device=0x27d8
CMD=0x6 ([0]=IOSE,[1]=MSE (Memory Space Enable),[2]=BME (Bus Master Enable)
capabilities ID=0x1 (Power Management)
capabilities ID=0x5 (MSI)
capabilities ID=0x10 (PCIe)
interrupt line=10

HDA Base Address=0xe8580000
+0 Global Capabilities=0x4401
#input streams=4, #output streams=4, #bidirect. streams=0, #SDO=0 (0=1,1=2,2=4)
+2 Version=1.0
+4 Output Payload Cap=60 (=960 bits/frame)
+6 Input Payload Cap=29
+8 GCTL - Global Control=0x1 ([0] 0=in reset)
+12 WAKEEN - Wake Enable=0x0
+14 STATESTS - State Change Status=0x0
+16 GSTS - Global Status=0x0
+32 INTCTL - Interrupt Control=0xc0000010
+36 INTSTS - Interrupt Status=0x80000010
+48 WALCLK - Wall Clock Counter=0x14af15d3
+56 SSYNC - Stream Synchronization=0x0
+64 CORB base address=0x3691000
+72 CORB WP=0xd2, RP=0xd2
+76 CORB control=0x2 ([1] 0=DMA Stop, 1=DMA Run)
+78 CORB size=0x42 ([7:4] size cap [bitmask],[1:0] size [0=2,1=16,2=256,3=rsvd])
+80 RIRB base address=0x3691400
+88 RIRB WP=0xd2, RIC=0x1
+92 RIRB control=0x0 ([1] 0=DMA Stop, 1=DMA Run)
+94 RIRB size=0x42 ([7:4] size cap [bitmask],[1:0] size [0=2,1=16,2=256,3=rsvd])
DMA position base address=0x0
ISD0 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD0 status=0x0
ISD0 link position in buffer=0x0
ISD0 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD0 last valid index=0x0 (no of entries in BDL-1)
ISD0 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD0 FIFO size=119 (bytes-1)
ISD0 format=0x0 (base rate=48000, bits=8, channels=1)
ISD0 buffer description list base address=0x0
ISD1 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD1 status=0x0
ISD1 link position in buffer=0x0
ISD1 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD1 last valid index=0x0 (no of entries in BDL-1)
ISD1 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD1 FIFO size=119 (bytes-1)
ISD1 format=0x0 (base rate=48000, bits=8, channels=1)
ISD1 buffer description list base address=0x0
ISD2 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD2 status=0x0
ISD2 link position in buffer=0x0
ISD2 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD2 last valid index=0x0 (no of entries in BDL-1)
ISD2 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD2 FIFO size=119 (bytes-1)
ISD2 format=0x0 (base rate=48000, bits=8, channels=1)
ISD2 buffer description list base address=0x0
ISD3 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
ISD3 status=0x0
ISD3 link position in buffer=0x0
ISD3 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
ISD3 last valid index=0x0 (no of entries in BDL-1)
ISD3 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
ISD3 FIFO size=119 (bytes-1)
ISD3 format=0x0 (base rate=48000, bits=8, channels=1)
ISD3 buffer description list base address=0x0
OSD0 control=0x140006 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD0 status=0x20
OSD0 link position in buffer=0x508
OSD0 cyclic buffer length=0x800 (size in bytes of complete cyclic buffer)
OSD0 last valid index=0x3 (no of entries in BDL-1)
OSD0 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD0 FIFO size=191 (bytes-1)
OSD0 format=0x4111 (base rate=22050, bits=16, channels=2)
OSD0 buffer description list base address=0x368f000
OSD1 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD1 status=0x0
OSD1 link position in buffer=0x0
OSD1 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
OSD1 last valid index=0x0 (no of entries in BDL-1)
OSD1 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD1 FIFO size=191 (bytes-1)
OSD1 format=0x0 (base rate=48000, bits=8, channels=1)
OSD1 buffer description list base address=0x0
OSD2 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD2 status=0x0
OSD2 link position in buffer=0x0
OSD2 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
OSD2 last valid index=0x0 (no of entries in BDL-1)
OSD2 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD2 FIFO size=191 (bytes-1)
OSD2 format=0x0 (base rate=48000, bits=8, channels=1)
OSD2 buffer description list base address=0x0
OSD3 control=0x40000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD3 status=0x0
OSD3 link position in buffer=0x0
OSD3 cyclic buffer length=0x0 (size in bytes of complete cyclic buffer)
OSD3 last valid index=0x0 (no of entries in BDL-1)
OSD3 FIFO watermark=4 ([2:0] 2=8, 3=16, 4=32)
OSD3 FIFO size=191 (bytes-1)
OSD3 format=0x0 (base rate=48000, bits=8, channels=1)
OSD3 buffer description list base address=0x0

codec/node/cmd/param: value
-----------------------------------------------
0/ 0/0F00/0 - vendor/device: 0x11d4/0x1981
0/ 0/0F00/4 - node count: 0x10001 (start node=1, no of nodes=1)
0/ 1/0F00/5 - function group type: 0x1 ([6:0]=type [afg=1])
0/ 1/0F00/10 - supported PCM rates: 0xe007f
0/ 1/0F05/0 - power state control=0x0
0/ 1/0F00/4 - node count: 0x2001e (start node=2, no of nodes=30)

audio output ( type 0 )

0/ 2/0F00/9 - widget cap.: 0x30311 ([1]=inp amp, [2]=out amp, digital=1, chnl cnt-1=1)
0/ 2/0F00/10 - supported PCM rates: 0x20060
0/ 2/0F00/14 - connection list length: 2
0/ 2/0F02/00 - get entries in connection list: 1 4 0 0
0/ 2/0F01/0 - currently selected connection: 0
0/ 2/0F03/0 - processing state: 0x0
0/ 2/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
0/ 2/000A/0 - converter format: 0x0 (rate=48000, bits=8, channels=1)
0/ 2/0F2D/0 - converter channel count: 0x0
0/ 3/0F00/9 - widget cap.: 0x441 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 3/0F00/10 - supported PCM rates: 0xe007f
0/ 3/0F05/0 - power state control=0x0
0/ 3/0F03/0 - processing state: 0x0
0/ 3/0F06/0 - link stream/channel: 0x10 (stream=1, channel=0)
0/ 3/000A/0 - converter format: 0x4111 (rate=22050, bits=16, channels=2)
0/ 3/0F2D/0 - converter channel count: 0x0

audio input ( type 1 )

0/ 4/0F00/9 - widget cap.: 0x100511 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 4/0F00/10 - supported PCM rates: 0x6007f
0/ 4/0F00/14 - connection list length: 1
0/ 4/0F02/00 - get entries in connection list: 21 0 0 0
0/ 4/0F05/0 - power state control=0x0
0/ 4/0F03/0 - processing state: 0x0
0/ 4/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
0/ 4/000A/0 - converter format: 0x0 (rate=48000, bits=8, channels=1)

audio mixer ( type 2 )

0/ 12/0F00/9 - widget cap.: 0x200101 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 12/0F00/14 - connection list length: 2
0/ 12/0F02/00 - get entries in connection list: 30 31 0 0
0/ 14/0F00/9 - widget cap.: 0x200101 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 14/0F00/14 - connection list length: 8
0/ 14/0F02/00 - get entries in connection list: 13 17 18 19 26 27 28 29
0/ 15/0F00/9 - widget cap.: 0x200100 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 15/0F00/14 - connection list length: 1
0/ 15/0F02/00 - get entries in connection list: 11 0 0 0

audio selector ( type 3 )

0/ 11/0F00/9 - widget cap.: 0x300101 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 11/0F00/14 - connection list length: 6
0/ 11/0F02/00 - get entries in connection list: 3 12 9 14 5 24 0 0
0/ 11/0F01/0 - currently selected connection: 0
0/ 13/0F00/9 - widget cap.: 0x30010c ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 13/0F00/18 - output amplifier details: 0x800b0f0f
0/ 13/000B/8000 - amplifier gain/mute: 0x8f ([7] mute, [6:0] gain)
0/ 13/0F00/14 - connection list length: 2
0/ 13/0F02/00 - get entries in connection list: 16 22 0 0
0/ 13/0F01/0 - currently selected connection: 0
0/ 17/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 17/0F00/18 - output amplifier details: 0x80051f17
0/ 17/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 17/0F00/14 - connection list length: 1
0/ 17/0F02/00 - get entries in connection list: 3 0 0 0
0/ 18/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 18/0F00/18 - output amplifier details: 0x80051f17
0/ 18/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 18/0F00/14 - connection list length: 1
0/ 18/0F02/00 - get entries in connection list: 8 0 0 0
0/ 19/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 19/0F00/18 - output amplifier details: 0x80051f17
0/ 19/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 19/0F00/14 - connection list length: 1
0/ 19/0F02/00 - get entries in connection list: 9 0 0 0
0/ 21/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 21/0F00/18 - output amplifier details: 0x80050f00
0/ 21/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
0/ 21/0F00/14 - connection list length: 8
0/ 21/0F02/00 - get entries in connection list: 12 9 14 15 25 5 24 23
0/ 21/0F01/0 - currently selected connection: 0
0/ 26/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 26/0F00/18 - output amplifier details: 0x80051f17
0/ 26/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 26/0F00/14 - connection list length: 1
0/ 26/0F02/00 - get entries in connection list: 5 0 0 0
0/ 27/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 27/0F00/18 - output amplifier details: 0x80051f17
0/ 27/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 27/0F00/14 - connection list length: 1
0/ 27/0F02/00 - get entries in connection list: 23 0 0 0
0/ 28/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 28/0F00/18 - output amplifier details: 0x80051f17
0/ 28/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 28/0F00/14 - connection list length: 1
0/ 28/0F02/00 - get entries in connection list: 24 0 0 0
0/ 29/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 29/0F00/18 - output amplifier details: 0x80051f17
0/ 29/000B/8000 - amplifier gain/mute: 0x9f ([7] mute, [6:0] gain)
0/ 29/0F00/14 - connection list length: 1
0/ 29/0F02/00 - get entries in connection list: 25 0 0 0
0/ 30/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 30/0F00/18 - output amplifier details: 0x80000000
0/ 30/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
0/ 30/0F00/14 - connection list length: 1
0/ 30/0F02/00 - get entries in connection list: 8 0 0 0
0/ 31/0F00/9 - widget cap.: 0x30010d ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 31/0F00/18 - output amplifier details: 0x80000000
0/ 31/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
0/ 31/0F00/14 - connection list length: 1
0/ 31/0F02/00 - get entries in connection list: 24 0 0 0

pin complex ( type 4 )

0/ 5/0F00/9 - widget cap.: 0x400187 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 5/0F00/12 - PIN capabilities: 0x1173f (presence detect cap.=1, output cap.=1)
0/ 5/0F00/13 - input amplifier details: 0x270300
0/ 5/000B/0 - amplifier gain/mute: 0x3 ([7] mute, [6:0] gain)
0/ 5/0F00/18 - output amplifier details: 0x80053f3d
0/ 5/000B/8000 - amplifier gain/mute: 0x31 ([7] mute, [6:0] gain)
0/ 5/0F00/14 - connection list length: 2
0/ 5/0F02/00 - get entries in connection list: 3 14 0 0
0/ 5/0F01/0 - currently selected connection: 0
0/ 5/0F07/0 - pin widget control: 0xc0 - HP enable Out enable
0/ 5/0F1C/0 - configuration default: 0x92174110
port connectivity=2,location=0x12 (???), def. device=Speaker, conn type=Other Analog, color=green
0/ 6/0F00/9 - widget cap.: 0x400185 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 6/0F00/12 - PIN capabilities: 0x1f (presence detect cap.=1, output cap.=1)
0/ 6/0F00/18 - output amplifier details: 0x80053f3d
0/ 6/000B/8000 - amplifier gain/mute: 0x31 ([7] mute, [6:0] gain)
0/ 6/0F00/14 - connection list length: 2
0/ 6/0F02/00 - get entries in connection list: 3 14 0 0
0/ 6/0F01/0 - currently selected connection: 0
0/ 6/0F07/0 - pin widget control: 0xc0 - HP enable Out enable
0/ 6/0F1C/0 - configuration default: 0x321201f
port connectivity=0,location=0x3 (Left), def. device=HP Out, conn type=1/8" stereo/mono, color=grey
0/ 7/0F00/9 - widget cap.: 0x400104 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 7/0F00/12 - PIN capabilities: 0x10 (presence detect cap.=0, output cap.=1)
0/ 7/0F00/18 - output amplifier details: 0x80053f3d
0/ 7/000B/8000 - amplifier gain/mute: 0xbf ([7] mute, [6:0] gain)
0/ 7/0F00/14 - connection list length: 1
0/ 7/0F02/00 - get entries in connection list: 15 0 0 0
0/ 7/0F07/0 - pin widget control: 0x40 - Out enable
0/ 7/0F1C/0 - configuration default: 0x410710f0
port connectivity=1,location=0x1 (Rear panel), def. device=Line Out, conn type=Other Analog, color=black
0/ 8/0F00/9 - widget cap.: 0x400083 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 8/0F00/12 - PIN capabilities: 0x1727 (presence detect cap.=1, output cap.=0)
0/ 8/0F00/13 - input amplifier details: 0x270300
0/ 8/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
0/ 8/0F07/0 - pin widget control: 0x20 - In enable
0/ 8/0F1C/0 - configuration default: 0x3a12020
port connectivity=0,location=0x3 (Left), def. device=Mic In, conn type=1/8" stereo/mono, color=grey
0/ 9/0F00/9 - widget cap.: 0x400187 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 9/0F00/12 - PIN capabilities: 0x1737 (presence detect cap.=1, output cap.=1)
0/ 9/0F00/13 - input amplifier details: 0x270300
0/ 9/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
0/ 9/0F00/18 - output amplifier details: 0x80053f3d
0/ 9/000B/8000 - amplifier gain/mute: 0xbf ([7] mute, [6:0] gain)
0/ 9/0F00/14 - connection list length: 2
0/ 9/0F02/00 - get entries in connection list: 3 14 0 0
0/ 9/0F01/0 - currently selected connection: 0
0/ 9/0F07/0 - pin widget control: 0x20 - In enable
0/ 9/0F1C/0 - configuration default: 0x181302e
port connectivity=0,location=0x1 (Rear panel), def. device=Line In, conn type=1/8" stereo/mono, color=blue
0/ 10/0F00/9 - widget cap.: 0x400301 ([1]=inp amp, [2]=out amp, digital=1, chnl cnt-1=1)
0/ 10/0F00/12 - PIN capabilities: 0x10 (presence detect cap.=0, output cap.=1)
0/ 10/0F00/14 - connection list length: 1
0/ 10/0F02/00 - get entries in connection list: 2 0 0 0
0/ 10/0F07/0 - pin widget control: 0x40 - Out enable
0/ 10/0F1C/0 - configuration default: 0x4145f0f0
port connectivity=1,location=0x1 (Rear panel), def. device=SPDIF Out, conn type=Optical, color=other
0/ 22/0F00/9 - widget cap.: 0x400000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 22/0F00/12 - PIN capabilities: 0x20 (presence detect cap.=0, output cap.=0)
0/ 22/0F07/0 - pin widget control: 0x20 - In enable
0/ 22/0F1C/0 - configuration default: 0x995711f0
port connectivity=2,location=0x19 (???), def. device=Digital Other Out, conn type=Other Analog, color=black
0/ 23/0F00/9 - widget cap.: 0x400081 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 23/0F00/12 - PIN capabilities: 0x27 (presence detect cap.=1, output cap.=0)
0/ 23/0F07/0 - pin widget control: 0x20 - In enable
0/ 23/0F1C/0 - configuration default: 0x5993e0f0
port connectivity=1,location=0x19 (???), def. device=AUX, conn type=ATAPI internal, color=white
0/ 24/0F00/9 - widget cap.: 0x400187 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 24/0F00/12 - PIN capabilities: 0x1737 (presence detect cap.=1, output cap.=1)
0/ 24/0F00/13 - input amplifier details: 0x270300
0/ 24/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
0/ 24/0F00/18 - output amplifier details: 0x80053f3d
0/ 24/000B/8000 - amplifier gain/mute: 0xbf ([7] mute, [6:0] gain)
0/ 24/0F00/14 - connection list length: 2
0/ 24/0F02/00 - get entries in connection list: 3 14 0 0
0/ 24/0F01/0 - currently selected connection: 0
0/ 24/0F07/0 - pin widget control: 0x20 - In enable
0/ 24/0F1C/0 - configuration default: 0x91a79121
port connectivity=2,location=0x11 (???), def. device=Mic In, conn type=Other Analog, color=pink
0/ 25/0F00/9 - widget cap.: 0x400001 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
0/ 25/0F00/12 - PIN capabilities: 0x20 (presence detect cap.=0, output cap.=0)
0/ 25/0F07/0 - pin widget control: 0x20 - In enable
0/ 25/0F1C/0 - configuration default: 0x593310f0
port connectivity=1,location=0x19 (???), def. device=CD, conn type=ATAPI internal, color=black

power widget ( type 5 )

0/ 20/0F00/9 - widget cap.: 0x500500 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
0/ 20/0F00/14 - connection list length: 6
0/ 20/0F02/00 - get entries in connection list: 13 14 144 19 154 29 0 0
0/ 20/0F05/0 - power state control=0x0

beep generator ( type 7 )

0/ 16/0F00/9 - widget cap.: 0x700000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)

Thanks!

Hello! Did you try VSBHDA?

Hi! Yes, don´t work either with VSBHDA, also tried with SBEMU-X, and also found JUDAS and the 4N4L game it have as demo works with sound...

Thanks!

Reply 1522 of 1724, by wtfrules

User metadata
Rank Newbie
Rank
Newbie
DarthSun wrote on 2024-08-15, 07:11:

@wtfrules
interrupt line=10 - The dos titles are irq10, they don't make much sound, 5 or 7 should be.

Hi! OKAY, is anything I can try to change that? I tested with /IRQ7-5-2 and nothing didn´t worked either

Thanks!

Reply 1523 of 1724, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Soundblaster was 'traditionally' on these choices:

IRQ 5/7
LOW DMA 0/1/3
HIGH DMA 5/7
IO 220/240/260

with

I5 D1 H5 A220

The 'default'.

Reply 1524 of 1724, by wtfrules

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2024-08-15, 11:48:
Soundblaster was 'traditionally' on these choices: […]
Show full quote

Soundblaster was 'traditionally' on these choices:

IRQ 5/7
LOW DMA 0/1/3
HIGH DMA 5/7
IO 220/240/260

with

I5 D1 H5 A220

The 'default'.

Hi, You´re right, but all of those settings didn´t worked. I´m loosing my faith... 🤣

Thanks!

Reply 1525 of 1724, by jtchip

User metadata
Rank Member
Rank
Member
wtfrules wrote on 2024-08-15, 01:35:

option O1 or O2 to route to the speaker or headphone without any results.

The option is actually /O0 or /O1 (default).
Also, try MPXPLAY, without SBEMU loaded. The combination of ICH7 and AD1981HD should work, someone on this thread reported it working on an IBM Thinkpad T60 though HP may have wired up the HDA codec differently.

Reply 1526 of 1724, by dj_pirtu

User metadata
Rank Member
Rank
Member

Just bought myself an Asus EEE PC 900, hope to get SBEMU up and running with Death Rally and Cubic Player 😁

Reply 1527 of 1724, by wtfrules

User metadata
Rank Newbie
Rank
Newbie
jtchip wrote on 2024-08-15, 23:36:
wtfrules wrote on 2024-08-15, 01:35:

option O1 or O2 to route to the speaker or headphone without any results.

The option is actually /O0 or /O1 (default).
Also, try MPXPLAY, without SBEMU loaded. The combination of ICH7 and AD1981HD should work, someone on this thread reported it working on an IBM Thinkpad T60 though HP may have wired up the HDA codec differently.

Hi! Thanks for helping! OK, thanks for the clarificatoin about the /O1-2 options.
Regarding MPXPLAY... it plays audio files to the headphones flawlessly... Impressive... as you said, without SBEMU loaded...
I also read about the T60, loading and unloading SBEMU and reloading it, but didn´t worked for me either.

So, if MPXPLAY works, what approach should I try to make SBEMU or it´s forks to work in my problematic setup?

Thanks again!

Reply 1528 of 1724, by wtfrules

User metadata
Rank Newbie
Rank
Newbie
dj_pirtu wrote on 2024-08-16, 13:33:

Just bought myself an Asus EEE PC 900, hope to get SBEMU up and running with Death Rally and Cubic Player 😁

Ohh.... Death Rally! Nice game!
Good luck with your quest!

Reply 1529 of 1724, by jtchip

User metadata
Rank Member
Rank
Member
wtfrules wrote on 2024-08-16, 17:29:

Regarding MPXPLAY... it plays audio files to the headphones flawlessly... Impressive... as you said, without SBEMU loaded...
So, if MPXPLAY works, what approach should I try to make SBEMU or it´s forks to work in my problematic setup?

That's good news since the sound drivers in SBEMU and VSBHDA are based on the ones in MPXPLAY. That means one of the changes broke sound on your system. I assume you tried 1.0 beta 4? Try earlier versions to see if they work (also with /O0 to be sure).
Edit: Did some digging in the Linux kernel and found an HP-specific quirk:

	/* HP nx6320 (reversed SSID, H/W bug) */
SND_PCI_QUIRK(0x30b0, 0x103c, "HP nx6320", AD1981_FIXUP_HP_EAPD),

which basically applies this:

static void ad1981_fixup_hp_eapd(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
struct ad198x_spec *spec = codec->spec;

if (action == HDA_FIXUP_ACT_PRE_PROBE) {
spec->gen.vmaster_mute.hook = ad_vmaster_eapd_hook;
spec->eapd_nid = 0x05;
}
}

EAPD seems to an HDA "verb", whatever that means.

Reply 1530 of 1724, by wtfrules

User metadata
Rank Newbie
Rank
Newbie
jtchip wrote on 2024-08-17, 01:16:
That's good news since the sound drivers in SBEMU and VSBHDA are based on the ones in MPXPLAY. That means one of the changes bro […]
Show full quote
wtfrules wrote on 2024-08-16, 17:29:

Regarding MPXPLAY... it plays audio files to the headphones flawlessly... Impressive... as you said, without SBEMU loaded...
So, if MPXPLAY works, what approach should I try to make SBEMU or it´s forks to work in my problematic setup?

That's good news since the sound drivers in SBEMU and VSBHDA are based on the ones in MPXPLAY. That means one of the changes broke sound on your system. I assume you tried 1.0 beta 4? Try earlier versions to see if they work (also with /O0 to be sure).
Edit: Did some digging in the Linux kernel and found an HP-specific quirk:

	/* HP nx6320 (reversed SSID, H/W bug) */
SND_PCI_QUIRK(0x30b0, 0x103c, "HP nx6320", AD1981_FIXUP_HP_EAPD),

which basically applies this:

static void ad1981_fixup_hp_eapd(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
struct ad198x_spec *spec = codec->spec;

if (action == HDA_FIXUP_ACT_PRE_PROBE) {
spec->gen.vmaster_mute.hook = ad_vmaster_eapd_hook;
spec->eapd_nid = 0x05;
}
}

EAPD seems to an HDA "verb", whatever that means.

WOW, thanks a lot for your time digging this mistery.
So seems HP Made something different in the audio codec and the Linux kernel have some "guidance" to understand to reroute and correct this thing, right?
If yes, any clue on how to modify the SBEMU code and how to compile it so I can start playing with it? I've no clue about programming but this could be a good reason to start... tinkering

Thanks @jtchip

Reply 1531 of 1724, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Does Mpxplay already include this hotfix? If yes then it could be enough to copy driver files and recompile...

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 1532 of 1724, by jtchip

User metadata
Rank Member
Rank
Member

Neither MPXPLAY nor SBEMU have any per-codec quirks. MPXPLAY 1.67 has SC_INTHD.C dated 2023-05-24 and actually ported some functionality from SBEMU, specifically "Command Ring Buffer with IRQ". If sound works there, that means a change in SBEMU since then has broke sound on that machine. Easiest thing to do would be to look in the Git history of that file and match it to the release binary generated from that change to figure out which change broke sound.

Reply 1533 of 1724, by digger

User metadata
Rank Oldbie
Rank
Oldbie

I briefly tried to apply the quirk code that jtchip shared further above, but AD1981 should be supported through the Intel HDA driver that was initially ported from Mpxplay, and I couldn't find any existing quirks, so there was no obvious way to add this one.

The maestro3 driver on the other hand, is a driver that was ported from the Linux kernel by jiyunomegami, and that one does have existing similar quirk code.

I think this would be an extra argument to replace the intial Mpxplay drivers with ported Linux drivers.

The drivers that jiyunomegami later added to SBEMU (als4000, maestro3, etc) were also ported Linux drivers, and the base structure that he implemented with that work could be used as a basis for porting over more Linux drivers. It would eliminate the possible source code licensing issues, as well as unify the driver model, and also it would be easier to keep up-to-date, since the Linux kernel is worked on and maintained by a lot more people.

Reply 1534 of 1724, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Hi everyone,

I just released version 1.0.0-beta.5 of SBEMU. It succeeds release 1.0-beta4 (a.k.a. 1.0beta4). I'm trying to stick to the Semantic Versioning spec with release versions going forward, hence the different version pattern.

Also, in the release page, a categorically grouped changelog (or actually more accurately, a list of release notes) is generated. It's not entirely perfect, since it does not seem to handle merge commits and non-prefixed commits very well. Please bear with me as we improve all this further in future releases. (Help is welcome.)

Notable changes in version 1.0.0-beta.5 are support for additional devices through the maestro3 driver and better default volume settings for AC'97 (ICHx) devices, both thanks to Aran Vink. 🙏🏾

As many of you have noticed, crazii does not always have time to work on SBEMU, and is sometime absent from the project for longer periods of time. I've been given maintenance rights to the SBEMU project, but my C coding skills are limited.

I admit that I haven't been as proactive in maintaining SBEMU, especially in crazii's absence, but I'll try to dedicate more time on that, going forward. Please understand however, that I also have a job and a personal life, so I won't always have as much time to do so. Perhaps we should increase the number of project maintainers as well. (Let me know if you are interested. I'm not sure if I can grant you the same rights to the upstream project as crazii has, but we can ask him when he gets back on the radar.)

In order for SBEMU to thrive, I would like to encourage more people to become more actively involved in contributing to the SBEMU project. As awesome as crazii's work on this has been so far, let's not exclusively depend on him for the further improvement and maintenance of SBEMU.

So please keep the Pull Requests on GitHub coming! 🙂 I'll review them and I'll merge them if I see no issues. I'll also work further on the CI/CD stuff in the project, notably proper automated tests, lint checks, automated release notes, etc. (Any help with that is of course welcome too!)

To those of you willing to contribute, I do have two requests:

  • Please use Conventional Commits prefixes in your commits (feat: , fix: , etc, including the space behind the colon) so that the changelog (release notes) will be rendered and categorized properly on the Release page on GitHub.
  • When keeping your branch up-to-date with the upstream main branch, please rebase your branch on main. Don't merge main back into your branch to update it, since that also messes up the changelog (release notes).

As someone already suggested, I'll add a CONTRIBUTING.md file with these contribution guidelines to the project. 👍🏾

One short term goal I'd like to set for SBEMU is the replacement of all the Mpxplay drivers with drivers ported from the Linux kernel. The SBEMU already includes some drivers ported directly from the Linux kernel, thanks to jiyunomegami. So why not standardize on those? It would make maintenance of existing drivers easier, as well as the addition of more drivers for other sound devices in the future.

Personally, I'd also like to see more cooperation between the SBEMU and VSBHDA projects. They can absolutely exist side by side, and there might be some philosophical differences between the two projects, but we still shouldn't reinvent the wheel when we don't have to.

Anybody else have any suggestions or wishes? (The Discussions page on the upstream GitHub project isn't enabled yet, and we'd have to ask crazii to do that, since I don't have the rights for that.)

Anyway, as Linus Torvalds often says: Please go forth and test! Thanks.

Reply 1535 of 1724, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2024-08-18, 12:33:
Hi everyone, […]
Show full quote

Hi everyone,

I just released version 1.0.0-beta.5 of SBEMU. It succeeds release 1.0-beta4 (a.k.a. 1.0beta4). I'm trying to stick to the Semantic Versioning spec with release versions going forward, hence the different version pattern.

Also, in the release page, a categorically grouped changelog (or actually more accurately, a list of release notes) is generated. It's not entirely perfect, since it does not seem to handle merge commits and non-prefixed commits very well. Please bear with me as we improve all this further in future releases. (Help is welcome.)

Notable changes in version 1.0.0-beta.5 are support for additional devices through the maestro3 driver and better default volume settings for AC'97 (ICHx) devices, both thanks to Aran Vink. 🙏🏾

As many of you have noticed, crazii does not always have time to work on SBEMU, and is sometime absent from the project for longer periods of time. I've been given maintenance rights to the SBEMU project, but my C coding skills are limited.

I admit that I haven't been as proactive in maintaining SBEMU, especially in crazii's absence, but I'll try to dedicate more time on that, going forward. Please understand however, that I also have a job and a personal life, so I won't always have as much time to do so. Perhaps we should increase the number of project maintainers as well. (Let me know if you are interested. I'm not sure if I can grant you the same rights to the upstream project as crazii has, but we can ask him when he gets back on the radar.)

In order for SBEMU to thrive, I would like to encourage more people to become more actively involved in contributing to the SBEMU project. As awesome as crazii's work on this has been so far, let's not exclusively depend on him for the further improvement and maintenance of SBEMU.

So please keep the Pull Requests on GitHub coming! 🙂 I'll review them and I'll merge them if I see no issues. I'll also work further on the CI/CD stuff in the project, notably proper automated tests, lint checks, automated release notes, etc. (Any help with that is of course welcome too!)

To those of you willing to contribute, I do have two requests:

  • Please use Conventional Commits prefixes in your commits (feat: , fix: , etc, including the space behind the colon) so that the changelog (release notes) will be rendered and categorized properly on the Release page on GitHub.
  • When keeping your branch up-to-date with the upstream main branch, please rebase your branch on main. Don't merge main back into your branch to update it, since that also messes up the changelog (release notes).

As someone already suggested, I'll add a CONTRIBUTING.md file with these contribution guidelines to the project. 👍🏾

One short term goal I'd like to set for SBEMU is the replacement of all the Mpxplay drivers with drivers ported from the Linux kernel. The SBEMU already includes some drivers ported directly from the Linux kernel, thanks to jiyunomegami. So why not standardize on those? It would make maintenance of existing drivers easier, as well as the addition of more drivers for other sound devices in the future.

Personally, I'd also like to see more cooperation between the SBEMU and VSBHDA projects. They can absolutely exist side by side, and there might be some philosophical differences between the two projects, but we still shouldn't reinvent the wheel when we don't have to.

Anybody else have any suggestions or wishes? (The Discussions page on the upstream GitHub project isn't enabled yet, and we'd have to ask crazii to do that, since I don't have the rights for that.)

Anyway, as Linus Torvalds often says: Please go forth and test! Thanks.

Hey, digger! Thank you for the release and great to see you involved in the SBEMU project!
Now that your're closely familiar with the code, do you think it's realistic to add support for older sound cards? We talked a lot about non-DMA SB mode and also Covox, maybe WSS compatible chips. What do you think?

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 1536 of 1724, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Thanks, Bondi!

As far as I understand the code, there are currently two "groups" of drivers in the SBEMU code base. The drivers ported from Mpxplay that crazii initially developed SBEMU around, and a set of sound drivers that jiyunomegami later ported from the Linux kernel. For various reasons, I think it would desirable to eventually switch entirely to ported Linux drivers going forward.

As for non-DMA digital audio playback devices, I guess that should be possible at least in theory. Currently, only PCI and PCIe devices are supported. AC'97/ICHx and Intel HD Audio are technically PCI devices as well, even though they are always integrated in motherboards and laptops. The thing with PCI devices is that they also support hardware DMA, albeit in a way that is not compatible with ISA DMA.

So when SBEMU intercepts sound-specific I/O to the DMA controller, it sees what memory region needs to be read by the emulated sound card and it then tells the actual PCI-based sound hardware to fetch it through PCI-based DMA instead.

But devices such as the Covox Speech Thing, Sound Blaster in direct I/O mode and 16-bit PCMCIA sound cards don't support DMA at all. So in order for SBEMU to support these (to which to route the emulated playback), some kind of "pseudo-DMA" will have to be implemented, hooking the timer interrupt and such, and having the CPU doing the reading and processing of the sound buffer in the background. The old (real-mode only) "Virtual Sound Blaster" emulator (a.k.a. VSB) by Andrew Zabolotny used this method, so it's known to work, even on 386 and 486 CPUs back in the day.

It would require programming the RTC to send timer interrupts at a much higher frequency. That would also affect the clock, so that would have to be compensated for as well. And I believe there's other stuff involved too, such as the non-maskable interrupt (NMI).

This method takes up a lot of CPU cycles. On modern machines that are often too fast for playing DOS games anyway, that's not a problem. But such newer machines tend to have integrated AC'97 or HDA sound devices anyway, so they wouldn't really need it.

According to what Andrew wrote in the VSB documentation, the requirements for emulating the PCM/DAC part of a Sound Blaster on a Covox (LPT DAC) are fairly modest:

All that you need is a i386-based machine and 14K of memory (without QEMM) or 4K of memory (when QEMM is running). A DAC (AKA Co […]
Show full quote

All that you need is a i386-based machine and 14K of memory (without QEMM)
or 4K of memory (when QEMM is running). A DAC (AKA Covox) is highly
recommended, PC speaker is implemented only because it was very simple
to implement; an 33-MHz 386SX minimum recomended because emulator
takes about a quarter of processor`s power
(the higher is quantization
frequence, more processor power is taken); my 386DX/40 seem to have
enough power for most applications.

Of course, this is not counting FM synthesis emulation, which I think would be unfeasible on systems of that era, especially when both FM and PCM need to be emulated at the same time. (Even Andrew mentioned in that same document that he expected something like a Pentium 100 to be needed at a minimum in order to be able to completely emulate a Sound Blaster.)

The only target use case for this would be PCs with a Microchannel (MCA) bus (such as the higher end IBM PS/2 models) and older laptops, from the 386 and (earlier) 486 era, before integrated sound cards in laptops became commonplace. But especially older 386sx laptops might struggle with something like SBEMU with such a CPU-intensive pseudo-DMA solution. In such case, if you'd want FM playback emulation as well, you'd want SBEMU to redirect FM to something like an OPL3LPT instead of having to emulate FM synthesis in software and mixing it in with the PCM audio that's sent to the Covox or other DMA-less audio device.

Even in the case of MCA-based PCs, the problem of the MCA-version of the Sound Blaster being unobtainium has been solved, now that a replica has been developed and is available for sale. $125 is not cheap, but doable for most dedicated hobbyists. 🙂

So yeah, I'd be happy to accept a PR for someone who would get SBEMU to work on something like a Covox-style LPT DAC, but I think there are higher priorities right now.

Of course, if enough skilled volunteers start contributing to the project, features like this would be more likely to be implemented in the short term. So pass the word far and wide for volunteers, please. 😉

Reply 1537 of 1724, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

It might be worthwhile to make sbemu 'multi cpu aware', just to saddle core 1 (and not core 0) with such servicing.

Even the pcspeaker could be driven that way.

Even on single core systems, if you can get 2 lpt ports, (consuming both irqs 5 and 7), then covox speech can be on lpt1 and opl3lpt can live on lpt2.

That gives wave audio and fm synth, but would need an external mixer to combine them.

Reply 1538 of 1724, by wtfrules

User metadata
Rank Newbie
Rank
Newbie
jtchip wrote on 2024-08-17, 01:16:
That's good news since the sound drivers in SBEMU and VSBHDA are based on the ones in MPXPLAY. That means one of the changes bro […]
Show full quote
wtfrules wrote on 2024-08-16, 17:29:

Regarding MPXPLAY... it plays audio files to the headphones flawlessly... Impressive... as you said, without SBEMU loaded...
So, if MPXPLAY works, what approach should I try to make SBEMU or it´s forks to work in my problematic setup?

That's good news since the sound drivers in SBEMU and VSBHDA are based on the ones in MPXPLAY. That means one of the changes broke sound on your system. I assume you tried 1.0 beta 4? Try earlier versions to see if they work (also with /O0 to be sure).
Edit: Did some digging in the Linux kernel and found an HP-specific quirk:

	/* HP nx6320 (reversed SSID, H/W bug) */
SND_PCI_QUIRK(0x30b0, 0x103c, "HP nx6320", AD1981_FIXUP_HP_EAPD),

which basically applies this:

static void ad1981_fixup_hp_eapd(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
struct ad198x_spec *spec = codec->spec;

if (action == HDA_FIXUP_ACT_PRE_PROBE) {
spec->gen.vmaster_mute.hook = ad_vmaster_eapd_hook;
spec->eapd_nid = 0x05;
}
}

EAPD seems to an HDA "verb", whatever that means.

Hi there!
OK, so I tried all the BETA versions and some of the disks images and no luck, doesn´t work in this NC6320 configuration.-
Maybe I should wait a version with the linux drivers instead of the actual MPXPLAY ones?

Regards!

Reply 1539 of 1724, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

I am curious what porting method was used for linux kernel driver integration.

I'd want to try integrating intel_sst and intel_sst_acpi, to see if I can get my baytrail audio turned on.

As is, I am considering a scavenger hunt to get XP installed.

I'd much rather have straight DOS though.

Jemmex detects straight up RAM mapped by default in the ENTIRE adapter rom region, and my tests show this is DIRECTLY usable as UMB when jemmex is told to enable it. Very smexy.

I'd love to get audio working.