   #Start Contents

                            Co dalej z ta wiedza?

   Przebrneliscie przez kurs, moze przebrneliscie takze przez mini-kursy.
   Zdobyliscie troche wiedzy. Raz na jakis czas przydaloby sie z niej
   skorzystac, by nie zapomniec, o co w tym wszystkim chodzilo. Ale
   czasem trudno jest znalezc pomysl na jakis ciekawy program, ktory
   mozna byloby napisac. Dlatego ponizej przedstawiam Wam kilka
   propozycji, gdzie wiedza o programowaniu w asemblerze moze sie
   przydac.

   UWAGA: czesc z tych projektow jest dosc zaawansowana, nie kazdy bedzie
   mogl wszystko od razu napisac. To normalne. Lista ponizej przedstawia
   tylko moje propozycje. Zawsze mozecie pisac inne programy. Zachecam
   tez do przysylania swoich ciekawych pomyslow do dopisania do listy.
   Najlepiej jesli projekt bedzie ciekawy i nowy lub rzadko spotykany
   (nie kazdy musi miec swoj edytor tekstu).
    1. kalkulator - 4 podstawowe dzialania, wpisywanie z klawiatury
       (wybor dzialania z gory lub miedzy podawaniem liczb)
    2. kalkulator - 4 podstawowe dzialania, potegowanie i
       pierwiastkowanie dowolnych stopni, silnia, funkcje
       trygonometryczne, logarytmy, zamiana podstaw systemu liczenia
       (takze dla ulamkow), zamiana stopni na radiany i na odwrot,
       wczytywanie parametrow z klawiatury, linii polecen lub pliku
    3. program wyswietlajacy wszystkie dostepne informacje o procesorze
       (najpierw typ, a jesli obsluguje CPUID, to takze wszystkie
       informacje stamtad, wliczajac w to informacje rozszerzone
       otrzymywane z EAX=8000000xh)
    4. program wyswietlajacy wszystkie informacje o znalezionych napedach
       FDD, HDD i CD/ DVD (na przyklad model, tryb pracy) oraz ilosci
       pamieci RAM w komputerze
    5. program wyswietlajacy numer seryjny plyty glownej lub BIOSu (jako
       ze zwykle jest w roznych miejscach, nalezy znalezc najdluzszy ciag
       znakow ASCII).
    6. program wyswietlajacy wszystkie informacje o znalezionych
       urzadzeniach PCI
    7. program wyswietlajacy wszystkie informacje o znalezionych
       urzadzeniach USB
    8. prosty program do wysylania tresci (komend, plikow) przez port
       szeregowy i rownolegly
    9. rozbudowany program do wysylania tresci (komend, plikow) przez
       port szeregowy i rownolegly: obsluga linii polecen, wszystkich
       parametrow transmisji, sekwencji sterujacych ANSI, z buforem
       wejsciowym i mozliwoscia obslugi wielu portow na raz (poprzez
       zmiane zawartosci ekranu), z obsluga sieci itd.
   10. wszystkie powyzsze programy umiescic w bootsektorze dyskietki
   11. wszystkie powyzsze programy umiescic w bootsektorze bootowalnej
       plyty CD (system plikow w standardzie ISO-9660)
   12. program umozliwiajacy przegladanie obrazkow w roznych formatach
       (najlepiej dla DOSa, bo niewiele tam takich pewnie jest, ale moze
       byc pod inny system)
   13. odtwarzacz plikow WAV i MID (lub takze innych) - takze najlepiej
       dla DOSa, ale moze byc pod inny system. Jesli obslugiwane beda
       pliki MID, dobrze byloby miec mozliwosc wpisania wlasnych fontow
       dzwiekowych (z pliku do karty)
   14. rozszerzenie mozliwosci DOSowego sterownika CON (konsola) o
       wyswietlanie tekstu w kodowaniu UTF, na przyklad UTF-8
   15. biblioteka bezposredniego dostepu do systemu plikow, na przyklad
       FAT12, FAT16, FAT32 (najlepiej do takiego systemu plikow, do
       ktorego jeszcze nie ma biblioteki)
   16. biblioteka graficzna umozliwiajaca ustawienie dowolnego trybu
       graficznego, narysowanie w nim piksela o danym kolorze i pozycji
       oraz odcinka i kola lub elipsy. Mozna dodatkowo dorobic obsluge
       przeksztalcen i trzech wymiarow.
   17. dorobienie do CuteMouse obslugi myszy USB w DOSie (najlepiej z
       obsluga rozgaleziaczy USB)
   18. sterownik DOSowy (czy to SYS, czy TSR) do obslugi klawiatur USB
       (najlepiej z obsluga rozgaleziaczy USB)
   19. rozszerzenie mozliwosci FASMa o czytanie kodu z obiektow nie
       bedacych plikami (potoki, gniazda, standardowe wejscie i cokolwiek
       jeszcze, co nie obsluguje zmiany pozycji) i zapisywanie pliku
       wynikowego do takich obiektow (na przyklad standardowe wyjscie)
   20. makra typu in-line w FASMie
   21. DOSowy program rezydentny wydajacy jakis dzwiek z glosniczka przy
       naciskaniu klawiszy na klawiaturze/myszy (najlepiej jeden klawisz
       - jeden dzwiek)
   22. biblioteka sieciowa dla DOSa (najlepiej trzymajaca sie standardow
       - nazw funkcji, parametrow) z obsluga jak najwiekszej liczby
       protokolow (TCP, UDP, ICMP)
   23. program usuwajacy wszystkie niedrukowalne znaki z pliku (lub
       zastepujacy je spacjami). Powinien moc operowac na standardowym
       wejsciu i wyswietlac na standardowe wyjscie.
   24. program usuwajacy wszystkie drukowalne znaki z pliku (lub
       zastepujacy je spacjami). Powinien moc operowac na standardowym
       wejsciu i wyswietlac na standardowe wyjscie.
   25. program usuwajacy wszystkie sekwencje ANSI z pliku. Powinien moc
       operowac na standardowym wejsciu i wyswietlac na standardowe
       wyjscie.
   26. program usuwajacy z pliku wszystkie sekwencje UTF o dlugosci 2 lub
       wiecej bajtow. Powinien moc operowac na standardowym wejsciu i
       wyswietlac na standardowe wyjscie.
   27. dodac obsluge dyskow USB we FreeDOSie (najlepiej z obsluga
       rozgaleziaczy USB)
   28. dodac obsluge dyskow SATA (jesli trzeba) we FreeDOSie
   29. sterownik DOSowy (czy to SYS, czy TSR) do obslugi konwerterow USB
       na RS-232 i na odwrot (najlepiej z obsluga rozgaleziaczy USB)
   30. odtwarzacz CD Audio dla DOSa z opcja uruchomienia go jako programu
       rezydentnego

   Sprawa jasna jest, ze Wy jestescie autorami swoich kodow i macie do
   nich pelne prawa. Zachecam Was jednak do publikowania swoich programow
   na zasadach licencji GPL lub LGPL (w przypadku bibliotek). Dzieki temu
   Wasze prawa zostana zachowane, a wiele innych projektow bedzie moglo
   korzystac z Waszych osiagniec, dzieki czemu zostaniecie zapamietani.

   Jesli macie zamiar udostepnic kody zrodlowe swoich dziel, byloby tez
   dobrze, gdyby byly one w skladni jednego z darmowych kompilatorow (jak
   NASM, YASM, czy FASM), zeby nie zmuszac nikogo do pobierania
   czegokolwiek, czego moglby uzywac niezgodnie z licencja.

   Spis tresci off-line (klawisz dostepu 1)
   Spis tresci on-line (klawisz dostepu 2)
   Ulatwienia dla niepelnosprawnych (klawisz dostepu 0)
