
                 Hogyan rak ki a Windows 1 pixelt?          by Infrared/VSC
                 

   Lssuk, teht mi is trtnik a Windows-ban, ha az egyik program ki akar
 rakni 1 pixelt az ablaka x,y koordintj pontjra c sznben...

 1. Alloc-lunk mondjuk 7 byte-ot a memriban, ebben fogjuk trolni az
    x,y koordintt (2 word), es a szn 3 komponenst (3 byte)...
        1.1. Meghvjuk a Windows deoptimalizlt alloc-l fggvnyt,
             amely megnzi, hogy ugyan mr van-e 7 byte szabad memria...
            1.1.1. Ha nincs, akkor meghvja a virtulis memria kezelt,
                   es megkri szepen, hogy ugyan mr legyen szves kiswappolni
                   7 byte-ot,mert szksg lenne r...
                  1.1.1.1. A virtulis memriakezel megnzi, hogy
                           melyik 7 byte-ot hasznltk legrgebben a
                           memribl, ugyanis ezt fogja kiswappolni a
                           nyomorult.
                  1.1.1.2. Igen, n nyert, a kvetkez lloms az,
                           hogy a virtulis memriakezel megnzi, hogy
                           ez a 7 byte folytonos terleten van-e, mert ha
                           nem akkor trendezi a memriat, gy hogy
                           folytonoss vljon ez a 7 byte  (Speedisk a
                           memriban..) :-)
                  1.1.1.3 Megvan, hogy mit kell msolni, mar csak az
                          hinyzik, hogy hova, teht a virtulis memria
                          kezel megnzi, hogy hol is van trolva a memriban
                          a virtulis memria winchesteren valo elhelyezkedse..
                          Lehet, hogy ezt is swappolni kne????? :-|
                  1.1.1.4 Igen, vegre van 7 byte szabad szabad
                          memrink, a w_alloc() visszatr az alloclt terlet
                          kezdcmvel, termszetesen nem ES(FS/GS/..):
                          BX(DX/DI/..)-ben hanem a stackben hagyja azt a wordot,
                          ami mutat arra a pointerre, ami mutat a lefoglalt
                          terlet kezdcmre... :-(
            1.1.2. Az eljrsunk nagynehezen elbnyszta az alloclt
                   memria kezdcmt, gyhogy rl egy kicsit, de szltja a
                   ktelessg....

 2. Be kne MOV-olni az alloc-lt 7 byte-ba a megfelel szmokat,
    gyhogy programunk meghvja a be-MOV-ol eljrst.
        2.1. A be-MOV-ol kzben jra ellenrzi, hogy a lefoglalt 7
             byte-unkat kzben kiswappolta-e egy msik TASK... :-<
        2.2. Ha kiswappolta, akkor vissza az 1.1 rszhez..

 3. Vgre bentvan ez a 7 byte a memria megfelel terleten, teht
 meghvhatjuk a W_PutPixel() fggvnyt. Mint neve is sejteti, ez fogja
 kirakni a pixelt a kpre, es vgre vget rnek szenvedseink, a pixel
 is vgs nyugalomra tr megfelel helyen a vidememriban...
 NOT!!
        3.1. A W_PutPixel() megnzi, hogy elmozdult-e kzben az ablak,
             mert ennyi id alatt hatszor krbeviszem a kpernyn az
             ablakot keretestl, mindenestl...
        3.2. A W_PutPixel() meghvja a W_LoadPixelEffectiveAdress()-t,
             ami elvan egy ideig, szorozgat, osztogat, nzegeti, hogy van-e
             koproci, kiszmolja, hogy rdemes-e a koprocit meghvni, vagy
             inkabb kiszmolja-e , hogy a ablak mretbl s kerettpusbl,
             es fejlcbl, s tudomisnmibl, hogy lehet kiszamolni az
             effektv cmet. Ja, azt kihagytam, hogy kzben alloclgat egy
             sort, de az gy elhasznlt id gyis elhanyagolhat a tbbihez
             kpest...
        3.3. Meghvja a Windows kpernydrivert es megkri, hogy ugyan
             mr legyen szves belapozni a megfelel kpernylapot, s vgl,
             de nem utolssorban:
        3.4. Ismt meghvja a be-MOV-ol eljrst....

 4. Ht igen, szval csupncsak ennyi ideig tart a Windows-nak amg
    kirak 1 azaz 1 pixelt!!. Ht ezrt ilyen kurva lass!


... MicroSoft has nothing to do with this tagline
... Airconditioned terminal - don't open WINDOWS !
... Repeat until false. Also called as Windows.
... Do you want exploding Windows? No EXPLODING MICROSOFT instead.
... New files: DesqView for Windows, Windows for ZX Spectrum
... Convert ur 486 into a GameBoy, use MacroFos Vindz
... Windows - the commercial version of Stoned virus
... , a Microsoft legjobb programozja.  ksziti a bugokat.
... WINDOWS: Just say NO!!!
... A Microsoft vgre ellltotta a program nlkli hibt.
