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

ecm boot32 dl #120

Merged
merged 6 commits into from
Feb 4, 2024
Merged

ecm boot32 dl #120

merged 6 commits into from
Feb 4, 2024

Conversation

ecm-pushbx
Copy link
Contributor

This fixes the incompatibility noted in #119 and also another bug of the 8086 CHS FAT32 loader. The latter prevented successful loading if the kernel file's clusters did not fit within the first FAT sector.

Also, the 8086 CHS FAT32 loader will now emit an exclamation mark and a beep when an error occurs, rather than staying silent.

It turned out that this loader was severely broken for many years,
at least since 2012 (the git repo's creation). This variable was
read as a word to set cx for a loop, but only the low byte had
been written. The high byte happened to be 0EEh so cn_loop would
always zero out the FAT sector to read.

This _happened_ to work if the first root directory cluster and
all the kernel file clusters were all referenced in the first
sector of the FAT. Otherwise it would blow up.
@boeckmann
Copy link
Contributor

Looks good! I'll use these changes to prepare a new SYS binary for my EDR repo.

@PerditionC PerditionC merged commit 42d3ae6 into FDOS:master Feb 4, 2024
1 check passed
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

Successfully merging this pull request may close these issues.

3 participants