Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fails to boot on machines with a bios stack greater than 0x100 #1

Closed
neozeed opened this issue Apr 26, 2024 · 1 comment
Closed

fails to boot on machines with a bios stack greater than 0x100 #1

neozeed opened this issue Apr 26, 2024 · 1 comment

Comments

@neozeed
Copy link
Owner

neozeed commented Apr 26, 2024

https://www.os2museum.com/wp/hang-with-early-dos-boot-sector/

While installing various versions of DOS for the DOS history series of articles, I was faced with a mysterious problem: Some versions of DOS would hang right away when booting from fixed disk, but not from floppy. I already knew that DOS 4.x is very sensitive to BIOS stack usage; if a BIOS needs more than 100 bytes or so of stack to process a disk read request, it will fail to boot DOS 4.x from fixed disk, even though the same DOS 4.x can access the same disk just fine when booted from floppy.

In DOS 4.0, IBMBIO.COM/IO.SYS grew beyond 30KB and could no longer be loaded in one go at all, even if it were contiguous (that would in essence always cause the hang problem described above). There just wasn’t enough space between 70h:0 and 0:7c00h anymore. The BIOS component was therefore loaded in two stages, which avoided the problem. However, the staged loading caused the previously mentioned issue with tight stack space—but that’s a different story.

@neozeed
Copy link
Owner Author

neozeed commented Apr 27, 2024

Bug was fixed!

2edc3ae

@neozeed neozeed closed this as completed Apr 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant