Why is PS3 emulation so fast: RPCS3 optimizations explained

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 1,4 тис.

  • @MrWhatcookie
    @MrWhatcookie  7 місяців тому +1730

    Do you feel like an assembly wizard after finishing the video?

    • @jack54guy
      @jack54guy 7 місяців тому +113

      Havent finished, tho I want to thank you and the other devs for allowing me to play Toy Story 3 in a superior way.

    • @stevensv4864
      @stevensv4864 7 місяців тому

      Hello staff, nice to greet you.
      I'm here to share a video that you may not even see but I'll try anyway, I'm a fan of God of War 3 and I never had a PS3, thanks to you I can play it at a speed and graphic levels higher than the PS3, bravo to you. However, I have noticed a problem that I tried to share in the discord group but for some reason no one could understand me, I think I was a bit insistent about making a video to show what I saw but in the end they ended kicked me from the group unfortunately. Here I share it with you, greetings and thanks to you guys.
      ua-cam.com/video/2_DBNvavIH0/v-deo.html

    • @dacueba-games
      @dacueba-games 7 місяців тому +258

      I feel like the dumbest man alive

    • @HellBaron-rb4vu
      @HellBaron-rb4vu 7 місяців тому +37

      you cant just tease us with an SPU doujinshi and not give us any names or sauce like that, can you?
      I REQUIRE that sauce IMMEDIATELY.

    • @ppolo12
      @ppolo12 7 місяців тому +19

      ​@@HellBaron-rb4vu
      SPEを256倍使い倒すための

  • @devzozo
    @devzozo 7 місяців тому +3911

    I swear, every video about assembly optimization has something along the lines of "this implementation was slow, so I used the fppnis14c0012gngbng12 instruction..."

    • @thepwrtank18
      @thepwrtank18 7 місяців тому +1

      2032: "this implementation was slow, so I used the "playgranturismo6" instruction and it worked perfectly

    • @tuple5982
      @tuple5982 7 місяців тому +49

      frfr

    • @Eric-zz5ij
      @Eric-zz5ij 7 місяців тому +350

      pnis and gngbng was on purpose right?

    • @-dubu
      @-dubu 7 місяців тому +176

      RISC bros in shambles

    • @atlusofstone
      @atlusofstone 7 місяців тому +287

      Floating Point Precision for Negative Integer Sequences version 14C-0012 Grouping Numbers Greater than Bitwise Negative Generating 12
      Is one of the instructions of all time!!
      It's used when you need to group 2 buffers (compatible with arrays/lists) of negative integers of size -12.3333... bytes or smaller.
      It's a rarely used opcode, but can be found in programs that convert 0D Video Renders of 4D Hyperspace Simulations to 3D Videos, make JavaScript actually palatable (Note: Public builds were blacklisted due to the lack of web developer tears), solving web error 418, and Red Star OS to Temple OS compatibility (Not to be mistaken for 21gnbgng2100c41sinppf which is is used for Temple OS to Red Star OS compatibility).

  • @JacksooN2000
    @JacksooN2000 7 місяців тому +1243

    Geeking out about CPU instructions is something I never thought I'd be doing, but here I am, listening to a dude explain the intricacies of CELL emulation and not skipping the video...

    • @wykydytron
      @wykydytron 7 місяців тому +7

      Same, I don't really care but it's still very interesting

    • @wyattbottorff2473
      @wyattbottorff2473 7 місяців тому +1

      Same. And I even downloaded it to finish later! (Now)

  • @andraszodon
    @andraszodon 7 місяців тому +2580

    the SPU doujinshi bit killed me

    • @nonetrix3066
      @nonetrix3066 7 місяців тому +104

      I will use this to learn Japanese

    • @lucascamelo3079
      @lucascamelo3079 7 місяців тому +119

      Japan is built different

    • @hsmreu
      @hsmreu 7 місяців тому +5

      Funny

    • @ManuelSLaraBisch
      @ManuelSLaraBisch 7 місяців тому +75

      I have a doujinshi that tells you how to build a SAN to house your collection of animu recordings, and thought that was exotic. Now i need to hunt down processor code doujinshi.

    • @1Bagoly1
      @1Bagoly1 7 місяців тому +19

      fr, i only knew about the database manga until now

  • @J.A.Z-TheMortal
    @J.A.Z-TheMortal 7 місяців тому +1659

    I am not a developer, so i don't fully understand, but as a emulation enthusiast, i want to thank all of you for your work. It is a shame that Sony opted not to provide Backwards compatibility with the PS5, so you are not only doing Sony's work, you guys are doing it much better than they would ever do!!

    • @xmaverickhunterkx
      @xmaverickhunterkx 7 місяців тому +117

      It would be cheaper for them too. No need to keep PS3 servers for cloud gaming.

    • @guy_autordie
      @guy_autordie 7 місяців тому +58

      If you make a server-client system, you have to handle it to the end of Time or give the code to the public.

    • @Katiethekitten
      @Katiethekitten 7 місяців тому

      Amen

    • @itsdokko2990
      @itsdokko2990 7 місяців тому +47

      as someone who has the coding skills of a chimpanzee under the effects of LSD, i concur with you. You coders are freaking godsends, if it weren't for you all, i wouldn't be able to re-live my adolescence days playing MGS Peace Walker and many other games

    • @Kabodanki
      @Kabodanki 7 місяців тому +5

      @@guy_autordienobody does that though

  • @stylie473joker5
    @stylie473joker5 7 місяців тому +2063

    I have no idea what you're saying but still enjoyed it thank you for the explanation

    • @Jay34k
      @Jay34k 7 місяців тому +24

      same

    • @delatomvione9943
      @delatomvione9943 7 місяців тому +23

      You have to learn Computer Architectures bro.

    • @The.love1
      @The.love1 7 місяців тому +47

      this is not good explaintion ,,it is like you speak a foreign space language , that no know understand ,,and since the majority of the viewers ,here can not understand this technical stuff ,,if you want everyone to benefit from your knowledge ,,,you should teach us and explain it in a beginner easy way,,

    • @Greeem
      @Greeem 7 місяців тому +53

      @@The.love1 get over it

    • @PowerUpT
      @PowerUpT 7 місяців тому +80

      "I like your funny words, magic man!"

  • @kombinezon
    @kombinezon 7 місяців тому +320

    - shows up
    - creates one of the most influential piece of code for PS3 emulation
    - explains everything in detail
    - leaves
    You Sir, are a gentleman and a scholar

    • @Dubulcle
      @Dubulcle 2 місяці тому +2

      "Influential" has become such an overused word

    • @fraydizs7302
      @fraydizs7302 2 місяці тому +12

      @@Dubulcle except its not in this case. This video has over half a million views and is directly referring to something that has lead to a major leap in the emulation performance and compatibility of a very popular console.

    • @Rodemu
      @Rodemu Місяць тому

      You could have made that comment in a less cringeworthy way man the hell is that hahahah you think this is reddit or 4 chan?

  • @Wunkolo
    @Wunkolo 7 місяців тому +2263

    AVX-512 bros we keep winning 📈📈📈📈📈📈📈📈📈📈📈📈

    • @GhettoPCbuilds
      @GhettoPCbuilds 7 місяців тому +49

      11700K GANG

    • @Wunkolo
      @Wunkolo 7 місяців тому +60

      @@GhettoPCbuilds 11th gen gang THIS IS OUR MOMENT 🗣🗣🗣🗣🗣🗣🗣🗣

    • @stevensv4864
      @stevensv4864 7 місяців тому +133

      my i7 12700kf is nerfed thanks to intel, thanks intel.

    • @eekpanggang
      @eekpanggang 7 місяців тому +18

      12700KF 8P gang💪

    • @LandyRShambles
      @LandyRShambles 7 місяців тому +5

      Wunk Sighting

  • @dp12345god
    @dp12345god 7 місяців тому +87

    Mr.Sujano Brought me here and even though I don't really understand it on a deep level I deeply enjoyed it thank you.

  • @riccardoman7620
    @riccardoman7620 7 місяців тому +34

    thank you so much for your contribution to the rpcs3 project

  • @dormanthero
    @dormanthero 7 місяців тому +438

    RPCS3 doing emulation gods work. Thanks to the team as always for allowing me to play my old Ps3 games and my favourite online game ever Metal Gear Online 2

    • @ForeverZer0
      @ForeverZer0 7 місяців тому +3

      I am still salty that we will never get another MG game.

    • @DawnApon
      @DawnApon 4 місяці тому +2

      ​@@ForeverZer0 Well you can look forward to MGS 3 Delta (the remake)

    • @fireballs7346
      @fireballs7346 4 місяці тому

      Its shite they cant even implement fsr 3 with frame gen lazy devs as always

    • @Dark_sparky
      @Dark_sparky 3 місяці тому +1

      Playing MGO2 on it is amazing, can confirm.

  • @guest7329
    @guest7329 7 місяців тому +35

    Great video
    YT has a lot of videos about 6502
    And in depth high performance emulation content very rare
    Looking forward for more stuff 😊

  • @indignasmr7379
    @indignasmr7379 7 місяців тому +242

    As someone who hasn't seen this channel, I expected this to be 23 minutes of nothing-talk, but I still clicked because I love the idea of PS3 emulation. I was not expecting such an in-depth, real essay on the instruction set optimizations. Awesome surprise, dude (: Thanks for the video

  • @DJDiarrhea
    @DJDiarrhea 7 місяців тому +22

    Compiler design is a dark art and nobody can convince me otherwise

  • @magiccandy0619
    @magiccandy0619 7 місяців тому +544

    So many abbreviations, I thought you were casting a spell on me.

    • @samlletas
      @samlletas 7 місяців тому +5

      😂

    • @Latvian3Dman
      @Latvian3Dman 7 місяців тому +2

      😁😄😆

    • @KitOkunari
      @KitOkunari 7 місяців тому +3

      Techno wizard.

    • @Elratauru
      @Elratauru 7 місяців тому +7

      "Any sufficiently advanced technology is indistinguishable from magic" - Clarke's third law

    • @georgepierre3594
      @georgepierre3594 6 місяців тому +2

      I think people who develop emulators would understand. Regular person hell naw

  • @TMracer73
    @TMracer73 7 місяців тому +19

    Thanks for the video. IN the past I followed rpcs3 progress and also supported it. It was always for read about the new improovements.

  • @fgregerfeaxcwfeffece
    @fgregerfeaxcwfeffece 7 місяців тому +118

    Epxlanation on "disabled for better yields":
    They basically only expect 7 out 8 to work. No matter if that's the case or not. If all work they just disable one arbitrarily to keep everything consistent.
    AMD did that too in Desktop CPU during the late 2000s so some times you could get literally free performance (Except for slightly higher thermals and power draw) by re-enabling one. (sometimes required custom bios. But one company actually implemented that in stock for a while. don't remember which one.) Or random crashes if it actually was broken. That's what the 3 cores where.

    • @Deliverygirl
      @Deliverygirl 7 місяців тому +46

      Disabling units is still very much done today, however now instead of disabling them in bios the transistors themselves are lasered off during the triage process when being manufactured. One of the reasons why the chiplet architecture used by AMD is so important is that it allowed to minimize losses from yields, it's a lot easier to manufacture smaller pieces with no defects and glue them together than to manufacture a massive monolithic piece of silicon with no defects.

    • @Jaker788
      @Jaker788 7 місяців тому +14

      ​​@@Deliverygirl Aside from large block cores. We also have GPUs that have more compute units or cuda cores but a percentage of them are disabled or were already bad, it's redundancy across much smaller parts of a chip compared to an SPU or CPU core
      The PS5 and Xbox both have redundant compute units for the GPU part of the SOC, but all of the CPU cores are expected to at least work within the designed operating frequency.

    • @chillhour6155
      @chillhour6155 6 місяців тому +5

      Biostar had core unlocker functionality in some of they're board's back in the day

    • @satibel
      @satibel 3 місяці тому

      sometimes one core will be slower but not completely out of commission too. (e.g. it will crash at over 2.5ghz instead of the rated 3.5)
      but yeah that's why we have binning, more often than not, I5 and I7 (or r5 and r7) are the same chip, just that the 5 series chips didn't pass all the tests, so they just have fuses blown off to isolate the misbehaving parts.
      it's kinda like if you buy a field, it's cheaper than another one of the same area, but there's sinkholes in it so they have been fenced off.

    • @Brahvim
      @Brahvim 3 місяці тому

      @@Deliverygirl So, binning?

  • @ChannelSho
    @ChannelSho 7 місяців тому +24

    I remember back in the day people were saying how "impossible" it'd be to emulate the PS3 and the first release of this emulator would only able to play basic 2D games at an okay frame rate. I think this was also around the time PS2 emulation was barely taking off too with commercial 3D titles.
    Well, here we are.

    • @nyrahl593
      @nyrahl593 2 місяці тому +1

      Same, I first saw this on emucr and the comments were mocking it and laughing at the developers for making an attempt.... PCSX2 was pretty well developed by then but not without glitches.

  • @ZekuTokairin
    @ZekuTokairin 7 місяців тому +14

    This video is amazing! Thanks for breaking down the details in how a lot of these specific instructions save cycles, it's something i was always curious about!

  • @Frickolas
    @Frickolas 7 місяців тому +188

    I knew the SPUs were hard to program for, but I had no idea that they were literally only capable of SIMD instructions. That's actually insane.

    • @platinumsun4632
      @platinumsun4632 7 місяців тому +9

      whosawhats

    • @jimb12312
      @jimb12312 7 місяців тому +30

      Not insane. They are SIMD accelerators, not the main CPU.

    • @saricubra2867
      @saricubra2867 7 місяців тому

      The CELL CPU predicted Big-Little ARM and Intel.

    • @jimb12312
      @jimb12312 7 місяців тому +14

      @@saricubra2867 Not the same concept. Big-Little refers to cores with different processing speed but the same functionality. The SPU's are coprocessors with totally different functionality to the CPU core.

    • @Anticorriente
      @Anticorriente 7 місяців тому

      ​@@saricubra2867Not Big.little but the APU's of AMD.

  • @actualFix
    @actualFix 7 місяців тому +85

    This is my first peek into how RPCS3 works, and I had no idea you guys utilise LLVM, but it makes sense.
    This was easy to follow (granted, I have some xp with x86 asm), and I'd love to see more!

  • @OldKingMaple
    @OldKingMaple 7 місяців тому +13

    Fascinating, great video. Your explanations strike a good balance between not being too computer 101 and not being too technical that only another dev could follow.

  • @masonskellon5290
    @masonskellon5290 7 місяців тому +21

    I clicked on your page to find other similar conttent only to find only one video from 9 years ago...wow. Good work on the video man!

  • @Kiyuja
    @Kiyuja 7 місяців тому +8

    I read through your blog about the importance of AVX-512 half a dozen times and I enjoyed it a lot. So seeing a video like this made me really happy, thank you!

  • @timseguine2
    @timseguine2 7 місяців тому +11

    As someone who studied math at Uni, I think the fact that there are dedicated processor instructions for Galois Field Arithmetic is awesome.

  • @aaron96244
    @aaron96244 7 місяців тому +15

    I've been optimizing assembly since the days of the Pentium I and N64 RSP emulation. Your explanation was right on with my knowledge base and I've been dreaming of using LLVM for optimization for years. I just have never found myself between jobs. Best wishes. Awesome video!

  • @the_mister_magister
    @the_mister_magister 7 місяців тому +859

    HOW DARE THEY take away boob jiggle from us!

    • @Stalker7u7
      @Stalker7u7 7 місяців тому +110

      is a true ps3 exclusive 🤪

    • @RedSkyTeam
      @RedSkyTeam 7 місяців тому +44

      @@Stalker7u7 not ANYMORE! :D

    • @CopeAndSeeth
      @CopeAndSeeth 7 місяців тому +43

      A true crime against humanity!

    • @igorthelight
      @igorthelight 7 місяців тому +28

      @@CopeAndSeeth You mean - against MANkind? ;-)

    • @Jeff-ss6qt
      @Jeff-ss6qt 7 місяців тому

      ​@@igorthelightNah. Some women like jiggly boobs too.

  • @sitedel
    @sitedel 7 місяців тому +8

    Ouch, this was a really tough video to follow !!
    Adress translation, single processing unit, single instruction multiple data, bitwise instructions, rvx-512 instructions, and so much more concepts only some nerds like me could understand ! I had to see it several times to mostly understand what you told as English is not my native language, I don't dare to enable subtitles because i thought they may not be accurate.
    Anyway.....
    Thanks a lot for this deep dive into PS3 emulation.

  • @user85937
    @user85937 7 місяців тому +336

    If you don't understand it, don't worry, I'm a developer and me neither.

    • @rosly_yt
      @rosly_yt 7 місяців тому +41

      I assume many of the developers back in the day who worked on the PS3 didn't either. A lot of making old software (emulated or otherwise) continue to work is to have things function even if the developer did it the "wrong" way. This runs the gamut from Factor 5's work on Star Wars: Rogue Squadron II, a game that used the Gamecube's RAM in such an unusual (but very efficient for the target system) way that it was one of the last games to run correctly on Dolphin, to downright incompetence like the recent Pokemon Scarlet/Violet releases that were full of major performance issues and visual bugs (which were emulated correctly in Ryujinx).
      Both Linux and Windows go out of their way to support software written in horrifying ways, because someone, somewhere relies on it.

    • @meinkek7896
      @meinkek7896 6 місяців тому +1

      @@rosly_yt just put everything until it works

    • @Smoshylife
      @Smoshylife 6 місяців тому +3

      Developers aren’t responsible for knowing computer architecture

    • @SDogo
      @SDogo 6 місяців тому +13

      I'm a dev and have a little grasp on assembly code... Everything said in this video flew over my head XD

    • @YUGAMISEKAI
      @YUGAMISEKAI 6 місяців тому +9

      @@Smoshylife And this is exactly why meaningful optimization for games is dead

  • @Thatguy-uc3dy
    @Thatguy-uc3dy 7 місяців тому +9

    youtube just recommend this to me, I do love to know about how things work behind curtain about movies, games, hardware and software and while I have 0 technical knowledge about the subjects I look into, and everything you just said sounds like a foreign language, the one thing that is clear to me is that we are lucky to have people like you, making an emulator is often a thankless job, you hardly get any money for it or any recognition, you might not hear thank you often, so thank you for all you hard work, you and you your fellow devs, I really appreciate your work.

  • @Xaymar
    @Xaymar 7 місяців тому +8

    Woah, that timer instruction probably will fix one of the big power drains in one of my time sensitive software. Thanks man.

    • @MrWhatcookie
      @MrWhatcookie  7 місяців тому +5

      I'm glad you found a use for them! I included them in the video because I felt like nearly no one was aware of these instructions. There were probably more interesting things to talk about from the PS3 perspective, but I wanted to highlight some favourite x86 instructions too.

  • @djrmarketing598
    @djrmarketing598 7 місяців тому +4

    It's crazy to think that I knew 6502 and x86 assembler back in the 90's and today there's so much new instructions that I never kept up with

  • @BretKuhns
    @BretKuhns 7 місяців тому +9

    YT kept recommending this video but I avoided it for the thirsty thumbnail. Finally checked it out thanks to a friend recommending it days later.

  • @MAJ0R_TOM
    @MAJ0R_TOM 7 місяців тому +57

    Been really enjoying Demon's Souls at 21:9 upscaled to 4k with online servers.

    • @zenmastakilla
      @zenmastakilla 7 місяців тому

      What's your frame rate?

    • @MAJ0R_TOM
      @MAJ0R_TOM 7 місяців тому +9

      @@zenmastakilla You can use a 60 fps patch. It works great with the only exception being the way the camera pans in cutscenes. It's like the camera still moves at 30 even though the animations still run at 60.

    • @zenmastakilla
      @zenmastakilla 7 місяців тому +1

      @@MAJ0R_TOM Is 120 fps possible?

    • @MAJ0R_TOM
      @MAJ0R_TOM 7 місяців тому +3

      @@zenmastakilla probably. The patch is just labeled "unlock fps". I just don't have a monitor for 120 myself.

    • @zenmastakilla
      @zenmastakilla 7 місяців тому +5

      @@MAJ0R_TOM Apparently 120 fps introduces physics bugs. Ah well.

  • @soulofalbedo
    @soulofalbedo 6 місяців тому +3

    understood basically nothing you said but boy do i find it relaxing to listen to smart people yap about stuff they are in to.

  • @garaktartv3647
    @garaktartv3647 7 місяців тому +5

    as soon as he pulled out a doujinshi about SPU programming i knew he was the real deal. you are doing god's work.

  • @astrea555
    @astrea555 7 місяців тому +16

    Great video even if I'm just an artist and not a programmer. Sometimes I wonder if buying a 7800X3D was a good choice for emulation and it's nice to see that at least rpcs3 is making use of avx 512 (wish it used the cache more tho)
    Defo curious to hear more from you. Nice Wipe gameplay, I've been playing it at 120fps myself, and I'm pretty amazed by RPCS3 right now, unlike somes like the S!witch emus, the frametimes are perfect with no stuttering issues at all. Disabling SPU related effects got me to play stuff like Motorstorm 3 at near 60fps, too.
    btw 2:05 no fucking way lol

    • @stevensv4864
      @stevensv4864 7 місяців тому +2

      if you ever buy it you should make a video with my settings in god of war 3, i want compare performance.

  • @goyban
    @goyban 7 місяців тому +4

    That was amazing! Thanks for the very good explanation.
    Keep up the good work and I really enjoyed this one and I think these videos can make more people interested in emulation.

  • @mohammedrashid1910
    @mohammedrashid1910 7 місяців тому +4

    i dont understand anything and dont even use RPCS3 but your efforts are amazing and the community appreciates it.

  • @playman350
    @playman350 7 місяців тому +20

    I did not expect Galois theory to show up in this video; I studied this shit ten years ago before going to grad school
    I'm even doing a PhD where SIMD and other CPU instructions are quite relevant for high performance computing and I didn't know about this connection at all
    Truly amazing video. Can't wait to see what you put out next

  • @buriedpet
    @buriedpet 7 місяців тому +5

    I really wish I was able to understand more assembly code. I understand the functions you talk about in isolation, like what they do on a hardware level, but I have a really hard time comprehending how they come together to make the game that we see. I would love to watch a video where you show which lines of code are doing what in terms of what the player can see. Like “Here’s a line of code. This is how the game looks/performs with it. Now here’s how the game looks/performs after applying an optimization and why.”
    That would really help laymen like myself get a better picture of what’s actually going on.
    Anyway, great vid, thank you for taking the time to make it. Idk if your work is partially responsible for getting Skate 3 to run at 60fps on my Steam Deck, but I’m just gonna assume it is and say you’re my hero.❤️

    • @Sammysapphira
      @Sammysapphira 7 місяців тому +5

      Usually these lines of code are performing a small instruction of the whole. Think of how you speak English, and how you don't need to think about the individual letters when you speak. If each word suddenly requires you to spell out every letter and describe its shape before moving onto the next letter, you can realize why that would massively slow down your ability to speak despite not affecting the accuracy or concept of what's being conveyed. If you're looking at stuff on the byte level, you can't boil it down to "a whole" and you have to take things as atomic as possible.

    • @wiegraf9009
      @wiegraf9009 7 місяців тому +2

      When developing an emulator they don't really need to know how the game engine puts the game together step by step, they just need to make sure the system architecture runs efficiently and (fairly) accurately, and if there are specific things that don't work then they have to find the pain points and fix them. Reverse engineering each game is too much work!

  • @Ninjaeule97
    @Ninjaeule97 6 місяців тому +1

    I didn't know what I was getting myself into when I clicked on this video which I only did cause I like emulators in general and find RPCS3 in particular pretty impressive. Was pleasantly surprised by an in-depth explanation of assembly optimizations that could be followed as long as you know what floating points and some common instructions like and, etc. are. Kudos to you.

  • @larrythehedgehog
    @larrythehedgehog 2 місяці тому +3

    The minute MGRR gameplay was on screen my brain turned off out of habit because i love watching/playing that game so much.

  • @aburshrsh1
    @aburshrsh1 20 днів тому +1

    This video came up in the feed for some reason and although I didn't understand anything I enjoyed listening to the wealth of information this man has, you are truly amazing and we are lucky to have such brilliant people among us who put their knowledge to good use.

  • @ArthurLopes39
    @ArthurLopes39 7 місяців тому +94

    The thumbnail peaked my interest and the video didn't disappoint

  • @b0ntr4g3r3
    @b0ntr4g3r3 7 місяців тому +2

    Clicked thinking I'd watch for a few minutes while on the bus. Got home and fired up the rest of this vid on PC. Great style and intution on the subject at hand. Thanks :)

  • @Eugensson
    @Eugensson 7 місяців тому +3

    That GF(2^8) operation abuse is magic! Really reminds me the old days of demoscene when people were emulating SIMD with packing 8 bit numbers into EAX and bitshifting/masking stuff.

  • @demobin
    @demobin 7 місяців тому +2

    This is the most badass-looking programming-related video that I have seen for a long time.
    Keep going if you have something else to say.

  • @nisbahmumtaz909
    @nisbahmumtaz909 7 місяців тому +11

    those dota chat logs at the end got me HARD
    it didn't go unnoticed, you absolute Immortal legend

  • @RedBerylFTW
    @RedBerylFTW 7 місяців тому +1

    I love the no nonsense approach to this explanation. You covered everything. LLVM's god tier ingenuity, the beautiful simplicity of the GFNI monstrosity, and a really straightforward talk on memory reservation. I use RPCS3 a lot and appreciate your hard work and brilliant insight.

  • @AURORAFIELDS
    @AURORAFIELDS 7 місяців тому +54

    This is really cool, seeing what kind of crazy unhinged obscure things modern x64 CPU's can do and how they can be used to optimize emulation. Truly fascinating and sadly kind of a dying skillset in a lot of even performance-critical applications.

    • @Iaotle
      @Iaotle 7 місяців тому +10

      I dunno about dying, it's just niche.

    • @sepg5084
      @sepg5084 7 місяців тому +4

      If ya'll think it is dying, then learn it and make bank 😉

    • @KibitoAkuya
      @KibitoAkuya 7 місяців тому +21

      ​@@Iaotleit is kind of, that's why games have barely improved in graphics the last 10 years, because hardware is so good these days, devs just don't put much work into optimizations anymore and just brute force stuff

    • @mr.shplorb662
      @mr.shplorb662 7 місяців тому +2

      ​@@KibitoAkuyaI think your just blind

    • @KibitoAkuya
      @KibitoAkuya 7 місяців тому +14

      @@mr.shplorb662 pick a 2004, 2014 and 2024 game and then tell me the improvement is as drastic between the 2014-2024 game as it is between the 2004-2014 one
      It isn't

  • @glowinggrenade
    @glowinggrenade 7 місяців тому +1

    the fact that if I studied just this video I could understand what is being explained is an impressive feat, good job!

  • @MrCoolTheCucumber
    @MrCoolTheCucumber 7 місяців тому +11

    One of my work colleagues has been going on about adding AVX-512 support to his toy language so I'll definitely share this with him 😂. As an idea for another video, do you think you could do an code architecture overview/walkthrough of the emulator? Would be pretty cool to see what goes into emulating a more "modern" system compared to say the gameboy.
    EDIT: Nvm just realized one of the links in the desciption is a talk on the internals

  • @leemar1978
    @leemar1978 7 місяців тому +2

    This is your first upload in nine years and it’s absolutely brilliant. I hope you upload more content as this was excellent.

  • @SimplyAustins
    @SimplyAustins 7 місяців тому +19

    Now this is Gold! Interesting look at some of the amazing work done optimizing code. The instructions explanation blows my mind as you talk in tongues. But makes me smile with the knowledge I have AVX512.
    You are a natural at the UA-cam stuff, definitely keep it up. If ever you need anything give me a shout, but looks like you got this in the bag if you continue.
    Great work on emulation and UA-cam!

    • @ThexXxXxOLOxXxXx
      @ThexXxXxOLOxXxXx 3 місяці тому

      Y u don't upload no more your videos used to always cheer me up

  • @IB-Frost
    @IB-Frost 7 місяців тому +1

    Nothing more enjoyable than someone talking about the most opaque of subjects and trying to explain them concurrently with explaining their implementation. That sounds sarcastic, but I honestly love it :D

  • @Xeit
    @Xeit 7 місяців тому +4

    I literally had 20 minutes of "I like your funny words magic man". Hoooly fuck, huge respect.

  • @szpsubzero11
    @szpsubzero11 Місяць тому

    I understood that there is multiple translations taking place other than that, I was lost. So awesome that you can work the code for RPCS3!

  • @diegobellani
    @diegobellani 7 місяців тому +3

    OMG, this video is amazing! Do more video like this, I need more content like it!

  • @IGNACIOSOLAR1
    @IGNACIOSOLAR1 7 місяців тому +2

    Doing my MIPS course rn in uni, holy shit this looks amazing, thanks for the vid!!

  • @pleaserespond3984
    @pleaserespond3984 7 місяців тому +3

    Thanks to your hard work I was finally able to enjoy Demons' Souls and Armored Core 4A.

    • @kunka592
      @kunka592 3 місяці тому

      Excellent choices.

  • @PatchFact
    @PatchFact 2 місяці тому

    I barely managed to follow, but I am utterly amazed at the level of love and dedication put into this project. Thank you so much for all your work!

  • @catercu1
    @catercu1 7 місяців тому +3

    awesome thumbnail choice!

  • @andyp123456
    @andyp123456 7 місяців тому +2

    Thanks for all your hard work on RPCS3. I didn't fully grok what you were talking about, but without your awesome work, I wouldn't be able to play the games I worked on in the past on my Steam Deck! Emulators are amazing, and I'm blown away by the fact PS3 games can run at all on Steam Deck. Steam Deck uses Zen 2 CPU afaik, so I'm looking forward to seeing what improvements to emulation the next Deck will bring with CPU architecture upgrades.

  • @Gusr404
    @Gusr404 7 місяців тому +1

    My head hurt really hard watching this video, but thank you man, I'm grateful for people with big brains like you that makes possible to keep playing my childhood favorite games without being dependente on the aging and ever more scarce original hardware.

  • @ostin83
    @ostin83 7 місяців тому +3

    You´re a genius, keep up that excelent work!! I´ll wait until I can play GOW smoothly with my i5 3330 :-P

  • @TrueSaintly
    @TrueSaintly 7 місяців тому +1

    Good heavens, this bloke gets right into it, no forced comedy or anything, just the facts. Bravo!

  • @Qerewe
    @Qerewe 3 місяці тому +3

    I like your funny words, magic man

  • @Jcorella
    @Jcorella 3 місяці тому

    Okay, I was too stupid for most of this but you're very articulate and very easy to listen to. Keep at it.

  • @papap9379
    @papap9379 6 місяців тому +8

    5:22 yeah, wth

  • @FaizalKuntz
    @FaizalKuntz 7 місяців тому +1

    There's so many stuff inside PS3 and I'm amazed how game dev utilize it and also I'm amazed PS3 can be emulated with so many things need to convert to make it work with any current PC hardware. I always thought that emulation development is only need to recreate the PS3 CPU using line of code, but now I understand that it's way more complex than that.

  • @Fine_Mouche
    @Fine_Mouche 3 місяці тому +5

    5:02 : best excuse ever to zoom on your waifu.

  • @xevalro
    @xevalro 7 місяців тому +1

    This is such an introspective look into the development of rpcs3 emulation, its super interesting. I want to see more

  • @mr.electronx9036
    @mr.electronx9036 7 місяців тому +12

    It is still a mystery to me why sony is not allowing ps3 emulation on ps5 hardware.

    • @southsidetherealest2860
      @southsidetherealest2860 7 місяців тому +4

      they want to resale remasters remastered

    • @cyropox8235
      @cyropox8235 7 місяців тому

      Sony isn't able to emulate PS3 hardware because of the very specialized spus that were used so heavily as part of the console architecture. For their PlayStation now PS3 titles, they're not emulated. they literally have warehouses of old PS3s set up to run the games.
      Maybe once the open source community solves ps3 Emulation, Sony might copy their work to create an "official" PS3 emulator.

    • @southsidetherealest2860
      @southsidetherealest2860 7 місяців тому

      @@cyropox8235 yet my notebook can emultae ps3 with a worse gpu tha. ps5 stop taking up for ps you ponys are the worse gamers period stay in defense mode lying for playstation

    • @vlc-cosplayer
      @vlc-cosplayer 7 місяців тому +1

      @@cyropox8235 RPCS3 is GPL'd, so as long as Sony is willing to release all the code that's required to make it work on the PS5... 😆

    • @saricubra2867
      @saricubra2867 7 місяців тому

      The PS5 uses Zen 2.

  • @rambot670
    @rambot670 2 місяці тому +1

    I have no idea why I watched this video even though I did not understand a single word you were saying. Still liked and subbed to support. Have a great time and success ahead !

  • @3XPLOSlV3
    @3XPLOSlV3 7 місяців тому +3

    you guys are crazy, good job

  • @nosidenoside2458
    @nosidenoside2458 3 місяці тому +2

    You knew what you were doing with the thumbnail. It worked

  • @GhettoPCbuilds
    @GhettoPCbuilds 7 місяців тому +11

    BRING BACK JIGGLE PHYSICS PLOX

  • @chrono0097
    @chrono0097 7 місяців тому +2

    I literally tested RPCS3 for the first time to experience the original Nier Gestalt after finishing the Replicant remake, and wondered why it ran so good, i imagined some recompilation goodness, but god this video is a CPU geek paradise, thank you!

  • @Rowlesisgay
    @Rowlesisgay 6 місяців тому +4

    "she's a unique girl who emitted electromagnetic interference (within legally allowed limits) every day and can't run Linux due to government regulations" WHTRfgbn that's cracking me up i need this fckin SPU programming doujinshi-

  • @_BlaXEr
    @_BlaXEr 6 місяців тому +1

    Tbf bro im more of an arts/language dedicated man, all my life been techy to a certain degree so always loved videogames. Shit at math too. And honestly, knowing I’m barely capable of understanding the surface level of a technical vid like this, I end up encountering this content to be fascinating. Just having someone really make an explanation of reverse engineering shit like this is valuable to me.
    Big up and love!

  • @ElementalTJ
    @ElementalTJ 7 місяців тому +7

    The same crackhead floating point format as the PS2 uses lmfao

    • @lpfan4491
      @lpfan4491 7 місяців тому +2

      I still love that Dolphin emulator of all things had to implement it because the curse upon this realm that is True Crime: New York straight up ported the PS2 format over to GC because "why not?" And it's entirely worthless too because it is a bad port of an already unfinished game, just pure meme material.

  • @ChipterLP
    @ChipterLP 7 місяців тому +1

    As someone working to become a computer engineer, this kind of content is a godsent. Thank you :)

  • @l3xforever
    @l3xforever 7 місяців тому +3

    SPEを256倍使い倒すための本 😳

  • @ExySmexy
    @ExySmexy 6 місяців тому +1

    This is making me wanna get into assembly because If I'm familiar with that I essentially have background knowledge on every device.

  • @edwardelric1447
    @edwardelric1447 3 місяці тому

    I like how he explains things, he just gets to
    The point.
    Does not drag things around. 👍🏻

  • @magnomliman8114
    @magnomliman8114 7 місяців тому +4

    12100f not supporting AVX-512 F******** MAN WAY THEY DID THIS TO ME.

  • @Vespyr_
    @Vespyr_ 6 місяців тому +1

    RPCS3 these past few years has really blown my mind. Its efficiency is insane. With full network play. It's just so great.

  • @Prinz_Kasper
    @Prinz_Kasper 7 місяців тому +4

    Man low level programming is just crazy to me, I'll stick to my weird and wacky Javascript frameworks 😅

    • @jc_dogen
      @jc_dogen 7 місяців тому +11

      you're sabotaging yourself thinking this way. this is far from typical. low level programming is not inherently super hard or anything. even normal assembly code is honestly pretty easy to learn, but almost nobody even goes that low these days.

    • @Deliverygirl
      @Deliverygirl 7 місяців тому +1

      +1 to what jc said, emulation and instruction set micro-optimization is edge case stuff, you can get into low level programming without having to delve into the magic like shown in this video, probably what will throw you off the most is how ugly the syntax tends to be for low level stuff, if you work with high level languages like javascript you'll probably be used to the high abstraction with very descriptive naming schemes for methods and data structures, whereas in low level programming everything looks like magic from everything being an abbreviation of an abbreviation.

  • @luigiymario2xd
    @luigiymario2xd 7 місяців тому +2

    Nice! I just realized my AMD top of the line cpu does have AVX-512 so I can take advantage of this for PS3 emulation 😎

  • @LandonEmma
    @LandonEmma 7 місяців тому +22

    I don’t get it 😂

  • @NockDog.
    @NockDog. 7 місяців тому +1

    Blud cooked with this video💀, 9 years with no new content and just releases a video that gets boosted by youtube algorithm, Pretty good video, here goes my like 🔥

  • @mertgoksel35
    @mertgoksel35 7 місяців тому +5

    Hahahhaah explained as in if u can understand xD

    • @stylie473joker5
      @stylie473joker5 7 місяців тому +1

      Same XD

    • @3XPLOSlV3
      @3XPLOSlV3 7 місяців тому +3

      it's probably more for people who wants to understand it

  • @spacejambluray2591
    @spacejambluray2591 3 місяці тому

    This video is tight. As someone who just started learning the very basics of python I’ve wanted to see how the simple things I’ve learned actually translate to programming in video games. While I don’t quite precisely understand what’s going on it certainly is insightful to see a more in depth and direct explanation of how not only specific aspects of ps3 code functions but the improvements you can make with emulation. Very cool thank you

  • @BirdNoise77
    @BirdNoise77 3 місяці тому

    I am not an engineer, but I love playing old games. Thanks for your great explanation, and all your work! It does not go unappreciated :)

  • @ambiently_occluded7154
    @ambiently_occluded7154 6 місяців тому +1

    I had no idea what you said but I definitely enjoyed it! Great job

  • @euphoricbread
    @euphoricbread 3 місяці тому

    I have a very limited understanding on any of this, but I have to say I do like the way you break it down into a digestible format. I look forward to more uploads :)

  • @googleyoutubechannel8554
    @googleyoutubechannel8554 2 місяці тому

    I'm always impressed by bit banging wizardry, you have to be wicked smart and incredibly easily amused all at the same time

  • @mika2666
    @mika2666 7 місяців тому +1

    Man these videos are super interesting, I'm doing my thesis on performance enhancement on x86 for some internal software and these videos make me learn something new each time!

  • @pawel785
    @pawel785 7 місяців тому +1

    Sick video although I understand very little lol, but super enjoyable watch and I'm gonna take a deeper dive now into tech side of emulation! Please post more