Synopsis #

Header: fxcg/display.h
Syscall index: 0x0D09
Function signature: void Bdisp_MMPrint(int x, int y, const char* string, int mode_flags, int xlimit, int P6, int P7, int color, int back_color, int writeflag, int P11);

Draws a line of text on the VRAM with the 16px Font, used for app names in the Main Menu.\

Parameters #

  • int x - Position of the text on a horizontal axis, in pixels.
  • int y - Position of the text on a vertical axis, in pixels. Automatically incremented by 24 pixels (status area) unless mode_flags is set to 0x40.
  • const char* string - The string to display. Certain multi-byte characters are supported.
  • int mode_flags - controls whether to clear text background, or invert background and foreground colors:
    • 0: normal text mode
    • 1: swaps color and back_color (the foreground color becomes back_color)
    • 2: transparent background mode; back_color is not used
    • 4: inverts colors (so red becomes cyan, blue becomes yellow, etc.)
    • 0x40: allows for drawing text on the status area
    • One can combine at least some of these flags (with a binary AND). So if flag 1 and 2 are set, this function draws only the text background in back_color, leaving the foreground untouched (transparent)
  • int xlimit - Upper horizontal limit - text will be cut past this point. Set to 0xFFFFFFFF for it to be ignored.
  • int P6 - Still unknown, set to 0
  • int P7 - Still unknown, set to 0
  • int color - The color of the characters
  • int back_color - The color of the characters’ background. Depends on mode_flags
  • int writeflag - Set to 1 for the text to be actually drawn
  • int P11 - Still unknown, set to 0