Solved Confused Over Dos Games
-
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
-
@voljega Yea, I didn't say it's a simple task Or that everything needed is already there just needs to be plugged together. But I think aside from the inherent DOS problems, that already existed back then, quite a bit can be done to make DOS games easier consumable.
When I started to look into dosbox on Retropie I had questions like:
- how should I go when I need to install that game first? from where, to where? how do I get that CD into the dosbox?
- where is the dosbox config I need to modify? should I copy it to my rom? or somewhere else?
- why does that fricking keyboard layout not work properly inside dosbox? (I couldn't make it do proper german layout. Even manually setting it to gr makes it kinda german, but some keys are dead, some have a different mapping, some characters are missing... It's been a while, but I'm sure under the real DOS we did have german umlauts...)
- how do I get the games into ES in a nice way and without tons of directories? Esp. when you are also new to Recalbox/Retropie/ES these are points which are unclear.
- how can I select joystick devices for dosbox?
- how does that weird mapper work? (I didn't ever figure out how to modify the Shift layer or how to make german special characters work)
All such questions. Many of which I think are solvable. You spent days to figure out all the basics and haven't even started with special problems of certain games. Sure it doesn't help that dosbox doesn't really seem to have an active development (latest version is pretty old I think) and apparently not really open to integrate even obvious patches, like for the various joystick problems. But some things can also be done around dosbox. And I think Recalbox already does some things well here. E.g. those txt files in the rom folders with simple instruction what to do are actually extremely helpful if you are new. ES could automatically get special context menus for the dos case: to run an interactive dosbox, entries to run install/setup programs or to select input devices and set appropriate env variables (as far as possible). Sure, somebody has to do it...
And yea, I for instance don't have a Windows anymore and still would like to run those good old games
-
@redm said in Confused Over Dos Games:
Sure it doesn't help that dosbox doesn't really seem to have an active development (latest version is pretty old I think) and apparently not really open to integrate even obvious patches, like for the various joystick problems
Although quite a long time in the making, the latest version was juste released ?
And they are clearly open to external help, but you have to learn the specific of recalbox distribution (mostly buildroot and configgen), but I don't think the team has much time to look at them at the moment with the latest release and the heay support period it requires, it should be more easy for them in a few months
-
@voljega
There is always a possibility to help yourself in the dead-zone problematic. It depend alot of the speed, higher the movement speed, higher the deadzone. But you can combine, as example mouse mapping for left/right/backward and direction key for forward, as an example. With the possibility to put forward mouse on a button for lower forward speed. And as you can remap multiple keys on a single emulation switch, further possibilities. All this vary with the games. -
@dragu said in Confused Over Dos Games:
But you can combine, as example mouse mapping for left/right/backward and direction key for forward, as an example.
I'm mostly interested in mouse mapping for adventure games or strategy games
-
@redm said in Confused Over Dos Games:
why does that fricking keyboard layout not work properly inside dosbox? (I couldn't make it do proper german layout. Even manually setting it to gr makes it kinda german, but some keys are dead, some have a different mapping, some characters are missing... It's been a while, but I'm sure under the real DOS we did have german umlauts...)
There is a solution, because I also have a bluetooth german keyboard.
Very simple, you must just put in dosbox.cfg keyboardlayout=de129
that means gr.
http://www.vogons.org/viewtopic.php?t=21824 -
@voljega said in Confused Over Dos Games:
Although quite a long time in the making, the latest version was juste released ?
What do you mean? I only see 0.74 from 2010...
And they are clearly open to external help,
Maybe. I don't have first hand experience with them, this was just my impression from reading threads to the various joystick problems. And apparently those proposed, pretty obvious if you ask me, patches aren't yet in. IIRC I read in the release notes of latest recalbox that they applied some joystick button patch, and e.g. the one I linked in the other thread is 5 years old and the problem still not solved... just my impression.
-
What do you mean? I only see 0.74 from 2010...
Oh sorry you were speaking about DosBox, I would you were speaking about Recalbox
Maybe. I don't have first hand experience with them, this was just my impression from reading threads to the various joystick problems. And apparently those proposed, pretty obvious if you ask me, patches aren't yet in. IIRC I read in the release notes of latest recalbox that they applied some joystick button patch, and e.g. the one I linked in the other thread is 5
years old and the problem still not solved... just my impression.So not getting if you're speaking about Recalbox or Dosbox now
But yeah Dosbox development seems to be dead or stalled
For Recalbox, as stated I don't think the team have the time right now, unless you take the time yourself to learn everything about the distribution and commit some working code in the desired format and everything
-
Yes, speaking of dosbox of course!
Citing myself:
Sure it doesn't help that dosbox doesn't really seem to have an active development...
As for Recalbox implementing my wishlist, sure I know how this open source things works. I'm in this for a long time already .. do it or shut up And when we get a first public drop of dosbox support, it's clear that not everything is as good as it could be right from the beginning. But it could still be food for thought. And I have a good feeling about Recalbox, as usability and ease of use seems to be an important focus here. I like that. I value it if things sometimes "just work", even in open source software
-
@dragu No, unfortunately this didn't help either. There is no difference of just specifying gr.
I wonder though, if the problem is actually somewhere outside dosbox. Just noticed that I can't enter umlauts in ES either... Strangely on the command shell (local and SSH) everything is fine... but I guess I should start another thread for this topic, this one starts to get longish and offtopic...
-
@redm
I have no idea why you need "Umlaute", perversion of every language. I have in general swiss-keyboard's because I write text mostly in german or french. So I need both perv. But in Recalbox and gaming, what the hell you want to do with this ?
Instead the display in ssh is the display of the characters that you reach with Alt Gr on the "Umlaute"-keys.
The keyboard function correctly with all other letters if the position in recalbox.conf is filled out# ------------ F - Language and keyboard ------------ # ## Set the language of the system (fr_FR,en_US,en_GB,de_DE,pt_BR,es_ES,it_IT,eu_ES,tr_TR,zh_CN) system.language=de_DE ## set the keyboard layout (fr,en,de,us,es) system.kblayout=de ## Set you local time ## Select your timezone from : ls /usr/share/zoneinfo/ (string) ;system.timezone=Europe/Paris
-
@dragu Hmm, I have to check recalbox.conf, but IIRC I have set the the proper keyboard layout there. Just that I have english as system language. The umlauts are just the most obvious example. This effects a couple more keys, like +/*, '/#, -/_, Β΄/`, </>, ?/Γ, or y and z switched, which you need every now and then. And after all keyboard is something that should be configured once and "just work". Not sure, what you mean with the ssh comment, but as I said with SSH everything is perfect.
-
@redm said in Confused Over Dos Games:
IIRC
comment -> command, language switching defect.
I think that IRC is not a recalbox issue, that could be from the terminal side.