You're not trying out EDD on a floppy drive, are you?
No, hard drive image (which becomes a USB on real hardware). Actually it doesn't need EDD yet, as it's not even 4KB. I'm just setting it up for later, especially when i want to load a program that uses this kernel into high memory (after the ISA hole, of course: i'm using the area before the ISA hole for my double buffer).
kohlrak, each sector reading takes step 200h, not 80h. So maybe you have read all available sectors.
At first my problem was that it wasn't loading every sector, now apparently I actually did send it a bad number (well, my routine using it, not it itself). Anyway, thanks to you, now it works.
And don't try to overlap your boot code while it's still working
Yeah, i shouldn't. Most people do it fine, but all it needs to do is read that sector 0 in wrong when overwriting itself and it goes kaboom.
Anyway, I still have one issue: does that EDD function with the 64bit packet work without being in long mode on a long mode processor (this is more curiosity than anything, since my kernel's 32bit)? Also, that pointer to the starting address (offset 4), is the high word work like a 16bit segment register where it's a leftshift by a nibble then add the two together or will that allow me to point up to 0x80000000 (not that i hope i'll be writing that high, but I do want to write into high memory without implementing v86 mode [i'm really only using 16bit to set my video mode and load my kernel, and i'd prefer to keep it that way if possible])?