Hi there! A couple of comments: - iirc the 14 stages was due to the convoluted process that x86 instructions traditionally go through to be executed. - 4:12 what I meant was that in the PC world, it’s a bit of a lottery with the extensions (devs can’t predict which variant of i386 their program will be running on). So the advantage in the xbox is that you will always find mmx and sse, so programs/games can be optimised for that. - I think one of the selling points of RISC in the 90s is that compilers were able to produce efficient code without relying on manual assembly so much. The Z80 and 6502 (roughly CISC cpus) also had compilers but assembly was way more efficient for complex tasks. - 5:00 my first name is misspelled :) no need to correct it haha - 10:16 the lpc port was also the main reason modchips existed in this console. Looking forward to the next vid 👍
Hey Rodrigo! Sorry about the spelling error!! Thank you so much for the comment and feedback! I appreciate the insight. I may reach out to you in the future to ask questions about things for videos through your website! Your stuff has made researching for me much much easier. You do awesome work!
The Xbox is probably the most influential console of the last 20 years. It caused Sony to realize they needed to standardize their architecture around PC hardware. Unfortunately this also means the sixth generation was the last generation where the consoles were truly unique machines. A keen eye can tell the difference between Xbox, DC, GC and Playstation ports.
seventh* Seventh-generation home consoles used PowerPC-based processors, the PS3 being one with a special and extremely complex microarchitecture called Cell, and if PowerPC architecture is already complex enough, better not talk about Cell, which was infamous for making the PS3 one of the most difficult consoles to develop games on. although I don't know if it would count, because using PowerPC made them Macintosh computers for all intents and purposes, following that logic too.
I have a friend who had worked on Xbox games back in the 6th Gen as part of a small studio. He really liked working with the Xbox compared to the other console he was working with at the time, the PlayStation 2. Eventually he went to work on games for the Xbox 360 and PlayStation 3.
Loved the original Xbox. Been on Xbox Live since its launch and it was a game changer for me. That was back when DLC was free. Lol. I remember getting the maps for Rainbow 6 for free. Now DLC costs as much as some games.
Amazing to see how the gaming industry has transformed with the way it releases games and distributes content. :) Yes, the Xbox was an awesome console!
Halo Combat Evolved originally started development as a Pc title, and it wasn’t until after the devs got a hold of the Xbox Dev Kit did they realize they had the power, and performance to create their Game on Console, and so the developers decided to switch from making it for Pc, and develop it specifically as an Xbox Game ! I know eventually the Pc port happened but it wasn’t until after the Game has originally launched as Xbox Only Exclusive The Original Xbox Was such an amazing Console, and Xbox Live Halo 2 was my first ever online experience, and I was instantly hooked as I never knew anything like that prior to Xbox
I'm a layman but is the pixel processing on the xbox kind of like a bilinear filter? Im going off of my experience but on a 480i crt a xbox game usually has a more softer look than its ps2 counterpart.
The NV2A GPU in the XBox had fully programmable pixel and vertex shaders (DX8 level), but shader capabilities or lack thereof is not the cause of any softer look. NV2A supported a novel and fairly low cost antialiasing technique called "Quincunx". It may be the use of this in various games which produces the softer look you describe, since at the time Quincunx did have a reputation for looking more blurry than other AA methods.
The Xbox was quite the marvel machine back then. It was really forward looking. The controllers? It's USB! Wanna port a PC game to it? Good, it runs Windows, has DirectX 6 and is powered by a Pentium 3. 64Mb of RAM ain't big enough for you and the disc is too slow? Okay here's around 750Mb of cache storage on the hard drive to copy assets to. Online multiplayer, game updates and dlc? Got it, we have Xbox Live and built in ethernet. Looking back on it, the Xbox was really giving both devs and players a taste of what gaming on console will be
It only made sense that Microsoft went into the video game market. I mean, they make computers as a company and what is a video game console, its just a computer basically. So they got into the market and because they were a company that did more than just make video games they could fund the whole thing from other revenue sources. They took the chance with the Xbox and boy did it pay off, they are one of the big 3 left as a console manufacture. Atari, Sega, and others just died off from the manufacture side of things while the Xbox took their places.
Microsoft does not make computers, or at least they rarely do, it is mainly a software company, what they have done for decades is mainly making an operating system that they license to OEMs for them to pre-install, unlike for example Apple and the console market, where it is the manufacturer who chooses, designs and optimizes the hardware and software ad nauseam.
This looks more like an ideal architecture from a programmer’s perspective. Nothing weird going on here everything can be processes in series with plenty of cache and RAM
I'm pretty sure no developers (or hardly any) bothered to learn the architecture of the P6. The whole point of using a Pentium III was that the architecture was no longer all that relevant, since they could get standard PC performance out of it (unlike the SH4 or R5900 which ran at 1/4 the speed). There was also probably no guarantee from the version of "Windows" running on the OG Xbox that a game would be un-interupted, so pipeline optimizations would have probably been hit or miss. Though that's not to say that the SIMD extensions weren't used. Compare that to the PS2 which let the game effectively run bare metal (I believe the Dreamcast also did that, though I thought it ran a version of Windows CE which may or may not have that type of functionality). Also, a 14 stage pipeline isn't that crazy... the PS2 effectively had a 12 stage pipeline (each pipeline stage was broken down into two phases) - similarly the N64 then would have had a 10 stage pipeline (again breaking the pipeline stages down into 2 phases).
Yes, exactly! And that's typically how game development is focused on now with consoles. Interesting regarding the OS that Mircosoft provided though... Seems like there was quite a bit of Middleware to get to the I/O and no virtualization of memory.. I suppose as they say, baby steps.
@@ZygalStudios Are you sure about it not using virtual memory? That would have been very hard to develop for without it (because the Windows kernel took up an unspecified amount of memory at some specific location).
@@ZygalStudios Yep, I know it's UMA, but I'm pretty sure it uses virtual memory. A quick search online mentions that Windows 2000 kernel can do virtual paging to the hard drive. Everything was most likely programmed via a series of APIs / drivers, so the developer could just write the game as if they were writing it for a PC. If they also had to worry about where specifically in memory the game was sitting, then that would have been a nightmare (since that would most likely require better knowledge of the kernel). In terms of UMA, the benefit there is that they could have pointers in RAM which were sent to the graphics API which didn't have to do any copying. It would still do a virtual to physical translation at the kernel level though.
@@hjups Here, take a look. en.m.wikipedia.org/wiki/Xbox_system_software Memory paging was removed from the heavily modified proprietary Windows 2K kernel they used. It just used a HAL to abstract for the programmer and used direct embedded calls underneath. No virtual memory was necessary because the Xbox devoted all of its resources to running one game at a time. In fact, some implemented virtual memory in software later for emulation to load in more memory than what was given.
Also we have the Xbox to thank for killing the exclusives market - which is good and bad. Nowadays it's just so easy to package your game for Sony, Xbox and PC. It used to be a huge time investment to port games made around one architecture. I can't imagine the amount of additional work that went into porting a Playstation game to the Saturn or N64 Now almost every game comes out together on all platforms with Nintendo being possibly the one exception
Although ARM is not a rare architecture, in fact it is quite common in the consumer market thanks to mobile devices, this makes the Nintendo Switch basically a phone following that logic. Android (ARM) has more market share than Windows (x86), yes, Android has x86 builds mostly made by the community and Windows has an official ARM edition but they are nowhere near as popular as the mainstream ones.
As for porting, that was because before 7-6th gen mostly assembly language was used to program most games, and assembly language is specific to each architecture, it's not portable, so if you wanted to release a cross platform game you had to rewrite the game for each platform which was a lot of work, this also contributed to the games looking so different across the different platforms
Love these videos! Part of me is sad consoles became PCs. Consoles used to push the industry forward with new innovations in CPU/GPU/system design… now they’re just AMD PCs 😅 Not to say AMD’s SoCs haven’t been good for the last few generations… but I think the Arm guys could do a lot better with the power budget 😁
@@ZygalStudios True! Hopefully Nintendo will stick with Arm SoCs going forward, I can’t see a good reason to switch to x86 (pun intended lol) Wonder what the next Switch SoC will include 🤤
Except it wasn't a PC-in-a-box, and that kind of thinking is why we didn't have breakthrough progress in xbox emulation for *_TWENTY_* years. I loove making little programs with the microsoft XDK though :) Visual Studio 2003 is very nostalgic! Progress in xbox emulation isn't because modders suddenly got their hands on some magical unicorn predecessor-machine to reverse-engineer, they had alpha kits for twenty years; it's because they finally started getting over this exact bone-headed habit of thinking that the xbox is a PC-motherboard-in-a-box to be lazily panned.
@@themeangene That x86 has monopolized the home console market meant less innovation tho, I hope newer, truly open architectures like RISC-V will find adoption in that market and other consumer markets.
consoles use to be innovative and not tied down to X86 tech, I wish Sony never got in the game and ruined video game development and made cost skyrocket. I blame Sony
Here’s the thing about OG Xbox. It’s trash. It huge. The control pads were ridiculously huge with way too many buttons although analogue triggers were a nice addition. But it was big and noisy and game didn’t run well. Using a CISC CPU running on a Windows kernel means Windows is handling all the memory management. There no way developers would have enough knowledge to take control of the pipeline any any kind of detail. The result? Shitty frame rates. Maybe smooth sometimes, but wildly inconsistent and frame drops all over the place. No matter how good the developer is. With no possibility to program assembly and have proper control of the data pipeline you can maybe push a game out more quickly but you are just hoping for the best in terms of the end product. This is why Xbox games don’t feel as solid as DC games or previous gen games going all the way back to the Atari VCS. Because memory management is handled by software you can’t control, you get frame drops all the time and games feel less satisfying to play. Frame rate consistency is more important that high fidelity or special effects and this is where the Xbox lead the industry. In prioritising impressive effects over consistent performance from simplifying the development process and taking memory management and writing custom effects away from the developers, development time was spent more on applying effects from the direct x library and dropping them into the games because that’s now the only option. There’s no longer the option to optimise performance and prioritise steady frame rates as the knowledge to do so in far to involved and specialised. So without a RISC CPU and accessible GPU you are no longer able, as a dev to fine tune your code and effects are limited to the directx library. So game development is limited as much as it is liberated by a locked in OS and graphical effect library. Also the console features a personality which was extremely dull. If Halo is it’s mascot then that says it all. Just an army space guy with a laser gun. Not even a face. Pure vanilla lack of imagination game. Boys only. Gears of War. Complete turn off. Def Jam wrestling game kind of amusing. But boys club macho stuff again. Fable, utterly vanilla game design and theming. Complete lack of ambition or imagination is the Xbox, leading gaming into two consecutive generations of bland gaming by numbers military drudgery. Sega still made some cool games but they were aimed at Sega fans who didn’t buy the Xbox and failed to find an audience on the platform. A legacy of hands off development and effects over performance with a generation of boring game design.
Wow you single-handedly managed to write the most nonsensical comment of all times. You mixed up all the technical concepts and reached a foolish conclusion. I suggest you read a book about computing before making a fool of yourself next time. apart from that, have a nice day mate!
@so well. That was a salty rant. But there is some truth in it all. Developers are quite disconnected from hardware these days. I was just watching Forza Hotizon 5 and it drops frames all the time. Also it’s dumb.
Hi there! A couple of comments:
- iirc the 14 stages was due to the convoluted process that x86 instructions traditionally go through to be executed.
- 4:12 what I meant was that in the PC world, it’s a bit of a lottery with the extensions (devs can’t predict which variant of i386 their program will be running on). So the advantage in the xbox is that you will always find mmx and sse, so programs/games can be optimised for that.
- I think one of the selling points of RISC in the 90s is that compilers were able to produce efficient code without relying on manual assembly so much. The Z80 and 6502 (roughly CISC cpus) also had compilers but assembly was way more efficient for complex tasks.
- 5:00 my first name is misspelled :) no need to correct it haha
- 10:16 the lpc port was also the main reason modchips existed in this console.
Looking forward to the next vid 👍
Hey Rodrigo! Sorry about the spelling error!!
Thank you so much for the comment and feedback! I appreciate the insight. I may reach out to you in the future to ask questions about things for videos through your website!
Your stuff has made researching for me much much easier. You do awesome work!
Such a great console, I remember graduating from HS, buying mine and then gaming for 26 hours straight with my buddy in Halo.
The Xbox is probably the most influential console of the last 20 years. It caused Sony to realize they needed to standardize their architecture around PC hardware.
Unfortunately this also means the sixth generation was the last generation where the consoles were truly unique machines. A keen eye can tell the difference between Xbox, DC, GC and Playstation ports.
seventh* Seventh-generation home consoles used PowerPC-based processors, the PS3 being one with a special and extremely complex microarchitecture called Cell, and if PowerPC architecture is already complex enough, better not talk about Cell, which was infamous for making the PS3 one of the most difficult consoles to develop games on.
although I don't know if it would count, because using PowerPC made them Macintosh computers for all intents and purposes, following that logic too.
I have a friend who had worked on Xbox games back in the 6th Gen as part of a small studio. He really liked working with the Xbox compared to the other console he was working with at the time, the PlayStation 2. Eventually he went to work on games for the Xbox 360 and PlayStation 3.
Loved the original Xbox. Been on Xbox Live since its launch and it was a game changer for me. That was back when DLC was free. Lol. I remember getting the maps for Rainbow 6 for free. Now DLC costs as much as some games.
Amazing to see how the gaming industry has transformed with the way it releases games and distributes content. :)
Yes, the Xbox was an awesome console!
Halo Combat Evolved originally started development as a Pc title, and it wasn’t until after the devs got a hold of the Xbox Dev Kit did they realize they had the power, and performance to create their Game on Console, and so the developers decided to switch from making it for Pc, and develop it specifically as an Xbox Game !
I know eventually the Pc port happened but it wasn’t until after the Game has originally launched as Xbox Only Exclusive
The Original Xbox Was such an amazing Console, and Xbox Live Halo 2 was my first ever online experience, and I was instantly hooked as I never knew anything like that prior to Xbox
Very glad I've found your channel! Excellent video, one of the most detailed on TH-cam. Keep up the good work!
It's the Sega Dreamcast 2!!!!!!!!!!!!
I'm a layman but is the pixel processing on the xbox kind of like a bilinear filter? Im going off of my experience but on a 480i crt a xbox game usually has a more softer look than its ps2 counterpart.
The NV2A GPU in the XBox had fully programmable pixel and vertex shaders (DX8 level), but shader capabilities or lack thereof is not the cause of any softer look.
NV2A supported a novel and fairly low cost antialiasing technique called "Quincunx". It may be the use of this in various games which produces the softer look you describe, since at the time Quincunx did have a reputation for looking more blurry than other AA methods.
The Xbox was quite the marvel machine back then. It was really forward looking.
The controllers? It's USB!
Wanna port a PC game to it? Good, it runs Windows, has DirectX 6 and is powered by a Pentium 3.
64Mb of RAM ain't big enough for you and the disc is too slow? Okay here's around 750Mb of cache storage on the hard drive to copy assets to.
Online multiplayer, game updates and dlc? Got it, we have Xbox Live and built in ethernet.
Looking back on it, the Xbox was really giving both devs and players a taste of what gaming on console will be
It only made sense that Microsoft went into the video game market. I mean, they make computers as a company and what is a video game console, its just a computer basically. So they got into the market and because they were a company that did more than just make video games they could fund the whole thing from other revenue sources. They took the chance with the Xbox and boy did it pay off, they are one of the big 3 left as a console manufacture. Atari, Sega, and others just died off from the manufacture side of things while the Xbox took their places.
Microsoft does not make computers, or at least they rarely do, it is mainly a software company, what they have done for decades is mainly making an operating system that they license to OEMs for them to pre-install, unlike for example Apple and the console market, where it is the manufacturer who chooses, designs and optimizes the hardware and software ad nauseam.
I haven't seen such a good channel in ages. Please keep on doing this love the videos
This looks more like an ideal architecture from a programmer’s perspective. Nothing weird going on here everything can be processes in series with plenty of cache and RAM
I'm pretty sure no developers (or hardly any) bothered to learn the architecture of the P6. The whole point of using a Pentium III was that the architecture was no longer all that relevant, since they could get standard PC performance out of it (unlike the SH4 or R5900 which ran at 1/4 the speed). There was also probably no guarantee from the version of "Windows" running on the OG Xbox that a game would be un-interupted, so pipeline optimizations would have probably been hit or miss. Though that's not to say that the SIMD extensions weren't used. Compare that to the PS2 which let the game effectively run bare metal (I believe the Dreamcast also did that, though I thought it ran a version of Windows CE which may or may not have that type of functionality).
Also, a 14 stage pipeline isn't that crazy... the PS2 effectively had a 12 stage pipeline (each pipeline stage was broken down into two phases) - similarly the N64 then would have had a 10 stage pipeline (again breaking the pipeline stages down into 2 phases).
Yes, exactly!
And that's typically how game development is focused on now with consoles.
Interesting regarding the OS that Mircosoft provided though...
Seems like there was quite a bit of Middleware to get to the I/O and no virtualization of memory.. I suppose as they say, baby steps.
@@ZygalStudios Are you sure about it not using virtual memory? That would have been very hard to develop for without it (because the Windows kernel took up an unspecified amount of memory at some specific location).
@@hjups It's a UMA without virtual memory as far as I know. The CPU has to address RAM without virtual paging from what I've gathered.
@@ZygalStudios Yep, I know it's UMA, but I'm pretty sure it uses virtual memory. A quick search online mentions that Windows 2000 kernel can do virtual paging to the hard drive. Everything was most likely programmed via a series of APIs / drivers, so the developer could just write the game as if they were writing it for a PC. If they also had to worry about where specifically in memory the game was sitting, then that would have been a nightmare (since that would most likely require better knowledge of the kernel). In terms of UMA, the benefit there is that they could have pointers in RAM which were sent to the graphics API which didn't have to do any copying. It would still do a virtual to physical translation at the kernel level though.
@@hjups Here, take a look.
en.m.wikipedia.org/wiki/Xbox_system_software
Memory paging was removed from the heavily modified proprietary Windows 2K kernel they used.
It just used a HAL to abstract for the programmer and used direct embedded calls underneath. No virtual memory was necessary because the Xbox devoted all of its resources to running one game at a time. In fact, some implemented virtual memory in software later for emulation to load in more memory than what was given.
Also we have the Xbox to thank for killing the exclusives market - which is good and bad.
Nowadays it's just so easy to package your game for Sony, Xbox and PC.
It used to be a huge time investment to port games made around one architecture. I can't imagine the amount of additional work that went into porting a Playstation game to the Saturn or N64
Now almost every game comes out together on all platforms with Nintendo being possibly the one exception
Although ARM is not a rare architecture, in fact it is quite common in the consumer market thanks to mobile devices, this makes the Nintendo Switch basically a phone following that logic.
Android (ARM) has more market share than Windows (x86), yes, Android has x86 builds mostly made by the community and Windows has an official ARM edition but they are nowhere near as popular as the mainstream ones.
As for porting, that was because before 7-6th gen mostly assembly language was used to program most games, and assembly language is specific to each architecture, it's not portable, so if you wanted to release a cross platform game you had to rewrite the game for each platform which was a lot of work, this also contributed to the games looking so different across the different platforms
Great video!
Great explanation thank you
as always you've made our day
Love these videos!
Part of me is sad consoles became PCs. Consoles used to push the industry forward with new innovations in CPU/GPU/system design… now they’re just AMD PCs 😅
Not to say AMD’s SoCs haven’t been good for the last few generations… but I think the Arm guys could do a lot better with the power budget 😁
Thanks for watching! Totally agree. Who knows, maybe we might see more of that in the future 🤔
After all, the switch is ARM powered!
@@ZygalStudios True! Hopefully Nintendo will stick with Arm SoCs going forward, I can’t see a good reason to switch to x86 (pun intended lol)
Wonder what the next Switch SoC will include 🤤
Or PCs became consoles ♻DirectStorage came first on Xbox before landing on PC and is still not completely finalised on PC to this date.
Except it wasn't a PC-in-a-box, and that kind of thinking is why we didn't have breakthrough progress in xbox emulation for *_TWENTY_* years.
I loove making little programs with the microsoft XDK though :) Visual Studio 2003 is very nostalgic!
Progress in xbox emulation isn't because modders suddenly got their hands on some magical unicorn predecessor-machine to reverse-engineer, they had alpha kits for twenty years; it's because they finally started getting over this exact bone-headed habit of thinking that the xbox is a PC-motherboard-in-a-box to be lazily panned.
You're right but compared to every other console on the market it was a giant leap forward towards the consoles adopting PC architecture.
@@themeangene That x86 has monopolized the home console market meant less innovation tho, I hope newer, truly open architectures like RISC-V will find adoption in that market and other consumer markets.
5:48 SATA? OG XBox was IDE??????
Remember how Halo 1 was cool. Also remember how Halo 5 looked better but sucked gameplay wise.
consoles use to be innovative and not tied down to X86 tech, I wish Sony never got in the game and ruined video game development and made cost skyrocket. I blame Sony
Here’s the thing about OG Xbox. It’s trash. It huge. The control pads were ridiculously huge with way too many buttons although analogue triggers were a nice addition.
But it was big and noisy and game didn’t run well. Using a CISC CPU running on a Windows kernel means Windows is handling all the memory management. There no way developers would have enough knowledge to take control of the pipeline any any kind of detail. The result? Shitty frame rates. Maybe smooth sometimes, but wildly inconsistent and frame drops all over the place. No matter how good the developer is. With no possibility to program assembly and have proper control of the data pipeline you can maybe push a game out more quickly but you are just hoping for the best in terms of the end product.
This is why Xbox games don’t feel as solid as DC games or previous gen games going all the way back to the Atari VCS.
Because memory management is handled by software you can’t control, you get frame drops all the time and games feel less satisfying to play. Frame rate consistency is more important that high fidelity or special effects and this is where the Xbox lead the industry.
In prioritising impressive effects over consistent performance from simplifying the development process and taking memory management and writing custom effects away from the developers, development time was spent more on applying effects from the direct x library and dropping them into the games because that’s now the only option. There’s no longer the option to optimise performance and prioritise steady frame rates as the knowledge to do so in far to involved and specialised.
So without a RISC CPU and accessible GPU you are no longer able, as a dev to fine tune your code and effects are limited to the directx library.
So game development is limited as much as it is liberated by a locked in OS and graphical effect library.
Also the console features a personality which was extremely dull. If Halo is it’s mascot then that says it all. Just an army space guy with a laser gun. Not even a face. Pure vanilla lack of imagination game. Boys only. Gears of War. Complete turn off. Def Jam wrestling game kind of amusing. But boys club macho stuff again. Fable, utterly vanilla game design and theming.
Complete lack of ambition or imagination is the Xbox, leading gaming into two consecutive generations of bland gaming by numbers military drudgery.
Sega still made some cool games but they were aimed at Sega fans who didn’t buy the Xbox and failed to find an audience on the platform.
A legacy of hands off development and effects over performance with a generation of boring game design.
Wow you single-handedly managed to write the most nonsensical comment of all times. You mixed up all the technical concepts and reached a foolish conclusion. I suggest you read a book about computing before making a fool of yourself next time. apart from that, have a nice day mate!
@so well. That was a salty rant. But there is some truth in it all. Developers are quite disconnected from hardware these days. I was just watching Forza Hotizon 5 and it drops frames all the time. Also it’s dumb.
@so that’s funny though because crt tv’s had 512p scanlines. I didn’t get a 720p tv till like 2015.