UniPCemu build 2021/09/20 00:40 is now live!


A small but significant update this time.
Some critical CPU emulation bugfixes have been made. Also, various PSP compiler warnings have been resolved.
SDL2 has been updated to the most recent compatible versions (2.0.14 for Windows, 2.0.16 for Android). SDL2 message boxes for packet server initialization failing have been added (so it's clear why the application immediately closes). The same for critical error messages that cause the app to terminate immediately.
The packet server now supports PPP with PAP authentication (which is mandatory if the classic login system isn't used), which can handle both IPX (like for network multiplayer) and IPv4 protocols!
Windows SDL2 2.0.16 currently has speed issues with UniPCemu, so a slightly older version is supplied instead.

UniPCemu:

  • Prevent ticking negative TSC clocks.
  • Fixed TSC clock multiplier.
  • Adjusted 66MHz to by 66 2/3 MHz and 33MHz to be 33 1/3 MHz.
  • Improved missing ATAPI missing SENSE PACKET bytes.
  • Improved additional sense length to always be 10 for supported packets.
  • The soft reset cases on the i430fx/i440fx toggle CPU_INIT# instead of the CPU RESET pin.
  • Fixed i430fx/i440fx reset line for the special cases to properly assert CPU_INIT instead of just the RESET line.
  • Improve CPU and APIC to always listen to INIT responses, no matter if it's from RESET or not.
  • Improved INIT register state to not reset some more registers (APIC MSR).
  • Don't check privilege levels for LTR and task switching loading TR.
  • Improved x86 TR descriptor cache to start out with a 32-bit busy TSS on a 80386 and up and a 16-bit busy TSS on a 80286.
  • LLDT doesn't use privilege levels, just like LTR.
  • Moved PPPOE packet server handling to it's own protocol.
  • Made the PPP protocol of the packet server able to use it's own handling for translating to/from ethernet frames. Although actual packet translation is still unimplemented, it can now properly encode and decode packets without doing anything with the decoded data yet.
  • ATA pulls BSY cleared when nothing is connected.
  • Fixed MMU and doubleword page fault border and segmentation fault handling issues.
  • Added PPP with IPX and IPv4 support to the packet server.
  • Updated the Android gradle to the latest version.
  • Fixed the PSP compiler warnings.
  • Improved Android compatiblity for the SDL 2.0.16
  • Updated the Windows SDL2 version to 2.0.14

Common emulator framework:

  • Fixed MinGW 64-bit unsigned number printf warning.
  • Modified thread termination and cleanup to be more optimized on SDL 2.0.2.
  • Improved threads waiting to end to be done by the program itself when possible.
  • Improved threads to be able to detach on SDL2 2.0.2+.
  • Added the pcap locks for usage with packet capturing.
  • Fixed required pointer count for registration.
  • Cleaned up unused thread variables.
  • Implemented message boxes for different kinds of messages using SDL.
  • Implemented fatal and non-fatal errors to use the new message box system to notify the user.
  • Fixed missing variables.
  • Improved GPU logging for errors.
  • Fixed GPU unused variable
  • Fixed MinGW 64-bit unsigned sprintf warnings.
  • Fixed MinGW 64-bit sprintf.
  • Rewrote safe strcat to use more simple checks and formulas, using strncat properly as it should (with the length to copy at most).
  • Fixed MinGW 64-bit sprintf.
  • Added basic defines for various basic 32/64-bit data printf values.
  • Fixed PSP compiler warnings about various 32-bit and 64-bit printf parameters.

Files

UniPCemu.apk 4.9 MB
Sep 19, 2021
UniPCemu_PSP.zip 1 MB
Sep 19, 2021
UniPCemu_win64.zip 1.3 MB
Sep 19, 2021
UniPCemu_win64server.zip 1.3 MB
Sep 19, 2021
UniPCemu_win32.zip 1.3 MB
Sep 19, 2021
UniPCemu_win32server.zip 1.3 MB
Sep 19, 2021

Get UniPCemu

Leave a comment

Log in with itch.io to leave a comment.