Octacone wrote:
Hey peps.
I don't know what to do. I have like zero motivation to continue working on my FAT 32 bootloader. Actually I haven't touched it in a while (3 months).
There's nothing wrong with taking time out from a project (or part of a project). I have lots of half finished parts of mine because I keep switching to whichever part I feel most motivated to work on at the time, but I keep going back and doing a little bit of each every now and then, and the gradually become complete. I have a to-do list with all these chores listed on it and I score them out when they're done, and it's highly motivating to see all the scored-out parts grow in number while the parts still to be done cover less and less space.
Quote:
It just feels boring.
The most boring parts are the ones where you aren't breaking new ground, but that also means you could copy what other people have already done if you're struggling with algorithms.
Quote:
Assembly is really hard to work with, you constantly have to know what each register holds.
Writing the actual code is the last step in the process and it really shouldn't be that hard. Write the whole program in pseudocode first, then work out which values you might want to hold in registers for a long time within the program, and then when you write the code, write in the comments the details of which registers hold what, and when their content is no longer needed. If you're really struggling with this, use line numbers and draw a diagram of the registers on a large sheet of paper so that you can list the changes in content of each register by line number as they occur - that will make it easy for you to find out what they hold at any point in the program. I've had ideas about writing a tool for holding this information as a more dynamic comments system so that you would put the cursor in a line of code and the tool would show you what all the registers hold at that point. Perhaps that would make a more motivating project for you to take on while you're avoiding writing your bootloader, although I don't know how hard it would be to integrate it into an assembler.
Quote:
When I try to work on it, I immediately quit.
That's burn-out, and the cure for it is to take a complete break and do something else. During this break, whenever you do think about your bootloader, think first about how you can change the way you work to make it more comfortable.
Quote:
I want to work on my OS, but in order to do that I have to finish that awful thing.
How do I get motivated?
Get it done is pseudocode first and tackle that and the conversion to assembly instructions in small chunks just doing a little bit each time instead of trying to do it all in a short time - it's clearly become something that's so draining mentally that this is the only way to handle it. Do one little chunk of this each time, then switch to working on something else to get your mind onto something that does motivate you (such as the more innovative ideas you have that got you into OS development in the first place).