I've decided I'd like to add FDS support to my emulator and I'm having some trouble. At first I thought I might do it by trapping JSRs to BIOS routines but then that seemed like too much of a pain than just regular emulation.
But I did write a routine that would go through the image and find whatever file I wanted and load it. This was enough to make it load files for games like Donkey Kong which never do any Disk Access themselves and are just 32K + 8K games.
So anyway, I've got the bios trying to load games with the drive emulated. The problem I'm having is the *.FDS format apparently is retarded and lacks CRC bytes. Apparently after every block it reads two more bytes than exist in the file. Atleast that is what it appears to be. By trying to add in dummy reads I can advance the error messages I've been getting as it gets further into loading.
I guess my question is, are there any good documents for emulating FDS (the FwNES format)? Or does anyone know anything I might be missing? Right now I get Error 25 which is it expects Block Type 4 (file data) and it isn't getting it. I haven't yet checked to see what the log says it is doing. But if anyone has any tips or knows about other problems please let me know. It certainly would have been nice if one of the documents mentioned the missing CRC bytes.
But I did write a routine that would go through the image and find whatever file I wanted and load it. This was enough to make it load files for games like Donkey Kong which never do any Disk Access themselves and are just 32K + 8K games.
So anyway, I've got the bios trying to load games with the drive emulated. The problem I'm having is the *.FDS format apparently is retarded and lacks CRC bytes. Apparently after every block it reads two more bytes than exist in the file. Atleast that is what it appears to be. By trying to add in dummy reads I can advance the error messages I've been getting as it gets further into loading.
I guess my question is, are there any good documents for emulating FDS (the FwNES format)? Or does anyone know anything I might be missing? Right now I get Error 25 which is it expects Block Type 4 (file data) and it isn't getting it. I haven't yet checked to see what the log says it is doing. But if anyone has any tips or knows about other problems please let me know. It certainly would have been nice if one of the documents mentioned the missing CRC bytes.