To je teda zajímavé že mi dosové aplikace fungují pod win 7 32b a ve win 10 32b ještě líp.
DOSový program prý jde jen ve W9x, z čehož vyplává, že nejede v NTVDM. Nejspíš potřebuje přímý přístup na HW, jak tu zaznělo. Jedině udělat dva drivery. Jeden bude v NTVDM odchytávat výjimky při pokusech o zápis IO portů a druhý bude zapisovat na IO porty.
To, že DOS jde jen pod 32b Windows je zásluha tolik opěvovaného AMD. Intel jako první přišel s 64-bitovým procesorem Itanium, ale s úplně novou instrukční sadou, který nebyl nativně zpětně kompatibilní. Díru na trhu vyplnilo AMD s CPU, které umělo jak novou instrukční sadu AMD64, tak i x86/IA32. Protože pro něj vznikla hromada software, Intelu nezbylo nic jiného, než implementovat AMD64.
Otázkou je, proč v AMD rozhodli, že nové instrukce budou jen v novém režimu "longmode", ve kterém nebude V86. Instrukční dekodér stejně musí umět i staré instrukce, takže mě rozumný důvod nenapadá. Nejde o to, aby v jednom programu mohly být všechny režimy najednou, to nešlo ani na 386. Jde o to, aby režim CPU šel nastavit na úrovni každé aplikace, jak bylo zvykem na 386 (byla volba V86, 16b PM a 32b PM).