A downloadable emulator for Windows and Android

Ever wanted to play your old PC games on your device(mobile and modern PC)? Now you can, with more accuracy than ever!

The UniPCemu(Universal PC emulator) emulator, originally made to play games on the PSP, now built for Android! Play your old classic PC games on Android! It's a cycle-accurate x86 emulator(previously called x86emu). It's a 8086(IBM PC) up to 80486(Compaq Deskpro 386/Compaq Deskpro 386 with PS/2 mouse(adds PS/2 mouse to the Compaq Deskpro 386 chipset) emulator(with various, configurable hardware), with up to 80386 timings(80486 using 80386 timings)).

It can run many IBM PC XT games, and also some 386 games(Megarace is working,  from CD-ROM(using VIDE-CDD.SYS). OAKCDROM.SYS still isn't working(aborting after an Inquiry command)). Many graphics cards and sound cards can be used(MIDI using a Soundfont emulator), from PC speaker up to Sound Blaster 2.0 and from IBM Monochrome Display Adapter up to ET4000 SVGA!

EMS is available using the Lo-tech 2MB EMS board on the XT and various EMM emulation software(JEMM386, EMM386) on IBM AT and up!

Only XBox 360 controllers, PC mouse&keyboard or touch screen input is supported. When using a different controller, use x360ce: https://github.com/x360ce/x360ce . Input is either mapped using PSP controls(Q/W/arrows/enter/backspace(and one key to the left on Qwerty keyboards), 2/4/6(also escape on android)/8(also carriage return on android) numpad and escape/space(space on Android only)) or Direct Input(see wiki controls page for more details: https://bitbucket.org/superfury/unipcemu/wiki/Controls ).

Windows builds come in two flavours: both the normal build and a server build. The server builds can be used to connect from another emulator using a TCP port to simulate a SLIP dial-up internet connection(e.g. Dosbox Windows 95 or Arachne web browser) with optional dial-up username and password. The protocol to enter(slip) is always required. A simple automatic script that can be used for connecting Windows 95(set up for a SLIP connection) can be found at https://bitbucket.org/superfury/unipcemu/raw/d056951ee021b2f1171764b5d1162249055... . The server builds disable the modem's ability of dialing out and receiving connections, replacing said functionality by the SLIP server instead(allowing it to be dialed only, dial out/answer being disabled on the connected modem on the serial port to replace it's connection functionality). The server will run when the emulation is running normally, as a modified modem. Settings for said server (authentication and ethernet connection settings(required for using it's functionality)) can be done by editing the SETTINGS.INI file, within the modem section.

If you're experiencing a black screen that stays black permanently (more than 10 seconds) when restoring the app to run on Android, try making it inactive for a few seconds (5 or so) and restore it again. This seems to be an unknown issue regarding reloading the video context, which for unknown reasons doesn't always go right when restoring the app when it's deactivated.

Please report issues and bugs at the bugtracker: https://bitbucket.org/superfury/unipcemu/issues?status=new&status=open

Install instructions

Add files to the program's folder, as instructed at the wiki: https://bitbucket.org/superfury/unipcemu/wiki

For the PSP version: Extract into the folder "ms0:/PSP/GAME/UniPCemu". It's compatible with any PSP device to be able to run(both official firmware and non-official firmware).

Place the bios roms to use in the application's ROM subdirectory. Other directories are mentioned on the wiki(which contains the emulator's manual).

The exact filenames for the ROMs are mentioned at https://bitbucket.org/superfury/unipcemu/wiki/Settings%20menu Advanced menu, section describing the Execution mode setting.

A basic XT BIOS that can be used is the Generic Super PC/Turbo XT BIOS(http://www.phatcode.net/downloads.php?id=101). ROMs for AT and up need to be supplied by the user itself(80386 and up might run the SeaBIOS and it's VGA ROMs. CGA and below usually don't require a seperate ROM(with IBM BIOSes and the Generic Super PC/Turbo XT BIOS) and run out-of-the-box.

The IDE harddisks may require a seperate BIOS Expansion ROM to use. The XT-IDE Universal BIOS can be used in that case(http://www.xtideuniversalbios.org/ , where binaries(xtidecfg) and the ROMs can be found at http://www.xtideuniversalbios.org/binaries/ ). More info about configuring the BIOS can be found at the manual wiki at https://bitbucket.org/superfury/unipcemu/wiki/Disk%20images .

Empty, unbootable(except for floppy disks, which contain a simple message after which it reboots when pressing a key) disk images can be createn from the Settings menu. Other disk images will need to be supplied by the user.

Configuration can be done using either the Settings menu or the configuration textfile(.ini textfile). The application folder on Android can be redirected to another path using a simple redirect.txt containing the path to use(one-line file contents is the path to redirect the files directory to), as long as it's on the same (android internal) memory card.

Important note: Android can close the app to preserve memory when backgrounded and running other apps, because the app can't free memory due to it needing memory to keep emulation state and can't save said state somewhere else. This isn't a bug.

Be sure to copy or backup the application's data folder(named com.unipcemu.app, usually located in the Android/data folder on the internal memory) if deleting the app(except when redirecting the folder using a redirect.txt file within it). Not doing so will cause all saved data that's used (and stored) there to be deleted permanently when uninstalling the app. It isn't backed up automatically! A safe way of handling this is to use a redirect.txt file containing the path on the same disk(absolute path) of the folder that contains the files instead(on a different, device global internal memory folder).


UniPCemu.apk 4 MB
UniPCemu_PSP.zip 880 kB
UniPCemu_win64.zip 1 MB
UniPCemu_win64server.zip 1 MB
UniPCemu_win32.zip 1 MB
UniPCemu_win32server.zip 1 MB

Development log

View all posts