Git Product home page Git Product logo

Comments (8)

alunbestor avatar alunbestor commented on August 26, 2024

OK, I can replicate what you're describing and the in-game music does indeed play in both OS X and Windows DOSBox, but is absent in Boxer.

For the sake of precision I should note that the missing music isn't necessarily MIDI: the GOG release comes preconfigured to use Sound Blaster 16 for music, which plays it via FM synthesis (which uses quite a different emulation pathway than actual MIDI playback).

This indicates that it's not a problem with Boxer's own custom MIDI-handling, but probably that some difference between Boxer's emulation environment and DOSBox's is confusing the game into not playing the music. The trial continues.

from boxer.

alunbestor avatar alunbestor commented on August 26, 2024

I've tracked the problem now and boy what a doozy…

For its own use, Boxer sets a bunch of extra variables in the DOS environment that point to its own temp paths and things like that. These are pushing the DOS environment size into a zone where Dragonsphere will (for some bizarre buggy reason of its own) stop being able to play music and SFX at the same time.

Adding more environment variables, or removing enough existing variables, will cause the music to play properly once again. (I discovered this paradoxically by re-enabling Gravis Ultrasound emulation, which had been disabled by GOG's configuration for the game: GUS emulation adds a couple of extra environment variables that push the environment size back out of that sweet-spot that was fucking with Dragonsphere.)

I'll do some more testing to figure out exactly what the cutoff is for this. The solution will probably be to disable some of Boxer's own environment variables when running Dragonsphere to avoid the bug arising.

from boxer.

alunbestor avatar alunbestor commented on August 26, 2024

OK, commit #b807845 adds a configuration for Dragonsphere which should ensure that music + SFX work properly with GOG and non-GOG releases of Dragonsphere alike.

Rather than change environment variables or conventional memory size, the fix simply runs the LOADFIX -F command before launching the game. This would normally be useless, but here has the side-effect of consolidating conventional memory, which seems to be enough to keep the game happy. If you are able to build from source, please try doing so from the latest commit and see if any other spots in the game exhibit missing music.

from boxer.

 avatar commented on August 26, 2024

Thanks, great work on a pretty weird bug! I'm not able to build from source on this computer, but I can confirm that either running "loadfix -f" or enabling GUS emulation causes the in-game background music to play again. I'll play through the rest of the game in Boxer using the loadfix fix, and I'll report it if I have any other music problems.

Oh, and I don't know if this is the correct place to tell you, but since you've added a configuration for Dragonsphere just now, you'll probably want to set it to enforce normal CPU core emulation instead of dynamic. As reported on the GOG forums (and experienced by myself), the dynamic core causes occasional random crashes when going from one screen to another in-game. I've had no problems since I've set the core emulation to normal.

from boxer.

alunbestor avatar alunbestor commented on August 26, 2024

Ok, thanks for the heads-up - I'll force it to normal, and add a flag to disregard GOG's own configuration for this game. Is there a particular CPU speed that has worked out better for you than the 8000 that GOG have assigned it?

from boxer.

 avatar commented on August 26, 2024

Great! I've been running it on 10000 cycles, but mostly because I was playing around with the settings (it's my first time using Boxer) and forgot what they were originally set to. I'm sure 8000 cycles work just as well.

from boxer.

 avatar commented on August 26, 2024

Quick update: I've finished the game now using loadfix. I had no further problems, either with sound or with crashing, so it seems like things are working perfectly.

from boxer.

alunbestor avatar alunbestor commented on August 26, 2024

Great, thanks for that confirmation! :)

from boxer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.