Q2 2021 Progress Report

Authored By:  lightningterror
Co-Authored By:  bositman

Core Improvements #

DEV9 #

#4381 DEV9: Do Not Apply Byteswapping to TX/RX FIFO Writes/Reads By TheLastRar

  • Remove the byte swapping done to TX/RX FIFO writes/reads performed via registers.
  • Fixes Twisted Metal: Black Online Public Beta v. 1.0 unable to initialize network adapter.

#4364 Add ATA Idle Immediate (E1) Stub By macmenot

  • Fixes HDD support for Street Fighter Alpha Anthology.

#4403 Consistently Prefix All Console Output With DEV9 By macmenot

#4429 Update ATA Code for Wchar GHC By TheLastRar

#4496 PCAP, Check Size of Read Packet By TheLastRar

  • In PCAP, check size of read packet. If the size exceeds the buffer we are using, drop the packet.

#4448 Always Use Binary Mode for HDD File By TheLastRar

  • Opening the file in binary mode is the intended behaviour (and was done in the most common situation),

#4449 Fix Potential Out of Bounds Access When Manual DNS1 & Automatic DNS2 Are Used Together By TheLastRar

  • If DNS1 was manually specified, but DNS2 set to be automatically assigned, an off by one error could result in an out of bounds access to an array of adapter DNS addresses.

#4442 Increase Min HDD Size to 40GiB By TheLastRar

  • Most games expect a HDD of 40GiB in size, and may fail to install as a result (and display a confusing error message).

#4304 Internal DHCP Support By TheLastRar

  • Adds an internal DHCP similar to what CLR\DEV9 offers for PCAP & TAP.

#4433 Correctly Populate DNS2 Field With DNS2 IP By TheLastRar

  • Correctly populate DNS2 field with DNS2 IP in the DHCP section of the network ui.

#4435 Sleep Instead of Yield in RxThread By TheLastRar

  • Yield might not leave the thread asleep long enough to prevent it from causing excessive CPU load.
  • This also brings PCSX2 inline with CLR_DEV9 (which also sleeps for 1ms).

Memory Cards #

#3941 Folder Memcards: Add an Index File to Track Order of Files By CookiePLMonster

Adds an index file for folder memory cards in order to track timestamps and order of files in the FAT partition properly. This normally shouldn’t matter, but there are at least a few games (ie. GTA games) which rely on the order of files on the memory card. Previously, folder memcards would not care about the order and populate the partition in whatever order the host filesystem provided the files (so, in the case of NTFS partitions, alphabetically). In reality, FAT partitions don’t specify the order of files, which means in practice they are sorted to the order of creation.

  • Fixes saving in GTA games with folder memory cards.

microVU #

#6f7890 Fix Mistake When Setting Status Flag Bits for Signed/Zero By refractionpcsx2

#3825 Change Default of Latency Slider By RedDevilus


#b60765 Remove MTVU Spam That Isn’t Required By refractionpcsx2

Solves stuttering in MTVU mode in some games, and gets rid of some annoying asserts which mean nothing.

SPU2 #

#3825 Change Default of Latency Slider By RedDevilus

#17519c Fix Hi Def Audio Streaming By refractionpcsx2

#4474 Remove Cycleptr, Grab Current Cycles Directly By Ziemas

  • This just changes the SPU2 to get the current IOP cycle directly instead of through a pointer. The non-pointer path seems to have been given up on anyway and there seems to be little reason for hiding it behind a pointer.
  • This removes the path where SPU2 runs off the provided cycle argument to SPU2Async, but that was unused anyway.

#4437 Make SPU Use TheDMA Registers From IopHw. By Ziemas

The SPU was managing its own DMA Addresses, this makes it use the iopHw functionality for this instead.


#4331 Just Enablepressure on CMD 0x4F By KrossX

Fixes Warriors of Might and Magic GamePad not functioning properly.

#4466 Fix Gamepad Choice Not Affecting Rumble Test on Linux By Lahvuun

This change causes the currently selected GamePad to rumble instead of the first one.

Eyetoy #

#4415 Motion Buttonsupport. By Florin9doi

Debuggers #

#4345 Bios Threadview Support. By F0bes

Misc core #

#4399 Core / VU: Disable MTVU When VU1 Interpreter Is Selected. By F0bes

#3860 Remove FPUCompare Hack By kozarovv

The hack is no longer needed as full Clamping mode can be used instead.

#4461 DifferentiateImpossible Block Clearing Message From IOP & EE By F0bes

Prefix the “Impossible block clearing failure” with “[IOP]” or “[EE]” depending on the recompiler.

#4425 Fix Emulated PSXGPU Version. By Nobbs66

Previously it was thought that the PS2 would emulate the v2 GPU, but hardware tests show that it emulates the V0 GPU.

#4460 Make DMA’s Instant During the BIOS By refractionpcsx2 tadanokojin PSI-Rockin

This hackfixes the BIOS to avoid a Data Cache bug caused a DMA buffer being overwritten during a transfer without waiting, which messes up the fonts in the BIOS. Fixing this correctly would require implementing the Data Cache, which is something which would make the emulator basically unusable, so this is a reasonable solution, it is only enabled during the BIOS screen.

  • Fixes certain bios revisions rendering text incorrectly.

#4498 MoverecConstBuf Memory Near Recompiler Memory By TellowKrinkle

  • Fixes an issue where recConstBuf was too far away from the main recompiler to LEA in 64-bit builds.

#4482 Fix Disc Drivepath Issues on Windows. By turtleli

  • Fixes #3910 - CDVD Regression: Booting a physical disc inserted after opening PCSX2 doesn’t work. (Regression only affects Windows).
  • Fixes an issue where the drive choice is cleared if there is no disc in the selected drive when PCSX2 is first opened (Should only affect Windows, but non-Windows only code is touched too).

GSdx Improvements #

Misc GSdx #

#4350 Removepartial and Full Crc Hack Levels on Release Builds By lightningterror

  • Normal users shouldn’t really need to choose partial or full since automatic already does that.

#4383 Some Minorcleanups. By lightningterror

TAS (Tool Assisted Speedrun) Utility Improvements #

#4382 Resolve Crash When Closing Emulator Involving GUI Elements By xTVaser

#e50a44 Add Close Box to New Input Recording By lightningterror

#4393 Allow Configuration of the Frame Advance Amount By xTVaser

  • Adds a GUI configurable setting to control how many frames the frame-advance feature should advance.

#4392 Add Warning When Creating a Save-State Recording By xTVaser

  • Adds a brief warning explaining why you may want to avoid save-state recordings, and what would have to be done if a bad state is achieved.

IPC (Interprocess Communication) Improvements #

#4337 Remove Possiblememory Corruption Due to Strcat on Provided Pointer By GovanifY

GameDB Improvements #

#467659 Add Patches for Elemental Gerad and K-1 Grand Prix 2006 By refractionpcsx2

#4388 Adds Fixesfor Energy Airforce - Aim Strike , K-1 World Grand Prix 2006 By Mrlinkwii

#4405 Add NearestEErounding to SSX and SSX Tricky By Mrlinkwii

#4462 Add Kickstartfor Rayman Raving Rabbids. By icup321

#4478 Adds VUclamping Mode Extra to Enthusia Professional Racing By Mrlinkwii

#4488 Remove Nolonger Needed ‘OPHFLagHack’ for Naruto - Uzumaki Chronicles 2 By Mrlinkwii

Misc Improvements #

#4278 Grayout InstantVU1 When MTVU Is Enabled. By RedDevilus

#4377 Revise Consolewith Newline on Compile + Title By RedDevilus

#4416 Swap ButtonsBrowse… and Ask When Booting and Default to Unchecked State By RedDevilus

#4378 Change Window Todebug in the Menu and Move Blockdump to the Debug Menu By Mrlinkwii

#4431 Update the 2smaller App Icons. By Mrlinkwii

#4438 Change ‘Consoleto Stdio’ to ‘Program Log to Stdio’ in UI By Mrlinkwii

#4454 Rename PSXreferences to PS1 Distinguish Between PS1 and DVR By Florin9doi

#4329 RemoveSSE2/SSE3 Support By GovanifY

Moving forward with our goal to clean up and modernize the code we are removing SSE2/3 support.

#4444 Save ELF Lastpath When Auto-Running an Elf By F0bes

#4343 Enable GSdebugger on CI Artifacts By lightningterror

Adds an CI environment variable to enable GS debugger on CI artifacts. This can also be enabled locally to enable the GS debugger.

#4418 Validate GameDBchanges in GitHub Actions. By xTVaser

Currently, the emulator will fully validate the GameDB, which is how we’ve been catching these recent mistakes. But this adds a CI check to validate the file in a very similar manner at build time.

#4180 CI: Add an Explicit Flag to Retain Debugging Artifacts (.Pdb, .Exp, .Lib, Etc) in Windows Builds. By xTVaser

Conclusion #

And that’s all from us, see you next time in our 2021 Q3 Report!

Metadata #

Q2 2021:
(dev1164 to dev1299) (2020-04-01 - 2020-06-30)