ES1983 no support
Hello to the entire community. A query. Is it very difficult to make the ES1983 chip work in the emulator? I have already seen that ES1988 has been recently included, but it is not compatible with 1983 or 1983s. :( ES1983s is installed on all Dell Latitude CP series laptops. Thank you very much for your work.
The problem is debugging and testing, I think @jiyunomegami has the 1988 card to test easily.
I have a laptop with this chip and would be happy to help, are there any guides for this?
@AranVink Yes. :slightly_smiling_face: Go to release page of the version you'd like to test out, for instance 1.0beta4, scroll down to the Available files section, and then click on the arrow next to Preparing a bootable USB drive to expand the instructions on screen.
TL;DR: Go to the page of the latest release, download the .img.xz file and use a tool like balenaEtcher to write the image to a USB drive.
If the laptop you are testing is new enough to support booting from USB, and old enough to have either a legacy BIOS or a UEFI BIOS that still comes with a Compatibility Support Module (CSM), you can then just plug the USB stick into a USB port and boot it. It comes with a FreeDOS installation that loads SBEMU on boot.
Curious to hear about your findings. Good luck! :slightly_smiling_face:
@volkertb I will give that a try somewhere this week, thanks.
I think I need to add the PCI ID's if they aren't there already. The code mentions the specific Dell model I have with this chip here: https://github.com/crazii/SBEMU/blob/main/drivers/maestro3/maestro3.c#L1286C16-L1286C17 I'm hoping it's just a matter of tying in the right PCI ID's so it's detected, and then running some tests.
For the record I have the following 2 laptops with the ESS1983 chip on which I will test:
- Fujitsu Siemens Liteline
- Dell Latitude C810 1000X
Did some testing this weekend, but no luck so far. The PCI ID's seem to match what's in the driver: https://github.com/crazii/SBEMU/blob/main/mpxplay/au_cards/sc_allegro.c#L22 but still SBEMU isn't able to detect it. This was run on my Dell Latitude C810 1000X.
I now have a debug version compiled with some custom logging (the ESS Allegro/Linux Maestro 3 drivers are not so verbose). Will give that a try next week.
@AranVink The PCI device ID should be 1998. The driver currently only detects 1988. Try adding this line {"Maestro-3i", 0x125D, 0x1998, 0},
Woops. Completely misread that 1988 to 1998, while looking straight at it 🙈 Compiled a new version with added PCI ID, the results: ✅ Sound card detected ✅ OPL2 music playback ❌ Digital audio playback
Unfortunately on both laptops Jill of the Jungle crashes on startup, and digital audio playback hangs the system (Supaplex). Will do some more testing at the end of this week, once I find a way to quickly transfer test binaries over. (None of my laptops support USB boot, so far now it's 💾)
If OPL emulation works, digital audio should work as well. I don't know if those games work with SBEMU. You might want to try Descent setup, DN3D setup, or Doom.
I'll give those a try somewhere over the weekend and report back.
More of a general question in terms of way of working: The PCI ID's for the Maestro 3i was missing in the Allegro driver, but I also see other PCI device ID's that are not there. Is this intentional? Would these be added once they are confirmed working, or were they simply forgotten in the past?
My Allegro card has digital out (S/PDIF), but is not supported by the Linux driver. I tried to add S/PDIF support but couldn't get it to work. That is one of the reasons why I didn't put the other PCI device IDs in. Another is that other devices may not have an MPU-401 interface, and the Linux driver doesn't support it. SBEMU does, because all SBEMU needs is the I/O address. Now that we know that at least one other device works, it is probably OK to just add all of the other IDs.
Tested and working now on both of my laptops with this chip. SBEMU FM emulation sounds way better than the FM coming from the original ESS DOS drivers. 🎵
I've gone ahead and created a PR for this: https://github.com/crazii/SBEMU/pull/123 It took me a bit longer since I noticed the microphone was enabled by default through AC97. The PR also takes care of this, muting all the inputs of the card by default.
Can you please update the README with the tested/untested models recently added? And maybe close this issue, if it's completed.