Taky by me zajimalo jak je to s tou kompatabilitou, jak autor uvadi „což mj. znamená, že by mělo být možné používat tyto čipy i v DOSu jako plnohodnotnou náhradu Sound Blasterů“. Tim asi neni myslena primo HW kompatabilita, ne? Ale spis na urovni ovladacu, kde to mozna fungovalo pod win9×. U SB live to resil DOSovy driver, ktery vyuzival nake hacky pres SERR# a NMI pro zachyceni pristupu na legacy porty a predani parametru SW SB emulatoru.
Pak sem videl este jiny zajimavy pristup na AMD Geode (a pry to fungovalo i na nejakych VIA cipech), kde vyrobce napsal SMI handler do BIOSu (u AMD VSA modul), ktery pak zcela transparentne emuloval SB. Jak jsem pochopil, chipset musi mit nejakou HW podporu, ktera umozni generovani SMI preruseni pri pristupu na legacy port a o zbytek se postara SMI handler. Protoze ten bezi v SMI rezimu a je nainstalovany uz z BIOSu, tak je neviditelny pro OS a funguje to krasne v DOSu, v RM i PM, v linuxu i woknech. Akorat to pozere trochu vic strojovyho casu, ale co kdyz mame neska ty gigaherce. Bohuzel se to ale moc neujalo, takze dnes SB kompatabilita veskera nulova… :(
DOS zpravidla už neběžel v čistém RM ale ve VM86 a to i když jste byl přesvědčen, že jede v RM. Většinou tam seděl nějaký EMM nebo QEMM, nebo jiný správce paměti, který po startu spustil VM86 a dál pokračoval v něm.
No a protože VM86 běží v PM, tak v PM můžete zařídit, aby přístup na libovolný port generoval výjimku procesoru a PM handler to pak předá do driveru ve VM86.
PM – Protect Mode
VM86 – Virtual Mode 86
RM- Real mode
EMM – Expanded memory manager
QEMM – Quarterdeck Expanded Memory Manager
DOS- Disk operation system.
To je sice pravda, ale to je takovy mene transparentni (a taky by tu obsluhu vyjimky musel nekdo napsat, QEMM ani jiny spravce pameti nic takovyho neresi). Treba rada starsich her nebo dem nema rado spravce pameti a tudiz je potreba najet v RM. A nebo naopak co kdyz hra (treba doom) jede sama v PM?
To reseni pres SMI mi v tomle ohledu pride genialni, protoze SMM je este nad ring0 a je to tak pro OS uplne schovany. Bohuzel sem este nemel cas se s tim blize seznamit. Ono je to taky dost chraneny, normalne by mela bejt pamet kde, je SMI handler nepristupna (tusim prekryva se s videopameti, je na to naky lock bit v chipsetu) ale snad zatim vsude to slo. Nekde sem i cet ze na nakym notebooku to zkouseli a po locknuti nefungovaly windows vista. Taky je to pekna dira pro viry a malwery, nekdo uz naky ukazkovy kod na zneuziti napsal. U nevim kde sem to cet, treba tady je o tom taky zminka http://episteme.arstechnica.com/eve/forums?…