VCCE / VCC

Tandy Color Computer 3 Emulator
GNU General Public License v3.0
64 stars 21 forks source link

Hard Drive Errors in NitrOS-9 #97

Closed pahandav closed 2 years ago

pahandav commented 2 years ago

Ever since 2.1.0b, copy files to hard drives in NitrOS-9 outputs: copy: can't open - ERROR #247

I've only tested it when copying files over when trying to install NitrOS-9 to an HD. Based on file analysis, it seems to be cutting off the ends of the files it's writing, or not writing them at all, if the files are small enough. Needless to say, NitrOS-9 installed in this way is unbootable. Seeing as 2.1.0c is when support for a second hard drive was added, the bug probably has something to do with that code.

ejaquay commented 2 years ago

First debug step check ident -m emudsk module crc should be CF433F edition 06

On Thu, Apr 21, 2022, 7:17 PM pahandav @.***> wrote:

Ever since 2.1.0b, copy files to hard drives in NitrOS-9 outputs: copy: can't open - ERROR #247

I've only tested it when copying files over when trying to install NitrOS-9 to an HD. Based on file analysis, it seems to be cutting off the ends of the files it's writing, or not writing them at all, if the files are small enough. Needless to say, NitrOS-9 installed in this way is unbootable. Seeing as 2.1.0c is when support for a second hard drive was added, the bug probably has something to do with that code.

— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/97, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIUKNC2KA75U5TIMY6GLMDVGHOZLANCNFSM5UAVGUTA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

pahandav commented 2 years ago

The install disk I used gives me that CRC when i run that command. I can't check the CRC on the hard drive because that doesn't boot.

ejaquay commented 2 years ago

Seek error is pretty generic. I would try a a different vhd. I have heard no other reports of simular nature, vhds seem to have been pretty solid with latest emudsk driver.

On Thu, Apr 21, 2022, 9:33 PM pahandav @.***> wrote:

The install disk I used gives me that CRC when i run that command. I can't check the CRC on the hard drive because that doesn't boot.

— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/97#issuecomment-1105916153, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIUKNCF6ENDVI54VCUR56DVGH6WFANCNFSM5UAVGUTA . You are receiving this because you commented.Message ID: @.***>

pahandav commented 2 years ago

Well, these are VHDs I made up with my own compiled from scratch install disks. I've copied a couple files from a drive installed under 2.1.0b and the same files from a drive installed under 2.1.0.5. Looking at them in a hex editor shows that stuff is being cut off, or not being copied at all. The attached file has those files, the VHDs installed under 2.1.0b and 2.1.0.5, and the install disks I used VHD Files and Install Disks.zip .

ejaquay commented 2 years ago

I have been able to recreate the issue, it seems newer versions of vcc are unable to format hard drives properly. Apparently not many people have been formatting from os9, they have just been copying an empty formatted vhd when they wanted a new one. I will look into it.

On Thu, Apr 21, 2022 at 9:54 PM pahandav @.***> wrote:

Well, these are VHDs I made up with my own compiled from scratch install disks. I've copied a couple files from a drive installed under 2.1.0b and the same files from a drive installed under 2.1.0.5. Looking at them in a hex editor shows that stuff is being cut off, or not being copied at all. The attached file has those files, the VHDs installed under 2.1.0b and 2.1.0.5, and the install disks I used VHD Files and Install Disks.zip https://github.com/VCCE/VCC/files/8536244/VHD.Files.and.Install.Disks.zip .

— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/97#issuecomment-1105924177, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIUKNAZ5UCHQQFRPRIUC3TVGIBG3ANCNFSM5UAVGUTA . You are receiving this because you commented.Message ID: @.***>

ejaquay commented 2 years ago

Shortly after the second hard drive was added we started getting errors copying files between the drives. They turned out to be caused by a bug in emudsk, which is why I first asked about it;s version. However as part of the debug effort a check was added in Vcc to return an error if an attempt is made to read past the end of an VHD. This check is why Vcc can no longer format an empty file.

ejaquay commented 2 years ago

fixed commit 382e2bc

ejaquay commented 2 years ago

A Vcc build containing this fix can be found at h https://github.com/ejaquay/VCC/releases/download/2.1.0.6-beta-382e2bc/vcc2.1.0.6-beta-382e2bc.zip

pahandav commented 2 years ago

I'll try to test that out before the end of the weekend. Thanks.

pahandav commented 2 years ago

I tested it, and the problem persists. The exact same thing happens, unfortunately.

BGPierce commented 2 years ago

Ok, I understand what you are experiencing, but I am totally clueless as to how you got there. In other words, I need more info.

  1. How did you create the VHD?
  2. What version of NitrOS9 are you using?
  3. What version of "format" did you use?
  4. What exactly is your "boot creation" process? Include step by step, with any tools used for each step
  5. Any other info you can think of that would help.

This will help me recreate what you are doing so I can see what is going on. Thanks, Bill P.

pahandav commented 2 years ago
  1. Download the VHD Files and Install Disks.zip in one my posts above this, it's got everything I'm using for this in it.
  2. The latest development sources. The latest upstream update to the sources was committed last Tuesday.
  3. Whichever version of format is included in the latest sources.
  4. Again, refer to the zip file.
  5. I can't think of anything else to say, it's better to just go through the instructions in the zip file. Honestly, this isn't that big of a problem. I can make VHDs in this manner in version 2.1.0b and below, so it shouldn't cause significant problems for anyone else following my instructions.
ejaquay commented 2 years ago

My experience is that it works. I am able to format and copy files to newly created vhds and was able to create a rgbdos vhd using the patched version of Vcc. Are you sure you are using the right Vcc version?

[image: Untitled.png]

On Sun, Apr 24, 2022 at 5:10 PM pahandav @.***> wrote:

I tested it, and the problem persists. The exact same thing happens, unfortunately.

— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/97#issuecomment-1107919052, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIUKNC7QLWXJHPQ3LOAKXDVGW2FJANCNFSM5UAVGUTA . You are receiving this because you were assigned.Message ID: @.***>

pahandav commented 2 years ago

I think I figured out the problem on my end. On a whim, I tried the beta executable with the 2.1.0b .dlls, and it worked. Of course, only one drive could be selected. So, long story short, I realized that the hard drive code is contained in the harddisk.dll file, which I don't have. In other words, right .exe version, wrong .dll version.

ejaquay commented 2 years ago

My brain must have malfunctioned. To test fix the new version of harddrive.dll is required. The version of vcc.exe probably does not actually matter.

https://github.com/ejaquay/VCC/releases/download/harddisk-fix/vcc-harddisk.zip

pahandav commented 2 years ago

I tested it again, and everything is working fine with the updated harddisk.dll. I can install NitrOS-9, copy other files to the drive, format a second drive (even though I didn't bother with the RS-DOS partitions for that), and copy files to that, and between the drives. You can probably close this issue as fixed. Thanks.

ejaquay commented 1 year ago

Use the vcc.exe and harddisk.dll from this zip file for testing. https://github.com/ejaquay/VCC/releases/download/harddisk-fix/vcc-harddisk.zip

On Mon, Apr 25, 2022 at 5:36 AM pahandav @.***> wrote:

I think I figured out the problem on my end. On a whim, I tried the beta executable with the 2.1.0b .dlls, and it worked. Of course, only one drive could be selected. So, long story short, I realized that the hard drive code is contained in the harddisk.dll file, which I don't have. In other words, right .exe version, wrong .dll version.

— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/97#issuecomment-1108328720, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIUKNFNDNJXS2YULBDT523VGZRSXANCNFSM5UAVGUTA . You are receiving this because you were assigned.Message ID: @.***>

ejaquay commented 1 year ago

You need the new harddrive.dll for the patch to work!

On Mon, Apr 25, 2022 at 5:36 AM pahandav @.***> wrote:

I think I figured out the problem on my end. On a whim, I tried the beta executable with the 2.1.0b .dlls, and it worked. Of course, only one drive could be selected. So, long story short, I realized that the hard drive code is contained in the harddisk.dll file, which I don't have. In other words, right .exe version, wrong .dll version.

— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/97#issuecomment-1108328720, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIUKNFNDNJXS2YULBDT523VGZRSXANCNFSM5UAVGUTA . You are receiving this because you were assigned.Message ID: @.***>

ejaquay commented 1 year ago

I had tried to follow the instructions and they worked mostly. After running the create tool I had to go back to Nitros9 and do a DSAVE again because the tool deleted the Nitros9 files. After that every thing seems okay .

On Sun, Apr 24, 2022 at 10:25 PM pahandav @.***> wrote:

  1. Download the VHD Files and Install Disks.zip in one my posts above this, it's got everything I'm using for this in it.
  2. The latest development sources. The latest upstream update to the sources was committed last Tuesday.
  3. Whichever version of format is included in the latest sources.
  4. Again, refer to the zip file.
  5. I can't think of anything else to say, it's better to just go through the instructions in the zip file. Honestly, this isn't that big of a problem. I can make VHDs in this manner in version 2.1.0b and below, so it shouldn't cause significant problems for anyone else following my instructions.

— Reply to this email directly, view it on GitHub https://github.com/VCCE/VCC/issues/97#issuecomment-1107999083, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIUKNF73KAIT2RU2EYXNOLVGX7C3ANCNFSM5UAVGUTA . You are receiving this because you were assigned.Message ID: @.***>