VOGONS

Common searches


First post, by Kerr Avon

User metadata
Rank Oldbie
Rank
Oldbie

Someone on another forum was talking about running an emulator in an emulator in an emulator, and how far you could go like this, such as say an Apple Mac running DOSBox, and in that DOSBox running a ZX Spectrum emulator, and in that Spectrum emulator running the Video-pac emulator. And it made me wonder if there is any emulator that can emulate itself?

I mean, could DOSBox be made to emulate DOSBox? So that you have DOSBox emulating DOSBox, and *that* second version of DOSBox is actually emulating a PC game, say? And if that's possible, the DOBox emulating DOSBox emulating DOSBox emulating DOSBox, etc. Eventually you'd have to measure the frame-rate in weeks, but in theory I think it's interesting.

By the way, I didn't post this in the PC emulation forum in case anyone replies that a non-PC emulator can emulate itself.

Reply 1 of 9, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

You can probably use HX DOS Extender to load DOSBox inside DOSBox if you want. I only ever use it to test DOSBox in real DOS where it works fairly well.

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

Reply 2 of 9, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

I guess some virtualizers could work, but they have tricks to prevent that (so you can't run Virtualbox or VMWare inside a VM). Maybe PCem could do it, but you'll need a very powerful computer.

If you don't mind using different emulators, you may chain many emulators. I guess this combination should work: Your system -> VMWare/Virtualbox -> Linux VM -> Wine -> DOSBox -> Amiga Emulator -> Sinclair ZX Spectrum emulator -> ZX-81 emulator -> ZX-81 game.

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 3 of 9, by CwF

User metadata
Rank Member
Rank
Member

Nested = Y

To suck up massive memory I once ran SC4 on XP, where the XP was running in VirtualBox, which was running in a Live DVD of Debian, in turn running in a KVM based VM on a bare metal Debian hypervisor. 100% transient entirely in RAM, the XP 'disk' and the CD image as a virtual CD, all in ~30 GB's of ram. It ran surprisingly well. It took an hour or so to create and I let it run for a few days...then it all disappeared!

I used to know what I was doing...

Reply 4 of 9, by kode54

User metadata
Rank Member
Rank
Member

One of the MAME roms is a 2GB or so image of the flash drive from an ARM SoC device that contains an older MAME and a bunch of bundled roms. Unfortunately, MAME can’t yet boot the device in emulation.

Reply 5 of 9, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie

Pure software emulation can be repeatedly nested until you run out of performance. You can nest bochs within itself. Virtualbox in some configurations can probably work fine this way too.

Emulation that relies on virtualization features of the CPU will not work this way. For example, it would not be possible for a KVM guest to itself run KVM completely within the virtual machine.

Reply 6 of 9, by CwF

User metadata
Rank Member
Rank
Member
canthearu wrote:

Emulation that relies on virtualization features of the CPU will not work this way. For example, it would not be possible for a KVM guest to itself run KVM completely within the virtual machine.

??? Yes you can. Yes, the vt- stuff does work nested, kvm can run in a vm provided by kvm, and even another nested layer if you like. In my example I did also do Debian bare metal>KVM>live DVD>KVM>XP. The mouse was not happy. Passing stuff was tricky. Virtual box worked better but I no longer use it. The only real virtualized layer was the hardware in XP. I did it to do it. No real use case, however my bare metal image does have virtio drivers just in case I pop it in a vm. After all it was born in a vm.

It is my understanding that in production cloud setups kvm is indeed nested a few layers deep. It is depending on hardware features. Many headless machines running in a nested machine, maybe with peers also nested...

I used to know what I was doing...

Reply 8 of 9, by retrogamerguy1997

User metadata
Rank Member
Rank
Member

sorry for the bump, but I've been trying to get dosbox running under dosbox using hx extender. I first had a memory error, which was fixed by setting the memory to 48MB, but now it complains about a missing dll file. I apparently need msvcrt.dll, but I'm a linux user and the version from WINE didn't work.

Reply 9 of 9, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Use the dlls that come with Windows 95 for hxrt.
MSVCRT.DLL
CRTDLL.DLL
GLU32.DLL (You'll probably need to download this one)
OPENGL32.DLL (You'll probably need to download this one)

Make sure DOSBox running in DOSBox is set to normal core and 16mb of memory and that the host DOSBox is set to 64

You may need to set the SDL_Videodriver=windib variable for the guest DOSBox to work properly.

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