gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Hardware > Exploration of GBA SP gui and a bit on the Micro.

#51338 - dmgice - Thu Aug 18, 2005 2:56 pm

Well, I was looking through the specifications on the Game Boy Micro at Nintendo's website. The specs are exactly the same, except for one detail.

GBA SP
CPU: 16MHz 32bit RISC-CPU + 8bit CISC-CPU
MEMORY: 288KB WRAM+96KB VRAM

GBM
CPU : 16MHz 32bit RISC-CPU + 8bit CISC-CPU
MEMORY: 288KB WRAM+96KB VRAM

That detail would be that the GBM specs on Nintendo of Japan's website say the unit can not play GB/GBC games, despite the obvious inclusion of the same chipset. Now, there does not apear to be any physical lock-outs on the units in any of the pictures taken of the cartridge port. So, it confuses me a little...

The only two reasons that I could come up with were that:

1. The unit does not output enough power to play GB/GBC games.
2. The little "gui"-esque thing that let you choose colors on GB games and screen size on GBC games has been removed.

So, I wonder if anyone knows what was on the chipset that detected GB/GBC games and told the GBA to play them the way it did. If my theory is correct, it could be possible to make an item similar to the GB Bridge device that would be able to just access the old chipset included in the GBMicro and make it act like the old GBC. It looks like all you would need is to put in a AA or two into the device to compensate for the lower voltage output and you would be set.

I own a lot of GB/GBC games and I would rather use a device like I mentioned above to be able to play games like Shantae and Link's Awakening on the Micro's sharp little screen, instead of having to resort to Goomba or other emulation. I would rather not do that.

If anyone comes up with something that can do this for the Micro, I'd buy it. The last thing I ever coded for was the Commodore 64.. so.. I'm a bit SOL on anything past that.. well.. that and HTML. My soldering skills are nothing to write home about either. That's why I'm mentioning it here.
_________________
Evilish!

#51368 - Oriums - Thu Aug 18, 2005 8:13 pm

The reason that you can't play GBC and GB games on the GBM and you can on the original GBA and GBA SP is because the last two has the CPU that the GBC has and their hardware is the same as the GBC. Nintendo chose to drop that feature in the GBM and that's the reason it can't play GBC and GB games on the GBM.
No external circuit will help you, you will have to emulate the older gameboys upon the GBM.
_________________
Look at:
http://www.oriums.com
For developments in GBA and NDS dev.

#51384 - dmgice - Thu Aug 18, 2005 11:12 pm

Yeah. The GBM has the 8bit CISC-CPU that the other ones do, so they didn't leave it out. I mean, that's the chipset right there. It's just missing part of its internal gui to detect GB/GBC headers as well as missing a voltage regulation switch. GB/GBC games use 5V of power while GBA games use about half that. The Nintendo DS is missing that 8bit CISC-CPU and the voltage converter and that's why that unit can't play GB/GBC software.

Anyhow, I'm asking if there is any interest in a device that works like the GB Bridge does, except in reverse. The GB Bridge increases the voltage supplied so that you can run GB and GBC rom images off of a GBA flashcard. What the device I'm proposing would do is this. Since the 8bit CISC-CPU is still there to be used, this device would go in like a normal GBA game, but would just bypass the 32bit RISC-CPU and pretty much make the GBA act like a GB/GBC.

I guess it's not really like the GB Bridge.. it would be more like the "Time Machine" Famicom player device that they sell at Lik Sang for the GBA SP. It would slightly increase the grip size of the Micro unit, while enabling it to play GB/GBC games.

Guessing from the poll though, no one is really interested in what could -theoretically- be an interesting device. I guess they are more interested in furthering development of illegitimate emulation to play older games they never bothered to buy for themselves. Then again, they might just be adverse to the idea of playing games like Link's Awakening or Shantae on a sharper screen with more vibrant color contrast and better button placement without the need for gray area emulators.

Oh, well... it was just an idea. I'm kind of a bit disappointed by the lack of any real drive for the idea. :-( It was an important idea to me.. mostly because I own over 300+ GB/GBC/GBA games. Heh.
_________________
Evilish!

#51386 - Dwedit - Thu Aug 18, 2005 11:31 pm

Or just get a GBA SP?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#51391 - ScottLininger - Fri Aug 19, 2005 1:07 am

I say, "why not?" It might not be something that's terribly popular, but it sounds like a "doable" tech project, and that's just fun.

-Scott

#51414 - FluBBa - Fri Aug 19, 2005 11:20 am

So exactly how do you put a normal GBA/GBA SP into GB/GBC mode?
_________________
I probably suck, my not is a programmer.

#51415 - strager - Fri Aug 19, 2005 12:28 pm

FluBBa wrote:
So exactly how do you put a normal GBA/GBA SP into GB/GBC mode?


If you compare the GBA carts and GB/C carts, the GB/C has a little switch that the GBA gets so it switches to GBC mode.
(baby terms)

#51424 - Lupin - Fri Aug 19, 2005 2:08 pm

Now i wonder why they even included the 8 bit z80 cpu in the GBM if it can't play any GB/GBC games natively the CPU wouldn't be used at all.
_________________
Team Pokeme
My blog and PM ASM tutorials

#51427 - dmgice - Fri Aug 19, 2005 2:49 pm

Basically, it increases the flow of electricity in the unit to match the output needed to play GB/GBC games.

The chipset for the GB changed when the GBC came out and then changed again when the Game Boy Advance came out.

Game Boy (DMG/MGB)
CPU: 8-bit Z-80 work-alike running at 4.194304MHz by Sharp.
VRAM: 8kB internal
Power Output varied by 0.5 in all three models. GB games run at 5.5V. The Game Boy Light was still MGB, just MGB-101 instead of MGB-001. There are two models of MGB-001 as well, one has the battery indicator light and the other does not.

Game Boy Color (CGB)
CPU: 4/8-bit Z80 work-alike at 8MHz (MAX); It has 2 modes, Single (4MHz) and Double (8MHz); designed by Sharp.
VRAM: 16Kb
Power Output for GBC games was 3V to 4V. Because of the dual mode, some GB games had sound output problems on the GBC. Most notable are games like Great Greed, and Original Game Boy Pac-Man. In fact, I covered that on my site back in 1998.
http://www.dmgice.com/news/221298.htm
That was back when IGN had their branding all over us. o_O I still need to go back and kill a ton of ads. A later version of the CGB fixed the sound problems, but the CGB-001 product name remained the same. Some games which were GB and GBC compatible had two different versions of the game inside of them. For example: Wario Land 2 and Conker's Bad Fur Day prohibit saving in GB mode and playing that save in GBC mode.
GBC Only games put into the MGB model Game Boy Pockets have a header specifically for the old GB. Metal Gear Solid: Ghost Babel has a cute one.

Game Boy Advance (AGB/AGS)
CPU: 16MHz 32bit RISC-CPU + 8bit CISC-CPU (ARM7)
MEMORY: 288KB WRAM + 96KB VRAM
Power Output for GBA games is 2V to 2.5V. The 8bit CISC-CPU is a slave chip that emulates the chipset for the GBC. However, if also did a better job of emulating the sound chip the GB had as the sound errors are completely fixed. Some GBC games detect the extra WRAM in the GBA and unlock specific features on the GBA that the GBC can not access. Games like Shantae, and The Legend of Zelda: Oracle series are two that do this.

Game Boy Micro (OXY)
CPU: 16MHz 32bit RISC-CPU + 8bit CISC-CPU (Arm7)
MEMORY: 288KB WRAM + 96KB VRAM
The Game Boy Micro has exactly the same specs as the Game Boy Advance, except it looks like they left out a voltage up-switch. Why would they include the Complex Instruction Set Computer architecture in the unit? Some GBA games use that 8-bit CISC-CPU as a slave CPU for some physics. Although, the GBMicro site that Nintendo of Japan has lists specifically that three types of game can not work on the GB Micro. Original Game Boy, e-Reader, and e-Reader Plus. Now, the reason that e-Reader does not work is a physical problem. The original Game Boy games not working is a lot more complex, if not suspicious. There does not seem to be any indication of a physical lock out, so it may just be a lot of hot air and Nintendo is worried about GB games draining the new battery extremely quickly (3 to 4 hours), so they stated it could not play them. That said, I wonder if anything inside the unit has changed to reject GB/GBC headers. If the inside is exactly like the SP as Nintendo claims, than we're just dealing with a voltage issue. If so.. I'm going to have to head down to Radio Shack.

I can't wait to get my hands on the unit, so I can mess around with it. At $100, it's pretty cheap. Especially when you consider the old Game Boy launched with Tetris and bunch of other add-ons for a price of nearly $200. Wasn't the Game Boy Advance $120 when it first launched?

Of course, Nintendo may just be planning on putting out a higher capacity battery for the Micro later on and then saying: "Oh! Now you can play GB/GBC games on the Micro." Kind of like how the PSP locks itsself into 222MHZ to prevent killing the battery.
_________________
Evilish!

#51429 - tepples - Fri Aug 19, 2005 3:00 pm

dmgice wrote:
Game Boy Color (CGB)
[...]
Because of the dual mode, some GB games had sound output problems on the GBC. Most notable are games like Great Greed, and Original Game Boy Pac-Man.

Panel Action Bingo's score screen after each gameplay screen cut off the "counting" sound early as well on early CGB models.

Quote:

Game Boy Advance (AGB/AGS)
[...]
Some GBC games detect the extra WRAM in the GBA and unlock specific features on the GBA that the GBC can not access. Games like Shantae, and The Legend of Zelda: Oracle series are two that do this.

No, they just detect a bit that's set by the GBA's GBC BIOS and 1. change the palette to account for a darker screen and 2. unlock something. You can change this with an Action Replay.

Quote:
Game Boy Micro (OXY)

Why OXY? To control pimples?

Quote:
Some GBA games use that 8-bit CISC-CPU as a slave CPU for some physics.

I've been told that the GBC CPU is completely turned off in GBA mode. Do you know how to switch them into both running at the same time (as in Sega Genesis)?

Quote:
I can't wait to get my hands on the unit, so I can mess around with it. At $100, it's pretty cheap. Especially when you consider the old Game Boy launched with Tetris and bunch of other add-ons for a price of nearly $200. Wasn't the Game Boy Advance $120 when it first launched?

I bought a Game Boy about 1.5 years after launch and it was $90 with Tetris, batteries, and headphones. GBA was $90 at US launch.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#51433 - dmgice - Fri Aug 19, 2005 3:33 pm

Quote:
Panel Action Bingo's score screen after each gameplay screen cut off the "counting" sound early as well on early CGB models.


I never figured out what they did to fix the sound problem... do you know?

Quote:
No, they just detect a bit that's set by the GBA's GBC BIOS and 1. change the palette to account for a darker screen and 2. unlock something. You can change this with an Action Replay.


Thanks for the correction! I figured it had to do with something in the header that had to do with the WRAM.

Quote:
Why OXY? To control pimples?


Apparently. o_O
http://www.nintendo.co.jp/micro/hardware/index.html

I have no clue what the anagram for that one is supposed to mean. The other ones are obvious: Dot Matrix Game, Mini Game Boy, Color Game Boy, Advanced Game Boy, Advance Game System. I think the SP was added because the mini version of the Boeing 747 is the 747-SP and it may have been a weird tribute to that. Who knows. Oh! Virtual Boy is VUE (Dunno what that one was either) and the Nintendo DS is the obvious NTR (Nitro). Oh, the specs on the Virtual Boy are as follows.

CPU: 32-bit NEC V810 RISC (20MHz)
RAM: 1Mb DRAM 512kb P-SRAM
Colors: 4 colors/32 intensity levels
Resolution: 384x224 pixels from two one inch screens reflected off of a mirror. o_O Weird.

Funny how the Virtual Boy is more "powerful" than the Game Boy Advance. O_o In fact, it's just slightly below the PC-Engine.

Quote:
I've been told that the GBC CPU is completely turned off in GBA mode. Do you know how to switch them into both running at the same time (as in Sega Genesis)?


I don't program for the GBA myself, but I kept in contact with some friends from Digital Eclipse, DSI, Orbital, (former) HotGen, (former) Torus, and Atlus. I'll have to ask them off the record. I was under the impression that the 8-Bit CISC CPU could be used to handle excess physics. I don't have any examples of a game using it though. Which makes it even more suspicious that it would be included on the Micro.

http://www.nintendo.co.jp/n10/news/050818b.html

I could have sworn it was almost $200. Of course, I was like 8 at the time and I wanted one because the pastors son at the church I went to had one and he let me play Super Mario Land. (Which is a GENIUS game in my eyes.) I could of sworn the price was the excuse my parents gave for saying no. "Tetris is Educational!" was my excuse to get them to say yes. That and loads of chores, and Christmas.
_________________
Evilish!

#51443 - agentq - Fri Aug 19, 2005 5:19 pm

The 8-bit CPU in the GBA could not be used at all in GBA mode.

This is likely to be because it's architecture is so completely different to that of the ARM7 it would be hard for them to communicate in any real way.

Also, it's so incredibly slow compared to the ARM7 that it would be of little use to GBA programmers.

#51444 - tepples - Fri Aug 19, 2005 5:27 pm

agentq wrote:
This is likely to be because it's architecture is so completely different to that of the ARM7 it would be hard for them to communicate in any real way.

Then what about the MC68000 and Z80 in the Sega Genesis?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#51446 - dmgice - Fri Aug 19, 2005 5:53 pm

The 8-bit CISC-CPU in the GBA is not a Z80, it's supposed to act like one though. The Blast Processing the Genesis had was on an actual Z80.. I think..

I honestly can not wait until the release of the GB Micro to clear this up. I have people on one end saying yes it does and others saying no it does not. Nintendo's own website lists that it doesn't play GB games but leaves out GBC. The more I delve into it.. the more confusing it becomes.. again. o_O
_________________
Evilish!

#51454 - tepples - Fri Aug 19, 2005 7:55 pm

dmgice wrote:
The Blast Processing the Genesis had was on an actual Z80.. I think..

"Blast Processing" was the name of the graphics engine of Sonic the Hedgehog 2. Nothing more. Yes, there was an actual Zilog Z80 in the Sega Master System, Genesis, Game Gear, and many arcade platforms. This is part of why FluBBa's SMS Advance followed so closely after FluBBa's emulators for a few arcade platforms.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#51622 - Total Eclipse - Mon Aug 22, 2005 11:54 am

dmgice wrote:
Game Boy Advance (AGB/AGS)
CPU: 16MHz 32bit RISC-CPU + 8bit CISC-CPU (ARM7)


Actually, the ARM7 IS the RISC CPU (it's certainly NOT a CISC processor). As I understood it, the 8bit CISC processor in the GBA is a genuine Z80 unit. As was previously mentioned, the different shape of the cartridge toggles a switch when it's inserted, and it's this that determines which CPU the system boots from.

tepples wrote:
Then what about the MC68000 and Z80 in the Sega Genesis?


The Genesis was designed from the ground up with 2 CPU's - the MC68000 was the main processor, and the Z80 was run in conjunction with the sound chip (possibly other parts too?). My friend used to be a Genesis developer, and I remember seeing one of his games while it was being developed - It was quite possible to crash the main game code and freeze the machine, but the music would continue to play :-)

#51643 - Dwedit - Mon Aug 22, 2005 5:23 pm

Total Eclipse wrote:

As I understood it, the 8bit CISC processor in the GBA is a genuine Z80 unit.

The Gameboy/GBC does not have a genuine Z80. Many Z80 instructions are removed from the GBZ80, while some new less powerful ones are added. They also added a bunch of "last page" instructions to make it easier on people used to the 6502.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#51751 - Total Eclipse - Tue Aug 23, 2005 9:12 am

Dwedit wrote:
Total Eclipse wrote:

As I understood it, the 8bit CISC processor in the GBA is a genuine Z80 unit.

The Gameboy/GBC does not have a genuine Z80. Many Z80 instructions are removed from the GBZ80, while some new less powerful ones are added. They also added a bunch of "last page" instructions to make it easier on people used to the 6502.


Sorry, what I meant to say is that the 8bit CPU in the GBA is the same as the modified Z80(ish) CPU in the original GBC.

#51753 - FluBBa - Tue Aug 23, 2005 9:20 am

Total Eclipse wrote:

The Genesis was designed from the ground up with 2 CPU's - the MC68000 was the main processor, and the Z80 was run in conjunction with the sound chip (possibly other parts too?).

If I understand it correctly the Z80 can control the VDP as well, just as it did in the Master System, the Genesis is backwards compatible with mode4 SMS games if you have the means to connect them (like a Power base converter).
So I don't really see your reasoning why it was designed "from the ground up" to be a 2 cpu system.
_________________
I probably suck, my not is a programmer.

#51782 - Total Eclipse - Tue Aug 23, 2005 1:13 pm

FluBBa wrote:
So I don't really see your reasoning why it was designed "from the ground up" to be a 2 cpu system.


Because the design of the Genesis is based around those two processors working together - the Z80 in the Genesis is used as part of the system, as opposed to the GBA, where the "spare" processor is only there for backwards compatability, and is only used when a GB/GBC cartridge is inserted.

#51784 - FluBBa - Tue Aug 23, 2005 1:33 pm

I'm sorry for the confusion, the whole quote should be something like this.

Total Eclipse wrote:
tepples wrote:
agentq wrote:
This is likely to be because it's architecture is so completely different to that of the ARM7 it would be hard for them to communicate in any real way.

Then what about the MC68000 and Z80 in the Sega Genesis?


The Genesis was designed from the ground up with 2 CPU's - the MC68000 was the main processor, and the Z80 was run in conjunction with the sound chip (possibly other parts too?). My friend used to be a Genesis developer, and I remember seeing one of his games while it was being developed - It was quite possible to crash the main game code and freeze the machine, but the music would continue to play :-)

Now I don't really seem to get the overall idea I had about this...
But yes, Nintendo could probably have done the GBA backwards compatible and still be able to use the GBZ80 at the same time as the ARM7 (like Sega did with the Genesis/Master System) but that's not how it is done now.
Oh crap, I hope somebody understands any of this ;)
_________________
I probably suck, my not is a programmer.

#51817 - dmgice - Tue Aug 23, 2005 7:23 pm

Quote:
But yes, Nintendo could probably have done the GBA backwards compatible and still be able to use the GBZ80 at the same time as the ARM7 (like Sega did with the Genesis/Master System) but that's not how it is done now.


The thing I was trying to point out is that the GB Micro still has that 8-bit CISC CPU inside it.. so.. it's possible that the only thing standing in the way of backwards compatability is voltage restrictions. The DS is missing the 8-bit CISC CPU and just has the Arm7 RISC CPU. Sorry for placing the (ARM7) bit in the wrong spot. I think it made it look like I was implying that the CISC was the ARM7.

That said, who out there thinks that the next generation of Game Boy will use an ARM11e in conjunction with some sort of ATI designed gpu?

But yeah.. looking at the specs.. it makes no sense for the GB Micro to not be backwards compatible. Especially since it appears that the chipset is there. Why on Earth would you include it, if not to use it?
_________________
Evilish!

#51874 - tepples - Wed Aug 24, 2005 6:45 am

dmgice wrote:
But yeah.. looking at the specs.. it makes no sense for the GB Micro to not be backwards compatible. Especially since it appears that the chipset is there. Why on Earth would you include it, if not to use it?

Remember the Pentium FDIV bug?

The tapeout of the GBA CPU is already thoroughly verified. Removing the GBZ80 core might have repercussions on nearby circuitry, and it wouldn't save much die size compared to the ARM7 core, the memory controller, and the PPU. It's cheaper to waste 5000 gates or so on each unit of an 8-bit CPU that isn't used than to have engineers look for and debug regressions from the removal of the CPU.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#51885 - Total Eclipse - Wed Aug 24, 2005 8:47 am

tepples wrote:
The tapeout of the GBA CPU is already thoroughly verified. Removing the GBZ80 core might have repercussions on nearby circuitry, and it wouldn't save much die size compared to the ARM7 core, the memory controller, and the PPU. It's cheaper to waste 5000 gates or so on each unit of an 8-bit CPU that isn't used than to have engineers look for and debug regressions from the removal of the CPU.


Good point! Odd that they still list it in the published specs though!

#51909 - dmgice - Wed Aug 24, 2005 2:05 pm

Good point, Tepples!

I wonder though.. since it is still there.. can we access it via some kind of coding or external apparatus?
_________________
Evilish!

#52518 - Duodreamer - Wed Aug 31, 2005 1:14 pm

The 8-bit CPU in the gameboy is a Sharp CPU that is similar to the Z80, but not the same.

The GBA cpu has two cpus in it, one ARM7, one GBC. Only one can operate at a time, as they each run on different voltages, one 3.3, the other 5v. The cart socket switch physically switches the available voltage supply, and consequently, the operating CPU.

"Blast Processing", afaik, referred to Sonic's use of the Genesis DMA controller. It was used in TV ads to spur sluggish sales due to the SNES. efficient DMA usage definately makes for some powerful results. Same thing with the PS2. Not super powerful in clock cycles, but a hella strong DMA controller to move data around.

#57548 - professorai - Sun Oct 16, 2005 10:18 pm

I am really angry that our new Micro won't play GB cartridges while our GBA-SP will.

I've been looking for information for a week or so, and this seems to be the only forum discussing it. A couple of people have suggested that it is only a voltage issue, but it seems to me like intentional obsolence of all our old GB and GBC games.

They won't even insert, because there are two tiny square posts blocking the cartridges. so I milled a couple of .01 x .01 x .5 slots in the right places on an old cartridge. Now it fits, but still won't boot.

Also, it won't boot in the SP either, which has a couple of sensors for the slots apparently. I filled in one slot and it didn't work; I filled in both, and it does work.

If it is only voltage, then one could make a simple extender board with a battery and zener diode on it to run GB carts.

On the other hand, the firmware might detect whether the pins are pressed and whether the cartridge has the right profile to be a GB cartridge. If the micro is missing the sensor, it will always halt.
_________________
Professor AI

#57672 - Joat - Mon Oct 17, 2005 6:48 pm

Whatever they've posted on their website (probably a webdev who just copy-pasted the exact same stuff from the GBA SP page and added something about how micro it is), I suspect that the OXY (micro) and NTR (ds) dies really don't have the gbz80 and associated hardware anymore. That stuff is on an ancient process that takes up a lot of space, and the OXY integrates exwram into itself (while the DS does a helluva lot more). So, my guess is they cut it to get die space rather than trying to shrink it for an newer process and having to deal with all the associated bugs that could bring.

Without decapping an OXY processor, there's no easy way to tell tho. You could try looking for an un-used pad on the PCB that would have/should have been hooked up to the GBC trigger switch, and then using a flash cart that is 3.3v tolerant or something (doubt the old mask roms in a real GB cart will operate at 3.3v), but I really suspect there won't be such a line.

Again, all just educated conjecture, no hard facts lead me to say what I've said, no warantee express or implied, etc...
_________________
Joat
http://www.bottledlight.com

#58875 - dmgice - Wed Oct 26, 2005 10:47 pm

Since the back lit GBA SP plays GB/GBC games, I gave up on caring that the Micro doesn't play those.

I love my Micro, but I also like my Back-Lit SP. I carry the Micro more these days, as I am replaying through FF I and II in anticipation for IV.

Oh, I have a few unlicensed Wisedom Tree GB games and the Micro has the same response to those as the SP does, if that means anything to anyone. Yes, they fit. The Micro just does not detect them; but I really don't care.


However, I noticed something about the new SP units...

The DS, GBM, and my original SP have no troubles with the GBA MP. But the GBA MP acts unstable in the new back lit SP. Weird.
_________________
Evilish!