hollyhock
Loading...
Searching...
No Matches
debug.h
Go to the documentation of this file.
1
35#pragma once
36
37#ifdef __cplusplus
38extern "C" {
39#else
40#define constexpr const
41#endif
42
43#include <stdint.h>
44#include <stdbool.h>
45
46// from debug.h in newlib-cp2
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;
53
59extern void (*Debug_GetCursorPosition)(unsigned int *x, unsigned int *y);
60
74extern void (*Debug_Printf)(unsigned int x, unsigned int y, bool invert, int zero, const char *format, ...) __attribute__((format(printf, 5, 6)
75#ifndef __clang__
76, access(read_only, 5), null_terminated_string_arg(5)
77#endif
78));
79
87extern void (*Debug_PrintNumberHex_Byte)(uint8_t value, unsigned int x, unsigned int y);
88
96extern void (*Debug_PrintNumberHex_Dword)(uint32_t value, unsigned int x, unsigned int y);
97
105extern void (*Debug_PrintNumberHex_Nibble)(uint8_t value, unsigned int x, unsigned int y);
106
114extern void (*Debug_PrintNumberHex_Word)(uint16_t value, unsigned int x, unsigned int y);
115
126extern bool (*Debug_PrintString)(const char *string, bool invert)
127#ifndef __clang__
128__attribute__((null_terminated_string_arg(1)))
129#endif
130;
131
138extern int (*Debug_SetCursorPosition)(unsigned int x, unsigned int y);
139
148extern int (*Debug_WaitKey)();
149
150#ifdef __cplusplus
151}
152#endif
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
int(* Debug_WaitKey)()