Názory ke článku Práce s grafikou 640x480@16bit v Pascalu. (2/4)
5. 2. 2006
Pekny a uzitecny clanek, dival jsem se jen na zdrojak resp. proletej sem ho, mam dva namety na vylepseni:
Pro presun dat z virt screenu do $A000 by se mela pouzit 32-bitova instrukce ktera je nejrychlejsi (nekde na disku to mam, je to i na pcsvet.cz).
Dale Mov cokoliv, 00h nebo Mov cokoliv, 00 by se melo zoptimalizovat na
xor cokoliv, cokoliv
Jinak je to celkem slusny
5. 2. 2006
Jak se na to divam, vsechny ty funkce co jsou v ASM nemaji direktivitu Assembler, takze je tam Begin Asm End; End; ale to je zbytecne, skoda ze to neni optimalizovane, protoze pro vystup funkce, kdy se ma vratit WORD staci v ASM napsat mov ax, nejaka_hodnota a projistotu jeste za to push ax tim se urci funkci co ma vratit.
Pokud funkce ma vracet True nebo False tak je to mov al, True nebo mov al, False
a projistotu Push Al.
No stejne se mi libi ze jsi prvni clovek, ktery nekde vyucuje grafiku jinak nez ve smesnych 320x200x256 (8 bitu)
9. 2. 2006
No, ten 32bitovy presun je sice rychly, jeho nevyhoda ale je ze je nedokumentovany. Coz by ale asi nemelo vadit, pochybuji ze Microsoft vyda novou verzi DOSu... Pokud si prectes cely clanek, tak zjistis, ze mam virtualni obrazovku v XMS pameti, ke ktere neni mozne normalne pristupovat, tak k presunum nezi pametmi pouzivam sluzeb ovladace XMS (Himem.sys).
Tak me napada, ze by se jako virtualni obrazovka dala vyuzit horni cast pameti graficke karty a pote jen prepinat zacatek zobrazovani... :)