I wanted to report back that I finally worked through the serdrive disk "Bad Command Checksum" that I have been plagued with from the start of this project. I have been using 86Box/PCem/Windows to create the raw disk images (IMG/VHD). Once created to the size I wanted I would pull over to either AO486 or 86box, fdisk, and format the disk before mounting using serdrive.
On occasion I had to get the geometry for CHS from 86Box so I could specify that in the serdrive mount command. Doing it this way I would run into disk errors, bad command checksum, and serdrive command timeouts when writing to the disk. This would show up randomly with game execution, usually when the higher cluser LBAs were accessed, swapping between EMM and disk, and running OS level commands that were disk heavy like ATTRIB.
The easiest way to set it off was to run Fast Trak 5.0f and optimize the disk. You can see the issues when looking at the screenshot below:
- Bad Command Checksum.png (2.44 MiB) Viewed 5149 times
You could leave serdrive running and reset the core (back out to Mister main menu) and load it again and it would recover. Resetting within the core would just bring back more Bad command checksum errors.
Resolution:
If you create a IMG/VHD file container directly from serdrive command using "./serdrive -n 500MB 500.img" as an example, then fdisk, format, install the os to that container from something like AO486, then you will not get any disk errors or bad command checksums from serdrive. Also, this will set the CHS geometry to the default expected by the command so you wont have to specify it in the pcxt_uart_hdd script. I tried creating a 512MB image using serdrive and that one had issues mounting so I pulled it down to exactly 500MB with no issues. I had issues with 10MB, 20MB, 200MB containers if created outside of this process.
I copied DOS, all of the games, MyMenu, all memory configs, and ran through a full disk defrag/optimization for 5 hours without a single disk error.
I hope this info helps stabilize some things for people.
The primary goal should still be to get off of serdrive and find a developer that can implement either the CPLD or the FPGA logic of the compactflash/sd card components of the XT-IDE card.
500MB IMG/VHD has been stable at 460.8K by following this process. 4+ hours of success:
- 20220717_174211-jukost.png (658.61 KiB) Viewed 5149 times