VOGONS


First post, by TheMechanist

User metadata
Rank Newbie
Rank
Newbie

... also know as "xyz vs .."

I'm just curious, what are the "selling points" of the different emulators here ...

I use (of course 😉) DOSBox (easy to setup & compatible, mainly for coding & instant testing) and PCem (especially for testing when it comes to runnability on "real" hardware, PCem seems to come really close to it in my limited experience) ...

I've seen here especially UniPcemu which I didn't know and some other projects ...

Personally I'm interested in "cycle accuracy" and compatibility to real hardware, but there are of course different fields of application that are interesting for others.

Reply 1 of 6, by mr.cat

User metadata
Rank Member
Rank
Member

Selling points? Hmm I'd think in many cases it's just authors "scratching their own itch" and perhaps trying to learn something useful while they're at it, more than anything else.
The fact that they happen to serve a particular niche is just a side effect of that. More often than not it is an underserved hardware platform they've used, or currently have.

AFAIK UniPCemu's raison d'être was originally simply to provide PC emulation on the PSP.

Last edited by mr.cat on 2021-03-18, 00:16. Edited 2 times in total.

Reply 2 of 6, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

There was already some discussion of this here:
DOSBox vs PCem vs 86Box which do you prefer?

If you want absolute cycle accuracy, then you should probably go with Bochs, but the performance cost of "cycle accuracy" is so great as to render it practically unusable. MAME might also be an option.

...But you know about these options already, so why exactly are you asking? Your opinion is probably more informed than others you are likely to encounter.
Emulators with integrated debugger?

Reply 3 of 6, by mr.cat

User metadata
Rank Member
Rank
Member

Yes, for accuracy those are solid choices. The more obscure ones could be interesting in other ways, however 😁
There are many previous threads here on Vogons to explore.
EDIT: But I don't think there's a list in here that has ALL the PC emulator projects listed is there?

Just a hunch, but maybe this is what you really wanted to find out? Tell me I'm wrong...
How difficult is it to write an emulator?

Last edited by mr.cat on 2021-03-18, 11:18. Edited 1 time in total.

Reply 4 of 6, by TheMechanist

User metadata
Rank Newbie
Rank
Newbie
mr.cat wrote on 2021-03-17, 22:40:

Selling points? Hmm I'd think in many cases it's just authors "scratching their own itch" and perhaps trying to learn something useful while they're at it, more than anything else.

That's why the quotation marks 😉 .. was just a phrase for advantages and pro & cons ...

Jorpho wrote on 2021-03-17, 22:45:

There was already some discussion of this here:
DOSBox vs PCem vs 86Box which do you prefer?

sorry, have not searched thoroughly enough, my fault ... this thread could be closed ...

mr.cat wrote on 2021-03-17, 22:56:

Just a hunch, but maybe this is what you really wanted to find out? Tell me I'm wrong...
How difficult is it to write an emulator?

no way 😀 ... I'm realistic enough to know that this is far beyond my capabilities ...

Reply 5 of 6, by mr.cat

User metadata
Rank Member
Rank
Member

Sure. To rephrase you could say the most interesting parts of pros/cons for any emu would be "supports platform xyz" and "runs my appz yay".
But it sounds like you were looking for something beyond that, sorry to disappoint.
Perhaps the best route of action is just to run them and see what works for you 😁

Reply 6 of 6, by superfury

User metadata
Rank l33t
Rank
l33t
mr.cat wrote on 2021-03-17, 22:40:

Selling points? Hmm I'd think in many cases it's just authors "scratching their own itch" and perhaps trying to learn something useful while they're at it, more than anything else.
The fact that they happen to serve a particular niche is just a side effect of that. More often than not it is an underserved hardware platform they've used, or currently have.

AFAIK UniPCemu's raison d'être was originally simply to provide PC emulation on the PSP.

Yup. Originally I just started creating UniPCemu (at that time still x86EMU, but eventually renamed it due to obvious clashes with the only emulators with the lower-case naming) simply because I was using Dosbox on the PSP (trying to run windows, play games etc.), but found the input methods quite a bit clunky (with it's two inputs to input a single key into the emulator, not to mention holding keys). I immediately found another method of input back then (the Danzeff keyboard input method used in many other applications for the PSP) and implemented my own version of inputs based on that (instead of showing all keys of all areas in squares on the screen it only shows one of those squares (the rest should be memorized by the keyboard layout of a QWERTY keyboard), and instead of sorting it like a,b,c,d,e,f,g,h I actually took the rows on the keyboard instead (Q,W,E,R. T,Y,U,I etc.), in that way also make it easier for people which can touch type (or at least roughly know where the key is on a QWERTY keyboard) for easy finding of the key you want).
Most of the time in the beginning I remember getting quite frustrated with all the (at that time) weird ways the VGA was rendering (which was pretty much one of the first things I wrote before all CPU and other hardware).
I was still testing it on the PSP at that time. Eventually I added a Windows build purely because it was easier to debug that way (in my opinion, it still is). Then I finally got my own Android phone, which I noticed I could also port my app to, so I did (with the bonus of being much faster than the PSP while also portable). Once porting the app to my phone to Windows I added SDL support at that time (mainly for easier porting). It also made it easier to eventually port to SDL2 when adding Android support. And of course it also made the linux ports easier to add (pretty much added at the same time with the Android ports, although still having bugs which were fixed for Linux at a later point in time).
Eventually finally got MS-DOS running on it (before Linux and Android were fully supported), around which point I decided to release it to the public a little time after that (when it was stable enough).
And then I have been gradually adding more and more features to it I liked or wanted, improving it as I went.
Thus we reached the current version.

You can still notice it's PSP roots in the current version, where it starts up in a PSP-mapped input mode (although on devices other than the PSP it's remapped to keyboard keys instead of actual PSP keys, although the joystick inputs function much the same as the PSP ones (they're pretty much directly mapped to the PSP input handlers)).
Said PSP-style input mode is always active (when it shows a K, M or O in the bottom right corner of the app), unless you activate the direct input method to use normal mouse/keyboard inputs instead (this also applies to the touch inputs).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io