UniPCemu build 2020/07/25 20:23 is now live!


This time it's a bit smaller update with some bigger changes (mainly the addition of the i430fx Pentium up to 128MB RAM chipset).

UniPCemu emulator updates:

  • Improved Android Manifest to be more compatible with SDL 2.0.12.
  • Updated Android gradle to the latest version.
  • Implemented the i430fx architecture with minimal required features (running the Apollo S728 ROM, which is it's S728P.ROM from Bochs feature request #468). It's just booting with a Cache Memory Error, which can be ignored.
  • Improved linux default path and non-Android path determination.
  • Implemented a S-suffix to debugger breakpoints to enforce debugger single-stepping on said breakpoint, instead of just matching it for debugging and/or logging.
  • Optimized BIOS ROMs using shadow ROMs in RAM, instead of performing the seperating of even/odd ROMs and reversed ROMs live.
  • Implemented memory caching of any word or doubleword loaded from RAM or (flash) ROM.
  • Optimized Compaq memory wrapping and BIU memory accesses a lot, as well as A20 behaviour.
  • Optimized logical address to linear address translation.
  • Optimized and improved PCI transfer cycles to update when the write to PCI configuration space finishes.
  • Improved i430fx shutdown cycle recognition according to documentation, with the exception of special cycles being enabled by default(for compatiblity) on PCI reset.
  • Shutdown cycles without recognition by the i430fx will cause the CPU to hang up correctly(because shutdown never raises the reset line).
  • Seperated PSE and non-PSE paging for improved speed.
  • Optimized the busy indicators on-screen to update less frequently and only when needed(with the write (or CD-ROM tray opened) priority over read).
  • Improved 8042 controller input port to be giving correct memory size information on the AT and i430fx architecutures.
  • Implemented most 8042 i430fx AMI commands.
  • Fixed PS/2 architecture CMOS settings to not write the Compaq CMOS settings as well.
  • Optimized the DMA controller.
  • Improved floppy Specify, Configure, Perpendicular Mode and unknown commands to lower the IRQ.
  • Improved PCI IDE to properly handle enabling and disabling the controller using the PCI command register.
  • Improved PCI IDE to handle both PCI and legacy mode (although with fixed IRQ mapping in both modes, for IRQ 14 and 15).
  • Improved the ATA Identify command to not raise an IRQ when the transfer is completed.
  • Improved the ATA Identify command to properly set Drive Seek Complete.
  • Improved i430fx PCI IDE to disable writes to the Drive Address Register, as is documented on PCI IDE controllers.
  • Improved PCI BARs to be emulated more accurately.
  • The PCI IDE controller now properly identifies itself as not supporting PCI Bus Mastering on the i430fx.
  • Implemented 8259 PIC polling mode.
  • Improved PS/2 keyboard and PS/2 mouse response to reset and enable/disable of the ports.
  • Serial mouse now reports it's movement in mickeys.
  • Improved Sound Blaster and Sound Blaster 2.0 commands and DMA modes to be more accurate and compatible.
  • Implemented various missing Sound Blaster 2.0 commands.
  • Improved (S)VGA vertical retrace depending triggers to be handled better.
  • Fixed video card full synchronization with the CPU to no longer perform the wrong synchonization mode.
  • Fixed (S)VGA to use the correct 16 frame blink rate instead of the 8 frame blink rate.
  • ET3000/ET4000 will now use a proper 50MHz and 66MHz clock.
  • Updated SDL2 to version 2.0.12.

Common emulator framework:

  • Implemented fast overlap detection support to types.h
  • Made the busy indicators only update at 10 FPS.
  • Optimized 16-bit and 32-bit FIFO reads/writes for aligned accesses.
  • Made fprintf64 use a global buffer.
  • Made LCTRL being pressed before ALTGR only handle handle ALTGR when it's received at the same time, within a single input loop. This removes the LCTRL presses when ALTGR is pressed and seperates their detection(although LCTRL can't be pressed with ALTGR anymore, only taking every second LCTRL press).
  • Implemented mouse movements in both mm and mickeys.
  • Fixed mouse movement in mickeys and mm.
  • Fixed input mickey movement.

Files

UniPCemu_PSP.zip 931 kB
Jul 28, 2020
UniPCemu_win64.zip 1 MB
Jul 28, 2020
UniPCemu_win64server.zip 1 MB
Jul 28, 2020
UniPCemu_win32.zip 1 MB
Jul 28, 2020
UniPCemu_win32server.zip 1 MB
Jul 28, 2020
UniPCemu.apk 4 MB
Jul 28, 2020

Get UniPCemu

Leave a comment

Log in with itch.io to leave a comment.