VOGONS


Reply 400 of 1061, by Lennart

User metadata
Rank Member
Rank
Member
underthebridge wrote on 2020-12-05, 15:09:

I was thinking... the CS4232 has an external OPL3, and the Windows drivers readily utilize this OPL3 chip for FM. Why not compare how the CS4232 drivers work with the CS4237 ? ... Perhaps it would shed some light on how to force OPL3 sound.

Yeah, that might be worth a try. My Windows 98SE installation accidentally recognized the Orpheus as a Turtle Beach Tropez Plus (CS4232 + Yamaha OPL3) and installed its drivers instead. I have both cards in my system at the moment as I'm comparing them and deciding which one to keep in this PC. After disabling the Tropez Plus to free up resources for the Orpheus, it seemed to work fine with the CS4232 drivers. You're missing the additional features that the CS4237 offers of course, like S/PDIF. Haven't actually tested this to be honest, but can't imagine that it would work. But it did allow me to use the external Yamaha OPL3 on the card 😀 So at least the differences are small enough for the CS4237 to work with older drivers.

Reply 403 of 1061, by keropi

User metadata
Rank l33t++
Rank
l33t++

Yeah PCMIDI part just adds the "intelligent roland mode" to the mix so if you don't care about mt-32 stuff it won't offer much to you.
The CS4237 does offer a MPU like a SB16 (but without the bugs) so it is perfect for the X2 and GM gaming in general.

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 405 of 1061, by keropi

User metadata
Rank l33t++
Rank
l33t++
S_crumb wrote on 2020-12-30, 20:40:

I mean, the kid in me still wants an MT-32....but the prices are stupid now. I missed my window.

well there are various pi-midi projects now - here is the main pi fw that does this: https://github.com/dwhinham/mt32-pi
there is a list of existing pi hats on that github - and also dreamblaster is working on something similar: WP32 McCake : MT32 compatible waveblaster board

Incidentally today I finally tested Edu's PI-MIDI hat , it was very nice - the sound output is cleaner than the real mt-32 but it does sound and behave like one , I was impressed tbh
Will use it on my test bench and retire the real mt-32 to my gaming setup 😀

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 406 of 1061, by S_crumb

User metadata
Rank Newbie
Rank
Newbie

I've been trying to wrap my mind around all of the developments recently....it's daunting.

So to be clear...an Orpheus I (with PCMIDI installed) could work with a RPI-midi emulation or the future McCake?

Reply 410 of 1061, by bitslasher

User metadata
Rank Newbie
Rank
Newbie

I can only imagine the work you guys have put into this, it shows in the beautiful card you've produced! Thank you for creating this. I've put a request in on your page. Hopefully I can get in on the next batch you create.

I'm not an ancient alien theorist, but if I was one, I'd theorize that you guys are a 2nd arrival of an ancient alien race. A race, who long ago, in the golden age of ISA, existed in many different tribes. They left behind hoards of sound cards of different shapes and sizes. We now study and experiment with them, to learn about their creators from long ago. Except now a creator has re-appeared, re-taking control of the elemental forces their ancestors used long ago, again to convey onto us a new generation of even better sound cards.

If this is true, as ancient alien theorists would predict, is it then also possible, that the same powerful entities that created this new ISA card, could also have the power to create a properly functioning PCI card that works in DOS? Could this even be possible in the not-so-distant future? Only they know...

As Ancient Aliens intro asks:

  1. Who were they? Sound card manufacturers
  2. Why did they come? To build sound cards
  3. What did they leave behind? Sound cards that work great, except for one annoying issue...
  4. Where did they go? No one knew...
  5. Will they return? I think we know he answer now...

Reply 412 of 1061, by Tiido

User metadata
Rank l33t
Rank
l33t

DPMI will not help with getting sound in DOS, the problem is very much hardware though there are ways to reach compatibility through software which involves trapping all relevant hardware accesses and emulating them, which is exactly what drivers in Windows are doing to gain SB compatibility on things that lack it normally. DPMI will not be of help there, it doesn't provide hardware access trapping interfaces and any methods to manage such things. It is for memory management and having access to real mode services from protected mode.

PCI completely lacks ISA DMA capability which is what all the ISA cards rely on and there are limitations with IRQ support too. PCI to ISA bridges use special signals to facilitate this compatibility and all of it is chipset dependent (same signals as found on PC/PCI connector aka SBlink). Pure PCI slot alone cannot achieve DOS games compatibility, a level of software emulation is necessary with access to protected mode to have ability to trap IO and memory accesses. There will be challenges with achieving timing compatibility, since things will not really be able to work same way as actual hardware does.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 413 of 1061, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

A DPMI host is allowed to run protected-mode DPMI clients in ring 3 (which is exactly what windows did). That means it has full control over all memory mappings and hardware access, not the client.

Reply 414 of 1061, by keropi

User metadata
Rank l33t++
Rank
l33t++

hahaha thanks for the kind words bitslasher !
atm there is no plan to make a PCI soundcard, it is like Tiido mentions - very hard to achieve good DOS compatibility. It would need some serious software work to do it and in the end I fear things won't be better than what solurions aureal/creative/yamaha/etc offered in the past.

The most promising thing in PCI world atm is the Fortex, the A3D & XG/OPL3 accelerator (Vortex 2 + YMF744 combo sound card) - so keep an eye on it for a quality PCI soundcard!

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 415 of 1061, by Tiido

User metadata
Rank l33t
Rank
l33t
jmarsh wrote on 2021-01-04, 06:58:

A DPMI host is allowed to run protected-mode DPMI clients in ring 3 (which is exactly what windows did). That means it has full control over all memory mappings and hardware access, not the client.

I'm still not sure where DPMI will fit in. What Windows is doing with hardware for DOS programs has nothing to do with DPMI and only to do with hardware virtualisation done by the variety of drivers, DPMI itself is only a software interface for memory management primarly with few things to allow real mode business such as DOS ints for file IO and the emulation component necessary to achieve ISA compatibility from PCI doesn't have to be a DPMI host or built into one though it must get along with EMM386 in some way which normally takes over the machine in many confs...

The main problem A) is that PCI bus has no method to request transfers from the ISA DMA controller. ISA cards have direct connections to the controller and all of the arbitration is done by pulsing those signals and DMA controller simply puts the right bytes on the bus which the card then processes into sound.
To get ISA style sound going over PCI, the software must trap all the writes to the relevant DMA controller channel, figure out where data comes from and how much there is, and get the sound card play back that data using PCI bus mastering, while at the same time emulating the DMA controller so that whatever software that polls it will not get stuck waiting for transfers that never happen. There's also great potential for timings related issues but how much they matter I wouldn't know.

Main problem B) is that PCI cannot signal any interrupt it desires, there are 4x hardware interrupts named INT A/B/C/D for the entire PCI bus and how they are mapped to the IRQ lines of the IRQ controller depends solely on what BIOS decided for you. Whatever of the 4 interrupts the card will fire depends on which slot the card is inserted, every slot is supposed to advance the ordering of the 4 interrupts so that first slot gets INT A first, then BCD, second slot gets B first, then CDA, 3rd slot C first, then DAB and so on. You may get IRQ10 in one slot, 11 in another, and maybe never IRQ 5 or 7 that is the most desired one.
To an extent this can be solved in software, by installing a stub that calls the IRQ handler of choice but it will fail with any software that explicitly masks out IRQs it doesn't deem necessary and will not work in protected mode stuff where software will map things to its liking.

All existing implementations to the problem have compatibility issues, some are better than others. I'm not sure what other issues there could be that get in the way in various software.

PC/PCI connector solves these issues by providing actual hardware mechanism that lets one have full ISA style DMA and IRQ on PCI but unfortunately this is absent on all hardware where you normally do not find any ISA.

This stuff doesn't belong in this thread and should be moved to that one thread about PCI chipsets and sound, or maybe its own "ISA sound hardware on PCI bus" or something like it...

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 416 of 1061, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
Tiido wrote on 2021-01-04, 11:19:

I'm still not sure where DPMI will fit in. What Windows is doing with hardware for DOS programs has nothing to do with DPMI and only to do with hardware virtualisation done by the variety of drivers, DPMI itself is only a software interface for memory management primarly with few things to allow real mode business such as DOS ints for file IO and the emulation component necessary to achieve ISA compatibility from PCI doesn't have to be a DPMI host or built into one though it must get along with EMM386 in some way which normally takes over the machine in many confs...

Port trapping only works if the app is restricted to running in ring 3. The DPMI host is what controls that.
EMM386 does not implement DPMI, it uses VCPI; when an app requests to switch to protected mode it switches to ring 0 and hands over complete control of the machine.

Reply 417 of 1061, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Tiido wrote on 2021-01-04, 11:19:

Main problem B) is that PCI cannot signal any interrupt it desires, there are 4x hardware interrupts named INT A/B/C/D for the entire PCI bus and how they are mapped to the IRQ lines of the IRQ controller depends solely on what BIOS decided for you. Whatever of the 4 interrupts the card will fire depends on which slot the card is inserted, every slot is supposed to advance the ordering of the 4 interrupts so that first slot gets INT A first, then BCD, second slot gets B first, then CDA, 3rd slot C first, then DAB and so on. You may get IRQ10 in one slot, 11 in another, and maybe never IRQ 5 or 7 that is the most desired one.
To an extent this can be solved in software, by installing a stub that calls the IRQ handler of choice but it will fail with any software that explicitly masks out IRQs it doesn't deem necessary and will not work in protected mode stuff where software will map things to its liking.

Would it be a crazy idea to have such a hypothetical PCI sound card card have a cable run out of its backplate that plugs into a PC's parallel port, allowing the card to trigger IRQ7 through pin 10 on the parallel port, as part of some hardware-assisted Sound Blaster emulation capability? It would still leave the DMA emulation to be solved, but it would at least solve the IRQ part of the problem, right?

And in the case of a more modern PC that doesn't have a parallel port, perhaps the BIOS would automatically allocate IRQ7 to it if the PCI sound card reported itself as a parallel port adapter somehow? I mean, perhaps there's some kind of way for modern BIOSes to recognize PCI(e) parallel port cards, so they can be assigned the typical legacy resources from the DOS era, and such a mechanism could be exploited by a PCI sound card for the purpose of Sound Blaster emulation?

This stuff doesn't belong in this thread and should be moved to that one thread about PCI chipsets and sound, or maybe its own "ISA sound hardware on PCI bus" or something like it...

Agreed, but the fact that this question keeps coming up in many threads shows that this is a tenacious topic that has fascinated a lot of people in this forum (to the point of obsession), myself admittedly included.

I believe this existing topic would be suitable for a continuation of this discussion: With all of great new ISA sound cards coming out (even with FPGA), what is theoratically stopping a PCIE implementation?

(It mentions PCIe instead of PCI, but both have basically the same challenges when it comes to emulating Sound Blaster and other ISA sound cards.)

Reply 419 of 1061, by keropi

User metadata
Rank l33t++
Rank
l33t++
mothergoose729 wrote on 2021-01-04, 19:17:

Hey just curious, any idea how long the order backlog is?

pm me your email or name and I will tell you where on the list you are 😀

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website