User Tools

Site Tools


development:csdk:2.0:headers:gfx_sys

gfx_sys.h

gfx_sys.h provides functions and macros related to low level graphics system functions

Defines

Sprite flips

  • SPRITE_FLIP_NONE - Apply no sprite flip
  • SPRITE_FLIP_X - Apply horizontal sprite flipping
  • SPRITE_FLIP_Y - Apply vertical sprite flipping
  • SPRITE_FLIP_BOTH - Apply sprite flipping on both axes

Sprite RAM Sections

  • QUADRANT_0 - Upper left quadrant of Sprite RAM page
  • QUADRANT_1 - Upper right quadrant of Sprite RAM page
  • QUADRANT_2 - Bottom left quadrant of Sprite RAM page
  • QUADRANT_3 - Bottom right quadrant of Sprite RAM page

Functions

init_graphics

void init_graphics();

Call this to initialize the graphics system and prepare it for sequential drawing. Should only need to be called once at the beginning of the program.

await_vsync

void await_vsync(int frames);

Call this to block execution until the next vsync (frames=1) or wait for a number of vsyncs to pass (frames>1). Best used at the end of drawing and updating the game state.

flip_pages

void flip_pages();

Switch which framebuffer is being drawn on and which framebuffer is being sent to the TV. Call this right after await_vsync for consistent timing.

await_drawing

void await_drawing();

Waits for the current draw operation to complete.

Graphics API calls that use the blitter will set the global `draw_busy` variable to 1, and this function waits for the interrupt to set it to zero.

development/csdk/2.0/headers/gfx_sys.txt · Last modified: 2024/11/08 03:11 by clyde