Hi, in order to load MemTest86+ from DOS, int 15 must not be hooked. It is the only int vector which is (for memory sizing and APM stuff) used when MemTest86+ returns to real mode for a moment after doing protected mode initialization. How could we give Memtest86+ the ROM BIOS int 15 handler? One method would be pointer tricks:
FDXXMS: "cmp ah,87 jz ... cmp ah,88 jz ... cmp ax,e801 jz ... jmp far [cs:...]" HIMEM: "cmp ah,87 jz ... cmp ah,88 jz ... jmp [cs:...]" MS HIMEM: ??? DR HIMEM: ??? So would it be an idea to search for a far jump, starting the search at the current int 15 entry point? Or is there other software which hooks int 15 as well? Which? Or maybe int 15 handler versions in HIMEM which cannot be analyzed that easily? Note that Memtest86+ never returns to DOS, so we only have to remove some DOS influences without having to worry about damaging DOS. Advantage of allowing HIMEM to be present would be that the HIMEM A20 enable methods can be used. Memtest86+ itself only does 8042 A20 on method and does never check if the A20 got actually enabled. It does not even check if A20 was enabled already when Memtest86+ starts. The program can be found at http://www.memtest.org/ (normal load mode for Memtest86+ is to use a Linux kernel loader, but I have written a DOS loader which allows you to have an UPXable Memtest86+ exe binary. Recently I found that the load size was 32 bytes too little, so the last 32 bytes of Memtest86+ were treated as overlay (wrong EXE header generation). Ouch...) Eric ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Freedos-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-devel