House of Games #30 — Backwards Compatible to the Future

Otto Wretling
38 min readJul 12, 2023

🎮💾🕹️ What does it take to make a console backward compatible? 🤔💡 How does a CPU 🖥️💻 work? 🎛️🔬 Why is the Xbox so big? 🎮🏢 Find out all of this and more 🌟🚀 as our very own computer architecture expert 🧑‍💻👑 Oswald de Bruin explains it all! 🎙️🔥💫

Your Hosts and Guest, and Their Games

Games

Hardware

Articles

Transcription

Rune: [00:00:00] Halli, hello everyone, and welcome to the most cryptic game dev podcast in the world, House of Games. Today I’m joined by two very unique NFTs, a.k.a. Nasty Fucked up Trash people?

My host Otto and a returning NFT, who knows a thing or two about you and your CPU, Mr. Otto. Now let’s mine down that door and see what this week has to offer in the House of Games.

Otto: Welcome everyone to this episode of House of Games, and to correct my co-host, our guest is actually not me twice, it’s Oswald from episode 25 about Catpunk. So listen to that if you want an full introduction.

This week, we are going to talk [00:01:00] about backwards compatibility and sort of the history of backwards compatibility, spoken through the different console generations, so Oswald, you are our expert panel for this episode. So do you wanna take it away and just start off on the topic of backwards compatibility?

Oswald de Bruin: Yes, thank you. To do this right. I have written some stuff down, I even got a complete Excel sheet of all the generations with their CPU architecture. So please forgive me if I sound a little bit robotic.

To understand compatibility, let me explain the very basics of architecture of the Central Processing Unit, or the CPU of a computer or console. At its core, and this is really pun intended, CPU architecture is about what the instructions of ones and zeros, or bits, mean for the CPU.

You might know, every bit in an instruction corresponds to a pin on the CPU receiving or emitting a high or low signal. [00:02:00] If the CPU has different architecture, an instruction might look the same in bits, but means something totally different, I really wanted to get that right so I wrote it down.

Otto, you’re a programmer, Rune you also program. You both know a little bit how a CPU works, right?

Rune: When you said pins, is that like, when I built my computer, I put a CPU in. Is that the pins you’re talking about? Those things that goes…

Oswald de Bruin: Depends of the socket, yes.

Rune: Aah…

Otto: I thought you were gonna guess for bowling pins or something.

Oswald de Bruin: Bowling pins would be fun, but they’re a bit big for a CPU socket. Can you imagine? Because a CPU has at least 64 pins if it’s a 64-bit CPU, they have more, sometimes maybe 128.

Rune: Interesting. I got ’em sort of confused with the pins and the silicone thingies is that are like in millions and billions of those, you know, the ones and zer-

Otto: Oh, the transistors?

Rune: Ah, so I, I thought they were the same thing cuz now when you said the [00:03:00] pins and then I thought about when I built my computer, like, but those aren’t that many. Surely that’s not pins, but, so that’s pins and then, but you said 64. It could be, yeah…

Oswald de Bruin: They are in a square, they don’t look that many, but if you’ve got only 64 pins on your CPU, you’ve got 8x8, and I think a normal CPU has like, I don’t know, 16x16, so that’s at least 256 pins.

So those bits of the instruction correspond to a pin on the CPU. Not exactly, this is oversimplified, but those instructions in the CPU, they are all written in 64 bits of a number, so to speak. So that’s 1, 0, 1, 0, et cetera, that’s one instruction. And as I said, if the CPU has different architecture, an instruction might look the same, but do something totally different.

So say on one CPU 1, 0, 1, 0 might mean, okay “Add these two numbers”, [00:04:00] and on another CPU it might mean, okay “Eject the cd now, please”. This is not really possible, but if you would run one program from the first CPU on the second CPU, and it does a lot of addition, then suddenly your CD tray might pop out and pop back in for no reason at all.

Rune: Why doesn’t it mean the same thing on two different computers? Is that the software that makes them do different things?

Oswald de Bruin: Yes and no, the thing is, a different CPU has different meaning for ones and zeros, you can optimize CPU by say have it less instructions. If there’s less instructions, it needs less transistors, so it will draw less power. If you then, want the CPU to do more, to be more expandable, you’ll give it more transistors, which means these transistors, they will be again, controlled by pins, and these pins are then controlled by those bits you put in as an instruction. It might sound complicated, but if you’ve ever made an [00:05:00] electronic circuit, that it’s kind of how it looks.

Otto: I imagine it a little bit like different languages. So say that if you say something in Swedish, it means something, and if you say it in China, it means something completely different because they have different tones and stuff. So when you say “Hej”, that means “Hello” in Swedish and maybe it means “Your mother is a murderer”, or something in Chinese, I don’t know….

Oswald de Bruin: That’s a perfect analogy!

Rune: Yeah, “Kant” in Swedish means “Edge”, but in, in English, it’s a really bad word.

Oswald de Bruin: We’re not swearing, we’re just talking edge cases.

Rune: I have so many of those examples, like “ちんちん”, “Cheers”, you know, and that means penis in Japanese.

Oswald de Bruin: Yeah, that’s the thing that happens. Yeah, that’s exactly why one CPU might not run a program that works on another CPU, but then it gets complicated because there’s lineages between CPUs. [00:06:00] One CPU can be based on a certain CPU. For example, the PowerPC CPU is based on a RISC CPU, but if another CPU is also based on RISC, then some commands that are made on the PowerPC or, we’ll talk about which CPUs these are, because this is very cool! If they are both based on the same architecture, but have additions that mean something different, then you’ll have the same problem.

If you want to understand the backwards compatibility problems and the amazing story around this, you need to be familiar with a couple of architectures.

First off is RISC, which is the most basic kind of CPU you can have. RISC — R-I-S-C stands for Reduced Instruction Set Computer. In its core, it’s basically a full processor, but they took some instructions out. So you have a very limited set of instructions so you can make simple computing… things.

A RISC [00:07:00] processor will be present in things like DVD players or microwaves or those LCD games you had in the nineties.

x86, on the other hand is your standard PC processor, like the IBM compatible. We’re doing this podcast online and I know we’re all on PCs here, so I’m pretty sure what you’re working on right now has an x86 processor.

Next one I want to talk about is the ARM — A-R-M, this is the processor in your smartphone, which is a bit slower, not very expendable as the x86, but is very power efficient.

Rune: Hmm, I had a question about those. What stops us from having these very quiet and energy efficient ones, just make them bigger and pop them in a PlayStation 6, why wouldn’t we do that?

Oswald de Bruin: Because they don’t have a lot of instructions, the x86 has more instructions, so they can do more things in less time.

For example, this is not how it really works in [00:08:00] CPUs, but if you multiply 3x3, you get nine, right? You can do this multiplication at once, or you could add 3, add 3 again, and you get to nine, but that’s, an extra step. So ARM does have an multiplication function because it would be stupid if they didn’t have one.

Otto: The number of instructions, is that limited by hardware or by software? Why don’t we just do the hardware that you have for phones that are quiet and energy efficient, and pop them in a future PlayStation 6? You said that it had more instructions, the ones that you usually use for console. So what does “More instructions” mean? Does it have different hardware or different software or some kind of combination?

Oswald de Bruin: If I would say firmware for a CPU…

Otto: So is that software?

Oswald de Bruin: Yeah, that would be software but the thing is, because what we call software is baked into the CPU, so every [00:09:00] CPU has their own program, so to speak, and this program, this corresponds with the architecture. It’s a program made in transistors.

Otto: Right. So it’s hardware then?

Oswald de Bruin: Yeah, but how it reacts, it’s software.

Otto: Yeah, okay, I guess.

Oswald de Bruin: So that’s a really good question. Is this hardware or software? Both and neither.

Otto: It is limited by hardware because you can’t just ship a different software with it, and then it has a different architecture.

Oswald de Bruin: There is no way to update the software in a CPU.

Otto: No, exactly, so hardware then?

Oswald de Bruin: Yeah.

Rune: And that also determined the size of it, thus we don’t have them in consoles because consoles need more information thingies you mentioned. So that makes them bigger.

Oswald de Bruin: The ARM is present in most portable consoles. So it is available in consoles and it can do a lot, just as a big processor or a PC. You might have noticed, your phone doesn’t have 220V power [00:10:00] supply.

Otto: So what is a 220V power supply?

Oswald de Bruin: You know the power supply in your PC?

Rune: No…

Oswald de Bruin: Yeah, Rune I know you’re in Japan, so that’s 100 volts, but…

Otto: So the “three pins” thing, I suppose?

Oswald de Bruin: Yeah, the three pins, yeah.

Otto: I usually recognize it as the same one for the computer and my coffee pot.

Oswald de Bruin: Yeah, your computer draws power like a coffee pot and your phone draws like at max 5 Watts.

Otto: But actually nowadays, my computer that I’m using right now is using a USB-C.

Oswald de Bruin: Yeah, but USB-C is…

Otto: The future is now old man!

Oswald de Bruin: Yeah, we can skip to the end, and say, Apple is trying to use ARM processors for their current PCs. But that’s a whole different ballgame…

It’s all very fascinating and I think it does deserve to be talked about, I don’t know for brevity where I should stop. This is such a big rabbit hole, and we’re just skimming the surface here.

To finish the story of [00:11:00] different architectures, I want to introduce one last architecture, because this is the most confusing one. Up until now we had RISC, a very simple processor, x86, our PC processor, and ARM being our mobile processor.

Last one I want to introduce is the PowerPC, which is not for PCs. It was the processor in the Mac computers up until 2005, and you might think “Okay, what’s this weird processor? Why are you talking about this?”, it will be our main character in our backwards compatibility story.

Rune: Oooh!

Otto: What a cliffhanger.

Oswald de Bruin: The x86 is the PC processor, It was mostly made by AMD and Intel. The PowerPC is not for PCs. The PowerPC is a Mac processor, and it’s made by IBM.

So this is a small example of how confusing CPU architecture can be, we have only got four processors here. [00:12:00] There are many more, and that’s why I will not be talking about Sega in this podcast, even though I really want to, because Sega had used a real big slew of all different kinds of CPUs in their consoles, and we’re not gonna talk about it because then we will be here next morning.

Otto: In practical terms then, so what does that mean for backwards compatibility?

Oswald de Bruin: I’m glad you asked, Otto, I’d like to start with the sixth generation of consoles, which is the PlayStation 2, the Xbox and the GameCube. As you might know, the PlayStation 2 was very compatible with PlayStation 1 games, and that was a very good call because it is one of the most sold consoles of all time, I think it’s in the top three, at least.

Rune: Mmm, it is.

Oswald de Bruin: They could do this by having the exact same processor in the PlayStation 2, as in the PlayStation 1, the MIPS R5900, which is a RISC architecture, which means they made a [00:13:00] specific set for the PlayStation, which was then slightly expanded, but I think not even for the PlayStation 2.

Otto: “Expanded” in this context, are we talking about hardware or software?

Oswald de Bruin: Again, hard- and software is the program on the CPU.

Otto: Yeah, all right, so they expanded the number of transistors, I guess?

Oswald de Bruin: I don’t think they really added much to it because they are both called the MIPS R5900, which is a RISC architecture with an Emotion Engine expansion, and the real big difference between both CPUs is their clock speed, because the PlayStation 1 had about 34 MHz, and the PlayStation 2 had almost, but not quite 300 MHz, which is almost 10 times faster.

Otto: Yeah, so then they would have to change the hardware to get to that…?

Oswald de Bruin: What you do to make a CPU faster is change the clock. There’s this clock that gives pulses to the [00:14:00] CPU and on every pulse, an instruction is done. Not quite, but kind of how it works.

Rune: But when you say “Change the clock”, it’s not like I go to my living room and change the time on my clock. What is a “Clock”?

Oswald de Bruin: It’s not that kind of clock, it’s more like a pulse crystal, so to speak.

Otto: I’m thinking like frame rate, you increase the frame rate and then stuff happens faster.

Oswald de Bruin: Yes, exactly. It’s like the frame rate. So they changed the frame rate of the CPU to something 10 times faster.

Otto: Yeah. So say that it takes like 200 frames to load this game and then it takes 20 frames instead to load it. Something like that, I’m imagining.

Oswald de Bruin: Yeah, that’s kind of how it works, yes, and that’s how they got more polygons, more colors and all that kind of stuff into the PlayStation 2.

Otto: But is that a software setting or a hardware setting? Is that the same as overclocking, like you could do now, you go into your graphic card settings and then just up it and then [00:15:00] all of a sudden it’s faster, or is it… imagine this, you would take a PlayStation 1 and then you rip out the CPU and then could you transform that into the same thing as is used in the PlayStation 2 without changing the hardware?

Oswald de Bruin: You know, you might, but I’m not sure because for that you’ll need to dive really deep into the hardware, which is hard if you don’t have the documentation, and the documentation is classified by Sony.

Otto: Yeah, of course, of course. Hypothetically…

Oswald de Bruin: Hypothetically it could be, because it’s the CPU as far as I can see, has the same instruction set, same base, same, same everything basically, but yeah, we are now only focusing on the CPU. There are also things like the graphics card, the sound card and all those things. I hope they are on the same place in the architecture of both things because you don’t have only a CPU, you also have the motherboard. I wouldn’t [00:16:00] know, but it might be possible to, change the CPU, but you won’t, because it’s soldered on. There’s no easy socket to get it out of.

This will be funny further on in the discussion, by the way, spoilers.

This was just the PlayStation 2 in this generation, and the nice thing about the RISC processor is that it’s easy to optimize because you hold all the instructions, and that’s why we had a very big PlayStation at the beginning and at the end of the generation we had a very small PlayStation, you know the PlayStation 2 Slim. I really love that console.

The Xbox on the other hand, you might have noticed there is no slim Xbox. That’s because the Xbox in this generation had an Intel Pentium III processor, an x86, which is a normal PC processor. I’ve got one right here under my desk. Microsoft wanted to get in on the consoles. They were in PCs, they had a operating system for PCs. So why not make a PC in a console form-factor? [00:17:00] And that became the Xbox, and that would’ve been perfect for backwards compatibility, but it won’t, and we’ll get to that later because I want to introduce the Nintendo GameCube here.

Rune: Proceed.

Oswald de Bruin: The Nintendo GameCube uses the IBM PowerPC 750 CXe Gekko, which is PowerPC processor, which is…? Don’t leave me hanging here, I told you.

Rune: It’s something that Mac used and then they stopped using and then went back to something else.

Oswald de Bruin: Yes, perfect! The PowerPC! So the GameCube uses a Mac processor, which is also why it has this really nice small form-factor.

Rune: Aaah.

Otto: But what makes it a “Mac processor”, it’s just because Mac uses it or is it manufactured by them in some way?

Oswald de Bruin: No, I’m calling it the Mac processor because Apple was the main user of those from the 80’s [00:18:00] up until the mid-2000’s. The PowerPC is RISC-based, which means it’s very optimizable. It’s not very expandable.

Rune: I’m raising my hands to the audio listeners, like a little student. It made me think, you said it’s a Mac processor or thingy in the GameCube. Why would they go that route? Do you think it has something to do with the fact that this is their first disc-based console? Because prior to the GameCube, they only had cassettes, and what kind of processor did they use back then? What was the benefit to use this particular processor?

Oswald de Bruin: The PowerPC uses much less power. You might have noticed the Xbox is big beefy thing, and it is because it needs a lot of cooling and it needs a lot of cooling because it draws a lot of power, because the CPU has a lot of transistors because it has a lot of different instructions.

Rune: Okay.

Oswald de Bruin: That’s kind of how this all falls down. There’s a good reason not to use an x86 processor because it…

Rune: Which one was that again?

Oswald de Bruin: That’s the standard PC.

Rune: Oh, okay.[00:19:00]

Oswald de Bruin: It’s a bit hard to call the x86 a PC processor because there’s also the PowerPC, which is not a PC processor. Very confusing, so I’ll keep repeating everything. I don’t expect anyone to get this all at the first go.

Rune: No, listen-

Otto: Yes, please, everyone. Listen to this five times if you can.

Oswald de Bruin: This is kind of how the 6th generation is laid out. It’s a very nice compilation of all the processors that were popular at the time. You had PowerPC, the x86, the RISC, and then the next generation came, which was what I call the “unfortunate generation”.

Rune: Hmm.

Oswald de Bruin: So the Wii looked at the PlayStation 2 and was like “I want some of that backward compatibility”. It uses not the exact same processor as the GameCube, but it is kind of the same, where the GameCube uses the PowerPC 750 CXe Gekko, the Wii uses the [00:20:00] IBM PowerPC Broadway, which is about two times as fast as the GameCube, and that made it perfectly backwards compatible with the GameCube. Very good idea, except the CPU is not the only thing that determines backwards compatibility, because the rest of the console looked nothing like GameCube. The Wii looks nothing like GameCube. So they had to make this one side of the Wii all GameCube-compatible with all the memory cards, all the connector for the controllers, which nobody had because GameCube wasn’t sold very well. The Wii sold a lot of times and it was backwards compatible, but I don’t think anyone really played GameCube games on there. Did you guys have Wii by the way?

Rune: Yes, but I’ve never played a GameCube game on it. I can’t even remember, was there, like sockets for GameCube controllers, and a card reader?

Oswald de Bruin: Yeah. There are two flaps on the top side of the Wii.

Rune: Huh? Suppose I’d never opened those.

Oswald de Bruin: There are [00:21:00] flaps on the Wii and you have never opened them?

Rune: It doesn’t ring a bell at all.

Otto: Virgin flaps then I guess?

Oswald de Bruin: Oh, boo! Yeah…

So that’s kind of how Wii went. The second unfortunate candidate in our generation is the PlayStation 3. I would’ve loved to be a fly on the wall when they designed the PlayStation 3, because they really wanted backwards compatibility. They used the same controllers, they made a memory card reader, but they made wrong memory card reader because you can’t read PlayStation 2 memory cards in a PlayStation 3 and they used a RISC-based processor. Unfortunately, the lineage goes RISC, PowerPC and then Cell. Cell is the PlayStation 3 CPU.

Otto: A question here. You said the [00:22:00] PlayStation 3 used a RISC processor and it’s a Cell processor. What is the difference or what’s the categories here?

Oswald de Bruin: Okay, so in levels, at its core, you have RISC…

Otto: First of all, “levels”, what does that mean?

Oswald de Bruin: Inheritance.

Otto: What does inheritance mean?

Oswald de Bruin: Like a family tree.

Otto: So is it oldest and then newer?

Oswald de Bruin: No, it is like a family tree. So you have the RISC instruction set. There’s a base RISC instruction set, which has very basic instructions, like add, subtract, write to memory, et cetera. Then came the PowerPC, this MAC processor.

Otto: And that’s a child of the first one?

Oswald de Bruin: So to speak, yes.

Otto: And it’s a child because…?

Oswald de Bruin: Because it has the same base instructions from the RISC, so technically you can run a RISC program on a PowerPC CPU.

Otto: All right, yeah, with you so far.

Oswald de Bruin: Yeah.

Otto: And then [00:23:00] the Cell processor, where does that fit into this tree?

Oswald de Bruin: So the Cell processor uses the PowerPC as a base.

Otto: Hmm, right. So that’s the child of the PowerPC and the grandchild of the RISC guy?

Rune: Man, it sounds like a proper family. Hmm.

Oswald de Bruin: Yeah, RISC is the grandfather, PowerPC is the father, so to speak, and then the child is the Cell processor.

Otto: All right, super. Got it, I’m with you.

Oswald de Bruin: Yes. But something went wrong here because in the PlayStation 2, Sony used an expansional RISC called the Emotion Engine.

Otto: So that’s a bastard child, then?

Rune: Or a mother?

Oswald de Bruin: It’s an uncle.

Otto: An uncle, all right.

Oswald de Bruin: So it’s a kind of brother of the PowerPC then, the Emotion Engine.

Otto: Oh, I got it, got it.

Oswald de Bruin: Yes, and this is where the analogy falls apart because the child of Cell, the [00:24:00] programs that run on Cell, or the, no, how should I… I’m gonna confuse myself.

So the instruction set of Cell is not compatible with the Emotion Engine, because the Emotion Engine, the PowerPC most likely have a couple of commands, which have ones and zeros, which are the same, but means something totally different.

Otto: So it’s the evil twin of the PowerPC?

Oswald de Bruin: You could call it evil, but having this kind of adversary in hardware is silly, so to speak. But yeah, sure, it’s the evil…

Otto: We all know they did it on purpose, those evil fuckers.

Oswald de Bruin: It’s not necessarily a twin, it’s more a younger brother. The Emotion Engine is a younger brother of the PowerPC, so the evil younger brother.

Otto: Oh, okay. I get it.

Oswald de Bruin: So they got the wrong child, mostly because Xbox tried to beat them to this generation. Xbox was a new player and they were very fast with their next console.

Otto: Which was…?

Oswald de Bruin: The Xbox [00:25:00] 360. So Sony was scrambling to get everything ready and tried to make this new console, the PlayStation 3, and it had to be backwards compatible. I think at the last moment they found out the Cell processor is not compatible with the Emotion Engine processor. What are we gonna do?

Otto: How did they find that out at the last second?

Oswald de Bruin: You know that console generations are currently shorter than game development times? There you have your answer.

Rune: So they were already developing games for it and then…

Oswald de Bruin: Yeah, they found out too late and in the very first PlayStation 3’s, they had this chip, especially for PlayStation 2 compatibility, and that chip was actually a complete RISC processor, which they eventually used in the PlayStation 2 slim lines.

Rune: But the PS3, the first models were backwards compatible, but they solved it just by basically scramming in another PS2 in it.

Oswald de Bruin: Yes.

Otto: Yeah, I think I remember when I did buy my [00:26:00] PS3, I didn’t know that there was a difference, so I bought one model and then apparently there was only like one or two models that were backwards compatible, so I just missed out on that whole thing.

Oswald de Bruin: Yeah, it was only the first PlayStation 3’s. They were massively expensive. I had one, there was only one model that was completely backwards compatible, and that was the 60 GB version.

Rune: I have one too, and I have the PT demo on it too, which is, you know, the…

… makes it even more valuable.

Oswald de Bruin: That thing must be worth of a fortune.

Otto: Which one is that?

Rune: It’s a playable trailer, it’s Hideo Kojima and some famous director who made this horror game. It was, sort of shadow dropped at some PlayStation event.

Otto: Oh, Guillermo del Toro maybe?

Rune: Sí, sí, sí, and then I downloaded it and then they took it off from the stores. So anyone who has that game can basically sell that PS3 [00:27:00] for, I mean, I don’t know if it’s worth much more now, but that’s it.

Oswald de Bruin: I still have my 60 GB PlayStation 3, but it died. It had the yellow light of death.

Rune: Aaawww...

Oswald de Bruin: Yeah, and even worse, it was from watching too much Netflix.

Otto: Well I got the same thing on my first PS3 actually. When played Uncharted 3, I think it was. For some reason it just broke down and I tried to fix it and apply new thermal paste and shit. I never got it working again, and then I saw like the week after, release notes for a patch to Uncharted 3, which said something like “Oh, now we fixed the thing that broke PS3's”. So if I would just not have played that week or something, then maybe I would have another one, but oh well.

Oswald de Bruin: Yeah, that, that’s a kind of problem you have with new processors. The Cell was not very matured so that’s why it got hot, and that’s why it broke itself.

Rune: I also remember from the conversations [00:28:00] before the PS3 was launched that the Cell processor was supposed to handle more like AI stuff in the games, but it was kind of interesting that in end that didn’t matter. Gamers just wanted better graphics, it seems like, but it was a novel thought.

Oswald de Bruin: That’s possible.

So I saved the best for last, which is the Xbox 360. So PlayStation 3 was scrambling because they had a very hard competitor, being Microsoft. Microsoft really wanted get a good console out, so they needed cheap hardware. Now, as you might have noticed, the 7th generation with the Xbox 360 happened about around 2005. Do you remember what happened in 2005? Because I already told you.

Rune: Mac stopped using something…

Oswald de Bruin: Yes, Mac stop using the PowerPC processor.

Rune: Fuck, I’m such a good student, god damn it!

Otto: Whooo! Straight A’s!

Oswald de Bruin: Yeah, because this is very important. This means that the market [00:29:00] suddenly had a lot of very cheap PowerPC processors because Mac didn’t need them anymore. So what did Microsoft do? They saw these cheap processors and put them in the Xbox 360! I am not kidding, the Xbox 360 from Microsoft uses a Mac processor and you can tell by the outside design, because if you put an Xbox 360 next to a Mac, you can see, “Wait, they’ve got kind of the same dimensions, and design philosophy”. …So why backwards compatibility to the Xbox wasn’t really there.

Otto: But then hypothetically, you could play Mac games on the Xbox 360, I guess, or the other way around?

Oswald de Bruin: Yes! I think, yeah, it should be possible to play old Mac games on your new Xbox. Maybe not quite because there’s also the amount of bits in the processor, which can put a wrench in the whole idea.

Otto: So bits, what was that again? Oh [00:30:00] right the pins, oh right, got it.

Oswald de Bruin: Yeah, the pins. You have 64-bit processors and 32-bit processor. Old Mac processors probably have like 32 or 16.

Rune: It’s interesting you bring up all of these backwards compatible things because on a lot of podcasts, they talk about it and no one seems to know why, and I have never heard these stories from Phil Spencer or the PlayStation people, why their consoles are not backwards compatible.

Cuz thinking about it, it sort of sound like something Xbox wouldn’t wanna say back then, like “Well, we’re using a Mac processor”, because they’re rivals, thus the Xbox 360 is not backwards compatible.

But yeah, you hear all these podcasters sort of speculating in why things aren’t backwards compatible, but it sounds like you have a pretty good understanding of why that is.

Oswald de Bruin: I studied computer sciences and one of the subjects we had was computer architecture. Computer architecture is not the full picture, but it can give you an understanding of why something is [00:31:00] backwards compatible or not. It’s a good thing we’re not talking about emulation here, because that, that would make that podcast also like three times as big, because you have the computer architecture, but there’s also the operating system that runs the computer. It’s very hard to emulate Xbox on a PC, even though they have the same processor.

Otto: So and that’s due to the operative system rather the hardware?

Oswald de Bruin: …and that’s due to the operating system, if you want to keep the story very, very short.

So where were we? The Xbox 360 is not backwards compatible with the Xbox because it has a completely different architecture. If you might’ve remembered back in the day, they were very wishy-washy. As you said, Phil Spencer doesn’t want to say that, for many reasons. I think two of them; one is, nobody wants to hear about computer architecture. I mean, I’m very grateful I can tell this story to you guys because it’s been with me for so long, and I really tell anyone, who wants to hear this?

Otto: I doooo…

Oswald de Bruin: We do, but Phil Spencer doesn’t [00:32:00] tell this to their investors because it’s not something those investors are interested in.

And second, the only thing he can say is “Yeah, sorry, we broke backwards compatibility, sucks to be you”. Backwards compatibility is very hard, mostly because when you stick to one architecture, it doesn’t really guarantee that you can grow your performance with your console. If you go back, one generation, the PlayStation 2 was bashed for having low performance. The GameCube had much better performance, didn’t really help the sales of GameCube. It was the backwards compatibility that helped the PlayStation 2 but you can’t stay on low performance forever.

Otto: I’m just speaking as a layman here, so the thing is with computer architecture is that to run a program, you compile the program and then that translates like a “Hello, World!” statement into [00:33:00] ones and zeros for the CPU to understand. To emulate a game from the Xbox or wherever, those are already compiled, so therefore you can’t run them on another architecture, but then I imagine something like this, couldn’t you have, like… I don’t know how it works in real life, but imagine you have at the top here, you have the application and it’s compiled and it’s sending down instructions towards the CPU, but then you just slide a sort of translation software or something in between that just sets this zero this way and whatever, so it works on whatever architecture you’re running and then we just make it compatible even though a bit slower, or is that how emulation works perhaps? I dunno.

Oswald de Bruin: That is the exact explanation of emulation.

Otto: Oh, I’m a genius!

Oswald de Bruin: Yes, emulation works by reinterpreting every command for [00:34:00] a certain program. The problem is, to reinterpret those commands, you need extra clock cycles. So instead of having one clock cycle per instruction, you now have one instruction saying “Okay, is this a 1? Yes or no? Okay, yes. Next instruction, is this 1 also? No, this is 0, okay”, and then like, say 10 or a hundred instructions later, you think “Oh, so this wants me to add two numbers”, and that’s why emulation is slower.

Otto: Very interesting.

Oswald de Bruin: Yeah, it’s why it’s my favorite subject to rant about.

Maybe it’s time to move on to the next generation? We have the Wii, the PlayStation 3 and the Xbox, and then we get to what I call “The boring generation”.

But before we get to that, in 2014, AMD came with a line of processors for the AM1 Socket. Up until this point, AMD was known to be very power inefficient, not quite as fast as Intel, and they had only one or two circuits, they had [00:35:00] AM2 and AM3, and suddenly they made the AM1 circuit, which counted backwards from 3 to 1. The AM1 didn’t exist before then, and they only had four processors to get for that socket. My favorite processor in that lineup was the AMD AM1 5350 processor, which had 4 cores and was 2 GHz, and was available for only $60, which was a massive deal at the time. I mean, a massive deal being, it was very cheap to get, fantastic to build computers with. I built 3 computers with that processor. Nobody else noticed, only me, well maybe some people, but there were a couple of things they did with this processor, because it was not just a processor, it was also a GPU and it had a network chip and also a sound card. So if you compare a motherboard from an AM1 processor with an AM2, or any Intel processor of the time, the [00:36:00] motherboard is very… empty. There are no chips on there because they are all in CPU.

The GPU on the AM1 processor socket was actually pretty decent. It was low to mid tier. Also, this processor was very efficient in power, and I was like “I like this processor”. As I said, I made 3 computers with this, and then I saw the architecture of the PlayStation 5, and Xbox Series X, and now I want you to guess what kind of architecture both those computers have.

Otto: You’re asking wrong, the wrong person buddy.

Rune: It sounds like they had that one.

Oswald de Bruin: Yeah, yeah, okay, in our story we had PowerPC, we had x86, we had RISC and we had ARM.

Rune: ARM?

Otto: Yeah, I’m guessing that too.

Oswald de Bruin: ARM is more for mobile things…

Rune: PowerPC because, no wait, the PC one because they’re more like PCs.

Oswald de Bruin: Yeah, the PC one, which is not the PowerPC. Yeah, you’re right. It’s the PC one, it’s the [00:37:00] x86. I saw the specifications for the PlayStation 4 and the Xbox One and I was like “Hey, I know that processor. I made three computers with that”, and even worse, the PlayStation 4 and Xbox One have the exact same processor. You have the AMD Zen 2 processor, which is a 64-bit x86 processor, and then I was like “Okay, this is very good for backwards compatibility because it’s a PC processor. We have been gaming on PCs for ages by this point, which also means that the Xbox One should be backwards compatible with the original Xbox, but not with the Xbox 360.

They didn’t implement backwards compatibility with the original Xbox, which I find a very big shame.

Otto: So what would implementing backwards compatibility mean?

Oswald de Bruin: For the PlayStation 4 and Xbox One you mean?

Otto: Yeah, so you said the Xbox One wasn’t compatible with the original Xbox, even though it should have been possible.

Oswald de Bruin: Yeah, it’s a different operating system, also different bits. So you have the original Xbox and the Xbox One. This is getting confusing. So [00:38:00] the original Xbox was 32 bits and the Xbox One was 64 bits. While Windows can switch between 32- and 64-bit programs, no problem, it does mean you have to do a little tweaking in the operating system.

Otto: So would that be something that you would do for the whole operative system or something that you would have to fix per game?

Oswald de Bruin: It should be a thing you should fix in the operating system, but it doesn’t guarantee it works in every game.

Otto: So it would be probably something you would have to fix in every game, I guess.

Oswald de Bruin: It’s a thing you’ll have to fix for every game in the operating system. You might have noticed on Windows, not every PC game from 1995 is playable on Windows 10.

Otto: I can imagine that as a game company, you wouldn’t want to go in and fix a game that’s 20 year old from a console that’s dead, and then Microsoft wouldn’t wanna do that either for the game [00:39:00] companies for free.

Oswald de Bruin: Yes. So that’s why we don’t have backwards compatibility from the Xbox One to the original Xbox.

Theoretically, you should be able to run Xbox One games on a PlayStation 4.

Otto: But yeah, that’s the operative system again then I suppose?

Oswald de Bruin: That’s again, the operating system.

Otto: But then hypothetically, say that you were to jailbreak one of them, then you would be able to create a very efficient emulator that would play one on the other.

Oswald de Bruin: Yeah, what you’re talking about is probably wrapper?

Otto: Like Wine or Proton on Linux.

Oswald de Bruin: Yes, yes, yes! Exactly!

Otto: Whoo, I got it right!

Oswald de Bruin: You know the acronym “Wine” means “Wine Is Not an Emulator”?

Otto: Yeah, yeah.

Oswald de Bruin: That’s because it’s a wrapper, it kind of sorta of takes the program, puts it in the CPU, but if it does calls to the operating system, it says “Oh no, you don’t have to go to this part of the operating [00:40:00] system, you have to go to that part”.

Otto: For those who don’t know of our listeners, Wine and Proton are applications that you can use to play Windows applications or games on Linux. So one example is, the Steam Deck uses that to enable playing Windows games for the Steam Deck without the game company having to update it for Linux.

Rune: I just got Proton on my Steam Deck because I downloaded some, what is it called? Mods for Final Fantasy VII Remake, like different outfits and stuff like that. I think I told you Otto, the Linux layout on the Steam Deck is really sleek and beautiful. It sort of made me wanted to go over to Linux on everything.

Otto: Cool.

Well, I would just warn you before you do it on desktop, it’s a completely different experience, I can just assure you.

Rune: On the Steam Deck, it looks beautiful.

Otto: Yeah, yeah, I can imagine. I haven’t played the Steam Deck, but I can imagine since everything [00:41:00] is just done for you, but lemme tell you, having worked with Linux in my job for a, quite a while and done it also as a hobby, if you don’t like typing stuff to make things work, then Linux is not for you.

Oswald de Bruin: I love the command line in Linux.

Otto: Yeah, yeah, me too, absolutely, but you gotta be into that stuff. If you just want it to work, don’t go near Linux.

Oswald de Bruin: It does feel fantastic once you get it working, by the way.

Otto: Yeah, yeah, yeah, absolutely, but it’s sort of like climbing a mountain. It could be quite horrible on the way there, but you have to sort of enjoy that journey through the snow and wind to be able to get to where you want to go.

Oswald de Bruin: Maybe I should get back to the story, because we’re actually near the end?

Otto: Yeah, yeah, sure. Absolutely.

Oswald de Bruin: We have the PlayStation 4 and the Xbox One. They have basically the same processor. AMD was really the winner in this generation, because the Wii U crashed totally with the PowerPC. Wii U had a PowerPC processor. I [00:42:00] think it was backwards compatible with both the GameCube and the Wii, but I have never checked.

Rune: Wow.

Oswald de Bruin: Does anyone of you have Wii U?

Otto: I’ve only owned a Game Boy as far as it comes to Nintendo, so no experience for me.

Oswald de Bruin: Okay. So I think it’s backwards compatible, and I should have found out for this podcast, but I’m sorry, I didn’t. Maybe some of the listeners can tell us?

Otto: Yes, that would be great!

Oswald de Bruin: Yeah, PowerPC was winding down at this point and they shouldn’t have gone with PowerPC in my opinion.

So, a thing you need to know about computer architecture and how CPUs are made. If you have a multi-core processor, it always goes in powers of two. So you have either 2 cores, 4 cores, or 16 cores. But what sometimes happens is when baking these processors, not every core comes out well. So you have like a quad-core with 3 perfectly good cores, but one of them is damaged. You can do two things, you can check out the whole processor or you can sell it as a triple-core, and that’s why you sometimes see [00:43:00] 6-core processors or maybe 10-core processors.

Otto: Hmm, right.

Oswald de Bruin: With that in mind, if you look at Wii U using an old processor, the Wii U has a triple-core processor, so it just takes a lot of CPUs which are made and some of them might have a defective core. They turn off that core and then they can just use the processor again. They also did this in Xbox 360, which also had a PowerPC triple-core, which might explain why there are so many Red Rings of Death on the Xbox 360. I’m not sure if that’s the real reason, but if you put a CPU in there of which you think might be defective…

Rune: I mean, they literally took broken CPUs and popped them in the machines.

Oswald de Bruin: Yeah.

Rune: Huh, interesting.

Oswald de Bruin: They probably weren’t all broken, but some of them probably are, yeah.

Otto: Weird, I had never heard that actually.

Oswald de Bruin: It’s a, it’s a thing that happens.

So the Wii U failed, and we got the Switch, and the Switch… For this story, I [00:44:00] left out all handheld consoles, because all handheld consoles use ARM, at least since 2000, before the 2000’s, it’s a whole different story, but let’s not get into it.

This is why I call the last two generations “The boring generation”, because PlayStation 4, Xbox One, they are just PCs. Then the PlayStation 5 and Xbox Series X came around. It’s the same story. They are all using AMD PC processors, and AMD is the big winner here, the producer, because the ARM processor in the Switch is also made by AMD.

Otto: Very nice. So that means that compatibility and also I would guess, compiling games, porting them to the different consoles will be a lot easier because you only, have to account for differences in the operative system, but not in the CPU architecture.

Oswald de Bruin: Yeah, they have kind of the same performance. They have kind of the same instructions. They do have a different operating system, but I think at this point, the operating systems will be [00:45:00] similar enough that the programmers don’t really need to know the differences. They’re just handled by the compiler, and the compiler is made by either Sony or Microsoft. That’s kind of how that works.

The Switch is not backwards compatible with the Wii U as you might expect, if only because it doesn’t have a CD drive.

Otto: Right, that would be kind of cumbersome I think.

Oswald de Bruin: I have no idea how they would put a CD drive in there.

Otto: You just have it like the PSP, just flip it in the back.

Oswald de Bruin: Yeah.

Otto: But then I guess if you shake it a little bit, it’s gonna be broken.

Oswald de Bruin: It’s a shame I’m not focusing on handhelds, because the PSP had so many nice features with the PlayStation 3. Did you know you can wirelessly connect your PSP to a PlayStation 3, pop a PlayStation 1 CD in there, doesn’t matter which model. Every model can do this. Every model of a PlayStation 3 can accept a PlayStation 1 CD, play it, and then have its streamed to a PSP.

Rune: Wow.

Otto: Hmm, cool.

Rune: That’s really cool.

Oswald de Bruin: If you still have PlayStation 3 [00:46:00] and the PSP, I highly recommend you try this out.

Rune: Yeah, that sounds cool.

Oswald de Bruin: Just a heads up, you have to use the PlayStation 3 as a wireless point because the PSP doesn’t accept current wireless encryption.

Otto: Hmm, oh right. You can’t use WPA2, or whatever it’s called.

Oswald de Bruin: Yeah, they only have WPA1.

Otto: In layman’s terms, you can only have unsecure password on your Wi-Fi.

Oswald de Bruin: Yeah, the PSP can’t give a password to your Wi-Fi because of complicated technical reasons.

To wrap this all up, this is how old backwards compatibility went, the current and the last generation, the current generation is perfectly compatible with last generation, and looking at the architecture right now, I think the next generation is gonna be the same story, because they are using PC processors, PCs are not going anywhere. PCs are getting stronger and stronger.

Rune: Do you think Xbox will have another console though, or do you think they’re trying to just [00:47:00] get into game publishing, Xbox and everything, that kind of stuff?

Oswald de Bruin: They will probably use an x86 for next generation.

Rune: Yeah, really? I think it’s possible they don’t bother making an actual console and just try to get Game Pass, like Xbox Live, whatever it’s called, like a Netflix service on everything.

Otto: I’ve never heard that actually.

Rune: Yeah, and maybe publishing games on Switch and PlayStation, like a third party would.

Oswald de Bruin: A bit like Google Stadia.

Otto: Yeah, but then it would be rather more like PlayStation Plus than Stadia, because with PlayStation Plus, the rendering of the game isn’t streamed necessarily, but you can still just download the game and have the actual machine you’re playing on render it.

Oswald de Bruin: I don’t know if there will be a next Xbox if you look at it from that perspective, because on hardware, it can’t compete, it’s just the same, and it’s selling less.

Otto: [00:48:00] There’s just so few competitors in this space, doesn’t matter if it sells less or if it doesn’t win them many money, it still makes them look like a gaming company, because they are also one of the big ones. There is a Microsoft console, but if there isn’t, then they would just fade into the background and, you know maybe they own a lot of game studios, but Microsoft wouldn’t be a household name in the gaming space, I think.

Oswald de Bruin: The problem from Microsoft is that they were big on PC first, and then they made the Xbox and they kind of lost focus and then Steam came in, and Steam is actually making money from all the PC gaming, or at least the most money, and Microsoft tried to make money with the Windows Store and that kind of backfired.

Otto: I bought one game on Microsoft Store, actually. The remake Age of Empires 1. So there’s one for you, Bill Gates.

Oswald de Bruin: I [00:49:00] can very certainly predict one thing about coming consoles and that’s, there will probably not be a PlayStation 5 or Xbox Series X Slim line. There will not be small-form factors of the current-gen consoles because they are all using PC processors.

Rune: Oh really? What about pro versions, bigger and beefier?

Oswald de Bruin: Oh, probably.

Rune: Did you say PlayStation 5, or the PlayStation 6?

Oswald de Bruin: The PlayStation 5 Slim line will probably not be here, because it’s using a PC processor. I find it kind of disheartening they are using PC processors because there are a lot of instructions in there that they don’t need. You might know expansion cards on your PC?

Otto: Yeah, yeah.

Oswald de Bruin: That translates to PCI lanes on your processor. I am fairly certain there are PCI lanes in the PlayStation 5 and the Xbox Series X saying “Any day now, I might accept a card”, and it’s not there because there’s no card.

Otto: Technically they could do it slimmer, but just make it a bigger surface [00:50:00] area. So it would be like a carpet PS4, or something. Like a yoga mat version of the PS5.

Oswald de Bruin: The PlayStation Yoga…

Otto: Yeah, yeah, exactly. You just have it as tablecloth.

Rune: Actually there is a video of someone who made a super PlayStation Slim, on YouTube.

Oswald de Bruin: Probably with water cooling I think.

Rune: Ah, yeah, maybe you’re right. I wasn’t a CPU expert by the time I watched it. So if I can watch it now, I would like totally get it.

Oswald de Bruin: What would be fun, theoretically you would be able to get a PlayStation 5 or an Xbox series X and solder out the CPU and just put a beefier PC processor in there. I have no idea if that’s possible. I don’t think you get very much improvement from that, but yeah, the thing is, and I hope I’m saying this right, because I think the GPU is baked [00:51:00] into the CPU at this point. It’s on the PCI lane probably, to the CPU, but looking at the AM1 processors from 2014, I think they would’ve gone that route. If you really want improvement, you have to find a PC processor with a beefier GPU in it, that would be very hard to find. I think PlayStation and Xbox have custom versions of those.

Otto: Right.

Rune: Well, you have to come back when the next generation is out and see if your prediction is right. Then we can talk emulations.

Oswald de Bruin: I’d love to, but I think, I think next generation it will be like “Hi guys. It’s the same. Bye!”.

Otto: Well, we could do a follow-up now that everyone here knows how the CPU works and what’s factored into backwards compatibility, we could do in a follow up episode about how to think about it as a game creator. I mean, when you’re creating games now, what to think about to make [00:52:00] your game future-proof. Say that in 10 or 15 years, would your game be playable or will it not be, and/or how could you fix that? Will it be just a, a cluster fuck to fix it, or how could you just think about it to make it future-proof if that’s, a goal for you. Something like that.

Oswald de Bruin: Oooh… There’s no straight answer for that one, which would make it a very good episode. I can give you lots of examples right now, but we’re running out of time, it’s, oh it would…

Otto: Yeah, don’t! Save it for the next episode, we don’t wanna spoil anything.

Oswald de Bruin: We’ll save it. Oh, this is, this is gonna be a good one.

Otto: Good, very good.

All right, I think that wraps it up for this episode. Is there anything else you wanna mention, Oswald, before we end the episode?

Oswald de Bruin: Yes, I should have said this at the beginning, I am a developer, designer, and consultant on a freelance basis. I also have projects of my own, which is called My Face Your Music, which you can now [00:53:00] wishlist on Steam!

Otto: Woo.

Oswald de Bruin: If you hear this, thank you for sticking around and Otto, Rune, thank you for having me. It’s been blast.

Otto: Yeah. Yeah, yeah. Always fun to have you here.

Rune: Always fun.

Oswald de Bruin: My pleasure.

Otto: Rune, do you have any other questions before we end the episode?

Rune: Uuh, what’s the meaning of life?

Otto: x86, I think he said.

Rune: Really?!

Otto: Yes.

Oswald de Bruin: Yeah, right now it’s x86.

Rune: Okay…

Oswald de Bruin: Everything is a PC processor made by AMD.

Rune: Alright, good.

Otto: Alright, alright, well, thank you everyone. Thank you Oswald, for being great guest and giving us a good lesson on how CPU architecture works. Thank you Rune, for being a great co-host as always, and thank you everyone for listening. See you next week. Bye-bye!

Rune: Bye!

Oswald de Bruin: Goodbye.

--

--

Otto Wretling

Writing about my podcast, game development, technology, language learning, and whatever else comes to my mind!