Modern games are significantly more complex than older ones, and the consoles they run on are becoming more and more locked down to the point that some even run the games in a virtual machine (Xbox games run inside HyperV) so this kind of tinkering is becoming less and less common over time.
The original Xbox was a pentium 3 with 64mb of ram, running a modded Windows 2000, and a slightly custom Nvidia chip. It was literally just a P3 in a custom case, which was why it was huge. Also why the modding scene was huge, and still not paralleled. The 360 was PowerPC, but the One's have been AMD 64 w/ AMD GPUs. So, it's probably more that the Xbox OG was easy to hack, as the PS4/PS5/Xbox Ones l+ are all AMD/AMD pcs.
The XBox Series consoles don't have a UEFI or a BIOS, they have unified system/video RAM using GDDR6, they don't provide ACPI tables, and don't emulate legacy PC bits like the 8259 PIC or the 8254 PIT.
Most of that is irrelevant for modern home computers, except the UEFI. If you consider a Raspberry Pi to be a PC, then the XBox Series should probably qualify as well.
The One and Series S OS is essentially some form of Hyper-V, with a VM for apps and one for games. The one for apps is a stripped down version of Windows that only runs UWP apps. I'm not sure if the game partition is the same.
it's weird because while they support dynamic libraries the video-games filesystems are more and more immutable. thus the question is now how can I deploy my library to the game.
With C achieved, aren't even higher level languages within reach? I would imagine interpreting scripting languages (middleman Wasm runtime?) isn't an enormous undertaking and would make such modding more approachable.
Yep. It was literally a PS1 inside the PS2. It was used for PS1 back-compatibility in the early models.
It had its own memory space, and exclusive access to all of the non-GPU I/O. CDROM, audio, controllers, USB, memory cards.
You could program it directly if you wanted to get serious. But, for basic operation, there were convenient EE libraries that forward most APIs over DMA to the IOO.
Yeah. I spent quite a bit of time working on optimizing IOP code. On one game, one of our developers had written an audio middleware library for the IOP which used up almost all the RAM. Then we were tasked with adding network play a couple months ahead of our ship date (a well planned project obviously) which meant adding in a Sony IOP library that chewed up more RAM than we had left over. Fun times.
The emulated one is called DECKARD and is such an interesting topic. These consoles are even sought after in some speedrunning because they run with less stutter.