Solved Confused Over Dos Games
-
My left mouse button 1 works, but I use no other.
Dont forget to define mouse (buttons) in the game.mbutton_left "stick_1 button 3" mbutton_middle mbutton_right maxis_y- "stick_1 axis 3 0" maxis_x- "stick_1 axis 0 0" maxis_y+ "stick_1 axis 3 1" maxis_x+ "stick_1 axis 0 1"
You know that you can map a few dosbox buttons together on one controller button ?
I used it for some cheat where you must press CHT keys. I mapped this 3 on one button and it works.
Also in some games, you have never buttons enough.
As example in Judge Dredd Pinball, I use Plunger controller button for plunger, go, ok, new game and one other controller button for esc, quit, and 8 (choose screen resolution to 800x600) -
@dragu well as you can see my conf has the same syntax and it's not working, I was only able to have a little activity sometimes on the right mouse button when putting it on the analogic trigger of the xbox360 controller, but nothing on the left one and even the right was only working partially
and it's not the same time something like that or other illogical think happens with the mapper, so I'm pretty much thinking that dosbox mapper is full of bugs
-
@voljega
I must say, I am pretty happy with it. I am asking me if your problems dont come from the xbox360 controller ? With my USB dragonrise, nothing wrong. -
-
@acris it's not really easy because you can have several versions of the same game, wether it's using a cd or not, wether it's cracked or not.
you really have to understand dos command a little and after that it's not that complicated, I explained everything in the wiki pages, which I should simplify and rewrite a little
https://github.com/recalbox/recalbox-os/wiki/How-to-use-DOSBox-to-emulate-DOS-gamesI'm also quite finished with my ExoDOSConverter which automatically convert games from this collection to recalbox format, but it is in python AND you have to use it on windows, so before releasing it I should find a way to package it easily to allow users to use it without installing python
-
@acris
Je ne sais pas. En principe il ya juste une ligne game.exe
Maintenant, s'il faut monter des images de CD, cela dépend de ce que l'utilisateur a à sa disposition. En plus certains jeux existaient sur cd et sur floppy. Je pense aussi que les gens regardent d'abord dans le forum ou ils peuvent, le cas échéant aussi poser des questions. -
@voljega okey, i understand, but you need to translate your tutorial in french too
-
@acris lol no problem as soon as I have time
-
@dragu Well I can confirm that dosbox internal mapper is an useless fully bugged piece of s**t.
I start a game with the following mapping (keeping only assigned button):key_esc "stick_0 button 8" "key 41" key_enter "stick_0 button 9" "key 40" key_lshift "stick_0 button 2" "key 225" key_lctrl "stick_0 button 0" "stick_0 button 4" "key 224" key_lalt "stick_0 button 1" "key 226" key_up "stick_0 axis 1 0" "key 82" key_left "stick_0 axis 0 0" "key 80" key_down "stick_0 axis 1 1" "key 81" key_right "stick_0 axis 0 1" "key 79" key_space "stick_0 button 3" "key 44" key_rctrl "stick_0 button 5" "key 228" mbutton_left "stick_0 button 6" mbutton_middle mbutton_right "stick_0 button 7"
mouse clicks dont work, I go back into internal mapper with ctrl+F1, notices L and R for mouse are greyed out so I remapped them on the same buttons that before, saves and now I have :
key_esc "key 41" key_enter "key 40" key_lshift "key 225" "stick_0 button 2" key_lctrl "key 224" "stick_0 button 0" key_lalt "key 226" "stick_0 button 1" key_space "key 44" "stick_0 button 3" key_rctrl "key 228" key_up "key 82" "stick_0 axis 1 0" key_left "key 80" "stick_0 axis 0 0" key_down "key 81" "stick_0 axis 1 1" key_right "key 79" "stick_0 axis 0 1" mbutton_left "stick_0 button 2" mbutton_middle mbutton_right "stick_0 button 3"
So I lost at least three button mappings I didn't touch, buttons used for mouse clicks have changed id for no reason at all and are clearly not the 2 and 3 button on my controller, and still besides my now totally messed up configuration, buttons 6 et 7 now works for clicks when they weren't working before and the map is refering to 2 and 3
-
@voljega aaaand ladies and gentleman everything seems related to a crazy parameter in dosbox.cfg, had to dig deep into cryptic forums to find that :
"If button wrap is activated, on joysticks with more than 4 buttons the higher physical buttons are mapped to lower logical numbers. For example physical button 5 is mapped to logical button 1, physical button 6 to logical button 2 etc."
So that f**kin parameter
buttonwrap
when set to true actually restrict the number of buttons of your gamepad to the number of buttons of the emulated joystick, in that case 4 at most.... thus my button with higher id were erased or remapped automactically on lower buttonsEverything seems to work fine now, except the deadzone of course
-
@acris tiens cadeau : https://github.com/recalbox/recalbox-os/wiki/Comment-utiliser-DOSBox-pour-émuler-des-jeux-DOS
rajouté dans le How To aussi
bon c'est traduti à l'arrach et je m'aperçois que c'est assez mal rédigé, pas toujours assez clair, je le reformulerai à l'occas
-
@voljega merci merci je relirai à l'occaz, thank you very much
-
@voljega
You dont feel that you should apologize to dosbox
Logical Gates : AND, OR, XOR, NOT, NAND, NOR and XNOR
Illogical Gates : bill
So software they steal from Jobs, hardware crap. :] -
@dragu no I'm allowed a little bad faith now and then
-
Came across this thread when trying out the new dosbox support in Recalbox...
@voljega said in Confused Over Dos Games:
Everything seems to work fine now, except the deadzone of course
Fought with that the other day, too. You can do that by OS joystick calibration with jscal. The created correction values contain a dead zone. The great thing is: but it does not calculate it. Hooray! It's always 0... The usual answer is jstest-gtk, which is not helpful in our case. So the only way I found was actually calculating the correction values with a deadzone myself...
Would be great if Recalbox would provide a UI calibration tool for analog joysticks.
In the end I found I don't need deadzones, if I just normally calibrate with jscal, and leave alone the calibration in DOS apps (and setting timed=false)Unfortunately Recalbox lacks the jscal-store/jscal-restore tools to make the calibration persistent. So you'd also here have to create some homegrown udev magic...
-
@voljega: Some other question, you might have come across and solved during your exodos endeavour..
How did you deal with games that have multiple exes in the same rom folder? Like a main game with separate extensions, that also have a separate binary. The current concept of dosbox support in Recalbox seems to assume 1 rom folder == 1 binary... -
@voljega
Duke Nukem I is such case. I modified dosbox.bat to have 3 selections. As this you can stay the multiple .exe in the same directory. -
@redm yeah we spoke about calibration / deadzone on a another post. contrary to what you think, recalbox includes pretty much every linux command to modify deadzones.... but dosbox doesn't seem to care about it and just ignore those settings, at least for right stick of a gamepad (which i used to map mouse)
so the thread i'm mentioning is there : https://github.com/recalbox/recalbox-os/wiki/How-to-use-DOSBox-to-emulate-DOS-games
sorry it's in french, but it's pretty straightforward and you might be able to translate it through google or somethingfor main game with separate exes, well this is a false problem, original game still only used only one main exe (or bat) for launching the game, so you just have to find the right one and everythig will launch correctly (there might be some relative/absolute path problems you'll have to deal with)
-
@voljega said in Confused Over Dos Games:
@redm yeah we spoke about calibration / deadzone on a another post. contrary to what you think, recalbox includes pretty much every linux command to modify deadzones....
What commands would that be? I only see jscal... And graphical calibration? I only see the button/axis mapping configuration in ES... but this should be irrelevant for dosbox...
but dosbox doesn't seem to care about it and just ignore those settings, at least for right stick of a gamepad (which i used to map mouse)
Well, on RetroPie I calibrated and buttonmapped the OS joystick devices with jscal and dosbox is simply using that configuration, through SDL. Without any additional mapping in dosbox conf. E.g. I created a weird button mapping with jscal, and it was exactly like that in dosbox. So it was definitely obeying that joydev device config (not evdev or whatever else there might be).
That being said, unfortunately button mapping using jscal doesn't work on Recalbox (gives a strange error), so I just did a complete weird calibration... still in the game the joystick behaved just normal and well calibrated... interesting...
So maybe this is indeed different in the Recalbox build of dosbox... but how?so the thread i'm mentioning is there : https://github.com/recalbox/recalbox-os/wiki/How-to-use-DOSBox-to-emulate-DOS-games
sorry it's in french, but it's pretty straightforward and you might be able to translate it through google or somethingI only see a Wiki page under that link...
for main game with separate exes, well this is a false problem, original game still only used only one main exe (or bat) for launching the game, so you just have to find the right one and everythig will launch correctly (there might be some relative/absolute path problems you'll have to deal with)
Well, e.g. for Wing Commander 2 you have the main game exe wc2.exe and for the two expansion packs, which need to be installed into the same directory, there are two separate exes. It's basically 3 games in one directory...
-
@redm sorry my mistake, (copy paster error) the thread I was referencing is there : https://forum.recalbox.com/topic/9947/régler-manuellement-les-deadzones
but as I said, I managed to modify deadzones but it doesn't seem to be working for at least the right stick ...
For your several exe problem, then you'll have to write a custom bat file to choose the exe before game :
For DOS Games I recommend using the ExoDOS Collection which simplifies greatly configuration and everything, so for Wing Commander they created and launch the following bat file called run.bat instead of an exe :
:menu @echo off cls echo. echo Press 1 for Wing Commander and the Secret Missions Expansion Pack echo Press 2 for Secret Missions 2 - Crusade echo Press 3 to quit echo. choice /C:123 /N Please Choose: if errorlevel = 3 goto quit if errorlevel = 2 goto wc2 if errorlevel = 1 goto wc1 :wc1 cd wing cls wc goto menu :wc2 cd wing cls sm2 goto menu :quit
you can adapt that your liking with your correct paths off course.