View previous topic :: View next topic |
Author |
Message |
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
Posted: Thu Nov 17, 2005 5:14 pm Post subject: DOS won't run on AMD64? |
|
|
Yes it is weird, but I have a DOS program I'd like to run on dual Opeterons! I've set up a 32 bit environment using
stage3-athlon-xp-2005.1.tar.bz2 and chrooted into it. When attermpting to run dosemu, I get Quote: | vm86plus service not available in your kernel |
From https://forums.gentoo.org/viewtopic-t-340992-highlight-vm86plus.html I gather there may be no way around this. Could someone either confirm this or suggest something to try. Thanks,
Fred |
|
Back to top |
|
|
yabbadabbadont Advocate
Joined: 14 Mar 2003 Posts: 4791 Location: 2 exits past crazy
|
Posted: Thu Nov 17, 2005 5:42 pm Post subject: |
|
|
I don't know if either of these work with AMD64, but you could look into trying DosBox, QEmu, or Bochs.
DosBox is specifically targeted for Dos games. The other two are full virtual machines in which you would have to install Dos and then your game. |
|
Back to top |
|
|
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
Posted: Thu Nov 17, 2005 6:35 pm Post subject: |
|
|
Thanks for the suggestions. My understanding is that these other programs run considerably slower and the program I want to run will run many times and each time is farily time consuming. (It is not a game.) I'm hoping for something fast.
That said, would anyone like to recommend between DosBox, QEmu, or Bochs? Thanks,
Fred |
|
Back to top |
|
|
robbyjo Guru
Joined: 06 Apr 2003 Posts: 462
|
Posted: Thu Nov 17, 2005 6:54 pm Post subject: |
|
|
You can try DOSBox and max the frequency in the config file so that it uses all your computing power. |
|
Back to top |
|
|
jcmorris Apprentice
Joined: 11 Jun 2003 Posts: 174
|
Posted: Fri Nov 18, 2005 12:11 am Post subject: |
|
|
You are running a 32-bit kernel, and not just a 32-bit chroot, correct? The Athlon64 doesn't support 16-bit DOS stuff under a 64-bit kernel, the AMD fellows decided to drop 16-bit compatibility when it is in 64-bit mode.
jcm _________________ Desktop:
Athlon64 3000+ (Socket 939 Venice)
Asus A8N-SLI
1GB Dual-Channel DDR 3200
NVidia Geforce 6800 256MB
Laptop:
IBM R40
Pentium M 1.4 GHz
256 MB RAM |
|
Back to top |
|
|
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
Posted: Fri Nov 18, 2005 1:33 am Post subject: |
|
|
I suspect this is my problem. I'm running a 64 bit kernel on the system. I don't think I want to change that as the DOS stuff is a small part of what I do. I strongly doubt that I could run a 32 bit kernel in the chroot while running a 64 bit kernel in the rest of the system. No need to respond to this if that is the case. I think I'll go with one of the emulation approaches. Thanks,
Fred |
|
Back to top |
|
|
EzInKy Veteran
Joined: 11 Oct 2002 Posts: 1742 Location: Kentucky
|
Posted: Fri Nov 18, 2005 2:08 am Post subject: |
|
|
Though I had to do some tweaking of dosbox.conf it does work pretty well on my dual opteron box. _________________ Time is what keeps everything from happening all at once. |
|
Back to top |
|
|
jcmorris Apprentice
Joined: 11 Jun 2003 Posts: 174
|
Posted: Fri Nov 18, 2005 4:03 am Post subject: |
|
|
I read over my last post, and I don't know if it was clear or not. Anyway, the kernel is not to blame for this, but rather it is a physical architectural property of the CPU. In 64-bit mode, the ability to do virtual 8086-mode is switched off. This makes sense, because of the way that addressing is traditionally done on x86 CPUs. 16-bit code relies mainly on segmented addressing (you load one register with the address to a region of memory (a "segment"), and then you load an offset into another register, and the CPU computes the address from those). This can get messy and complicated. When the 386 came out, the meaning of the term "segment" in 32-bit protected mode changed a little, where the segment registers were loaded with an index into a memory descriptor table, which held addresses of segments and their permissions. In protected mode, the OS handles the segment registers. Messy stuff indeed. AMD decided to get rid of the whole segmentation mechanism in 64-bit mode altogether (OSes don't really make use of segmentation anyway). So, 16-bit software can't run mostly because it makes heavy use of memory segmentation. On the other hand, 32-bit software can still run because it uses mostly 32-bit linear addresses. With the OS handling the segment registers in 32-bit mode as needed, user-space software doesn't need to know about the segment registers and therefore use 32-bit linear addressing. So, in short, it is a physical limitation of the CPU.
jcm _________________ Desktop:
Athlon64 3000+ (Socket 939 Venice)
Asus A8N-SLI
1GB Dual-Channel DDR 3200
NVidia Geforce 6800 256MB
Laptop:
IBM R40
Pentium M 1.4 GHz
256 MB RAM |
|
Back to top |
|
|
robbyjo Guru
Joined: 06 Apr 2003 Posts: 462
|
Posted: Fri Nov 18, 2005 8:23 pm Post subject: |
|
|
No, I think you're wrong. All my vintage 16-bit applications work nicely under DOSBox in my Athlon64 64-bit mode. DOSBox actually did complete emulation of the hardware and it does a really nice job. |
|
Back to top |
|
|
jcmorris Apprentice
Joined: 11 Jun 2003 Posts: 174
|
Posted: Fri Nov 18, 2005 9:04 pm Post subject: |
|
|
Yeah, Dosbox works because it emulates everything, but the CPU cannot execute 16-bit code natively. The reason he was getting "vm86plus" errors is because virtual 8086 mode (required for executing 16-bit code natively) cannot happen in 64-bit mode. Dosemu runs 16-bit code natively, under dosbox it is emulated.
jcm _________________ Desktop:
Athlon64 3000+ (Socket 939 Venice)
Asus A8N-SLI
1GB Dual-Channel DDR 3200
NVidia Geforce 6800 256MB
Laptop:
IBM R40
Pentium M 1.4 GHz
256 MB RAM |
|
Back to top |
|
|
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
Posted: Sat Nov 19, 2005 3:35 am Post subject: |
|
|
I'm a little further along, but far from a solution. Dosbox gets me into a dos window, but the programs I want to run involve file i/o and I suspect that is the problem. It might also have to do with the fact that I have SATA disks which it is not peprared to deal with.
Bochs, at least up to this point, is a mystery on how to get running.
Qemu is far enough along to get me into a DOS window. Unfortunately, I don't see a way to get access to files in Linux. Perhaps someone could verify for me that this is not possible, or suggest a way to access them. Any thoughts on the problem I'm having with dosbox would also be appreciated. (In that case a DOS Fortran compiler gets in a loop and the generated obj file grows until killed and the other program appears to run, but generated no output file as it should.) Thanks,
Fred |
|
Back to top |
|
|
Fred Krogh Veteran
Joined: 07 Feb 2005 Posts: 1036 Location: Tujunga, CA
|
Posted: Sat Nov 19, 2005 11:29 pm Post subject: DOS on AMD64 -- RESOLVED |
|
|
Sorry, I made a mistake on dosbox. A compiler I don't need to run fails, but since it also fails under dosemu on a pentium, I suspect bit rot has taken its toll. The program I need to run fooled me by generating files in upper case and I missed seeing them. For me dosbox looks like a very nice solution to my problem. Thanks,
Fred |
|
Back to top |
|
|
robbyjo Guru
Joined: 06 Apr 2003 Posts: 462
|
Posted: Mon Nov 21, 2005 1:13 am Post subject: |
|
|
Just to let you know that my HDD is currently SATA and DOSBox runs perfectly on it. Just make sure that you mount the appropriate directory to the appropriate drive and that's all. Unless your program needs some kind of setup (like debugger), it should run fine regardless of whether or not there's any I/O request in your program. Compilers also work fine. If the actual program can't even work in a Pentium, then there's a problem in the program itself, not DOSBox. Good luck. |
|
Back to top |
|
|
bakaohki Tux's lil' helper
Joined: 14 Jul 2005 Posts: 129 Location: Hungary
|
Posted: Fri Nov 25, 2005 9:54 pm Post subject: Solution |
|
|
Using dosemu will never work on an amd64 running in 64bit mode, believe me, I tried many things:
-No dosemu; even if it will work, they will have to sacrifice a lot (read their faqs).
-Bochs is painfully slow, forget it.
-Qemu's i386 run mode has way too many issues (I played around wit it a LOT; very weird problems concerning dosemu; something works, but not the way one would expect it)
-Qemu and freedos: this is okay, but still is pretty slow and I can recall some problems with the mouse. But can be okay, don't ask me about networking!
-Dosbox: slow, but I think this is the way to go: easy to set the speed, has a dos environment, sharing files is a breeze
Other solutions:
-you can dual boot to freedos (reboot )
-boot into an x86 linux and use dosemu
-create another computer from junk parts and reconnect the monitor (switches have issues with DPMS and refresh rates) if you need it. |
|
Back to top |
|
|
wiSHmaKeR n00b
Joined: 04 May 2004 Posts: 44 Location: Stara Zagora, Bulgaria
|
Posted: Sat Mar 04, 2006 5:34 am Post subject: |
|
|
Yesterday I tried DOSEMU from CVS, and it worked finally, it compiles fine and even works in X-mode _________________ And all your wishes come true... |
|
Back to top |
|
|
bakaohki Tux's lil' helper
Joined: 14 Jul 2005 Posts: 129 Location: Hungary
|
Posted: Sun Mar 05, 2006 9:11 am Post subject: dosemu amd64 |
|
|
Yeah, now it works, but it uses emulation - that's the only solution for cpus running in 64 bit mode.
See their changelog:
"Added support for x86-64, by using CPU emulation for V86 mode, running DPMI code natively." |
|
Back to top |
|
|
juhah n00b
Joined: 03 Oct 2004 Posts: 46
|
Posted: Sun Mar 05, 2006 9:44 am Post subject: Re: Solution |
|
|
bakaohki wrote: | Using dosemu will never work on an amd64 running in 64bit mode, believe me, I tried many things: |
VMWare could do the job. Just use WMWare to run Windows 9x. Or Windows XP and install DOS box there... |
|
Back to top |
|
|
bakaohki Tux's lil' helper
Joined: 14 Jul 2005 Posts: 129 Location: Hungary
|
Posted: Sun Mar 12, 2006 5:58 pm Post subject: Re: Solution |
|
|
juhah wrote: | VMWare could do the job. Just use WMWare to run Windows 9x. Or Windows XP and install DOS box there... |
Or Qemu, the same to me... but as I stated above, soon dosemu *will* run on amd64 too. |
|
Back to top |
|
|
Intangir Tux's lil' helper
Joined: 16 Sep 2005 Posts: 96
|
Posted: Fri Mar 24, 2006 8:07 pm Post subject: |
|
|
sweet so it works now?
but emulates it on 64?
is it still faster than dosbox? cause dosbox is too damn slow
also does anyone know if using a cpu idler program on any of these dos emulators helps?
i read on the vmware website that there is a TSR program that detects idling cpu cycles and.. i dont know somehow gives up cycles completely... im not sure exactly how it works but for vmware at least it sounded like instead of running the processor at 100% all the time it gives up wasted cycles to vmware, which can give them upto the kernel so it can run at a much lower cpu..
i dont know if that is really how it works or if that really makes sense, but thats what i sounded like to me
i cant wait to try running master of orion II on dosemu in AMD64
its been my dream to run master of orion II in a windowed environment ever since dos became obsolete
vmware doesnt work (glitchy graphics)
dosbox is too damn slow even on a beast of the most modern computer..
running it in windows sucks (the win95 version is TERRIBLY buggy)
the only solution for the last decade has been to create a seperate partition and boot into dos and run it there. but you cant be doing anythign else.. there isnt exactly a dos mp3 player, or dos instant messeging
anyway.. ill try it tonight |
|
Back to top |
|
|
bakaohki Tux's lil' helper
Joined: 14 Jul 2005 Posts: 129 Location: Hungary
|
Posted: Sun Mar 26, 2006 3:16 pm Post subject: qemu vs dosbox vs dosemu |
|
|
Yes, cpuidle works, the qemu page has a tutorial on this. I use qemu with kqemu for dos stuff; I didn't try advanced things but games work: speed was like on a native p1 100mhz with my Amd64 3200+ (wow, this sounds like a joke:)). Both freedos and msdos had some issues with memory management (himem, emm386), but making startup profiles in your config.sys can solve this rather easily. |
|
Back to top |
|
|
Intangir Tux's lil' helper
Joined: 16 Sep 2005 Posts: 96
|
Posted: Mon Apr 03, 2006 5:58 am Post subject: |
|
|
where can i find a cpu idle program for dos?
the one linked too on vmware.. is a bad link now
also has anyone gotten dosemu to compile yet?
it doesnt seem to be able to find any of my libraries.. i have libX and sdl and all installed, but the dosemu configure script says i dont..
im pretty sure this is a 64bit issue. |
|
Back to top |
|
|
Corona688 Veteran
Joined: 10 Jan 2004 Posts: 1204
|
Posted: Mon Apr 03, 2006 10:45 pm Post subject: |
|
|
Intangir wrote: | its been my dream to run master of orion II in a windowed environment ever since dos became obsolete | The windows version of MOOII doesn't run in Windows 2000, but it WILL run in Wine As per normal it has no comment of "windowed" though. _________________ Petition for Better 64-bit ATI Drivers - Sign Here
http://www.petitiononline.com/atipet/petition.html |
|
Back to top |
|
|
Intangir Tux's lil' helper
Joined: 16 Sep 2005 Posts: 96
|
Posted: Tue Apr 04, 2006 5:57 am Post subject: |
|
|
the windows version crashes every 20 minutes or so
and gets weird glitches with graphics sometimes, that you have to restart to get out of (like the pallete gets all mixed up)
i installed a 32bit install and compiled dosemu just fine
the game runs well in dosemu on 32bit (baaarely) sound still skips juuust a little bit sometimes
its barely managing to run it
an AMD athlon 3500+ with 1gb of ram barely manages to run what my old p100 with 32megs of ram ran fine 10 years ago |
|
Back to top |
|
|
Corona688 Veteran
Joined: 10 Jan 2004 Posts: 1204
|
Posted: Tue Apr 04, 2006 2:25 pm Post subject: |
|
|
Intangir wrote: | the windows version crashes every 20 minutes or so and gets weird glitches with graphics sometimes, that you have to restart to get out of (like the pallete gets all mixed up) | Crashes every 20 minutes while running on what? I know it hates any modern version of Windows. With Wine though, I had great success -- and native speed. _________________ Petition for Better 64-bit ATI Drivers - Sign Here
http://www.petitiononline.com/atipet/petition.html |
|
Back to top |
|
|
Intangir Tux's lil' helper
Joined: 16 Sep 2005 Posts: 96
|
Posted: Tue Apr 04, 2006 7:23 pm Post subject: |
|
|
oh maybe your right.. ya i was running it on 98, and then 2k.. both had issues
hrmm i will have to try that, it would hopefully run at less cpu than the dos version does thru dosemu
another thing about the windows version is its networking is sooo slow.. but i can't really find anyone to play it with anymore anyway |
|
Back to top |
|
|
|