VOGONS


First post, by Zaxxon

User metadata
Rank Member
Rank
Member

just got a gpd win, and all i wanted was to play 3d dos games on it..and i've been hugely disappointed so far.

now,i set dosbox (standard,vanilla version)with the same settings i use on my desktop pc (I7 with 16 gbram, win 10 x64) by setting cycles to "max" cpu to "dynamic", removed any scaler, and leaving everything else as it is.

for what concerns 2d games, no problems here. the issues arise when i try 3d intensive games, especially those with svga support such as Fatal racing and duke nukem 3d. Both of them runs slow, very slow, like if i was using my old pentium 75.for some games its almost playable (duke nukem, blood etc) some other stutters so much that is like watching a slideshow.if i set those to 320x200, removing any sort of svga setting, they run at 60 fps.

The gpd win has a Atom X7 Z8700 64bit Quad Core 1.6GHz, and from what i read and possibly understood, dosbox doesn't support multicore, but only one core,.,and that core better be damn fast or else..

now, i'm aware that i could get duke nukem 3d on steam and whatnot..but what about those games like fatal racing, big red racing and other 3d dos games that will never be ported ? is there a way to make dosbox run faster on this cpu?or a patch or a different build ?

Reply 1 of 16, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Not really. It is a weak cpu.

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

Reply 2 of 16, by Zaxxon

User metadata
Rank Member
Rank
Member
Qbix wrote:

Not really. It is a weak cpu.

well yeah its slow but..i tried a dos virtual machine using freedos and virtualbox..and those two games run somewhat good..much better than dosbox.problem is..i can't get to make midi work in there, no matter the settings in each "setsound.exe" or the autoexec ..nothing will make midi work in there. digital audio works fine

reading online it seems that some people states that freedos doesn't support midi, other says its virtualbox which doesn't support midi

Reply 3 of 16, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Virtualbox and DOSBox have different goals.

DOSBox is primarily concerned with compatibility for both host and guest not speed.

FreeDOS "supports" MIDI. Blame virtualbox for it's shitty emulation.

If you want speed which is generally bad for compatibility then use Virtualbox for your DOS games. Good luck, you'll need it.

How To Ask Questions The Smart Way
Make your games work offline

Reply 4 of 16, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Zaxxon wrote:

reading online it seems that some people states that freedos doesn't support midi, other says its virtualbox which doesn't support midi

FreeDOS has nothing to do with midi. I think I have indeed read something about VirtualBox not supporting midi, but I forget the details.

Reply 5 of 16, by Zaxxon

User metadata
Rank Member
Rank
Member

got it, the problem is virtualbox.

so i now swtiched to vmware ,and installed freedos there.same issue.at this point i'm starting to believe i need something else?

i tried opening the autoexec file ad this is what i get

tS3tQ

do i need to add something to that blaster line?

also the config.sys is empty, don't know if i need to add something in there too

Reply 7 of 16, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Just be glad you are not using an old version of DOSBox before they moved to the assembler core.

The old CPU core was massively inefficient.

Before they released the assembler core, I had made an optimized version of the old CPU core code that reduced needed CPU cycles by about 25% by using a direct array lookup table instead of a huge case statement.

I actually tried getting involved in the development of DOSBox, but none of the project admins would ever respond to my email.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 8 of 16, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

I tried DOSBox on Bay Trail and Cherry Trail Atom, and the performance is indeed limited. Older 386 and 486 type games work well, but more demanding 3D games not at all.

The latest Atom incarnation is the Apollo Lake, but by the looks of it not much has changed.

YouTube, Facebook, Website

Reply 9 of 16, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

I've just taken a look at the 0.74 source... that is the latest, correct?

It looks like they went back to using a massive number of case statements throughout the code.

I may just dig out my old code.. if I still have it to see how I made the array lookup table and make a new optimized version.

The only downside is that it will use a bit more RAM since when using a lookup table, you have to have arrays with all needed positions, which means there will be quite a few array members that are empty.

The big upside will be that it will use a significantly lower number of CPU cycles to do the same exact thing.

Why oh why did they go back to a non-assembler core? Anybody know? Were there bugs in it?

EDIT: Looking through the code more is making my eyes bleed. SOOOOOOOOOOOO many case statements. Sure it is pretty readable, but it causes huge delays/massive amount of CPU cycles wasted.

Last edited by cyclone3d on 2017-04-13, 21:32. Edited 1 time in total.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 10 of 16, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
cyclone3d wrote:

I've just taken a look at the 0.74 source... that is the latest, correct?

The last official release was 0.74, but the code in SVN has been extensively revised since then, such that the source for the actual 0.74 release would not be the "latest".

As the code has been ported to the Raspberry Pi and Android (albeit not officially) I would not have expected any components to be written solely in assembler, but I can't say I've ever looked at it myself.

On that note, I suppose the Windows port of RetroArch (which seems to be the currently-favored means of running DOSBox on the Raspberry Pi) might be worth a try on this GPD.

Reply 11 of 16, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Ok, I'll take a look at the SVN code. I am betting that is it still not assembler code. Not enough people that are really good enough with assembler to keep up with it.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 12 of 16, by Zaxxon

User metadata
Rank Member
Rank
Member
cyclone3d wrote:

Ok, I'll take a look at the SVN code. I am betting that is it still not assembler code. Not enough people that are really good enough with assembler to keep up with it.

thanks in advance, let me know if you manage to make it, you have all my gratitude

Reply 13 of 16, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
cyclone3d wrote:

Why oh why did they go back to a non-assembler core? Anybody know? Were there bugs in it?

cyclone3d wrote:

I am betting that is it still not assembler code. Not enough people that are really good enough with assembler to keep up with it.

Why oh why.

Reply 14 of 16, by UCyborg

User metadata
Rank Member
Rank
Member

Regarding VMware and VirtualBox, AFAIK you can only get some very basic MIDI support (MPU-401) if you install Windows 9x and run DOS stuff through that (at least games that do run with that configuration). So no fancy soundfonts I think. For VirtualBox, you can choose AC97 sound card then find and install its Windows 95 drivers (even if you're using Windows 98). The card's driver emulates one of the old Soundblasters which can be accessed from DOS applications and the AC97's MIDI capabilities are exposed via MPU-401.

It's similar for VMware, but this one virtualizes different sound card and I believe you get its drivers along with VMware Tools. I messed with the game Terminator: Skynet and comparing VMware and VirtualBox, the fading effect that is used for transition from menus to the game and some other things didn't work in VirtualBox (it was instant), it worked in VMware. Sound was also better in VMware, no audio glitches, bur SVGA mode just didn't budge, only got black screen while it worked VirtualBox, though VirtualBox in general didn't feel as smooth. SVGA mode is the reason I was experimenting with virtual machines. Would love to play that game without frame drops.

So yeah, more intensive things can be a pain in DOSBox, especially if you don't have a beefy CPU. And some games may never see a modern port. Ideally, we'd have source code for all these games so they can be ported to modern platforms, but we don't for majority of them. There is a small chance that a particular game might see modern version someday if someone manages to recreate its engine by studying original executables. Someone is recreating the game engine for Terminator: Future Shock and Skynet: FutureShock32 Quite impressive IMO.

Edit: Forgot to mention if you install FreeDOS/DOS on VMWare, there is a setting in .vmx configuration file to set it to emulate Sounblaster 16 sound card, but you still won't be able to get MIDI.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 15 of 16, by leileilol

User metadata
Rank l33t++
Rank
l33t++
Jorpho wrote:

On that note, I suppose the Windows port of RetroArch (which seems to be the currently-favored means of running DOSBox on the Raspberry Pi) might be worth a try on this GPD.

There seems to be compilation issues with the makefile on their fork that doesn't seem to recognize arm platforms so dosbox ends up horrendously too slow for even '80s games.

apsosig.png
long live PCem

Reply 16 of 16, by Zaxxon

User metadata
Rank Member
Rank
Member
UCyborg wrote:
Regarding VMware and VirtualBox, AFAIK you can only get some very basic MIDI support (MPU-401) if you install Windows 9x and run […]
Show full quote

Regarding VMware and VirtualBox, AFAIK you can only get some very basic MIDI support (MPU-401) if you install Windows 9x and run DOS stuff through that (at least games that do run with that configuration). So no fancy soundfonts I think. For VirtualBox, you can choose AC97 sound card then find and install its Windows 95 drivers (even if you're using Windows 98). The card's driver emulates one of the old Soundblasters which can be accessed from DOS applications and the AC97's MIDI capabilities are exposed via MPU-401.

It's similar for VMware, but this one virtualizes different sound card and I believe you get its drivers along with VMware Tools. I messed with the game Terminator: Skynet and comparing VMware and VirtualBox, the fading effect that is used for transition from menus to the game and some other things didn't work in VirtualBox (it was instant), it worked in VMware. Sound was also better in VMware, no audio glitches, bur SVGA mode just didn't budge, only got black screen while it worked VirtualBox, though VirtualBox in general didn't feel as smooth. SVGA mode is the reason I was experimenting with virtual machines. Would love to play that game without frame drops.

So yeah, more intensive things can be a pain in DOSBox, especially if you don't have a beefy CPU. And some games may never see a modern port. Ideally, we'd have source code for all these games so they can be ported to modern platforms, but we don't for majority of them. There is a small chance that a particular game might see modern version someday if someone manages to recreate its engine by studying original executables. Someone is recreating the game engine for Terminator: Future Shock and Skynet: FutureShock32 Quite impressive IMO.

Edit: Forgot to mention if you install FreeDOS/DOS on VMWare, there is a setting in .vmx configuration file to set it to emulate Sounblaster 16 sound card, but you still won't be able to get MIDI.

in vmware i have both a dos machine and a win 98 one. in th dos one, i miss midi (and in some game even sound).in the win 98 one ,by rebooting it in dos mode, i have sound but still no midi..oh and its very slow, for some reasons. if i try to run dos games withitn win 98, they either run super fast, up to the point where they are unplayable, or they just show a black screen like you said