moved from us instance

  • 0 Posts
  • 16 Comments
Joined 1 month ago
cake
Cake day: June 3rd, 2026

help-circle
  • Well, someone did exactly that with Sonic Unleashed (XBox 360) IIRC. And a few select N64 titles.

    The produced code is complete garbage, it’s basically the machine code disassembled, but instead of assembly it’s some technically valid C that can be forcefully shoved back up a compiler. Due to register sizes and calling conventions being different across architectures, there was zero chance of making the giant blob cooperate with native builds of the libraries it used, so some poor people had to pick out everything machine specific in the giant pile of shit that came out of the disassembler and fake it. That took forever.


  • The PS3 runs on an ancient fork of the FreeBSD kernel. We don’t even know which version. No compatibility even on syscall level.

    Now, I remember that some random person added Nintendo Switch syscalls to Linux aarch64 then took GPU emulation from Yuzu. They stopped when it ran some Tetris. Now, that was relatively easy given the Switch doesn’t have too much of special hardware. Also, the CPU there only has the base instruction set + md5 extension, basically every aarch64 chip has that.

    Now, the PS3 is full of random DSPs (basically coprocessors that are shit at everything except some specific tasks). And even if you get a PowerPC machine powerful enough (like some decommissioned server), it still probably won’t match all of the instructions. Catching SIGILL to emulate them… meh, you are basically writing an emulator. Which I bet would be slower than just emulating the whole thing at once.






    • Write down GUID for sda6
    • copy sda5 contents somewhere
    • dd sda6 to sda2
    • delete sda6
    • change the GUID for sda2 to the one written down
    • fsck sda6 to fix size
    • make sda1’s type EFI
    • copy sda5 contents to sda1
    • delete sda5
    • you can now resize whatever is left (if your partition tool doesn’t have resize, just delete and recreate with the same starting sector, again you have to keep GUID for root and fsck it to fix size)