m44rtn / vireo

Vireo is a simple 32-bit mono-tasking operating system for the x86 CPU architecture.
MIT License
5 stars 0 forks source link

Trouble reading drives #26

Closed m44rtn closed 1 year ago

m44rtn commented 4 years ago

Vireo build: 1615

Describe the bug The winXP machine (BLOBBY) has trouble reading PATA drives, it just hangs. I think it has to do with polling RDY or something like that.

m44rtn commented 3 years ago

See also #16.

m44rtn commented 3 years ago

Testing revealed only ICH4 devices have this problem. Currently, the ATA driver can read hard drives (this was fixed in a future commit that has currently not been pushed yet). The ISO9660 driver currently cannot function properly using the ATAPI functions of the ATA driver.

m44rtn commented 3 years ago

Currently, the ISO driver detects that the amount of bytes in one sector is more than it's supposed to be. This seems to be caused by the problem mentioned above: ATAPI drives aren't read correctly.

m44rtn commented 2 years ago

Perhaps a delay in reading (like in commit 3f25804, for writes) may fix this problem. It would explain the symptoms, like reading things that aren't there (wrong sector size).

m44rtn commented 2 years ago

The ATAPI reading problem is fixed. As mentioned by the commit (referenced above, commit b69e208), the primary volume descriptor of the ISO9660 disc inserted to the drive is read correctly.

However, there is still a problem where the configuration file stored on the disc cannot be parsed, this may be due to other reasons though (such as memory issues).

m44rtn commented 2 years ago

According to the kernel, there is nothing in the config file when read on this machine.

m44rtn commented 1 year ago

This is not limited to this machine, as another real-life machine and QEMU appear to have the same problem.

m44rtn commented 1 year ago

The problem with QEMU and the other irl machine is fixed (see 37ecec288978ec0d9eeb87d58a81c06d28810c54), and is seperate from the WinXP machine.

m44rtn commented 1 year ago

Fixing this issue currently does not fit the project goals.