Pokud bych nebyl nucenej aby to jelo na <386, tak bych to psal samozrejme v DJGPP. BTW je i prej naka 16bit varianta, ale nemam, nezkousel sem ,nevidel sem.
Ja sem si na DJGPP moc rad zvyknul, protoze mi umoznuje jednak vyuzivat veskery moznosti PMODE jako celou pamet pamet, pristup k fyzicky pameti za hranici 1M atd. a samozrejme 32bit kod a kvalitni optimalizaci, castecna kompatabilita pro GCC linux. V DOSu to jede pres DPMI server, napr. CWSDPMI. Ve Win9x to jede pod vokenim DPMI a taky to funguje. U winNT based je to horsi, program sice bezi, ale cteni z portu a pameti vraci nesmysly-NT to pousti ve VDM.
Zaroven mam ale k dispozici vse co potrebuju z realmodu - vymeda dat s fyzickou pameti pod 1MB, volani preruseni s sluzeb BIOSu. S trochou krkolomnosti se da zvladnout i volani privilegovanych instrukci jako RDMSR a pod, coz sem potreboval ve svoji utilitce CPUID. Pristup na porty je bez problemu standardne pres inportx() / outportx(), proste mi tam nic nechybi. Po Pascalu sahnu uz jen z nutnosti pokud ma byt vysledny kod maly, tj. rekneme 10kB misto 50kB.