When a VGM is too large to fit in memory, it’s currently still loaded in its entirety before this is reported to the user.
Since the file size can be derived from the EoF offset and GD3 offset header values, we could detect this early and save the user from some frustration waiting for a song to load that will never play.
This would mean that VGMPlay needs to move to a pipelined processing method, which would probably involve something like coroutines.