Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "coreinit.h"
- void start()
- {
- /* Load a good stack */
- asm(
- "lis %r1, 0x1ab5 ;"
- "ori %r1, %r1, 0xd138 ;"
- );
- /* Get a handle to coreinit.rpl */
- unsigned int coreinit_handle, gx2_handle;
- OSDynLoad_Acquire("coreinit.rpl", &coreinit_handle);
- OSDynLoad_Acquire("gx2.rpl", &gx2_handle);
- void* (*OSAllocFromSystem)(int size, int align);
- void (*DCFlushRange)(void *buffer, int length);
- int (*GX2SetDRCBuffer)(void *buffer, int buffer_size, int variable1, int variable2, int variable3 );
- int (*GX2SetDRCScale)(int x, int y);
- int (*GX2SetDRCEnable)(int bool);
- /* Read the address of OSSetExceptionCallback() */
- OSDynLoad_FindExport(coreinit_handle, 0, "OSAllocFromSystem", &OSAllocFromSystem);
- OSDynLoad_FindExport(coreinit_handle, 0, "DCFlushRange", &DCFlushRange);
- OSDynLoad_FindExport(gx2_handle, 0, "GX2SetDRCBuffer", &GX2SetDRCBuffer);
- OSDynLoad_FindExport(gx2_handle, 0, "GX2SetDRCEnable", &GX2SetDRCEnable);
- OSDynLoad_FindExport(gx2_handle, 0, "GX2SetDRCScale", &GX2SetDRCScale);
- //GX2SetDRCEnable(0);
- //int ret1 = GX2SetDRCScale(20, 20);
- int *buffer = 0xF4000000;
- /*char buffer1[256];
- __os_snprintf(buffer1, 256, "return: %d", buffer);
- OSFatal(buffer1);*/
- /*int i;
- for (i = 0;i < 854*480*2;i++)
- {
- buffer[i] = 0xE100FFFF;
- }
- OSFatal("test");*/
- DCFlushRange(buffer, 854*480*4*2);
- //GX2SetDRCEnable(1);
- int ret2 = GX2SetDRCBuffer(buffer, 854*480*4*2, 2, 0x41a, 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement