The total size of umd0: is in blocks

Therefore sceIoLseek(umd0:, 0, 2) should return the number of blocks, not the number of bytes, in the iso.

Looks like this may help Zero no Kiseki.

-[Unknown]