Devlogs
UniPCemu build 2018/09/20 18:48 is now live!
UniPCemuA downloadable emulator for Windows and Android
Posted September 20, 2018 by Superfury1
#20180920_1848
Another smaller update, but with large stability and accuracy improvements!
Common emulator framework:
- PSP requires semaphores too for proper application functioning.
- Implemented multithreading safety by locking multithreading data using semaphores.
- Fixed thread.c code typo.
- Fixed multithreading.
- Implemented automatic thread cleanup.
- Improved terminated threads to be cleaned up better.
- Added the thread cleanup functionality to the threads termination functionality.
- Optimized thread cleanup.
- Replaced the entire thread pool used flag with the proper status bit.
- Fixed terminating threads and deallocating unused threads.
UniPCemu itself:
- Improved ET3000 vs ET4000 differences and compatiblity.
- Improved detection using the Segment Select register(always accessable).
- Improved ET3K/ET4K register protection to be complete.
- Improved handling of switching VRAM autodetection when changing video cards.
- Improved ET4K/ET3K memory size autodetect and size filters.
- Improved VRAM size redetection being applied correctly during restarting the emulator and applying new settings.
- Improved VGA memory needing to be a power of two to work properly and memory autodetect on VGA.
- Improved VRAM size safety checks.
- Improved ET3K/ET4K horizontal timings based on documentation.
- Improved ET3K double horizontal clocking on ET3000, according to documentation.
- Improved horizontal timings on ET3K/ET4K.
- Improved settings save detection, not saving unchanged settings.
- Simplified settings loading/saving only when starting/terminating the emulator.
- Fixed saving settings.
- Removed some unneeded settings saves during emulator startup.
- Fixed settings loading and saving.
- Allowed compiling signed PSP builds with the development kit, if supported.
- Improved free memory requirements.
- Fixed MMU code.
- emu_bios_post.c: Implemented logging of failed loading Option ROMs.
- Added logging of emulator reset loading ROMs.
- emu_bios_post.c: Improved POST and locks.
- Fixed graphics debugging to lock and unlock the main thread correctly.
- Fixed graphics debugging routine to properly release it's main thread lock.
- Updated the common emulator framework to the latest commit.
So in short, this bigger update contains:
- PSP versions have been fixed and signed, allowing running on any firmware.
- Multithreading has been improved and protected against multithreading operations(mostly affecting PSP crashes, which weren't protected from anything running multiple threads).
- ET3000 vs ET4000 accuracy improvements.
- Video memory size has been protected against strange values and proper automatic redetection when changing graphics card settings is now applied.
Files
UniPCemu.apk 3 MB
UniPCemu_PSP.zip 642 kB
UniPCemu_win64.zip 1 MB
UniPCemu_win64server.zip 1 MB
UniPCemu_win32.zip 997 kB
UniPCemu_win32server.zip 1 MB