UniPCemu build 2021/05/17 19:40 is now live!


Since it's another large update, it has again been condensed into a shorter summary of the changes:

  • Implemented MMU-induced waitstates to delay giving inputs to the CPU core instead of just delaying the CPU core itself after a read/write.
  • Improved settings value capping.
  • Implemented the ET4000/W32 extensions to the ET4000AX emulation.
  • Improved existing RAMDAC emulation to work properly and be properly detected.
  • Added emulation of the Dosbox UMC UM70C178 RAMDAC.
  • Added emulation of the AT&T 20C490 RAMDAC.
  • Added emulation of the SC15025 RAMDAC, adding support for true-color modes.
  • Improved the video subsystem enable registers to affect the (S)VGA as a whole instead of remapping to the memory enable bit.
  • Improved Tseng KEY emulation.
  • Improved Tseng VRAM size detection and applying.
  • Improved Tseng video card detection.
  • Fixed Tseng clocking divider.
  • Improved ET3000 1M linear memory map bank size to be a proper 256K.
  • Improved the Tseng definition of the extended memory bit in the Sequencer Memory Mode register.
  • Improved 8-bit vs linear memory modes.
  • Improved generic video card initialization for EGA and up.
  • Improved (S)VGA data latches to be more cross-platform.
  • Improved (S)VGA clock rates and dot clock rates to not be multiplied anymore.
  • Improved EGA horizontal total to be +2 instead of +5 clocks.
  • Improved VRAM address handling and non-existing VRAM detection.
  • Implemented modem break signal emulation.
  • Improved SLIP server handling of packets and filtering.
  • Improved APIC and IO APIC emulation.
  • Implemented a simple memory viewer (16x16 grid) into the debugger.
  • Improved 8086 REP and REPNZ prefixes with MUL/IMUL and IDIV instructions undocumented behaviour.
  • Improved protected mode structure fetching to be properly done with bus locks.
  • Linux-based builds now can use an environment variable (UNIPCEMU) to use for the path of the program's files (an absolute path. The current working directory "." is also allowed).
  • Added a setting for setting different luminance modes when in greyscale mode (Averaged and Luminance modes).
  • Added a setting for the different DAC modes on the Tseng chips.
  • Added a setting to switch between the different ET4000 chips (ET4000AX vs ET4000/W32) (applied when the ET4000 is selected in the VGA chip setting).
  • Added various nullmodem configurations to the modem emulation, with a setting to switch between them. These are: simple nullmodem cable, nullmodem cable with line signalling, nulmodem cable with line singalling and outgoing connect using phonebook entry #0.
  • Said nullmodem cable can also be connected and disconnected from the settings menu.
  • Fixed x86 RCR shift amount masking.
  • Made the DRO player able to stop when playing delays as well.
  • Made the video card able to overrule RAM mapped at the same location.
  • Improved i430fx/i440fx upper memory area handling.
  • Improved i430fx/i440fx special DMA handling to only respond to the E-segment in the upper memory area.
  • Improved Tseng register mapping and (not) responding.
  • Improved Tseng memory deallocation.
  • Implemented an option to set a black pedestal of 7.5 IRE for all active display rendering.
  • Improved Tseng memory detection.
  • Improved (S)VGA video subsystem enable emulation.
  • Improved VGA not responding to SVGA register accesses where they don't exist.
  • Improved (S)VGA ALU latches, logical operations and masking.
  • Improved lightpen to only affect active display.
  • Fixed the attribute bit 3 emulation.
  • Improved the different type of video memory address masking.
  • Improved Sound Blaster emulation to be more accurate.
  • Improved UART emulation with ports without devices connected or devices that can't receive.
  • Fixed MSR 1Bh mask and ROM bits.
  • Added ET4000/W32 as a seperate VRAM type, meaning it automatically will try to redetect installed VRAM amount when selected or deselected.
  • Improved Tseng ROM mapping.
  • Updated Android Gradle to the latest version.
  • Updated the common emulator framework to the latest commit.

Common emulator framework:

  • Added FIFO buffer size reporting.
  • Fixed TCP failing to connect to a client reporting correctly.
  • Improved touch inputs.
  • Improved clickable screen areas.
  • Implemented support for audio devices connecting and disconnecting.
  • Slight PSP shutting down timeout before terminating the app.
  • Implemented support for touch inputs mapping to light pen inputs using the middle mouse button and right mouse button touches as a trigger.
  • Added full support for the new SDL 2.0.2 and 2.0.4 video events.
  • Added a parameter on Windows/Linux to use the SDL2 scaling method instead of the legacy method.
  • Added support for screen DPI changes to affect the text layers to switch to adaptive mode when the DPI becomes too high (more than 96 DPI).
  • Improved GPU module initialization.
  • Prevent framerate rendering while the internal UniPCemu debugger is running.
  • Fixed buggy memory difference detection.
  • Improved multithreading.
  • Improved PSP memory heap setting.
  • SDL2 builds now uses a parameter "fullscreenwindow" to make the window become the size of the desktop.

Files

UniPCemu.apk 4 MB
May 17, 2021
UniPCemu_PSP.zip 1,004 kB
May 17, 2021
UniPCemu_win64.zip 1 MB
May 17, 2021
UniPCemu_win64server.zip 1 MB
May 17, 2021
UniPCemu_win32.zip 1 MB
May 17, 2021
UniPCemu_win32server.zip 1 MB
May 17, 2021

Get UniPCemu

Leave a comment

Log in with itch.io to leave a comment.