Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

UniPCemu PSP

From GameBrew
Revision as of 09:24, 10 December 2024 by HydeWing (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
UniPCemu
Unipcemupsp2.png
General
Authorsuperfury
TypeComputer
Version2023
LicenseMixed
Last Updated2023/04/11
Links
Download
Website
Source

UniPCemu (previously called x86EMU) is a x86 PC emulator (from 8086 XT all the way to 80486SX (Compaq Deskpro 386), in various CPU and hardware configurations.

Its input is originally optimized for the PSP, it was later ported to Windows and Android with additional input methods.

UniPCemu can emulate systems from a basic IBM PC (both cycle accurate and IPS (Dosbox-style) clocking modes) up to a Compaq Deskpro 386/486.

It also emulates various audio(up to Sound Blaster 2.0) and Video (MDA all the way up to the Tseng ET4000 SVGA (Tseng chips adding working graphics modes up to 1280x1024x16 color modes on top of the VGA modes).

Installation

A basic getting started tutorial can be found at the wiki (manual). There's also a getting started video which can be found below.

A basic XT BIOS that can be used is the Generic Super PC/Turbo XT BIOS.

Copyrighted 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 graphics 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.

Empty, unbootable (except for floppy disks, which contain a simple message after which it reboots when pressing a key) disk images can be created 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).

Screenshots

unipcemupsp3.png

unipcemupsp4.png

unipcemupsp5.png

unipcemupsp6.png

unipcemupsp7.png

Media

UniPCemu getting started tutorial (superfury)

UniPCemu build 2018/09/08 14:39 running Pinball Illusions (superfury)

Compatibility

Compatible with any PSP device (both official Firmware and non-official Firmware).

Changelog

2023/04/11

UniPCemu:

  • Fixed second COM port detection.
  • Implemented a special COM0COM detection override flag.
  • Added support for overriding the used COM port to force COM0COM driver support on it.
  • Implemented a ::COM0COM:: suffix on the direct serial ports to enforce COM0COM driver to be detected if it isn't.
  • Improved packets to the subnet zero broadcast to be counted accordingly.
  • Added support for filtering multicast addresses on the client.
  • Filter multicast addresses on the packet server host.
  • Implemented some basic multicast local routing.
  • Just broadcast all network multicast packets.
  • Fixed Inboard PS/2 data port conflict on AT machines.
  • Implemented Inboard reserved RAM.
  • Implemented Inboard reserved RAM/ROM memory mapping and memory area.
  • Fixed Inboard reserved RAM area mapping.
  • Implemented support for unmapping video and BIOS ROMs on the Inboard chipset.
  • Improved Inboard speed setting to be more as documented.
  • Improved Inboard AT waitstates.
  • Fixed memory dumping.
  • Improved Inboard RAM/ROM mapping according to observed behaviour.
  • Added memory size limits depending on the Inboard XT/AT model emulated to reflect known configurations better.
  • Improved Inboard XT ROM shadowing.
  • Fixed the Inboard to properly update the RAM layout for remapping RAM and configuration values when changed.
  • Inboard memory remapping isn't always in a memory hole area.
  • Fixed mapping of non-reserved memory on the Inboard.
  • Always map the RAM acting as ROM on Inboard high as RAM.
  • Fixed Inboard reserved memory to not count as a memory hole.
  • Improved BIOS ROM shadowing to have only a bit for main motherboard BIOS ROM shadowing.
  • Fixed Inboard memory cache/speed configuration register to be registering bit 0 correctly.
  • Implemented Inboard 386/AT speed register affecting speed properly as observed behaviour.
  • Improved default Inboard 386/AT speed.
  • Fixed internal video ROM to register correctly.
  • Fixed internal video ROM to start out unhooked.
  • Internal video ROM now properly creates INT 10h handler code itself.
  • Lock internal video handlers to always be properly available.
  • Fixed Inboard 386/AT default speed code.
  • Fixed 80(1)86 linear/physical memory access to not wrap to 16-bit physical memory addresses.
  • Fixed emulated interrupts direct memory addressing.
  • Fixed 80(1)86 addressing memory directly without segment descriptors.
  • Restored internal BIOS real memory access using segmentation.
  • Implemented proper segmented addresses on CPU memory address translation.
  • Fixed memory addressing without segment descriptor.
  • Fixed generic segment addressing without segment descriptor.
  • Apply proper mandatory CPU depending on the motherboard emulated.
  • Extended the BIU to allow requesting 64-bits data as well.
  • Extended the BIU addresses to 64-bits.Extended more CPU functions to support 64-bit address width.
  • Added functions to request 64-bit memory reads/writes to the CPU execution module.
  • Extended the BIU result buffer to include more information about the request using the same basic structure as the request to the BIU.
  • Made PAE CR3-based loads properly lock the bus like other paging operations.
  • Fixed MOV DRn/TRn to work properly again.
  • i440fx requires a Pentium Pro processor to run.
  • Modified TSS task switches to support CR3 reloading performing checks and PDPT loads.
  • Fixed #TS fault on CR3 loads to properly fault when task switching.
  • Fixed VGA from never overflowing the GPU render buffer.
  • Cleaned up BIU code.
  • Fixed Inboard missing headers.
  • Fixed compiler warnings about unused variables without serial support added to the app.
  • Made most memory addresses cachable, for any size.
  • APIC and VGA memory mapped data is uncachable.
  • Optimized RAM layout updates to perform less work.
  • Optimized reading from RAM and ROM.
  • Fixed EMS memory writes to properly also invalidate other memory windows containing the same written data.
  • Use the improved common emulator framework data file paths and definitions.
  • Improved Android preprocessor defines.
  • Fixed default input settings to be loaded correctly.
  • Merged Paging TLB entries and their pointers.
  • Optimized moving allocated TLB entries to the MRU.
  • Made used TLB checks faster.
  • Optimized Paging TLB entries to take less memory.
  • Optimized Paging TLB entries to be using caches to run faster.
  • Cleaned up unused header.
  • Cleaned up COM0COM override when not supported.
  • Fixed CHS file size read from the file to be supporting all lengths properly.
  • Fixed joystick setting reading typecast.
  • Updated the common emulator framework to the latest commit.
  • Updated SDL2 to the latest available version on all platforms.

Common emulator framework:

  • Improved mouse and gaming mode face buttons to be all available at the same time, instead of just one depending on a order.
  • Modified the keyboard mode to be able to handle all face buttons at the same time, except when performing single-key inputs.
  • Fixed display of inputted pressed buttons on the danzeff-style keyboard.
  • Improved caps lock and shift status registration to no longer spam press/release actions when not changing.
  • Moved many common emulator path support to the common emulator framework.
  • Implemented improved Android path detection using a directory on the root of the found storage.
  • Fixed some path module compiler warnings.
  • Fixed Android root directory detection.
  • Made Android become a proper common define like all other platforms.
  • Fixed Android root directory redirect file path.
  • Improved file deleting using wildcards to no longer affect the source filename input.
  • Prevent double redirection using redirect.txt being nested.
  • Added support for the redirect file to support relative paths as well.
  • Fixed default settings to be loaded correctly.
  • Improved support for Windows abosolute paths.
  • Protected redirect.txt path overflow to be counted as invalid.
  • Fixed root directory file path.
  • Properly convert the relative path into an absolute path in redirect.txt
  • Improved redirect.txt invalid path ending.
  • Improved reditect.txt unwritable path abort.
  • Fixed Windows absolute drive path detection.
  • Fixed Windows absolute drive path detection.
  • Improved invalid path detection.
  • Improved PSP path type detection for internal storage devices.
  • Improved PSP/Windows invalid path detection.
  • Fixed Windows only drive path detection.
  • Automatically try to create a directory structure when testing a path for writability.
  • Only create the app root directory when all redirects are finished.
  • Fixed paths Switch missing header.
  • Fixed some string size compiler warnings.
  • Fixed redirect size detected from the read file.
  • Fixed SDL2 runtime version check compiler warning.

Release notes.

External links

Advertising: