Programować Każdy Może - część 1

ASSEMBLER

Tym razem zaprezentuję Wam kilka prostych programów do samodzielnego "rozgryzania". Jest to pewien eksperyment, bo jeżeli spodoba się Wam ten sposób przytaczania nieraz ciekawych rozwiązań, to można by upchnąć w ten sposób masę zagadnień. Bo niekiedy takie podejście do sprawy jest lepsze od "lania wody"... Dajcie koniecznie znać, co sądzicie o takim rozwiązaniu.

#003 Joy-Icon

Pierwszy w miarę poważny program w tym dziale:). Teraz na łamach C64 Power możecie przeczytać, w jaki sposób przejąć pełną kontrolę nad poczynaniami duszka podpiętego pod joy-a lub mychę. Zastosowanie aż samo się prosi... Wszelkie wątpliwości rozwieją komentarze w treści programu, niestety ze względu na długość listingu (te marne 320 linii:) nie zobaczycie go poniżej. Zapraszam zatem do zassania ass003.zip. Na koniec kilka słów o jego tymczasowym działaniu:

- porusza spritem po CAŁYM ekranie (tu tekstowym)
- obsługa przez port #2
- fire na literce, powieli ją w rogu ekranu
- całość "wisi" na przerwaniach IRQ

Zapraszam gorąco do jego modyfikacji.

#004 Info-file

Ponownie coś konkretnego dla "majsterkowiczów" assemblera :) Program stary i z pewnymi wadami, ale za to bardzo przejrzysty w działaniu. Pokazuje sposób odwoływania się do stacji dysków oraz interpretera poprzez szereg prostych podprogramów. Dzięki niemu nauczycie się wyświetlać np. katalog dysku, drukować liczby z poziomu Basic'a i wiele innych pożytecznych rzeczy... Właśnie na nim wzorowałem przez kolejne lata, liczne swoje podprogramy. Bo kilka rozwiązań jest całkiem czadowych... ass004.zip. Niestety zawiera uciążliwego (choć łatwego do usunięcia) buga w obsłudze kursora. Cofajcie go zatem zawsze do dwukropka!

#005 Peek DeLux

Jak bumerang wraca ponownie temat usprawniania sobie pracy z "gołym" Basic'em. Tym razem pokaże Wam, że rozbudowa interpretera to fraszka. Wszak to my zapanujemy teraz nad krnąbrnym interpreterem, mocne słowa! Ale po przetrawieniu poniższego listingu, obedrzemy Basic z części jego skrywanych wstydliwie przypadłości :) Miłego eksperymentowania z ass005.zip.

- program działa jedynie na gołym interpreterze (wyłączcie emulacje modułów typu Action i Final)
- rozszerza interpreter o komendę <- adres , gdzie adres to miejsce skąd pobierze dane do zinterpretowania w trzech systemach liczbowych
- użycie w trybie bezpośrednim (zalecane)

#006 FLI oraz Interlace FLI-shower

To powrót do porzedniego odcinka PKM-u, gdzie powiedziałem co nieco na temat wyświetlania grafiki. Tym razem zajmiemy się tym co wyróżnia C64 spośród innych 8-bitowców. FLI (flexible line interpretation) to tryb, którym pognębiliśmy do reszty brać atarowców. Idea samego FLI jest śmiesznie prosta i aż dziw ,że tyle lat pozostała nie odkryta... Jak pamiętacie standardowo mamy naraz do dyspozycji zaledwie cztery kolory (trzy + tło) w trybie multicolor. A jakby tak zdeka ogłupić VIC (to taki procek odpowiedzialny za wyświetlanie grafy na C64) i wmówić mu, że tablica kolorów zmienia się co raster. Otrzymamy wówczas rysunki przy których szczęka opada do podłogi - obejrzyjcie sobie zresztą picki z dysku ass006.zip.

Osoby zainteresowane szczegółami technicznymi, jak otrzymać te tryby. Pragnę zaprosić do nowego działu naszego kompendium C64. Uchylę rąbka tajemnicy i powiem, że możecie go wypatrywać już po wakacjach. Będzie poświęcony grafice komputerowej od bazy potrzebnych programów, po gotowe procedury np. grafiki wektorowej w asemblerze!

BASIC

Niejako uprzedzając nowy dział (szczegóły w #006 odcinku asemblera) przyjrzymy się grafice od podstaw jej tworzenia. Narysujemy sobie linię i elipsę bez uciekania się do gotowych procedur. Wykorzystamy jedynie PLOT aby nie gmatwać algorytmów. Przyda się nam to wszystko później, przy omawianiu bardziej złożonych zagadnień.

#004 Proste linie - jakie to proste!

Rysowanie linii zawsze było wyzwaniem. Teraz już każdy z Was będzie mógł własnoręcznie dokonać czegoś, co zakrawało na cud. Własne linie i do tego proste jak drut - właściwie połamane (o tym jeszcze za moment). Przerobienie tego na własne "druciaki" to bułka z masłem - w końcu jesteście koderami. Wracając do zagadnienia łamania linii, otóż 99% algorytmów kreślenia linii, czyni to źle! Nie jest to może istotne dla początkujących, ale dla Nas starych wyjadaczy, takie "lamerstwo" kłuje w oczy. Linia musi się złamać dokładnie pośrodku swej długości, tak jak nakazuje logika a nie indolencja autorów algorytmów (trochę może mnie ponosi, ale taka jest prawda). Zapraszam do eksperymentów z basic004.zip.

#005 Zgrabne kółeczka i elipsy

Podobnie jak w przypadku linii, i tym razem uciekniemy się tylko do wykorzystania PLOT. Reszta to "czysta poezja" logiki... Zresztą zobaczcie to sami basic005.zip.

#006 Szperacz

To takie małe "niewiadomo co" dla wszystkich szaradzistów. Pomaga wyszukać zdefiniowany ciąg znaków w zadanym obszarze (tablicy). Dobre dla zrozumienia ideii przeszukiwania danych, gdy trzeba znaleźć "coś" czego na pierwszy rzut oka nie widać. A sam program zobaczysz po zassaniu basic006.zip.

Tomasz 'TSD' Dzierkowski

 © 1999-2019 Wszystkie prawa zastrzeżone
 Webmaster: Mariusz "Flooder" Młynek