Devlogs
UniPCemu build 2018/07/28 15:42 is now live!
UniPCemuA downloadable emulator for Windows and Android
Various hardware and CPU support(for Android versions) improvements and bugfixes, dropping old Android platforms.
Changes:
- Fixed various static code analysis warnings.
- Some Android compiler warnings have been resolved.
- Don't call freemem when not required during emulator initialization.
- STL isn't used in a plain C project.
- Modified defaults to be a minimal emulation(8086 CPU, minimal hardware for a basic IBM PC, IPS clocking mode).
- Made the debugger thread and the POST thread mutually exclusive.
- Made the debugger able to reset the emulator when the Settings menu requests it(when choosing to do so in the Main Settings menu).
- Don't relaunch the debugger when resetting.
- Prevented reboot from the debugger from debugging the emulator POST thread(properly disabling the debugger when POSTing the emulator internals).
- Made the port I/O accesses Big-Endian compatible.
- Fixed newer Android NDK linker issues.
- Updates the NDK to the most recent version. The API level is now 21(with backwards support for level 14 and older NDK compilers at level 14 as well).
- Improved debugger initialized state to be non-intrusive.
- Don't clear serial received data. Only clear availability line when set, keeping the lastly received data in the Data Holding register.
- Improved UART interrupt causes checking and priorities.
- Optimized HLT state debugging and needdebugger calls.
- Optimized debugger_logging after needdebugger calls.
- Optimized CPU pending reset.
- Improved UART modem status change detection.
- Improved UART line status input buffer full detection.
- Improved the UART to properly send/receive.
- Improved the UART to send or receive, but not both at the same timing.
- UART receiving has priority over sending.
- Improved UART emulation by applying data sending and receiving to be applied interleaved when both apply(both buffers are filled all the time).
- Improved initial UART receiver/transmitter buffer status to both be empty.
- Fixed the modem to flush the correct escape character instead of a number identifying the amount of escapes when changing the escape character.
New features and big changes:
- The Android armeabi and MIPS platforms have been dropped in order to support the newer Android 64-bit platforms. The API has been updated to require Android 4.3 and above.
- UART emulation has been improved.
- Debugging has been improved with various bugfixes.
- Improved default states for settings(it's a minimal usable machine now, a basic IBM PC(using IPS clocking mode for speed)).