Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GUS Emulation - Sound Effects in some games, but no Music. Other games crash #23

Open
mikboy018 opened this issue Nov 28, 2023 · 18 comments

Comments

@mikboy018
Copy link

mikboy018 commented Nov 28, 2023

So I ordered a couple of the 2.0 models, and put one in a 486, with another in a Pentium 2. They're both giving me similar interesting results, in that I can't get any GUS music to work. I'm pretty sure the hardware is fine, as MPU-401 worked great for Day of the Tentacle, X-Com, and Loom on my old 486. The ultimate talkie edition of monkey island 1 had some problematic music, but since that isn't really official, I don't think its as big a deal as GUS Music for me.

For GUS, I've tried Rise of the Triad (Shareware and Dark War), Raptor, Tyrian, and Jazz Jackrabbit (+ both Holiday Hare 94 and 95).

For Rise of the Triad:

  • Choosing Ultrasound for SFX appears to work, although I get no audio
  • Choosing Ultrasound for Music crashes

For Raptor (full and shareware):

  • Running setup causes no issues. On the Pentium 2, running the full game crashes on Music initialization, while on the 486 it launches, with no music or SFX.

For Tyrian:

  • Running ultramid prior to, launching setup, and then choosing Gravis-MIDI causes a runtime error (I can get a screenshot if it's helpful)

For Jazz Jackrabbit (HH94/HH95/CD):

  • Setup indicates it picks up the ULTRASND settings ('set ultrasnd=240,1,1,5,5' used, but I've also tried 3 for DMA on both systems).
  • Launching the game gives no errors, and sound effects play, but music will not.

I don't know the chipset of the 486 off-hand, but the Pentium 2 is a a socket 1 / ASUS P2L97 (intel 440lx chipset).

Anything else I should try/you'd like to know? I'm pretty new to GUS, so I'm not sure if I missed a step. I did run on both with the latest picogus release and the ultrasnd drivers/patches from the wiki.

I know this was tested heavily with demos, not sure where to go about getting one, but I'd be happy to try/post results. I can stream from either system with a little work, so video/audio capture is possible, too.

@mikboy018
Copy link
Author

Of note, this was the first time my 486 ran Day of the Tentacle without softMPU for my MT-32... I used to get memory errors, but that is no longer an issue!

@deepthaw
Copy link

What version of Tyrian? I've been able to run Tyrian 2000 pretty well perfectly using ULTRAMID and the Gravis MIDI option in game.

@mikboy018
Copy link
Author

Shareware (from an old demo disk I had as a kid) and Tyrian 2000 (from GoG)

@polpo
Copy link
Owner

polpo commented Nov 28, 2023

I've used Tyrian 2000 from GoG for most of my testing, so that's a known good setup.

@mikboy018 if your PSRAM is bad/marginal, that would affect GUS playback but none of the other modes. Could you run GUSDRAM to test the emulated GUS ram? http://cd.textfiles.com/pdos9606/SOUND/GRAVIS/MISC/GUSDRAM.ZIP

I test all PicoGUSes before I send them out using CapaMOD - can you download this (https://polpo.org/picogus/cmodtest.zip) and run cmod strshine.s3m and let me know how it plays?

@mikboy018
Copy link
Author

Thanks!

Ran both cmod & gusdram on the Pentium 2, as well as the 486.

In both cases, cmod froze, and gusdram reported no issues (photos attached).

pentium2
486

@mikboy018
Copy link
Author

mikboy018 commented Nov 29, 2023

Ok update for the 486: working great (if no other cards present).

I pulled the Aztech Sound Galaxy Washington out, and audio just worked in Jazz Jackrabbit. It's jumper was set to 220, and my ultrasnd variable was set to 240,3,3,5,5 as to not conflict. On this system, BLASTER was set to A220 I7 D1.

IMG_20231128_202929

Here is a shot of the autoexec.bat, in case that is useful.

IMG_20231128_204935

The Pentium 2 also has a 2nd soundcard, a Creative SB32... think it also conflicts?

@polpo
Copy link
Owner

polpo commented Nov 29, 2023

Your autoexec.bat looks OK to me - doesn’t look like anything should conflict. This is feeling like a DMA issue to me given the behavior you’ve described so far. Thanks for all of the detail you’ve given, it’s really helpful!

I have a board with a 440LX chipset and an AWE64 which should be pretty similar to your SB32… I’ll try to see if I can replicate the issue with that and the PicoGUS in the same system.

@mikboy018
Copy link
Author

Nice! Looking forward to seeing what you find on your end.

I did identify my 486 motherboard... link here (well, it's 'unidentified' here, but at least it has some detail)

@polpo
Copy link
Owner

polpo commented Nov 30, 2023

Well, I pulled my 440LX chipset motherboard (which I had never tested before) out of storage and all of the caps on the board are bad and it won't boot. I've ordered new capacitors so I can hopefully get that board working. In the meantime I tested the PicoGUS on a 430FX board, alongside an AWE64 as well as a Media Vision Jazz16. With the PicoGUS on port 240, IRQ 5 and DMA 3, and the AWE64 or Jazz16 on port 220, IRQ 7, and DMA 1, I've encountered no issues in Raptor, Tyrian, or Jazz Jackrabbit running in GUS mode. I'll get out a 440BX system I have and test on that as well.

Just to make sure... are the jumpers on your PicoGUS set to match the DMA/IRQ in your ULTRASND variable? With your variable, IRQ 5 should be set and there should be caps on the two DMA jumpers marked 3. Some people have been tripped up by this since on a real GUS, the base address is set with jumpers and DMA/IRQ are set via software, and on PicoGUS, the base address is set via software and DMA/IRQ are set with jumpers.

@mikboy018
Copy link
Author

Forward progress!

Raptor (Shareware) is working on the P2. I was using Phil's Computer Lab's MS-DOS mode made easy, and had been updating both autoexec.bat for windows and for the *.pif he created. What I didn't look at was Windows Device Manager, which set the SB32 to IRQ 5 anyway...

I disabled PNP OS in the Bios, Manually set my IRQ/DMA, and it's working now!

@mikboy018
Copy link
Author

mikboy018 commented Dec 1, 2023

I don't know a lot about GUS's, but should this be able to do music and sfx at the same time?

setting error on my end

@deepthaw
Copy link

deepthaw commented Dec 1, 2023 via email

@mikboy018
Copy link
Author

I'm good to close this, unless we want to try some things to see about compatibility with that symphony chip... happy to try stuff/test that as needed.

I mainly have it in the 486 to serve as an MPU-401 card, and it does that well, looking through my launch settings, even monkey island 1 (ultimate talkie) is working.

In any case, thanks for the help!

@polpo
Copy link
Owner

polpo commented Dec 1, 2023

I'm glad you've sorted things out! I haven't really used Win9x's MS-DOS mode so I hadn't thought about how that'd change your SB32's settings.

An IRQ conflict definitely explains the issues - for example in Jazz Jackrabbit, the GUS's timer IRQ drives the music playback while sound effects are triggered by the game independently of the music playback routine.

How are things on the 486? Is there still a conflict when you have the Aztech card installed?

@mikboy018
Copy link
Author

There are still conflicts on the 486. It wasn't one of the 'compatible' chipsets, but it seems like its the exact same issue. My autoexec.bat settings are set to that picture I took above.

I could try different IRQ/DMA combinations to see what works. That system doesn't have much in the way of BIOS settings I can modify.

@mikboy018
Copy link
Author

Looks like the intel configuration utility might be a good option

Will try this first. https://www.vogons.org/viewtopic.php?t=58009

@mikboy018
Copy link
Author

ICU worked to a degree.

I can't disable LPT from the BIOS like I could with the 486, so instead of setting the IRQ to 5 or 7, I went with ICU's suggested default 9(2), and Jazz Jackrabbit worked perfectly.

I went to try Raptor and Tyrian, and Raptor gave no sound. For Tyrian, I didn't attempt, as ULTRAMID threw the following error:

configuration file not found in ${ULTRADIR}/midi directory

Going to do a fresh reinstall of everything in C:\ultrasnd tomorrow, as that path is set right (autoexec.bat below)
IMG_20231203_021042

cmodtest also hangs on loading strshine.s3m

@mikboy018
Copy link
Author

No luck yet with Ultramid.

Disabling the Aztech (Sound Blaster Compatible) within ICU, & updating its IRQ to 7 in Autoexec.bat allows SCUMM games to use my Aztech for voice, and the picoGUS as an MPU-401 -- which was my real intended use case on this system. It's a bonus I can play Jazz Jackrabbit on it, especially this time of year.

Games working great:
picoGUS only: Jazz/HH94/HH95 (GoG Copy)
picoGUS (MPU-401): X-Com
picoGUS + Aztech: Any SCUMM games (including talkies)
Aztech only: Halloween Harry

Games not yet working:
Raptor (No sound at all from picoGUS, sfx from Aztech does work -- but not music)
Tyrian (Ultramid not yet working)

Honestly, I'd play raptor/tyrian on the Pentium 2 anyway, so I'm pretty happy with how this is going. Both cards are working great, but I definitely have some resource conflicts to figure out on the old 486.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants