I have done quite a lot of Gameboy/Gamreboy Color stuff. The CPU is an 8080 with the bit commands added. No WAY is it a Z80. No alternate register-set, no IX, no IY. I spent some time comparing them and I cannot see why people keep saying Z80, it's even on Wiki & if I change it, someone changes it back!!!! I could scream :crying: /madness Peace ;-)
Apparently it has been discussed before: http://assemblergames.com/forums/showthread.php?t=20129 I would have no idea myself. :icon_bigg
I know I have somewhere between all my backups, a document sent by Nintendo presenting the Gameboy Color to game developers (I honestly have no idea about where is it right now, I'll try to find it but checking hundreds of discs can take a while ), and in all the damn document the processor is named "Z80", the fact that the same Nintendo calls the processor like that can be one of the causes why it's known like that. I agree that it's not a real Z80 (that's what called my attention in that stuff), in the best of the cases is a heavily modified version of it...
It's an 8080 with 12 extra instructions, not a Z80 minus 114 instructions. It also runs at 1.05MHz (GB) or 2.1MHz (CGB).
I'll leave the z80 vs. 8080 argument to the experts, but this goes to show that wikipedia can put out general ignorance since they only consider fact what the general public thinks so, so if everyone though lead was good for you, wikipedia would make it say that in response.
People who keep editing Wiki piss me off. No end of pages I have spotted mistakes in and they never get corrected, or once corrected they revert back etc. Prime example being that my father in law was the drummer for a very famous 60s band. He left them, was replaced. Long story short, whenever we added his name as a former member, someone deleted him out. In the end we gave up. Take everything you read with a pinch of salt. Perhaps even this?!
Can I punch piglet for ignoring the bleeding obvious... namely... 1 - It uses a Z80 instruction set rather then the 8080 instruction set. I think that is a BIG clue to stating what it might be. 2 - There are no relative jump instructions in the 8080 but there is in the Z80 and the Gameboy CPU and they have the same opcode. 3 - All the shifts, rotates as well as the bit test, reset and set instructions in CB opcode range exist both in the Z80 and the Gameboy CPU. 4 - The SLL instruction that did exist in a bugged state in the Z80 but was removed from the official documentation doesn't exist in the Gameboy CPU even though logically there should be a SLL instruction to compliment the SRL instruction. 5 - Some of the removed gameboy instructions existed in the 8080 and Z80 anyway, for example the Parity flag and instructions like JPE nn (8080) / JP PE,nn (Z80) as well as I/O instructions like the IN instruction IN n (8080) / IN A,(n) (Z80) 6 - The Gameboy CPU is made by Sharp who have a license to make Z80 CPUs from Zilog (who thankfully offered the license royalty free) and they have made several microcontrollers that have a Z80 base. 7 - It lacks a lot of the new instructions that the Z80 introduced, true although most of these new instructions take so many T-States that it's probably a good thing, in most of my code apart from the useful LDIR/LDDR instructions, I can't say I really use the others. The LDI and LDD instructions are much more useful. 8 - Most of the other instructions relate to the IX and IY registers that were removed and again most of the IX and IY instructions took so many T-States that it was painful. The new LDH instruction effectively replaces the need for the IX/IY registers. So please state that the GB uses a cut down Z80 clone from now on.
I'm still waiting to hear what Piglet has to say about my evidence which basically shows the GB CPU is a cut down Z80 rather then a 8080 with more instructions.
I thought about trying to inform people that playstation didn't use an r3000 via wikipedia, but I got over it.
The GB uses the Z80 mnemonics, not the Z80 instruction set. Where, I ask, is the alternate register set, where is IX & IY. The GB is an 8080 with 11 instructions added, not a Z80 with, lets see, 211 instructions removed. I think only people who have coded both are apt to make a sensible reply. By the bypass, doesn't the PSX use an R4300 CPU which is an R4000 with the cache removed and a 16K cache in it's place?
Most of the added instructions as you put it happen to be Z80 instructions, using the same instructions and the same opcodes, which will make it a subset of the Z80 rather then a enhanced 8080, which it still isn't as things like the I/O is missing as are the Sign and Parity flags. The fact if it was a enhanced 8080 why didn't they fix SLL and use that rather then use the official Zilog method of ignoring it ever existed?
Look, it's eithe an 8080 with the BIT and LD (HLI) instrructions added, or its a Z80 with 211 instructions added. Since you seem to be confused between mnemonics and the underlying instruction, I suggest you read the history of the 8008, 8080 & Z80 line. Oh look, Z80 was backwardly compatible! I've coded both, I KNOW the difference.