VOGONS


First post, by Nazo

User metadata
Rank Member
Rank
Member

I happened upon this while skimming over some stuff: http://en.wikipedia.org/wiki/X86#Virtualization

Apparently future processors in work by Intel codenamed Vanderpool and Silvervale and one by AMD codenamed Pacifica are supposed to make virtualization -- eg emulation -- a little more effective and less trying on the processor. This probably requires code to be written specifically to take advantage of this, maybe even a seperate version of the program rather than an "optomization" like SSE and co, but, I am wondering, how effective might this be? I mean, one must admit, we can do amazing things with a tool such as DOSBox, but, just try running a late 90s DOS game in it and see what happens... As systems move further and further away from DOS, it gets harder and harder to ever get real DOS support out of them, and even fake things like NTVDM are just not cutting it. Things such as VMWare are great for running another operating system or something, but, gaming? I wouldn't play anything more complex than QuadNet or so in VMWare or VirtualPC (and it works and looks better in DOSBox already.) However, what if it suddenly became massively easier so that the CPU doesn't have to stop and watch every little detail of this false system? I mean, it will still not meet those standards they mention, will still have to stop and watch a lot, but, perhaps it will no longer take a cpu 100x+ more powerful than the system it's emulating to get it perfect? (Mine is giving me roughly in the area of a very fast 386, or a really slow 486, give or take depending on what's actually being done. It's actually probably more than 100x more powerful than a 25MHz 486... Frequency alone makes it 100x, but, then actual capabilities of the core itself do more for each of those 2.5 billion cycles in comparison to the 486's mere 25 million...)

Well, I imagine someone is going to come along and dash my hopes, but, for now, I'm going to hope, considering how I haven't gotten any quality games to run in DOSBox without at least a frameskip of one (and that with hardware resizing, can't do some of the really nice software resizes available, though I do admit that OpenGLHQ could be worse without a doubt...) Mind you, my next processor will be the Venice most probably, so it's still out of reach for now even if Pacifica is released tomorrow... but, someday perhaps?

Anyway, this little peice of new just seemed interesting to me and like something that might benefit the sort of people who hang out here I might add, if it is true.

Reply 1 of 56, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Dude, your using an Athlon XP 2600+....of course your DosBox is slow. 😉 and what's the matter with using frameskip=1?

I don't think the virtualization tech in the new processors/operating systems is going to be helpful for gaming (unless you wanted a dedicated gaming VM....). Unless Linux/MS supports the running of other or older operating systems besides there own in them then they'll be pretty useless for old games.

Duke3D is already playable at around 15fps on an Athlon 64 3500+ with sound....and the 3500+ is pretty old tech by now.(Yeah Jonof Duke3d...I was just using an example). By the time this virtualization tech is implemented and commonly available and the OS's support it DosBox should be fine with all the DOS games out there.....

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

Reply 2 of 56, by Nazo

User metadata
Rank Member
Rank
Member
DosFreak wrote:

Dude, your using an Athlon XP 2600+....of course your DosBox is slow. 😉 and what's the matter with using frameskip=1?

I don't think the virtualization tech in the new processors/operating systems is going to be helpful for gaming (unless you wanted a dedicated gaming VM....). Unless Linux/MS supports the running of other or older operating systems besides there own in them then they'll be pretty useless for old games.

Duke3D is already playable at around 15fps on an Athlon 64 3500+ with sound....and the 3500+ is pretty old tech by now.(Yeah Jonof Duke3d...I was just using an example). By the time this virtualization tech is implemented and commonly available and the OS's support it DosBox should be fine with all the DOS games out there.....

Uhm... I wouldn't really say I'm using a 2600+ per se... Firstly, I forgot to update my profile, it's actually running 200x12.5 not 200x11.5 after my most recent case mod which consisted of the incredibly complex process of moving my side case fan from the outside to the inside. I would suppose on their little PR scale, this would be rated a 3400+ -- bearing mind mind you'd have to call it a Barton, not an Athlon64 to prevent confusion. In other words, I loose SSE2, HyperTransport, that sort of thing compared to the A64. Still, even at 200x11.5, it was somewhere in the area of a 3200+. Kind of bugs me when people look at the "2600+" part and don't take note of the fact that a stock 2600+ doesn't exactly run at 200x12.5 (or 200x11.5, or, well, 200xanything...) Don't underestimate the mobile barton just because the desktop barton doesn't oc that well. I'm running games like Doom 3 with maximum quality settings at 1024x768 with 4xFSAA&AF (that's right, it only needs > 128 for uncompressing everything into VRAM, but you REALLY get the same quality on a 128MB card because those of us who line the pockets of nVidia instead of receive parts of the lining are unable to actually tell the difference) quite smoothly even though the CPU is supposed to be a bottleneck. FEAR is the first thing to give me problems at getting maximum quality settings. And even it did pretty good when I went only a bit above the recommended settings (which didn't take into account my forced FSAA/AF in the control panel.) For a CPU bottleneck, I'd say it does pretty well for itself. I am using the OpenGLs, not plain directdraw or something btw, so whatever video acceleration it gets is taken off of the CPU (albiet this is mainly in the form of resizing I know.)

Anyway, it may well be that hardware is speeding up too fast for virtualization to help in DOSBox's case, but, I'm not so sure yet based on just that. Firstly, Duke Nuke 3D is still a bit low end compared to some of the stuff I had played back in the DOS days, and, secondly, if you want those extra nice software graphics resizing and such and better emulation of various devices such as the sound (please tell me you aren't using 22KHz or something.) I don't know about that whole hardware acceleration of 2xSAI and such yet. I have high hopes, but, so far my system still reboots whenever I try anything using that PS 2xSAI code.

As for what's wrong with frameskip, well, need I say it? Seriously, who wants to be skipping frames unnecessarily? Sure, a frameskip of 1 isn't SO bad really, but, nonetheless, a frameskip of 0 is much much nicer. You realize it's more of a ratio kind of thing? You're not skipping one frame per 60Hz or something, it's a LOT more than that... Oh, and I don't consider 15 FPS to be smooth either. I've had direct experience with that particular number in the past with emulation like back when I had a low end system trying to play SNES games and 15 FPS was around my max. It only started to get tolerable around that area. Didn't look smooth until, oh, say roughly 23.976, give or take...

Anyway, maybe I overdid it a bit in my enthusiasm. Not MASSIVE perhaps, but, I do wonder if it can't come in handy even in the DOSBox world. I mean, obviously for VMWare and such it will since they are often used for full modern OSes running servers and such.

Reply 3 of 56, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

The good news: Yes, virtualization uses less CPU power and could boost Dosbox.

The bad news: Virtualization only works in CPUs that support the same opcodes (i.e: an AMD can "virtualize" a 80x86... a PowerPC can't do that). If you want Dosbox to run in PowerPC, forget about virtualization.

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!

Reply 4 of 56, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Virtualization: This has so far been unattractive to the DOSBox developers because DOSBox aims to be a cross-platform emulator, and adding virtualization would cause some combination of inconsistent performance & features and additional headaches due to extra code to maintain. It's true that the official ports are currently only Windows and Linux, but there are unofficial ports to lots of non-x86 platforms. I think it's better for the devs to concentrate on making DOSBox the best cross-platform emulator it can be, and wait for the hardware to catch up to where it can run all the old games at full speed (it should only be a few more years!)

About F.E.A.R.: I wouldn't feel too bad about it hammering your system, as it uses the LithTech engine. The FEAR demo is more resource hungry on my system than either Doom 3 or Half-Life 2 as well. Hopefully Monolith will optimize things in the final release.

About Athlons: I wouldn't consider any Athlon 64 to be old yet. I just got a new Athlon XP 3200+ last year! I hope to build some kind of 64-bit system in early 2006 though.

Reply 5 of 56, by Nazo

User metadata
Rank Member
Rank
Member
HunterZ wrote:

About Athlons: I wouldn't consider any Athlon 64 to be old yet. I just got a new Athlon XP 3200+ last year! I hope to build some kind of 64-bit system in early 2006 though.

Heh, I hope you meant "Athlon XP" rather than "Athlon 64," else I'm one confused person. Anyway, I have to agree that it's sad how many people underestimate the capabilities of these things when run at a decent speed. There are certain things they don't do as well at, but, there are certain things they do almost just as well per cycle at, and this evens things out more so that when you run a Barton at 2.2GHz or higher, you get great results. That's not to mention what happens just giving it a higher FSB to work with (3200+ runs 200 stock, right? Wasn't that the single chief selling factor, and the only thing that made it even be called 3200+ rather than, say 2800+ or something?) The fact is, I'm seriously considering gettnig the memory "diagnostic tool" that would let me oc this UTT CH5 memory and see just how far up this CPU goes before something gives (probably the cheap motherboard first.) You said you wouldnt' consider any of them to be old, but, well, I must say that any Athlon/Sempron running below roughly 2GHz or so is going to be showing it's age already with latencies and such even with a good video card (I might add, with that sempron based on the barton, you may be in trouble anyway even if you somehow got it to 3GHz due to it's painfully small amount of cache.)

Actually, to be honest about FEAR, it's probably the VRAM at fault. It seems to be optimal for 256MB when you want to max out those settings. Unfortunately, I don't have that. My point was that until it, I hadn't even found a game I couldn't just set quality settings as high as they would go and just let things run. They'd never drop below a smooth enough framerate for me (mind you, I'm not one of the spoiled picky people who feel that anything less than 50000 FPS is too choppy, as long as I can do the whole flick of a write snipe someone out with a headshot thing in games like UT2Kx, that particular framerate is smooth enough for me.)

Anyway, I must admit it's a little dissapointing to learn that the function will probably not see it's way into DOSBox. The fact is, things like that are all it's really good for. I suppose this means VDMSound may not die after all though, because it looks to me like this gives MS a chance to make their NTVDM less useless, and, thus, VDMSound could, in turn, make it almost become something that is useful (sorry VDMSound team, but, you can only do so much starting from a crappy crumbling foundation...) d-:

The fact is, I was really wondering if it would make a good fork point instead. It seems to me that the main DOSBox project could just go on normally, and another project run along side it to add virtualization or whatever other optomizations might benefit it (hey, MMX, SSE and such aren't going to be on many of those other systems either, but, I'll bet MMX if nothing else could help) as it goes.

Well, I can understand if they would actually not want to do such a thing. And it is true that in a couple of years or so it might finally become possible to play games that required a Pentium to play decently, but, it seems to me like the benefits would be kind of nice. For one thing, not everyone can afford the latest greatest cpu. I mean, I'm hoping to upgrade to A64 sometime this or next year at least, and I'm forced to look at a 3000+ due to the incredible cost (mind you, it's the venice, and I have a pretty decent heatsink lined up to go on there, so it should at least be the equal to my current CPU I would hope. I'd feel very bad if I spent that much and then things like ffdshow felt like I downgraded... Should be an improvement though, a 3000+ Venice with a decent heatsink should surely at least make it to 2.4GHz.)

Reply 6 of 56, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Yes, I said XP as that's what I have 😀

I think my video card is the bottleneck in my current system (Radeon 9800 Pro 256MB AGP). I'd like to get something of the current generation, but it looks like it will be best to wait until I make my next system so I can use PCI-Express.

About forking DOSBox to a port with virtualization: It's certainly possible, but it seems noone is interested. It's been discussed before though, so you never know. I can tell you that the main devs aren't interested, so it will be an unofficial/experimental port it someone does do it.

Reply 7 of 56, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Upgrading from my 9700 to an X800 was a major upgrade for my computer. Before I had to play Doom 3 at 1024 after the upgrade 1600 was playable. This is on a 2800+

You should be able to pick up an X800 AGP for cheap pretty soon.

Of course my 2800 does everything I need it to do an the X800 too so I'm good for quite awhile. I constantly look at the new hardware and think up reasons as to why I don't need it and guess what? I don't. It's best to wait until the hardware catches up to the bloated, unoptimized, overpriced software, so that finally the fans on the internet can optimize it, and you can pick the software up for cheap at $30 instead of $60. 😁

QEMU is the likely candidate for inclusion in DosBox. They recently released their KQEMU driver for 2K/XP (previously only available for Linux), it doesn't do much for 2K/XP ATM but it's there and it's being worked upon.

I was testing QEMU vs DosBox the other day and they were about equal in speed playing Doom. Heck, DosBox felt slighly faster but it really wasn't that noticeable. Hopefully KQEMU will allow at least Vmware/VPC type speed in the future.

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

Reply 8 of 56, by Nazo

User metadata
Rank Member
Rank
Member

Oh well, it was just a thought. Hopefully by then I'll have a much better CPU capable of some more complex things anyway. I mean, it is true that if this is out there yet, it's on some of their latest that I'm not even looking at anyway.

BTW, just right now, the only benefit of PCI-express for gaming is SLI. The fact is, AGP 8x isn't being fully utilized yet, so PCI-express 16x isn't going to do much. The main point of PCI-express is it will be needed in the long run, and if you got, say a nforce 3 board, you'd be very unhappy when you had to replace it a lot sooner just to upgrade your video card (or worse, get a scaled down AGP versin of a PCI-express video card, much like the scaled down PCI versions of current AGP cards for those poor unfortunates stuck without an AGP slot on a crappy cheapo board...) Actually, if you went out and got yourself a Geforce 6800GT or Ultra, despite the CPU bottleneck, you'd be able to max out settings quite possibly in everything, maybe even including that fear demo if your system is running decently (from what I hear the 3200+ desktops don't overclock much at all though.) For the love of god, do not buy a 512MB card even if you're rich, you'll do better with a 256MB card on a better system. (I swear to god if I ever catch the marketing hype people responsible for things like that and things like the FX 5200, well... I'd better not say any more or you people will be accessories.)

EDIT: Heh, posted too soon on me there. QEMU eh? Well, I only get MMX, SSE, and 3dNow! as far as realistic accelerations of things go (I guess 3dNow!+ is as useless as SSE3 maybe from the way people react to it) so I might not see much, but, hey, I'd take any bit I could get here.

Last edited by Nazo on 2005-08-16, 15:41. Edited 1 time in total.

Reply 9 of 56, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

I know you've been championing QEMU+DOSBox, but is anyone actually interested in doing the development for this? Just curious.

Also, did you notice if your CPU usage was different between QEMU and DOSBox when you were testing them with Doom? It may be significant if QEMU is giving the same performance at a lower CPU usage.

Reply 10 of 56, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Heh. I tested it on this ol' K63-400. So CPU usage was 100% for both. 😉 Video rendering is probably where most of the speed goes. Going to compare the two on the 3500 today if I can. Just wanted to start from the lowest end of people with computers today to the high end.

Well if you want virtualization for DosBox and you don't want to bother creating your own host driver then Qemu is your only Free solution and considering that most of the work has already been done.....Again KQEMU for 2K/XP is not solid yet but it's getting there.

I wouldn't say that this is something that is greatly needed since most resource intensive DOS games work fine in NTVDM....but again there is the decreasing compatibility/development of NTVDM, the move to 64bit, the need for easy to use DOS emulators for alternate platforms....etc...etc.

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

Reply 11 of 56, by Nazo

User metadata
Rank Member
Rank
Member

Uhm, that reminds me of something I was wondering. Might there someday be a WinBox? I don't mean like modern Windows NT, but, more towards old windows, starting with 16-bit such as Windows 3.1, maybe never even going so far as Windows 9x. Basically, the sort of things that get emulated through the NTVDM like those stupid installers many people still insist on using for no reason whatsoever since there are free alternatives even (one stupid one I saw once required > 2GB free on the HD, but, since it was a 16-bit installer, > 2GB was physically impossible as far as it was concerned and it refused to admit that it could be installed...)

Anyway, I really do hope to see things like QEMU. The fact is, why SHOULD the cpu have to be 100% utilized for emulation anyway? Every bit left over can be used for downloads or somesuch after all. In this modern day, we like to multitask, and requiring 100% of the CPU to emulate a system with frameskipping does seem a bit much. I really don't understand why it would be at all crazy to do optomizations. Heck, the people using ports for other systems could probably really use those optomizations even more than us, so it seems like it's not a bad idea to support the idea of it at least.

Uhm, btw, K6-3? For shame, if anyone is trying to run DOSBox on that, they darned well better be prepared for bad results. d-:

Well, based on my earlier estimate of requiring at least 100x the power, I guess it'd emulate a 4MHz cpu pretty decently. Was there a 286 that slow maybe? Perhaps you can do Out of This World in low quality mode.

Last edited by Nazo on 2005-08-16, 16:13. Edited 1 time in total.

Reply 13 of 56, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Well currently DosBox can run Windows 3.1 but not perfectly. Mabye eventually Windows 3.1 would be perfected but it's not a goal for DosBox and I wouldn't expect it to be.

Could someone branch off the DosBox code and add Official Windows 9x/NT support? Yeah....if someone wanted to and why bother when Qemu can do it? The need really isn't there for it currently.

For full Windows 3.1x support it's best to use Qemu\Bochs.
As for Windows 95 support. Qemu would probably be the best choice but then you start to get into resource intensive games that use FMV and such so for those games you'll have to use VPC/Vmware. Again KQEMU is being constantly developed so eventually QEMU will be able to run everything that VPC/Vmware does at the same speed.

The need really isn't that pressing tho. 32bit Windows games started to be developed since 1995-1996.. Yes, there are alot of 16-bit games and 16-bit installers but almost all people in the world are still using 32bit OS's and will be for quite some time so the 16bit incompatibility problem isn't that much of a problem.....yet. It'll start to get worse once Longhorn (Vista...) comes out and Dell\Gateware\HP start shipping 64bit Vista instead of 32bit Vista as standard to Grandma's and College Kids.. Although that probably won't happen until a year or 2 after.

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

Reply 14 of 56, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

I believe that, as time goes on and hardware capabilities continue to increase, DOSBox stands a fair chance of evolving over time into something that can emulate past OSes like Win9x. My philosophy is to just be patient and enjoy the thousands of games that I can play right now - and of course to offer my two cents now and then 😀

Reply 15 of 56, by Nazo

User metadata
Rank Member
Rank
Member

Well, you see, what I had in mind was actually a bit more. Basically, I'm wondering if DOSBox could ever reach such a level that it actually starts to become embedded into things such as Windows (maybe already in many linux distros I'll bet.) Only, as an entire replacement for NTVDM completely. Not just embedded, but, with programs running with stripped down versions of it rather than even relying on Windows to handle emulation. Right now it couldn't actually replace the VDM, but, someday down the road? I don't know, doesn't seem impossible. The reason I think this would be a very good thing is because that would mean future systems down the road that might even be no longer 100% X86 enough to even boot real dos with proper drivers and such (well, for one thing, I wish you good luck in finding a socket 939 board with ISA just to name an example.) Threats from things such as the Cell (though from what I've found out it sounds like it's not really a threat after all) make the idea of a 100% emulation replacement something to be considered. Not just for DOS, but, even a bit further up the chain, as in lower 32-bit related things even (heck, we've already moved to 64-bit, who knows what the future holds, maybe 128-bit many many years from now will be more than 64-bit + extentions, but, with some whole new operations.) Maybe I'm looking a bit too far into the future though? I do know that the day that DOSBox becomes embedded into MS Windows is the day that MS just HAPPENS to create a software named DOSBot which has lots of pretty decorations and such added around a dialog that looks very suspiciously familiar and some very darned small print in the credits... 😄

Reply 16 of 56, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

I think DosBox inclusion into Windows would only be possibly if MS designed a software package like Linux has whereas it checks the web for the tons of software that is available for the OS, finds the updated versions and downloads them.

Would MS ever do this? When pigs fly...... OS's are becoming more and more Net-centric, MS becoming even more integrated into Windows and finally progressing some of their features online. You constantly see articles on the net proclaiming that the OS will be dead in a couple of years leaving the PC as a simple dumb terminal connecting to a mainframe via the Internet. This will possibly be the way it will turn out for the masses....but it won't for me!

It would be nice tho if in like 10 years a person could go over to their OS-less PC, Go to the MS - Game Page, surf down to Zork 1 or Quake 3 or Texh Murphy UAKM and simply click on an icon and play the game where the only thing being transferred to the dumb terminal was the video.

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

Reply 17 of 56, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

That would be weird, as it's how things started out (dumb terminals connected to a mainframe). I think people like us will make a lot of noise to keep that from catching on. I don't want all my private stuff on a Microsoft server somewhere...

Reply 18 of 56, by Nazo

User metadata
Rank Member
Rank
Member
DosFreak wrote:

I think DosBox inclusion into Windows would only be possibly if MS designed a software package like Linux has whereas it checks the web for the tons of software that is available for the OS, finds the updated versions and downloads them.

It's called Windows Update. And, you forgot I was talking about in a future time when DOSBox is theoretically more complete and new versions come out more like once a year.

It would be nice tho if in like 10 years a person could go over to their OS-less PC, Go to the MS - Game Page, surf down to Zork 1 or Quake 3 or Texh Murphy UAKM and simply click on an icon and play the game where the only thing being transferred to the dumb terminal was the video.

Osless? I've heard people talking about the idea. It's a nice thought at least, but, the fact is, the OS does certain things a lot better than the things meaning to replace it. For one thing, you get rid of the os, you get rid of all efficiency that could ever occur in a PC -- as much as it pains me to imply windows has any relation to efficiency whatsoever, I am forced to admit that it would be massively more inefficient to have all those other generic programs running that are designed to work on basically anything rather than being specifically for a specific setup. And MMX, SSE, etc? How on earth are you going to use those in such generic things? And gaming on such a system? Well, you better like Zork 1, because you sure as heck aren't going to be doing Quake 10 or whatever would have been current when Windows and linux both suddenly somehow ceased to exist. Not with your mere 50GHz K20 that cost you half your income because it's just not powerful enough for the massive inefficiencies. Basically, what you're imagining is a world where Java has become the OS. Sure, great, if you want an application that will run in practically anything you throw at it, that will do it alright. Toss that same application on your Playstation 15, and presto, it runs at a whole 1 FPS. If you want the same application to run BETTER and take less than 30 minutes to do a simple task like draw a rather simple little image on the screen, well, time to look elsewhere.

Anyway, you've kind of taken my idea to a whole new level in an even farther future in this particular context. I'm talking about basically a windows system, basically with NTVDM replaced by something that works with a name and interface suspiciously similar to a certain program out there named DOSBox. Essentially, a new VDM that relies on a far more accurate method of emulation so that it will work on whatever processor Windows runs on at that time, in much the manner that it is needed in Windows 64-bit edition already since that is even less compatible yet.

Last edited by Nazo on 2005-08-16, 17:07. Edited 4 times in total.

Reply 19 of 56, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Microsoft already has a software like that, they bought Connexant's VirtualPC.
There must be a clear distinction between emulation and virtualization. DOSBox is an emulator - it completely emulates a PC (well, not entire PC but a lot of it) therefore it runs on many different machines (mac, some pdas)...being written with portability in mind it has the potential to run (with minor modifications) on any future computer.
VMWare, VPC (well, not entirely true, Mac port of VirtualPC is an emulator, windows version is not) virtualize the computer. This means they cannot run on different hardware as they use it directly. That makes them much faster than emulation but because of certain x86 properties, virtualization is still hard. Some other architectures (IBM zSeries for example) are much more virtualization friendly. Even more, such systems are capable of running hundreds of virtual machines with very little overhead (in IBM zVM for example, each system "service" gets it's own virtual machine, each user logs into it's own vmachine...). I suspect Vanderpool and Pacifica will extend x86's capabilities similar to that (running something like IE in it's own machine for example 😀 )...although the average desktop user will probably not need it. DOSBox might benefit from "Virtual" core but as it was already said, the developer's time is much better spent on other features but if somebody wants to do it, go ahead.

@HunterZ: this has already happened...it's called Wheel of Reincarnation 😉