# VOGONS

## DOSBox ECE (for Windows & Linux)

### Reply 1420 of 1481, by Ringding

Rank Member
Rank
Member

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.

### Reply 1421 of 1481, by Ringding

Rank Member
Rank
Member

I did the merge onto r4471 here: https://github.com/Ringdingcoder/dosbox-stagi … /cdda-v14-merge

You can download a patch like this if you want to: https://github.com/Ringdingcoder/dosbox-stagi … -v14-merge.diff

### Reply 1422 of 1481, by SedrynTyros

Rank Member
Rank
Member
Ringding wrote on 2022-01-14, 00:10:

I did the merge onto r4471 here: https://github.com/Ringdingcoder/dosbox-stagi … /cdda-v14-merge

You can download a patch like this if you want to: https://github.com/Ringdingcoder/dosbox-stagi … -v14-merge.diff

Awesome! Thanks so much. Looking forward to trying it out.

### Reply 1423 of 1481, by Giuliano

Rank Newbie
Rank
Newbie

Hello everyone,

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!

### Reply 1424 of 1481, by morphinejh

Rank Newbie
Rank
Newbie
Giuliano wrote on 2022-01-18, 15:09:
Hello everyone, […]

Hello everyone,

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.h2/**3 * Allows to convert the synthesiser output to any desired sample rate. The samplerate conversion4 * 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 samplerate6 * argument is set to 0, the default output sample rate is used which depends on the current7 * 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);45// 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;

### Reply 1427 of 1481, by Yesterplay80

Rank Oldbie
Rank
Oldbie
KainXVIII wrote on 2022-03-29, 09:54:

@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.

My full-featured DOSBox SVN builds for Windows & Linux: Vanilla DOSBox and DOSBox ECE (Google Drive Mirror)

### Reply 1428 of 1481, by KainXVIII

Rank Member
Rank
Member
Yesterplay80 wrote on 2022-04-04, 13:59:
KainXVIII wrote on 2022-03-29, 09:54:

@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)

### Reply 1429 of 1481, by rolloLG

Rank Newbie
Rank
Newbie
rolloLG wrote on 2021-07-12, 10:00:
LOST USB ARCADE JOYSTICK SUPPORT WITH BUILD r4459 […]

LOST USB ARCADE JOYSTICK SUPPORT WITH BUILD r4459

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

### Reply 1430 of 1481, by Yesterplay80

Rank Oldbie
Rank
Oldbie
rolloLG wrote on 2022-04-09, 12:37:
rolloLG wrote on 2021-07-12, 10:00:

LOST USB ARCADE JOYSTICK SUPPORT WITH BUILD r4459
...

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.

My full-featured DOSBox SVN builds for Windows & Linux: Vanilla DOSBox and DOSBox ECE (Google Drive Mirror)

### Reply 1431 of 1481, by rolloLG

Rank Newbie
Rank
Newbie

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.

### Reply 1433 of 1481, by Yesterplay80

Rank Oldbie
Rank
Oldbie
rolloLG wrote on 2022-04-16, 19:45:

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.

ANOTHER UPDATE: Didn't we solve this already over two years ago? [SOLVED] Hori Fighting Stick mini incompatible with DOSBox?

willow wrote on 2022-04-17, 20:42:

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.

My full-featured DOSBox SVN builds for Windows & Linux: Vanilla DOSBox and DOSBox ECE (Google Drive Mirror)

### Reply 1434 of 1481, by rolloLG

Rank Newbie
Rank
Newbie
Yesterplay80 wrote 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 […]

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.

ANOTHER UPDATE: Didn't we solve this already over two years ago? [SOLVED] Hori Fighting Stick mini incompatible with DOSBox?

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? 😆

### Reply 1435 of 1481, by Yesterplay80

Rank Oldbie
Rank
Oldbie
rolloLG wrote on 2022-04-22, 11:50:

Uhm... Should I simply rename the mapper file by any chance, after upgrading to latest? 😆

As long as the file is referenced correctly in your conf file, that shouldn't be necessary. But just to be sure, you could create a new one.

My full-featured DOSBox SVN builds for Windows & Linux: Vanilla DOSBox and DOSBox ECE (Google Drive Mirror)

### Reply 1437 of 1481, by B. Blaze

Rank Newbie
Rank
Newbie

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.

### Reply 1438 of 1481, by Deffnator

Rank Member
Rank
Member

if yesterplay doesn't mind, i posted at libretro forums a demonstration of the new CRT Shader support paired with reshade for tweaking.
The results turned out to be great with Win 3.1 SOTHR giving a sharper higher res look.

### Reply 1439 of 1481, by abandon2022

Rank Newbie
Rank
Newbie

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.