40#define constexpr const 
   47constexpr unsigned int debug_char_width = 8;
 
   48constexpr unsigned int debug_char_height = 12;
 
   49constexpr unsigned int debug_line_height = 14;
 
   50constexpr unsigned int debug_max_columns = 40;
 
   51constexpr unsigned int debug_max_rows = 37;
 
   52extern uint16_t *DEBUG_FONTBASE;
 
   74extern void (*
Debug_Printf)(
unsigned int x, 
unsigned int y, 
bool invert, 
int zero, 
const char *format, ...) __attribute__((format(printf, 5, 6)
 
   76, access(read_only, 5), null_terminated_string_arg(5)
 
  128__attribute__((null_terminated_string_arg(1)))
 
void(* Debug_PrintNumberHex_Nibble)(uint8_t value, unsigned int x, unsigned int y)
 
int(* Debug_SetCursorPosition)(unsigned int x, unsigned int y)
 
bool(* Debug_PrintString)(const char *string, bool invert) __attribute__((null_terminated_string_arg(1)))
 
void(* Debug_PrintNumberHex_Dword)(uint32_t value, unsigned int x, unsigned int y)
 
void(* Debug_PrintNumberHex_Byte)(uint8_t value, unsigned int x, unsigned int y)
 
void(* Debug_PrintNumberHex_Word)(uint16_t value, unsigned int x, unsigned int y)
 
void(* Debug_GetCursorPosition)(unsigned int *x, unsigned int *y)
 
void(* Debug_Printf)(unsigned int x, unsigned int y, bool invert, int zero, const char *format,...) __attribute__((format(printf