* procedura: "HEAD 1.0"›* autor : Casper / Pentagram››* program napisany specialnie dla :›* SCORPION-a z Kalisza ,dnia 31.03.96››* caly komentaz mozesz usunac !!!›* program bedzie lepiej widoczny !!!››cls equ $f420›getkey equ $f302›cio equ $e456›putline equ $c642›putchar equ $f2b0›eol equ $009b›convr equ $f5ac›› opt %100101 | na dysk ,pod› org $8800 | adres: $8800››* tego bloku (  ) nie tykaj !!!›* bo bedzie nie dobrze ?!?››* no ,to mozemy wyczyscic ekran ,›* ustawic kolory i POZYCJE na ekranie!››* w assemblerze instrukcje POKE robimy›* w/g wzoru :›*›* BAS: ASM:›*›* POKE gdzie,co lda #co (0-255)›* sta gdzie (0-65535)››* przyjrzy sie programowi ...›› jsr cls | czysc ekran!›› lda #2 | POKE 710,2› sta 710 |›› lda #2 | POKE 712,2› sta 712 |›› lda #12 | POKE 709,12› sta 709 |›› lda #2 | POKE 752,2› sta 752 |›› lda #144› sta 756›› ldx #1 | POKE 85,1 (x)› stx 85 |› |› ldy #1 | POKE 84,1 (y)› sty 84 |› | inaczej:› jsr convr | POSITION 1,1››* niezwracaj uwagi na to czy to jest :›* LDX ,LDY czy LDA ,proste ,umiescilem›* tu ldx i ldy zeby latwiej bylo›* rozroznic pozycje X od Y !!!››* powyzsze kombibacje mozesz powtazac›* nie koniecznie z komentarzem ...››* no to trzeba cos napisac na ekranie.›* Co nie ?!? .Do dziela .›› ldx #0 | IOCB nr: 0 !››* jesli chcesz IOCB o innym numerze ,to›* musisz go pomnozyc przez 16 !›* UWAGA! asembler niema mozliwosci›* bezposredniego mnozenia i dzielenia›* jednak jest to mozliwe !!!›* NP: IOCB nr 1 to 16 lub $10 (HEX)›* lub IOCB nr 2 to 32 lub $20 (HEX)›› lda #11 | kod instrukcji› | PRINT z BASIC-a›› sta $0342,x | zapamietaj go!›› lda text | na› sta $0345,x | ekranie››* skad - to nazwa etykiety ,od ktorej›* zaczynaja sie napisy.Np: TEXT›* co - to adres mieszczenia sie w›* pamieci."text" - starszy bajt adresu››* ciebie interesuje tylko nazwa›* etykiety ,wiec zaraz za znakiem›* ("<" i ">") dajesz nazwe etykiety›* od ktorej zaczyna sie to co chcesz›* napisac na ekranie .››* ale ,uwazaj ,zeby nazwa etykiety›* nie ztykala sie ze znakiem "|" !!!›* bo bedzie ERROR !!!›› lda ile | wyslac› sta $0349,x | na ekran››* i tak samo jak poprzednio ,›* ile - to starszy bajt dlugosci›* napisu (tekstu)››* stosowane powyzszych etykiet TEXT i›* ILE mozesz uzyc tylko w przypadku›* ich zadeklarowania (zobacz na›* koncu pliku (klawiszami CTRL+Q potem›* klawisz C)›› jsr cio | no to piszemy!››* dobra ,napisane ,mozemy czekac na›* nacisniecie dowolnego klawisza ...››klaw equ *›› jsr getkey | czekaj...›› cmp #' ' | zamiast spacji› | mozesz wstawic› | dowolny znak› | ATASCII ,po› | ktorego nacisnieciu› | kontynulujemy›› bne klaw | jesli inny ,to› | powtoz ...›› rts | no to wracamy do› | DOS-a ,co rownoznaczne› | jest z wczytaniem dalszej› | czesci programu !››* Uwazaj! ponizszy ciag :›* "b(eol)" lub "b($9b)" - oznacza›* koniec wiersza i nastepna pisana›* litera bedzie pisana od nastepnej›* linji ekranu ! To co chcesz napisac›* na ekranie musi miescic sie pomi-›* -edzy ciagiem : "dta c'" ,a "'" ,›* proste ,tekst musi byc pomiedzy›* apostrofami !›* Ciagu : "b(eol)" mozesz uzywac do-›* -piero po zadeklarowaniu stalej›* "eol" (jest ona u gory a : $009b w›* przeliczeniu na dziesietne ,wynosi›* 155 !!!››text equ *›› dta b(eol)› dta c'now loading :'› dta b(eol)› dta c' Anty Catholic Announcement'›› dta b(eol)› dta c' Autor : PIGULA / INFINITY'› dta b(eol),b(eol)› dta c'pozdrowienia dla :'› dta b(eol)› dta c'Zbx Virusa, Nietoperka, Vasca,'› dta b(eol)› dta c'Monsofta, Sir Leo, Kasjo, Foxa,'› dta b(eol)› dta c'Krisa, Chrisa, Araska, Lopeza,'› dta b(eol)› dta c'Slavesa, Lobo, Foormana - ???!!'› dta b(eol)› dta c'Mr.MB, Wodza, Dark Phoenixa,'› dta b(eol)› dta c'P. Lemaniaka, L.Kwasiborskiego '› dta b(eol)› dta c'Wojtka Barchanskiego, Blastera '› dta b(eol)› dta c'& for all small Atari programers'› dta b(eol)› dta c'(c)96-XI-17'› dta b(eol)› dta c' Nacisnij klawisz SPACJI ...',b(eol)››ile equ *-text››* pomiedzy "text" ,a "ile" mozesz wstawic›* dowolna liczbe PRINT-ow (z Basic-a)›* a jeden PRINT wyglada tak :›* dta c' Oto jest tekst ',b(eol)›* mozesz tez zrobic np. tak :››* dta c'ATAR'›* dta c'I je'›* dta c'st n'›* dta c'ajlep',c'sze!!!'›* dta b(eol)››* co rownoznaczne jest z:››* dta c'ATARI jest najlepsze!!!',b(eol)››* mozesz kombinowac do woli ...››* ja bede powoli konczyl ...››* nastepnym razem opowiem ci o›* instrukcji GRAPHICS i innych›* P.S. Jakie bedziesz chcial›* instrukcje (od A do Z) (przynajmniej›* postaram sie ci je jakos w ludzki›* sposob prze "asemblerowac" na jezyk›* assemblera ,›* instrukcje z BASIC-a ,rzecz jasna ...››* Jesli czegos nie kapujesz ...›* ... to numer znasz ....›* ... (0-63) 722-779›*›* GRTX 2 Ya!›* from›* Casper›*›* CU in next lessen of programming›* the 6502 ! Good Bye!›› org $02e2 | tego bloku› dta a($8800) | nie tykaj !!!›› end››