Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem VESA obrazovka - program se chybně spouští v textovém režimu [Assembler, TP7]

Ahoj,ještě jeden dotaz.
V assembleru jsem si naprogramoval obrazovku 800x600x256 (režim VESA). Můj problém je ten, že na některých počítačích se místo grafického režimu spustí textový (v jednom případě windowsy po každém spuštění toho programu rovnou spadly). Zajímalo by mě čím to může být způsobeno. Naprogramoval jsem to v Turbo Pascalu 7 přes assembler. Předem dík

Titulek "zase assembler" byl nejspíš pro povyražení moderátorů... (Vladimir)

Předmět Autor Datum
Copak, někomu se nelíbil ten původní název??
maherik 23.02.2007 21:17
maherik
Tobě se "zase assembler" líbí? Můžu to tam vrátit, nabízím podobu: Zase assembler[Výstižný nadpis,…
Vladimir 23.02.2007 23:02
Vladimir
Windows XP. Vyrieši to DOSBox.
msx. 23.02.2007 23:23
msx.
Pod windows nemozes pracovat priamo s HW, ak to je DOS program windows to zachytavaju a snazia sa to… poslední
MM.. 23.02.2007 23:38
MM..

Pod windows nemozes pracovat priamo s HW, ak to je DOS program windows to zachytavaju a snazia sa to emulovat, ale zavisi to aj od verzie win a zrejme aj od ovladaca grafiky ze pokial to emuluje.

Taketo DOS programy funguju len pod DOSom alebo nejakym emulatorom napr. DOSbox alebo na virtualnom PC na ktorom je DOS. Ale ani tam nemusi ist uplne vsetko, zavisi od toho co dotycny emulator vie emulovat. Win nedovoli ziadnej aplikacii sahat na HW priamo (aj volanie int10h je vpodstate zasah na HW bez kontroly OS), a tak to aj ma byt, je to zakladna vlastnost multitaskingoveho OS.

P.S. Ak chces robit taketo programy pre Win, tak zabudni na turbopascal zozen si nejaky prekladac pre 32bitove oknove windows aplikacie (VC++, delphi, zdarma napr. devcpp), a zacni studovat, pre oknove aplikacie kde nepotrebujes animaciu v realnom case staci aj winapi alebo hocaka nadstavbova kniznica prekladaca (MFC u visualc++ alebo nejake graficke komponenty delphi apod), pre celoobrazovkove alebo s reltimovymi animaciami aplikacie pod Win potrebujes poznat directX.

Zpět do poradny Odpovědět na původní otázku Nahoru