void disableBacklight() { u32 off = 0; GSPGPU_ReadHWRegs(REG_LCDBACKLIGHTMAIN, &brightnessMain, 4); GSPGPU_ReadHWRegs(REG_LCDBACKLIGHTSUB, &brightnessSub, 4); GSPGPU_WriteHWRegs(REG_LCDBACKLIGHTMAIN, &off, 4); GSPGPU_WriteHWRegs(REG_LCDBACKLIGHTSUB, &off, 4); }
void gspGpuInit() { gspInit(); GSPGPU_AcquireRight(NULL, 0x0); GSPGPU_SetLcdForceBlack(NULL, 0x0); //set subscreen to blue u32 regData=0x01FF0000; GSPGPU_WriteHWRegs(NULL, 0x202A04, ®Data, 4); //grab main left screen framebuffer addresses GSPGPU_ReadHWRegs(NULL, 0x400468, (u32*)&topLeftFramebuffers, 8); //convert PA to VA (assuming FB in VRAM) topLeftFramebuffers[0]+=0x7000000; topLeftFramebuffers[1]+=0x7000000; //setup our gsp shared mem section u8 threadID; svc_createEvent(&gspEvent, 0x0); GSPGPU_RegisterInterruptRelayQueue(NULL, gspEvent, 0x1, &gspSharedMemHandle, &threadID); svc_mapMemoryBlock(gspSharedMemHandle, 0x10002000, 0x3, 0x10000000); //map GSP heap svc_controlMemory((u32*)&gspHeap, 0x0, 0x0, 0x2000000, 0x10003, 0x3); //wait until we can write stuff to it svc_waitSynchronization1(gspEvent, 0x55bcb0); //GSP shared mem : 0x2779F000 gxCmdBuf=(u32*)(0x10002000+0x800+threadID*0x200); currentBuffer=0; }
int main() { getSrvHandle(&srvHandle); aptInit(); gspGpuInit(); Handle hidHandle; Handle hidMemHandle; srv_getServiceHandle(srvHandle, &hidHandle, "hid:USER"); HIDUSER_GetInfo(hidHandle, &hidMemHandle); svc_mapMemoryBlock(hidMemHandle, 0x10000000, 0x1, 0x10000000); HIDUSER_Init(hidHandle); while(1) { u32 PAD=((u32*)0x10000000)[7]; renderEffect(); swapBuffers(); copyBuffer(); u32 regData=PAD|0x01000000; GSPGPU_WriteHWRegs(gspGpuHandle, 0x202A04, (u8*)®Data, 4); svc_sleepThread(1000000000); } svc_exitProcess(); return 0; }
int main() { initSrv(); aptInit(APPID_APPLICATION); gspGpuInit(); hidInit(NULL); aptSetupEventHandler(); APP_STATUS status; while((status=aptGetStatus())!=APP_EXITING) { if(status==APP_RUNNING) { u32 PAD=hidSharedMem[7]; u32 regData=PAD|0x01000000; GSPGPU_WriteHWRegs(NULL, 0x202A04, (u32*)®Data, 4); renderEffect(); swapBuffers(); copyBuffer(); } svc_sleepThread(16666666); } hidExit(); gspGpuExit(); aptExit(); svc_exitProcess(); return 0; }
void swapBuffers() { u32 regData; GSPGPU_ReadHWRegs(gspGpuHandle, 0x400478, (u8*)®Data, 4); regData^=1; currentBuffer=regData&1; GSPGPU_WriteHWRegs(gspGpuHandle, 0x400478, (u8*)®Data, 4); }
void swapBuffers() { u32 regData; GSPGPU_ReadHWRegs(NULL, 0x400478, ®Data, 4); regData^=1; currentBuffer=regData&1; GSPGPU_WriteHWRegs(NULL, 0x400478, ®Data, 4); }
int main() { initSrv(); aptInit(APPID_APPLICATION); gspGpuInit(); hidInit(NULL); Handle fsuHandle; srv_getServiceHandle(NULL, &fsuHandle, "fs:USER"); FSUSER_Initialize(fsuHandle); Handle fileHandle; u32 bytesRead; FS_archive sdmcArchive=(FS_archive){0x9, (FS_path){PATH_EMPTY, 1, (u8*)""}}; FS_path filePath=(FS_path){PATH_CHAR, 10, (u8*)"/test.bin"}; FSUSER_OpenFileDirectly(fsuHandle, &fileHandle, sdmcArchive, filePath, FS_OPEN_READ, FS_ATTRIBUTE_NONE); FSFILE_Read(fileHandle, &bytesRead, 0x0, (u32*)gspHeap, 0x46500); FSFILE_Close(fileHandle); aptSetupEventHandler(); while(!aptGetStatus()) { u32 PAD=hidSharedMem[7]; renderEffect(); swapBuffers(); copyBuffer(); u32 regData=PAD|0x01000000; GSPGPU_WriteHWRegs(NULL, 0x202A04, ®Data, 4); svc_sleepThread(1000000000); } svc_closeHandle(fsuHandle); hidExit(); gspGpuInit(); aptExit(); svc_exitProcess(); return 0; }
void enableBacklight() { GSPGPU_WriteHWRegs(REG_LCDBACKLIGHTMAIN, &brightnessMain, 4); GSPGPU_WriteHWRegs(REG_LCDBACKLIGHTSUB, &brightnessSub, 4); }
int main() { initSrv(); aptInit(APPID_APPLICATION); gspGpuInit(); hidInit(NULL); Handle fsuHandle; srv_getServiceHandle(NULL, &fsuHandle, "fs:USER"); FSUSER_Initialize(fsuHandle); aptSetupEventHandler(); init_map(); int i; int j; int p=4; int d=0; int q; int frogx = 0; int frogy = 0; int carx[6][9]; int logx[5][6]; // Cant use rand. //for(d=1;d<6;d++){ // while(p>4){ // p = rand(); // } // carx[d]=26+p; for(d=0;d<8;d++){ carx[0][d]=26; if(d<5){ logx[0][d]=26; } d++; } for(d=1;d<8;d++){ if(d<5){ logx[0][d]=0; } carx[0][d]=0; d++; } for(q=0;q<8;q++){ for(d=1; d<6; d++){ if(q<5){ if(d<5){ logx[d][q]=26+p+6; } } carx[d][q]=26+p +6; p=p+6; } p=0; q++; } p= 0; for(q=1;q<8;q++){ for(d=1;d<5;d++){ if(q<5){ if(d<5){ logx[d][q] = p-6; } } carx[d][q]=p-6; p=p-6; } p=0; q++; } while(!aptGetStatus()){ u32 PAD=hidSharedMem[7]; if (PAD == BUTTON_UP){ frogy+= 1; } else if (PAD == BUTTON_DOWN){ frogy+= -1; } else if (PAD == BUTTON_LEFT){ frogx+= -1; } else if (PAD == BUTTON_RIGHT){ frogx+=1; } u32 regData=PAD|0x01000000; init_map(); for(i=0;i<6;i++){ for(j=0;j<8;j++){ draw_car(carx[i][j],15+j*15); if(i<5){ if(j<5){ draw_logs(logx[i][j],150+j*15); } } } } draw_frog(frogx,frogy); //Checks Colition for(i=0;i<6;i++){ for(j=0;j<8;j++){ if(frogy==j+1){ if(frogx==carx[i][j]){ frogy =0; frogx =0; } } } } //Checks if frog in poodle if(frogy >9){ for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(frogy==j+10){ if(frogx==logx[i][j] || frogx==logx[i][j]+1 || frogx==logx[i][j]+2){ frogx= frogx -1; } else{ frogx =0; frogy =0; } } } } } //reinitialize the cars :D // Cant use f*****g rand //for(p=0;p<6;p++){ // if(carx[p]==0){ // d=5; // while(d>4){ // d = rand(); // } // carx[p]= 26+d; // } // else { // carx[p]=carx[p]-1; // } //} for(i=0;i<6;i++){ for(j=0;j<9;j=j+2){ if(i<5){ if(j<5){ if(logx[i][j]==0){ logx[i][j]=26; } else{ logx[i][j]=logx[i][j]-1; } } } if(carx[i][j]==0){ carx[i][j] =26; } else{ carx[i][j]=carx[i][j]-1; } } } for(i=0;i<6;i++){ for(j=1;j<9;j=j+2){ if(i<5){ if(j<5){ if(logx[i][j]==26){ logx[i][j]=0; } else{ logx[i][j]=logx[i][j]+1; } } } if(carx[i][j]==26){ carx[i][j]=0; } else{ carx[i][j]= carx[i][j]+1; } } } copyBuffer(); swapBuffers(); GSPGPU_WriteHWRegs(NULL, 0x202A04, ®Data, 4); svc_sleepThread(220000000); } svc_closeHandle(fsuHandle); hidExit(); gspGpuInit(); aptExit(); svc_exitProcess(); return 0; }
void dbgcolor(u32 col) { u32 regData=0x01000000|col; GSPGPU_WriteHWRegs(NULL, 0x202204, ®Data, 4); }