HelpDisk: Disk 'file' file = nazwa doˆ¥czanego pliku. Do tworzonego dysku ATR , podczas kompilacji, doˆ¥czany jest podany plik. Nazwa powinna speˆnia† ograniczenia MyDOS 4.5 oraz nie moje to by† AUTORUN.SYS bo ten jest zarezerwowany dla naszego programu gˆ¢wnego. Mo¾na doˆ¥czy† maksymalnie 61 plik¢w ( 64 - 3 --> DOS.SYS , DUP.SYS , AUTORUN.SYS ). ;============================================================================== HelpEnd: End address address = adres uruchomienia skompilowanego programu. Oznacza zakoäczenie programu. Je¾eli po END podamy etykiet© to program automatycznie po kompilacji, uruchomi si© od tego miejsca. Je¾eli tej etykiety nie b©dzie, to program nie b©dzie samoczynnie si© uruchamiaˆ. Po wgraniu, przejdzie do ekranu z menu MyDOS 4.5 . ;============================================================================== HelpEQU: EQU/= value value = warto˜† etykety. Deklaracja warto˜ci etykiet mo¾e nast©powa† za pomoc¥ = lub EQU . R¢¾nica jest taka, ¾e deklaracja etykiety przez EQU mo¾e nast¥pi† w caˆym programie tylko raz, natomiast u¾ycie = pozwala na wielokrotne przypisywanie warto˜ci do tej etykiety. ;============================================================================== HelpInclude: Include 'file' file = nazwa doˆ¥czanego pliku. Doˆ¥czenie pliku «r¢dˆowego. Mo¾liwo˜† nieskoäczonego zap©tlania. ;============================================================================== HelpOrg: Org address address = adres umieszczania kodu programu. Je¾eli w programie nie wyst¥pi ¾adne ORG to wtedy za domy˜lny adres kompilacji przyjmuje si© $2000 . ;============================================================================== HelpPROC: PROC/PROCS Umo¾liwia definiowanie wˆasnych procedur, do kt¢rych mo¾na si© odwoˆywa† tak jak do wbudowanych w Turbo Assemblerze . R¢¾nica pomi©dzy tymi dwoma deklaracjami polega na tym,¾e PROCS zachowuje zawarto˜† wszystkich rejestr¢w przed wywoˆaniem twojej procedury, a PROC nie. Po deklaracji mo¾na u¾y† nast©puj¥cych definicji: A , X , Y AX , AY , XY , YX , XA , YA ( etykieta ) (( etykieta )) ;============================================================================== HelpSound: Sound channel,voice,tone,loud channel = numer generatora 0-3. voice = cz©stotliwo˜† d«wi©ku 0-255. tone = znieksztaˆcenia d«wi©ku 0-15. loud = gˆo˜no˜† 0-15. ;============================================================================== HelpGraphics: Graphics mode mode = numer trybu 0-15. Je¾eli parametr zostanie zwi©kszony o 16 to zostanie utworzone okno tekstowe, je¾eli o 32 to pami©† ekranu nie zostanie skasowana. Poza wywoˆaniem wskazanego trybu, ubezwzgl©dniane s¥ r¢wnie¾, na podstawie SAVMSC dwie tablice z adresami linii, kt¢re p¢«niej s¥ wykorzystywane do szybkiego rysowania punkt¢w przez procedur© PLOT . ;============================================================================== HelpPHR: PHR Odkˆada na stos wszystkie rejestry. Najpierw A , nast©pnie X i na koäcu Y . ;============================================================================== HelpPLR: PLR Zdejmuje ze stosu wszystkie rejestry. Najpierw Y , potem X i na koäcu A . ;============================================================================== HelpDIV: DIV Dzieli liczb© 16 bitow¥ przez 8 bitow¥: YX : A = YX.A Przed dzieleniem nale¾y ustawi† nast©puj¥ce rejestry: Y = starszy bajt liczby 16 bitowej. X = mˆodszy bajt liczby 16 bitowej. A = liczba 8 bitowa. Po dzieleniu otrzymujemy nast©puj¥ce warto˜ci: Y = starszy bajt cz©˜ci caˆkowitej. X = mˆodszy bajt cz©˜ci caˆkowitej. A = reszta a dzielenia. ;============================================================================== HelpMUL: MUL Mno¾y liczb© 16 bitow¥ przez 8 bitow¥: YX * A = YXA Przed mno¾eniem nale¾y ustawi† nast©puj¥ce rejestry: Y = starszy bajt liczby 16 bitowej. X = mˆodszy bajt liczby 16 bitowej. A = liczba 8 bitowa. Po wykonaniu mno¾enia, otrzymujemy nast©puj¥ce warto˜ci: Y = najstarszy bajt wyniku. X = starszy bajt wyniku. A = mˆodszy bajt wyniku. ;============================================================================== HelpPlot: Plot x,y x = wsp¢ˆrz©dna pionowa 0-319. y = wsp¢ˆrz©dna pozioma 0-191. Stawia punkt we wsp¢ˆrz©dnych x,y . Dziaˆa w ka¾dym trybie, nawet tekstowym. Do rysowania punktu wykorzystuje 2 tablice z wyliczonymi adresami linii. Przed u¾yciem tych tablic sprawdza, czy s¥ one ju¾ ubezwzgl©dnione z wykorzystaniem SAVMSC . Je¾eli nie, to przy pierwszym wywoˆaniu ubezwzgl©dnia te adresy. Ta procedura jest okoˆo 2 razy szybsza od systemowego PLOT . ;============================================================================== HelpColor: Color number number = numer koloru. Ustawia kolor dla nast©pnej instrukcji graficznej. ;============================================================================== HelpDos: Dos Wyj˜cie do DOS-u. ;============================================================================== HelpBye: Bye Przej˜cie do SELF TEST-u. ;============================================================================== HelpWaitKey: WaitKey Czeka na naci˜ni©cie dowolnego klawisza. ;============================================================================== HelpGetKey: GetKey Czeka na naci˜ni©cie dowolnego klawisza. Nast©pnie pobiera kod klawiatury wci˜ni©tego klawisza i umieszcza go w rejestrze A . ;============================================================================== HelpLocate: Locate x,y x = wsp¢ˆrz©dna pionowa 0-319. y = wsp¢ˆrz©dna pozioma 0-191. Pobiera kolor ze wskazanej pozycji i umieszcza go w rejestrze A . Je¾eli to konieczne ubezwzgl©dnia tablice z adresami linii z pomoc¥ SAVMSC . Dla wszystkich tryb¢w opr¢cz 7 i 15 , wykorzystuje systemow¥ proc©dur© LOCATE . Natomiast dla tryb¢w 7 i 15 jest napisana osobna, bardzo szybka procedura operuj¥ca bezpo˜rednio na ekranie, bez wykorzystywania systemu. ;============================================================================== HelpSetcolor: SetColor number,color,shade number = numer rejestru koloru 0-15. color = kolor 0-15. shade = odcieä koloru 0-15. Dla wszystkich tryb¢w opr¢cz 9-11 , kolory s¥ przyporz¥dkowane nast©puj¥co: 0 = 712 4 = 711 8 = 710 12 = 709 1 = 708 5 = 712 9 = 711 13 = 710 2 = 709 6 = 708 10 = 712 14 = 711 3 = 710 7 = 709 11 = 708 15 = 712 Dla tryb¢w 9-11 , kolory s¥ przyporz¥dkowane nast©puj¥co: 0 = 712 4 = 707 8 = 711 12 = 706 1 = 704 5 = 708 9 = 712 13 = 707 2 = 705 6 = 709 10 = 704 14 = 708 3 = 706 7 = 710 11 = 705 15 = 709 ;============================================================================== HelpPosition: Position x,y x = wsp¢ˆrz©dna pionowa 0-319. y = wsp¢ˆrz©dna pozioma 0-191. Ustawia kursor we wsp¢ˆrz©dnych x,y . ;============================================================================== HelpFill: Fill x,y,c x = wsp¢ˆrz©dna pionowa 0-319. y = wsp¢ˆrz©dna pozioma 0-191. c = kolor, do kt¢rego ma si© odbywa† zamalowywanie obszaru. Ten parametr mo¾na pomin¥†, wtedy obszar b©dzie zamalowywany tak dˆugo, jak dˆugo nie zostanie napotkany kolor inny ni¾ 0. Wypeˆnia obszar ograniczony jakim˜ kolorem. Dziaˆa wolno, ale potrafi wypeˆni† ka¾d¥ figur©. ;============================================================================== HelpBin: Bin decimal,address decimal = 2 bajtowa liczba. address = adres wskazuj¥cy na obszar 16 wolnych bajt¢w. Po konwersji ka¾dy z tych bajt¢w mo¾e przyj¥† warto˜† '0' lub '1'. Zamienia 2 bajtow¥ liczb© w formacie dziesi©tnym na format binarny. ;============================================================================== HelpHex: Hex decimal,address decimal = 2 bajtowa liczba. address = adres wskazuj¥cy na obszar 4 wolnych bajt¢w. Po konwersji ka¾dy z tych bajt¢w mo¾e przyj¥† warto˜†i '0'-'F'. Zamienia 2 bajtow¥ liczb© w formacie dziesi©tnym na format szestnastkowy. ;============================================================================== HelpScreen: Screen address/ON/OFF address/ON/OFF = podanie adresu powoduje ustawienie kom¢rki SAVMSC na wskazany adres, dzi©ki czemu nast©pne instrukcje graficzne b©d¥ dziaˆaˆy w obszarze niewidocznym w danej chwili na ekranie. Podanie parametru OFF powoduje wyˆ¥czenie ekranu przez zablokowanie dost©pu ANTIC-a do pami©ci obrazu. Podanie parametru ON powoduje ponowne wˆ¥czenie ekranu. ;============================================================================== HelpSwap: Swap address address = adres widocznego ekranu. Ustawia adres widocznego ekranu poprzez zmian© adresu ˆadowania licznika obrazu w DISPLAY LIST . Procedura szuka rozkazu z ustawionym bitem 6 i dopiero wtedy modyfikuje nast©pne 2 bajty. Dzi©ki temu ta procedura dziaˆa nie tylko z systemowymi DISPLAY LIST-ami . ;============================================================================== HelpCopyMemory: CopyMemory from,to,how from = sk¥d przenie˜ dane. to = dok¥d przenie˜ dane. how = ile bajt¢w przenie˜. Procedura przed przyst¥pieniem do kopiowania sprawdza czy i w jaki spos¢b obszary from i to si© pokrywaj¥. W zale¾no˜ci od tego kopiuje dane od koäca lub od pocz¥tku do obszaru docelowego. Dzi©ki temu nigdy nie nast¥pi uszkodzenie kopiowanego obszaru. ;============================================================================== HelpLength: Length address address = adres tekstu. Funkcja sprawdza dˆugo˜† tekstu rozpoczynaj¥cego si© pod podanym adresem. Zliczanie znak¢w odbywa si©, a¾ do napotkania znaku o kodzie 0 lub 155 . Maksymalna dˆugo˜† tekstu to 254 znaki. Je¾eli w rejestrze A zostanie zwr¢cone 255 to znaczy, ¾e nie znaleziono koäca tekstu. ;============================================================================== HelpCls: Cls color color = kolor, kt¢rym ma by† wyczyszczony ekran. Czy˜ci ekran podanym kolorem. Je¾eli nie podano koloru to czyszczenie zostanie wykonane z u¾yciem koloru 0 . ;============================================================================== HelpClw: Clw color color = kolor, kt¢rym ma by† wyczyszczone okno. Czy˜ci okno podanym kolorem. Je¾eli nie podano koloru to czyszczenie zostanie wykonane z u¾yciem koloru 0 . Je¾eli dany tryb zostaˆ otwarty bez okna tekstowego to procedura nic nie wyczy˜ci i od razu si© zakoäczy. ;============================================================================== HelpRandom: Random Funkcja podaje losow¥ liczb© z przedziaˆu 0-255 . Wylosowan¥ warto˜† umieszcza w rejestrze A . ;============================================================================== HelpCUp: CUp Przemieszcza kursor o jeden wiersz w g¢r©. ;============================================================================== HelpCDown: CDown Przemieszcza kursor o jeden wiersz w d¢ˆ. ;============================================================================== HelpCLeft: CLeft Przemieszcza kursor o jedn¥ kolumn© w lewo. ;============================================================================== HelpCRight: CRight Przemieszcza kursor o jedn¥ kolumn© w prawo. ;============================================================================== HelpCHome: CHome Ustawia kursor w wsp¢ˆrz©dnych 0,0 . ;============================================================================== HelpMemorize_X: Memorize X Zapami©tuje wsp¢ˆrz©dn¥ X kursora. ;============================================================================== HelpMemorize_Y: Memorize Y Zapami©tuje wsp¢ˆrz©dn¥ Y kursora. ;============================================================================== HelpRemember_X: Remember X Odtwarza zapami©tan¥ wsp¢ˆrz©dn¥ X kursora. ;============================================================================== HelpRemember_Y: Remember Y Odtwarza zapami©tan¥ wsp¢ˆrz©dn¥ Y kursora. ;============================================================================== HelpClearKey: ClearKey Czy˜ci kod ostatnio wci˜ni©tego klawisza z kom¢rki 764 . ;============================================================================== HelpVScroll: VScroll number number = liczba linii, o kt¢r¥ przesun¥† obraz poziomo 0-15. Ustawia przes¢w poziomy na wskazan¥ liczb© linii. Przesuni©te zostan¥ jedynie te linie, kt¢re maj¥ ustawiony 5 bit w rozkazie tworzenia linii, w DISPLAY LIST . ;============================================================================== HelpHScroll: HScroll number number = liczba pikseli, o kt¢r¥ przesun¥† obraz pionowo 0-15. Ustawia przes¢w pionowy na wskazan¥ liczb© pikseli. Przesuni©ciee nast¥pi jedynie w tych liniach, kt¢re maj¥ ustawiony 4 bit w rozkazie tworzenia linii, w DISPLAY LIST . ;============================================================================== HelpWaitVBL: WaitVBL Czeka na pocz¥tek powrotu strumienia elektron¢w po narysowaniu obrazu. ;============================================================================== HelpPoke: Poke address,byte address = adres kom¢rki pami©ci. byte = bajt do wpisania. Wpisuje bajt pod wskazany adres. ;============================================================================== HelpDPoke: DPoke address,word address = adres kom¢rki pami©ci. word = sˆowo do wpisania. Wpisuje sˆowo pod wskazany adres. ;============================================================================== HelpCircle: Circle x,y,r,c x = wsp¢ˆrz©dna pionowa 0-319, ˜rodka okr©gu. y = wsp¢ˆrz©dna pozioma 0-191, ˜rodka okr©gu. r = promieä okr©gu 0-255. c = kolor wypeˆnienia okr©gu, parametr opcjonalny. Rysuje okr¥g o ˜rodku we wsp¢ˆrz©dnych (x,y) oraz promieniu r . Je¾eli zostanie podane dodatkowo c to wtedy okr¥g zostanie wypeˆniony tym kolorem. W trybach gdzie punkty s¥ szersze w poziomie ni¾ pionie nast¥pi odpowiednie przeskalowanie wsp¢ˆrz©dnych tak, ¾e zawsze nast¥pi narysowanie okr©gu, a nie elipsy. W trybach 7 i 15 rysowanie wypeˆnionych okr©g¢w odbywa si© kilka razy szybciej ni¾ w pozostaˆych trybach. ;============================================================================== HelpPause: Pause time time = czas 0-65535. Jednostka to 1/50 sekundy. Wstrzymuje na pewien czas wykonywanie bie¾¥cego programu. Wykorzystuje licznik systemowy TIMCNT5 . ;============================================================================== HelpConvertINT: ConvertINT Funkcja ta konwertuje znak w kodzie ATASCII na kod wewn©trzny wykorzystuj¥c do tego celu rejestr A . ;============================================================================== HelpConvertASC: ConvertASC Funkcja ta konwertuje znak w kodzie wewn©trznym na kod ATASCII wykorzystuj¥c do tego celu rejestr A . ;============================================================================== HelpPrint: Print 'text' 'text = dowolny tekst,etykieta,kom¢rka pami©ci lub zwykˆa liczba. Przykˆady u¾ycia: Print ' atari ' = wypisze podany tekst. Print 100 = wypisze liczb© 100 . Print label = wypisze tekst spod etykiety label , a¾ do liczby 0 lub 155 . Print ( 100 ) = wypisze zawarto˜† kom¢rki 100 . Print (( 100 )) = wypisze zawarto˜† kom¢rki 100 i 101 . Wypisuje podany tekst na ekranie. Po zakoäczeniu pisania kursor jest ustawiony na koäcu wypisanego tekstu. Dziaˆa w trybach tekstowych i graficznych. Je¾eli tekst jest podany w formie etykiety to powinien koäczy† si© liczb¥ 0 . Je¾eli tekst b©dzie zakoäczony liczb¥ 155 to nast¥pi przej˜cie kursora do nast©pnego wiersza, czyli tak jakby˜my wykorzystali do pisania procedur© PRINTE . ;============================================================================== HelpPrintE: PrintE 'text' 'text = dowolny tekst,etykieta,kom¢rka pami©ci lub zwykˆa liczba. Mo¾liwe jest r¢wnie¾ pomini©cie tego parametru, wtedy kursor zostanie przeniesiony do nast©pnego wiersza. Przykˆady u¾ycia: PrintE ' atari ' = wypisze podany tekst. PrintE 100 = wypisze liczb© 100 . PrintE label = wypisze tekst spod etykiety label , a¾ do liczby 0 lub 155 . PrintE ( 100 ) = wypisze zawarto˜† kom¢rki 100 . PrintE (( 100 )) = wypisze zawarto˜† kom¢rki 100 i 101 . PrintE = nast¥pi przej˜cie na pocz¥tek nast©pnego wiersza. Wypisuje podany tekst na ekranie. Po zakoäczeniu pisania kursor przechodzi do nast©pnego wiersza. Dziaˆa w trybach tekstowych i graficznych. Je¾eli tekst jest podany w formie etykiety to powinien koäczy† si© liczb¥ 155 . Je¾eli tekst b©dzie zakoäczony liczb¥ 0 to nie nast¥pi przej˜cie kursora do nast©pnego wiersza, czyli tak jakby˜my u¾yli procedury PRINT . ;============================================================================== HelpCentre: Centre 'text' 'text = dowolny tekst,etykieta,kom¢rka pami©ci lub zwykˆa liczba. Przykˆady u¾ycia: Centre ' atari ' = wypisze podany tekst. Centre 100 = wypisze liczb© 100 . Centre label = wypisze tekst spod etykiety label , a¾ do liczby 0 lub 155 . Centre ( 100 ) = wypisze zawarto˜† kom¢rki 100 . Centre (( 100 )) = wypisze zawarto˜† kom¢rki 100 i 101 . Wypisuje podany tekst na ˜rodku ekranu. Po zakoäczeniu pisania kursor zawsze przechodzi do nast©pnego wiersza. Dziaˆa w trybach tekstowych i graficznych. Je¾eli tekst jest podany w formie etykiety to powinien koäczy† si© liczb¥ 0 lub 155 . ;============================================================================== HelpDrawTo: DrawTo x,y x = wsp¢ˆrz©dna pionowa 0-319. y = wsp¢ˆrz©dna pozioma 0-191. Procedura ta rysuje lini© od aktualnej pozycji kursora do punktu x,y . Dla tryb¢w 7 i 15 wykorzystywana jest bardzo szybka procedura rysuj¥ca. Dla pozostaˆych tryb¢w wykorzystywana jest sytemowa procedura DRAWTO . ;============================================================================== HelpPaletteGFX: PaletteGFX address address = adres wgranego obrazka w formacie GFX. Ustawia palet© kolor¢w na podstawie danych z nagˆ¢wka GFX-a . Nagˆ¢wek GFX wygl¥da nast©puj¥co: BAJTY OPIS 0 - 2 = indentyfikator ' GFX '. 3 = numer trybu, w kt¢rym wykonano obrazek. 4 - 5 = szeroko˜† obrazka. 6 - 7 = wysoko˜† obrazka. 8 -11 = 4 podstawowe kolory. 12-16 = pozostaˆe 5 kolor¢w, tylko dla trybu 10 . ..-.. = kolejne bajty obrazka. Brak kompresji. ;============================================================================== HelpShowGFX: ShowGFX x,y,address x,y = wsp¢ˆrz©dne lewego-g¢rnego rogu. address = adres wgranego obrazka w formacie GFX. Wy˜wietla obrazek na ekranie w taki spos¢b, ¾e jego lewy-g¢rny r¢g znajdzie si© na wsp¢ˆrz©dnych x,y . Niestety na razie dziaˆa poprawnie tylko w trybach 7 i 15 . Nagˆ¢wek GFX wygl¥da nast©puj¥co: BAJTY OPIS 0 - 2 = indentyfikator ' GFX '. 3 = numer trybu, w kt¢rym wykonano obrazek. 4 - 5 = szeroko˜† obrazka. 6 - 7 = wysoko˜† obrazka. 8 -11 = 4 podstawowe kolory. 12-16 = pozostaˆe 5 kolor¢w, tylko dla trybu 10 . ..-.. = kolejne bajty obrazka. Brak kompresji. ;============================================================================== HelpBox: Box x1,y1,x2,y2 x1,y1 = wsp¢ˆrz©dne lewego-g¢rnego rogu prostok¥ta. x2,y2 = wsp¢ˆrz©dne prawego-dolnego rogu prostok¥ta. Rysuje nie wypeˆniony prostok¥t. ;============================================================================== HelpLine: Line x1,y1,x2,y2 x1,y1 = wsp¢ˆrz©dne pocz¥tkowe rysowanej linii. x2,y2 = wsp¢ˆrz©dne koäcowe rysowanej linii. Rysuje lini© pomi©dzy punktami x1,y1 ,a x2,y2 . ;============================================================================== HelpBar: Bar x1,y1,x2,y2 x1,y1 = wsp¢ˆrz©dne lewego-g¢rnego rogu prostok¥ta. x2,y2 = wsp¢ˆrz©dne prawego-dolnego rogu prostok¥ta. Rysuje wypeˆniony prostok¥t. ;============================================================================== HelpClose: Close channel channel = numer kanaˆu IOCB. Zamyka wskazany kanaˆ IOCB . ;============================================================================== HelpDark: Dark time time = czas 0-255. Jednostka to 1/50 sekundy. Procedura ta ˜ciemnia ekran w odst©pach co time . ;============================================================================== HelpLight: Light time time = czas 0-255. Jednostka to 1/50 sekundy. Procedura ta rozja˜nia ekran w odst©pach co time . ;============================================================================== HelpLoad: Load address,'file' address = adres, pod kt¢ry ma by† wgrany plik. file = nazwa pliku. Musi by† du¾ymi literami. Procedura ta wgrywa podany plik pod wskazany adres. W przypadku bˆ©du ustawiany jest znacnik N , a rejestr A zawiera kod bˆ©du. Procedura do swego dziaˆania wykorzystuje 7 kanaˆ IOCB . ;============================================================================== HelpPlayCMC: PlayCMC address address = adres, pod kt¢ry zostaˆ wgrany plik CMC. Procedura odgrywa pliki muzyczne w formacie CMC . Muzyczki s¥ automatycznie relokowane. Muzyka jest odgrywana na przerwaniu VBLKI co 1/50 sekundy. W przypadku wykrycia, ¾e pod podanym adresem nie ma pliku w formacie CMC wy˜wietlany jest komunikat o bˆ©dzie. ;============================================================================== HelpStopCMC: StopCMC Procedura wstrzymuje odgrywanie muzyki CMC . ;============================================================================== HelpTempoCMC: TempoCMC tempo tempo = tempo odgrywania muzyki 0-127. Procedura zmienia szybko˜† odtwarzania utworu CMC . ;============================================================================== HelpContCMC: ContCMC Kontynuacja odgrywania utworu CMC od miejsca ostatniego zatrzymania. ;============================================================================== HelpPosCMC: PosCMC position position = pozycja, od kt¢rej ma nast¥pi† odgrywanie utworu 0-255. Ustawia now¥ pozycj©, od kt¢rej grany jest utw¢r CMC . ;============================================================================== HelpSave: Save address,how,'file' address = adres, od kt¢rego ma by† zapisany plik. how = ile bajt¢w ma zosta† zapisanych. file = nazwa pliku. Musi by† du¾ymi literami. Procedura ta zapisuje obszar pami©ci do podanego pliku. W przypadku bˆ©du ustawiany jest znacnik N , a rejestr A zawiera kod bˆ©du. Procedura do swego dziaˆania wykorzystuje 7 kanaˆ IOCB . ;============================================================================== HelpPMGBase: PMGBase address address = adres, od kt¢rego ma by† obszar P/MG. Znaczenie ma tylko starszy bajt adresu. Ustawia obszar grafiki P/MG na podany adres. Pod tym adresem nale¾y zarezerwowa† 1 lub 2KB w zale¾no˜ci od wykorzystywanej rozdzielczo˜ci. ;============================================================================== HelpDoubleSprite: DoubleSprite ON/OFF ON/OFF = wˆ¥cza/wyˆ¥cza rozdzielczo˜† dwuliniow¥ (1KB) dla grafiki P/MG. Ustalenie wykorzystywanej rozdzielczo˜ci P/MG . ;============================================================================== HelpSpecialSprite: SpecialSprite ON/OFF ON/OFF = wˆ¥cza/wyˆ¥cza dodatkowego gracza, utworzonego z pocisk¢w P/MG. Utworzenie dodatkowego gracza, czyli tak naprawd© przej©cie przez wszystkie pociski koloru od gracza3 . ;============================================================================== HelpMultiSprite: MultiSprite ON/OFF ON/OFF = wˆ¥cza/wyˆ¥cza wielokolorow¥ grafik© P/MG. Umo¾liwia stworzenie wielokolorowych graczy, poprzez dokonywanie operacji ORA na parach gracz0 + gracz1 oraz gracz2 + gracz3 . ;============================================================================== HelpPMGClear: PMGClear Czy˜ci obszar przeznaczony dla grafiki P/MG . Nale¾y wykona† zaraz po PMGBase i DoubleSprite . Czyszczony obszar to 1 lub 2KB w zale¾no˜ci od wybranej rozdzielczo˜ci P/MG . ;============================================================================== HelpSetPlayer: SetPlayer player,address,length player = numer gracza 0-3. address = adres definicji gracza 0-65535. length = dˆugo˜† definicji gracza 0-255. Przepisuje podan¥ liczb© bajt¢w do pami©ci P/MG . Miejsce, do kt¢rego jest wpisywana definicja gracza jest uzale¾nione od jego ostatniego poˆo¾enia. Je¾eli jako dˆugo˜† definicji podamy liczb© 0 , to wtedy zamiast przepisywania definicji, mˆodszy bajt adresu definicji zostanie bezpo˜rednio przepisany do rejestru grafiki gracza. Nie trzeba wi©c rezerwowa† specjalnego obszaru dla grafiki P/MG za pomoc¥ PMGBase . ;============================================================================== HelpSetMissile: SetMissile missile,address,length missile = numer pocisku 0-3. address = adres definicji pocisku 0-65535. length = dˆugo˜† definicji pocisku 0-255. Przepisuje podan¥ liczb© bajt¢w do pami©ci P/MG . Przy czym w zale¾no˜ci od numeru pocisku tylko niekt¢re bity s¥ wykorzystywane: bit 0 i 1 = pocisk 0 bit 2 i 3 = pocisk 1 bit 4 i 5 = pocisk 2 bit 6 i 7 = pocisk 3 Miejsce, od kt¢rego jest wpisywana definicja pocisku jest uzale¾niona od jego ostatniego poˆo¾enia na ekranie. Je¾eli jako dˆugo˜† definicji podamy liczb© 0 , to wtedy zamiast przepisywania definicji, mˆodszy bajt adresu definicji zostanie bezpo˜rednio przepisany do rejestru grafiki pocisku. Nie trzeba wi©c rezerwowa† specjalnego obszaru dla grafiki P/MG za pomoc¥ PMGBase . ;============================================================================== HelpSetMissiles: SetMissiles address,length address = adres definicji pocisk¢w 0-65535. length = dˆugo˜† definicji pocisk¢w 0-255. Przepisuje podan¥ liczb© bajt¢w do pami©ci P/MG . Przy czym poszczeg¢lne bity bajtu s¥ przyporz¥dkowane do pocisk¢w nast©puj¥co: bit 0 i 1 = pocisk 0 bit 2 i 3 = pocisk 1 bit 4 i 5 = pocisk 2 bit 6 i 7 = pocisk 3 Miejsce, od kt¢rego jest wpisywana definicja pocisk¢w jest uzale¾niona od jego ostatniego poˆo¾enia pocisk¢w na ekranie. Je¾eli jako dˆugo˜† definicji podamy liczb© 0 , to wtedy zamiast przepisywania definicji, mˆodszy bajt adresu definicji zostanie bezpo˜rednio przepisany do rejestr¢w grafiki pocisk¢w. Nie trzeba wi©c rezerwowa† specjalnego obszaru dla grafiki P/MG za pomoc¥ PMGBase . ;============================================================================== HelpShowPlayer: ShowPlayer ON/OFF ON/OFF = pokazuje/chowa graczy P/MG. ;============================================================================== HelpShowMissile: ShowMissile ON/OFF ON/OFF = pokazuje/chowa pociski P/MG. ;============================================================================== HelpDMAPlayer: DMAPlayer ON/OFF ON/OFF = wˆ¥cza/wyˆ¥cza dost©p ANTIC-a do pami©ci graczy. ;============================================================================== HelpDMAMissile: DMAMissile ON/OFF ON/OFF = wˆ¥cza/wyˆ¥cza dost©p ANTIC-a do pami©ci pocisk¢w. ;============================================================================== HelpPosPlayer: PosPlayer player,x,y player = numer gracza 0-3. x = pozycja pionowa gracza 0-255. y = pozycja pozioma gracza 0-255. Przesuwa podanego gracza na pozycj© x,y . ;============================================================================== HelpPosMissile: PosMissile missile,x,y missile = numer pocisku 0-3. x = pozycja pionowa pocisku 0-255. y = pozycja pozioma pocisku 0-255. Przesuwa podany pocisk na pozycj© x,y . ;============================================================================== HelpPosMissiles: PosMissiles x,y x = pozycja pionowa pocisk¢w 0-255. y = pozycja pozioma pocisk¢w 0-255. Traktuje wszystkie pociski jakby byˆy dodatkowym graczem i przesuwa je na pozycj© x,y . Oznacza to, ¾e pocisk3 zostanie ustawiony w miejscu x,y , pocisk2 na pozycji x+2,y itd. ;============================================================================== HelpSizePlayer: SizePlayer player,width player = numer gracza 0-3. width = szeroko˜† gracza 0-3. Ustawia szeroko˜† podanego gracza. Warto˜ci 0 i 2 oznaczaj¥ normaln¥ szeroko˜†, warto˜† 1 to szeroko˜† podw¢jna, a 3 to poczw¢rna. ;============================================================================== HelpSizeMissile: SizeMissile missile,width missile = numer pocisku 0-3. width = szeroko˜† pocisku 0-3. Ustawia szeroko˜† podanego pocisku. Warto˜ci 0 i 2 oznaczaj¥ normaln¥ szeroko˜†, warto˜† 1 to szeroko˜† podw¢jna, a 3 to poczw¢rna. ;============================================================================== HelpSizeMissiles: SizeMissiles width width = szeroko˜† pocisk¢w 0-3. Ustawia szeroko˜† wszystkich pocisk¢w. Warto˜ci 0 i 2 oznaczaj¥ normaln¥ szeroko˜†, warto˜† 1 to szeroko˜† podw¢jna, a 3 to poczw¢rna. ;============================================================================== HelpColorSprite: ColorSprite sprite,color,shade sprite = numer gracza i pocisku 0-3. color = numer koloru 0-15. shade = odcieä koloru 0-15. Ustawia kolor pary gracz+pocisk . ;============================================================================== HelpHITClear: HITClear Kasuje rejestry kolizji graczy i pocisk¢w. ;============================================================================== HelpPrioritySprite: PrioritySprite priority priority = piorytet wy˜wietlania kolor¢w 0-15. Ustawia piorytet w zale¾no˜ci od tego, kt¢ry bit jest ustawiony: bit 0 = P/M0 P/M1 P/M2 P/M3 PF0 PF1 PF2 PF3 tˆo bit 1 = P/M0 P/M1 PF0 PF1 PF2 PF3 P/M2 P/M3 tˆo bit 2 = PF0 PF1 PF2 PF3 P/M0 P/M1 P/M2 P/M3 tˆo bit 3 = PF0 PF1 P/M0 P/M1 P/M2 P/M3 PF2 PF3 tˆo ;============================================================================== HelpIfNDef: IfNDef label ........ EndNDef Je¾eli etykieta po IfNDef nie jest zdefiniowana to wykonywany jest fragment pomi©dzy powy¾szymi instrukcjami. ;============================================================================== HelpIfDef: IfDef label ........ EndDef Je¾eli etykieta po IfDef jest zdefiniowana to wykonywany jest fragment pomi©dzy powy¾szymi instrukcjami. ;============================================================================== HelpAudF1: AudF1 frequency frequency = cz©stotliwo˜† generatora numer 1, 0-255. Ustawia bezpo˜rednio cz©stotliwo˜† pierwszego generatora POKEY-a . ;============================================================================== HelpAudF2: AudF2 frequency frequency = cz©stotliwo˜† generatora numer 2, 0-255. Ustawia bezpo˜rednio cz©stotliwo˜† drugiego generatora POKEY-a . ;============================================================================== HelpAudF3: AudF3 frequency frequency = cz©stotliwo˜† generatora numer 3, 0-255. Ustawia bezpo˜rednio cz©stotliwo˜† trzeciego generatora POKEY-a . ;============================================================================== HelpAudF4: AudF4 frequency frequency = cz©stotliwo˜† generatora numer 4, 0-255. Ustawia bezpo˜rednio cz©stotliwo˜† czwartego generatora POKEY-a . ;============================================================================== HelpAudC1: AudC1 tone+loud tone+loud = filtry+gˆo˜no˜† generatora numer 1, 0-255. Ustawia bezpo˜rednio filtry oraz gˆo˜no˜† dla pierwszego generatora POKEY-a . W zale¾no˜ci od ustawienia bit¢w mamy r¢¾ne mo¾liwo˜ci: bity 0-3 = gˆo˜no˜† 0-15 . bit 4 = sˆu¾y do dwustanowej regulacji gˆo˜no˜ci. Gdy jest on skasowany, to generator wytwarza d«wi©k, kt¢rego gˆo˜no˜† ustalaj¥ bity 0-3 AUDC , a cz©stotliwo˜† rejestr AUDF . Ustawienie bitu 4 wyˆ¥cza dziaˆanie rejestru AUDF i powoduje generowanie staˆego napi©cia o wysoko˜ci okre˜lonej przez bity gˆo˜no˜ci (0-3) . bity 5-7 = rejestry przesuwaj¥ce, kt¢re powoduj¥ znieksztaˆcanie d«wi©ku . Rodzaj tych znieksztaˆceä zale¾y od dˆugo˜ci u¾ytych rejestr¢w przesuwaj¥cych. POKEY posiada trzy takie rejestry: 4- , 5- i 17- bitowy. ;============================================================================== HelpAudC2: AudC2 tone+loud tone+loud = filtry+gˆo˜no˜† generatora numer 2, 0-255 Ustawia bezpo˜rednio filtry oraz gˆo˜no˜† dla drugiego generatora POKEY-a . W zale¾no˜ci od ustawienia bit¢w mamy r¢¾ne mo¾liwo˜ci: bity 0-3 = gˆo˜no˜† 0-15 . bit 4 = sˆu¾y do dwustanowej regulacji gˆo˜no˜ci. Gdy jest on skasowany, to generator wytwarza d«wi©k, kt¢rego gˆo˜no˜† ustalaj¥ bity 0-3 AUDC , a cz©stotliwo˜† rejestr AUDF . Ustawienie bitu 4 wyˆ¥cza dziaˆanie rejestru AUDF i powoduje generowanie staˆego napi©cia o wysoko˜ci okre˜lonej przez bity gˆo˜no˜ci (0-3) . bity 5-7 = rejestry przesuwaj¥ce, kt¢re powoduj¥ znieksztaˆcanie d«wi©ku . Rodzaj tych znieksztaˆceä zale¾y od dˆugo˜ci u¾ytych rejestr¢w przesuwaj¥cych. POKEY posiada trzy takie rejestry: 4- , 5- i 17- bitowy. ;============================================================================== HelpAudC3: AudC3 tone+loud tone+loud = filtry+gˆo˜no˜† generatora numer 3, 0-255 Ustawia bezpo˜rednio filtry oraz gˆo˜no˜† dla trzeciego generatora POKEY-a . W zale¾no˜ci od ustawienia bit¢w mamy r¢¾ne mo¾liwo˜ci: bity 0-3 = gˆo˜no˜† 0-15 . bit 4 = sˆu¾y do dwustanowej regulacji gˆo˜no˜ci. Gdy jest on skasowany, to generator wytwarza d«wi©k, kt¢rego gˆo˜no˜† ustalaj¥ bity 0-3 AUDC , a cz©stotliwo˜† rejestr AUDF . Ustawienie bitu 4 wyˆ¥cza dziaˆanie rejestru AUDF i powoduje generowanie staˆego napi©cia o wysoko˜ci okre˜lonej przez bity gˆo˜no˜ci (0-3) . bity 5-7 = rejestry przesuwaj¥ce, kt¢re powoduj¥ znieksztaˆcanie d«wi©ku . Rodzaj tych znieksztaˆceä zale¾y od dˆugo˜ci u¾ytych rejestr¢w przesuwaj¥cych. POKEY posiada trzy takie rejestry: 4- , 5- i 17- bitowy. ;============================================================================== HelpAudC4: AudC4 tone+loud tone+loud = filtry+gˆo˜no˜† generatora numer 4, 0-255 Ustawia bezpo˜rednio filtry oraz gˆo˜no˜† dla czwartego generatora POKEY-a . W zale¾no˜ci od ustawienia bit¢w mamy r¢¾ne mo¾liwo˜ci: bity 0-3 = gˆo˜no˜† 0-15 . bit 4 = sˆu¾y do dwustanowej regulacji gˆo˜no˜ci. Gdy jest on skasowany, to generator wytwarza d«wi©k, kt¢rego gˆo˜no˜† ustalaj¥ bity 0-3 AUDC , a cz©stotliwo˜† rejestr AUDF . Ustawienie bitu 4 wyˆ¥cza dziaˆanie rejestru AUDF i powoduje generowanie staˆego napi©cia o wysoko˜ci okre˜lonej przez bity gˆo˜no˜ci (0-3) . bity 5-7 = rejestry przesuwaj¥ce, kt¢re powoduj¥ znieksztaˆcanie d«wi©ku . Rodzaj tych znieksztaˆceä zale¾y od dˆugo˜ci u¾ytych rejestr¢w przesuwaj¥cych. POKEY posiada trzy takie rejestry: 4- , 5- i 17- bitowy. ;============================================================================== HelpAudCTL: AudCTL control control = warto˜† steruj¥ca dla wszytkich generator¢w POKEY-a, 0-255. Ustawia bezpo˜rednio r¢¾ne parametry dla pracy generator¢w POKEY-a . W zale¾no˜ci od ustawienia bit¢w mamy nast©puj¥ce mo¾liwo˜ci: bit 0 = wˆ¥cza dodatkowy dzielnik cz©stotliwo˜ci bazowej, zmiejszaj¥c j¥ do 15.8345kHz . bit 1 = wˆ¥cza w generatorze 2 filtr g¢rnoprzepustowy sterowany przez generator 1 . bit 2 = wˆ¥cza w generatorze 1 filtr g¢rnoprzepustowy sterowany przez generator 3 . bit 3 = poˆ¥czenie AUDF3 i AUDF4 wjeden 16- bitowy dzielnik. bit 4 = poˆ¥czenie AUDF1 i AUDF2 wjeden 16- bitowy dzielnik. bit 5 = wˆ¥czenie dla generatora 3 , gˆ¢wnego dzielnika 1.773447MHz . bit 6 = wˆ¥czenie dla generatora 1 , gˆ¢wnego dzielnika 1.773447MHz . bit 7 = zmiana 17- bitowego rejestru przesuwaj¥cego w 9- bitowy. ;============================================================================== HelpROM: ROM ON/OFF ON/OFF = wˆ¥cza/wyˆ¥cza pami©† ROM. Wyˆ¥czenie pami©ci ROM polega na przepisaniu jej do RAM-u . Od tej pory pami©† od adresu $C000 nie jest ju¾ chroniona przed zapisem. ;============================================================================== HelpSetChar: SetChar 'a',b0,b1,...,b7 'a' = litera do przedefiniowania. b0-7 = kolejne bajty definiowanego znaku. Redefiniuje wz¢r podanego znaku w aktualnie aktywnym zestawie znak¢w. Je¾eli zestaw ten znajduje si© w pami©ci ROM , to najpierw zostanie wykonana instrukcja ROM OFF , a dopiero potem nast¥pi redefinicja znaku. ;============================================================================== HelpInstallPolish: InstallPolish Instaluje polskie litery. Mo¾na uzyska† je wciskaj¥c CTRL+ litera. Je¾eli zestaw ten znajduje si© w pami©ci ROM , to najpierw zostanie wykonana instrukcja ROM OFF , a dopiero potem nast¥pi instalacja polskich liter. ;============================================================================== HelpADD: ADD Odpowiada instrukcjom CLC i ADC . ;============================================================================== HelpSUB: SUB Odpowiada instrukcjom SEC i SBC . ;============================================================================== HelpCursor: Cursor ON/OFF ON/OFF = pokazanie/schowanie kursora. Ta procedura ma sens jedynie w trybie 0 . ;============================================================================== HelpPlaySMP: PlaySMP address address = adres wgranego pliku w formacie SMP. Odgrywa digital-a spod wskazanego adresu. Odtwarzanie odbywa si© z wykorzystaniem przerwaä POKEY-a . Do odgrywania wykorzystywany jest AUDC4 . Nagˆ¢wek SMP wygl¥da nast©puj¥co: BAJTY OPIS 0 - 2 = indentyfikator ' SMP '. 3 -15 = dowolny komentarz. 16-17 = ilo˜† 4- bitowych pr¢bek. Dla uzyskania liczby bajt¢w trzeba podzieli† przez 2 . 18 = cz©stotliwo˜† wpisywana do AUDF4 . Co ile jednostek wywoˆa† przerwanie dla odegrania nast©pnej pr¢bki. 19-.. = kolejne pr¢bki. Przy czym mˆodsza pr¢bka jest w starszych 4- bitach. ;============================================================================== HelpDB_DW: DB/DW byte/word byte/word = deklaracja bajtu lub sˆowa. Powy¾sze dyrektywy u¾ywa si© na pocz¥tku linii z danymi. W trakcie pisania linii mo¾na u¾y† dodatkowo nast©puj¥cych deklaracji: A( address ) = deklaracja sˆowa. W( word ) = deklaracja sˆowa. B( byte ) = deklaracja bajtu. L( address ) = mˆodszy bajt adresu. H( address ) = starszy bajt adresu. address = mˆodszy bajt adresu. > address = starszy bajt adresu. C' text ' = deklaracja tekstu w postaci kod¢w ATASCII . S' text ' = deklaracja tekstu w postaci kod¢w wewn©trznych . ;============================================================================== HelpDC_DS: DC/DS 'text' 'text' = deklaracja tekstu w postaci kod¢w ATASCII lub wewn©trznych. Powy¾sze dyrektywy u¾ywa si© na pocz¥tku linii z danymi. W trakcie pisania linii mo¾na u¾y† dodatkowo nast©puj¥cych deklaracji: A( address ) = deklaracja sˆowa. W( word ) = deklaracja sˆowa. B( byte ) = deklaracja bajtu. L( address ) = mˆodszy bajt adresu. H( address ) = starszy bajt adresu. address = mˆodszy bajt adresu. > address = starszy bajt adresu. C' text ' = deklaracja tekstu w postaci kod¢w ATASCII . S' text ' = deklaracja tekstu w postaci kod¢w wewn©trznych . ;============================================================================== HelpRep: Rep counter ........ EndRep Instrukcje zawarte pomi©dzy tymi dwoma dyrektywami s¥ wykonywane tyle razy, ile wskazuje zmienna counter .