Retro Uprising
  Home Game Menu Rules and FAQs Forum Community Chat Today's Posts Search Register  
All Other Games Talk about video games we don't have online.
Go Back   Retro Uprising > Video Games > All Other Games

Reply
 
Thread Tools Search this Thread Display Modes
Old 09-04-2010, 08:54 PM   #1
Seahawk's Avatar
Regular Poster
4,154 posts
Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!
View Stats
 
Seahawk

Inside the Game Boy Advance

I'm sure most or all of you have owned or at least played a GBA before, right?
Have you ever wondered what's inside? Well, no more.

(Beware of BIG pictures)
( Click to show/hide )


( Click to show/hide )


Some random tech data:
The CPU in the GBA is an [ame="http://en.wikipedia.org/wiki/ARM7TDMI"]ARM7TDMI[/ame] running at 16.78MHz. This same processor is used in cars, the Dreamcast, and in the Nintendo DS. It has 32KB or RAM embedded inside, this memory is faster than the external 256KB chip.

16.78MHz is double the speed of the Game Boy Color CPU, 4 times the speed of the original Game Boy CPU, half the speed of the ARM7 in the DS, and 1/4 of the speed of the ARM9 in the DS.

Somewhere inside the CPU is a Z80 core for compatibility with GB/GBC games, and also for generating the '8-bit' sounds that many GBA games use (Game & Watch Gallery 4 for example).

GB/GBC games have different colors if you play them on the GBA.

The largest a GBA game can be is 32MB (example: Mother 3).

You know that code that is printed on every GBA cartridge, that goes like this:

AGB-XYYZ-CCC

is actually printed on pretty much every game ever made by Nintendo? The format goes like this:

AGB - 3 letters for the system name, usually this is printed as the prototype name, for example Gamecube games are "DOL" (Project Dolphin), Wii games are "RVL" (Revolution), DS games are "NTR" (Nitro), N64 games are "NUS" (Nintendo Ultra System), Game Boy games are "DMG" (Dot Matrix Game).

X - For GBA, for most games this is either the letter A or B. A was printed on cartridges made before 2003ish, B is printed on later cartridges. A few special cartridges have unique codes, Warioware Twisted has an R, Drill Dozer has a V, Classic NES Series games have an F, probably some other unique games (Boktai w/ solar sensor, Yoshi Topsy Turvy w/ gyroscope) have other codes.

YY - This is either a short 2 letter abbreviation of the game's title, or is just random. Sometimes you can learn surprising things about games with this, for example, both Fire Emblem games are marked as 'E7' and 'E8' respectively, meaning these are the 7th and 8th games in the series.

Z - This is a language code, E for English, J for Japan, D for German, etc.

CCC - Country code, pretty self explanatory. This doesn't really matter since the GBA has no region protection.
_______________

Since we're talking about the GBA, let's talk about it's game cartridges too. You'd be surprised by the variety of cartridge types there are! Most of the differences are for the type of save device inside, but there are other unique cases too, as you'll see.

SRAM
( Click to show/hide )

This is your classic SRAM chip, powered by a battery. The SRAM chip is on the left, and has a capacity of 32KB (bytes, not bits as printed in the cartridge. 1 byte = 8 bits) This is pretty small but enough for game data =). It's hard to see date stamped on the batter, but this battery was manufactured March 2001. Almost ten years old! It's still going strong. Bonus lesson: that SRAM chip is actually a cheap bootleg clone of the HY62256A by Hyundai =P.

Flash
( Click to show/hide )

Flash....yes the same as your flash drive! Although MUCH much smaller, this is only 64KB! ROM is on the left, flash chip is on the right. Flash is usually used in games that require a lot of save data. Flash is also slow, so usually games that have it also have the typical "Do not turn off the power" delay message.

EEPROM
( Click to show/hide )

This is an [ame="http://en.wikipedia.org/wiki/EEPROM"]EEPROM[/ame] (Electrically Erasable Programmable Read-Only Memory) based saving solution. It seems to be used for games that need even less save data than SRAM. 8KB is not a lot! This memory also has a delay message usually.

(Also, check out the scratches on the connectors! I've played this game a lot ^^.)

FRAM
( Click to show/hide )

[ame="http://en.wikipedia.org/wiki/Ferroelectric_RAM"]FRAM (Ferroelectric RAM)[/ame] is a relatively new technology that is still only available for small memory sizes. Perfect for embedded systems like GBA save data! Basically, this functions the exact same way as SRAM, except it doesn't require a battery.

Bonus lessons:
SRAM/FRAM cartridges can have save data written to them at any time. Indeed, this is how Fire Emblem games on GBA keep the battle progress, by writing the results of the battle BEFORE it actually takes place. This is also how you get screwed if your character dies, by the time you see your character die, it's too late to stop it, and if you try to do that turn again you just watch him/her die again =P.

SRAM/FRAM games also have a slightly shortened 31rd connector pin. Look above and see for yourself, start counting from the left. This is because SRAM/FRAM data is not protected, and if you remove the cartridge the CPU may go berserk and write into the save data randomly, destroying whatever data is on it. The shortened pin triggers the cartridge interrupt on the GBA (basically saying that the cartridge was removed) before the data lines are disconnected, allowing the game to 'safely' hang up.

And now for two freak cartridges.

Pokemon Sapphire, Flash + Real Time Clock
( Click to show/hide )

Wow this one is crowded. What is special about this game is that it keeps time. So, while this game saves into flash memory, it also need a battery to power an RTC and it's crystal oscillator to keep the clock ticking while the game is powered off.

Drill Dozer w/ Rumble
( Click to show/hide )

This cartridge uses FRAM. It also has a lot of extra power components to trigger the an actuator for rumble.
______________________________

So that's all about the GBA. Some info is taken from here. I hope you learned something today =).
Reply With Quote
Old 09-04-2010, 09:41 PM   #2
Slime Slayer's Avatar
Regular Poster
11,177 posts
Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!Slime Slayer has earned the ear of the admin. Watch yourself!
View Stats
 
Slime Slayer

Re: Inside the Game Boy Advance

Cool.

---------- Post added at 02:41 AM ---------- Previous post was at 02:39 AM ----------

Are you sure the s in "nus" doesn't stand for "sixty-four?
My SignatureDisplay Signature Reply With Quote
kong on Bronies:

"Of the 75% that are straight I would bet at least 10% would rather have a cheeseburger than a girlfriend."
Old 09-04-2010, 10:06 PM   #3
elrod21's Avatar
Regular Poster
3,678 posts
elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!elrod21 has earned the ear of the admin. Watch yourself!
View Stats
 
elrod21

Re: Inside the Game Boy Advance

Very informative. I still remember my first GameBoy. It was the big bulky one. Playing Tetris, Good times!
Reply With Quote
Old 09-04-2010, 10:15 PM   #4
Demon-Mask's Avatar
 
Demon-Mask

Re: Inside the Game Boy Advance

So now what Seahawk, is this where you tell us how you are a master at programming games that would work for the GBA?
Is this where you now go on to explain the memory addresses and what have you?
I wouldn't be surprised if you did either or both, but thanks for the information, I feel it may eventually be of use to me.
Reply With Quote
Old 09-05-2010, 12:55 AM   #5
Seahawk's Avatar
Regular Poster
4,154 posts
Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!
View Stats
 
Seahawk

Re: Inside the Game Boy Advance

Quote:
Originally Posted by Demon-Mask View Post
So now what Seahawk, is this where you tell us how you are a master at programming games that would work for the GBA?
Is this where you now go on to explain the memory addresses and what have you?
I wouldn't be surprised if you did either or both, but thanks for the information, I feel it may eventually be of use to me.
Well, I don't call myself a master at all, but I have made a few silly demos. I haven't really put anything together that you'd call a game though.

If you want a full course on all of the memory addresses and what stuff does you can go to the site I sourced above, which I'll post again below.
GBA Specifications

That being said, I can still offer you tips, and give you some example code.

I've attached a quick demo I made. You can test it on any GBA emulator, or real hardware if that suits your fancy.

Last edited by Seahawk; 05-01-2016 at 05:36 PM..
Reply With Quote
Old 09-05-2010, 01:10 PM   #6
Demon-Mask's Avatar
 
Demon-Mask

Re: Inside the Game Boy Advance

That's pretty impressive.
Okay thanks for the full memory addresses, and whatnot.

I think some sample code would be kind of cool to see as well.
Reply With Quote
Old 01-20-2012, 07:57 PM   #7
marioman23's Avatar
New Poster
1 posts
marioman23 is the posterchild for noob
View Stats
 
marioman23

Re: Inside the Game Boy Advance

actually, that sram chip isn´t a clone. hyundai electronics changed their name to hynix in 2001. i just found that out today, but I thought you´d like to know.
Reply With Quote
Old 01-20-2012, 08:13 PM   #8
joz's Avatar
 
joz

Re: Inside the Game Boy Advance

Seahawk is like the second smartest game dude I know after Kong.
My SignatureDisplay Signature Reply With Quote
Old 02-09-2012, 10:08 PM   #9
fungusman's Avatar
 
fungusman

Re: Inside the Game Boy Advance

Great library for homebrew GBA/DS/wii and some.
devkitPro.org - Portal

My buddy who has worfed on retail games for Nintendo says Devkit pro has some questionable origins as it looks a little too similar to the official Nintendo SDK lol.

It's cool knowing we got some homebrewers on the board.
My SignatureDisplay Signature Reply With Quote
Old 02-11-2012, 04:57 AM   #10
Seahawk's Avatar
Regular Poster
4,154 posts
Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!Seahawk has earned the ear of the admin. Watch yourself!
View Stats
 
Seahawk

Re: Inside the Game Boy Advance

Quote:
Originally Posted by fungusman View Post
My buddy who has worfed on retail games for Nintendo says Devkit pro has some questionable origins as it looks a little too similar to the official Nintendo SDK lol.
Devkitpro is what I use.
I wouldn't be surprised if Devkitpro was actually based off of Nintendo's SDK, because it actually does write in the 156 byte encrypted header data that a real GBA will check before starting, all other homebrew dev kits just fill that area in with zero, which is fine for emulators but won't work on a real machine.

Quote:
Originally Posted by fungusman View Post
It's cool knowing we got some homebrewers on the board.
I don't really do anything serious with it.
Back in '09, after my second year of computer science in college, I was really sick of normal PC development because of all the stupid compilers, libraries, and stupid things required just to write any damn code.
I wanted to write for actual hardware and I used the GBA to start because it really is one of the simplest platforms to write code for. The memory map and features are well documented, and all you need to code for it is a text editor to write ASM code in, or any good ARM compiler.
Reply With Quote
Old 02-11-2012, 10:57 AM   #11
fungusman's Avatar
 
fungusman

Re: Inside the Game Boy Advance

Quote:
Originally Posted by Seahawk View Post
Devkitpro is what I use.
I wouldn't be surprised if Devkitpro was actually based off of Nintendo's SDK, because it actually does write in the 156 byte encrypted header data that a real GBA will check before starting, all other homebrew dev kits just fill that area in with zero, which is fine for emulators but won't work on a real machine.



I don't really do anything serious with it.
Back in '09, after my second year of computer science in college, I was really sick of normal PC development because of all the stupid compilers, libraries, and stupid things required just to write any damn code.
I wanted to write for actual hardware and I used the GBA to start because it really is one of the simplest platforms to write code for. The memory map and features are well documented, and all you need to code for it is a text editor to write ASM code in, or any good ARM compiler.
I'm not much of comp sci guy as much as I'm a web developer. The need has come up to learn some low level principles, so I was gonna settle on arm and do some deving. I have a DS flash card and a GBA flash card so this seems like the most logical choice. There is a GPL'd homebrew program I use to play my live shows called NITROTRACKER, that needs some slight improvements that seems like the best place to start (after my own demos of course).
My SignatureDisplay Signature Reply With Quote
Old 02-11-2012, 04:09 PM   #12
splatglobe 95's Avatar
Regular Poster
155 posts
splatglobe 95 is the posterchild for noob
View Stats
 
splatglobe 95

Re: Inside the Game Boy Advance

i love the game boy advance!!!! it has mario, sonic, crash , pinball and other games.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -5. The time now is 10:36 AM.

» vBadvanced CMPS