DOS platform emulation stuff
DOS platform emulation stuff
Hmmm .....
Recently, I was finally able to play with Dosbox 0.73 and Dosemu 1.4.0. After tinkering with them for a bit, I made these pet packages in the hope that they'll be useful to someone. Note: These are once in a blue moon effort and probably will not be maintained.
Dosbox was a straight forward setup and easy to use. It comes with built-in dos shell and all I have to do is to mount the appropriate folder as drive C and the way I go ...
Dosemu needs some tinkering to get it to work right on puppy. Initially I had segfaults and bus errors with dosemu. It seemed hopeless but I needed those direct hardware access. After a bit of tinkering, I realized that it just needed some basic memory handling stuffs to be properly setup and walla, no more segfaults, no more bus errors.
Dosemu requires hands on DOS folder population. The easiest would be to create ~/.dosemu/drives/drive_c folder and copy the necessary DOS files into it. The xdosemu loader script have been adjusted to handle shm checking.
DosBox basic comparison specs
---------------------------------
1. runs on any CPU. Defaults as x86 cpu emulation (with DIT only on x86 cpu)
2. emulates 286/386
3. No direct hardware access
4. SDL library is compulsory
5. built-in DOS shell
6. S3 Trio64 emulation (text -> VESA 2.0)
7. SB16/GUS/WSS/Speaker emulation
8. mount folder or disk image
9. One single binary for all
10. actively maintained
Dosemu basic comparison specs
---------------------------------
1. runs on x86 CPU only. Defaults as JIT (with optional vm86/full cpu emulation)
2. emulates 8086/286/386/486/586
3. allows direct hardware access (user configured)
4. Xlib/SDL/slang are optional
5. requires external DOS shell
6. Trident8900C emulation (text -> VESA 2.0)
7. SB16 emulation only
8. boot to a populated folder, disk image or direct disk access
9. Modular binary package, least dependency.
10. maintainance seems dormant
Which one to use ?
-----------------------
For most DOS stuffs, Dosbox is recommended. If you just want to run a DOS based apps, it's highly likely dosbox will fit the bill. The single binary comes with everything ready to run. Of course, the SDL library IS the minimum pre-requisite. For network support, SDL_net linked binary is also available.
Dosemu is recommended if you need specific customized setup (for example) :
1. Direct parallel access to an eprom programmer.
2. Boot specific DOS versions (MS-DOS 5.0-7.1, DR-DOS, FDOS, etc).
3. Mounting and booting a drive/partition directly.
4. Pentium level optimization.
5. TUN/TAP vnet capability.
(Note: actual setup is beyond the scope of this thread. Further info can be found in the README)
Execution speed is subjective to actual hardware in use. Both dosbox and dosemu have their own quirks. Some apps works better on dosbox and vice-versa. Some h/w dependent apps may work better in dosemu. However, I noticed peaked cpu usage when running apps in dosbox in several cases. Dosemu seems to be able to release cpu time and thus lower cpu usage in several cases. YMMV ...
PET binary packages :
--------------------------
(Note: Full source code is available upstream. No source modifications made.)
DOSBox 0.73 standard (745KB)
[download]
Description: Dosbox 0.73 release pet package. Compiled on Puppy 412.
Tuned for Puppy platform. Icon and desktop files added.
Requires SDL-1.2.13 library minimum.
DOSBox 0.73 network support (765KB)
[download]
Description: Dosbox 0.73 release pet package. Compiled on Puppy 412.
Tuned for Puppy platform. Icon and desktop files added.
Requires SDL-1.2.13 and SDL_net 1.2.7 library.
DOSEmu 1.4.0 basic (1.06MB)
[download]
Description: DOSEmu 1.4.0 release pet package. Compiled on Puppy 412.
Tuned for Puppy platform. Icon and desktop files added.
SDL-1.2.13 library optional. FreeDOS tarball not included.
Requires manual boot folder/image preparation.
SDL-1.2.13 library (2MB)
[download]
Description: SDL 1.2.13 release pet package. Compiled on Puppy 412.
Full library, headers, docs, mans, etc. Suitable for developers.
SDL_net-1.2.7 library (37KB)
[download]
Description: SDL_net 1.2.7 release pet package. Compiled on Puppy 412.
Full library, headers, mans, etc. Suitable for developers.
Rgds
.-.
Recently, I was finally able to play with Dosbox 0.73 and Dosemu 1.4.0. After tinkering with them for a bit, I made these pet packages in the hope that they'll be useful to someone. Note: These are once in a blue moon effort and probably will not be maintained.
Dosbox was a straight forward setup and easy to use. It comes with built-in dos shell and all I have to do is to mount the appropriate folder as drive C and the way I go ...
Dosemu needs some tinkering to get it to work right on puppy. Initially I had segfaults and bus errors with dosemu. It seemed hopeless but I needed those direct hardware access. After a bit of tinkering, I realized that it just needed some basic memory handling stuffs to be properly setup and walla, no more segfaults, no more bus errors.
Dosemu requires hands on DOS folder population. The easiest would be to create ~/.dosemu/drives/drive_c folder and copy the necessary DOS files into it. The xdosemu loader script have been adjusted to handle shm checking.
DosBox basic comparison specs
---------------------------------
1. runs on any CPU. Defaults as x86 cpu emulation (with DIT only on x86 cpu)
2. emulates 286/386
3. No direct hardware access
4. SDL library is compulsory
5. built-in DOS shell
6. S3 Trio64 emulation (text -> VESA 2.0)
7. SB16/GUS/WSS/Speaker emulation
8. mount folder or disk image
9. One single binary for all
10. actively maintained
Dosemu basic comparison specs
---------------------------------
1. runs on x86 CPU only. Defaults as JIT (with optional vm86/full cpu emulation)
2. emulates 8086/286/386/486/586
3. allows direct hardware access (user configured)
4. Xlib/SDL/slang are optional
5. requires external DOS shell
6. Trident8900C emulation (text -> VESA 2.0)
7. SB16 emulation only
8. boot to a populated folder, disk image or direct disk access
9. Modular binary package, least dependency.
10. maintainance seems dormant
Which one to use ?
-----------------------
For most DOS stuffs, Dosbox is recommended. If you just want to run a DOS based apps, it's highly likely dosbox will fit the bill. The single binary comes with everything ready to run. Of course, the SDL library IS the minimum pre-requisite. For network support, SDL_net linked binary is also available.
Dosemu is recommended if you need specific customized setup (for example) :
1. Direct parallel access to an eprom programmer.
2. Boot specific DOS versions (MS-DOS 5.0-7.1, DR-DOS, FDOS, etc).
3. Mounting and booting a drive/partition directly.
4. Pentium level optimization.
5. TUN/TAP vnet capability.
(Note: actual setup is beyond the scope of this thread. Further info can be found in the README)
Execution speed is subjective to actual hardware in use. Both dosbox and dosemu have their own quirks. Some apps works better on dosbox and vice-versa. Some h/w dependent apps may work better in dosemu. However, I noticed peaked cpu usage when running apps in dosbox in several cases. Dosemu seems to be able to release cpu time and thus lower cpu usage in several cases. YMMV ...
PET binary packages :
--------------------------
(Note: Full source code is available upstream. No source modifications made.)
DOSBox 0.73 standard (745KB)
[download]
Description: Dosbox 0.73 release pet package. Compiled on Puppy 412.
Tuned for Puppy platform. Icon and desktop files added.
Requires SDL-1.2.13 library minimum.
DOSBox 0.73 network support (765KB)
[download]
Description: Dosbox 0.73 release pet package. Compiled on Puppy 412.
Tuned for Puppy platform. Icon and desktop files added.
Requires SDL-1.2.13 and SDL_net 1.2.7 library.
DOSEmu 1.4.0 basic (1.06MB)
[download]
Description: DOSEmu 1.4.0 release pet package. Compiled on Puppy 412.
Tuned for Puppy platform. Icon and desktop files added.
SDL-1.2.13 library optional. FreeDOS tarball not included.
Requires manual boot folder/image preparation.
SDL-1.2.13 library (2MB)
[download]
Description: SDL 1.2.13 release pet package. Compiled on Puppy 412.
Full library, headers, docs, mans, etc. Suitable for developers.
SDL_net-1.2.7 library (37KB)
[download]
Description: SDL_net 1.2.7 release pet package. Compiled on Puppy 412.
Full library, headers, mans, etc. Suitable for developers.
Rgds
.-.
- Attachments
-
- SDL_net-1.2.7-i486.pet
- SDL_net 1.2.7 library add-on. For dosbox network support.
- (36.77 KiB) Downloaded 2622 times
dosemu
Doemu 1.4 works perfectly well with puppy linux 4.2.
I will send you all the explanations on the site tou tou linux french and I will send the translation.
Hundreds of companies work with dosemu in ubuntu.
I have a problem printing.
So if you use word or works (under DOS), I can't print with puppy linux. Doemu is better than DOSBox
It is better to create a small partition fat 32 or ntfs.
Then mount this partition in the autoexec.bat
etc/doemu/freedos/autoexec.bat
I will give you my setup.
It's the same with all linux.
At the start of dosemu you just click on the partition ntfs or fat32.
Can you find C: \ and you can do whatever you want by using the syntax.
I am able to run under dosemu Arachne.
It is a wonderful internet connection software.
You can do anything under dos and doing everything with puppy linux.
With the ubuntu is very easy. Simply specify the file to share.
With puppy linux I can not create a network
I will send you all the explanations on the site tou tou linux french and I will send the translation.
Hundreds of companies work with dosemu in ubuntu.
I have a problem printing.
So if you use word or works (under DOS), I can't print with puppy linux. Doemu is better than DOSBox
It is better to create a small partition fat 32 or ntfs.
Then mount this partition in the autoexec.bat
etc/doemu/freedos/autoexec.bat
I will give you my setup.
It's the same with all linux.
At the start of dosemu you just click on the partition ntfs or fat32.
Can you find C: \ and you can do whatever you want by using the syntax.
I am able to run under dosemu Arachne.
It is a wonderful internet connection software.
You can do anything under dos and doing everything with puppy linux.
With the ubuntu is very easy. Simply specify the file to share.
With puppy linux I can not create a network
- sprangalang
- Posts: 15
- Joined: Wed 09 Sep 2009, 18:40
Thank you for posting this, I've been pulling my hair out trying to get dosbox to work with puppy 4.30.
Well, it installed very nicely, and it runs!
But I am having a heck of a time mounting the old game CD which I would like to install through dosbox. When I mount the drive within Puppy, I can see all the files and directories on the CD.
Within DOsbox:
I enter "mount -cd", it shows the cd drive there:
"CDROMs found: 1
0. /dev/cdrom"
I tried mounting using "mount d /media/cdrom/ -t cdrom"
It says directory /media/cdrom/ does not exist.
I tried "mount d /dev/cdrom/ -t cdrom"
Same result, "directory /dev/cdrom/ does not exist"
same for "mount d /dev/sr0/ -t cdrom
I tried "mount d /dev/cdrom -t cdrom", then it says it mounts as a subdirectory, but no files show in directory listing.
I get the feeling I'm missing something silly.
Thank you in advance for any reply!
-Jeff
Well, it installed very nicely, and it runs!
But I am having a heck of a time mounting the old game CD which I would like to install through dosbox. When I mount the drive within Puppy, I can see all the files and directories on the CD.
Within DOsbox:
I enter "mount -cd", it shows the cd drive there:
"CDROMs found: 1
0. /dev/cdrom"
I tried mounting using "mount d /media/cdrom/ -t cdrom"
It says directory /media/cdrom/ does not exist.
I tried "mount d /dev/cdrom/ -t cdrom"
Same result, "directory /dev/cdrom/ does not exist"
same for "mount d /dev/sr0/ -t cdrom
I tried "mount d /dev/cdrom -t cdrom", then it says it mounts as a subdirectory, but no files show in directory listing.
I get the feeling I'm missing something silly.
Thank you in advance for any reply!
-Jeff
Hmmm .....
Well, it seems you're using dev nodes when you should be using mnt points ..... ( /dev = dev nodes, /mnt = mnt points) ...
1. As usual, first we mount the cd/dvd drive in puppy.
2. In dosbox, depending on your kernel version :
# mount d /mnt/hdc -t cdrom
-or-
# mount d /mnt/sr0 -t cdrom
-or-
# mount d /mnt/sr0 -t cdrom -usecd 0 -ioctl
- the first is basic mode, tested ok.
- the second is basic mode, tested ok.
- the third is low level support mode, tested ok.
Rgds
Well, it seems you're using dev nodes when you should be using mnt points ..... ( /dev = dev nodes, /mnt = mnt points) ...
1. As usual, first we mount the cd/dvd drive in puppy.
2. In dosbox, depending on your kernel version :
# mount d /mnt/hdc -t cdrom
-or-
# mount d /mnt/sr0 -t cdrom
-or-
# mount d /mnt/sr0 -t cdrom -usecd 0 -ioctl
- the first is basic mode, tested ok.
- the second is basic mode, tested ok.
- the third is low level support mode, tested ok.
Rgds
- sprangalang
- Posts: 15
- Joined: Wed 09 Sep 2009, 18:40
Dosbox and Quake ?
While digging around in my forgotten "Games of the past" I decided to see if I could play Quake in Puppy 4.3.1. using dosbox.After setting up,I get this in rxvt .Can anyone give me a clue on how to proceed with Alsa.I simply don't have a clue.thanks
- Attachments
-
- dosbox.png
- (5.58 KiB) Downloaded 7883 times
I have downloaded and installed the 4 files and have this dependency left over, even google and search could not help find solutions:
File: /usr/lib/dosemu/libplugin_term.so has these missing library files: libslang.so.2
... package manager does not know what package has these libraries.
I have a running Puppy 4.2.1 with Kernel 2.6.25.16 and need to know either where to get the missing library or which package I have to install to get it as side effect.
Help is greatly appreciated. Thanks in advance.
File: /usr/lib/dosemu/libplugin_term.so has these missing library files: libslang.so.2
... package manager does not know what package has these libraries.
I have a running Puppy 4.2.1 with Kernel 2.6.25.16 and need to know either where to get the missing library or which package I have to install to get it as side effect.
Help is greatly appreciated. Thanks in advance.
[b]DE[/b]:Wer nicht wa:hlt, hat nichts zu melden/maulen. [b]EN[/b]:Those not voting have nothing to say/moan about.
Puppy 4.21; CD2HDD; AMD64 & X86. Slow: Laptop x86-PI@133MHz-64mb RAM (modded Puppy); Fast:Laptop AMD64X2@2.2GHz-4gb RAM.
Puppy 4.21; CD2HDD; AMD64 & X86. Slow: Laptop x86-PI@133MHz-64mb RAM (modded Puppy); Fast:Laptop AMD64X2@2.2GHz-4gb RAM.
is it libslang you need? - this Russian site has it-
http://docs.puppyrus.org/pet-db/libs
http://docs.puppyrus.org/pet-db/libs
goingnuts
It can be found on the wayback machine:
I can't upload the file - too big to attach unfortunately (1.1mb)
Not having much joy posting the URL either, but I'm sure you will find it.
EDIT
Uploaded it to Zippyshare:
http://www27.zippyshare.com/v/GmbdbXbO/file.html
It can be found on the wayback machine:
I can't upload the file - too big to attach unfortunately (1.1mb)
Not having much joy posting the URL either, but I'm sure you will find it.
EDIT
Uploaded it to Zippyshare:
http://www27.zippyshare.com/v/GmbdbXbO/file.html
Keef & ally: You are always very helpful and service minded.
Very much appreciated - Thank You!
Added 20171212: The real magic is done by patriot in his patch of /usr/bin/dosemu - using that, the bus error is gone.
dosemu is fast compared to dosbox - warlord2 as an example is extremely slow in dosbox but lightning fast in dosemu. But dosbox runs most things you throw at it whereas dosemu needs more (native) configuration.
Found that to have both music and sound change $_sound = (on) to $_sound = (2) in /etc/dosemu.conf - and you get both.
If annoying double mouse press ctrl-alt-home to get rid of X-mouse.
patriots dosemu-1.4.0-i486.pet package does not contain any native dos binaries so you have to install a native dos system to get it running.
Very much appreciated - Thank You!
Added 20171212: The real magic is done by patriot in his patch of /usr/bin/dosemu - using that, the bus error is gone.
dosemu is fast compared to dosbox - warlord2 as an example is extremely slow in dosbox but lightning fast in dosemu. But dosbox runs most things you throw at it whereas dosemu needs more (native) configuration.
Found that to have both music and sound change $_sound = (on) to $_sound = (2) in /etc/dosemu.conf - and you get both.
If annoying double mouse press ctrl-alt-home to get rid of X-mouse.
patriots dosemu-1.4.0-i486.pet package does not contain any native dos binaries so you have to install a native dos system to get it running.
I have compiled dosbox-0.74 and dosemu-1.4.0 using uclibc and linked statically - so they should run on many versions of puppy. The dosemu-pet has included dos native environment (freedos). The patches used are attached this post. The pet-packages can be downloaded here:
dosemu-1.4.0 [2.2Mb]
dosbox-0.74.pet [0.7Mb]
dosemu-1.4.0 [2.2Mb]
dosbox-0.74.pet [0.7Mb]
- Attachments
-
- dosbox-0.74_tinyX11.diff.gz
- (1.44 KiB) Downloaded 533 times
-
- dosemu-1.4.0.diff.gz
- (5.15 KiB) Downloaded 535 times
Last edited by goingnuts on Tue 12 Dec 2017, 18:44, edited 2 times in total.