VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1020 of 1632, by thp

User metadata
Rank Member
Rank
Member
sergio_prado wrote on 2023-10-19, 17:54:

I think it should be very interesting to see how DOSBOX-X runs with an emulated SoundBlaster, especially in games that use redbook audio.

Just run DOSBox-X under Linux or Windows if you're already using DOSBox, anyway?

Reply 1021 of 1632, by sergio_prado

User metadata
Rank Newbie
Rank
Newbie
thp wrote on 2023-10-19, 22:56:

Just run DOSBox-X under Linux or Windows if you're already using DOSBox, anyway?

Yes, I know that what I want to do is kind of pointless, after all I can run DOSBOX without any difficulty on my desktop, but I would like to use some old notebooks (Pentium M) for this. And they have a little difficulty running DOSBOX fluently on Windows, and I've heard that DOSBOX-X has less overhead running on DOS. If I could squeeze a little more performance into my libretto and keepeng redbook audio capability, that would be great.

Reply 1022 of 1632, by zyzzle

User metadata
Rank Member
Rank
Member

I also would join in on the request for a newly-compiled version of VSBHDA with all known commits since 12th April.

Reply 1023 of 1632, by DosFreak

User metadata
Rank l33t++
Rank
l33t++
sergio_prado wrote on 2023-10-19, 17:54:
Hello @THP, i saw that you made a fork of SBEMU, and I was curious to know if you have already taken a look at VSBHDA, and if yo […]
Show full quote

Hello @THP, i saw that you made a fork of SBEMU, and I was curious to know if you have already taken a look at VSBHDA, and if you happen to have a current version compiled with the latest changes?

What drew my attention to VSBHDA is the fact that it is compatible with HX extender and by extension, also with DOSBOX-X.

Unfortunately the latest release (Apr 12) of VSBHDA does not produce any sound on my devices. But I saw that since then the code has been changed a few times, and possibly the problem has been fixed.

I think it should be very interesting to see how DOSBOX-X runs with an emulated SoundBlaster, especially in games that use redbook audio. Anyway, if you have the latest compiled commit of VSBHDA, it would be greatly appreciated. Sorry for my bad English.

https://github.com/Baron-von-Riedesel/VSBHDA

Re: SBEMU: Sound Blaster emulation on AC97

This thread is for SBEMU so discussion should be for SBEMU.

How To Ask Questions The Smart Way
Make your games work offline

Reply 1024 of 1632, by rasz_pl

User metadata
Rank l33t
Rank
l33t
marxveix wrote on 2023-10-19, 17:16:

I test two of the other sbemu again with front audio output, but this sbemu size was exactly the same as previous one.

Size doesnt matter .. in this particular case 😀

>CertUtil -hashfile sbemu.exe md5
MD5 hash of sbemu.exe:
31d2ee05857a76d8ff2af9fd5d134886
>CertUtil -hashfile sbemu.exe1 md5
MD5 hash of sbemu.exe1:
85cfa3df5be0edc3b34b5f10c779a260

AT&T Globalyst/FIC 486-GAC-2 Cache Module reproduction
Zenith Data Systems (ZDS) ZBIOS 'MFM-300 Monitor' reverse engineering

Reply 1025 of 1632, by dbrunton

User metadata
Rank Newbie
Rank
Newbie

Unbelievable.

It works!

Optiplex DT 780 with Xeon X3360 and 16 Gb of memory but system set to only see 256 Mb of memory for this purpose. Running FreeDOS from bootable USB stick. Used SBEMU beta3. Typed SET=BLASTER A220 I7 D1 at the command line before accessing any game. Used the setup file in the game folder to tell it what card and settings to use and then launched game. Will probably stick SET line into FDAUTO.BAT. Sound came out of speaker in computer. Then plugged powered speakers into front jack and there was the music and SFX in all their glory.

Only tried two games, DOOM and HEXEN and they work. I still have keyboard problems to solve as these games do NOT like USB keyboards and are unusable when in the game. Before getting into the game the keyboard is fine.

Thanks to all those who made this util.

Reply 1026 of 1632, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Thankfully I get several test-builds to check what registers are needed to get AD1980 working on line-out. Seems that there is some progress 😀
So thanks for the support of "my" problem...I really appreciate it!

More compatibility tests:
- EPIC Pinball (works great!)
- Pinball Dreams 2 (works great!)
- PinballFantasies (works great!)
- WWIIGi (works good, but sfx seems to be wrongly pitched when setting above 16khz for sfx (like 22khz/44khz)
- Extreme Pinball (works, but sound is cratchy/crackeling, don't know what the issue is)

Really nice is the thing that there is some sort of speed-fixing within jemmex+sb-emu. Normally PinballDreams2 and Fantasies make sweeping noises when you play them on a fast PC, this is really a big deal for me! So thank you for that excellent software! Future goals perhaps: including emulation for covox and gus.

Last edited by dr.zeissler on 2023-10-21, 13:39. Edited 1 time in total.

Retro-Gamer 😀 ...on different machines

Reply 1027 of 1632, by dontbugster

User metadata
Rank Newbie
Rank
Newbie

laptop is loading sbemu, but no sound in the builds attached here
1.0beta3-5-g5a4def9
neither on the releases of thp

can I help somehow?

I do have a linux mint installed on this machine.

Reply 1028 of 1632, by thp

User metadata
Rank Member
Rank
Member
dontbugster wrote on 2023-10-21, 10:07:
laptop is loading sbemu, but no sound in the builds attached here 1.0beta3-5-g5a4def9 neither on the releases of thp […]
Show full quote

laptop is loading sbemu, but no sound in the builds attached here
1.0beta3-5-g5a4def9
neither on the releases of thp

can I help somehow?

I do have a linux mint installed on this machine.

I assume audio is working fine on Linux Mint, right?

Please boot into Linux Mint on that machine, and then post the output of the following commands.

For the listing of PCI devices:

lspci -nn

To see which drivers ALSA has loaded:

cat /proc/asound/cards

Reply 1029 of 1632, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

thp made progress on my issue up to that build...newer ones to be tested in the next days.

Retro-Gamer 😀 ...on different machines

Reply 1030 of 1632, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie

Report for 1.0 beta 3:

System: CMI CM9761A on ICH5 (AsRock 775i65G)
Games tested: Monkey Island 1 and 2 talkie edition (command line 'monkey s220/7/8')
Result: Works great

Well, here's the first report for you on this obscure little codec.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 1031 of 1632, by dontbugster

User metadata
Rank Newbie
Rank
Newbie
thp wrote on 2023-10-21, 11:16:
I assume audio is working fine on Linux Mint, right? […]
Show full quote
dontbugster wrote on 2023-10-21, 10:07:
laptop is loading sbemu, but no sound in the builds attached here 1.0beta3-5-g5a4def9 neither on the releases of thp […]
Show full quote

laptop is loading sbemu, but no sound in the builds attached here
1.0beta3-5-g5a4def9
neither on the releases of thp

can I help somehow?

I do have a linux mint installed on this machine.

I assume audio is working fine on Linux Mint, right?

Please boot into Linux Mint on that machine, and then post the output of the following commands.

For the listing of PCI devices:

lspci -nn

To see which drivers ALSA has loaded:

cat /proc/asound/cards

Hi! ok this is the result

$ cat /proc/asound/cards

0 [Intel          ]: HDA-Intel - HDA Intel
HDA Intel at 0xf8000000 irq 25

$ cat /proc/asound/card0/codec#0

Codec: Motorola Si3054
Address: 0
MFG Function Id: 0x2 (unsol 1)
Vendor Id: 0x10573055
Subsystem Id: 0x10573055
Revision Id: 0x100700
Modem Function Group: 0x1

$ lspci -nn

00:00.0 Host bridge [0600]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub [8086:27a0] (rev 03)
00:01.0 PCI bridge [0604]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port [8086:27a1] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation NM10/ICH7 Family High Definition Audio Controller [8086:27d8] (rev 02)
00:1c.0 PCI bridge [0604]: Intel Corporation NM10/ICH7 Family PCI Express Port 1 [8086:27d0] (rev 02)
00:1c.1 PCI bridge [0604]: Intel Corporation NM10/ICH7 Family PCI Express Port 2 [8086:27d2] (rev 02)
00:1c.2 PCI bridge [0604]: Intel Corporation NM10/ICH7 Family PCI Express Port 3 [8086:27d4] (rev 02)
00:1d.0 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 [8086:27c8] (rev 02)
00:1d.1 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 [8086:27c9] (rev 02)
00:1d.2 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 [8086:27ca] (rev 02)
00:1d.3 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 [8086:27cb] (rev 02)
00:1d.7 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller [8086:27cc] (rev 02)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev e2)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge [8086:27b9] (rev 02)
00:1f.1 IDE interface [0101]: Intel Corporation 82801G (ICH7 Family) IDE Controller [8086:27df] (rev 02)
00:1f.2 SATA controller [0106]: Intel Corporation 82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] [8086:27c5] (rev 02)
00:1f.3 SMBus [0c05]: Intel Corporation NM10/ICH7 Family SMBus Controller [8086:27da] (rev 02)
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV515/M52 [Mobility Radeon X1300] [1002:714a]
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 01)
05:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)
06:04.0 FireWire (IEEE 1394) [0c00]: O2 Micro, Inc. Firewire (IEEE 1394) [1217:00f7] (rev 02)
06:04.2 SD Host controller [0805]: O2 Micro, Inc. Integrated MMC/SD Controller [1217:7120] (rev 01)
06:04.3 Mass storage controller [0180]: O2 Micro, Inc. Integrated MS/xD Controller [1217:7130] (rev 01)

In DOS, HDASTAT (before SBEMU) says:


HD Audio device (class=0x040300) found at bus/device/function=0/27/0:
vendor=0x8086, device=0x27d8
CMD=0x106 ([0]=IOSE,[1]=MSE (Memory Space Enable),[2]=BME (Bus Master Enable)
capabilities ID=0x1, next pointer=0x60
capabilities ID=0x5, next pointer=0x70
capabilities ID=0x10, next pointer=0x0
interrupt line=7

HDA Base Address=0xf8000000
+0 Global Capabilities=0x4401
#input streams=4, #output streams=4, #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=0x9ea7c9fa
+56 SSYNC - Stream Synchronization=0x0
+64 CORB base address=0x12d0000
+72 CORB WP=0xe5, RP=0xe5
+76 CORB control=0x0 ([1] 0=DMA Stop, 1=DMA Run)
+78 CORB size=0x42 ([7:4] size cap [bitfield],[1:0] size [0,1,2])
+80 RIRB base address=0x12d0400
+88 RIRB WP=0xe5, RIC=0x1
+92 RIRB control=0x0 ([1] 0=DMA Stop, 1=DMA Run)
+94 RIRB size=0x42 ([7:4] size cap, [1:0] size)
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)
Show last 278 lines
    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=0x140000 ([23:20] stream no [0=unused], [1] 1=stream run, [0] 1=in reset)
OSD0 status=0x20
OSD0 link position in buffer=0x110
OSD0 cyclic buffer length=0x204cc (size in bytes of complete cyclic buffer)
OSD0 last valid index=0x1 (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=0x4110 (base rate=22050, bits=16, channels=1)
OSD0 buffer description list base address=0x12d0c00
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: 0x1057/0x3055
0/ 0/0F00/4 - node count: 0x10001 (start node=1, no of nodes=1)
0/ 1/0F00/5 - function group type: 0x102 ([6:0]=type [afg=1])

codec/node/cmd/param: value
-----------------------------------------------
1/ 0/0F00/0 - vendor/device: 0x10ec/0x861
1/ 0/0F00/4 - node count: 0x10001 (start node=1, no of nodes=1)
1/ 1/0F00/5 - function group type: 0x1 ([6:0]=type [afg=1])
1/ 1/0F00/10 - supported PCM rates: 0xe0140
1/ 1/0F05/0 - power state control=0x0
1/ 1/0F00/4 - node count: 0x30021 (start node=3, no of nodes=33)

audio output ( type 0 )

1/ 3/0F00/9 - widget cap.: 0x405 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 3/0F00/10 - supported PCM rates: 0x0
1/ 3/0F00/18 - output amplifier details: 0x0
1/ 3/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 3/0F05/0 - power state control=0x0
1/ 3/0F03/0 - processing state: 0x0
1/ 3/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
1/ 3/000A/0 - converter format: 0x11 (rate=48000, bits=16, channels=2)
1/ 3/0F2D/0 - converter channel count: 0x0
1/ 4/0F00/9 - widget cap.: 0x405 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 4/0F00/10 - supported PCM rates: 0x0
1/ 4/0F00/18 - output amplifier details: 0x0
1/ 4/000B/8000 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
1/ 4/0F05/0 - power state control=0x0
1/ 4/0F03/0 - processing state: 0x0
1/ 4/0F06/0 - link stream/channel: 0x10 (stream=1, channel=0)
1/ 4/000A/0 - converter format: 0x10 (rate=48000, bits=16, channels=1)
1/ 4/0F2D/0 - converter channel count: 0x0
1/ 5/0F00/9 - widget cap.: 0x405 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 5/0F00/10 - supported PCM rates: 0x0
1/ 5/0F00/18 - output amplifier details: 0x0
1/ 5/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 5/0F05/0 - power state control=0x0
1/ 5/0F03/0 - processing state: 0x0
1/ 5/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
1/ 5/000A/0 - converter format: 0x11 (rate=48000, bits=16, channels=2)
1/ 5/0F2D/0 - converter channel count: 0x0
1/ 6/0F00/9 - widget cap.: 0x405 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 6/0F00/10 - supported PCM rates: 0x0
1/ 6/0F00/18 - output amplifier details: 0x0
1/ 6/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 6/0F05/0 - power state control=0x0
1/ 6/0F03/0 - processing state: 0x0
1/ 6/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
1/ 6/000A/0 - converter format: 0x11 (rate=48000, bits=16, channels=2)
1/ 6/0F2D/0 - converter channel count: 0x0
1/ 7/0F00/9 - widget cap.: 0x605 ([1]=inp amp, [2]=out amp, digital=1, chnl cnt-1=1)
1/ 7/0F00/10 - supported PCM rates: 0x0
1/ 7/0F00/18 - output amplifier details: 0x0
1/ 7/000B/8000 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 7/0F05/0 - power state control=0x0
1/ 7/0F03/0 - processing state: 0x0
1/ 7/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
1/ 7/000A/0 - converter format: 0x11 (rate=48000, bits=16, channels=2)
1/ 7/0F2D/0 - converter channel count: 0x0

audio input ( type 1 )

1/ 8/0F00/9 - widget cap.: 0x10051b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 8/0F00/10 - supported PCM rates: 0x20140
1/ 8/0F00/13 - input amplifier details: 0x800b0d02
1/ 8/000B/0 - amplifier gain/mute: 0x82 ([7] mute, [6:0] gain)
1/ 8/0F00/14 - connection list length: 6
1/ 8/0F02/00 - get entries in connection list: 13 12 15 16 17 21 0 0
1/ 8/0F01/0 - currently selected connection: 0
1/ 8/0F05/0 - power state control=0x0
1/ 8/0F03/0 - processing state: 0x0
1/ 8/0F06/0 - link stream/channel: 0x0 (stream=0, channel=0)
1/ 8/000A/0 - converter format: 0x11 (rate=48000, bits=16, channels=2)

audio mixer ( type 2 )

1/ 20/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 20/0F00/13 - input amplifier details: 0x80000000
1/ 20/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
1/ 20/0F00/14 - connection list length: 2
1/ 20/0F02/00 - get entries in connection list: 13 16 0 0
1/ 20/0F01/0 - currently selected connection: 0
1/ 21/0F00/9 - widget cap.: 0x20050f ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 21/0F00/13 - input amplifier details: 0x800b170c
1/ 21/000B/0 - amplifier gain/mute: 0x8c ([7] mute, [6:0] gain)
1/ 21/0F00/18 - output amplifier details: 0x800b0c0c
1/ 21/000B/8000 - amplifier gain/mute: 0x8c ([7] mute, [6:0] gain)
1/ 21/0F00/14 - connection list length: 3
1/ 21/0F02/00 - get entries in connection list: 17 20 28 0
1/ 21/0F01/0 - currently selected connection: 0
1/ 21/0F05/0 - power state control=0x0
1/ 22/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 22/0F00/13 - input amplifier details: 0x80000000
1/ 22/000B/0 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 22/0F00/14 - connection list length: 2
1/ 22/0F02/00 - get entries in connection list: 3 21 0 0
1/ 22/0F01/0 - currently selected connection: 0
1/ 23/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 23/0F00/13 - input amplifier details: 0x80000000
1/ 23/000B/0 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 23/0F00/14 - connection list length: 2
1/ 23/0F02/00 - get entries in connection list: 4 21 0 0
1/ 23/0F01/0 - currently selected connection: 0
1/ 24/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 24/0F00/13 - input amplifier details: 0x80000000
1/ 24/000B/0 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 24/0F00/14 - connection list length: 2
1/ 24/0F02/00 - get entries in connection list: 5 21 0 0
1/ 24/0F01/0 - currently selected connection: 0
1/ 25/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 25/0F00/13 - input amplifier details: 0x80000000
1/ 25/000B/0 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 25/0F00/14 - connection list length: 2
1/ 25/0F02/00 - get entries in connection list: 6 21 0 0
1/ 25/0F01/0 - currently selected connection: 0
1/ 26/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 26/0F00/13 - input amplifier details: 0x80000000
1/ 26/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
1/ 26/0F00/14 - connection list length: 4
1/ 26/0F02/00 - get entries in connection list: 4 6 21 3
1/ 26/0F01/0 - currently selected connection: 0
1/ 27/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 27/0F00/13 - input amplifier details: 0x80000000
1/ 27/000B/0 - amplifier gain/mute: 0x80 ([7] mute, [6:0] gain)
1/ 27/0F00/14 - connection list length: 4
1/ 27/0F02/00 - get entries in connection list: 4 6 21 3
1/ 27/0F01/0 - currently selected connection: 0
1/ 28/0F00/9 - widget cap.: 0x20010b ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 28/0F00/13 - input amplifier details: 0x80000000
1/ 28/000B/0 - amplifier gain/mute: 0x0 ([7] mute, [6:0] gain)
1/ 28/0F00/14 - connection list length: 2
1/ 28/0F02/00 - get entries in connection list: 12 15 0 0
1/ 28/0F01/0 - currently selected connection: 0

pin complex ( type 4 )

1/ 11/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 11/0F00/12 - PIN capabilities: 0x1f (presence detect cap.=1, output cap.=1)
1/ 11/0F00/14 - connection list length: 1
1/ 11/0F02/00 - get entries in connection list: 22 0 0 0
1/ 11/0F05/0 - power state control=0x0
1/ 11/0F07/0 - pin widget control: 0x40 - Out enable
1/ 11/0F1C/0 - configuration default: 0x121411f
port connectivity=0,location=0x1 (Rear panel), def. device=HP Out, conn type=1/8" stereo/mono, color=green
1/ 12/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 12/0F00/12 - PIN capabilities: 0x37 (presence detect cap.=1, output cap.=1)
1/ 12/0F00/14 - connection list length: 1
1/ 12/0F02/00 - get entries in connection list: 25 0 0 0
1/ 12/0F05/0 - power state control=0x0
1/ 12/0F07/0 - pin widget control: 0x20 - In enable
1/ 12/0F1C/0 - configuration default: 0x411111f0
port connectivity=1,location=0x1 (Rear panel), def. device=Speaker, conn type=1/8" stereo/mono, color=black
1/ 13/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 13/0F00/12 - PIN capabilities: 0x337 (presence detect cap.=1, output cap.=1)
1/ 13/0F00/14 - connection list length: 1
1/ 13/0F02/00 - get entries in connection list: 24 0 0 0
1/ 13/0F05/0 - power state control=0x0
1/ 13/0F07/0 - pin widget control: 0x20 - In enable
1/ 13/0F1C/0 - configuration default: 0x411111f0
port connectivity=1,location=0x1 (Rear panel), def. device=Speaker, conn type=1/8" stereo/mono, color=black
1/ 14/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 14/0F00/12 - PIN capabilities: 0x17 (presence detect cap.=1, output cap.=1)
1/ 14/0F00/14 - connection list length: 1
1/ 14/0F02/00 - get entries in connection list: 25 0 0 0
1/ 14/0F05/0 - power state control=0x0
1/ 14/0F07/0 - pin widget control: 0x40 - Out enable
1/ 14/0F1C/0 - configuration default: 0x411111f0
port connectivity=1,location=0x1 (Rear panel), def. device=Speaker, conn type=1/8" stereo/mono, color=black
1/ 15/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 15/0F00/12 - PIN capabilities: 0x33f (presence detect cap.=1, output cap.=1)
1/ 15/0F00/14 - connection list length: 1
1/ 15/0F02/00 - get entries in connection list: 26 0 0 0
1/ 15/0F05/0 - power state control=0x0
1/ 15/0F07/0 - pin widget control: 0xc0 - HP enable Out enable
1/ 15/0F1C/0 - configuration default: 0x99030110
port connectivity=2,location=0x19 (???), def. device=Line Out, conn type=ATAPI internal, color=unknown
1/ 16/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 16/0F00/12 - PIN capabilities: 0x33f (presence detect cap.=1, output cap.=1)
1/ 16/0F00/14 - connection list length: 1
1/ 16/0F02/00 - get entries in connection list: 27 0 0 0
1/ 16/0F05/0 - power state control=0x0
1/ 16/0F07/0 - pin widget control: 0x20 - In enable
1/ 16/0F1C/0 - configuration default: 0x1a19930
port connectivity=0,location=0x1 (Rear panel), def. device=Mic In, conn type=1/8" stereo/mono, color=pink
1/ 17/0F00/9 - widget cap.: 0x400001 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 17/0F00/12 - PIN capabilities: 0x63 (presence detect cap.=0, output cap.=0)
1/ 17/0F07/0 - pin widget control: 0x0 -
1/ 17/0F1C/0 - configuration default: 0x411111f0
port connectivity=1,location=0x1 (Rear panel), def. device=Speaker, conn type=1/8" stereo/mono, color=black
1/ 18/0F00/9 - widget cap.: 0x400301 ([1]=inp amp, [2]=out amp, digital=1, chnl cnt-1=1)
1/ 18/0F00/12 - PIN capabilities: 0x10 (presence detect cap.=0, output cap.=1)
1/ 18/0F00/14 - connection list length: 1
1/ 18/0F02/00 - get entries in connection list: 7 0 0 0
1/ 18/0F07/0 - pin widget control: 0x40 - Out enable
1/ 18/0F1C/0 - configuration default: 0x1454120
port connectivity=0,location=0x1 (Rear panel), def. device=SPDIF Out, conn type=Optical, color=green
1/ 31/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 31/0F00/12 - PIN capabilities: 0x17 (presence detect cap.=1, output cap.=1)
1/ 31/0F00/14 - connection list length: 1
1/ 31/0F02/00 - get entries in connection list: 24 0 0 0
1/ 31/0F05/0 - power state control=0x0
1/ 31/0F07/0 - pin widget control: 0x40 - Out enable
1/ 31/0F1C/0 - configuration default: 0x411111f0
port connectivity=1,location=0x1 (Rear panel), def. device=Speaker, conn type=1/8" stereo/mono, color=black
1/ 32/0F00/9 - widget cap.: 0x400581 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=1)
1/ 32/0F00/12 - PIN capabilities: 0x17 (presence detect cap.=1, output cap.=1)
1/ 32/0F00/14 - connection list length: 1
1/ 32/0F02/00 - get entries in connection list: 23 0 0 0
1/ 32/0F05/0 - power state control=0x0
1/ 32/0F07/0 - pin widget control: 0x40 - Out enable
1/ 32/0F1C/0 - configuration default: 0x411111f0
port connectivity=1,location=0x1 (Rear panel), def. device=Speaker, conn type=1/8" stereo/mono, color=black

beep generator ( type 7 )

1/ 35/0F00/9 - widget cap.: 0x70000c ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
1/ 35/0F00/18 - output amplifier details: 0x800b0f0f
1/ 35/000B/8000 - amplifier gain/mute: 0xf ([7] mute, [6:0] gain)

widget type 0xf

1/ 9/0F00/9 - widget cap.: 0xf00000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
1/ 10/0F00/9 - widget cap.: 0xf00000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
1/ 19/0F00/9 - widget cap.: 0xf00000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
1/ 29/0F00/9 - widget cap.: 0xf00000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
1/ 30/0F00/9 - widget cap.: 0xf00000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
1/ 33/0F00/9 - widget cap.: 0xf00000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)
1/ 34/0F00/9 - widget cap.: 0xf00000 ([1]=inp amp, [2]=out amp, digital=0, chnl cnt-1=0)

hdastat (AFTER SBEMU), it makes disapear things


HD Audio device (class=0x040300) found at bus/device/function=0/27/0:
vendor=0x8086, device=0x27d8
CMD=0x106 ([0]=IOSE,[1]=MSE (Memory Space Enable),[2]=BME (Bus Master Enable)
capabilities ID=0x1, next pointer=0x60
capabilities ID=0x5, next pointer=0x70
capabilities ID=0x10, next pointer=0x0
interrupt line=7

HDA Base Address=0xf8000000
+0 Global Capabilities=0x4401
#input streams=4, #output streams=4, #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=0xc00000ff
+36 INTSTS - Interrupt Status=0x0
+48 WALCLK - Wall Clock Counter=0x1210c384
+56 SSYNC - Stream Synchronization=0x0
+64 CORB base address=0x12d3000
+72 CORB WP=0xf0, RP=0xf0
+76 CORB control=0x2 ([1] 0=DMA Stop, 1=DMA Run)
+78 CORB size=0x42 ([7:4] size cap [bitfield],[1:0] size [0,1,2])
+80 RIRB base address=0x12d3400
+88 RIRB WP=0xf0, RIC=0x1
+92 RIRB control=0x3 ([1] 0=DMA Stop, 1=DMA Run)
+94 RIRB size=0x42 ([7:4] size cap, [1:0] size)
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)
Show last 52 lines
    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=0xe74
OSD0 cyclic buffer length=0x1000 (size in bytes of complete cyclic buffer)
OSD0 last valid index=0x7 (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=0x11 (base rate=48000, bits=16, channels=2)
OSD0 buffer description list base address=0x12d0000
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: 0x1057/0x3055
0/ 0/0F00/4 - node count: 0x10001 (start node=1, no of nodes=1)
0/ 1/0F00/5 - function group type: 0x102 ([6:0]=type [afg=1])

Curiously, even PC Speaker gets muted.

Symptomps:

Before SBEMU, pcspeaker sounds.

When SBEMU is executed (no matter of version), speakers do a pop sound.
Then, no sound, neither on PC Speaker.

Reply 1032 of 1632, by thp

User metadata
Rank Member
Rank
Member
dontbugster wrote on 2023-10-24, 07:28:

When SBEMU is executed (no matter of version), speakers do a pop sound.
Then, no sound, neither on PC Speaker.

Since your sound card is an HDA sound card, have you tried the "/O" switch to SBEMU? Use /O0 (that's slash, uppercase-O, followed by the digit zero if the font you see is as bad as the one I see here) for headphone, and /O1 (that's slash, uppercase-O, the digit one) for speaker.

Reply 1033 of 1632, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
dontbugster wrote on 2023-10-24, 07:28:
Curiously, even PC Speaker gets muted. […]
Show full quote

Curiously, even PC Speaker gets muted.

Symptomps:

Before SBEMU, pcspeaker sounds.

When SBEMU is executed (no matter of version), speakers do a pop sound.
Then, no sound, neither on PC Speaker.

I'm the author of this hdastat utility.

In the protocol displayed, I see that after sbemu has been executed, the HDA doesn't find any AFG ( audio function group ) codecs anymore. Without such a codec, sbemu cannot render anything.

Perhaps you should try the VSBHDA fork - communication with the codec is inherited from the MPXPLAY source code and I recall that I made some changes there ( although I cannot remember right now the details ).

Reply 1034 of 1632, by thp

User metadata
Rank Member
Rank
Member

Update on the AD1980 issue. Was doing some test builds and dr.zeissler tested over the last two weeks with some back-and-forth.

Turns out we were quite close to the real answer to begin with, 3 bits need to be set on the MISC (0x76) register:

0x4000 - AC97NC
0x0400 - HPSEL
0x0020 - LOSEL

Pull request for upstream SBEMU: https://github.com/crazii/SBEMU/pull/35

Reply 1035 of 1632, by thp

User metadata
Rank Member
Rank
Member

..and another PR that enables controlling the AC97 CD-IN mixer via the emulated Sound Blaster mixer. This allows playing back CD-Audio the "analog way", i.e. with a analog 4-pin cable going from the CD-ROM drive to the sound card's CD input. MSCDEX is of course still needed (games use it to control playback), and if your sound card doesn't have CD-Audio IN, or your CD drive doesn't have an analog audio out (or you just haven't connected them with a cable) then this won't work. I have successfully tested this on a K7S5A board.

https://github.com/crazii/SBEMU/pull/36

Reply 1036 of 1632, by vico

User metadata
Rank Newbie
Rank
Newbie
thp wrote on 2023-10-24, 20:14:

..and another PR that enables controlling the AC97 CD-IN mixer via the emulated Sound Blaster mixer. This allows playing back CD-Audio the "analog way", i.e. with a analog 4-pin cable going from the CD-ROM drive to the sound card's CD input. MSCDEX is of course still needed (games use it to control playback), and if your sound card doesn't have CD-Audio IN, or your CD drive doesn't have an analog audio out (or you just haven't connected them with a cable) then this won't work. I have successfully tested this on a K7S5A board.

https://github.com/crazii/SBEMU/pull/36

I did some tests with build 2023-10-24 of sbemu-x with my SB0100 (SBLive) sound card, for this I connected it to my super multi using a 4-pin cable but I have not been able to listen to the CD music in games like Fatal Racing and Rayman.

Also, I tested with my CT4740 sound card which I understand has an ES1373 chip but sbemu-x freezes.

Reply 1037 of 1632, by thp

User metadata
Rank Member
Rank
Member
vico wrote on 2023-10-28, 22:40:

I did some tests with build 2023-10-24 of sbemu-x with my SB0100 (SBLive) sound card, for this I connected it to my super multi using a 4-pin cable but I have not been able to listen to the CD music in games like Fatal Racing and Rayman.

Too bad. However, as it's a SB Live and it's just about CD-Audio, using EKM should work to enable CD-Audio from the mixer chip. I use it on another SB Live where I pass SB16 output through its Line-In, I'm sure something like that should work for CD-Audio as well (but haven't tested CD-Audio with EKM).

vico wrote on 2023-10-28, 22:40:

Also, I tested with my CT4740 sound card which I understand has an ES1373 chip but sbemu-x freezes.

Does the ES1373 work with MPXPlay? What about Windows or Linux?

Reply 1038 of 1632, by sergio_prado

User metadata
Rank Newbie
Rank
Newbie
vico wrote on 2023-10-28, 22:40:
thp wrote on 2023-10-24, 20:14:

I did some tests with build 2023-10-24 of sbemu-x with my SB0100 (SBLive) sound card, for this I connected it to my super multi using a 4-pin cable but I have not been able to listen to the CD music in games like Fatal Racing and Rayman.

Also, I tested with my CT4740 sound card which I understand has an ES1373 chip but sbemu-x freezes.

Where can I download this build?