Hi all, After banging my head against the wall, I cannot get certain lines of code to execute. I'm currently trying to modify some SBL examples, specifically the SPR Sample 7 (SMPSPR70). I'm trying to instrument the code with DBG outputs after a line of code is complete, pausing execution unit pad input. Here is an example below:
| | | colAddr = (Uint16*)SCL_AllocColRam(SCL_SPR,48,OFF); SCL_SetColRam(SCL_SPR,0,48,colorData); while(1) { DBG_SetCursol(0,0); DBG_Printf("Last function called SCL_SetColRam()"); DBG_SetCursol(0,1); DBG_Printf("Pad data is equal to: %d", PadData1); if (PadData1 == PAD_A) break; } SPR_3Initial(&work3D); /* 3D sprite display initialization */ while(1){ DBG_SetCursol(0,0); DBG_Printf("Last function called SPR_3Initial()"); DBG_SetCursol(0,1); DBG_Printf("Pad data is equal to: %d", PadData1); if (PadData1 == PAD_A) break; } |
The first DBG output fires, and the code waits for pad input. The second does not and the program proceeds to the main loop displaying the polygon example (which is a really creepy model if you've ever compiled it and watched it...). I have zero idea whats going on after trying to trace through the code with break points in Yabause, Kronos and examining the objdump. I'm using SSSDK v8 I got from here. I'm attaching the ISO and ELF and objdump text file (which is from a COF output which is converted to binary to build the ISO). Really appreciate any help on this incredibly confusing issue... |