I believe what they do is OS and translation layer (emulator) and the emulator has its RAM like 36MBs for PS2 so like 3 times that maybe as things are shuffled around, a frame buffer and. Load the data from the ROM file into that systems RAM. I think I read that even 2GBs is enough if your just using a Pi for emulation.
Like a super mini system, I use Batocera as an OS and it's pretty easy to set up, has a ton of UI skins you can make it look almost anyway you want. Still would kill for a WiiFlow like skin (some are close)