Post subject: "Bit-ratings" of video game systems
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
I imagine that many members of this forum (especially those who work on emulators) know what I'm talking about here; by such terms as "8-bit" and "64-bit" is meant the word size of the CPU and nothing else: Even if a computer cannot take in 64 bits at a time (for example, the N64 with its 32-bit data bus), if the largest unit of data it can work with in one operation is 64 bits then it is a 64-bit machine. In particular, the CPU word size (a.k.a. "bit-rating") says nothing about the CPU speed, number of cores, amount of memory, or graphics processing power, though up to the fifth generation of video games, increases in CPU word size did indeed go along with more general increases in the power of the video game systems, and that is why you saw things like "16-BIT" in relief on the original Genesis console and such names as the TurboGrafx-16 and Nintendo 64, while you don't hear much about this stuff now because we don't exactly have 256-bit consoles even though that's what a lot of us expected two generations out from the days of the N64! Anyway, I thought this would be a good place to collect some information about the CPU word sizes of various consoles and handhelds (BTW, the last *handheld* to be marketed by its CPU word size was the 32-bit GBA IIRC, and then only briefly) and maybe even arcade machines throughout history; I imagine that someone else has done it on the Internet, but I don't know where, even though I believe all the necessary information is available on Wikipedia. N.B.: Before you laugh at the first entry in this skeleton, I do know at least that the first Texas Instruments calculator was 4-bit, using the Intel 4004. Fake edit: Well what do you know, the first handheld ever (Microvision) was 4-bit. *THIS LIST IS INCOMPLETE, ESPECIALLY THE ARCADE MACHINES!* 4-bit Handheld: Milton Bradley Microvision (later TI TMS1100 version) Console: Arcade: 8-bit Handheld: Milton Bradley Microvision (original Intel 8021 version) Sony Playblock TimeTop GameKing Tiger game.com (Sharp SM8521) Watara Supervision (Western Design Center 65C02) several companies Mega Duck/Cougar Boy (MOS version of the Z80) Pelican VG Pocket Tablet Nintendo Game Boy, Game Boy Color (custom Sharp x80s, implemented a subset of Z80 functionality) Sega Game Gear (Zilog Z80) Sega Dreamcast VMU (Sanyo LC8670 "Potato") Atari Lynx (MOS 65SC02 with 16-bit address space, also contained custom 16-bit CMOS graphics chip "Suzy") Console: Atari 2600, 5200, 7800 (based on MOS 6502) ColecoVision (Z80) Emerson Arcadia 2001 (Signetics 2650A) Fairchild Channel F (first system to use ROM cartridges and first to use a general-purpose CPU and therefore have a "bit-rating"; used the Fairchild F8, made by Robert Noyce, who would later found Intel) Interton VC 4000 (Signetics 2650A) Magnavox Odyssey² (Intel 8048) Sega SG-1000, SC-3000, SF-7000, Master System (Z80 or clone) Nintendo Entertainment System (Ricoh 2A03) NEC TurboGrafx-16 (modified 65SC02, with two 16-bit GPUs) Uzebox (ATmega644) Arcade: Namco Pac-Man, Galaga, Pole Position (Z80) Nintendo Radar Scope, Donkey Kong, PlayChoice-10 (Z80) Nintendo Vs. UniSystem, Vs. DualSystem Midway Astrocade (Z80) Sega G80, System 1 (Z80) 16-bit Handheld: Pelican VG Pocket Caplet SNK Neo-Geo Pocket Color (Toshiba TLCS900H, with Z80 for sound) Bandai WonderSwan, WonderSwan Color (NEC V30MZ or clone) Console: Mattel Intellivision (GI CP 1610) GCE Vectrex (Motorola 6809) Nintendo Super Nintendo Entertainment System (Ricoh 5A22) Arcade: Namco Libble Rabble, Super Pac-Man, System 86, System 1 (Motorola 6809) Nintendo Super System (Ricoh 5A22) 32-bit Handheld: Nintendo Virtual Boy (NEC V810) Nintendo Game Boy Advance (ARM7TDMI) Nintendo DS and DSi (ARM946E-S and ARM7TDMI) Nintendo 3DS and New 3DS (ARM11) Sony PocketStation (ARM7T) Sony PlayStation Vita (ARM Cortex-A9 MPCore) Cybiko Classic, Extreme (Hitachi H8S) Shanda EZ Mini (PXA270) Game Park GP32 (ARM920T core) Game Park GP2X, XGP (ARM920T and ARM940T) Nokia N-Gage (ARM9E) Tapwave Zodiac (Motorola i.MX1 ARM9) Tiger Telematics Gizmondo (ARM9) Console: Nintendo 64DD Nintendo GameCube (IBM PowerPC Gekko) Nintendo Wii (IBM PowerPC-based "Broadway") Nintendo Wii U (IBM PowerPC "Espresso") Sega Genesis (Motorola 68000 with a 16-bit data bus, and a Z80 for sound and SMS compatibility) Sega CD (faster Motorola 68k with 16-bit bus) Sega 32X, Saturn (2 Hitachi SH-2 RISC) Sega Dreamcast (Hitachi SH-4 RISC with some 128-bit FPU operations) SNK Neo Geo AES, Neo Geo CD (Motorola 68k with 16-bit bus) Philips CD-i (Philips 68070, based on Motorola 68k, with 16-bit data bus) Commodore Amiga CD32 (Motorola 68020) Atari Jaguar (Motorola 68k with 16-bit bus, with a 32-bit "Tom" GPU with some 64-bit instructions and a 32-bit "Jerry" DSP chip) 3DO (ARM60) NEC PC-FX (NEC V810) Sony PlayStation (MIPS R300A) Microsoft Xbox (custom Intel Mobile Celeron, based on the Pentium III) Ouya (NVIDIA Tegra 3, similar to ARM Cortex-A9) Arcade: Namco System 2, System 21, NA-1, ND-1 (Motorola 68k with 16-bit bus) Namco NB-1 (Motorola 68020) Namco System 22, System Super 22 (Motorola 68EC020) Namco System 11, System 12 (MIPS R3000A) Taito F3 System (Motorola 68EC020) Taito Type X, Type X+, Type X7 (Intel Celeron) Taito Type X² (Intel Celeron D, Pentium 4, or Core 2 Duo) Capcom Play System, Play System 2 (Motorola 68k with 16-bit bus) Capcom Play System 3 (Hitachi SH-2 RISC) SNK Neo-Geo MVS (Motorola 68k with 16-bit bus) Midway T Unit (TI TMS34010) Sega System 16, X Board, Y Board, System 18, System 24, Mega-Tech, Mega-Play, System C-2 (Motorola 68k with 16-bit bus) Sega System 32, Model 1 (NEC V60, with 16-bit data bus and 24-bit address bus) Sega Model 2 (Intel i960) Sega ST-V (2 Hitachi SH-2 RISC) Sega Model 3 (IBM PowerPC 603) Sega NAOMI, NAOMI 2 (Hitachi SH-4 RISC with some 128-bit FPU operations) Sega Chihiro (custom Intel Mobile Celeron, based on the Pentium III) Sega Lindbergh (Intel Pentium 4) Nintendo/Sega/Namco Triforce (IBM PowerPC Gekko) 64-bit Handheld: Sony PlayStation Portable (based on MIPS R-4000) Nintendo Switch (ARM Cortex-A57 and ARM Cortex-A53) Console: Nintendo 64 (NEC VR4300 with 32-bit data bus, and a 64-bit SGI GPU) Sony PlayStation 3 (Cell Broadband Engine) Sony PlayStation 4 (AMD Jaguar) Microsoft Xbox One (AMD Jaguar) Arcade: SNK Hyper Neo Geo 64 (RISC) Namco System 23, System Super 23 (MIPS R4650) Sammy AtomisWave (Hitachi SH-4 64-bit RISC) 128-bit Handheld: Console: Sony PlayStation 2 ("Emotion Engine") Microsoft Xbox 360 (IBM PowerPC Xenon triple-core) Arcade: Namco System 246, System 256, System Super 256 ("Emotion Engine") *THIS LIST IS INCOMPLETE, ESPECIALLY THE ARCADE MACHINES!* I decided not to include systems consisting of a repackaging of the same basic hardware, like the Nomad (portable Genesis), TurboExpress (portable TurboGrafx-16) or SwanCrystal (WonderSwan Color with a prettier LCD screen). Also, some peripherals, like the Famicom Disk System, did not have CPUs of their own as far as I could tell. Additionally, it seems as if none of the first-generation systems had general-purpose CPUs, and instead either used "game on a chip" designs or discrete circuitry; also, during the era of the first console ever (the Magnavox Odyssey, which used jumper cartridges with no ROM at all), the designer (Ralph Baer) had an idea that, if it had caught on enough to seem patentable, could have meant a financial death knell to nearly all ROM cartridge systems that came later on in the second generation and prevented such marvels as the DS and SNES from ever existing. I should mention that this topic will become controversial for the simple reason that I listed the TurboGrafx-16 as an 8-bit system and the Genesis as 32-bit...but for the latter issue, I had to be consistent here: The Genesis used a 32-bit Motorola 68k with a 16-bit bus and the N64 used a low-end 64-bit MIPS CPU with a 32-bit bus, and the Genesis always used 16-bit operations and the N64 almost always used 32-bit operations (which is why you can emulate it on 32-bit PCs lol). Perhaps I should list the Genesis as 16-bit and the N64 as 32-bit? Then again, word size != data-bus size... Also, as far as I can tell, all the add-on chips included in various SNES cartridges are 16-bit, except that the Cx4 chip in Mega Man X2 and X3 might be 24-bit, but I'm not sure if that's the right way to interpret the phrase "triple-byte registers": http://users.tpg.com.au/advlink/dsp/cx4.html Fun Facts: The Z80 and ARM processors are used in several graphing calculators, the Motorola 68k was used in Macs until System 7, and PowerPC CPUs were used in Macs after that until a couple years ago! Now, I wonder what CPUs the Nintendo Game & Watch units used...
i imgur com/QiCaaH8 png
Former player
Joined: 4/6/2006
Posts: 462
[This post can only be viewed with a TASvideos Gold Account]
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
erokky wrote:
[This post can only be viewed with a TASvideos Gold Account]
This is like that 4chan Gold Account troll a couple years back, right? ...right? :'-(
i imgur com/QiCaaH8 png
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Well 'bit-ratings' aren't really that special, I don't really see why you should need more than 32-bit, especially with DMA and all. A better factor to represent would be clock speed or RAM size
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Well, why not? He wants to collect that data, so let him collect. Or even better, help.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Post subject: Re: "Bit-ratings" of video game systems
Tub
Joined: 6/25/2005
Posts: 1377
about the genesis / M68000: the CPU is something between 16 and 32 bit. The CPU registers are full 32 bit, and there are many ASM instructions working on full 32 bit words (MOVE.l, ADD.l etc), while others (like multiplication) only worked on 16 bit. Still, it's word size is 32 bit. The M68020 added the missing instructions for 32 bit words as well as a 32 bit data bus.
P.JBoy wrote:
I don't really see why you should need more than 32-bit, especially with DMA and all.
First of all, in today's games with huge worlds, you'll need native data types with high ranges at reasonable precision. 32-bit-types just don't cut it. Second, how is DMA supposed to help with small word size? Are you confusing word size with address length?
m00
Post subject: Re: "Bit-ratings" of video game systems
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Tub wrote:
how is DMA supposed to help with small word size
I was just thinking of a form data modification that isn't affected to much by wordsize
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
P.JBoy wrote:
Well 'bit-ratings' aren't really that special
Part of the reason for this thread was to create a reference to hammer that point home all across the Internet; also I used the term "bit-ratings" in the title because it is more easily recognizable by clueless newbies (as I'll admit I was until a couple years ago) than the technical terms "CPU word size" or "external data bus size"...
i imgur com/QiCaaH8 png
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
arflech wrote:
P.JBoy wrote:
Well 'bit-ratings' aren't really that special
Part of the reason for this thread was to create a reference to hammer that point home all across the Internet; also I used the term "bit-ratings" in the title because it is more easily recognizable by clueless newbies (as I'll admit I was until a couple years ago) than the techical terms "CPU word size" or "external data bus size"...
Wouldn't this information be more suitable for, say, Wikipedia? Somewhat like this: http://en.wikipedia.org/wiki/List_of_video_game_consoles
Post subject: Re: "Bit-ratings" of video game systems
Player (206)
Joined: 5/29/2004
Posts: 5712
arflech wrote:
also, during the era of the first console ever (the Magnavox Odyssey, which used jumper cartridges with no ROM at all), the designer (Ralph Baer) had an idea that, if it had caught on enough to seem patentable, could have meant a financial death knell to nearly all ROM cartridge systems that came later on in the second generation and prevented such marvels as the DS and SNES from ever existing.
Er, what was the idea?
put yourself in my rocketpack if that poochie is one outrageous dude
Joined: 5/17/2007
Posts: 393
Location: Sweden
8-bit: NEC TurboGrafx-16 (modified 65SC02, with two 16-bit GPUs) Dude... this list is confusing
"No love for the game gear"
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
It is limited to 8-bit processing (8-bit registers, 8-bit instruction immediates, 8-bit RAM loading and storing). It's called TurboGrafx-16 because it's graphics are 16-bit (see 16-bit GPUs) as in colour depth.
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
Bag of Magic Food, the aforementioned idea was this: http://en.wikipedia.org/wiki/Magnavox_Odyssey#Design
Wikipedia wrote:
Ralph Baer also proposed the concept of "active cartridges" containing additional electronic components allowing adding more game features such as sound effects, variable net position, variable ball speed, etc. Unfortunately the idea did not catch any interest. In retrospect, all ROM-based cartridge manufacturers may have been required to pay a royalty to Sanders Associates had Ralph Baer filed a patent for his "active cartridges".
(emphasis mine)
Bisqwit wrote:
arflech wrote:
P.JBoy wrote:
Well 'bit-ratings' aren't really that special
Part of the reason for this thread was to create a reference to hammer that point home all across the Internet; also I used the term "bit-ratings" in the title because it is more easily recognizable by clueless newbies (as I'll admit I was until a couple years ago) than the techical terms "CPU word size" or "external data bus size"...
Wouldn't this information be more suitable for, say, Wikipedia? Somewhat like this: http://en.wikipedia.org/wiki/List_of_video_game_consoles
Maybe when it is organized better, like by processor type; still I guess if I can get this into Wikipedia and not speedy-delete-protected it will seem even more definitive than a thread on some random yet well-maintained forum.
i imgur com/QiCaaH8 png
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Calling the Zilog Z80 an 8-bit processor is quite far-fetched, IMO. Consoles and computers using the Z80 are called "8-bit" for the simple reason that they were marketed in the "8-bit era", iow. in the same era when other truely 8-bit consoles and computers (such as the NES and C64) were common. However, the Z80 is a full-fledged 16-bit processor. It has 16-bit registers, it can read and write 16-bit values from and to memory (iow. it has a 16-bit word size), it has a 16-bit ALU (which means that all mathematical operations can be done on 16-bit registers with single opcodes) and it has 16-bit memory addressing (meaning that you can address 64kB of memory with one single register in one single opcode). Even the official assembly language is very similar to that of the 16-bit intel processors. Thus if you are classifying the "bitness" of consoles purely on the word size of the CPU (and not how the consoles are colloquially referred to), classifying the Zilog Z80 devices as "8-bit" is basically wrong.
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
Warp wrote:
Calling the Zilog Z80 an 8-bit processor is quite far-fetched, IMO. Consoles and computers using the Z80 are called "8-bit" for the simple reason that they were marketed in the "8-bit era", iow. in the same era when other truely 8-bit consoles and computers (such as the NES and C64) were common. However, the Z80 is a full-fledged 16-bit processor. It has 16-bit registers, it can read and write 16-bit values from and to memory (iow. it has a 16-bit word size), it has a 16-bit ALU (which means that all mathematical operations can be done on 16-bit registers with single opcodes) and it has 16-bit memory addressing (meaning that you can address 64kB of memory with one single register in one single opcode). Even the official assembly language is very similar to that of the 16-bit intel processors. Thus if you are classifying the "bitness" of consoles purely on the word size of the CPU (and not how the consoles are colloquially referred to), classifying the Zilog Z80 devices as "8-bit" is basically wrong.
After looking at the Wikipedia article on the Z80 I suspect you're right, most of the registers are indeed 16 bits and there is even an undocumented ability to use a 16-bit I/O address space.
i imgur com/QiCaaH8 png
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
arflech wrote:
After looking at the Wikipedia article on the Z80 I suspect you're right, most of the registers are indeed 16 bits and there is even an undocumented ability to use a 16-bit I/O address space.
Curiously, the wikipedia article in question calls it an "8-bit microprocessor", and also the "8-bit" article prominently lists the Z80 as one. This is contradictory to the text in the latter article, which says "In computer architecture, 8-bit integers, memory addresses, or other data units are those that are at most 8 bits (1 octet) wide. Also, 8-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size." I really can't understand what is the reasoning for calling the Z80 an 8-bit microprocessor. It has 16-bit registers, a 16-bit ALU (which operates on 16-bit registers with single opcodes) and 16-bit memory mapping using 16-bit index registers. Almost everything can be done with 16-bit registers in the Z80. Either the definition of "8-bit microprocessor" is wrong, or categorizing the Z80 as one is wrong.
Joined: 11/1/2007
Posts: 100
This is a two-bit topic.
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
ITT I bump my first thread to show off an example of "bit-rating" marketing gone wrong: http://www.actsofgord.com/Chronicles/chapter18.php
i imgur com/QiCaaH8 png
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
arflech wrote:
ITT I bump my first thread to show off an example of "bit-rating" marketing gone wrong: http://www.actsofgord.com/Chronicles/chapter18.php
Oh dear. That attitude so reminds me of PR & lawyer departments of corporations. Stonewalling to no end.
HHS
Active player (286)
Joined: 10/8/2006
Posts: 356
The Z80 can only add, add with carry or subtract with carry using 16-bit operands, the other operations aren't available. But one could also say that IA32 CPUs are 128-bit due to the XMM registers.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
HHS wrote:
The Z80 can only add, add with carry or subtract with carry using 16-bit operands, the other operations aren't available.
What "other operands" are those, and how do they define 16-bitness? You can perform basic ALU operations with 16-bit registers, you can address memory using 16-bit index registers and you can load and store the value of 16-bit registers from and to memory. By all possible definitions this makes it a 16-bit processor. Exactly what is it that makes it an 8-bit processor in your opinion? The very definition of "8-bit processor" is that registers, the ALU and memory addressing are restricted to 8-bit values.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Warp wrote:
HHS wrote:
The Z80 can only add, add with carry or subtract with carry using 16-bit operands, the other operations aren't available.
What "other operands" are those
xor, and, or, not, shifts, multiplication, division, comparisons. The 8086 had an opcode that could load 32-bit values ("lds si,[bx]"), and it could produce 32-bit results in multiplication and take 32-bit value for division. It could also sign-extend a 16-bit value to 32 bits ("cwd"). Does that make it a 32-bit CPU? (I'm just playing the proverbial devil's advocate here.)
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Bisqwit wrote:
Warp wrote:
HHS wrote:
The Z80 can only add, add with carry or subtract with carry using 16-bit operands, the other operations aren't available.
What "other operands" are those
xor, and, or, not, shifts, multiplication, division, comparisons.
While I have programmed in Z80 assembly, it has been so very many years ago that I don't remember anymore for sure, but I'm somewhat certain that bit operations and comparisons were supported on 16-bit registers. (If I'm wrong here, I apologize in advance.) The Z80 doesn't support multiplication or division at all (regardless of register size), so they cannot be used as a measure of bitness.
The 8086 had an opcode that could load 32-bit values ("lds si,[bx]"), and it could produce 32-bit results in multiplication and take 32-bit value for division. It could also sign-extend a 16-bit value to 32 bits ("cwd"). Does that make it a 32-bit CPU?
The register size is 16 bits. Basic ALU operations, bit operations, comparisons and memory addressing cannot be done using 32-bit registers with single opcodes, so I don't think it can be considered a 32-bit processor by any possible definition.