atarionline.pl Polskie znaki, Input w XIO - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthorQTZ
      • CommentTime18 Nov 2010 18:11 zmieniony
       
      Jest wiele standardów rozmieszczenia polskich znaków na Atari - w zasadzie co program to "standard". Najczęściej małe lub duże litery z ogonkami umieszczone są pod odpowiadającymi im znakami uzyskiwanymi z Control. Pozostałe (małe lub duże) litery są porozrzucane mniej lub bardziej logicznie i na tym koniec.

      Przeglądając programy, które przepisywałem kiedyś z prasy, moją uwagę zwróciły dwa: Polskie Znaki i Input w XIO.

      Program generujący zestaw znaków działa bardzo szybko, a przy okazji ma dobrze zaprojektowane znaki, które jednak są rozmieszczone trochę nietypowo.

      Zmiana położenia znaków jest bardzo prosta, gdyż zmienna P$ zawiera 8 Bajtów definiujących znak i 1 Bajt określający położenie tego znaku w zestawie, dla każdego z 18 znaków. Tak więc modyfikując te dane można "przemieścić" znaki w pożądane miejsca, co tu uzyskałem prowizorycznie wykonując serię rozkazów POKE.

      Dla wygody (częściej używamy małych liter), zostawiłem małe znaki pod odpowiednimi literami (choć logiczniej byłoby duże), a duże umieściłem na literach je poprzedzających (wygodniej dla programisty), wyjątkiem jest "Ó", które zostało umieszczone dalej z uwagi na literę "ń", która je poprzedza zajmując miejsce.

      Z kolei Input realizowany przez XIO ma tę przewagę nad standardowym Input'em, że w czasie wpisywania znaków program ma nad nimi kontrolę i może blokować te niepożądane. Określone znaki mogą też wywoływać bezpośrednio dodatkowe funkcje - tu menu, które w każdej chwili można wywołać naciskając "ESC". Menu również jest obsługiwane przez XIO, ale lepiej byłoby w tym przypadku użyć PEEK(764).

      Połączenie tych programów i monitorowanie komórek 649 (inverse) i 702 (caps) daje możliwość pisania polskimi znakami z "Control" przełączając się między małymi i dużymi literami przez naciśnięcie "Caps".



      Rozwiązałem to tak, że część liter jest "przykryta" standardowymi, a pozostałe 3 znaki są zastąpione "pustym" (duża kropka). Dla programisty pozostaje więc 10 znaków niedostępnych dla użytkownika do wykorzystania na logo, czy prostą grafikę np. gry.

      Ograniczeniem jest brak możliwości użycia Shift+Control, które blokują klawiaturę. Być może da się to obejść, ale i tak uważam, że pomysł jest ciekawy i można go zastosować np. do wpisywania imion graczy w grach, czego na Atari brakuje.

      Przesuwanie zestawu znaków można też osiągnąć przez modyfikację zawartości wymienionych komórek (niektóre wartości mogą zawiesić Atari, ale reset pomaga).

      Na marginesie: Przykład Input XIO jest podobny do niedawno zamieszczonego przeze mnie na AOL listingu Input z Bajtka, który jednak mnie nie satysfakcjonował.

      W załączniku program z mnóstwem zaremowanych linii, które były pomocne przy pisaniu działającej części. Np. aby zobaczyć położenie znaków wykonaj G.1000 .