UniPCemu build 2020/12/16 08:35 is now live!
UniPCemu » Devlog
Since it's a bit of a large update (over 490 commits), I've summarized the main changes and bugfixes for this release:
- Fixed i430fx device ID.
- Improved floppy sense interrupt and perpendicular mode.
- Don't send ACK for enabling the second PS/2 controller.
- Improved Pentium Pro and Pentium II emulation.
- Improved x86 CR register bits.
- Improved CPUID instruction.
- Improved BIOS text input cursor to be a block character instead.
- Added FS breakpoint support.
- Added i440fx motherboard emulation.
- Increased memory limit to 1GB.
- Improved CPU-depending memory limits during detection. 15MB for 80286, 16MB for Compaq, 128MB for i430fx, 1GB for i440fx.
- Improved PIT emulation.
- Implemented a basic Qemu-style logging method for software to use.
- Improved PCI BARs.
- Fixed POST code logging without (valid) translation file.
- Improved ATA and ATAPI device emulation.
- The i440fx uses a default speed of 10MIPS or 66MHz.
- Improved Pentium/Pro/II MSRs.
- Implemented extended CMOS data storage at port 72h/73h.
- Improved PIC interrupt tracking.
- Implemented Local APIC, IO APIC and SMP.
- Implemented Intel 28F001BXT/28F002BXT flash BIOS on i430fx/i440fx.
- Implemented IMCR register.
- Improved CPU INIT vs RESET.
- Made the CPU state per-CPU instead of global.
- Improved Android support for SDL2_net. It's now properly compiled in.
- Hard disk lists in the settings menu can now be viewed, but not un/remounted on a running machine.
- Implemented i430fx/i440fx BIOS flash write protection.
- Fixed first PS/2 port IRQ on the output port.
- Implemented SMP bus locking.
- Multiple processors(up to 2) can now be specified in the settings.
- Improved SMP CPU reset vs INIT.
- The debugger is only attached to the BSP.
- Improved SMRAM emulation.
- Improved CPU reset/init with data locking.
- Updated Android gradle to the latest version.
- Implemented CPUID limit options on the function number.
- Fixed IPS clocking mode bus deadlock.
- Bus locks use a random chance generator.
- Updated the common emulator framework to the latest commit.
- Fixed CMPXCHG affected flags.
- Improved CMPXCHG8B.
- Added missing debugger for the CMPXCHG instructions.
- Improved double fault during page fault.
- Improved 32-bit addressing handling of special register opcodes.
- Implemented all base Pentium Pro/II instructions(no FPU).
- Widened the memory bus to 64-bits.
- Optimized paging.
- Modified the remaining instructions to use the BIU for memory accesses.
- Improved CMOS timer update flag to be reported correctly.
- Flushing the paging TLB also flushes the PIQ.
- Fixed PS/2 keyboard typematic rate/delay command.
- Fixed the paging accessed bit to be always handled.
- Accessing paging structures in RAM now locks the bus.
- Don't fault on pseudo-interrupts checking CPL.
- Log paging pending events during advanced logging.
- Don't check paging for the destination during jumps and call instructions.
- Fixed 16-bit CMPXCHG.
- Fixed VGA scanline data updating during register writes.
- Made VGA byte panning an extension of the horizontal pixel panning register.
- Latch the VGA byte panning during vertical retrace.
- Latch the VGA horizontal pel panning during the end of vertical retrace.
- Improved VGA byte panning to be an extension of horizontal pel panning.
Common emulator framework:
- Implemented a command-line parameter to enable Qemu-style logging support.
- Safeguard log against threads.
- Safeguard file closing.
- Fixed big file close protection.
- Improved sound samplehandlers list.
- Fixed RandomShort not being inlined.
- Fixed random shorts to properly round to generate the full range of possibilities.
- Improved random short with equal chance.
- emu_misc.c: Improved border case of random short chance being out of range.
- Fixed signed/unsigned warning in the 64-bit file read line function.
Files
UniPCemu.apk 4.5 MB
Dec 16, 2020
UniPCemu_PSP.zip 975 kB
Dec 16, 2020
UniPCemu_win64.zip 1.2 MB
Dec 16, 2020
UniPCemu_win64server.zip 1.4 MB
Dec 16, 2020
UniPCemu_win32.zip 1.1 MB
Dec 16, 2020
UniPCemu_win32server.zip 1.3 MB
Dec 16, 2020
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.