diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-01-08 22:03:07 -0500 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-01-08 22:03:07 -0500 |
commit | 0bf530da12f671c678f7e524b4318213d49b30e0 (patch) | |
tree | d03ab7dc090cea184e98a723685d7cdaacfe3914 | |
parent | ba1eb6d952bfbeacd9345629997b3bdc18befde3 (diff) |
nocashgba printf
-rw-r--r-- | include/config.h | 8 | ||||
-rwxr-xr-x | src/libisagbprn.c | 12 |
2 files changed, 19 insertions, 1 deletions
diff --git a/include/config.h b/include/config.h index 53502c6c2..318ed39d8 100644 --- a/include/config.h +++ b/include/config.h @@ -7,6 +7,14 @@ // to define NDEBUG before release, however this has been changed as // Ruby's actual debug build does not use the AGBPrint features. #define NDEBUG + +// To enable print debugging, comment out "#define NDEBUG". This allows +// the various AGBPrint functions to be used. (See include/gba/isagbprint.h). +// Some emulators support a debug console window: uncomment NoCashGBAPrint() +// and NoCashGBAPrintf() in libisagbprn.c to use no$gba's own proprietary +// printing system. Use NoCashGBAPrint() and NoCashGBAPrintf() like you +// would normally use AGBPrint() and AGBPrintf(). + // NOTE: Don't try to enable assert right now as many pointers // still exist in defines and WILL likely result in a broken ROM. diff --git a/src/libisagbprn.c b/src/libisagbprn.c index 007f90bb7..a9656f3c5 100755 --- a/src/libisagbprn.c +++ b/src/libisagbprn.c @@ -155,12 +155,22 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP } } -// no$gba print function, uncomment to use +// no$gba print functions, uncomment to use /* void NoCashGBAPrint(const char *pBuf) { *(volatile u32*)NOCASHGBAPRINTADDR = (u32)pBuf; } + +void NoCashGBAPrintf(const char *pBuf, ...) +{ + char bufPrint[0x100]; + va_list vArgv; + va_start(vArgv, pBuf); + vsprintf(bufPrint, pBuf, vArgv); + va_end(vArgv); + NoCashGBAPrint(bufPrint); +} */ #endif |