( XMI | 2024. 04. 17., sze – 10:48 )

Disclaimer: Piszok régen volt, és akkoriban még kb Pascalban írtam programokat, úgyhogy egészen lowlevel programozási tapasztalatom nincs vele.

Úgy gondolom kb fordítva volt, mint ahogy írod.

Amikor még kevesebb memória volt a gépben, akkor egyszerűen még az egész probléma nem is létezett.

A 640-1024k-s terület eredetileg nem volt memóriának szánva, hanem különféle perifériák voltak fixen leképezve ide. A CGA (asszem 0xA0000-tól kezdve) text mode vagy grafikus framebuffere, az MDA (monochrome display adapter, asszem 0xB0000-B7FFF-ig), a BIOS ROM-ok valahol a legvégen.

Az UMA már egy utólagos hack volt, amikor a gépekben elkezdett annyi memória lenni, hogy ide is jutott. Pl nem minden gépben volt egyszerre CGA (EGA, VGA is ugyanazt a helyet használta) és MDA adapter, így a kettő közül az egyik memóriatartománya szabad volt. Az alaplapnak is tudnia kellett róla, hogy melyik címet küldje az ISA busz (akkoriban még "PC" busz ill a 16bites változata "AT" busz néven futott) fele és melyiket a memóriának, a memória csak a nagyon korai szakaszban ült közös buszon a perifériákkal.