Alchemy
Loading...
Searching...
No Matches

oambuf.h

Go to the documentation of this file.
1#ifndef ALCHEMY_OAMBUF_H
2#define ALCHEMY_OAMBUF_H
3
4/// @file
5/// OamShadow, a sprite entry a routine builds by hand and DMA copies to OAM.
6
7#include "types.h"
8
9/// OAM buffer: sprite entries a routine builds by hand and DMA copies to OAM.
10/// One manually assembled OAM entry, copied directly to OAM by DMA.
11/// (LuckyDice_Run、ReelGame_RunFrame、Title_UpdateIntroSprites)
12/* FAKEMATCH: the OAM shadow words are volatile, the form the bytes prove in all
13 * three lists: loop.c forms no DEST_ADDR givs for volatile stores, so every
14 * loop over a list keeps its offset givs. Without the qualifier LuckyDice_Run
15 * (lucky_dice.c) differs 1702; ReelGame_RunFrame (colorfx.c) differs 119
16 * without attr01's (1730 instructions for 1729) and 1558 without attr2's (1701
17 * for 1729); Title_UpdateIntroSprites (intro.c) differs 205 (471 for 496). */
18struct OamShadow {
19 volatile u32 attr01; ///< attr0 | attr1 << 16
20 volatile u32 attr2; ///< attr2 | affine value << 16
21};
22
23#endif
OAM buffer: sprite entries a routine builds by hand and DMA copies to OAM.
Definition oambuf.h:18
volatile u32 attr2
attr2 | affine value << 16
Definition oambuf.h:20
volatile u32 attr01
attr0 | attr1 << 16
Definition oambuf.h:19
The integer types, TRUE, UNUSED and the fixed-address macros.
unsigned int u32
Definition types.h:15