VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

Anyone has requests for new features on my x86EMU(from now on named UniPCemu) emulator? Anything that is still missing?

Last edited by superfury on 2016-07-23, 18:12. Edited 1 time in total.

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

Reply 2 of 13, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've decided to name it UniPCemu from now on. It's perfect for my emulator(and not used yet).

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

Reply 3 of 13, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

Anyone has requests for new features on my x86EMU(from now on named UniPCemu) emulator? Anything that is still missing?

My first thought was Sound Blaster audio. But for example for Wolfenstein 3D, you emulate already all the necessary stuff (PC speaker, Adlib, Disney Sound Source) so nothing is missing.
Some newer games or demos do not support DSS, so perhaps they would benefit from Sound Blaster emulation. Some early games had Game Blaster music but usually they supported Adlib as well. I think Zak McKraken did not support Adlib, but it did support Game Blaster (forgot if this was with real hardware or just ScummVM).

Reply 4 of 13, by MVoloshin

User metadata
Rank Newbie
Rank
Newbie

I've successfully compiled UniPCemu for Android with libSDL by Pelya, but it is unusable due to controls designed for PSP, etc. This implementation of SDL uses standard PC keyboard.
I think, for example, arrows should work as arrows and Enter as Enter.

Reply 5 of 13, by MVoloshin

User metadata
Rank Newbie
Rank
Newbie

Then, SDL keyboard has no Numpad at all.
And I cannot switch to Direct input mode, because I am unable to press both mouse buttons (because of touchscreen).
It would be nice to add separate controls for Android (#ifdef ANDORID ... #endif)

Reply 7 of 13, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've currently modified the Android build to redirect to PSP input when using the Settings menu, and direct input when using normal emulation.

Settings menu mappings (instead of normal PSP-style keyboard mappings):
Arrows -> PSP DPad(arrows)
Enter -> Cross(confirm)
Escape -> Circle(cancel)
Space -> Triangle(Set defaults/unmount disk).

Is this enough to get it running on Android? I don't know how the Android face buttons (Back&Menu) are mapped, when I know I can map them to open the Settings menu to provide full Android support(assuming the device has a keyboard with normal keys of sorts).

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

Reply 9 of 13, by superfury

User metadata
Rank l33t++
Rank
l33t++

Well, it should already be possible to compile and simply run on it, although there's no method of input on that device(and other touch-only devices) yet. I might have to create a full OSK using the finger actions provided by SDL2.

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

Reply 10 of 13, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've added a simple full 104-key OSK to the emulator, which should work on Windows(which I'm testing on) as well as any touch-only device. Simply tap on the OSK status indicator (which now displays K(eyboard, previously not showing anything), M(ouse), G(aming) and the new O(SK) indicator, which enables or disables the OSK when clicked/tapped on. The OSK itself directly redirects it's data to normal SDL events, which make the emulator see it as keyboard input(like a normal PC keyboard). The indicator can be found at it's usual position, at the bottomright of the emulator window.

Sound Blaster emulation(partly based on Dosbox, mostly for it's ADPCM decoding code) should be working as well, but for some reason some software either hangs(8088 Corruption), plays sound(Wolfenstein 3D) or simply throws an error validating(Sound Blaster 2.0's diagnostic.exe, when checking the DMA step).

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

Reply 11 of 13, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've added mouse emulation to the finger OSK. Now mouse clicks and fingers will:
- Press the emulated left mouse button when the left 1/3th of the screen is pressed(mouse)/tapped.
- Press the emulated middle mouse button when the middle top 1/3th of the screen is pressed(mouse)/tapped.
- Press the emulated right mouse button when the right 1/3th of the screen is pressed(mouse)/tapped.
- Simple move the screen when the rest of the center 1/3th of the screen is used(no buttons mapped to provide moving without pressing any buttons).
- Also fixed a bug which caused the event filter to execute events twice, causing double or more actions to performed at once. This would cause the middle mouse button to lock itself permanently into Direct Input mode, without any way out(because the event filter handles it once, which unlocks the Direct Input mode, then the main callback fires(main thread), which handled it again(causing the just unlocked Direct Input mode to be locked into Direct Input mode again).

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

Reply 12 of 13, by superfury

User metadata
Rank l33t++
Rank
l33t++

UniPCemu is now properly able to basically(full touch input and Settings menu support) run on Android devices using either lib-SDL(Pelya's) or SDL2 with the toolchains(SDL2 on Android SDK/NDK). The only problem left is that it seems to be idling after returning from the Settings menu or boot option(the yellow text for configuring the emulator before emulation starts)? The CPU Speed percentage and cycles tell me that it's not running at all for some reason? Is there a problem with SDL_GetTicks on Android builds?

Edit: It's running now, but it's incredibly slow? Only about 2500 4.77MHz CPU cycles/S?

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

Reply 13 of 13, by superfury

User metadata
Rank l33t++
Rank
l33t++

With more recent builds, the emulator runs a lot faster(fixed some things that were called(like rendering) when not needed, producing unmodified frames). It's now running at up to 20% speed on my Android device(Samsung Galaxy S7 at 0.5MIPS).

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