The arguments to C3D_SetScissor after the first are left, right, top, bottom. Calling the function like this in the gpusprites example in the examples repo:
C3D_SetScissor(GPU_SCISSOR_NORMAL, 0, 0, 400, 240);
...yields:

...which is not what I would expect (a no-op in this case). It renders the same way on console. Is there a bug here?