Term
Which video modes have a hardware double buffer? |
|
Definition
|
|
Term
How many keys/buttons does the GBA have for input |
|
Definition
|
|
Term
Which one of these do you NOT enable in the display control register |
|
Definition
|
|
Term
Which hardware register do you change to force the display to go blank |
|
Definition
0x04000000 - REG_DISPCNT (display control) |
|
|
Term
For the GBA's color, there are bits for BGR. How many bits are for each color |
|
Definition
|
|
Term
Which CPU does the GBA use |
|
Definition
|
|
Term
How many total palettes can be available at any one time |
|
Definition
|
|
Term
When you did the double buffer lab using video mode 3, which function needed to be called after the “Draw_WaitVBlank” function |
|
Definition
|
|
Term
The GBA processor has which of these |
|
Definition
--Has--
Hardware Multiplier
Three Stage Pipeline
-----Doesn't have-----
hardware divide intruction
floating point unit
|
|
|
Term
Which code could you add to the beginning of the Wait4VBlank function code to ensure that if you call it twice in a row, you would wait for the next vertical blank |
|
Definition
While(REG_VCOUNT == 160){} |
|
|
Term
which of these is UNTRUE about the Game Boy Advnaced Architecture |
|
Definition
Operating System
--True ans--
have complete control over hardware
each executable must contain code neccessary
macimum control means maximum responsobility |
|
|
Term
What sequence would be used to get a 1 bit for each key currently pressed |
|
Definition
|
|
Term
When accessing the Game Cartridge ROM, the speed is represented as a pair of wait-states such as 3/1. What do first and second numbers represent respectively |
|
Definition
selecting an address/ transfer of Data |
|
|
Term
Which line of code would draw a pixel correctly in video mode 4, for an odd x? unsigned short offset = (y * 240 + x) >> 1; |
|
Definition
videoBuffer[offset] = (color<<8) | videoBuffer[offset] & 0x00FF |
|
|
Term
What are the different byte widths that can be copied per count using DMA |
|
Definition
|
|
Term
What is the purpose of this code?
#define REG_VCOUNT *(volatile unsigned short*)0x04000006 while(REG_VCOUNT != 160){} |
|
Definition
wait until GBA is on the first line of vertical blank |
|
|
Term
Which video modes use palettes |
|
Definition
|
|
Term
Since the GBA CPU is a CISC processor we can manipulate multiple data items in memory at once |
|
Definition
|
|
Term
Which of these is UNTRUE about IWRAM (Internal Working RAM) |
|
Definition
--true ans--
Only 32KB of mem
Fastest Memory in GBA
Ideal for running ARM code at full speed
Directly addressible on 32 bit internal data bus |
|
|
Term
In the RGB macro, what is the purpose of “0x1F” in the three locations:
RGB(r,g,b) ((r & 0x1F) | ((g & 0x1F) << 5) | ((b & 0x1F) << 10)) |
|
Definition
To limit the three colors to only 5 bits |
|
|
Term
The game’s executable is run directly on the Game Cartridge ROM instead of on the System RAM by default |
|
Definition
|
|
Term
DMA can be used to transfer memory the following ways except one.
Pick the incorrect choice |
|
Definition
ans
Source and destination address increments 16 bytes after each copy
correct ways
Source and destination address remains constant after each copy
Source address decrements and destination address increments after each copy
Source and destination address increments 4 bytes after each copy |
|
|
Term
Both the screen refresh rate and your game’s frames per second will always be constant at ~60 Hz (59.73 Hertz) |
|
Definition
|
|
Term
Which GBA color format values are the same |
|
Definition
|
|
Term
You will potentially cause visual artifacts if you update video memory during the vertical draw period |
|
Definition
|
|
Term
The DMA controller takes over the hardware by halting the CPU during its transfer of data |
|
Definition
|
|
Term
Which code waits for the beginning of the Vblank period |
|
Definition
while (REG_VCOUNT != 160){}
|
|
|
Term
What is the system bus bit depth of the GBA |
|
Definition
|
|
Term
What are the dimensions in pixels of the GBA screen |
|
Definition
|
|
Term
In video mode 4, you can write one byte of pixel information into video memory using one assignment instruction: videobuffer[y * 240 + x] = color; |
|
Definition
|
|
Term
How much data can you transfer with DMA in each count |
|
Definition
|
|
Term
The GBA screen refreshes at fixed intervals with both horizontal and vertical blank periods |
|
Definition
|
|
Term
What is the maximum sprite size supported by the GBA |
|
Definition
|
|
Term
Where does sprite image data need to be loaded to |
|
Definition
|
|
Term
How many offsets are there for char base blocks (tile image data) and screen base blocks (tile map data) respectively |
|
Definition
|
|
Term
What is the maximum number of hardware non-rotational backgrounds available in video mode 1 |
|
Definition
|
|
Term
The GBA has built in support for floating point operations |
|
Definition
|
|
Term
In sprite 1d mapping mode, its tiles are stored sequentially allowing for it to be copied using a DMA transfer |
|
Definition
|
|
Term
In a tile-based video mode, blitting code is required for every background you enable |
|
Definition
|
|
Term
How many tile map sizes are available for text (non-rotational) backgrounds |
|
Definition
|
|
Term
How many 2-byte attributes are allocated in OAM to control sprite display (without rotational data) |
|
Definition
|
|
Term
There is more video memory available for sprite image data in tile-based video modes than in the bit-mapped modes |
|
Definition
|
|
Term
There is more video memory available for sprite image data in tile-based video modes than in the bit-mapped modes |
|
Definition
|
|
Term
When tile map data is loaded into video memory, it must be loaded at a hardware specific offset and must not run past the next offset |
|
Definition
|
|
Term
Which data transfer using DMA is NOT possible |
|
Definition
anything to ROM
--possible ones--
EWRAM to Video Memory
Game Pak ROM to EWRAM
I/O RAM to OAM |
|
|
Term
Which one of the following can two backgrounds share |
|
Definition
All of others can be shared
Tile image, map , palette |
|
|
Term
How many total bytes of memory are needed for rotation/scale data of a sprite |
|
Definition
|
|
Term
Can you create a hardware sprite that will only appear as one pixel on the screen |
|
Definition
|
|
Term
What is a rotational tile map an array of |
|
Definition
|
|
Term
What is the maximum number of rotational backgrounds available in any one video mode |
|
Definition
|
|
Term
For a standard 256 color palette, which index 0-255 is used for the transparency |
|
Definition
|
|
Term
The data used to determine a sprite's degree of rotation is located in which of the four 2-byte attributes |
|
Definition
|
|
Term
The same tile image data and/or tile map data loaded into video memory can be indexed by more than one background simultaneously |
|
Definition
|
|
Term
Which video mode would you use if you wanted two scrolling backgrounds and one rotational background |
|
Definition
|
|
Term
Where are the hardware sprites properties loaded into memory |
|
Definition
|
|
Term
What software functions can we call that are resident in the GBA to control background rotation |
|
Definition
|
|
Term
What sequence would be used to get a 1 bit for each key currently pressed |
|
Definition
(~REG_KEY & 0x03FF) (none) |
|
|
Term
Copying data to the OAM during the vertical draw period will NOT cause visual artifacts |
|
Definition
|
|
Term
How do you get a pixel in a sprite to be transparent |
|
Definition
have a sprite pixel index the first palette entry |
|
|
Term
You use REG_HOFS and REG_VOFS to scroll a rotational background in video mode 2 |
|
Definition
|
|
Term
Which statement is UNTRUE about hardware sprites |
|
Definition
Sprite Image data has to be copied over after the initial copy |
|
|
Term
Sprites can be flipped and rotated at the same time |
|
Definition
|
|
Term
You have less hardware sprites available in a bitmap video mode than a tile video mode |
|
Definition
|
|
Term
What is the maximum number of hardware sprites that you can have in any video mode |
|
Definition
|
|
Term
The data processing operations can operate on 8, 16, or 32 bit values |
|
Definition
|
|
Term
It is possible for an interrupt to occur while you are handling another interrupt |
|
Definition
|
|
Term
Which register would you check to determine which interrupt has occurred |
|
Definition
|
|
Term
Which hardware subsystem catches interrupt messages |
|
Definition
none(Interrupt subsystem) |
|
|
Term
Which step does NOT automatically happen when an interrupt gets triggered |
|
Definition
|
|
Term
If you multiply a 24.8 and a 24.8 fixed point value, what is the resulting fixed point value? (left side of "." is the total integer bits, right side of "." is the total fraction bits) |
|
Definition
|
|
Term
What is pointer aliasing in reference to two pointers |
|
Definition
Both point to the same address |
|
|
Term
How do you restore an interrupt |
|
Definition
|
|
Term
If your loop iteration count can NOT be zero then what type of loop construct should we use |
|
Definition
|
|
Term
Where do you copy the address of your custom interrupt service routine to in GBA memory |
|
Definition
0x3007FFC - beginning of stack in iwRam |
|
|
Term
To reduce the impact of pointer aliasing overhead (extra data retrieval) what optimization can we use |
|
Definition
Assign a local variable to value |
|
|
Term
Using a pointer to move sequentially through an array is more efficient than using x[i] because all ARM load and store instructions have a post increment mode |
|
Definition
|
|
Term
Before setting up an Interrupt Service Routine (ISR) what must be done |
|
Definition
|
|
Term
Can a timer counter be extended by using other registers |
|
Definition
yes, a timer counter can be linked to the next counter to extend the 16bit range |
|
|
Term
How many bits are used for tile map entries of rotational backgrounds |
|
Definition
|
|
Term
How many digital sound channels are available on the GBA |
|
Definition
|
|
Term
Multiplying a matrix A by matrix B will always result in the same matrix as multiplying matrix B by matrix A |
|
Definition
|
|
Term
Because of the way parameters are passed to C/C++ non-member functions (NMF) and C++ member functions (MF), those that pass over N parameters should be considered less efficient. What is N |
|
Definition
4 for c/c++ NMF, 3 for c++ member funcs |
|
|
Term
How many registers must you set to transform a rotational background properly |
|
Definition
|
|
Term
What will happen if you left shift a 24.8 fixed point value by 24 |
|
Definition
Your will lose the integer part of the number |
|
|
Term
You may need to handle multiple interrupts at one time |
|
Definition
|
|
Term
The system can be configured for either big or little endian operation, but little endian is the default |
|
Definition
|
|
Term
If your code uses addition, subtraction, and multiplication then there is no performance difference between signed an unsigned operations |
|
Definition
|
|
Term
Since the GBA CPU is a RISC processor, we can manipulate multiple data items in memory at once |
|
Definition
|
|