-
-
Notifications
You must be signed in to change notification settings - Fork 4
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
Update boot.asm #18
Update boot.asm #18
Conversation
franzageek
commented
Jul 26, 2024
- Refactor the code (split it into .text and .data section);
- Improve label naming;
- Remove jumps before 'ret's.
- Refactor the code (.text and .data section); - Improve label naming; - Remove jumps before 'ret's; Signed-off-by: franzageek <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey. Thanks for contributing again!
The code looks good but there's one small issue. It doesn't boot. I'll look into it later today.
Oop so sorry, lemme try to fix it. It could be that no entry point was specified, I'll give it a try. |
Signed-off-by: franzageek <[email protected]>
I'll add a boot check to this assembly CI, because now it only compiles and that could be misleading. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still doesn't boot for me in QEMU.
Adding an extra boot check sounds like a good idea. I'm on a Mac rn so I couldn't test the code before committing, thinking that because the changes were not invasive, it should've booted just fine. I've just updated it - lmk if it works fine :) |
I think I've found the bug, trying to fix it. |
Added a job that checks if a DOS boot sector is present. It's not a full "boot check" but it'll do. highlightos/.github/workflows/asm.yml Lines 26 to 30 in 4346236
|
I'll update your branch. |
- Fix a bug: BIN file was not booting (caused by an accidentally deleted line💀); - Remove code sections (got too much used to program in Protected Mode assembly...). Signed-off-by: franzageek <[email protected]>
There you go, fixed. I forgot that 16 bit Real Mode assembly does not support splitting code in text/data sections. I'm used to program in 32/64 bit Protected mode. Very sorry, should be fixed now. While debugging, I found another bug - after pressing enter the program flow remained trapped in an infinite loop, because I replaced a jump with a ret. Fixed that as well. Try it out for yourself and let me know if it sticks! |
Seems like you forgot about this bc369ce . input wasn't looping because of that |
Actually no - the reason was the |
No problem at all. Happens. So yeah thanks for taking your time and contributing again. Much appreciated. I'll merge this if you don't want to add anything. |
Sure! Really like the vision & the direction of this project. |
Message me privately please through Discord, Signal, e-mail or whatever you like. Merging. |
Alright - just sent you a DM request on Discord. |