UniPCemu build 2023/04/11 18:33 is now live!
A new version has just been released on itch.io! It fixes some old bugs and adds various improvements on different platforms.
The Inboard XT/AT is now fully emulated. COM0COM has some extra workarounds added when detection is prevented in any way, allowing older drivers to be detected properly.
Memory caching is improved to run faster as well, as well as required locks for x86 paging memory structures and PAE support in the emulated hardware.
Android builds also has improved redirect.txt support in a hardcoded UniPCemu directory at the root of the internal memory storage, allowing newer Android versions to use it more easily.
The paging TLB is also optimized to take less space in memory.
UniPCemu:
- Fixed second COM port detection.
- Implemented a special COM0COM detection override flag.
- Added support for overriding the used COM port to force COM0COM driver support on it.
- Implemented a ::COM0COM:: suffix on the direct serial ports to enforce COM0COM driver to be detected if it isn't.
- Improved packets to the subnet zero broadcast to be counted accordingly.
- Added support for filtering multicast addresses on the client.
- Filter multicast addresses on the packet server host.
- Implemented some basic multicast local routing.
- Just broadcast all network multicast packets.
- Fixed Inboard PS/2 data port conflict on AT machines.
- Implemented Inboard reserved RAM.
- Implemented Inboard reserved RAM/ROM memory mapping and memory area.
- Fixed Inboard reserved RAM area mapping.
- Implemented support for unmapping video and BIOS ROMs on the Inboard chipset.
- Improved Inboard speed setting to be more as documented.
- Improved Inboard AT waitstates.
- Fixed memory dumping.
- Improved Inboard RAM/ROM mapping according to observed behaviour.
- Added memory size limits depending on the Inboard XT/AT model emulated to reflect known configurations better.
- Improved Inboard XT ROM shadowing.
- Fixed the Inboard to properly update the RAM layout for remapping RAM and configuration values when changed.
- Inboard memory remapping isn't always in a memory hole area.
- Fixed mapping of non-reserved memory on the Inboard.
- Always map the RAM acting as ROM on Inboard high as RAM.
- Fixed Inboard reserved memory to not count as a memory hole.
- Improved BIOS ROM shadowing to have only a bit for main motherboard BIOS ROM shadowing.
- Fixed Inboard memory cache/speed configuration register to be registering bit 0 correctly.
- Implemented Inboard 386/AT speed register affecting speed properly as observed behaviour.
- Improved default Inboard 386/AT speed.
- Fixed internal video ROM to register correctly.
- Fixed internal video ROM to start out unhooked.
- Internal video ROM now properly creates INT 10h handler code itself.
- Lock internal video handlers to always be properly available.
- Fixed Inboard 386/AT default speed code.
- Fixed 80(1)86 linear/physical memory access to not wrap to 16-bit physical memory addresses.
- Fixed emulated interrupts direct memory addressing.
- Fixed 80(1)86 addressing memory directly without segment descriptors.
- Restored internal BIOS real memory access using segmentation.
- Implemented proper segmented addresses on CPU memory address translation.
- Fixed memory addressing without segment descriptor.
- Fixed generic segment addressing without segment descriptor.
- Apply proper mandatory CPU depending on the motherboard emulated.
- Extended the BIU to allow requesting 64-bits data as well.
- Extended the BIU addresses to 64-bits.Extended more CPU functions to support 64-bit address width.
- Added functions to request 64-bit memory reads/writes to the CPU execution module.
- Extended the BIU result buffer to include more information about the request using the same basic structure as the request to the BIU.
- Made PAE CR3-based loads properly lock the bus like other paging operations.
- Fixed MOV DRn/TRn to work properly again.
- i440fx requires a Pentium Pro processor to run.
- Modified TSS task switches to support CR3 reloading performing checks and PDPT loads.
- Fixed #TS fault on CR3 loads to properly fault when task switching.
- Fixed VGA from never overflowing the GPU render buffer.
- Cleaned up BIU code.
- Fixed Inboard missing headers.
- Fixed compiler warnings about unused variables without serial support added to the app.
- Made most memory addresses cachable, for any size.
- APIC and VGA memory mapped data is uncachable.
- Optimized RAM layout updates to perform less work.
- Optimized reading from RAM and ROM.
- Fixed EMS memory writes to properly also invalidate other memory windows containing the same written data.
- Use the improved common emulator framework data file paths and definitions.
- Improved Android preprocessor defines.
- Fixed default input settings to be loaded correctly.
- Merged Paging TLB entries and their pointers.
- Optimized moving allocated TLB entries to the MRU.
- Made used TLB checks faster.
- Optimized Paging TLB entries to take less memory.
- Optimized Paging TLB entries to be using caches to run faster.
- Cleaned up unused header.
- Cleaned up COM0COM override when not supported.
- Fixed CHS file size read from the file to be supporting all lengths properly.
- Fixed joystick setting reading typecast.
- Updated the common emulator framework to the latest commit.
- Updated SDL2 to the latest available version on all platforms.
Common emulator framework:
- Improved mouse and gaming mode face buttons to be all available at the same time, instead of just one depending on a order.
- Modified the keyboard mode to be able to handle all face buttons at the same time, except when performing single-key inputs.
- Fixed display of inputted pressed buttons on the danzeff-style keyboard.
- Improved caps lock and shift status registration to no longer spam press/release actions when not changing.
- Moved many common emulator path support to the common emulator framework.
- Implemented improved Android path detection using a directory on the root of the found storage.
- Fixed some path module compiler warnings.
- Fixed Android root directory detection.
- Made Android become a proper common define like all other platforms.
- Fixed Android root directory redirect file path.
- Improved file deleting using wildcards to no longer affect the source filename input.
- Prevent double redirection using redirect.txt being nested.
- Added support for the redirect file to support relative paths as well.
- Fixed default settings to be loaded correctly.
- Improved support for Windows abosolute paths.
- Protected redirect.txt path overflow to be counted as invalid.
- Fixed root directory file path.
- Properly convert the relative path into an absolute path in redirect.txt
- Improved redirect.txt invalid path ending.
- Improved reditect.txt unwritable path abort.
- Fixed Windows absolute drive path detection.
- Fixed Windows absolute drive path detection.
- Improved invalid path detection.
- Improved PSP path type detection for internal storage devices.
- Improved PSP/Windows invalid path detection.
- Fixed Windows only drive path detection.
- Automatically try to create a directory structure when testing a path for writability.
- Only create the app root directory when all redirects are finished.
- Fixed paths Switch missing header.
- Fixed some string size compiler warnings.
- Fixed redirect size detected from the read file.
- Fixed SDL2 runtime version check compiler warning.
Files
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/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.