pspsdk-1.0+beta2
pspdebug.h File Reference
#include <psptypes.h>
#include <pspmoduleinfo.h>
Include dependency graph for pspdebug.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _PspDebugRegBlock
 Structure to hold the register data associated with an exception. More...
struct  _PspDebugStackTrace
 Structure to hold a single stack trace entry. More...
struct  _PspDebugProfilerRegs
 Structure to hold the psp profiler register values. More...

Typedefs

typedef struct _PspDebugRegBlock PspDebugRegBlock
 Structure to hold the register data associated with an exception.
typedef void(* PspDebugErrorHandler )(PspDebugRegBlock *regs)
 Defines a debug error handler.
typedef int(* PspDebugKprintfHandler )(const char *format, u32 *args)
 Type for Kprintf handler.
typedef struct _PspDebugStackTrace PspDebugStackTrace
 Structure to hold a single stack trace entry.
typedef struct
_PspDebugProfilerRegs 
PspDebugProfilerRegs
 Structure to hold the psp profiler register values.
typedef int(* PspDebugPrintHandler )(const char *data, int len)
 Type for the debug print handlers.
typedef int(* PspDebugInputHandler )(char *data, int len)
 Type for the debug input handler.

Functions

void pspDebugScreenInit (void)
 Initialise the debug screen.
void pspDebugScreenInitEx (void *vram_base, int mode, int setup)
 Extended debug screen init.
void pspDebugScreenPrintf (const char *fmt,...) __attribute__((format(printf
 Do a printf to the debug screen.
void void pspDebugScreenKprintf (const char *format,...) __attribute__((format(printf
 Do a printf to the debug screen.
void void void pspDebugScreenEnableBackColor (int enable)
 Enable or disable background colour writing (defaults to enabled)
void pspDebugScreenSetBackColor (u32 color)
 Set the background color for the text.
void pspDebugScreenSetTextColor (u32 color)
 Set the text color.
void pspDebugScreenSetColorMode (int mode)
 Set the color mode (you must have switched the frame buffer appropriately)
void pspDebugScreenPutChar (int x, int y, u32 color, u8 ch)
 Draw a single character to the screen.
void pspDebugScreenSetXY (int x, int y)
 Set the current X and Y co-ordinate for the screen (in character units)
void pspDebugScreenSetOffset (int offset)
 Set the video ram offset used for the screen.
void pspDebugScreenSetBase (u32 *base)
 Set the video ram base used for the screen.
void pspDebugScreenSetMaxX (unsigned int maxx)
 Set the X maximum coordinate (in character units)
void pspDebugScreenSetMaxY (unsigned int maxy)
 Set the Y maximum coordinate (in character units)
int pspDebugScreenGetX (void)
 Get the current X co-ordinate (in character units)
int pspDebugScreenGetY (void)
 Get the current Y co-ordinate (in character units)
void pspDebugScreenClear (void)
 Clear the debug screen.
int pspDebugScreenPrintData (const char *buff, int size)
 Print non-nul terminated strings.
int pspDebugScreenPuts (const char *str)
 Print a string.
int pspDebugGetStackTrace (unsigned int *results, int max)
 Get a MIPS stack trace (might work :P)
void pspDebugScreenClearLineEnable (void)
 Enable the clear line function that allows debug to clear the screen.
void pspDebugScreenClearLineDisable (void)
 Disable the clear line function that causes flicker on constant refreshes.
int pspDebugInstallErrorHandler (PspDebugErrorHandler handler)
 Install an error handler to catch unhandled exceptions.
void pspDebugDumpException (PspDebugRegBlock *regs)
 Dump an exception to screen using the pspDebugScreen functions.
int pspDebugInstallKprintfHandler (PspDebugKprintfHandler handler)
 Install a Kprintf handler into the system.
int pspDebugGetStackTrace2 (PspDebugRegBlock *regs, PspDebugStackTrace *trace, int max)
 Do a stack trace from the current exception.
void pspDebugProfilerEnable (void)
 Enables the profiler hardware.
void pspDebugProfilerDisable (void)
 Disables the profiler hardware.
void pspDebugProfilerClear (void)
 Clear the profiler registers.
void pspDebugProfilerGetRegs (PspDebugProfilerRegs *regs)
 Get the profiler register state.
void pspDebugProfilerPrint (void)
 Print the profiler registers to screen.
int pspDebugInstallStdinHandler (PspDebugInputHandler handler)
 Install a handler for stdin (so you can use normal stdio functions)
int pspDebugInstallStdoutHandler (PspDebugPrintHandler handler)
 Install a print handler for stdout (so you can use normal print functions)
int pspDebugInstallStderrHandler (PspDebugPrintHandler handler)
 Install a print handler for stderr (so you can use normal print functions)
void pspDebugSioPutchar (int ch)
 Put a character to the remote sio.
int pspDebugSioGetchar (void)
 Get a character from the remote sio.
void pspDebugSioPuts (const char *str)
 Write a string to the sio port.
int pspDebugSioPutData (const char *data, int len)
 Write a set of data to the sio port.
int pspDebugSioPutText (const char *data, int len)
 Write a set of data to the sio port converting single line feeds to CRLF and single CR to CRLF.
void pspDebugSioInit (void)
 Initialise the remote SIO port (defaults to 4800 8N1).
void pspDebugSioSetBaud (int baud)
 Set the baud rate of the SIO, e.g.
void pspDebugEnablePutchar (void)
 Enable debug character output.
void pspDebugSioInstallKprintf (void)
 Install a kprintf debug putchar handler.
void pspDebugGdbStubInit (void)
 Install the gdb stub handler.
void pspDebugBreakpoint (void)
 Generate a breakpoint exception.
void pspDebugSioEnableKprintf (void)
 Enable the kprintf handler (once installed)
void pspDebugSioDisableKprintf (void)
 Disable the kprintf handler (once installed)