VOGONS


SBEMU: Sound Blaster emulation on AC97

Topic actions

Reply 1180 of 1347, by veelstekel

User metadata
Rank Newbie
Rank
Newbie
vanfanel wrote on 2024-02-15, 17:42:
Hello! […]
Show full quote

Hello!

I have a MiniPC with Celeron N3350, on which SBEMU is almost working... but shows a very strange error:

Sound card: Intel HDA
Invalid Sound Card IRQ: 25, Trying to assign a valid IRQ...
Failed to assign a valid IRQ for sound card, abort.

With sbemu /SCL it's listed like:

Intel HDA: Intel SKL (Broxton-P) (80865A98) -> Unknown (00000000) 

Is it supposed to be working? Is there something else I can try?

I already disabled everything I could (network, misc PCI devices etc..) on the BIOS, to free up IRQs, but made no difference.

It seems to be the same problem that @zyzzle is having!
Did you get it working, @zyzzle?

Which user build are you using? Only user builds after Feb 5th supports irq > 15 I believe.

Update; just checked main.c; seems it's not implemented yet:

if(aui.card_irq > 15) //UEFI with CSM may have APIC enabled (16-31) - but we need read APIC, not implemented for now.

Reply 1181 of 1347, by vanfanel

User metadata
Rank Newbie
Rank
Newbie
veelstekel wrote on 2024-02-16, 07:51:
Which user build are you using? Only user builds after Feb 5th supports irq > 15 I believe. […]
Show full quote
vanfanel wrote on 2024-02-15, 17:42:
Hello! […]
Show full quote

Hello!

I have a MiniPC with Celeron N3350, on which SBEMU is almost working... but shows a very strange error:

Sound card: Intel HDA
Invalid Sound Card IRQ: 25, Trying to assign a valid IRQ...
Failed to assign a valid IRQ for sound card, abort.

With sbemu /SCL it's listed like:

Intel HDA: Intel SKL (Broxton-P) (80865A98) -> Unknown (00000000) 

Is it supposed to be working? Is there something else I can try?

I already disabled everything I could (network, misc PCI devices etc..) on the BIOS, to free up IRQs, but made no difference.

It seems to be the same problem that @zyzzle is having!
Did you get it working, @zyzzle?

Which user build are you using? Only user builds after Feb 5th supports irq > 15 I believe.

Update; just checked main.c; seems it's not implemented yet:

if(aui.card_irq > 15) //UEFI with CSM may have APIC enabled (16-31) - but we need read APIC, not implemented for now.

I'm using latest user build, but it's missing IRQ > 15 support for now. I will wait and see 😀

Reply 1182 of 1347, by zyzzle

User metadata
Rank Member
Rank
Member

There was a version of SBEMU which did enable IRQ > 15. I believe it was the 5 Feb. 2024 version. I have the same chipset and CPU as vanfanel (Apollolake with Celeron N3350 and Broxton Intel HDA). However, on the 5th Feb SBEMU, it appeared to work (ie, did detect IRQ 25 as being valid), yet still complete silence and even with proper SET BLASTER= environment setting aligning with SBEMU settings, no programs (real or protected mode) detected the "valid" SBEMU configured settings.

crazii commented above "The problem should still be your IRQ number. HDPMI doesn't handle IRQ number above 15, and SBEMU programs on legacy 2 cascade PICs which only have 16 bit masks. and also for IRQ above 15, the entry in interrupt vector table is unknown." and provided an alternate "real mode PCI BIOS" version of SBEMU, which still did not work on this system. It said "Failed to assign a Valid IRQ, aborted".

crazii again commented "On a modern PC, this PCI BIOS function may not bother to do the implementation at all (VirtualBox doesn't implemented it) and another issue on github also causes freeze. A good PCI BIOS implementation should reprogram APIC to get it routed to the right IRQ."

So, I don't know if it's possible to get it working, as it seems APIC is not routing to correct IRQ.

It's frustrating. I'm not sure if there's another way to convince APIC to get the right IRQ. Any further comments or insight is most welcomed.

@vanfanel, please try the 5.Feb version and report back if successful.

Reply 1183 of 1347, by veelstekel

User metadata
Rank Newbie
Rank
Newbie

Perhaps a stupid suggestion, but what if you install Windows 98; and assign an IRQ < 15 to the sound card in device management.
After that return to dos: https://groups.google.com/g/alt.msdos.batch/c/ZEXNzVUcHYw

Would that work?

Reply 1184 of 1347, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
zyzzle wrote on 2024-02-16, 12:55:

It's frustrating. I'm not sure if there's another way to convince APIC to get the right IRQ. Any further comments or insight is most welcomed.

This problem almost certainly can be solved - the simplest approach probably by not using the sound hardware's IRQ at all, and instead using another timer device.

I'm also interested in your APIC configuration. Could you run the APICinfo tool found at https://github.com/Baron-von-Riedesel/APICtools and display its results? No guarantee that it works on your machine, but worth a try.

Reply 1185 of 1347, by vanfanel

User metadata
Rank Newbie
Rank
Newbie
Baron von Riedesel wrote on 2024-02-16, 14:04:

This problem almost certainly can be solved - the simplest approach probably by not using the sound hardware's IRQ at all, and instead using another timer device.

I'm also interested in your APIC configuration. Could you run the APICinfo tool found at https://github.com/Baron-von-Riedesel/APICtools and display its results? No guarantee that it works on your machine, but worth a try.

Yes, of course. This is what APICInfo says:

Scanning SDTs...
RSDT/XSDT header at 795e50c0
Table Signature: XSDT
Table length: dc
Entries: 23
MADT at 795ef230, sig=APIC, length=132

APIC base address: fee00000
APICID=0
APICVersion=1060014
Task Priority Register=0
Destination Format Register=ffffffff
Spurious Interrupt Vector Register=10f (APIC enabled)
Interrupt Command Register Low=200
Interrupt Command Register High=f000000
Timer Local Vector Table Entry=10000 (masked)
Thermal Local Vector Table Entry=10000 (masked)
Performance Counter Local Vector Table Entry=10000 (masked)
Local Interrupt 0 Vector Table Entry=700 extINT
Local Interrupt 1 Vector Table Entry=400 NMI
Error Vector Table Entry=10000 (masked)
Timer Initial Count Register=0
Timer Current Count Register=0
Timer Divide Config Register=0
Extended APIC Feature Register=0
Extended APIC Control Register=0

MADT (length=132, LAPIC=fee00000, flags=1):
legacy PICs installed
Type 0: Processor LAPIC, ACPI Processor ID=1 APIC ID=0 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=2 APIC ID=2 flags=0
Type 0: Processor LAPIC, ACPI Processor ID=3 APIC ID=4 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=4 APIC ID=6 flags=0
Type 1: IOAPIC, ID=1 address=fec00000 GblSysIntBase=0
Type 2: IOAPIC Interrupt Source Override, Bus Src=0 Irq Src=0 GblSysInt=2 flags=0
Type 2: IOAPIC Interrupt Source Override, Bus Src=0 Irq Src=9 GblSysInt=9 flags=f
Type 4: LAPIC NMI, ACPI Processor ID=1 flags=d LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=2 flags=d LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=3 flags=d LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=4 flags=d LINT=1

IOAPIC fec00000
0 IOAPICID=1000000
1 IOAPICVER=770020
2 IOAPICARB=0
16 IOREDTBL=f7ff0000.10fff
18 IOREDTBL=335b0000.10c2e
20 IOREDTBL=fdff0000.10df5
22 IOREDTBL=b77f0000.10bf7
24 IOREDTBL=ff7f0000.10df6
26 IOREDTBL=fd7f0000.10ffe
28 IOREDTBL=77ff0000.10fcd
30 IOREDTBL=aff10000.109ff
32 IOREDTBL=feef0000.10ef8
34 IOREDTBL=ff7f0000.10fbf
36 IOREDTBL=7fff0000.107ef
38 IOREDTBL=ff7b0000.10fcf
40 IOREDTBL=ff8d0000.10fff
42 IOREDTBL=f9f70000.10fff
44 IOREDTBL=f5bf0000.10df7
Show last 106 lines
46 IOREDTBL=fffd0000.10ff7
48 IOREDTBL=df9f0000.10ffd
50 IOREDTBL=7a2f0000.10b4b
52 IOREDTBL=7f3e0000.10fef
54 IOREDTBL=bfff0000.10bf7
56 IOREDTBL=fbfb0000.10ebf
58 IOREDTBL=efff0000.10fb6
60 IOREDTBL=feaf0000.10bff
62 IOREDTBL=3d7e0000.10fff
64 IOREDTBL=cf1f0000.10d73
66 IOREDTBL=ef970000.10fff
68 IOREDTBL=eb6d0000.10d7f
70 IOREDTBL=febf0000.10fff
72 IOREDTBL=f7ff0000.10cef
74 IOREDTBL=aff70000.10e7f
76 IOREDTBL=fdfe0000.10dce
78 IOREDTBL=1f3e0000.10ef7
80 IOREDTBL=7fff0000.10fbf
82 IOREDTBL=7ddb0000.10fdd
84 IOREDTBL=b7ef0000.10fff
86 IOREDTBL=77fa0000.10ec2
88 IOREDTBL=f5bf0000.10e5e
90 IOREDTBL=defb0000.10ffd
92 IOREDTBL=ffff0000.10fff
94 IOREDTBL=fd330000.10dfd
96 IOREDTBL=4ddf0000.10ded
98 IOREDTBL=f76f0000.10dff
100 IOREDTBL=fffb0000.10ff7
102 IOREDTBL=fffe0000.10feb
104 IOREDTBL=ef9e0000.10beb
106 IOREDTBL=7dff0000.10dcb
108 IOREDTBL=bffd0000.10ff7
110 IOREDTBL=bffb0000.10f7f
112 IOREDTBL=ff720000.10fdf
114 IOREDTBL=74bc0000.10eff
116 IOREDTBL=ffff0000.10e5f
118 IOREDTBL=ffff0000.10eff
120 IOREDTBL=fffe0000.1099f
122 IOREDTBL=bdff0000.10dfd
124 IOREDTBL=d77a0000.10fff
126 IOREDTBL=ff3e0000.10fbf
128 IOREDTBL=afff0000.107ef
130 IOREDTBL=f52f0000.1017e
132 IOREDTBL=ffdf0000.10e7f
134 IOREDTBL=ffdf0000.10c3e
136 IOREDTBL=ff9f0000.107ba
138 IOREDTBL=fbd80000.10fed
140 IOREDTBL=efff0000.10ded
142 IOREDTBL=ffbf0000.10bff
144 IOREDTBL=bbd70000.10efe
146 IOREDTBL=ffff0000.10fef
148 IOREDTBL=dffe0000.10fe7
150 IOREDTBL=dfbd0000.107ff
152 IOREDTBL=f5bf0000.10afe
154 IOREDTBL=a7af0000.10de5
156 IOREDTBL=fcff0000.10bff
158 IOREDTBL=bfad0000.1067f
160 IOREDTBL=acdb0000.10dff
162 IOREDTBL=dfcd0000.10f7b
164 IOREDTBL=efff0000.10c7f
166 IOREDTBL=ed7b0000.10fbf
168 IOREDTBL=ef4f0000.10dee
170 IOREDTBL=ffff0000.10ffd
172 IOREDTBL=ffff0000.107d2
174 IOREDTBL=fedf0000.109ff
176 IOREDTBL=ff1d0000.10ec5
178 IOREDTBL=3ffe0000.10cff
180 IOREDTBL=5ffa0000.10fef
182 IOREDTBL=ffff0000.1056f
184 IOREDTBL=6ff60000.107ff
186 IOREDTBL=fbfb0000.107ef
188 IOREDTBL=fefa0000.10f7d
190 IOREDTBL=faf50000.10ffe
192 IOREDTBL=aeff0000.10bfe
194 IOREDTBL=dffe0000.10f9f
196 IOREDTBL=dfe70000.10bdf
198 IOREDTBL=fafe0000.10bef
200 IOREDTBL=f57f0000.10fff
202 IOREDTBL=7dff0000.10fff
204 IOREDTBL=bbcf0000.10afc
206 IOREDTBL=fcf50000.10f9d
208 IOREDTBL=ff9f0000.107f7
210 IOREDTBL=fffd0000.10fef
212 IOREDTBL=cff20000.10fff
214 IOREDTBL=fa7d0000.10eeb
216 IOREDTBL=7bbd0000.107fe
218 IOREDTBL=ffbf0000.107ff
220 IOREDTBL=ffff0000.10fdb
222 IOREDTBL=dbfb0000.10f7d
224 IOREDTBL=fcff0000.1075f
226 IOREDTBL=a6fd0000.107cd
228 IOREDTBL=f3ff0000.10ff5
230 IOREDTBL=ffff0000.10dfb
232 IOREDTBL=bdbd0000.10fef
234 IOREDTBL=f5fb0000.10fde
236 IOREDTBL=7feb0000.10ef7
238 IOREDTBL=ffff0000.10ffd
240 IOREDTBL=effd0000.10ff5
242 IOREDTBL=ffdf0000.10fec
244 IOREDTBL=b0de0000.10fff
246 IOREDTBL=ef360000.10f7f
248 IOREDTBL=fa7e0000.10f3f
250 IOREDTBL=ff7a0000.10fff
252 IOREDTBL=bb6f0000.10fff
254 IOREDTBL=fefb0000.10dd7

@zyzzle: I tried 5.Feb version and I got IRQ 7, but then no audio... same as you 🙁

Reply 1186 of 1347, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Nice to have some APIC tools, just for comparison I post the log on my intel P67 system with working SBEMU and legacy interrupts. I never tried any APIC programming, I just know it's memory mapped device described by some intel spec...
BTW I need to run with HDPMI32, with CWSDPMI it didn't work (reported only few lines and complained about unmapping failed)

APICINFO.LOG:

Details

Scanning SDTs...
RSDT/XSDT header at cf7b3040
Table Signature: RSDT
Table length: 50
Entries: 5
MADT at cf7b81c0, sig=APIC, length=188

APIC base address: fee00000
APICID=0
APICVersion=1060015
Task Priority Register=0
Destination Format Register=ffffffff
Spurious Interrupt Vector Register=10f (APIC enabled)
Interrupt Command Register Low=c0685
Interrupt Command Register High=ff000000
Timer Local Vector Table Entry=30080 (masked)
Thermal Local Vector Table Entry=10000 (masked)
Performance Counter Local Vector Table Entry=10000 (masked)
Local Interrupt 0 Vector Table Entry=700 extINT
Local Interrupt 1 Vector Table Entry=400 NMI
Error Vector Table Entry=10000 (masked)
Timer Initial Count Register=f424
Timer Current Count Register=bf3a
Timer Divide Config Register=8
Extended APIC Feature Register=0
Extended APIC Control Register=0

MADT (length=188, LAPIC=fee00000, flags=1):
legacy PICs installed
Type 0: Processor LAPIC, ACPI Processor ID=0 APIC ID=0 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=1 APIC ID=2 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=2 APIC ID=4 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=3 APIC ID=6 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=4 APIC ID=4 flags=0
Type 0: Processor LAPIC, ACPI Processor ID=5 APIC ID=5 flags=0
Type 0: Processor LAPIC, ACPI Processor ID=6 APIC ID=6 flags=0
Type 0: Processor LAPIC, ACPI Processor ID=7 APIC ID=7 flags=0
Type 1: IOAPIC, ID=2 address=fec00000 GblSysIntBase=0
Type 2: IOAPIC Interrupt Source Override, Bus Src=0 Irq Src=0 GblSysInt=2 flags=0
Type 2: IOAPIC Interrupt Source Override, Bus Src=0 Irq Src=9 GblSysInt=9 flags=d
Type 4: LAPIC NMI, ACPI Processor ID=0 flags=0 LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=1 flags=0 LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=2 flags=0 LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=3 flags=0 LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=4 flags=0 LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=5 flags=0 LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=6 flags=0 LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=7 flags=0 LINT=1

IOAPIC fec00000
0 IOAPICID=0
1 IOAPICVER=170020
2 IOAPICARB=170020
16 IOREDTBL=0.10000
18 IOREDTBL=0.10000
20 IOREDTBL=0.10000
22 IOREDTBL=0.10000
24 IOREDTBL=0.10000
26 IOREDTBL=0.10000
28 IOREDTBL=0.10000
30 IOREDTBL=0.10000
32 IOREDTBL=0.10000
34 IOREDTBL=0.10000
36 IOREDTBL=0.10000
38 IOREDTBL=0.10000
40 IOREDTBL=0.10000
42 IOREDTBL=0.10000
44 IOREDTBL=0.10000
46 IOREDTBL=0.10000
48 IOREDTBL=0.10000
50 IOREDTBL=0.10000
52 IOREDTBL=0.10000
54 IOREDTBL=0.10000
56 IOREDTBL=0.10000
58 IOREDTBL=0.10000
60 IOREDTBL=0.10000
62 IOREDTBL=0.10000

APICTMR.LOG:
APIC base address register (MSR 1Bh): 0fee00900
APIC enabled
Timer LVTE=30080
press ESC to exit...
(text bar was moving)

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

Reply 1187 of 1347, by Baron von Riedesel

User metadata
Rank Member
Rank
Member

Thanks for the feedback ( although I actually questioned zyzzle 😀 )

There's nothing wrong with the APIC status.
In case you cannot interpret the data, the summary is:
- the legacy PICs exist in the machine
- APIC runs in so-called "virtual wire mode" ( can be concluded by line "Local Interrupt 0 Vector Table Entry=700 extINT"; INT vectors are supplied by PIC )
- IOAPIC is "inactive" ( no redirection entries active , all entries "masked" ( bit 16 of IOREDTBL entries is 1 )

That's the very standard for a PC-AT compatible setting on "modern" machines, resulting in just the 15 IRQ lines supplied by the legacy PICs - APIC doesn't get in the way in the least.

Reply 1189 of 1347, by zyzzle

User metadata
Rank Member
Rank
Member
Baron von Riedesel wrote on 2024-02-17, 08:23:

Thanks for the feedback ( although I actually questioned zyzzle 😀 )

My sincere apologies for not replying sooner!

This is what APICINFO says when run under HDPMI32i:

Scanning SDTs...
RSDT/XSDT header at 79323188
Table Signature: XSDT
Table length: f4
Entries: 26
MADT at 7933a000, sig=APIC, length=132

APIC base address: fee00000
APICID=0
APICVersion=1060014
Task Priority Register=0
Destination Format Register=ffffffff
Spurious Interrupt Vector Register=10f (APIC enabled)
Interrupt Command Register Low=200
Interrupt Command Register High=f000000
Timer Local Vector Table Entry=20005 fixed
Thermal Local Vector Table Entry=10000 (masked)
Performance Counter Local Vector Table Entry=10000 (masked)
Local Interrupt 0 Vector Table Entry=700 extINT
Local Interrupt 1 Vector Table Entry=400 NMI
Error Vector Table Entry=10000 (masked)
Timer Initial Count Register=ffffffff
Timer Current Count Register=57506256
Timer Divide Config Register=0
Extended APIC Feature Register=0
Extended APIC Control Register=0

MADT (length=132, LAPIC=fee00000, flags=1):
legacy PICs installed
Type 0: Processor LAPIC, ACPI Processor ID=1 APIC ID=0 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=2 APIC ID=2 flags=0
Type 0: Processor LAPIC, ACPI Processor ID=3 APIC ID=4 flags=1
Type 0: Processor LAPIC, ACPI Processor ID=4 APIC ID=6 flags=0
Type 1: IOAPIC, ID=1 address=fec00000 GblSysIntBase=0
Type 2: IOAPIC Interrupt Source Override, Bus Src=0 Irq Src=0 GblSysInt=2 flags=0
Type 2: IOAPIC Interrupt Source Override, Bus Src=0 Irq Src=9 GblSysInt=9 flags=f
Type 4: LAPIC NMI, ACPI Processor ID=1 flags=d LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=2 flags=d LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=3 flags=d LINT=1
Type 4: LAPIC NMI, ACPI Processor ID=4 flags=d LINT=1

IOAPIC fec00000
0 IOAPICID=1000000
1 IOAPICVER=770020
2 IOAPICARB=0
16 IOREDTBL=a7df0000.10fc3
18 IOREDTBL=ffff0000.10e3e
20 IOREDTBL=f7fc0000.10fb7
22 IOREDTBL=bffe0000.10fbb
24 IOREDTBL=dffa0000.10fe3
26 IOREDTBL=f7fe0000.105ff
28 IOREDTBL=e6fd0000.10bff
30 IOREDTBL=5edf0000.10d1f
32 IOREDTBL=fdf70000.10d7f
34 IOREDTBL=deff0000.10f77
36 IOREDTBL=daef0000.10ffd
38 IOREDTBL=ffff0000.10aef
40 IOREDTBL=ffbf0000.10ff9
42 IOREDTBL=ffe70000.10cb9
44 IOREDTBL=fdff0000.10eff
Show last 106 lines
46 IOREDTBL=7f3f0000.10fda
48 IOREDTBL=effb0000.101ff
50 IOREDTBL=fffb0000.10ffd
52 IOREDTBL=fddd0000.10afe
54 IOREDTBL=7fff0000.10f5f
56 IOREDTBL=4fff0000.10dff
58 IOREDTBL=6ffb0000.10fff
60 IOREDTBL=fef90000.10dff
62 IOREDTBL=7fff0000.10fff
64 IOREDTBL=f7f40000.105be
66 IOREDTBL=e5ef0000.10ffe
68 IOREDTBL=2fff0000.10eef
70 IOREDTBL=ebf0000.10ffb
72 IOREDTBL=ffff0000.10ff7
74 IOREDTBL=ddf70000.10f5d
76 IOREDTBL=3fef0000.10f2f
78 IOREDTBL=fee70000.10bff
80 IOREDTBL=bffe0000.10ffc
82 IOREDTBL=775f0000.10fff
84 IOREDTBL=9fff0000.10aff
86 IOREDTBL=df7f0000.10cbb
88 IOREDTBL=3ffb0000.10df9
90 IOREDTBL=7d7f0000.106bc
92 IOREDTBL=fef90000.10f3f
94 IOREDTBL=7bd60000.10b3d
96 IOREDTBL=7f7e0000.107b9
98 IOREDTBL=fd7f0000.10ede
100 IOREDTBL=fbdf0000.10efe
102 IOREDTBL=afbf0000.10f7f
104 IOREDTBL=affd0000.10fbf
106 IOREDTBL=ffbf0000.10f3c
108 IOREDTBL=fffd0000.103ff
110 IOREDTBL=a67f0000.10f6d
112 IOREDTBL=afdb0000.107f3
114 IOREDTBL=bdfe0000.10ff5
116 IOREDTBL=adf70000.10ff7
118 IOREDTBL=ffff0000.10ceb
120 IOREDTBL=6fa40000.10f7a
122 IOREDTBL=ffff0000.10763
124 IOREDTBL=effb0000.105fe
126 IOREDTBL=fdff0000.108fb
128 IOREDTBL=133f0000.10f9d
130 IOREDTBL=b35d0000.10bdc
132 IOREDTBL=deff0000.10ff2
134 IOREDTBL=e76d0000.10fff
136 IOREDTBL=1fff0000.10fdf
138 IOREDTBL=757d0000.10bfb
140 IOREDTBL=febf0000.10ffe
142 IOREDTBL=ad570000.10ffb
144 IOREDTBL=fdff0000.109fa
146 IOREDTBL=5efe0000.10fef
148 IOREDTBL=dfdf0000.10f87
150 IOREDTBL=bdf70000.10ebb
152 IOREDTBL=ff6f0000.10fd7
154 IOREDTBL=e7fd0000.107dd
156 IOREDTBL=fffe0000.109ff
158 IOREDTBL=5dff0000.10df4
160 IOREDTBL=ddd70000.10fbb
162 IOREDTBL=fefd0000.10ffb
164 IOREDTBL=f67c0000.105ff
166 IOREDTBL=f7ad0000.107fc
168 IOREDTBL=be9b0000.10fee
170 IOREDTBL=e1ef0000.107ef
172 IOREDTBL=bfff0000.107fe
174 IOREDTBL=bdff0000.10f8f
176 IOREDTBL=aff70000.10fdf
178 IOREDTBL=97ff0000.10bcd
180 IOREDTBL=3f7d0000.10ff7
182 IOREDTBL=77cd0000.10fff
184 IOREDTBL=f7fd0000.10fff
186 IOREDTBL=5fdf0000.10ff7
188 IOREDTBL=db7d0000.10ffb
190 IOREDTBL=fffc0000.10fff
192 IOREDTBL=cb7f0000.10eff
194 IOREDTBL=ebd90000.10fd7
196 IOREDTBL=ffdd0000.10ffb
198 IOREDTBL=f5af0000.106ef
200 IOREDTBL=d6fb0000.10ddb
202 IOREDTBL=feff0000.10fbf
204 IOREDTBL=fffb0000.107d7
206 IOREDTBL=efdf0000.10ef7
208 IOREDTBL=abff0000.106ef
210 IOREDTBL=dfdf0000.10f6d
212 IOREDTBL=befd0000.10ffe
214 IOREDTBL=ff6e0000.10f7f
216 IOREDTBL=bffd0000.10fc7
218 IOREDTBL=5fa70000.10bff
220 IOREDTBL=f7bb0000.10f7f
222 IOREDTBL=feef0000.105ff
224 IOREDTBL=fbff0000.10f1d
226 IOREDTBL=ffdf0000.10ff5
228 IOREDTBL=fbff0000.10fef
230 IOREDTBL=fffd0000.10ffb
232 IOREDTBL=f9fe0000.10ff9
234 IOREDTBL=7bbb0000.106df
236 IOREDTBL=ffff0000.1077d
238 IOREDTBL=ffff0000.10def
240 IOREDTBL=dbfb0000.10f9f
242 IOREDTBL=c7ff0000.10fef
244 IOREDTBL=9ffd0000.107df
246 IOREDTBL=f7e50000.109ff
248 IOREDTBL=fffd0000.10fff
250 IOREDTBL=ff3d0000.10eed
252 IOREDTBL=fafa0000.10b3f
254 IOREDTBL=95bf0000.10ebf

This is what your APICTIMER.EXE says:

APIC base address register (MSR 1Bh): 0fee00900
APIC enabled
APIC timer already in use

I hope the above might be diagnostic for my system somehow... in solving the mysteries of the silent SBEMU and VSBHDA on my laptop with IRQ25 Intel HDA...

Reply 1190 of 1347, by Baron von Riedesel

User metadata
Rank Member
Rank
Member

> My sincere apologies for not replying sooner!

No Problem.

The only issue I can see in your report is that the LAPIC timer is demasked. It's routed to INT 5, which is odd, because it "should" be >= 0x10 to work. So it's "activated", but almost certainly dysfunctional with those settings.

However, that's surely not related to the "invalid" sound IRQ. That might be an error in an ACPI table ( the DSDT, IIRC ).

Reply 1191 of 1347, by zyzzle

User metadata
Rank Member
Rank
Member
Baron von Riedesel wrote on 2024-02-21, 07:34:

The only issue I can see in your report is that the LAPIC timer is demasked. It's routed to INT 5, which is odd, because it "should" be >= 0x10 to work. So it's "activated", but almost certainly dysfunctional with those settings.

However, that's surely not related to the "invalid" sound IRQ. That might be an error in an ACPI table ( the DSDT, IIRC ).

Probably it's "impossible" to change APIC timer from interrupt 5 to another INT which is >=16. So, this is down to a problematic / incorrect BIOS code, wherby the "masking" is LAPIC timer is not functioning correctly.

Still don't see how APIC timer relates to assigning an IRQ for emulated Intel HDA Sound Blaster. Bottom line is it seems my BIOS somehow has an incorrect ACPI table. But, I don't think it's possible to dynamically alter the ACPI table under DOS, is it?

vanfanel had same problem above (IRQ 25 reported) for the Intel HDA sound. Is the provided APIC info beneath that post also showing the same "demasking" where INT5 (or one < 0x10) is being used instead of the "proper" interrupt? Very strange and mysterious problem / incompatible BIOS in these two systems.

Reply 1192 of 1347, by Baron von Riedesel

User metadata
Rank Member
Rank
Member
zyzzle wrote on 2024-02-22, 03:08:

Probably it's "impossible" to change APIC timer from interrupt 5 to another INT which is >=16. So, this is down to a problematic / incorrect BIOS code, wherby the "masking" is LAPIC timer is not functioning correctly.

No, this is a pure software thing, this LAPIC registers surely can be altered.

Still don't see how APIC timer relates to assigning an IRQ for emulated Intel HDA Sound Blaster.

It's not related. I just mentioned it because it was the only oddity in your report.

vanfanel had same problem above (IRQ 25 reported) for the Intel HDA sound. Is the provided APIC info beneath that post also showing the same "demasking" where INT5 (or one < 0x10)

No, the line in your post is:
"Timer Local Vector Table Entry=20005 fixed "
while in his report there's
"Timer Local Vector Table Entry=10000 (masked) "
which is the usuall setup.

Perhaps we should still try to simply change the interrupt line/pin in the HDA's PCI config space. After all, the HDA device in your machine is an (internal) PCI express device, so the whole interrupt thing is something that is "emulated". It might help to modify both the "interrupt line" and the "interrupt pin" in the config space.

Reply 1194 of 1347, by dontbugster

User metadata
Rank Newbie
Rank
Newbie
thp wrote on 2024-03-23, 08:35:

Mine was actually before :p (much less relevant yt channel)

https://youtu.be/UX9HhDrsq3k?si=Moxiv-2okEqlT_qA

It has English subs

Reply 1195 of 1347, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
dontbugster wrote on 2024-03-24, 15:23:
Mine was actually before :p (much less relevant yt channel) […]
Show full quote
thp wrote on 2024-03-23, 08:35:

Mine was actually before :p (much less relevant yt channel)

https://youtu.be/UX9HhDrsq3k?si=Moxiv-2okEqlT_qA

It has English subs

Thanks, dontbugster. I'm doing Duolingo Spanish course and you video is a good reason for language immersion 😁

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

Reply 1197 of 1347, by dontbugster

User metadata
Rank Newbie
Rank
Newbie
Bondi wrote on 2024-03-24, 15:39:
dontbugster wrote on 2024-03-24, 15:23:
Mine was actually before :p (much less relevant yt channel) […]
Show full quote
thp wrote on 2024-03-23, 08:35:

Mine was actually before :p (much less relevant yt channel)

https://youtu.be/UX9HhDrsq3k?si=Moxiv-2okEqlT_qA

It has English subs

Thanks, dontbugster. I'm doing Duolingo Spanish course and you video is a good reason for language immersion 😁

Nice!
hehe I hope I had good pronunciation. It's hard sometimes to play and talk at the same time.

Anyway, SBemu is better and better on each release and a real game changer.