[asm]Pod jakim adresem w XP jest pamięć obrazu???

0

Witam
Tak jak w temacie.W milenium tak jak być powinno jest pod adresem B800H ,a w XP są tam same zera.

0

wlodi a o co ci chodzi? O tryb tekstowy pod konsola ? Bo to jego adres podałeś i tylko dla trybu rzeczywistego

// DOPISANE sprawdz powrot (al) z:

mov ah,0fh
int 10h

albo sprawdz komorke pod adresem 0040:0049 <- da to samo, czyli aktualny tryb

bo moze sie okazać, że masz np 7 wtedy ekran jest pod b000:0000

ustawienie trybu:
mov ah,0 , czy inaczej xor ah,ah
mov al,3 <- tryb
int 10h

albo krócej:
mov ax,3 <- tu automatycznie zerujesz ah
int 10h

2 i 3 to sa tryby, ktorych potrzebujesz, z tym ze teoretycznie 2 jest w odcieniach szarości
(Wszystkie adresy są w zapisie heksadecymalnym)

0

Wiesz ja się pierwszy raz z tym spotykam,wiec na 90% o to mi chodzi.

Mam książeczke gdzie jest napisane,ze "Obszar pamięci komputera dla tekstowego trybu karty graficznej rozpoczyna się od adresu segmentowego B800H", o trybach nic tam nie ma dlatego trudno mi o tym cokolwiek powiedzieć.

Jakkolwiek kiedy odpalam emulację DOS(czy jak to się nazywato w milenium pod adresem B800H są pierwsze literki które tam były wpisane i jest OK. W XP zaś są tam zera.

//Dopisane

Ok dzięki , pamiec obrazu jest pod b000:0000

I tak na koniec z ciekawości,o co chodzi z tym ,,że czegoś mam 7?

0

U mnie jest tak samo - nie mogę nawet ekranu wyczyścić :(

0

he he, panowie, doczytajcie jeszcze o adresowaniu pamięci w trybie rzeczywistym i chronionym ;-)
0xB800 w trybie rzeczywistym to nie koniecznie to samo w trybie chronionym. Windows emuluje ten obszar pamięci, żeby programy DOSowe (te dla trybu rzeczywistego) mogły normalnie działać, ale programy pod windowsa czegoś takiego nie dostają od systemu. dla nich nie ma takiego obszaru pamięci. więc jeśli masz program pod DOSa, to możesz się nie przejmować niczym i po prostu malować sobie po segmencie b800 (bo kto w tych czasach ma kartę Herkules z segmentem b000?), a jeśli to program pod windę, to wszystkie windowsy mają API do obsługi trybu tekstowego, więc po kiego grzyba mazać bezpośrednio po pamięci?

0

W win98 i ME było wszystko OK.

a jeśli to program pod windę, to wszystkie windowsy mają API do obsługi trybu tekstowego, więc po kiego grzyba mazać bezpośrednio po pamięci?

Po jakiego grzyba? Po takiego, że do DOSa nie chce mi się wchodzić specjalnie aby jakiś program przetestować a poza tym nie wszyscy mają zainstalowanego DOSa na partycji, a XP nie ma trybu MS-DOS.

0

Ale ma emulację DOSu, obejmującą nie tylko konsolę, ale i int13h itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1