When I tested v14 of the patch yesterday – using the svn revision it was published against (r4294), I created a one-track cue file with one Opus track and used SJGPlay to play it. Interestingly, the player would show 2 tracks in the v14 version, with track 2 producing errors when trying to play it. The same does not happen in v13 against its respective svn revision, and also not in dosbox-staging. They show only one track, as I would expect.
This question is regarding emulation of Roland MT-32 and CM-32L on DOSBox-ECE.
Researching the web, I've found that the sampling rate of a Roland MT-32 is 32000 Hz. But DOSBox-ECE's config.conf brings:
[midi]
mt32.rate = 44100
Can this mismatch of sampling rates cause inaccuracies in the sound being played?
Cheers!
I found this an interesting questions as well, so I investigated myself.
TLDR:
The output of the synth is internally set to 32000hz. It is then resampled if desired. So any sound artifacts would be minimal to none depending on the rate chosen. You should probably choose a rate supported by your sound card, which would have to do the conversion anyway.
Whole story:
DosboxECE uses the mt32emu library for MT-32 emulation. That library is called from within- midi_mt32.cpp
174 int sampleRate = section->Get_int("mt32.rate"); 275 service->setStereoOutputSampleRate(sampleRate);
Then within mt32emu interface, the cpp_interface.h calls the-
c_interface.h
1c_interface.h 2/** 3 * Allows to convert the synthesiser output to any desired sample rate. The samplerate conversion 4 * processes the completely mixed stereo output signal as it passes the analogue circuit emulation, 5 * so emulating the synthesiser output signal passing further through an ADC. When the samplerate 6 * argument is set to 0, the default output sample rate is used which depends on the current 7 * mode of analog circuitry emulation. See mt32emu_analog_output_mode. 8 * This function doesn't immediately change the state of already opened synth. 9 * Newly set value will take effect upon next call of mt32emu_open_synth(). 10 */ 11MT32EMU_EXPORT void mt32emu_set_stereo_output_samplerate(mt32emu_context context, const double samplerate);
...that code calls the SampleRateConverter class which eventually calls this- SampleRateConverter.h
1// Fills the provided output buffer with the results of the sample rate conversion. 2// The input samples are automatically retrieved from the synth as necessary. 3void getOutputSamples(float *buffer, unsigned int length); 4 5// Returns the number of samples produced at the internal synth sample rate (32000 Hz) 6// that correspond to the number of samples at the target sample rate. 7// Intended to facilitate audio time synchronisation. 8double convertOutputToSynthTimestamp(double outputTimestamp) const;
@Yesterplay80 is it possible to incorporate DOSBox ReelMagic Fork into your build? 👀
That's hard to tell without a patch file, I'd have to generate one first and see, if and where there are overlaps with one of the other patches I apply to ECE.
@Yesterplay80 is it possible to incorporate DOSBox ReelMagic Fork into your build? 👀
That's hard to tell without a patch file, I'd have to generate one first and see, if and where there are overlaps with one of the other patches I apply to ECE.
Thanks for the answer, maybe its better to wait when this fork will be implemented in official build (if this happens of course)
I switched from ECE r4288 to r4459 and lost support for arcade stick "Hori Fight Stick Mini"...
The joystick is still detected: "Using joystick Controller (Fighting Stick mini 4 kai) with 5 axes, 10 buttons and 1 hat." as it did with r4288 but now directions are ignored. Only buttons work.
This is an XInput DPAD for movements... Using XBox controller it works fine, but support for XInput DPAD with the arcade joystick seems gone 🙁
I can just swap the dosbox exe keeping everyhing the same inluding cfg and sdl.dll files but r4459 doesn't like arcade sticks anymore.
CTRL+F1 to redefine key bindings also ignores any directional input from the arcade stick with r4459.
This is how it looked under r4288:
My cfg: [joystick]
joysticktype=fcs
timed=false
autofire=false
swap34=false
buttonwrap=true
mapper cfg: jbutton_0_0 "stick_0 button 0"
jbutton_0_1 "stick_0 button 1"
jaxis_0_1- "stick_0 hat 0 1"
jaxis_0_1+ "stick_0 hat 0 4"
jaxis_0_0- "stick_0 hat 0 8"
jaxis_0_0+ "stick_0 hat 0 2"
jbutton_0_2 "stick_0 button 2"
jbutton_0_3 "stick_0 button 3"
jbutton_1_0 "stick_0 button 0"
jbutton_1_1 "stick_0 button 1"
jaxis_0_2-
jaxis_0_2+
jaxis_0_3-
jaxis_0_3+
jaxis_1_0- "stick_0 hat 0 8"
jaxis_1_0+ "stick_0 hat 0 2"
jaxis_1_1- "stick_0 hat 0 1"
jaxis_1_1+ "stick_0 hat 0 4"
jbutton_0_4
jbutton_0_5
jhat_0_0_0
jhat_0_0_3
jhat_0_0_2
jhat_0_0_1
Just downloaded "DOSBox ECE r4473.7z" and is still unfixed... 🙁
LOST USB ARCADE JOYSTICK SUPPORT WITH BUILD r4459
...
Just downloaded "DOSBox ECE r4473.7z" and is still unfixed... 🙁
Does it work with other games? A lot of people all over the net are complaining about their Hori Sticks not working anymore, MS must have changed something with the support for 360 compatible devices. My 360 wheel stopped working, too.
Yep, works fine with 90% of games (for the other 10% is because some games REQUIRE LSTICK and don't support DPAD/POV-HAT). Have no idea what those people are talking about, It's just a generic XInput DPAD for directions + buttons. I also have a Speedlink SL-650212-BKRD COMPETITION PRO EXTRA - Joystick USB, same issue with DOSBoxECE.
I'm stuck with DOSBoxECE r4288, the last one working fine with any joystick including my Hori Fighting Stick Mini: the problem is probably the same those few games have: latest builds of DOSBox ECE work only with gamepads having X/Y-axis etc, not with DPAD directions.
I'm stuck with DOSBoxECE r4288, the last one working fine with any joystick including my Hori Fighting Stick Mini: the problem is probably the same those few games have: latest builds of DOSBox ECE work only with gamepads having X/Y-axis etc, not with DPAD directions.
I just gave it a try using my Speedlink Competition Pro USB Joystick (only stick and 4 buttons) and it worked like I would have expected. It uses Dinput, though. Can you please paste the output of the DOSBox status window when starting it with your Hori stick here? Do you have any conf or mapper file you use with r4288 that you don't with newer versions? Controls haven't been touched in ages, there should be no difference between r4288 and recent versions.
UPDATE: I just saw you already posted the output of the status windows. And it's just as I thought: The stick reports more axis than it really has:
The joystick is still detected: "Using joystick Controller (Fighting Stick mini 4 kai) with 5 axes, 10 buttons and 1 hat." as it did with r4288 but now directions are ignored.
As DOSBox (and not only ECE) per default uses the first two axis it detects for controlling, you have to map the dpad to the axis using the mapper to make the dpad work. But that would have been the case since... ever.
Is it possible to add glide wrapper support for the last dosbox ece version ? Thanks.
Technically: yes. But honestly, demand doesn't seem to be that high, actually you're the only one asking for it so far. And I try to keep ECE as lean as possible, without carrying around features (almost) no one uses anyway.
Yesterplay80wrote on 2022-04-22, 09:01:UPDATE: I just saw you already posted the output of the status windows. And it's just as I thought: The stick reports more axis […] Show full quote
UPDATE: I just saw you already posted the output of the status windows. And it's just as I thought: The stick reports more axis than it really has:
The joystick is still detected: "Using joystick Controller (Fighting Stick mini 4 kai) with 5 axes, 10 buttons and 1 hat." as it did with r4288 but now directions are ignored.
As DOSBox (and not only ECE) per default uses the first two axis it detects for controlling, you have to map the dpad to the axis using the mapper to make the dpad work. But that would have been the case since... ever.
I solved remapping it indeed at that time, and still does work fine with ECE r4288....
Here is the file named "mapper-0.74.map": https://pastebin.com/WnC6X464
P.S.
Uhm... Should I simply rename the mapper file by any chance, after upgrading to latest? 😆
Greetings and thank you for this awesome update to the now deprecated DOSBox SVN. I'm having success installing/playing every game in my collection so far except for Duke Nukem 3D. It installs fine and setup is a breeze, but when I go to actually play it it ends with a DOS/4GW error. I tested it in DOSBox SVN and it works fine there, so there must be an incompatibility with DOSBox ECE and Duke Nukem 3D somewhere. Any help will be greatly appreciated. Thank you.
Edit: Figured out what the problem was, I had to change the CPU Core from 386 to 486_slow and now it's working great, boots right up. Set the CPU Cycles to 26,000 and there's virtually no slowdown, there might be some when there's alot going on on-screen, but barely anything during normal gameplay. If anyone has a similar problem in the future, give this a try if, like me, you like to recycle custom configs when possible. Cheers! 👍👍
Last edited by B. Blaze on 2022-04-28, 06:11. Edited 2 times in total.
if yesterplay doesn't mind, i posted at libretro forums a demonstration of the new CRT Shader support paired with reshade for tweaking. https://forums.libretro.com/t/please-show-off … 4?u=bt-kimosabe
The results turned out to be great with Win 3.1 SOTHR giving a sharper higher res look.
Hello to everybody. I am trying to compile the latest version (4474) on linux (Ubuntu Mate 21.10), but it gives me the following message:
pci_bus.cpp:29:10: fatal error: ..\ints\int10.h: No such file or directory
29 | #include "..\ints\int10.h"
The file exists in the "ints" directory.
I have copied the Openglide source in the "include" directory.
The 4470 version compiles just fine. All versions after that do not compile.
Thanks in advance for your help.