Re: Konvertering av komposit video till VGA från instrument
Postat: 25 april 2016, 18:06:22
Det är vanligt att anta att CGA och EGA/VGA kolliderar. CGA-kort vill alltid husera i adress-området B800h-BFFFh vilket sammanfaller med EGA textmods fyra banker.
Men det är fullt möjligt, se denna länk t.ex:
In practice, this means that while an EGA is in a monochrome mode, it allows a CGA card to be present;
I praktiken så kunde ett EGA-kort ställas om att aldrig använda B000-BFFF. Både text och grafik kunde köras i A000-AFFF och även EGA färggrafik var möjlig om man inte överskred 64 kByte.
Grafikens både portar och minnesadresser var från början flexibelt programmerbara för CGA och ännu mer för EGA, både ROM och RAM. MDA och sub-varianter var mer besvärliga, om det ens gick, att omallokera, men däremot behövdes det mycket riktigt inte om man körde med EGA samtidigt.
Omallokering var alltså möjlig för CGA/EGA, men någonstans i höga minnets utrymme (HMA) skulle det finnas plats reserverat för EGA/VGA ROM, vilket senare när datorn kunde adressera hela 4MB, var en begränsning när man vill ha tillgång till stort sammanhängande arbetsminne.
Denna reservation lever kvar än idag. Därför har vi ett "hål" i minnes-mappen som inte är tillgängligt för programexekvering utan lite fiffel.
Hålet är normalt dolt av operativets minneshanterare, så det är bara om man arbetar direkt mot hårdvaran som det märks, däremot kan man i moderkortet BIOS-konfig hitta frågan om detta område ska reserveras/speglas i ordinarie minnes-arean.
Men det är fullt möjligt, se denna länk t.ex:
In practice, this means that while an EGA is in a monochrome mode, it allows a CGA card to be present;
I praktiken så kunde ett EGA-kort ställas om att aldrig använda B000-BFFF. Både text och grafik kunde köras i A000-AFFF och även EGA färggrafik var möjlig om man inte överskred 64 kByte.
Grafikens både portar och minnesadresser var från början flexibelt programmerbara för CGA och ännu mer för EGA, både ROM och RAM. MDA och sub-varianter var mer besvärliga, om det ens gick, att omallokera, men däremot behövdes det mycket riktigt inte om man körde med EGA samtidigt.
Omallokering var alltså möjlig för CGA/EGA, men någonstans i höga minnets utrymme (HMA) skulle det finnas plats reserverat för EGA/VGA ROM, vilket senare när datorn kunde adressera hela 4MB, var en begränsning när man vill ha tillgång till stort sammanhängande arbetsminne.
Denna reservation lever kvar än idag. Därför har vi ett "hål" i minnes-mappen som inte är tillgängligt för programexekvering utan lite fiffel.
Hålet är normalt dolt av operativets minneshanterare, så det är bara om man arbetar direkt mot hårdvaran som det märks, däremot kan man i moderkortet BIOS-konfig hitta frågan om detta område ska reserveras/speglas i ordinarie minnes-arean.