30

Please don't point out APUs with x86_64 cores used in current generation game consoles, these are not part of the question

I cannot recall a single arcade system or game console that ever used x86 for its CPU. I'm happy to be corrected in the comments if there were some. Notwithstanding these exceptions, which must be incredibly rare, it sure seems that gaming hardware steered away from this otherwise incredibly popular CPU family.

Why is this the case? What tradeoffs in game hardware design likely led engineers away from using x86 for the CPU?

8
  • 12
    I think Mad Planets, Krull, and Q*Bert, were all based on a 16-bit x86 platform.
    – supercat
    Commented Apr 18, 2019 at 15:29
  • 10
    Adding to supercat’s examples, there were a few x86-based games consoles: the FM Towns Marty (1993) used a 386SX, the WonderSwan (1999) a NEC V30 MZ. The Xbox nearly counts as retro now ;-). Commented Apr 18, 2019 at 16:00
  • 4
    Several Irem arcade machines also used NEC V30 CPUs. Commented Apr 18, 2019 at 16:08
  • 19
    I'm not sure why you're making a distinction about "discrete" CPUs. The PlayStation 4 and Xbox One have x86 CPUs with integrated graphics, like almost all x86 PCs these days. In any case, you're going to have to come up with different criteria to exclude the original Xbox and it's discrete Pentium III.
    – user722
    Commented Apr 18, 2019 at 16:52
  • 5
    Just looking at the list of Sega arcade systems, there are multiple systems using discrete x86 processors: Chihiro, Lindbergh, Europa-R, RingEdge, RingWide, RingEdge 2, Nu, ALLS. Due to the shift towards home gaming causing the decline of arcades, I'd venture to say that you aren't going to find any non-PC based arcade systems anymore.
    – user71659
    Commented Apr 18, 2019 at 18:21

9 Answers 9

62

Video game hardware, whether for home consoles or arcade machines, is designed pretty much from scratch. Hardware designers have pretty much free rein on choosing what CPU to use, basing their choice on factors like cost and ease of programming. The Intel 8086, quite frankly, was a poorly designed processor and was never well regarded. While you could argue it made reasonable compromises at the time it was released (1978), these compromises ended up hanging around its neck like an albatross. If IBM hadn't picked the Intel 8088 for its Personal Computer in 1981, you probably wouldn't be asking this question.

We take the x86 architecture for granted today, but before the IBM PC it was fairly obscure and afterwards widely ridiculed. In particular, it compared poorly with the Motorola 68000 which had a flat 24-bit address space, more orthogonal instruction set and sixteen 32-bit registers. The 8086 used a segmented 20-bit address space, placed more restrictions on how various registers could be used, and only had eight 16-bit registers. It also wasn't particularly cheap, though the 8088 with its 8-bit data bus helped reduce overall costs compared to the 8086.

During the 70s and first half of the 80s, 16-bit CPUs like the 8086 and 68000 weren't really much of a consideration. The games of this era didn't demand anything more powerful than an 8-bit Z80 or 6502. While there were Gottlieb/Mylstar arcade games like Q*Bert in the early 80s that used a 5 MHz 8088 CPU, it's not clear what advantage this gave the machines. Performance in games of this era was mostly limited by how fast the CPU could access memory. Because of how the 8086/8 was designed, this made the 8088 effectively about as fast as a Z80 or 6052. These Gottlieb/Mystar arcade games also only had 64k (16-bit) memory maps, so they didn't benefit from the 8088's 20-bit address space.

Starting around the mid-80s, games had started moving beyond the capabilities of 8-bit CPUs. While the dominance of the IBM PC in the personal computer market at this point would've meant there would be programmers out there familiar with the 8086, there would've been few people singing its praises. By and large 68000 CPUs were chosen for new arcade game hardware designs that needed more power than 8-bit CPUs offered. Console hardware, being more cost sensitive, stuck with 8-bit CPUs for the rest of the decade, though most of the next generation went with 16-bit CPUs, either the 68000 or 65816. It's also worth mentioning that the two major new home computer designs of the mid-80s, the Commodore Amiga and Atari ST, also went with the 68000.

While arguably the 80386, introduced in 1985, solved a lot of the 8086's problems, with a more orthogonal instruction set, 32-bit flat address space and 32-bit registers, it wasn't until the early 90s that games started demanding the level of performance it offered, and when its price would have dropped to make it competitive in new hardware designs. It's not entirely clear to me why it didn't attract more interest at this point. The early 90s was also about the time that the IBM PC became the premier platform for home computer gaming. It would've inherited the disdain its predecessors had, but there were some arcade boards designed in the early 90s that use the 8086-compatible NEC V30 type CPUs. I think the main factor against at the time was that back then RISC-based architectures were considered the future, while CISC-based architectures like the x86 and 68k were considered obsolete. Still, that didn't stop Sega from using the CISC-based NEC V60 CPU in its arcade hardware designs in the early 90s.

For the rest of the 90s though, RISC-based CPUs like the Hitachi SH and IBM PowerPC, dominated arcade hardware designs -- at least at the high performance end. At the lower performance end, cheaper 68k and NEC V30 based designs were still in use. In the home console market, the 5th generation was almost all RISC CPUs, though notably the Japan-only FM Towns Marty used an AMD 386SX CPU. For the most part, this situation continues to around the turn of the century, with both arcade games and the 6th generation of consoles.

A big exception is Microsoft's Xbox. A 6th generation console, released in 2001, it has an Intel Pentium III CPU, much like PCs of the time. It's not surprising that Microsoft, with its long experience using the x86 CPU, made this design choice, but it's only a few years after this that mainstream Intel and AMD CPUs start appearing in arcade hardware. Although these x86-based arcade machines aren't really new hardware designs, they're PC clones running Windows or Linux. The 7th generation of home consoles went exclusively with PowerPC CPUs, but I suspect this had more do with the prices IBM was offering rather than the relative technical merits of the CPUs. Arcade games went increasingly with PC clone based hardware.

Today the choice of CPU in current game hardware designs is unremarkable. Home consoles and arcade games use x86 CPUs just like our personal computers do. Handheld consoles use ARM CPUs just like our phones do.

So, in the early days of game hardware design, x86 CPUs weren't chosen simply because there wasn't good reason to use one except for IBM PC compatibility. Later 32-bit x86 CPUs solved a lot the architecture's problems but RISC CPUs were seen as more modern. Today the ubiquity x86 architecture combined with its unrivalled speed has turned it into the dominant CPU architecture for game hardware that doesn't need to run off a battery.

19
  • 5
    Certainly x86 is ubiquitous, but the tablet/netbook cores they use in the Xbox One/PS4 are mediocre in performance at best. I think the driving factor is that a major GPU vendor, AMD, had in house SoC IP that they could use and integrate. As Nintendo shows, NVidia+ARM, benefiting from all the game engine work on smartphone gaming, is a viable competitor.
    – user71659
    Commented Apr 18, 2019 at 21:57
  • 3
    I think Microsoft even named the X-Box in homage to the DirectX API.
    – Brian H
    Commented Apr 18, 2019 at 21:58
  • 19
    @RossRidge: Describing the 68000 is a 16-bit CPU is like describing the Z80 as a 4-bit CPU because of the size of the primary ALU. Very few instructions are limited to operating on 16-bit quantities, stack operations are expanded to 32-bits, and pretty much everything about the architecture is 32 bits other than the fact that many 32-bit operations are automatically performed in two 16-bit chunks.
    – supercat
    Commented Apr 18, 2019 at 23:15
  • 2
    @supercat Nonetheless the 68000 is often regarded as a 16-bit CPU. Whatever you call it, it was the 68000 most 8086 detractors pointed to as an example of a better designed CPU and it was the 68000 most gaming hardware used when 8-bit CPUs didn't cut it anymore.
    – user722
    Commented Apr 18, 2019 at 23:29
  • 5
    @supercat speaking as a former compiler writer the 8086 had too few registers and too many of them had hardwired special functions in the ISA - and that's when you consider the 8086 on its own before comparing it to the 68K. (Given what it had though the addressing modes were good.)
    – davidbak
    Commented Apr 19, 2019 at 16:22
11

The original Xbox was an ~$800 computer sold at a loss, with embedded hardware making it impossible to use it as such. To my knowledge, Microsoft was the first company to take that gamble: that it couldn't be hacked and used as a home PC, and therefore negate the sales of their peripherals or software that they get kickbacks on. They took that gamble because (they're a computer company, not a gaming company) they could afford it, and they won big because they had competent people design the system, and a marketing strategy to suit.

4
  • It took quite a while before the X-Box was hacked. Apparently some very elaborate tricks were used. Commented Apr 19, 2019 at 20:02
  • 1
    iirc, it took about a decade before anyone even claimed to have hacked it. That's well beyond the service length of a console, and as a PC if it ever did become one. And I assume this strategy continues: I built a refurbished PC when Fallout 4 came out for ~$500. Its specs are all half of an Xbox One; thus an X1 is/was a ~$1000 computer.
    – Mazura
    Commented Apr 20, 2019 at 1:51
  • I think you are confusing it with some other console. Modchips for the original xbox seem to have been available as early as 2002. web.archive.org/web/20030207054337/http://… Commented Aug 7 at 19:20
  • Modchips just let you play bootleg games, not use it as the thousand dollar computer that it was, for 400 bucks. You also still had to buy four, sixty dollar controllers, every eight months to use the thing. Meanwhile, I have HIDs from Logitech that are +20yo....
    – Mazura
    Commented Aug 11 at 20:40
9

Konix Multisystem: 6 MHz 8086 (1989).

Sure, it was cancelled just before release, but it got amazing press (I remember Jeff Minter raving about it at Earls Court) and some of it lived on as the (68k based) Atari Jaguar.

0
7

The original 8086 was quickly overshadowed by the Z80, which was somewhat compatible but easier to work with as it required less support hardware. Also many arcade developers preferred the 6502 and derivatives, and then later the 68000 which was easier to work with on both the hardware and software fronts.

Another issue was that the development machines available for testing code were often 68000 based as well. One prime example was the Sharp X68000. A lot of game programmers of that era were self taught too, and for hobbyist home computer systems Z80 and 6502 dominated with very few using 8086.

Finally, the 8086 was much more expensive than the Z80, while offering no real advantages over it unless you were expecting to buy millions and sell a line of compatible computers for years to come.

8
  • 13
    This would make sense if the CPU in question was the 8080, but the 8086? Yes, it was much more expensive than the Z80, but the Z80 wasn’t compatible with it, and the 8086 was much more capable than the Z80... Commented Apr 18, 2019 at 16:38
  • 5
    @StephenKitt Not as much you might think for games in the 80's. If you compare a 4 MHz Z80, a 1 MHz 6502 and a 4.77 MHz 8-bit 8088 they all accessed memory at about same speed, which is most of what a game of that era is doing. A 16-bit 8086 could potentially double this speed by accessing two bytes at a time, but only by greatly increasing the cost. If that cost could be justified then it would also justify using a 68000.
    – user722
    Commented Apr 18, 2019 at 17:11
  • 1
    @RossRidge: If fulfilling a device's RAM and ROM requirements would require an even number of banks or each, the relative cost advantage of putting them all one one 8-bit bus, versus having half on the the upper 8 bits of a 16-bit bus and half on the lower 8 bits, would be relatively slight. The instruction size vs capability tradeoffs for the 8086 were designed so that code fetching and execution could be asynchronous tasks that would happen at about the same speed. The 8088 effectively cuts prefetch speed in half which means the processor spends most of its time awaiting code fetches.
    – supercat
    Commented Apr 18, 2019 at 22:30
  • 2
    "The original 8086 was quickly overshadowed by the Z80, which was somewhat compatible" -- compatible how? Commented Apr 19, 2019 at 20:31
  • 1
    @WayneConrad probably confusing 8080 and 8086, which is pretty common and pretty understandable. Commented Aug 7 at 4:06
5

I have no info about the gaming consoles but when I was creating my own HW computing stuff, for different purposes. I did not use Intel CPUs as they require additional ICs just to be able to work. It stuck till today as the PCs have a chipsets on board.

Z80 and/or MCUs (even from Intel) were preferred by me as they did not need those and fewer ICs is usually cheaper, easier to design with and to manufacture its PCB. Once an MCU's computing power matched my needs, I stick with those and keep using them today in my designs.

So my bet is that in early day game console designers used similar reasoning.

6
  • 11
    Why the boldfacing? I find it to be very distracting.
    – user
    Commented Apr 20, 2019 at 19:16
  • @aCVn I am used to Shortcuts and acronyms in bold...
    – Spektre
    Commented Apr 21, 2019 at 7:22
  • Removed 'shouting' bold, straightened up presentation for clarity.
    – TonyM
    Commented Aug 7 at 10:56
  • @TonyM bold means shouting on RC? I remember UPPERCASE was used for shouting on SE ... btw. where I come from bold is used for emphasizing and sometimes for important stuff in the sentence
    – Spektre
    Commented Aug 7 at 18:29
  • 1
    Hi @Spektre, not a private SE.RC standard, it's a common internet posting thing, from the feelings people have when reading it. In my writings (tech pubs, emails, presentations etc.) emphasis is only used where the word meanings might otherwise be lost amongst the text. If not, many read it as the obvious being shouted at them. Here, if you read this edited answer through, you don't end thinking, "Oops, didn't notice CPU in there - or how important it was" :-) Otherwise, users may emphasise more'n'more and it just reads over-stressed. A calm voice gets its points into the reader's mind better.
    – TonyM
    Commented Aug 7 at 18:52
3

SEGA made several arcade boards in the early 2000s that used discrete Intel CPUs paired with Nvidia GPUs, starting with the Chihiro and continuing.

2

The Seibu Kaihatsu SPI arcade system used a 25 MHz 386 DX for the main CPU. That hardware was used for games such as Raiden Fighters.

0

They didn't choose to use x86 CPUs for the same reason that most of the CPUs that they did use on consoles of the time didn't implement a hardware floating point unit, even though it was available on x86 PCs for some time already. It has been mentioned already, but RISC and other CPUs provided more performance for the same cost, or just much better cost since performance was not a priority. The SNES (Super Nintendo Entertainment System), released in 1990, had a CPU that operated at only 3.58MHz. Since a game console is a custom computer for video gaming, money can instead be invested in to specialized video processing. On the NES and SNES, there is a specialized video unit that does most of the work. The CPU just tells the video unit to draw images from memory on different areas of the screen. The video unit draws them in real time at 60 FPS with no lag, the speed of a System M (NTSC) TV. A PC from 1991 with a 486 CPU couldn't come close to doing that. A 286 or 386 paired with the specialized game console video unit could, but it would cost more and offer little benefit.

But a 486 would significantly outperform the game console at running a word processor or other office applications. The 486 is also compatible with software for the original 8086, even though this caused somewhat of a performance burden on later CPUs, so much so that Intel was considering dropping support for the 8088 around the time that the Pentium came out. They decided not to, and as time when on, the portion of transistors devoted to maintaining 8086 compatibility became less and less. By the time the AMD64 architecture was released, the proportion of transistors devoted to 16-bit 8086 compatibility was so small, and the design limitations of i386 done away with, that the AMD64 x86 architecture was no longer held it back compared to other designs that had a fresh start. Today's consoles demand high performance CPUs as well as GPUs, and modern AMD64 x86 is comparable to PowerPC and other architectures that were better designed from the ground up.

0

otherwise incredibly popular CPU family

Other answers have pointed out the relative advantages/disadvantages of 8086 vs. Z80 vs. 6502 vs 68000, etc. from cost, complexity and other aspects. To be honest, I don't think arguments such as "games didn't need more than 64k so why move past 8-bit CPUs" don't really apply - if the cost/performance was appropriate then there is no reason a machine wouldn't be designed to use more memory, faster CPU, etc., though x86 often lost out in such things relative to arguably better designed architectures such as the 68k.

But the key issue is that "incredibly popular CPU family" was due to 3 related reasons:

  • IBM choosing the 8088 (and eventually 80286, 80386, etc.) for the IBM PC. Which was a "home computer" in certain aspects but was initially primarily a business computer due to cost. Which extended to the vast market of PC clones from Compaq to Dell and beyond.
  • Microsoft's dominance of the operating system market. Starting with MS-DOS/PC-DOS dominating the IBM PC market and eventually leading to Windows. All of which was for many years x86 products. (Microsoft BASIC was a different story - that ran on many different CPU families.)
  • Software Inertia - This started with converting 8080/Z-80 applications from 8-bit CP/M to 16-bit MS-DOS/PC-DOS, such as dBase II, WordStar, etc. And then it went to another level, letting people use their real-mode applications on the faster 286-based systems (but only using the extra memory for EMS and not generally running native-mode 286 applications) to using their real-mode applications in virtual machines inside a 386. Eventually the applications moved to true 80386, 80486 and beyond, making use of all available memory, new instructions, guaranteed floating point and so on. But it was a gradual process with a lot of inertia.

Yes, it was possible to emulate x86 on other architectures or run MS-DOS/PC-DOS applications inside other operating systems, but that all had a significant speed and complexity (definitely not for the average user) penalty. For most people, and especially for businesses that were driving the early x86 usage ("home" computers such as the Apple II series were sold into the early 90s), that meant if you got into the x86 architecture you stuck with it.

Gaming systems - especially stand-alone arcade systems - weren't an IBM/business market. They weren't running an operating system as we typically think of it, really much more like an embedded system like running traffic signals (but with better graphics :-) so no MS-DOS/PC-DOS issues. And they didn't have the software inertia that other computer systems had: you wouldn't take a Mortal Kombat machine with a 6 Mhz. TMS34010 and say "let's load up Pac-Man this week since it is so popular" when Pac-Man was designed for a Z-80A at 3 Mhz. Even if the CPUs were compatible you wouldn't do that. Arcades just didn't work that way - you got new machines with new games and that's what they ran.

Home game consoles were a bit different - there backwards compatibility was a significant issue. But there you had removable cartridges and is some ways a basic operating system. However, the inertia was always back to the original (or previous) console in a given manufacturer's series, and most of those didn't start with x86 so they didn't follow the x86 evolution.

One more key difference: eating your own dog food. Once computers, particularly of the IBM/Microsoft/x86 type, became powerful enough, they were used to develop the software that was made from them. Just like today, you would edit, compile and run software all on the same system, even from the early days of the IBM PC. While I am sure someone, somewhere, somehow developed compilers that would run on an arcade system or a game console (Coleco Adam for example), by and large arcade systems did not normally have keyboards, disk drives and other things needed to actually write software. You would write the software on some other system and then transfer it to the system under development (e.g., via EPROM). Those editors, compilers and other development tools were a large part of the software inertia in the x86 world, and they simply didn't apply to the arcade systems and game consoles directly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .