Solved Confused Over Dos Games
-
@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.
-
@voljega Yea, I had a look at Exodos, it's just that this are some 300gb O_o
Anyway, right such a bat file could be an option. Downside is that I can't have separate gamelist entries. And I, or any other user, have to figure out how to write batch files (beyond calling an exe file). Would be great if Recalbox could take care of this somehow. I kinda like the idea of treating directories as roms and launch the game by a usually simple bat file. But it also has it's down sides. For instance also when you need to initially install a game first, re-run setup/install later or do things outside of dosbox, like setting SDL variables per game.
The DOS stuff will always be something you need to fiddle around with to get the games running, it has always been that way, but if as many as possible of the tasks could be taken care of by the system this would help a lot.
-
@redm I don't see how recalbox could take care of any of that, it's simply impossible.
For instance, I wrote a custom ExoDOS to Recalbox converter which already expended to several hundreds of lines and after converting and testing close to 1000 games I still had to do a lot of manual corrections and there are still close to 10% of the games not working, because every dos game is different, there is no rules...
The only possible thing which I intend to try when deadzone problems will be fixed is to generate a standard mapper file with configgen, that would be good and working for every controller
Anyway, I really thing installing a dos game should never be done on recalbox but on windows, it's simply too risky and too linked to dos and the dos filesystem to be sure that everything will go fine in a linux