Wa cz, 2?/08/96r›› Ahoj!›› Sorry za op nion odpowied , ale po-›zwoli em sobie na to, bo pisa e, e nie›bdzie Ci w sierpniu. Przesy am trady-›cyjne podzikowania za stuff & list.›› Za to na dysku znajdziesz cz sof-›tu z Ornety. Atarynka si rozwija, jest›dosy duy skok jakociowy w porwnaniu›do tamtego roku. O ile dobre mnie chodz›s uchy to demek by o wystawionych czte-›ry, i wypad y dosy blado w porwnaniu›do intr. Najlepiej prezentowa si oczy-›wicie na bigscreenie AssKicker grupy›Shadows. By o to ju trzecie party na›ktrym mona by o go obejrze (wczeniej›w Miko owie - grudzie, w Poznaniu -›- czerwiec). Niestety chodzi on na mi-›nimum 128 KB, ale jak bdziesz chcia ›to Ci go podel nastpnym razem.›› Co do przekazywania parametrw z ba-›sica, to napisz Ci co o tym mwi lite-›ratura (nigdy si jeszcze w to nie ba-›wi em). A wic basic przekazuje parame-›try w postaci 16-bitowych liczb bez zna-›ku, tzn. 0-65535. Wali je kolejno na›stos od ostatniego do pierwszego, z tym-›e najpierw zapamitany jest m odszy,›a po nim starszy bajt. Po ich umieszcze-›niu (i zliczeniu) k adzie na stos jesz-›cze jeden bajt, okrelajcy liczb pa-›rametrw. Jeli wywo asz program bez a-›dnego parametru, np ? USR(1536), to na›stosie umieci bajt 0 (nie ma paramet-›rw). Liczb, ktra jest wynikiem dzia-› ania podprogramu w assemblerze naley›wczeniej umieci w s owie FR0 ($D4).›Oto przyk adowy programik, ktry spra-›wdza bdzie wykonywa bitowe AND na po-›danych parametrach:›› opt %10101› org $600›››bell equ $f556›fr0 equ $d4›› pla zdejm liczb› tax› cpx #2 czy 2 parametry?› beq _and› bne _q (jmp)››flush pla› pla›_q dex› bpl flush› jmp bell››_and pla› sta fr0+1› pla› sta fr0› pla› and fr0+1› sta fr0+1› pla› and fr0› sta fr0› rts›› end››Po wywo aniu go w sposb ? USR(1536,x,1)›moemy stwierdzi czy liczba x jest pa-›rzysta, co ilustruje poniszy programik›w basicu:››10 ? "Podaj liczb":INPUT X›20 IF USR(1536,X,1) THEN ? "nie";›30 ? "parzysta":GOTO 10››Ma e wyjanienie: o parzystoci liczby›wiadczy jej najm odszy bit, o wartoci›1, dlatego po przeprowadzeniu operacji›AND jakiej liczy z argumentem rwnym›1, zostan skasowane wszystkie bity op-›rcz niego. Ale po co Ci ja to pisz,›skoro znasz pewnie dobrze operacje lo-›giczne.›› Co do procedury rysujcej ramki, to›mam co lepszego, a mianowicie handler›okienek ("W:") z "Mojego Atari" (prog-›ramik WHANDL.COM). Okienko jest wwczas›traktowane jako normalne urzdzenie zew-›ntrzne jak np. "E:". Jest to dosy ela-›styczna procedurka, jednak dla poprawne-›go jej dzia ania nie mona uruchamia›adnego trybu graficznego gdy zajmuje›lokacje w pobliu pamici ekranu i by a›by wwczas skasowana, a komputer by si›zawiesi (wy cznie gr.0). W basicu ot-›wiera si instrukcj OPEN, a zamyka CLO-›SE, tak jak kade urzdzenie. W nazwie›przekazujemy parametry, tzn. "W:0,0,10,›11,...". Pierwsze dwa parametry oznacza-›j pozycj na ekranie (x,y analogicznie›jak POSITION). Parametry 3 i 4 oznaczaj›szeroko i wysoko. Pity oznacza wzr›ramki okna (dozwolone 0-7). Szsty ozna-›cza ilo lini do przesuwania po jego›przepe nieniu. Sidmy i zarazem ostatni›parametr oznacza czy przed instrukcj›oznaczajc zamknicie okna program ma›poczeka na nacinicie dowolnego klawi-›sza (warto rna od zera) czy te nie.›Otwarcie okna w negatywie nastpuje po›wpisaniu nieparzystej cyfry w polu trze-›ciego parametru instrukcji OPEN. Wszyst-›kie parametry musz mie dodatni war-›to mniejsz od 256. Przyk adowo:›OPEN #1,4,1,"W:10,5,7,12,1,2,255" spo-›woduje umieszczenie okna w negatywie,›ktrego lewy, grny naronik znajdzie›si na pozycji 10, 5, a wymiary ( cznie›z ramkami) wynios 8, 13. Naley pami-›ta aby suma danej pozycji i wymiaru nie›przekroczy a wartoci dopuszcalnej, gdy›spowoduje to b d 141. Dozwolone jest›pominicie parametru poprzez stawianie›nastpujcych po sobie przecinkw, ww-›czas pominity parametr bdzie mia tak›warto jak ostatnim razem. Przyk adowo›instrukcja OPEN #2,4,0,"W:,,,,,," (lub›"W:") spowoduje otwarcie okna o podanych›ostatnio parametrach. Jakie operacje›mona przeprowadza na oknie? Dozwolone›s dwie komendy GET i PUT (oraz ich po-›chodne np. INPUT, PRINT...". Po wykona-›niu PUT w oknie ukazuje si wypisywany›znak. Po komendzie GET w oknie pojawia›si kursor, ktrym moemy si porusza›za pomoc klawisza CONTROL + strza ek›(,). Nacinicie klawisza RETURN spo-›woduje zwrcenie pozycji kursora, jako›zadanego parametru. Mona zrezygnowa z›wybieranej opcji naciskajc ESC, wwczas›parametr przyjmie warto kodu klawisza›RETURN, czyli 155. Naley pamita i›aktywne jest jedynie ostatnio otwarte›okno. Bez wzgldu na numer kana u IOCB,›na ktrym wykonane zosta o OPEN, kolejna›operacja zostanie wykonana na ostatnio›otworzonym oknie. Dotyczy to rwnie›CLOSE. Chcc zobaczy dzia anie tego›handlera, to z tej dyskietki uruchom›programik WHANDL.COM, a nastpnie z po-›ziomu DOS-a wpisz: TYP D:LIST.DOC W: i›oczywicie RETURN. Najlepiej w anie›dzia anie parametrw sprawdza z pozio-›mu DOS-a (najprosciej). Wydaje mi si›i handler ten wykorzystany by w Szpe-›raczu Dyskowym, gdy w anie autor tam-›tego monitora dyskowego jest wsp twr-›c tej procedurki.›› Uff do gldzenia. Na dysku powinie-›ne znale  dwa demka z Ornety:›"Rotten Juice"(boot) autorstwa MEC, "O-›ver Mind"(trackmo, 2 strony). Poza tym›nowy numer "Paczki Tnq" i trzeci edy-›cj "Scene Registera".›› grtx...›› CHARLIE/APOCALYPSE RIDERS›››