Introduction

Day 1
GBA Hardware

Day 2
"Hello, World!"

Day 3
Input

Day 4
Backgrounds -
  Bitmapped Modes

Day 5
Sprites

Day 6
Backgrounds -
  Tile Modes

Day 7
Project 1 -
  Tetris

Quiz - Week 1

Day 8
Sprites #2 -
  Animation

Day 9
Maps

Day 10
Sprites #3 -
  Animation #2

Day 11
Backgrounds -
  Rotation

Day 12
Sprites #4 -
  Mosaic

Version History

Downloads

Books

Links

Graphics FAQ

GFX2GBA Readme

Games

Projects

Credits

Support

HAM Tutorial :: Day 1 :: GBA Hardware

 

I won't go into too much detail here as there are already quite a few web pages and tutorials dedicated to the GBA hardware. I will give you a quick overview of the system, however, as it is necessary to understand some of the content covered in this tutorial.

 

Architecture

  • 32bit ARM7TDMI CPU running on RISC architecture (16.78 MHz)

  • 96 KB of video memory, 32KB of internal ram and 256KB of external ram

  • 6 screen modes (max resolution: 240x160); up to four backgrounds (or layers or planes); some backgrounds can be rotated and scaled; all can be scrolled, mosaic, faded in or out and alpha blended

Video Modes

  • Mode 0 - tile mode; screen is composed of 8x8 pixel squares; all 4 backgrounds; no rotation or scaling

  • Mode 1 - tile mode; screen is composed of 8x8 pixel squares; BGs 0,1, and 2; BG 2 can rotate/scale

  • Mode 2 - tile mode; screen is composed of 8x8 pixel squares; BGs 2 and 3; both can rotate/scale

  • Mode 3 - bitmap mode; linear buffer of 16 bit pixels; NO double-buffering

  • Mode 4 - bitmap mode; linear buffer of 8 bit pixels with a 16 bit palette; double-buffering; palettized diplay mode

  • Mode 5 - bitmap mode; linear buffer of 16 bit pixels; double-buffering; 160x128 pixels

 

NOTE: 8 bit = 256 colors, 16 bit = 65,536 colors.

When operating in tile mode, you can use up to four backgrounds each controlled independently using different maps and tiles. By default they are rendered 3,2,1,0 meaning that background 0 would be displayed over 3.

Sprites

The GBA supports hardware rendered sprites that can either share one 256 color palette or there can be up to 16 different 16 color palettes that a sprite can use. Sprite palettes are separate from the screen palette. There can be up to 128 different sprites ranging in size from 8x8 to 64x64 pixels. Modes 0,1,2 have 32 KB of sprite memory while Modes 3,4,5 have 16 KB.

Sound

The GBA has 6 sound channels. 4 are standard music channels similar to the GB/GBC. The other two are allow direct sound sampling.

I recommend you go to The Audio Advance for more info on the GBA sound system.

Well, that's it for Day 1. We didn't go into too much detail on the hardware. Again, I will cover what is necessary as we go through the tutorial.

For more information on GBA hardware, I would recommend you check out the following sites:
CowBite Virtual Hardware Specifications
Mappy VM SDK 0.1

Discuss Day 1

 

<<

HOME

>>