UniPCemu build 2021/07/06 20:19 is now live!
UniPCemu » Devlog
A new version of UniPCemu is now out, with the latest bugfixes and improvements.
UniPCemu:
- Improved floppy read and write sector with implied seek to seek to the requested track if it thinks it's on a different track with implied seek enabled.
- floppy: Started implementing implied seek timings for read/write/format commands.
- floppy: Further improved implicit seeks using the implicit seek command.
- floppy: Implemented implied seek using the seek timings.
- floppy: Cleaned up unused implicit seek label.
- floppy: Improved implied seek to properly fill read/write sector results.
- Fixed floppy code.
- Fixed implied seek to properly not raise an IRQ when not supposed to during transfer.
- Faults during faults always set the EXT bit.
- ICEBP/INT1 never throws faults due to CPL being lower privileged than the interrupt descriptor table entry.
- Restored the EXT bit handling to give the old results again.
- Optimized the emulated CPU type detection to be faster.
- Modified the i430fx/i440fx chipsets to be able to work properly with a 80286 CPU (bypassing RAM for the required ROM area).
- Any fault raising a fault sets the EXT bit, no matter what fault is thrown.
- Implied seek doesn't clear the disk changed flag.
- Seeking without disk doesn't clear the disk changed flag.
- Improved floppy disk changed erroring out when processing read/write/format actions.
- Improved floppy disk formatting a read-only IMD disk image to properly handle it as read-only.
- Fixed floppy MSR positioning mode issues.
- More floppy positioning mode fixes.
- Improved floppy drive abort when ejected during a data command.
- Replaced disk changed checks with ejected during the current command checks.
- Fixed ejected during the current command checks to compile correctly.
- Set the external bit in protection faults using it for any level past the first level of faults.
- Implemented the settings menu options for setting up the gaming mode buttons with face button mapping support.
- Hardware interrupts always set the EXT bit in exceptions.
- Swapped ATA-1 multiplesectors and multiplemode variable naming. multiplemode is now the mode that's set using the set multiple ommand and multiplesectors is the mode used for the current transfer.
- Added configuration entries and settings menu options for the new gaming mode joystick setting for each face button.
- Don't show the modem and nullmodem settings in the settings menu when the network support isn't installed and ready to use.
- Added the modem listen port to the settings menu.
- Added the analog minimum range to the input settings menu.
- Split the CPU debugger settings into it's own CPU submenu.
- Cleaned up the CPU menu and it's item ordering and item numbers.
- Cleaned up the CPU debugger internal menu item ordering.
- Fixed up the CPU debugger settings menu option in the CPU Settings menu.
- Improved ending character for text inputs.
- Fixed the input cursor to use proper UTF-8 encoding.
- Fixed text input to use proper UTF-8.
- Updated Android gradle to the latest version.
- Improved Settings menu text attributes that were missing their correct colors.
- Properly abort generating a static image when shutting down the emulator.
- Improved dynamic image defragmenting to support termination through terminating of the app.
- Fixed dynamic disk image defragmenting to work correctly again.
- Improved cleanup during dynamic disk defragmentation.
- Improved logging during dynamic disk defragmentation.
- Fixed dynamic disk defragmenting detection of failed renaming of the defragmented disk image.
- Fixed floppy disk type setting cancelling to give correct results.
- Added informational text showing the raw analog stick inputs when selecting the analog minimum range setting to use.
- Widened text font dumps to 16 pixels for full SVGA dumps.
- Improved EGA CRTC readable registers.
- Disabled EGA index registere being readable.
- Improved Odd/Even mode planes wrapping.
- Improved EGA/VGA Odd/Even mode handling of A0.
- Improved EGA+ Odd/Even mode to support better A0 handling during Odd/Even modes.
- Improved video support for Odd/Even reads.
- Improved (S)VGA only invertion of the A0 bit from the Misc Output Register.
- EGA also inverses the Misc Output Register bit 5, setting A0 when it's cleared, clearing it otherwise.
- Fixed EGA port 3CA write to be graphics 2 position instead of feature control register.
- Fixed EGA port 3CC write to be graphics 1 position instead of miscellaneous output register.
- Use CPU address bit 14 instead of bit 16 in Odd/Even mode when in 64K RAM limiting mode.
- Improved EGA color monitor support.
- Fixed EGA graphics register 03h to use the correct amount of bits.
- Improved EGA/VGA light pen register support.
- Improved VGA EVRA bit support.
- EGA has input status #0 bit 7 and input status #1's display signals inverted according to the documentation.
- Improved EGA special CRTC register handling different from VGA.
- Improved EGA horizontal blanking end to properly match 5 bits instead of 6 bits.
- Fixed EGA/VGA CRTC register writes to work properly again.
- Improved EVRA to only take effect on reads, not on writes.
- Fixed the EGA graphics card colors to produce a correct DAC.
- Fixed the EGA palette to be using the proper colors.
- Improved EGA color monitor detection.
- Changed EGA switches to enhanced, only EGA monitor.
- EGA: Enable extended memory by default if more than 64K is installed.
- EGA has input status #0 bit 0 inverted compared to VGA.
- EGA uses a Display Disabled signal just like the VGA.
- Fixed EGA video MUX on the input status #1 register.
- Improved VGA video status mux inputs to match the EGA ones.
- Reverted the VGA video MUX inputs to their original state as documented.
- Improved the documentation on the EGA MUX input.
- Disable the DAC Output reporting on the MUX inputs when retracing.
- Undefined EGA behavior: when the attribute controller is in data mode, treat writes to port 3C1 the same as port 3C0.
- Fixed EGA 4-bit color modes using the Positive Sync Polarity.
- Fixed missing parentheses for the EGA 64-color DAC palette.
- Improved EGA overscan to also use the VSync polarity.
- Added extra paging fault bits for debugging.
- Improved page fault address for 32-bit objects.
- Improved page faults for dword accesses to become a proper byte granularity.
- Fixed paging 32-bit non-faulting detection.
- Fixed page fault inhibition when checking only.
- JMPF/CALLF with a register operand isn't allowed!
- Fixed JMPF/CALLF #UD to perform a correct return statement to compile.
- Optimized BIU requests buffering to always be 64-bit aligned.
- Decode the opcode of UD2 without ModR/M parameters.
- Opcode FF(GRP5) /7 has priority of #UD over addressed memory access faults.
- Improved i430fx/i440fx to have a faster reset command execution of the BAT. Normal BAT has unchanged timings.
- Updated the common emulator framework to the latest commit.
Common emulator framework:
- Improved LCTRL being pressed after RALT to be detected correctly with and without RALT having been pressed cases, with it still being properly ignored when simulated by RALT.
- Improved gaming mode entering to accept the face buttons as extra options for selecting different mappings for gaming mode.
- Added missing PSP OSK keys for rwin, rctrl, ralt and rshift.
- Fixed PSP OSK lwin key to use the correct name and key.
- Made the Gaming Mode Joystick vs Normal input setting to be specified for each of the face buttons.
- Improved text handling of starting active output on a new line.
- Added support for UTF-8 to the text display (although limited to 8-bit character codes for compatibility).
- Fixed UTF-8 parsing of the initial UTF-8 byte.
- Fixed OSK unicode characters.
- Improved parsing of extended ASCII characters.
- Made the GPU text surface border color become the border color of the foreground pixel instead of the border pixel.
- Fixed OSK Windows and Apps character codes.
- Improved the OSK to properly support UTF-8.
- Improved displaying of unsupported character codepoints to resolve to a question mark.
- Made raw inputs available to the applications using the common emulator framework.
- Improved i430fx/i440fx to have a faster reset command execution of the BAT. Normal BAT has unchanged timings.
- Fixed UTF8 code point warnings.
The most important of these updates being:
- Proper ctrl key handling on supporting keyboards.
- All builds now properly display special extended ASCII characters on screen.
- The cursor of text input in the admin menus is now properly working on all platforms.
- BIOS menu font colors are now improved.
- All possible configuration settings (other than the packet server settings themselves) are now configurable from within the Settings menu.
- IBM EGA is now properly emulated.
- Gaming mode now has more options for mapping up to five different gaming input modes.
- Various CPU bugfixes have been made.
- Floppy disk emulation has been improved.
Files
UniPCemu.apk 4.7 MB
Jul 06, 2021
UniPCemu_PSP.zip 1,019 kB
Jul 06, 2021
UniPCemu_win64.zip 1.3 MB
Jul 06, 2021
UniPCemu_win64server.zip 1.3 MB
Jul 06, 2021
UniPCemu_win32.zip 1.3 MB
Jul 06, 2021
UniPCemu_win32server.zip 1.3 MB
Jul 06, 2021
Get UniPCemu
UniPCemu
A cycle-accurate PC emulator
Status | In development |
Category | Tool |
Author | Superfury1 |
Tags | 16-bit, 32-bit, cycle-accurate, Emulator, i430fx, pc, x86 |
Languages | English |
Accessibility | Configurable controls |
More posts
- UniPCemu build 2023/04/11 18:33 is now live!Apr 11, 2023
- UniPCemu build 2023/01/03 14:55 is now live!Jan 03, 2023
- UniPCemu build 2022/10/19 22:02 is now live!Oct 19, 2022
- UniPCemu build 2022/10/16 14:49 is now live!Oct 16, 2022
- UniPCemu build 2022/10/01 14:51 is now live!Oct 01, 2022
- UniPCemu build 2022/09/10 12:42 is now live!Sep 14, 2022
- UniPCemu build 2022/06/24 12:22 Android bugfix!Jun 24, 2022
- UniPCemu build 2022/06/19 19:15 is now live!Jun 19, 2022
- UniPCemu build 2022/04/07 22:49 is now live!Apr 08, 2022
- UniPCemu Switch release and PSP/Vita bugfixesSep 26, 2021
Leave a comment
Log in with itch.io to leave a comment.