My previous reply could be interpreted so that there is a tone of underestimation but I really try to avoid giving that impression. I take all the feedback seriously, listen to users (it does not matter whether there actually are users or not) and support all the software I release unless specifically announced otherwise.
The stylistic notes were very valid but I am not sure there existed an answer that rationalized the way things were implemented in a way that makes controversy disappear altogether. May I give an example? After releasing the first version, I started to think about tiny improvements for the next "merge window" if there were bugs that make it necassary to release the next version in the first place.
For the next version there will be two things on my list:
- Clear the boot partition signature area in the buffer before making the read calls.
- Clear register cx before getting the drive geometry. This will catch the error if the call does not modify it.
Both of these changes fit well in the code and take advantage of these so called "reserved" bytes, i.e. space inefficient instructions.
However, let's imagine a situation that someone actually started using the first release I made. Do I release an updated version every day and make it very confusing, e.g. was the first version useless and do I have to update my installer that embedded the code in it?
The current version has the exact same bytes than the first released version. It has no bugs
as far as I know (and I asked for checking if someone else finds ones) and I think there should be a threshold so new versions are not released without good reasons. Of course, I will implement the things listed above but it would be good to have those changes in the same "merge window" so that there will be only a few different versions in use.
Please note that all this is just theoretical thinking but small things may scale to bigger things as far attitude is concerned.
EDIT: Of course this was not marked as "stable" but that is just because I am just learning this process...