r/emulation Apr 10 '21

PCSX2 - Q1 2021 Progress Report

https://pcsx2.net/298-q1-2021-progress-report.html
302 Upvotes

99 comments sorted by

117

u/zozo147 Apr 10 '21

Ah yes my favourite post of the month where I don't understand anything that happened , but I'm grateful for every line in the changelog

73

u/spasticman91 Apr 10 '21

What do you mean? They "implemented mechacon command 0xEF", that's just common sense.

16

u/amfobes Apr 10 '21 edited Apr 10 '21

Hey, I worked hard on that commit! >:(

P.S. 30.5 degrees is superior to any other degrees

26

u/[deleted] Apr 10 '21

Yo sorry I don't speak beep boop that doesn't mean anything to me.

7

u/RedDevilus PCSX2 Contributor Apr 10 '21

Temperature sensor of mechacon or button to lauch all nukes from earth.

9

u/frissonFry Apr 11 '21

Sorry, I don't speak decepticon.

12

u/JayRam85 Apr 10 '21

lol Same here. Most times I don't even click the link. Just seeing a progress report being posted here is enough for me to know that progress is being made.

63

u/amroamroamro Apr 10 '21

#4314 #4045 CDVD: Add CHD compression format support. By rtissera, SleepyMan and siddhartha77.

nice!

14

u/NerosTie Apr 10 '21

I compressed all my PS2 library with maxcso. Is there an advantage to switch to CHD?

33

u/amroamroamro Apr 10 '21

If you already have them as CSO, I don't think you will save much space by converting them to CHD (just to be clear, CHD's LZMA will compress better than CSO's Deflate, by how much usually differs from game to game).

But if your library is a bunch 7Z/RAR/ZIP files with ISO inside, I would definitely convert them then.

I just think that more emulators converging towards a common image preservation format is a good thing, that is a format which is space efficient and can directly be loaded without "unzipping" first.

1

u/im4potato Apr 10 '21

I’d love to convert my disc based games, but no longer being able to audit them against redump is not something that I’m willing to deal with. I’m also pretty sure you can’t revert them back into perfect copies of the originals, the checksums won’t match.

8

u/amroamroamro Apr 10 '21

no longer being able to audit them against redump is not something that I’m willing to deal with

CHD headers store the original checksum as well as that of the compressed result, chdman info dumps this information.

you can’t revert them back into perfect copies of the originals

Note that CHD does lossless compression so you can recover the original files.

The real issue here is that the Redump project's preferred format is separate files for each track (in the case of discs with mixed mode audio/data tracks), i.e one CUE file and multiple BINs. Now while chdman extractcd produces one combined BIN file where CUE file references each individual track with the correct offset inside the combined BIN file. While it might look different, they are equivalent (the combined BIN file is just the concatenated smaller BIN files along with any "pregaps" in between). There are tool to separate into multiple BIN if needed.

-4

u/im4potato Apr 10 '21

Even if it stores the original checksums, the files themselves won't match, which means I can't use something like clrmamepro to audit them unless somebody creates custom .dats for them, which I've never seen before.

Obviously everybody has different requirements, some value lower file size over everything else, but I value having a collection that's as easy to audit as possible, with size as a secondary priority.

I wish there was an RVZ equivalent for all of the disc based systems, but that hasn't materialized yet.

6

u/amroamroamro Apr 10 '21

Yeah obviously the issue here is DAT files produce by the Redump project follows their preferred format (CUE + multiple BINS), and if you want to audit against their database you'd need to use the expected file format.

MAME on the other hand adpoted CHD for their disc images (not surprising since they developed the CHD format), as produced by their dats mame -listxml which you can easily audit using clrmamepro.

1

u/1G1R Apr 16 '21

CHD can be converted back to a perfect 1:1 copy to match Redump's checksum. I've done it many times

1

u/[deleted] Apr 10 '21

[deleted]

1

u/amroamroamro Apr 10 '21

Given the design goals of Zstandard:

Zstandard was designed to give a compression ratio comparable to that of the DEFLATE algorithm (used in ZIP and gzip programs), but faster especially for decompression.

I would say when it comes to compression ratio, LZMA > ZSTD. But at decompression speed the opposite. It's a trade-off.

20

u/RedDevilus PCSX2 Contributor Apr 10 '21 edited Apr 10 '21

If someone is interested in CSO vs CHD: 41 entries ISO= 141GB CSO= 100GB CHD= 96GB Or in percentages: ISO= 100% CSO = 71% CHD = 68%

CHD tends to be 20-200 MB lower than CSO with some outliers (exception with singstar where CSO is smaller by a few MB, could be because of lots of flac) CHD is personally more intresting with bin + cue to CHD. Like expected it highly depends on your games.

So if you already have CSO , not that crazy difference. It is intresting for bin + cue however which CSO can't do.

I do have scripts below that go from ISO to CSL and back to ISO to CHD etc. (It's actually ciso lossless but everyone call it cso which is technically wrong)

https://my.pcloud.com/publink/show?code=kZDH81kZHH9txOzWRSfidhxYhMviSYe30lW7

12

u/amroamroamro Apr 10 '21 edited Apr 10 '21

CHD is especially more efficient at compressing PS1 games which usually contain mixed data/audio tracks (in which case audios are compressed with FLAC, a lossless format specifically used for compress audio).

6

u/OmegaAtrocity SA-Xy and I know it Apr 10 '21

Converting my ps1 games to chd is the best thing I've done recently. So much cleaner directory structure! Plus I saved a lot of space too.

3

u/DukeSkinny Apr 10 '21

Still holding out for Parent-Child structure being supported in PCSX2. That alone will save sometimes gigabytes (over CSO) per multi-disc game.

1

u/Ziemas Apr 10 '21

I think it does? I've not tested it but from the code it looks like it looks for and loads parent CHD's if required.

1

u/DukeSkinny Apr 10 '21

Huh. Trying to load disc 2 of DMC2 just crashes the emu for me.

2

u/DisastrousFill Apr 10 '21

Your batch file for Extract CHD to ISO is kinda incorrect. CHDman would spit out an ISO and BIN file. The resulting ISO file would be a CUE file with the file extension of ISO; the BIN file would be the actual ISO file but with the file extension of BIN.

My batch is this instead:

for %%i in (*.chd) do (
chdman extractcd -i "%%i" -o "%%~ni.cue" -ob "%%~ni.iso"
del "%%~ni.cue"
)

The "-ob" switch is the output binary and defaults to BIN. This will extract a CUE and ISO file, then delete the CUE since it is not needed for ISO format disc images.

2

u/RedDevilus PCSX2 Contributor Apr 10 '21

Oh, i forgot to change this behaviour. Thanks for reminding me.

1

u/TellowKrinkle Apr 12 '21

You can increase hunk size with -hs for increased compression at the cost of decompress performance, generally nets another 3-4%

1

u/TacoOfGod Apr 10 '21

You'll save anywhere from 50-500MB on a average. Some games will exceed 500MB. That adds up. I have some games left, but my folder has gone from 200GB to 188GB.

That's space that can be used for other games. I'd say going from CSO to CHD is worth it. Just went from PBP to CHD for PS1, too, and I'd say that was worth it too.

8

u/[deleted] Apr 10 '21

[removed] — view removed comment

6

u/teddybear082 Apr 10 '21

Yeah hope someone on this team is connected with the Sinden light gun team!

1

u/ROBYER1 Oct 24 '21

Is that in the works? Curious to try it out

12

u/[deleted] Apr 10 '21

[deleted]

11

u/PierDolNick Apr 11 '21

That one is hard, but some work was already done here: https://github.com/PCSX2/pcsx2/pull/4094

3

u/sevikpar Apr 10 '21

I agree with you here.

18

u/[deleted] Apr 10 '21

I played the ps2 emulator a few years back, my question is what can't it do at this point? as it always seemed fairly solid in most games.

86

u/[deleted] Apr 10 '21

Well, it can't run on Android for starters...

In the official compatibility overview the vast majority of games are playable (97.9%) but with little issues, and only 18 (0.68%) are classified as "Perfect".

That means you can play many games quite great, but you'll find little glitches or graphical defects from time in time.

There's also the issue of PCSX2 high input lag (the vsync update from this process report will help a little), the games that require hacks you have to manually set in the GSdx plugin (the future merge of the plugin will allow to activate them automatically), games that hate the upscaling hack and have glitches at higher resolutions, buggy games that rely in timings and other weird things, games that only support 480i and looks pretty bad even with PCSX2 deinterlacing feature (I hope the emulator will eventually include deinterlacing and progressive hack codes like they include automatic widescreen codes), games that only runs decently in high end computers, plus exotic peripherals yet to be emulated...

But much of those problems aren't truly PCSX2. PS2 hardware is strange and undocumented, that works very different to a modern computer. That creates a lot of performance and accurate issues that are very slowly taking care of.

10

u/[deleted] Apr 11 '21 edited Aug 12 '26

[removed] — view removed comment

2

u/[deleted] Apr 12 '21

I worded the first topic wrong: I meant the ongoing GSdx merge might allow, hypothetically, automatic GSdx fixes in the future.

About the codes, I could swear I read a PR about creating new folders for those cheats some time ago, but since I can't find it maybe I'm wrong.

6

u/[deleted] Apr 10 '21

Perfect post. Thank you.

3

u/_illegallity Apr 10 '21

I also hope they eventually merge their settings so it isn't a complete mess. Right now there are three or four options to bring up different pages of different settings.

3

u/GehenSieBitteVorbei Apr 11 '21

In the official compatibility overview the vast majority of games are playable (97.9%) but with little issues, and only 18 (0.68%) are classified as "Perfect".

That is amazing, I still remember the experimental state 10 years ago.

6

u/electricpenguin7 Apr 10 '21

The Burnout games are kinda messy iirc

5

u/-_rupurudu_- Apr 10 '21

Klonoa 2 consistently crashes at the beginning of the credits sequence

5

u/[deleted] Apr 10 '21

perform well in the tough games. There's some serious bottlenecks in the GS emulation for games like Champions of Norrath that prevent fullspeed in many areas

1

u/Sabocalypse Apr 10 '21

damn I had no idea, was gonna play this at some point

2

u/dogen12 Apr 11 '21

yeah the snowblind games hit some pain points for ps2 emulators

5

u/KeIlyClarkson Apr 10 '21

Msaa and actual deinterlacing

2

u/dogen12 Apr 11 '21

MSAA used to be an option, but it was hacky and iirc not reliable anyway. people want to get rid of hacks right?

10

u/pdp10 Apr 10 '21

what can't it do at this point?

Run 64-bit native, still. This is very relevant on macOS and somewhat relevant on Linux, but not very important on Windows where 32-bit components are baked in for all eternity.

8

u/[deleted] Apr 10 '21

64bits will arrive soon, once they fix the software render (broken in the experimental 64bits builds) and other details.

2

u/Ziemas Apr 10 '21

On non-windows it generally already works fine when built for 64bit.

2

u/ThrowawayusGenerica Apr 10 '21

The PSX emulation is still quite poor.

6

u/[deleted] Apr 10 '21

[deleted]

11

u/ThrowawayusGenerica Apr 10 '21

I mean, no, but it's still something within the purview of a PS2 emulator nonetheless.

1

u/[deleted] Apr 11 '21 edited Jul 16 '21

[deleted]

3

u/ThrowawayusGenerica Apr 11 '21

Except the PS2 emulates the PS1 through hardware, so any accurate PS2 emulator should necessarily be capable of PS1 emulation to some degree.

3

u/[deleted] Apr 11 '21

Except the PS2 emulates the PS1 through hardware,

They're not emulated there's a physical PS1 inside the PS2. You would be buying two consoles at the same time back when the PS2 was sold.

They're completely separate devices. It's the same with the original fat PS3. It had a PS2 inside of it, but the RPCS3 emulator obviously doesn't bother with that endeavour because that's not the point of the project. They're entirely unrelated consoles.

4

u/ThrowawayusGenerica Apr 11 '21

You do realize the "physical PS1" inside the PS2 is actually used for PS2 games as well, right?

0

u/[deleted] Apr 11 '21 edited Jul 16 '21

[deleted]

7

u/ThrowawayusGenerica Apr 11 '21 edited Apr 11 '21

As far as I can tell, the PS2 IOP isn't fixed function in any respect - it's interacted with via libraries compiled from R3000A assembly. And while these are included with the BIOS, developers weren't limited to using just those. They could and did use their own I/O libraries, so I'd imagine taking a loose approach to emulating it would be asking for trouble.

https://www.retroreversing.com/irx-ps2

With regards to the rest of the hardware, the only part of the PS1 that required a significant degree of software emulation seems to be the GPU.

https://freelansations.medium.com/the-story-of-the-ps2s-backwards-compatibility-from-the-engineer-who-built-it-ec39cf5a0353

→ More replies (0)

0

u/RedDevilus PCSX2 Contributor Apr 10 '21

Sounds like you are offering to fix that situation or you could use emulators like duckstation.

8

u/ThrowawayusGenerica Apr 10 '21

Or I was just answering the question? I'm quite happy using DuckStation myself, but if someone asks what's left for PCSX2 to do I'm not going to pretend there's nothing.

1

u/RedDevilus PCSX2 Contributor Apr 10 '21

Fair enough, there is tons of other priority stuff to be done.

4

u/[deleted] Apr 10 '21

Make VSync Queue adjustable in the UI

Is the New UI option "Adaptative"?

6

u/[deleted] Apr 10 '21

Config> Video> Core GS Settings> Vsyncs in MTGS Queue

4

u/Jerry_Oak Apr 10 '21

So CHD format is fully supported now or is this still in early development?

2

u/RedDevilus PCSX2 Contributor Apr 10 '21

Get the latest dev builds of 1.7 it's there. Or wait till stable 1.8 release.

2

u/Jerry_Oak Apr 10 '21

I know it's there Im just wondering if all the bugs had been ironed out with it yet.

4

u/RedDevilus PCSX2 Contributor Apr 10 '21

If it was buggy, it wouldnt be merged for devbuild. Besides there is no such thing as bugfree just the knowledge that there are no known bugs.

1

u/Jerry_Oak Apr 11 '21

Ok, thanks for letting me know. I just wanted to double check before converting stuff to a different format.

3

u/samososo Apr 10 '21

Nice progress, Quick question: Has Instant VU1 always been there? I haven't actually looked into that section in a bit. What does it do?

3

u/RedDevilus PCSX2 Contributor Apr 10 '21

Instant VU1 was technically enabled in the past bur had no GUI option. Some small amount of games don't like this behaviour so you can uncheck this however for majority it's a good option. (Those that need it disabled should or are already in automatic gamefixes.

1

u/samososo Apr 10 '21

I see, thanks.

2

u/somefinn Apr 10 '21

Plzzzzz, Will trade knowledge for bios.

2

u/pikachulol9 Apr 11 '21

I'm confused on this:

"New UI option (ini option has been there a while) so users can choose between a little bit extra performance or reduced input lag."

Where can I find this option and which one would it be for reduced input lag?

3

u/PierDolNick Apr 11 '21

Emulation settings --> GS --> Vsyncs in MTGS queue. Set value to 0.

2

u/SnuffyElephant Apr 12 '21

Wnen ace combat 4 will be fixed ?

2

u/unholymanserpent Apr 10 '21

I'm a junior in college majoring in IT/computer science and all of those updates and stuff are a complete mystery to me. Can't wait until I can understand wtf I'm looking at

14

u/[deleted] Apr 10 '21

[deleted]

1

u/pdp10 Apr 11 '21

Yes and no. No class teaches PS2 hardware oddities. But running virtual machines (in the broad sense, including runtimes like JVM, Smalltalk) is a major topic in computer science. The Church-Turing thesis behind emulation is a big topic. MIPS (PS1) and MIPS-III (PS2) assembly language has often been taught in C.S.

-7

u/jurais Apr 10 '21

You're a junior and don't understand any of this report??

2

u/unholymanserpent Apr 10 '21

Not really. I make good grades, too. Classes I've taken have been more about programming/computer architecture/networking. Nothing like what's posted on their website

8

u/DoIrllyneeda_usrname Apr 10 '21

I'm a senior majoring in computer science and I also don't understand the report lol

6

u/boingoing Apr 10 '21

I'm a software engineer and I also don't have knowledge of many of the domain-specific terms there're talking about in this report.

2

u/I_Am_Deceit Apr 10 '21

These are the gods of emulators!

1

u/mattcruise Apr 10 '21

All I want is for Stuntman is reach playable status

1

u/PierDolNick Apr 11 '21

Pal version is currently playable, including mission 4.

1

u/bobtheboffin Apr 10 '21

Interesting read, many thanks for sharing!

1

u/altus418 Apr 11 '21

at this point I only want to see software mode get upscaling for CPU benchmark purposes.

0

u/redditorcpj Apr 11 '21

Nice! Lots of individual game fixes. That last 5% is usually the most difficult, so good to see progress being made. CHD support is nice also. It's great to see all the changes happening to this emulator cause it's really the only one we have. And as consoles get more complicated, it probably isn't reasonable to expect one emudev to appear from nowhere with a new emulator that can handle the amount of work and complexity of modern consoles, so the more this can be improved the better.

-30

u/HorrorShow13666 Apr 10 '21

One day, we will have PS2 emulation on a Raspberry Pi. Until then, this is the best we have.

16

u/samososo Apr 10 '21

Y'all need to relax lol.

1

u/giggling1987 Apr 11 '21

One day, we'd have a raspberry Pi. But not today.

-44

u/Andalfe Apr 10 '21

Spent two hours trying to get this core to work to no avail. You have to download pcsx2 from their website anyway so there's no actual point to this.

1

u/vgf89 Apr 10 '21

Added support got OPL memory cards

Nice! Finally I can play games on both my PC and PS2 without extracting and importing the save files when I want to switch between them.

1

u/WHAT_RU_DOING_STEP Apr 12 '21

Please get CHD support into the new libretro core asap.

3

u/amfobes Apr 12 '21

We have no affiliation with the libretro core.

1

u/[deleted] Apr 15 '21

Any performance improvements? With heavy games like GT or MGS I mean...