I think I'm confused by the memory card code. Oh! I get it. "MemCard1019Mb" is not "size of a 1019-Mb memcard" (which would be a bit under 128MB), it's "size in megabits of a 1019-block memcard". Okay, so, I got it partially-working, but all the checksums came out wrong, and I now somewhat suspect that the cards are unreliable. I can sometimes read one or the other of them. Sometimes they fail, but when they fail, they have very persistent behaviors for a given card with a given set of data; like, it can't read at all, or it reads everything, or it reads exactly 8KB or 12KB. Put it in gamecube, mess with files or something, it comes out different.
It looks like Datel may have shipped them with bogus headers with no card size listed in the initial header; I reformatted one on the gamecube and that one now seems to have a correct header. Unfortunately, only 12KB of it are responsive right now.
The one 8MB dump I got now opens at all, with the size hackery and also completely disregarding checksums, but says it has 127 free directory entries and >65k free blocks, which suggests that it's just failing entirely to read things. Unfortunately, I'm not familiar enough with the format or code to decipher that without more time to look at it, and I'd want higher confidence that the image I have is even correct.
They appear to work better after being left alone (?!?) so I'm leaving it overnight.
My guess is that the size hackery of allowing a 995-block card of exactly 8,192,000 bytes would probably be fine if the card image were correct, but it's just a guess.
It looks like Datel may have shipped them with bogus headers with no card size listed in the initial header; I reformatted one on the gamecube and that one now seems to have a correct header. Unfortunately, only 12KB of it are responsive right now.
The one 8MB dump I got now opens at all, with the size hackery and also completely disregarding checksums, but says it has 127 free directory entries and >65k free blocks, which suggests that it's just failing entirely to read things. Unfortunately, I'm not familiar enough with the format or code to decipher that without more time to look at it, and I'd want higher confidence that the image I have is even correct.
They appear to work better after being left alone (?!?) so I'm leaving it overnight.
My guess is that the size hackery of allowing a 995-block card of exactly 8,192,000 bytes would probably be fine if the card image were correct, but it's just a guess.
