joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.7k stars 381 forks source link

Adlib Music in Fury of the Furries Game (3th world) #4787

Open guitarman89 opened 8 months ago

guitarman89 commented 8 months ago

Describe the bug

I have the Fury Of The Furries music set to "Fun" mode, and when you reach the third world of the game "Forest", the Adlib music starts playing with a fake instrumental note that doesn't really exist or occur in the music original third world OST "Forest".

The music sounds good but with an extra false note added to the music that sounds like an effect that comes and goes all the time and that effect does not stop at any time, it is not a hanging midi note but it is a note which plays on and off constantly, however all other midi instruments and background music are heard correctly as the original OST music.

Steps to reproduce the behaviour

This only happens when you go from the second world to the third world in a normal way, when you get to the third world the music starts playing, it sounds good, but with that fake instrument effect similar to a drum cymbal that comes and goes all the time, or some other instrument that played previously in the second world that bugs the third world, however if you die all the lives or directly press F10 and return to the main menu of the game (the music changes), then from the main menu you return to Play the third world "Forest" and now the music sounds perfect without that weird effect or extra instrument and the music sounds perfect and the same as the original OST.

It only happens when going from the second world to the third, something happens with the MIDI instruments in the third world or something that happened and sounded in the second world that sounds with the false note in the third and you have to fix it because this could be causing Adlib emulation problems Even in other games that we don't know, it also happens with the original Dosbox 0.74 and in all the ones that I have tried and no one solved it, but this Dosbox-X is the only one that is more stable and precise that solves many graphical Bugs in Fury of The Furries that do. occur in other Dosboxes, we should solve the Adlib musical instruments from the third world or see what happens when searching for the midi and selecting the instruments for the third world when we come from the second world, something is being added to the music , the rest of the background music sounds perfect like the original.

Expected behavior

You should review what is happening on the Adlib instruments during the third world music "Forest" or review what happened with any of the Adlib instruments that previously played in the second world since the unwanted drum cymbal effect that goes and comes happens in the third world and only happens when you finish the second world and reach the third world, however if in the third world you kill all the lives or press F10 and return to the main menu (the music changes to that of the menu ), then from the menu you go back to playing directly to the third world and now the third world music sounds correctly without that strange unwanted effect and in the expected way exactly the same as the original OST music, because the previous music that played was that of the main menu, then the unwanted effect of the third world music only occurs when playing from the second world and reaching the third world, because the previous music was that of the second world.

Something is happening to the FM synthesis instruments when the second world sounded or it is some error when going to read the music or the instruments in the third world, but it is a musical bug and must be solved since solving this could also solve possible bugs in other games that we do not know, OPL3 sounds perfect, but something happens with Adlib's OPL2 emulation or something happens when searching for the midi file and reading which instruments should sound in Dosbox for the third world of Fury of the Furries.

What operating system(s) this bug have occurred on?

Windows 10 and in all others.

What version(s) of DOSBox-X have this bug?

SDL1, SDL2, MinGWx86 and MinGWx64 and all Dosbox versions.

Used configuration

No response

Output log

No response

Additional information

The musical bug also occurs with dosbox-x.conf by default, but this is my best configuration, the "Sample Accurate" option and core set to "dynamic_rec" is the best configuration so that Adlib or MIDI music does not produce a detuning effect during SVGA graphics in motion, that happened to me and these 2 options solve that problem. However in Fury of the Furries the third world "Forest" the speed of the music sometimes sounds faster and sometimes it is slower, and the original is slower, and it happens due to CPU cycles, but with too low cycles it is produces slowness and musical flickering during black screen intersections when switching from one screen to another.

Have you checked that no similar bug report(s) exist?

Code of Conduct & Contributing Guidelines

joncampbell123 commented 7 months ago

Is this the game, for those who wish to help testing? https://archive.org/details/fury-of-the-furries-1993-puzzle-platform-dos

joncampbell123 commented 7 months ago

It's possible the game devs never tested that case, and the Adlib FM support doesn't fully reset the synth in some cases.

I've noticed something of that sort with "Alpha waves" where some sound effects cause the cymbals in the music to change tenor.

guitarman89 commented 7 months ago

Yes, that is exactly the game I am talking about and specifically those ghost notes that come and go or alpha waves occur when you reach the third world of the game having previously played the music of the second world, however, if in the third world you kill all lives and you return to the main menu music (the music or Adlib instruments seem to reset to 0), and when you return to the main menu of the game as the music changes, now you start again but directly in the third world (without play the second world), now the music of the third world sounds good, it's like the FM instruments have been reset to 0 or something.

When you play normally coming from the second world, there is some instrument or something that sounded from the second world that upon reaching the third world now produces these alpha notes or effects of coming and going in the third world (due to something that has sounded in the second world), so the music bug only happens if you play from the second world, if you die and go to the main menu and play again but directly to the third world without going through the second world, the music resolves and sounds good , it is like what you say, it is as if the Adlib FM instruments were reset and everything returned to 0 and it is resolved, that is the point of the problem and I am sure that similar things are happening to other Adlib OPL2 music games and we may not have realized this, and something should be done to solve it soon.

guitarman89 commented 7 months ago

I have searched for information and Fury of the Furries is composed and written entirely in Adlib OPL2 format, since it was a game that was also from the time of 286 processors and were basically Adlib or Soundblaster sound cards up to Soundblaster Pro1, everything that It is inferior to Soundlbaster Pro2 had OPL2 chip.

This page shows a large majority of games that are completely with OPL2 music, some games apart from OPL2 even added PCM sound so that the drums sounded better, and it was OPL2 + PCM: https://minirevver.weebly.com/ym3812opl2adlib-pc-arc-music.html

Fury of the Furries was a game that was composed and written entirely in OPL2 music and it seems that Dosbox-X, even the original Dosbox, are only playing OPL3 instead of OPL2 and there are some extra instruments that cause conflict and produce those strange effects in the music, Dosbox-X should be able to emulate only and only OPL2 and not emulate OPL3, the solution to this should be, try to reprogram the Adlib music of Dosbox-X so that all the instruments are reset to 0 and that some extra instruments do not to stay on so that it does not produce this type of strange effects with OPL2, try to make sure that every time the music changes to another, all the instruments reset to 0 or something like that and not leave any extra ones on, that could be the reason. solution or someone invents an emulator only and exclusive to OPL2, but I hope they can solve it soon.

joncampbell123 commented 7 months ago

DOSBox-X, like most DOSBox forks, has multiple OPL emulation engines selectable by the oplemu settings. Can you see if "oplemu=nuked" or any other settings helps with the issue?

guitarman89 commented 7 months ago

Yes, obviously I also tried it with oplemu=nuked and others, that was what I was trying even with other versions for a long time and with this last one and I tried with the different types of OPL modes and OPL emulations but the same problem continues to occur in all the possible settings, oplmode=opl2 or opl3 don't seem to do anything different, the only thing that seems to do anything is oplemu=default and compat which they sound slightly different but the same problem still occurs when reaching third world, even with oplemu=nuked, the problem persists in any configuration and there is nothing to do, when you have been playing the second world and you reach the third, because you have previously played the second world, there is some instrument or thing that sounded in the second world that when you reached the third world, that ghost effect or alpha wave that comes and goes in the music is produced, due to having played some of the instruments that played in the second world, and the Adlib emulation does not reset the instruments to 0 when changing from one music to another. another and there are still some of the instruments that must have played in the second world turned on and still playing and producing that strange effect that does not occur in the original game.

I would like to know if someone who has an old PC with a sound card with a real OPL3 YMF262 chip or someone who has a Retrowave OPL3 USB, would also be experiencing this strange effect in the third world of this game or not, but I I remember this game when I played it on my old 386 from the 90s and with a Soundblaster Pro clone card with a Crystal chip and I also played it on an old Pentium 3 with real MS-DOS that already had a Soundblaster Live card and this never happened problem on an old real PC with DOS, so something is happening with the Adlib OPL2 instruments in Dosbox, it seems that when you go back to the start menu of the game and play the third world again the strange music effect disappears but when you come from having played the second world, there is some instrument or something that played in the second world that that instrument does not turn off or the instruments do not reset to 0 and some instrument still remains on giving that strange effect in the music that does not It should be but it is because before that the instruments of the second world sounded.

The Adlib emulation would have to turn off and reset all FM instruments to 0 when the game changes from one music to another so that this problem does not occur, for now the solution is just to return to the game's start menu and play directly again in the game. third world without going through the second world, and now the third world sounds perfect without the strange effect, I played and finished the game on an old 386 and real Pentium and this did not happen, you should investigate how the Adlib instruments are acting when the second world and the third and reprogram the OPL emulation so that when a game changes music or level all the instruments are reset and return to 0 and the game decides which instruments should sound for that level instead of some instruments that played previously they could still remain on when one should not sound and the OPL emulation would reset the instruments to 0 at each change of music or level, I think that would be the solution, or create a new emulation exclusive to OPL2, I think one thing or another It would be the solution to this audio bug. I hope you can solve it soon.