Klakap wrote:
Well, this is also exact situation. DL=0x00 mean that computer is emulating USB like floppy disk. It happens because you start code with short jmp. Your computers are assuming that you have written BPB, because it also start with short jump. So BIOS read values from BPB - in this case from your code and it is why it do not work - BIOS is initalized with wrong values. Try to remove jmp from start of your code and read if dl value changed from 0x00 to 0x80. DL=0x80 mean that USB is emulates as hard disk and it is what we want.
Still DL = 0
Else the fun fact is that when Ive started developing OS, ive done that with laptop only until now and it appears that only laptop's BIOS do not have this floppy protocol but desktop's BIOS do (even recent ones)
My Both desktops do have this floppy issue but not my laptop (another laptop from my first one).