And so it came that I got to play the excellent Zelda2-"level" from Alan Bond (which I can highly recommend to everybody). It is advertised at the Download page with "about 3 hours of gameplay". Well, apparently I am a bit on the slower side and at about 3h 40m, suddenly the tape recording stopped working. First I thought I accidentially hit the stop-button, so I played back with "pause before end" (takes some time for such a tape) and started recording at the end and shortly after it stopped again. And so I learned that Rocks'n'Diamonds has a maximum tape length.
After a short search in the code, I found the potential culprit:
Code: Select all
// values for tape properties
#define MAX_TAPE_LEN (1000 * FRAMES_PER_SECOND) // max.time x fps
At first, I thought that meant that tapes are limited to 1000 seconds - which struck me as odd, because I've created much longer tapes in the past. But when I assume that only frames with changed input are stored, this would explain why tapes can be longer than 16 minutes, but still be limited.
So though this is not strictly speaking a bug, Holger, would you consider increasing that number for future builds? For re-using my tape, I've just built a version with 10,000 instead of thousand. This should probably be enough for everyone and the additional memory required should ne a non-issue these days.