Homebrew app Emulator [RELEASE] UniPCemu

M7L7NK7

Well-Known Member
Member
Joined
Oct 16, 2017
Messages
3,895
Trophies
1
Website
youtube.com
XP
5,960
Country
Australia
In really interested in this to see if it makes up for any of dosboxs shortcomings, but yeah it's difficult to set up if you aren't fluent in old pc stuff
 

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
Well, the basic process of setting it up for use is the same for all platforms, the only difference being the way inputs work in the settings menu (stuff like button swaps(A/B vs Cross/Circle vs Enter/Escape (although this can still be used using the OSK (except for the PSP build, which doesn't have a touch screen nor a mouse to use it) or physical PC-compatible keyboard))).

I made a slight tutorial for setting it up some time ago (although only slightly outdated because of the change in the architecture being applied on boot and some settings becoming architecture-specific since), which can be found at https://bitbucket.org/superfury/unipcemu/wiki/Getting started , which is linked on the main page of the manual ( https://bitbucket.org/superfury/unipcemu/wiki/Home ).
It's also mentioned at the bottom of the project page, with the video version included together with said link for the text version.

Although usually the XT doesn't need much more than the ROMs (and required floppy/CD-ROM images to actually boot it). Although MIDI emulation on non-WIndows platforms requires a soundfont (sf2) as well.

The remainder after placing the ROMs in their correct locations is the setting up of the emulator itself (which can be done entirely from the settings menu when opening it during startup of the emulator).
 
Last edited by superfury1,

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
It really needs to be step by step and idiot proof lol
It already mentions all basic steps required to get the emulated machine booting properly. Is there something missing?
I've added some extra information here and there on the machine specific parts and an explanation of some required i430fx/i440fx settings to set inside the BIOS menus when pressing delete during the POST. It's the same with the real machines, but that's got nothing to do with UniPCemu itself (the exact same is true with other emulators like qemu etc.).
 

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
A new version is now out on itch.io!
The new version has some critical bugfixes as well as some speed optimizations! Among them is that paging is now optimized to be using O(1) speeds instead of the much slower walking of all TLB entries method, speeding it up hugely.

Windows NT 4.0 now properly runs on UniPCemu, so that opens up a lot of new options to run on the emulator.
 
  • Like
Reactions: hippy dave

Tsabrak

New Member
Newbie
Joined
May 14, 2022
Messages
1
Trophies
0
Age
44
Location
Here
XP
27
Country
United Kingdom
A new version is now out on itch.io!
The new version has some critical bugfixes as well as some speed optimizations! Among them is that paging is now optimized to be using O(1) speeds instead of the much slower walking of all TLB entries method, speeding it up hugely.

Windows NT 4.0 now properly runs on UniPCemu, so that opens up a lot of new options to run on the emulator.
Keyboard on Vita doesn't seems to work
 

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
Keyboard on Vita doesn't seems to work
What do you mean with that? Do you mean the on-screen one? Or the input method using the start button to toggle it on/off (the bottom right becomes a K in that case) and the press the face buttons to input a key that's displayed in the bottom right as well (out of the 4 keys for the currently selected area by the left analog stick)?

There's also an OSK that's activated by touching that icon in the bottom right of the screen using a stylus or finger. That will display a full on-screen keyboard that can be more easily used (the one mentioned above is a PSP-compatible input method that matches the PSP builds input method).
 

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
Also, a new build has been dropped on itch.io fixing a few problems on builds with networking support (although the Vita and Switch builds don't use it because it's not enabled yet for compilation in the current builds).
There's a lot of improvements and bugfixes! Check it out: https://superfury.itch.io/unipcemu/devlog/394925/unipcemu-build-20220619-1915-is-now-live
It also has much improved OPL2/adlib emulation (with some slight hardware bugfixes) and added support for playing VGM files for the adlib and game blaster sound cards (and compatible cards).
Edit: After a bit of work in recompiling the app for Vita and Switch with networking support now enabled, it's now available! The new quick fixes are now added to the above news post and available on the itch.io site as the latest executables for PS Vita and Switch!

@Tsabrak, can't currently verify it running still on the PS Vita, as the emulator I'm testing with keeps crashing trying to run the app for some unknown reason (it used to run fine before, so perhaps something else is going wrong (using Vita3k for that)).
Edit: Forgot to install the firmware&font files required for the emulator XD Those were causing said problems.
It looks like it's running without issues on the emulator though? I can't see anything going wrong (other than trying to exit the game using ALT-F4 on the OSK not quitting the app for some unknown reason. Although that might be just because it's an experimental emulator?
Both the OSK touch screen as well as the normal keyboard using the start button, left analog stick and face buttons seems to work properly?
What's happening in your case? Did you press the start button first to toggle it into keyboard mode (a capital K in the lower right and the current inputs for the face buttons appearing to the left of the buttons)? Depending on timing, you'll need to hold the start button for a bit to make it toggle.
 
Last edited by superfury1,
  • Like
Reactions: hippy dave

xitpu

Active Member
Newcomer
Joined
Oct 14, 2008
Messages
34
Trophies
1
XP
341
Country
United States
There is a game compatilility list? Is not easy to check if a game should run well using only hardware spec
 

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
There is a game compatilility list? Is not easy to check if a game should run well using only hardware spec
You'll need an official compatibility list for that, depending on the installed hardware.
Afaik such a thing doesn't exist, other than specs given with the game (box or manual) itself. Basically check if the hardware it requires is listed on the UniPCemu wiki (manual) main page. If the supported hardware mentioned by the game isn't there (for example 3D accelerating video cards or specific ones not emulated), it can't run on UniPCemu (due to unemulated hardware or motherbord).
 

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
The latest source code (although the git repository itself through git is currently inaccessable due to server downtime) now improves some stuff:
- Custom CHS geometries for hard disks in all supported disk image formats (sfdimg disks using this are incompatible with older builds).
- Disks always store data fields and numbers in little endian now (cross-platform compatiblity).
- Various commonly CPU pointers being updated for more speed (reducing some nested pointer lookups in execution for the currently parsed CPU).
- Improving cross-platform sfdimg fields with padded and unpadded data alignment. So both are now reading and writing correctly for platforms that use different standards of packing (compatible with Windows x64-style packing of data).
- All other fields for other disk image formats becoming proper little endian in the file format as well (cross-platform).
- sfdimg format block (it's geometry) now being cross-platform as well (and little-endian).
- Paging TLB speedup due to more local accesses.
- XT architecture using proper 8253-style flipflops.
- Faster execution without debugging.
- Slight DMA SI state speedup.
- Active CPU modr/m pointers speedup.
- Improved Switch (PS Vita as well) WiFi support, properly being compiled in and initializing it's required modules in the console for proper compilation. In the case of PS Vita now correctly initializing the network modules and starting the network functionality. In the case of the Switch properly initializing and cleaning up it's required socket interface.

Currently planning to make a new release for this, but I have to wait for git to become properly operational again to do the release first.
 
Last edited by superfury1,
  • Like
Reactions: ber71

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
Just found an issue in the memory allocation functionality (it didn't have enough entries to contain all it needs, which caused the registration buffer to get fully filled when building the data to write to the INI file when closing the app during the first time starting the app).
I've also managed to save a bit of memory on the registration buffer entires themselves (the registration buffer itself also went from the 6K entries (in the current release version, which isn't enough to contain all it needs) to 8K entries it actually requires), thus fixing any registration buffer full error messages that might pop up (verified to be happening on 32-bit Windows builds when closing the app during the first time the app is started without any valid INI file present, as it tries to create a INI file to save in memory). That issue is now fixed and the app (using the current commits) should run properly.

I'll create a release with that bugfix and the above mentioned bugfixes soon, perhaps even today.
 
  • Like
Reactions: ber71

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
I've just released a new version of UniPCemu on itch.io.
https://superfury.itch.io/unipcemu/devlog/441517/unipcemu-build-20221019-2202-is-now-live

It has some MMU bugfixes (with the Compaq Deskpro 386), settings menu text cleanup, SC15025 DAC improvements, various optimizations and limited 1024 cylinder geometry option.
Now a quick bugfix is also on the project page, which fixes the ATAPI behaviour on DEVICE RESET and on it's handling of Unit Attention.
This fixes CD-ROM driver detection of the drives when an error has been reported for the last operation (like on a i440fx or i430fx after a CD-ROM boot fails for any reason by the BIOS).
 
  • Like
Reactions: Levine91 and ber71

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
A new release is now available on itch.io!

It contains some small hardware improvements, slight optimizations.
It also splits most hardware settings to be stored in each architecture as architecture-specific settings (things that control various aspects of installed hardware etc. that might change with different configurations). Most settings have been moved to the architectures themselves, with exceptions of some more generic settings that are left in their old location.

Then the XT has it's RTC improved, with different levels of realtime synchronization.

Finally, the OPL2/Adlib timers have been improved a lot, to be acting more like Dosbox's variants (thus improved detection support).

The Pentium chips have also been improved with a new processor mode (System Management Mode) with full support on the Intel chipsets (i430fx/i440fx chipsets).
 
Last edited by superfury1,
  • Like
Reactions: hippy dave

superfury1

Well-Known Member
OP
Member
Joined
Sep 26, 2021
Messages
51
Trophies
0
Age
33
XP
284
Country
Netherlands
Over a year later and I still have no idea how to set this up
Most of the configuration is just putting the ROMs in the ROM folder with the documented filenames though (it's on the manual).
Then put your soundfonts (for MIDI support) in the soundfont folder.
Finally, some bootable disks of your used OS are added to the disks folder.
The entire getting started tutorial: https://bitbucket.org/superfury/unipcemu/wiki/Getting started

The easiest way to enter the boot settings menu with all options available:
Run the app. Either click/tap the Set menu (or assigned PSP select button on a console) or yellow text. If done successfully, the menu will open in pre-running state and display a option to load default settings (all options are available). If not, an option to restart the emulator is presented (reboot and enter settings menu) which will perform the action automatically.
The controls differ slightly on different builds, most of them based around PSP mapped keys. On the Switch build X/O are swapped to support known A(confirm)/B(cancel) inputs. The X/Triangle button performs special actions when selecting files (unmounts a disk or loads defaults). Square (un)loads/sets some settings from the normal menus (breakpoints load the current CPU address). Some options, like disk creation supports square(Y on Switch) to perform alternate geometries or unset(in the case of gaming mode buttons).
Most choice menus support simple up/down for moving the cursor up or down. Left and right scroll faster, scroll to next/previous alphabet(files) or (with number inputs) multiply movement by 10 and 100 respectively. The main shoulder buttons increase movement speed by 1000 and 1000000 (number inputs) or move 1000 items in file lists.
For mapping gaming mode keys, the current input mode determines behaviour.

A simple PS/2 OSK can be toggled by tapping the bottom right corner of the screen with mouse or touch.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: Sup