Re: dosemu 64-bit compile? - SOLVED

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Zoltan Boszormenyi írta:
Frank Cox írta:
On Wed, 14 Nov 2007 00:42:37 +0530
Saurabh Bathe <sbathe@xxxxxxxxx> wrote:

AFAIK, edit the makefile for  dosemu.

Thank you very much for your answer.

After doing the " rpmbuild --rebuild dosemu-1.4.0-1.src.rpm" step that errored out as described in my previous message, I had a file named dosemu-1.4.0.tgz in my ~/rpmbuild/SOURCES directory. I un-tarred that and after poking around a bit I found a file named compiletime-settings. I changed the line in that file
that said  libdir ${prefix}/lib to  libdir ${prefix}/lib64

I then recreated dosemu-1.4.0.tgz in the ~/rpmbuild/SOURCES directory so it now contained the modified compiletime-settings file. After that, doing a "rpm
-bb ~/rpmbuild/SPECS/dosemu.spec" created the file that I wanted,
dosemu-1.4.0-1.x86_64.rpm. I installed it and it appears to work as expected.

PERFORMANCE
This 64-bit DOSEMU compile runs substantially slower than the 32-bit compile
that I used previously on this computer.  I have several rather large
PowerBASIC/DOS programs that are, in fact, the main reason why I use DOSEMU.

Up until a couple of days ago, I had Fedora 7/i386 on this computer. I just happen to still have the numbers when compiling one of those programs with
PowerBASIC/DOS under DOSEMU:

With F7/i386: 1686600 lines per minute -- total time to compile the program:
0.2 seconds

With F8/x86_64: 230400 lines per minute -- total time to compile the program:
1.6 seconds.

The F8/x86_64 DOSEMU is running approximately 13 times slower.

I understand that DOSEMU has to do more work to run on a x86_64 architecture. However, I'm wondering if there is something that I missed or something that I
should do (compiler options?) that would give it a bit more oomph.

You can try v86-64, it's a v86 mode emulation for x86-64 kernels.
http://v86-64.sourceforge.net/

The latest version of v86dev needs the first attached patch to compile,
also dosemu on F8 needs the second patch to successfully compile.
But after these they work together. Protected mode DOS games work
and they even produce sound :-)

diff -durp v86dev-20070607/vm86.c v86dev-20070607-2.6.23/vm86.c
--- v86dev-20070607/vm86.c	2007-06-07 09:26:25.000000000 +0200
+++ v86dev-20070607-2.6.23/vm86.c	2007-11-14 08:33:07.000000000 +0100
@@ -32,6 +32,8 @@
  *		  Vladimir M. Shelyugin <vladimir32@xxxxxxxxx>
  */
 
+#include <linux/module.h>
+#include <linux/device.h>
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/syscalls.h>
@@ -45,6 +47,7 @@
 #include <linux/mman.h>
 #include <linux/gfp.h>
 #include <linux/vmalloc.h>
+#include <linux/fs.h>
 #include <linux/file.h>
 #include <linux/utsname.h>
 #include <linux/personality.h>
@@ -2104,12 +2107,11 @@ int v86_init_module(void)
 
 void v86_cleanup_module(void)
 {
-    int ret;
     if (v86_dev)
 	device_destroy(v86_class, MKDEV(v86_major, 0));
     if (v86_class)
 	class_destroy(v86_class);
-    ret = unregister_chrdev(v86_major, "v86");
+    unregister_chrdev(v86_major, "v86");
     vm86_cleanup();
 }
 
--- dosemu-1.4.0/src/tools/periph/dexeconfig.c.old	2007-05-04 07:59:48.000000000 +0200
+++ dosemu-1.4.0/src/tools/periph/dexeconfig.c	2007-11-14 08:54:34.000000000 +0100
@@ -238,7 +238,7 @@
     exit(1);
   }
   close(fd);
-  fc = open(cfile, O_WRONLY | O_CREAT | O_TRUNC);
+  fc = open(cfile, O_WRONLY | O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR);
   if (fc < 0) {
     perror("cannot open config file");
     exit(1);

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux