DIGIT4L_PUNK wrote:
hi
I'm working on kernel image loader for DOS. I use flat-real mode to copy the image to the destination memory address (pointed by ES:EDI) when EDI = 0x00100000 (beginnig of the 1st megabyte) after the mem-copy is done, system hangs. and e.g. if EDI = 0x00200000 everithing works fine.
so, what's the problem? ???
keep in mind, I have Compaq DeskPro
If your A20 doesn't enable properly, you're memcpy'ing to the IVT and further on. The very next interrupt (random-ish) will crash your system then.
If your DOS uses a HMA driver, that crashes your system if the A20 does work.
If neither of these, it should work.
Note, 0x200000 doesn't use A20 but A21 (and A[19..0]) so it does work if the A20 enable failed.