VOGONS


Dosbox for Android OS

Topic actions

First post, by pelya

User metadata
Rank Newbie
Rank
Newbie

Hi.

There's a build of Dosbox for Android mobile platform available, sources and build instructions.

There's on-screen keyboard provided by SDL for touchscreen-only devices, however you'll have to re-run SDL startup config for each new game to re-bind keycodes for each button. Similar option exists also for hardware keys.
Also the mouse have some strange offset for an unknown reason (not SDL fault I guess, other apps work just fine. Some relative mouse mode enabled in Dosbox?).
Also on-screen magnifying glass is not drawn because Dosbox calls SDL_SetVideoMode() with SDL_HWSURFACE flag (it provides no speed increase compared to SDL_SWSURFACE if you're just overwriting screen pixel buffer each frame, more details in SDL-Android port readme file).

I might publish it to Android market if there will be a dedicated person who will test it, fix all the issues, provide me the build with a screenshots, description etc, and will take care of users' bug reports - I have enough trouble with the apps I've already published.
The mobile device users are quite retarded judging from my experience, so they'll drop the app rating below the floor if they'll be unable to instantly run their favorite game, and half of them cannot even run through SDL config dialog (well the dialog itself is not ideal too, tell me if you'll have any ideas how to improve it).

Reply 1 of 64, by Xelasarg

User metadata
Rank Member
Rank
Member

Veeery nice!

And such a coincidence - my Galaxy S is due to arrive today (in about 2-3 hours) 😁

Can't wait to give it a try!!

"What's a paladin?!"

Reply 3 of 64, by tomaswoj

User metadata
Rank Newbie
Rank
Newbie

For the mouse offset issue. Well, i've run into it as well. I thought it would be faster and more user convenient to move SDL mouse around (and not DOS mouse), and then on click, pass the latest SDL mouse position to Dos. But this is tricky. It seems a lot of games are working on relative mouse positions, and not absolute values (i.e. Settlers or North and South). So I gave up, and left only with 'relative' mouse (i.e. MouseMove, instead of Mouse_CursorSet).

It works in all cases, but sometimes can be painfully slow, especially on our not so fast Android phones.

I guess the issue can be easily spotted also on Windows version of Dosbox. In most of games moving SDL cursor (i.e. Windows mouse) around will not have any effect on DOS mouse. You need to click, then it will get locked, and there will be no SDL mouse anymore, just the DOS one, that I believe works in relative mode.

Reply 5 of 64, by omnigraphical

User metadata
Rank Newbie
Rank
Newbie

ScummVM has also been ported to android with pelyaSDL and even another port by the scummvm team itself.
So old LucasArts games can be nicely run with that.

As for the choppy mouse: I found that turning off the on screen magnifier in the SDL-options has improved mouse accuracy.
DosBox is still terrible slow though. But it might be connected to an SDL issue and not just CPU speed. The JA2-port has similar problems.

Reply 6 of 64, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

So old LucasArts games can be nicely run with that.

That's not the point here, it's how to easily test if the port is working nicely
with the usual input devices by testing some special games.

Reply 7 of 64, by Xelasarg

User metadata
Rank Member
Rank
Member

Although there are still lots of issues left (virtual keyboard, mouse and onscreen controls not working properly, slow emulation speed, random crashes), I've managed to run most of my alltime favourites (Wing Commander, Ultima VI & VII, Syndicate, Pirates Gold etc.).

So - nice work! I'm looking forward to the next updates 😀

"What's a paladin?!"

Reply 8 of 64, by n0p

User metadata
Rank Member
Rank
Member

Oh, great news.
Still waiting for my Dell Streak to arrive.
About mouse positioning -
in my WM port i did it like this:
I try to map tap coordinates to mouse window coordinates and emulate movement. This behavior is activated automatically if a game sets mouse window range or reads mouse mickies.
Anyway, it seems like capacitive screen are not very presize, so it ask for "touchpad-like" mouse emulation. And multitouch makes it easy to emulate left/right click anywere.

Reply 9 of 64, by Xelasarg

User metadata
Rank Member
Rank
Member

@n0p:
Nice to see you here, especially after you haven't updated your home page for so long! 😉
I really liked your DOSBox ports for WM, so I guess it's good news you're moving over to Android.

"What's a paladin?!"

Reply 10 of 64, by Xelasarg

User metadata
Rank Member
Rank
Member

After playing around with different settings und testing some games, here are some impressions.

First off, mouse input is completely messed up, which is a pity, because apart from that, DOSBox runs surprisingly well - I've yet to find a game that doesn't work.

One thing I noticed, though, is that in Links386 the mouse acts exactly as it should ... 😕

Even though dynamic core hasn't been implemented yet, speed is satisfying IMO, considering the fact that DOSBox is running on a phone (core=simple, cycles=max, frameskip=2). I guess it reaches at least the speed of a mediocre 80386 (depending on the game - Ultima 7 seems very slow, while Wing Commander 1 & 2 work great; Doom and Ultima Underworld 1 are almost playable).

Enabling sound has no noticeable impact on emulation speed 😎. It skips every now and then, but only very rarely, mostly during file access, which doesn't bother me much.

The onscreen controls tend to block parts of the screen that need to be accessed by mouse (not a real problem right now, as you can't use it anyway) but rearranging them at the right or left border is a good workaround. Text input via virtual keyboard is a bit tedious, but it works nonetheless. Also, keys that are often used, like e.g. (Space), (Enter),(W)eapon, (T)arget etc. for Wing Commander, can easily be mapped to the 6 onscreen buttons.

So all that's really needed for now is proper mouse emulation. Everything else is as good as one could ask for right now.

Nice job!

"What's a paladin?!"

Reply 12 of 64, by nagual2013

User metadata
Rank Newbie
Rank
Newbie

hi,,,,

the first link is not working now http://anddev.at.ua/news/dosbox_0_74/2011-02-02-29

this is the correct link with the apk release

have a nice day !!!!

http://anddev.at.ua/load/emulators/dosbox_0_74/2-1-0-12

😁

Reply 13 of 64, by Xelasarg

User metadata
Rank Member
Rank
Member

About mouse emulation:
Applying normal2x scaler und calibrating the mouse by tapping the four corners of the screen after starting a game solves this issue. Ultima 6 runs great w/ sound and everything (LCtrl mapped to volume key for saving). 😁

Some games (e.g. Ultima Underworld) are still making trouble, but it works pretty well with others I've tried (Dune 2, Pools of Darkness, Wizardry VII, Eye of the Beholder).

"What's a paladin?!"

Reply 14 of 64, by Xelasarg

User metadata
Rank Member
Rank
Member

Just wanted to inform you that there's a new DOSBox port out. It's available in the market and - sigh - it's being sold for 2,99 €... but I have to admit, it works great (quite fast even with frameskip=0). The developer claims he's being in contact with the DOSBox crew, and he's done a good job so far.
https://market.android.com/details?id=com.loc … e=search_result

Probably the best thing about this port is the implementation of the android virtual keyboard (or any other replacement). I've found a free keyboard that features a D-pad:
https://market.android.com/details?id=com.hmw … e=search_result

If you aren't too fussed about paying for a free emulator (:money: grrrr, I was simply being too curious...), this one should be your choice.

"What's a paladin?!"

Reply 15 of 64, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Don't know with whom they're in contact, but statements like

Usually it is acceptable to release modified source code within 90 days, and we're only asking for 30, yet we're being accused within 24 hrs of the conversation.

and
"developer is not available"
are bullshit.

And if he thinks he needs several hours dealing with licensing issues he can just upload the sources or a diff within seconds.

Reply 16 of 64, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I contacted them to have the source released.

There is no 90 days period. Of course, it would have been the easiest and best if they simple made it available the moment they put the port on the market place.....

Water flows down the stream
How to ask questions the smart way!

Reply 17 of 64, by Xelasarg

User metadata
Rank Member
Rank
Member

IMHO demanding money for a freeware port is a bit fishy, but after all (as I've learned only recently in another thread around here 🙄 ) it's not strictly forbidden. At least the developer seems to know what he's doing, unlike the creator of the other commercial port, DOSBot.

For those unwilling to pay money there are still lubomyr's and tomaswoj's ports, both of which are quite good. As I said, I mainly paid for AnDOSBox because it's the only port that features a proper virtual keyboard.

As long as he keeps updating and releases the source, everything should be fine.

"What's a paladin?!"

Reply 19 of 64, by pelya

User metadata
Rank Newbie
Rank
Newbie

That's good news - you may expect this port to be maintained, also I see no issues with charging users for GPLed app - as practice shows the users are ignorant asses mainly, especially for the free apps, they really deserve to be charged. Also it takes lot of time to sort out all issues before release, that's why I did not publish it myself.
Nevertheless, you'd better to demand sources from developer, also there are no time restrictions in the GPL text itself, that should mean the source has to be provided in an instant. GPLv3 just states that if you break it, but provide sources within 30 days you won't get sued and it is treated a nothing happened, however Dosbox itself is licensed under GPLv2, with no such clause - it is revoked in instant moment you refused to provide sources, so 30 or 90 days period he's talking about is a bullshit.