Term
Before setting up an Interrupt Service Routine what must be done? |
|
Definition
|
|
Term
Which hardware subsystem catches interrupt messages |
|
Definition
None of the Above (interrupt subsystem) |
|
|
Term
When timer interrupts are enabled when does the interrupt occur? |
|
Definition
When the timer count overflows the data register |
|
|
Term
Which step does not automatically happen when an interrupt gets triggered? |
|
Definition
|
|
Term
Where do you copy the address of your custom interrupt service routing to in GBA memory? |
|
Definition
0x3007FFC – beginning of Stack in IWRAM |
|
|
Term
You may need to handle multiple interrupts at one time. |
|
Definition
|
|
Term
Since the GBA CPU is a RISC processor, we can manipulate multiple data items in memory at once? |
|
Definition
|
|
Term
How many registers must you set to transform a rotational background properly? |
|
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 functions |
|
|
Term
In a 2D matrix, where would you set the rotational data?
X1, Y1, Z1
X2, Y2, Z2
Z3, Y3, Z3 |
|
Definition
|
|
Term
The data processing operations can operate on 8, 16, or 32 bit values |
|
Definition
|
|
Term
What will happen if you left shift a 24.8 fixed point value by 24? |
|
Definition
You will lose the integer part of the number |
|
|
Term
If your code uses addition, subtraction, and multiplication then there is no performance difference between signed and unsigned operations |
|
Definition
|
|
Term
the system can be configured for either big or little endian operation, but little endian is the default |
|
Definition
|
|
Term
To reduce the impact of pointer aliasing overhead (extra data retrieval) what optimization can we use? |
|
Definition
Assign a local variable to a value |
|
|
Term
How do you restore an interrupt?
U_32 nFlags = 0;
nFlags = REG_IF; |
|
Definition
|
|
Term
Which register would you check to determine which interrupt has occurred? |
|
Definition
|
|
Term
What is the largest value an individual timer can hold? |
|
Definition
|
|
Term
All timers share the same interrupt |
|
Definition
|
|
Term
If you multiply a 24.8 and a 24.8 fixed point value, what is the resulting fixed point value? |
|
Definition
|
|
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
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 16 bit range |
|
|
Term
What is pointer aliasing in reference to two pointers? |
|
Definition
Both point to the same address |
|
|
Term
In a 2D matrix where would you set the translation data?
X1, Y1, Z1
X2, Y2, Z2
Z3, Y3, Z3 |
|
Definition
|
|
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
Multiplying a matrix A by matrix B will always result in the same materix as multiplying matrix B by matrix A |
|
Definition
|
|
Term
What are the steps to enable an interrupt? |
|
Definition
Disable the master interrupt
Point the ISR to your function handler
Enable an interrupt in REG_IE and at its throw register
Enable the master interrupt |
|
|
Term
You should avoid short or char for function arguments or return values to avoid extra casts |
|
Definition
|
|
Term
If you loop iteration count can not be zero then what type of loop construct should we use? |
|
Definition
|
|
Term
It is possible for an interrupt to occur while you are handling another interrupt |
|
Definition
|
|
Term
If I add two fixed point values of 16.16, what would I have to do before setting it to one of the rotational background transform registers? |
|
Definition
|
|