BootSector4 proudly presents: Basguru1.2

        Ptimme jatkaa BasGuru-opastamme kehuista johtuen. Uudessa
        versiossa on mm. vieriv kartta tyyliin C&C, sprite-tekniikan
        esittely, nppinhandleri, MOD-formaatin esittely, tuli,
        gouraud varjostettuja polygoneja, CD-soitin ym. Ihan pikku
        vinkkin peli tekeville: unohtakaa se PC-spiikkeri, se on
        aivan kammottava nilhde! ;) Mukana tulee WAVin soitto ohjelma,
        ja vaikka se soittaa WAVeja aika huonosti eik ni ole sielt
        parhaasta pst, niin aina se spiikkerin piipityksen voittaa.
        Xenon2:sta pelanneet tietnevt ett spiikkeristkin saa hie-
        non nen, mutta helpompi se on WAVina (voi laittaa mikill
        vaikka omaa puhetta ;>). Oletamme ett lukija osaa ohjelmoida
        QuickBasicill jo jonkin verran (kaikkia kskyj ei selitet).
        


        Mukana ovat seuraavat BAS-tiedostot:
        
        FLUSH.BAS       -Nppimistbufferin tyhjennys
        MOUSEINP.BAS    -Hiiri!
        OPENCOM1.BAS    -Modeemin terminaaliohjelma
        DEFSEG.BAS      -Segmenttej....
        HANDLERI.BAS    -Nppinhandleri...
        WAVPLAY.BAS     -Soittaa WAVeja ja VOCeja
        AALTO.BAS       -Aaltoilevaa teksti
        C&C.BAS         -Sanooko nimi mitn... vaatii SVGAQB-alikirjaston
        CDPLAY.BAS      -Soittaa CD-levyj, vaatii QB4.5
        EDIT.BAS        -Ikonieditori, oma formaatti, vaatii ADVBAS-alikirjaston
        GFXPRINT.BAS    -Tekstin tulostus grafiikkatilassa
        PRINT.BAS       -Tekstin tulostus tekstitilassa (POKElla..)
        HUNTER.BAS      -AlienPhobiaa parhaimmillaan, vaatii SVGAQB-alikirjaston
        MOD.BAS         -Katsoo mit MOD-tiedosto sislt
        NOBREAK.BAS     -Ctrl-Break ja Ctrl-C ei toimi
        POLYGON.BAS     -Gouraud-varjostettuja polygoneja
        PUT.BAS         -Sprite-tekniikan esittely
        REBOOT.BAS      -Buuttaa koneen
        SCROLL.BAS      -Bittikartan pyritys
        SOFTEN.BAS      -Pehment ruudun POKElla ja PEEKill
        TULI.BAS        -Tuli
        

        lisksi tulee mys seuraavat tiedostot:
        
        BOOT.KUV        -SCROLL.BAS-ohjelman bittikartta
        BOOT.PAL        -SCROLL.BAS-ohjelman paletti
        TAUSTA16.PCX    -C&C.BAS-ohjelman maasto
        UKOT2562.PCX    -HUNTER.BASin ukot
        TULI*.ROM       -PUT.BASin spritet
        



        Kannattaa kopioida QuickBasicille seuraavat alikirjastot:

        jos omistat QuickBasic4.5:n niin SVGAQB-kirjasto on ehdoton
        valinta; MBNetiss SVGAQB23.ZIP tai joku vastaava 
        voit kyd itse katsomassa QuickBasic-apajalla.
       
        jos omistat QB4.0:n niin kannattaa kokeilla ADVBAS-kirjastoa.
        MBNetiss ADVBAS40.ZIP
        


        Jos joku ei tied mik on alikirjasto ja mit sill tehdn niin
        tss on hieman haparoiva selitys:

        Kirjasto on jollain ohjelmointikielell (yleens ASM nopeuden
        maksimoimiseksi) tehty LIB tiedosto.

        Jos kirjasto on yh LIB-tiedosto se pit linkitt QLB:ksi
        kskyll 'LINK /QU kirjasto.LIB,kirjasto.QLB,NUL,BQLB45.LIB'
                                                           
        kynnist QB kskyll 'QB /L kirjasto.QLB'         
                                                   jos kytt QB4.5
                                                   (muissa tapauksissa
                                                   aikaisempi versio
                                                   esim. QB4.0 'BQLB40.LIB')
                                                     
        Kirjaston mukana tulevissa README-tiedostoissa on yleens
        selitetty mukana tulevat kskyt (kannattaa lukea huolella)
        


        Jos kytt QBasicia niin et voi kokeilla kaikkia ohjelmiamme,
        kannattaa hankkia QuickBasic4.5, jos jostain saa halvalla.
        (On se sen verran vanha ohjelma, ett ei kannata sit 1000-
        markkaa maksaa mit jotkut liikkeet pyytvt) *<;=)


        Monta kertaa nkee QuickBasicia mollattavan (ihan turhaan).
        QuickBasicill psisi helposti C/Pascal tasoisiin ohjelmiin
        mutta kun DIMill tehtyjen taulukoiden koko on rajoitettu
        (Oma MODin soitto ohjelmamme kaatui juuri thn kun sampleja
        ei saatu mahtumaan muistiin). Toinen kompastuskivi on hitaus
        (Command&Conguerinkin tekeminen onnistuisi mutta kun ohjelma
        on hidas kuin [sensuroitu] ja DIM taulukoiden mr on rajoi-
        tettu).

        Mutta miksi ihmeess EXEksi knnetty ohjelma on melkein yht
        hidas kuin suoraan BAS-tiedostona ajettuna??? (eik knnetty
        ohjelma pitisi olla nopeampi, mieleen tulee jos Micro$oft on
        laittanut pienet hidastukset EXEen tyyliin Windows95.. Micro-
        Softista ei koskaan tied!) Jos joku osaa selitt niin voisi
        kertoa minulle.

        Parhaiten ohjelmoimaan oppii vain esimerkkej seuraamalla;
        internetist kannattaa poimia esimerkkej (vlill lytyy
        todella laadukkaita esimerkkej (kerran lysin MODEX.BAS,
        eli 320*240 tila QB4.*:een ilman mitn alikirjastoja,
        (toimii mys QBasicilla) mutta emme laittaneet sit thn
        Guruoppaaseen koska korkeampia resoluutioita kaipaavat
        kopioinevat SVGA-alikirjaston MB-Netist.)

        Kannattaa kopata mys PCGPE*.ZIP, se on oikea aarre ohjelmoi-
        jalle. (Siit olen mys ottanut MOD.BASin tiedot) Siin on
        selitetty kaikki bittikartoista prosessorin keskeytyksiin;
        hyv englanninkielen taito eli olisi pahitteeksi; sanasto
        voi aiheuttaa ongelmia.

        Toivon/mme ett tst Guruoppaasta olisi sinulle jotain apua
        peli tehdesssi. Muunmuassa MB-Netist lytyvt BASIC-ohjelmat
        ovat liian usein alkeellisia. BasGuru oppaan yksi tarkoitus onkin
        nostaa suomalaisen BASIC-osaamisen tasoa. Seuraavassa hieman
        efektiesimerkkej selitetty juurta jaksaen.

        
       













        INP-portit:

        INP on ktev ksky koneen toimintoja tutkiessa. INP lukee portista.
        Esim. nppimist lytyy portista &H60. Koodaat sen ohjelmaan nin:

        a=INP(&H60)    <-a:n arvoksi tulee painettu nppin

        muita portteja ovat esim:

        &H3F8          <- hiiren portti (jos hiiri on com ykksess
        &H3C8          <- grafiikka portti (vri), katso PLASMA.BAS
        &H3C9          <- grafiikka portti (vriarvo) 
       












        Nppimistbufferin tyhjennnys:

        Tss kytetn hyvksi nppimistpuskurin ominaisuutta, eli
        rengasmaisuutta, laittamalla puskurin alku osoittamaan loppua, joka
        on (ainakin ohjeiden mukaan) "likainen temppu". Mutta tyhmt kulkevat
        pidempi reittej ;) Kyseess on siis kaksi osoitinta, "alku" ja
        "loppu" ja jos molemmat osoittavat samaa, on puskuri tyhj.














        Modeemiohjelma:

        Esimerkki tiedostossa OPENCOM1.BAS
        Luit aivan oikein... QuickBasicilla on mahdollista tehd modeemi-
        pteohjelma (ainakin sellainen mik ottaa dataa vastaan...).

        Avataan COM2: (jos modeemi toisessa commissa niin vaihda commia)

        OPEN "COM2:9600,N,8,1,ASC" FOR RANDOM AS #1
                                                  < avataan COM2, 9600bps,
                                                  ei pariteettia, 8 databit-
                                                  ti, 1 stopbitti lukemista
                                                  ja kirjoittamista varten

        Modeemin liikennintinopeus on maksimissaan 9600bps QBasicilla.
        Muita mahdollisia arvoja: 75, 110, 150, 300, 600, 1200, 2400 ja 4800


        N tarkoittaa pariteettia:
        N(none)         ei pariteetin tarkastusta
        E(even)         parillinen pariteetti
        O(odd)          pariton pariteetti
        S(space)        pariteettibitti aina space = "0"
        M(mark)         pariteettibitti aina mark = "1"
        PE              salli virheentarkistus


        8 tarkoittaa databitti, eli lhetettvien merkkien lukumr:
        5,6,7 tai 8 ovat mahdollisia arvoja

        1 on stopbittien mr, eli lhetetyn merkin jlkeen lhetettvien
        stopbittien mr:
        1,1.5 ja 2 ovat mahdollisia arvoja

        ASC tarkoittaa ett liikennidn ASCII-moodissa.
       













        Nuolinppinvalikko:

        Katso esimerkki tiedostossa VALIKKO.BAS
        Edes yksinkertainen valikko on lhes pakko olla pelin alussa,
        nuolinppimill tai hiirell toimivan teko onnistuu helposti.
        Nuolinppimill toimiva tehdn nin:

        tehdn valikko jossa on kolme kohtaa;
        tarvitset muuttujan esim. X

        aliohjelma joka tulostaa ruudulle valikon kolme mahdollisuutta
        X:st riippuen. Esim. Jos X=1 niin ykkskohta korostetaan jos
        taas X=2 niin kakkoskohta jne...

        silmukan vliin seuraavat:

        nppinrutiini:

        jos painetaan ylspin niin X=X-1
        jos painetaan alaspin niin X=X+1
        jos painetaan enter niin ohjelma loppuu

        IF X=0 THEN X=1     <-- estetn X: menemst nollaan
        IF X=4 THEN X=3     <-- estetn X: menemst neljn
        
        hyptn aliohjelmaan

        silmukan loppu
       













        Nppimistpuskuri toimintapeliin:

        Jos laittaa nopeatempoiseen peliin nppimistrutiiniksi INPn
        alkaa speakeri piippaamaan kun nappeja on paineltu vhn aikaa.
        Virhe korjaantuu jos laitat rivin 'X$=INKEY$' (tyhjent nppin
        puskurin) looppien vliin. (Ei tehd sit joka silmukassa mutta
        esim. joka tuhannes kerta tai joka sadas). Tmkn ei silti lue
        kuin yhden kerrallaan.
       













        Nppimisthandleri:

        On usein kytnnllist lukea useampia nppimi yhtaikaa. Esim.
        toimintapeliss ammutaan, liikutan eteenpin ja knnytn oikealle
        samaanaikaan. Nppishandlerin (handleri.bas) idea on siin, ett
        nppimist lhett tietoa, kun nppint painetaan tai otetaan pois.

        Kun nppint painetaan lhetetn takaisin numero vlilt 1-127. Kun
        otetaan nppin pois pohjasta tulee tuo sama 1-127 numero + 128. Jo
        tuon tiedon avulla jokaisen pitisi osata tehd oma nppishandleri=).
        No, selitetnp silti. Eli luodaan taulukko 1-127. Luetaan &H60
        portista, ja mikli luku < 128 sijoitetaan taulukon siihen kohtaan,
        mik luku tuli, arvo 1. Kun luku > 128 vhennetn luvusta 128, ja
        taulukkoon sijoitetaan erotuksen kohdalle arvo 0. Sitten katsotaan
        onko taulukon jokin tietty kohta 1, ja kun on, tm nppin on
        pohjassa. Nppimistn lhettmt arvot/nppin saa selville
        kyttmll INP(&H60):nt ja printtaamalla luvun.

        Helppoa, eik totta?













        Tekstin selaus:

        Esimerkki tiedostossa TEXT.BAS
        Tekstin selausohjelma (EDIT-tyylinen) on ihan helppo tehd;
        avaat vain valmiin tekstitiedoston ja tallennat sen rivi ri-
        vilt taulukkoon.

        DIM TAULUKKO$(1000)  <- jos on isompi tekstitiedosto niin kasvata
        OPEN "LUEMUT.TXT" FOR INPUT AS #1 <-avataan tiedosto vain lukemiseen                        
        Y=0
        DO UNTIL EOF(1)       < tehdn looppia kunnes tiedosto #1 loppuu
        LINE INPUT #1, MERKKIJONO$  < luetaan tiedostosta rivi
        TAULUKKO$(Y)=MERKKIJONO$  < tallennetaan taulukkoon merkkijono
        Y=Y+1
        LOOP
        CLOSE                <- suljetaan tiedosto(t)

        Tmn jlkeen ohjelma hypp aliohjelmaan joka tulostaa TAULUKKO$-
        taulukon 20 ensimmist rivi ruudulle ja palaa takaisin.

        Thn kohtaan laitat nppimistrutiinin (INKEY$ riitt ohjelman
        'hitaan temmon' vuoksi (riskintpeleiss nppinrutiinina INP) :
        DO thn kohtaan

        Jos painetaan ylspin niin muuttujan X arvo laskee
        Jos painetaan alaspin niin muuttujan X arvo nousee
        ESCist loppuu

        Tss kohdassa hyppy aliohjelmaan joka tulostaa ruudulle TAULUKKO$-
        taulukon kohdan X ja 20 seuraavaa rivi.
       
        LOOP (silmukan loppu)












        GET-kuvat nytlle:

        Jos olet oikein virtuoosi voit yritt seuraavaa:

        Osaat varmaan kytt GETi ja PUTia (grafiikan piirtmiseen)
        joten ymmrrt periaatteen (emme selittele enemp tss).

        Kun kytt PUTia grafiikan piirtmiseen joudut aluksi otta-
        maan kuvan GETill muistiin. Tee niin ett otat GETill
        kuvan taulukkoon, avaa tiedosto ja kirjoita sinne kaikki
        taulukossa olevat luvut. Seuraavaksi et en tarvitse GETi
        ohjelman suoritukseen; Tee samankokoinen taulukko kuin GETi
        kyttesssi, avaa tiedosto INPUTilla ja lue taulukkoon tie-
        dostossa olevat luvut. Sinun ei tarvitse piirt kuvaa saa-
        daksesi sen muistiin ;], voit nyt siirt kuvan ruudulle
        PUTilla.
       













        Plasma:

        Katso tiedosto PLASMA.BAS
        Plasma on sekalainen vrirykelm ruudulla jonka palettia
        pyritetn DOn ja LOOPin vliss. Voit unohtaa PALETTE-
        kskyn (hidas kuin mik) ja ottaa tilalle OUTin.
        Paletin voi muuttaa OUTilla seuraavasti: (SCREEN 13)

        Voit pyritt seuraavia OUTteja silmukassa ja muuttaa muuttu-
        jien arvoa vapaasti.

        OUT &H3C8, X   <-vri mit muutetaan
        OUT &H3C9, Y   <-vrin punaisuus-arvo (0-63)
        OUT &H3C9, Z   <-vrin viher-arvo (0-63)
        OUT &H3C9, C   <-vrin sinisyys-arvo (0-63)

        Jos olet piirtnyt ennen OUTteja ruudulle kuvan niin sen vrit
        pitisi nyt muuttua.
       













        Miten saada kone buuttaamaan:

        Katso REBOOT.BAS
        Jos olet DOSissa niin ksky 'OUT &H64, &HFE' buuttaa koneen, win-
        dows ikkunassa se vain palaa windowsiin. Aikaisemmassa Guruoppaassa
        ollut ksky 'OUT 8,8' sulkee windowsissa ohjelman ajon mutta
        DOSissa ei tee mitn ;).
       













        Tekstin tulostus teksti- ja grafiikkatilassa:

        Tapahtuu kirjoittamalla muistiin. Selket esimerkit ovat tiedostoissa
        PRINT.BAS ja GFXPRINT.BAS.


















        Pehmennys:

        Esimerkki tiedostossa SOFTEN.BAS
        Pehmennys eli soften tai smooth on aivan yksinkertainen.
        Se perustuu siihen ett kuvapisteen ja sit ymprivien
        pisteiden arvot lasketaan yhteen ja jaetaan yhdeksll.
        Pehmennys toimii parhaiten jos teet paletin mink toinen
        rip on esim. musta ja toinen valkoinen (vrit feidau-
        tuvat). Jos et muuta palettia ja yritt pehment ruudun,
        vrit menevt helposti sekaisin. Hyv paletti lytyy
        tiedostosta TULI.BAS (Tehty OUTilla).

        SCREEN 13

        DEF SEG = &HA000

        Silmukka mik menee nollasta 199:n
        FOR Y=0 TO 199

        Silmukka mik menee nollasta 319:n
        FOR X=0 TO 319

        Sitten lasket pisteen (X,Y) ja sit ymprivt vriarvot yhteen
        (yhteens yhdeksn pikseli), jaat tuloksen 9:ll ja pyris-
        tt sen CINTill tai INTill (huomaa ett ruudun reunan ulko-
        puolelta ei laskeminen onnistu).
        Tallenna pisteiden nin saatu keskiarvo muuttujaan VARI ja
        piirr piste ruudulle koordinaatteihin (X,Y)
        
        Piirretn piste ruudulle POKEa kytten
        POKE Y*320+X,VRI

        Silmukoiden loppu:

        NEXT X
        NEXT Y













        Miten saada scrollaava kartta tyylin Command&Conguer?

        1. Jos et omista QuickBasic4.5:sta voit unohtaa asian...
        2. Soita MB-Nettiin
        3. KOPIOI SVGAQB23.ZIP
        4. Pura se
        5. kirjoita komentorivill (ethn vaan kynnist windozesta)
           QB /L SVGAQB
        6. Avaa C&C.BAS
        7. Paina Shift+F5

        Esimerkki on tiedostossa C&C.BAS
        Vierivn kartan tekeminen onnistuu helposti edellmainitun
        alikirjaston kautta. Tarvitsee vain olla PCX-kuva, mielui-
        ten kokoa 640*480, 256 vri (voi olla isompikin karttakuva
        mutta vieritys silloin paljon hitaampaa). Tmn Guruoppaan
        mukana tuleva TAUSTA16.PCX on mainio taustakuva (Piirretty
        PaintShopProlla).

        Svga-kirjastossa on ksky PCXPUT (periaate sama kuin BLOAD,
        mutta paljon parempi; kuvaa voi mys vieritt Y-akselin
        suuntaisesti eik kuvan tarvitse olla kokonaan ruudulla).
        Kytmme resoluutiota 320*200 koska se piirt kuvan no-
        peimmin. Kuvan piirto tapahtuu kskyll:

        OK = PCXPUT(1, X, Y, "TAUSTA16.PCX")
                        
                        
        X:n ja Y:n tilalle voi laittaa mitk luvut tahtoo :)

        X:s ja Y:t muuttelemalla kuva "scrollaa" hienosti ruu-
        dulla. Thn plle voisi rakentaa vaikka reaaliaikaisen
        toimintapelin (ihan mahdollinen QuickBasicilla), mutta
        jos ukkoja olisi ruudulla vhnkin enemmn niin vieritys
        tulisi niin hitaaksi ett ei sit kukaan pelaisi. 













        BLOAD ja BSAVE

        Esimerkki tiedostossa SCROLL.BAS.
        BLOAD toimii nin:

        BLOAD "KUVA.KUV", X         <- X:n tilalle 0-57665

        Bload piirt aikaisemmin talletetun bittikartan ruudulle.
        Vinkki:

        FOR X=0 to 319              < Pyritt kuvaa vasemmalta
        BLOAD "KUVA.KUV",X                  oikealle ruudulla    
        NEXT X


        BSAVE toimii nin:

        BSAVE "KUVA.KUV", 0, 64000  < viimeiseen pisteeseen 
                                         (oikea alanurkka, 320*200)
                         Ŀ
               Tallettaa    ensimmisest
               tiedostoon   pisteest (vasen
               "KUVA.KUV"   ylnurkka)













        POKE, ei PSET:

        Katso esimerkki tiedostossa SOFTEN.BAS.
        Kannattaa kytt POKE-ksky PSETin sijaan. Se on nopeampi kuin
        PSET. Eroa ei oikein Pentill huomaa, mutta jos vaikka piirt
        ruudun tyteen pisteit 386:lla tai hitaammalla 486:lla niin POKE
        on selvsti nopeampi. POKE toimii parhaiten 320*200-tilassa, eli
        SCREEN 13. POKE toimii nin:

        SCREEN 13     

        DEF SEG = &HA000         <-grafiikkamuistin alku, POKE ei toimi
                                    ilman tt ksky.
                X:n arvo  vri
                   Ŀ    
                          
        POKE 100*320+160, 15     <-piirt ruudun keskelle valkoisen pisteen
                                  koordinaatteihin (160,100). Sama hoituu
                                  mys kskyll PSET(160,100),15.
           Y:n arvo



       PEEK toimii tysin samalla tavalla, eli POINTin sijaan kannattaa
       kytt PEEKi koska se on nopeampi kuin POINT. Eli, kerrotaan
       Y:n arvo 320:lla ja listn siihen X:n arvo. (Vaatii mys
       DEF SEG = &HA000 laittamista alkuun)
       
       PRINT PEEK(100*320+160)        <- tulostaa ruudulle pisteen (160,100)
                                         vriarvon. Sama hoituu mys kskyll
                                         PRINT POINT(160,100). Tss tapauk-
                                         sessa arvo on 0, jos ruudulle ei ole
                                         piirretty mitn.













        Sprite-tekniikka:

        Mik ihmeen sprite? - Sprite on sarja kuvia jotka nytetn
        ruudulla perkkin samassa kohdassa jolloin se nytt aivan
        animaatiolta. Valmis esimerkki ohjelma on tiedostossa PUT.BAS.

        Tss tapa miten voit piirt vaikka pienen ukon kvelemn
        ruudulla. Olemme itse opetelleet sen (ei mistn kirjasta),
        mutta se on ihan hyv. Nit tarvitset:

        SCREEN 13           <- ruutu grafiikkatilaan
                               (ei ole pakko olla juuri tss
                               grafiikkatilassa)

        DEF SEG = &HA000    <- grafiikkamuistin alku
                               (ei ole pakko laittaa jos piirt teksti-
                               tilassa, tai ei kyt POKEa)

        Spriten X-koordinaatti, merkitn sit vaikka X:ll
        Spriten Y-koordinaatti, merkitn vastaavasti Y:ll
        Arvo joka kertoo mit animaation kuvaa piirretn

        X=160         <- Annetaan X:n arvoksi vertikaalinen keskipiste
        Y=100         <- Annetaan Y:n arvoksi horisonttaalinen keskipiste
        Z=1           <- Aloitetaan ykkskuvasta

        Taulukko johon tallennetaan tausta, kutsutaan sit vaikka
        TAULUKOKSI.

        DIM Taulukko&(200)     <- Sulkuihin sit isompi arvo mit isompaa
                                  sprite piirrt. Ohjelma palauttaa vir-
                                  heen Illegal Function Call, jos arvo
                                  on liian pieni.

        Taulukko johon sprite-kuvat tallennetaan, kutsumme sit nimell
        KUVAT.

        kakkosen tilalle niin iso luku kuin animaatiossa kuvia,
        huomaa nolla mukana.
                         
        DIM Kuvat(14,14,2)     <- Animaatio tallennetaan thn taulukkoon.
                                  Huomaa ett ensimminen kuva tallentuu
                                  taulukkoon Kuvat(X,Y,0), seuraava tauluk-
                                  koon Kuvat(X,Y,1) jne... Tss esimerkiss
                                  kytmme 15*15 kokoista animaatiota kol-
                                  mella kuvalla.
                                  
        Seuraavaksi tytyy tallettaa animaation kuvat taulukkoon Kuvat.
        Eli avaamme OPEN-kskyll kuvatiedostot ja tallennamme siell
        olevan kuvan taulukkoon.

        Sitten otamme taustan muistiin:

        GET (X,Y)-(X+14,Y+14),Taulukko&

        DO                                 <- silmukan alku
        IF INP(&H60)=1 THEN END            <- ESCist loppuu


        Thn vliin joku pieni tauko, esim SOUND 0,1

        Piirretn tausta, eli sprite katoaa ruudulta:
        PUT (X,Y),Taulukko&,PSET

        Jos haluaa animaation liikkuvan vaikka oikealta vasemmalle niin
        thn kohtaan laitetaan X:lle "kasvuarvo":
        X=X+1

        Tausta muistiin:
        GET (X,Y)-(X+14,Y+14),Taulukko&

        Seuraavaksi piirretn animaatio:
        (Huomaa ett vrist 0 tehdn lpinkyv ja sit ei piirret)

        FOR A=0 TO 14            POKE on nopeampi kuin PSET
        FOR I=0 TO 14             
        IF Kuvat(I,A,Z-1)<>0 THEN POKE (A+Y)*320+I+X,Kuvat(I,A,Z-1)
        NEXT I
        NEXT A

        Z=Z+B         
        IF Z=4 THEN Z=2:B=-1
        IF Z=0 THEN Z=2:B=1

        LOOP                               <- silmukan loppu


















BootSector4:n aikaisempia pelej ja ohjelmia:

FutureWindows
-mahtava kyttis
-parempi kuin Micro(BEEP):n vastaava onneton kyhelm

MoloPokeri
-hieno neljn kortin pokeri
-psee helposti tuplaamaan

Wien96
-mahtava jkiekkopeli
-todella tunnelmallinen ja todentuntuinen

RKS
-erittin todentuntuinen WORMS-tyylinen riskint
-parempi kuin WORMS(2)

WarFare (demo)
-C&C-tyylinen vieriv kartta
-CIV-tyyppiset ukot
-mahtava toisen maailmansodan uudelleenpeluumahdollisuus
-MB-Netiss WARFARE.ZIP  (450kt)
-ihailijan kommentti shkpostilla : "Maasto on todella *karua*,
kielioppivirheit vilisee joka paikassa, ja hiiri katoaa v-
lill ruudulta, oisitte laittanut jonkun osaavan asialle
eik mitn naapurin Eskoa"
(skeinen repliikki oli ptkitty alkuperisest)

BootPaint
-hieno piirtoohjelma
-MB-Netin Basic-hakemiston eniten kopioitu tiedosto viikkoja!!!
-MB-Netiss BPAINT.ZIP
-kaverin kommentti: "Onks t tosiaan teidn tekem??"

GuruOpas
-paras opas aloittelijoille
-MB-Netiss BASGURU.ZIP

RomConstructionKit
-BootSector4:n oman ROM-kuvakkeen tekoohjelma
-tmn avulla voit muuttaa kuvakkeita aikaisempiin ohjelmiimme...

NegroHunter
-Daleksin kaataja
-Kehuttu InterNetiss
-Ei pstetty MB-Nettiin (josta olemme hyvin katkeria) 'ideologiansa' vuoksi, 
-vaikka peli ei ole mitenkn rasistinen (nimest voi toisin ptell, MUTTA
-NegroHunter voi mys tarkoittaa neek...HM tummaihoista joka metsst, siis
-ei mitn rasismiin liittyv!!!!!)
-kommentti Netiss: "Aluks m en oikein tajunnut mit siin piti tehd, mutta
kun se valkeni m melkein jin koukkuun siihen!!" (Ihan totta noi kommentit)




2.2 Tulossa tai ehk tulevia:      (ei mitn takeita tuleeko koskaan)

CaveFly
-luolalentelyn tulevaa krke                   <- HYLLYTETTY

WarFare
-640*480-engine on jo melkein valmis...

Wellu
-Larry kaapattiin Suomeen ja tm on tulos...   <- HYLLYTETTY

BootPaint2
-Piirto-ohjelmien kuningas uusiutuu....
-FLI, BMP, PCX, GIF, BOO, ROM, BLD- formaatit


3.0 Kiitokset
Kiitmme Zephyr Softwarea aivan mahtavasta SVGA-kirjastosta sek
Jussi Josefssonia PascalinopetusFAQista, ja sen kautta bufferin tyhjennyksest

3.1 Kunniotamme seuraavia henkilit, asioita ja yhtiit:
(emme kunniota: Micro$oft Corporation)

Yngwie J. Malmsteen
-Hnen musiikin soidessa olemme saaneet mahtavat ideamme!
-Kuuntelemme melkein aina Ynkk kun ohjelmoimme...

Jupi Tervo
-Ensimminen, joka koskaan on pelannut Warfaren lpi. VAPAAEHTOISESTI!!

keSoft
-Invataxi...



Yhteystiedot

Lhet kommentteja seuraaville henkilille:

Niko Nyqvist
niko.nyqvist@mbnet.fi         



Iikku Mattila
iikkuma@netti.fi


