@database ATC
@master atc.guide
@$VER: 0.4
@author "Piotr Gapiïski (narg@irc.pl)"
@(c) "(c)1997 by Piotr Gapiïski"
@index HeddleyAutoIndex
@remark Created with Heddley v1.1 (c) Edd Dumbill 1994

@node "Main" "AMIGA teleCards"
@next "Features"

    @{b}atc - AMIGA teleCards Reader@{ub}
    @{b}@{u}(c)1997 by Piotr Gapiïski (narg@irc.pl)@{ub}@{uu}


    ATC JEST PROGRAMEM @{"CARDWARE" link "Ware" 0}!
    WERSJA BETA DO TESTOWANIA!
    @{"AUTOR" link "Author" 0} NIE PONOSI ODPOWIEDZIALNOÔCI ZA EWENTUALNE STRATY SPOWODOWANE
    UÛYTKOWANIEM PROGRAMU!



    @{b}@{u}Spis treôci:@{ub}@{uu}

     @{"Krótko o programie    " link "Features" 0}      nawet bardzo krótko...
     @{"Wstëp                 " link "Intro" 0}      tîo historyczne
     @{"Instalacja, hardware  " link "Instalation" 0}      instalacja, wymagania programu, hardware
     @{"Uruchomienie          " link "Running" 0}      start programu
     @{"Praca z programem     " link "Using" 0}      jak nie zepsuê komputera
     @{"Karty telefoniczne    " link "teleCards" 0}      co to jest?


     @{"O autorze programu    " link "Author" 0}      jak skontaktowaê sië z autorem programu
     @{"Informacje o programie" link "ProgramVersion" 0}      co nowego, zmienionego, poprawionego
     @{"Indeks                " link "HeddleyAutoIndex" 0}      gdy czegoô szukasz...



   @{b}@{u}UWAGA!@{ub}@{uu}
   Najnowszâ wersjë programu moûna znaleúê pod adresem
   http://www.ely.pg.gda.pl/~kolo8/atc.html

   Prawa autorskie do programu ATC jak i do tej dokumentacji naleûâ do
   (c)1997 by @{"Piotr Gapiïski" link "Author" 0}
@endnode

@node "Features" "Krótko o zaletach"
@next "Intro"
@prev "Main"

  @{b}@{u}KRÓTKO O PROGRAMIE.@{ub}@{uu}

    - @{b}jest (byî i bëdzie) programem CARDWARE!!!@{ub}
      ale prawa autorskie naleûâ do mnie :)
      (c)1997, @{"Piotr Gapiïski" link "Author" 0}

    - @{b}sîuûy do odczytywania elektronicznych kart telefonicznych@{ub}
      rozpoznaje @{"karty" link "teleCards" 0} z (prawie) caîej Europy! (czyli obsîuguje karty @{"256bitowe" link "tc_256bit" 0}
      oraz @{"128bitowe" link "tc_128bit" 0})
      czyû nie jest to piëkne? bierzesz pierwszâ-lepszâ kartë a program mówi Ci
      z jakiego jest ona païstwa, ile jednostek pozostaîo i na dodatek wyôwietli
      mapë pamiëci karty!

    - @{b}wyôwietlane przez program dane (mapa pamiëci karty) moûna zapisaê do pliku@{ub}
      oczywiôcie chodzi tu o zapisywanie do pliku tekstowego w celu np. póúniejszej
      analizy danych

    - @{b}obsîuguje karty przez port równolegîy (wewnëtrzy, UNIT 0)@{ub}
      podczas @{"uruchamiania" link "Running" 0} programu moûna zdecydowaê czy port ma zostaê przydzielony
      @{"wyîâcznie" link "tt_exclusive" 0} programowi czy teû dostëp do niego ma byê wspóîdzielony z innymi
      programami
      @{"podîâczenie karty do komputera" link "Instalation" 26}

    - @{b}peîna lokalizacja programu@{ub}
      obecnie gotowe sâ jedynie katalogi jëzyka angielskiego i niemieckiego
      (obydwa sâ @{"mojego" link "Author" 0} autorstwa wiëc nadajâ sie raczej tylko do poprawki...)
      program posiada wbudowane komunikaty w jëzyku polskim

    - @{b}GUI programu dopasowujâce sië automatycznie do czcionki ekranowej@{ub}
      dziëki czemu program bëdzie zawsze wyglâdaî îadnie :)
      (czcionkë ekranowâ moûna zmieniê w preferencjach systemu)

    - @{b}napisany w jëzyku AmigaE@{ub}
      to wîaônie dlatego plik wykonywalny jest "troche" duûy, ale moûna powiedzieê,
      ûe pisaîo sië caîkiem îatwo, przyjemnie i nawet szybko...

    - @{b}napisany w technice OOP@{ub}
      zapewnia to (a przynajmniej powinno zapewniaê :) îatwoôê rozbudowy,
      konserwacji programu i takie tam...
      (no, wiesz... metody publiczne, prywatne, ukrywanie danych...)

    - @{b}wykorzystuje bibliotekë REQTOOLS do tworzenia requesterów@{ub}
      w zasadzie, na poczâtku byîa uûywana biblioteka ASL, ale po dyskusji na
      liôcie dyskusyjnej AmigaPL zostaîa zastâpiona przez REQTOOLS
      dlaczego?
      jest prosta w uûyciu, szybka i pozwala tworzyê nie tylko file/font/screen
      requestery...

    - @{b}itd.@{ub}
      sprawdú sam(a)
@endnode

@node "Intro" "Wstëp"
@next "Instalation"
@prev "Features"

  @{b}@{u}WSTËP.@{ub}@{uu}

  Program @{b}AMIGA teleCards Reader@{ub} (ATC) to program umoûliwiajâcy odczytywanie danych
  z @{"elektronicznych kart telefonicznych" link "teleCards" 0}.

  Pomysî uûycia komputera do wglâdu w zawartoôê pamiëci kart telefonicznych nie
  jest nowy. Juû w 1993 roku @{b}Stephane BAUSSON@{ub} @{fg shine}(sbausson@ensem.u-nancy.fr)@{fg text} umieôciî w
  Internecie artykuî pod tytuîem
     @{b}"What you need to know about electronics telecards"@{ub}
     (co potrzebujesz wiedzieê o elektronicznych kartach telefonicznych)
  traktujâcy o sposobach odczytu (i zapisu) danych z kart telefonicznych i zawierajâcy
  dodatkowo program w Turbo Pascalu ilustrujâcy te informacje.

  Pierwszâ znanâ mi osobâ, która zainteresowaîa sië kartami telefonicznymi byî
  @{b}Michaî Szymaïski@{ub} @{fg shine}(mszym@ely.pg.gda.pl)@{fg text}, który bazujâc na powyûszym artykule
  napisaî wîasny program odczytujâcy dane z kart francuskich (upraszczajâc przy okazji
  konstrukcjë niezbëdnego hardware do minimum - podîâczajâc kartë bezpoôrednio do
  portu równolegîego komputera).

  Ja zaczâîem wykazywaê zainteresowanie tym tematem dopiero wtedy gdy znalazîem sië
  w posiadaniu niemieckich kart telefonicznych.
  "Przecieû to niezîa zabawa" - pomyôlaîem - moûna takich kart uûywaê do np.
  zabezpieczania programów.
  Potem byîo programowanie (îatwo, szybko i nie-tak-przyjemnie).
  Najtrudniejszâ sprawâ w caîej zabawie byîo podîâczenie karty do portu komputera.
  Najlepiej gdyby sië miaîo specjalny chwytak do kart (podobno kosztuje 12DM) bo
  lutowanie kabelków do koïcówek karty nie zawsze jest opîacalne (szczególnie gdy
  karta kosztowaîa 12DM i jest prawie peîna)...
  Po dwóch dniach testów programu "na sucho" (za pomocâ oscyloskopu) zdecydowaîem,
  ûe kabelki portu równolegîego przylutujë do podstawki ukîadu scalonego, którâ
  bëdë przyciskaî do karty.
  Nawet sië udaîo ale najwiëksze zaskoczenie byîo wtedy gdy program od razu zaczâî
  poprawnie dziaîaê i bez przeszkód odczytaî zawartoôê karty (niemieckiej).
  Potem byîy jeszcze kosmetyczne poprawki (kîopoty z wyôwietlaniem poprawnej iloôci
  jednostek) i to w zasadzie wszystko.
  Program nie byî na razie @{"testowany" link "Amiga" 0} z innymi kartami wiëc nie mów mi, ûe jest do
  niczego jeûeli np. stwierdzi, ûe na karcie jest 1287553 jednostek, OK?
  W koïcu to tylko wersja @{b}BETA!@{ub}

  @{b}Teraz trochë technicznych uwag (w koïcu i tak nikt nie czyta wstëpów)@{ub}
    Jak juû wspominaîem program zostaî napisany w jëzyku AmigaE dziëki czemu pisaîo
  sië go faktycznie fajnie, szybko i cacy ale plik wynikowy jest trochë duûy.
  Moûna teû mieê parë uwag co do jakoôci generowanego kodu ale to temat na innâ
  bajkë (w koïcu komputery sâ coraz szybsze :).
  Kîopoty byîy takûe i z portem równolegîym a wîaôciwie to z odczytem/zapisem do/z
  portu.
  Najpierw, w przypîywie szaleïstwa i chëci napisania programu @{u}very system friendly@{uu},
  postanowiîem, ûe port bëdë obsîugiwaî przez parallel.device.
  Pierwsze próby (na sucho oczywiôcie) wypadîy nawet pozytywnie ale po co sië
  mëczyê skoro moûna obsîugiwaê port bezpoôrednio przez hardware?
  Stanëîo na tym, ûe program w sposób grzeczny sprawdza czy port jest wolny,
  a potem uûywa hardware (coô jak tryb SHARED pracy parallel.device).
  Od caîkiem niedawna moûna przy @{"uruchomieniu" link "Running" 0} programu zdecydowaê czy port ma byê
  przydzielony w trybie @{"EXCLUSIVE" link "tt_exclusive" 0} (na zasadzie wyîâcznoôci) czy teû nie.
  Kolejnym problemem byîy timingi sygnaîów, które naleûy zachowaê by karta zostaîa
  odczytana prawidîowo. W dokumentacji, Stephane BAUSSON zaznaczyî, ûe w zasadzie
  wszystko co wolniejsze od 50us bëdzie OK - ja ustawiîem opóúnienie na 100us - tak
  dla pewnoôci :)
  To chyba wszystko.
  Na wszelki wypadek (jakbym tego nie mówiî wczeôniej) dodam, ûe najlepiej nie
  uûywaê programu do obsîugi innego sprzëtu niû karty telefoniczne.
  Twierdzenie odwrotne jest prawdziwe - nie odczytuj kart telefonicznych programem
  do obsîugi np. samplera :)

  @{b}Plany na przyszîoôê@{ub}
    Najwaûniejesze na razie to przetestowaê program z innymi kartami (co moûe trochë
  potrwaê bo jak juû mówiîem mam dostëp jedynie do kart niemieckich).
  Jeûeli masz parë kart telefonicznych (obojëtnie z jakiego païstwa) a nie masz
  ochoty testowaê ich samodzielnie to plizzzz, przeôlij je do @{"mnie" link "Author" 0}, OK?
  Kolejnym krokiem w doskonaleniu programu bëdzie chyba wyposaûenie go w moûliwoôê
  zapisywania danych (bitów) na kartë.
  Odpowiednie procedury juû istniejâ...
  Oczywiôcie wszelkie (sensowne) pomysîy sâ mile widziane :)


  Miîej zabawy.
  @{b}Piotr Gapiïski@{ub} @{fg shine}(narg@irc.pl)@{fg text}
@endnode

@node "Instalation" "Instalacja, hardware"
@next "Running"
@prev "Intro"

  @{b}Zanim zainstalujesz program...@{ub}

  @{b}@{u}WYMAGANIA:@{ub}@{uu}

    - @{fg shine}komputer Amiga@{fg text} :)
    - system operacyjny 2.04+ (v37+)
    - "trochë" wolnej pamiëci
    - biblioteki
      @{fg shine}reqtools.library v38+@{fg text}
      @{b}(biblioteki sâ doîâczone do archiwum)@{ub}



  @{b}@{u}INSTALACJA:@{ub}@{uu}

  Instalacja programu nie moûe byê juû prostsza...
  Wystarczy rozpakowaê archiwum (zostanie utworzony katalog @{fg shine}atc@{fg text}), skopiowaê
  biblioteki z podkatalogu 'atc/Libs' do LIBS: i... to wszystko!
  Jeûeli ktoô sië uprze (a ma system operacyjny v2.1+) to moûe skopiowaê odpowiedni
  katalog z wersjâ jëzykowâ z 'atc/Catalogs' do LOCALE:Catalogs. Nie jest to jednak
  konieczne bo system i tak znajdzie odpowiednie pliki.
  @{b}Program posiada wbudowane komunikaty w jëzyku polskim.@{ub}



  @{b}@{u}PODÎÂCZANIE KART TELEFONICZNYCH:@{ub}@{uu}

  Obsîuga kart odbywa sië przez @{b}WEWNËTRZNY port równolegîy@{ub} (UNIT 0).
  Schemat poîâczeï:

     @{b}karta telefoniczna@{ub}
    +-------------+-------------+  Pinout:       (n.c. : not connected)
    |   1         |         5   |  -------
    |             |             |
    +-------|     |     /-------+  1 : Vcc(5V)   5 : Gnd      karta 128bitowa
    |   2    +----+    +    6   |  2 : Reset     6 : n.c.
    |        |         |        |  3 : Clock     7 : I/O
    +--------|         |--------+  4 : n.c.      8 : n.c.
    |   3    |         |    7   |
    |        +----+----+        |  1 : Vcc(5V)   5 : Gnd      karta 256bitowa
    +-------/     |     |-------+  2 : R/W       6 : Vpp(21V)
    |   4         |         8   |  3 : Clock     7 : I/O
    |             |             |  4 : Reset     8 : Fuse
    +-------------+-------------+
    sygnaîy RESET i CLOCK w kartach majâ róûne piny!


      @{b}tablica przejôê sygnaîów@{ub}
    +----------------------+------------------------------------------------
    |   port równolegîy    |       elektroniczne karty telefoniczne
    |   AMIGI              |       256 i 128 bitowe
    |----------------------+------------------------------------
    |
    |  BUSY  @{fg shine}(11)@{fg text}      @{b}.........@{ub}    @{fg shine}(7)@{fg text}
    |    D0   @{fg shine}(2)@{fg text}      @{b}.........@{ub}    @{fg shine}(2)@{fg text}
    |    D1   @{fg shine}(3)@{fg text}      @{b}.........@{ub}    @{fg shine}(3)@{fg text}
    |    D2   @{fg shine}(4)@{fg text}      @{b}.........@{ub}    @{fg shine}(4)@{fg text}
    |   VCC  @{fg shine}(14)@{fg text}      @{b}.........@{ub}    @{fg shine}(1)@{fg text}
    |   GND  @{fg shine}(18)@{fg text}      @{b}.........@{ub}    @{fg shine}(5)@{fg text}
    |
    +-----------------------------------------


  @{b}UWAGA!@{ub}
    Podîâczajâc karty telefoniczne do komputerów @{b}AMIGA 1000@{ub} naleûy zwróciê uwagë
    na @{b}INNE@{ub} numery wykorzystywanych linii portu równolegîego.
    Numery podane na schemacie powyûej odnoszâ sië do pozostaîych modeli komputera
    AMIGA.
@endnode

@node "Running" "Uruchomienie programu"
@next "Using"
@prev "Instalation"

  @{b}@{u}URUCHOMIENIE.@{ub}@{uu}

  Program moûe zostaê uruchomiony zarówno spod WorkBench'a jak i CLI.

  @{b}WorkBench@{ub}:
    wystarczy kliknâê na ikonce programu
    dodatkowo, program akceptuje nastëpujâce parametry (tooltype)

    @{"TELECARD_128BIT" link "tt_telecard_128bit" 0}
    @{"EXCLUSIVE      " link "tt_exclusive" 0}
    @{"PUBSCREEN      " link "tt_pubscreen" 0} =<screen_name>

  @{b}CLI:@{ub}
    wzorzec wywoîania programu ma postaê
    atc @{"TELECARD_128BIT" link "tt_telecard_128bit" 0}/S,@{"EXCLUSIVE" link "tt_exclusive" 0}/S,@{"PUBSCREEN" link "tt_pubscreen" 0}/K

    @{b}na przykîad:@{ub}
    atc PUBSCREEN=DOPUS.1

    spowoduje uruchomienie programu, okienko otworzy sië na ekranie programu
    DirectoryOpus lub na eranie domyôlnym (WorkBench?) jeôli wymagany ekran
    nie istnieje.



  @{b}@{u}GDY PROGRAM SIË NIE URUCHAMIA.@{ub}@{uu}

  W przypadku wewnëtrznych bîëdów zostanie wyôwietlona informacja o przyczynie
  stanu wyjâtkowego zaczynajâca sië sîowami "@{b}Program caused exception:@{ub}".

  Moûliwe (znane) przyczyny:
    @{b}"RQT"@{ub}   -   brak biblioteki reqtools.library v38+
    @{b}"NEW"@{ub}   -   brak pamiëci

  W razie wystâpienia @{b}@{u}innych@{ub}@{uu} przyczyn proszë skontaktowaê sië @{"ze mna" link "Author" 0}.
@endnode

@node "tt_telecard_128bit" "TELECARD_128BIT"

  @{b}@{u}TELECARD_128BIT.@{ub}@{uu}

  Program bëdzie traktowaî podîâczonâ @{"kartë" link "teleCards" 0} jako @{"128bitowâ" link "tc_128bit" 0} zamiast
  (domyôlnie) jako @{"256bitowâ" link "tc_256bit" 0}.
  Po uruchomieniu programu typ karty moûna zmieniaê za pomocâ odpowiedniego gadûetu.
@endnode

@node "tt_exclusive" "EXCLUSIVE"

  @{b}@{u}EXCLUSIVE.@{ub}@{uu}

  @{"Port równolegîy" link "Instalation" 26} (uûywany do komunikacji z @{"kartâ telefonicznâ" link "teleCards" 0}) bëdzie przyznany
  programowi na @{b}wyîâcznoôê@{ub} (o ile jest aktualnie wolny).
  Inne programy korzystajâce z portu nie bëdâ miaîy do niego (portu) dostëpu.

  Domyôlnie dostëp jest przyznawany w trybie @{b}SHARED@{ub} to znaczy, ûe kaûdy program
  korzystajâcy z portu bëdzie miaî do nigo dostëp.
@endnode

@node "tt_pubscreen" "PUBSCREEN"

  @{b}@{u}PUBSCREEN.@{ub}@{uu}

  Wymusza otworzenie okienka programu na @{b}ekranie publicznym@{ub}, którego nazwa
  zostaîa przekazana jako parametr.
  Jeûeli ekran taki nie istnieje okienko otworzy sië na domyôlnym ekranie
  publicznym (najczëôciej jest nim @{b}WorkBench@{ub}).

  Domyôlnie program otwiera @{"okienko" link "Using" 0} na ekranie WorkBench'a.
@endnode

@node "Using" "Obsîuga programu"
@next "teleCards"
@prev "Running"

  @{b}@{u}OBSÎUGA PROGRAMU:@{ub}@{uu}

  Obsîuga programu, dziëki maîo skomplikowanemu GUI, jest bardzo prosta.
  Wystarczy wybraê ûâdany @{"typ karty" link "teleCards" 0} za pomocâ gadûetu CYCLE (o ile nie zrobiîo sië
  tego podczas @{"uruchamiania" link "Running" 0} programu) i wybraê opcjë "Odczyt karty".
  Jeûeli karta jest faktycznie zgodnego typu z wybranym, nie byîo zakîóceï przy
  odczycie i styki na karcie byîy czyste to dane powinny zostaê poprawnie odczytane
  i wyôwietlone.

  Istnieje oczywiôcie moûliwoôê zapisania do pliku tekstowego wyôwietlanych danych
  w celu np. ich póúniejszej analizy.

  @{b}Ogólnie moûna powiedzieê tak:
  najczëstszâ przyczynâ niepowodzenia przy odczytywaniu karty jest jej niezgodnoôê
  z wybranym typem
  jeûeli coô jest nie tak - zmieï typ karty.@{ub}
@endnode

@node "teleCards" "Elektroniczne karty telefoniczne"
@next "tc_256bit"
@prev "Using"

  @{b}@{u}ELEKTRONICZNE KATRY TELEFONICZNE.@{ub}@{uu}

  Jak na razie znane mi sâ tylko dwa rodzaje kart:

    @{"256 bitowe" link "tc_256bit" 0}  (obecnie najpopularniejsze w Europie)
    @{"128 bitowe" link "tc_128bit" 0}

  Karty to ogólnie mówiâc pamiëci @{"EPROM" link "EPROM" 0} (tak jak karty francuskie) lub @{"EEPROM" link "EEPROM" 0}
  (jak karty niemieckie) z wyjôciem szeregowym.
  Wykonane sâ najczëôciej w technologii NMOS,  czasem w technologii CMOS.

  @{"Jak podîâczyê kartë telefonicznâ do komputera" link "Instalation" 26}.


  @{b}UWAGA!@{ub}
  Numeracja bitów zamieszczona przy mapach pamiëci kart NIE MA NIC WSPÓLNEGO z
  wagami tych bitÓw! - sâ to po prostu numery porzâdkowe bitów w karcie.
@endnode

@node "tc_256bit" "Karty 256bitowe"
@next "tc_128bit"
@prev "teleCards"

  @{b}@{u}ELEKTRONICZNE KARTY TELEFONICZNE (256BITOWE).@{ub}@{uu}

  @{b}Karty te sâ uûywane w wiëkszoôci krajów Europy@{ub} (z wyjâtkiem Niemiec,
  Holandii i Grecji - w tych païstwach uûywa sië @{"kart 128 bitowych" link "tc_128bit" 0}). Wyjâtkiem jest
  takûe karta francuska, która mimo iû jest kartâ 256 bitowâ posiada odmienna mapë
  pamiëci.

  Algorytm zapisywania danych do karty umoûliwia jedynie ustawianie bitów na "1"
  (wypalanie).
  Poniewaû zuûyte jednostki na karcie sâ zaznaczane wîaônie jako bity "1" nie moûna
  podîadowywaê karty a jedynie uszczuplaê zapas jednostek!
  Moûna jednak @{b}NIE DOPUÔCIÊ@{ub} do zapisywania czegokolwiek (i przez kogokolwiek) na
  karcie blokujâc linie  @{"CARD_R/W" link "Instalation" 26} oraz @{"CARD_FUSE" link "Instalation" 26}.
  Jak to zrobiê? @{"Ja" link "Author" 0} nie wiem...



  @{b}@{u}MAPA PAMIËCI KART 256BITOWYCH.@{ub}@{uu}

  @{fg shine}Karty z Francji i Monako@{fg text}

   Bajty       Bity      Binarnie   Hex

                      +-----------+-----+
     1        1 -- 8  |           |     | --- kod producenta
                      +-----------+-----+
     2       9 -- 16  | 0000 0011 | $03 | --- karta francuska
                      | 0000 0100 | $04 |
                      | 0000 0101 | $05 |
                      +-----------+-----+
     3      17 -- 24  |           |     |
                      +-----------+-----+
     4      25 -- 32  |           |     |
                      +-----------+-----+
     5      33 -- 40  |           |     |
                      +-----------+-----+
     6      41 -- 48  |           |     |
                      +-----------+-----+
     7      49 -- 56  |           |     |
                      +-----------+-----+
     8      57 -- 64  |           |     |
                      +-----------+-----+
     9      65 -- 72  |           |     |
                      +-----------+-----+
    10      73 -- 80  |           |     |
                      +-----------+-----+
    11      81 -- 88  |           |     |
                      +-----------+-----+
    12      33 -- 40  | 0001 0011 | $13 | --- karta 120 jednostek
                      | 0000 0110 | $06 | ---        50 jednostek
                      | 0000 0101 | $05 | ---        40 jednostek
                      +-----------+-----+
    13-31  97 -- 248  |           |     | --- obszar zuûytych impulsów
                      |           |     |     kaûdy zuûyty impuls jest
                      |           |     |     ustawiany na "1"
                      |           |     |     dodatkowe 10 bitów jest ustawione
                      |           |     |     na "1" podczas testów u producenta
                      |           |     |
                      |           |     |
                      +-----------+-----+
    32    249 -- 256  | 1111 1111 | $FF | --- karta jest pusta
                      +-----------+-----+



  @{fg shine}Karty z pozostaîych païstw@{fg text}

   Bajty       Bity      Binarnie   Hex

                      +-----------+-----+
     1        1 -- 8  |           |     |
                      +-----------+-----+
     2       9 -- 16  | 1000 0011 | $83 | --- karta telefoniczna
                      +-----------+-----+-----------+-----+
   3-4      17 -- 32  | 1000 0000 | $80 | 0001 0010 | $12 | --- 10  jednostek
                      |           |     | 0010 0100 | $24 | --- 22  jednostek
                      |           |     | 0010 0111 | $27 | --- 25  jednostek
                      |           |     | 0011 0010 | $32 | --- 30  jednostek
                      |           |     | 0101 0010 | $52 | --- 50  jednostek
                      |           |     | 0110 0010 | $62 | --- 60  jednostek
                      |           |     | 1000 0010 | $82 | --- 80  jednostek
                      | 1000 0001 | $81 | 0000 0010 | $02 | --- 100 jednostek
                      |           |     | 0010 0010 | $22 | --- 120 jednostek
                      |           |     | 0101 0010 | $52 | --- 150 jednostek
                      +-----------+-----+-----------+-----+
     5      33 -- 40  |           |     | --- $00 dla kart szweckich
                      +-----------+-----+
     6      41 -- 48  |           |     |
                      +-----------+-----+
     7      49 -- 56  |           |     |
                      +-----------+-----+
     8      57 -- 64  |           |     |
                      +-----------+-----+
     9      65 -- 72  |           |     |
                      +-----------+-----+
    10      73 -- 80  |           |     |
                      +-----------+-----+
    11      81 -- 88  |           |     | --- $11 dla kart szweckich
                      +-----------+-----+
    12      89 -- 96  | 0001 1110 | $1E | --- Szwecja
                      | 0010 0010 | $22 | --- Hiszpania
                      | 0011 0000 | $30 | --- Norwegia
                      | 0011 0011 | $33 | --- Andorra
                      | 0011 1100 | $3C | --- Irlandia
                      | 0100 0111 | $47 | --- Portugalia
                      | 0101 0101 | $55 | --- Czechy
                      | 0101 1111 | $5F | --- Gabon
                      | 0110 0101 | $65 | --- Finlandia
                      +-----------+-----+
    13-31  97 -- 248  |           |     | --- obszar jednostek
                      |           |     |     zuûyte jednostki sâ ustawiane na "1"
                      |           |     |
                      |           |     |     dwie pierwsze jednostki sâ ustawione
                      |           |     |     podczas testów u producenta
                      |           |     |
                      |           |     |
                      +-----------+-----+
    32    249 -- 256  | 0000 0000 | $00 |
                      +-----------+-----+
@endnode

@node "tc_128bit" "Karty 128bitowe"
@next "Author"
@prev "tc_256bit"

  @{b}@{u}ELEKTRONICZNE KARTY TELEFONICZNE (128BITOWE).@{ub}@{uu}

  Karty te, uûywane w @{fg shine}Niemczech@{fg text}, @{fg shine}Holandii@{fg text} i @{fg shine}Grecji@{fg text} zawierajâ 128 bitów pamiëci
  (technologia NMOS) przy czym:
  o  64 bity (@{"EPROM" link "eprom" 0}) sâ zabezpieczone przez zapisem (zawierajâ dane o producencie)
  o  40 bity (@{"EEPROM" link "eeprom" 0}) programowalne (zawierajâ miëdzy innymi informacjë o iloôci
     jednostek na karcie)
  o  24 bity ustawione fabrycznie na "1"

  Od razu trzeba sobie powiedzieê, ûe o ile w przypadku @{"kart 256 bitowych" link "tc_256bit" 0} moûna
  jeszcze myôleê o "podîadowywaniu" kart to w przypadku 128 bitowych moûna juû
  sobie odpuôciê.
  Algorytm zapisywania umoûliwia jedynie zapisanie "0" do dowolnego bitu z przestrzeni
  bitowej 65-128. Oznacza to, ûe moûna jedynie @{b}ZMNIEJSZYÊ@{ub} licznik jednostek na
  karcie...
  @{b}Coû - ûycie jest brutalne..@{ub}.



  @{b}@{u}MAPA PAMIËCI KART 128 BITOWYCH.@{ub}@{uu}

   Bajt       Bity      Binarnie    Hex

                      +-----------+-----+
    1       1 --   8  |           |     |
                      +-----------+-----+
    2       9 --  16  | 0010 1111 | $2F | --- Niemcy
                      | 0011 0111 | $37 | --- Holandia
                      | 0011 1011 | $3B | --- Grecja
                      +-----------+-----+
    3      17 --  24  |           |     |
    4      25 --  32  |           |     | --- zabezpieczone przed zapisem
    5      33 --  40  |           |     | --- pole producenta
    6      41 --  48  |           |     |
    7      49 --  56  |           |     |
    8      57 --  64  |           |     |
                      +-----------+-----+
    9      65 --  72  |           |     | --- zakodowany
   10      73 --  80  |           |     | --- ósemkowo licznik
   11      81 --  88  |           |     | --- jednostek na karcie
   12      89 --  96  |           |     | ---
   13      97 -- 104  |           |     | ---
                      +-----------+-----+
   14     105 -- 112  | 1111 1111 | $FF |
   15     113 -- 120  | 1111 1111 | $FF | --- ustawione fabrycznie na "1"
   16     120 -- 128  | 1111 1111 | $FF |
                      +-----------+-----+
@endnode

@node "Author" "O autorze programu..."
@next "ProgramVersion"
@prev "tc_128bit"

  @{b}@{u}O AUTORZE PROGRAMU.@{ub}@{uu}

  Mam nadziejë, ûe program jest OK...
  Wiem, wiem - na pewno sâ jeszcze w nim bîëdy i niedopatrzenia, moûna jeszcze
  wiele poprawiê.
  Jeûeli masz propozycje jak usprawniê program, prosze skontaktuj sië ze mnâ
  podajâc jak najwiëcej @{b}PRECYZYJNYCH@{ub} informacji.

  @{b}@{u}e-mail:@{ub}@{uu}
    @{fg shine}narg@irc.pl@{fg text}            -- preferowany --
    @{fg shine}kolo8@ely.pg.gda.pl@{fg text}
    @{fg shine}pgapin@ely.pg.gda.pl@{fg text}
    @{b}(adresy waûne do koïca 1998 roku)@{ub}

  @{b}@{u}irc:@{ub}@{uu}
    @{fg shine}Narg@{fg text}
    @{b}(najczësciej na kanaîach #polonia, #amigapl, #polska)@{ub}

  @{b}@{u}s-mail:@{ub}@{uu}
    @{fg shine}Piotr Gapiïski
    ul. Stokowa 19
    11-041 Olsztyn
    Polska@{fg text}
    @{b}tel. +048 89 523-80-20@{ub}

  @{b}@{u}www:@{ub}@{uu}
    @{fg shine}http://www.ely.pg.gda.pl/~kolo8/atc.html@{fg text}
    @{b}(adres waûny do koïca 1998 roku)@{ub}



  @{b}@{u}PODZIËKOWANIA.@{ub}@{uu}

    @{b}Stephane BAUSSON@{ub} @{fg shine}<sbausson@ensem.u-nancy.fr>@{fg text}
      za stworzenie dokumentacji do elektronicznych kart telefonicznych

    @{b}Michaî Szymaïski@{ub} @{fg shine}<mszym@ely.pg.gda.pl>@{fg text}
      za dokumentacjë dotyczâcâ kart telefonicznych i za úródîówkë programu
      odczytujâcego karty francuskie (i z Monako)
@endnode

@node "ProgramVersion" "Informacje o programie"
/*
 *-- AutoRev header do NOT edit!!
 *
 *   Project         :   AMIGA teleCards reader
 *   File            :   atc.e
 *   Description     :   program odczytujâcy elektroniczne karty telefoniczne
 *   Copyright       :   ©1997, Piotr Gapiïski
 *   Author          :   Piotr Gapiïski
 *   Creation Date   :   08.09.97
 *   Current version :   v0.45
 *   Translator      :   AmigaE v3.2e
 *
 *   REVISION HISTORY
 *
 *   Podîâczenie karty do portu równolegîego
 *   (port wewnëtrzny, UNIT 0)
 *
 *    -------------+-------------   Pinout:       (n.c. : not connected)
 *   |   1         |         5   |  -------
 *   |             |             |
 *   +-------+     |     /-------+  1 : Vcc(5V)   5 : Gnd      TELECARD_128BIT
 *   |   2    +----+    +    6   |  2 : Reset     6 : n.c.
 *   |        |         |        |  3 : Clock     7 : I/O
 *   +--------|         |--------+  4 : n.c.      8 : n.c.
 *   |   3    |         |    7   |
 *   |        +----+----+        |  1 : Vcc(5V)   5 : Gnd      TELECARD_256BIT
 *   +-------/     |     |-------+  2 : R/W       6 : Vpp(21V)
 *   |   4         |         8   |  3 : Clock     7 : I/O
 *   |             |             |  4 : Reset     8 : Fuse
 *    -------------+-------------
 *
 *    PARALLEL_BUSY (11)    <----  (7)
 *    PARALLEL_D0   (2)     ---->  (2)
 *    PARALLEL_D1   (3)     ---->  (3)
 *    PARALLEL_D2   (4)     ---->  (4)
 *    PARALLEL_VCC  (14)    ---->  (1)
 *    PARALLEL_GND  (17/25) ---->  (5)
 *
 *
 *   v0.45 (08.09.97)
 *    o   software _TESTOWANY_ (z kartami niemieckimi i francuskimi)
 *    o   zmienione locale tak by dla kart 128 bitowych nie byî wyôwietlany
 *        typ karty (którego nie majâ zakodowanego) a dla kart niemieckich
 *        zwracane wartoôci byîy podawane w DM
 *
 *   v0.44 (06.09.97)
 *    o   software _TESTOWANY_ (z kartami niemieckimi i francuskimi)
 *    o   poprawnie rozpoznaje karty francuskie (identyfikatory $03,$04,$05)
 *
 *   v0.43 (04.09.97)
 *    o   software _TESTOWANY_ (tylko z niemieckâ kartâ)
 *    o   uproszczone GUI programu
 *        teraz program umoûliwia wybranie w danej chwili tylko tych gadûetów,
 *        których dziaîanie jest adekwatne do aktualnego stanu programu
 *        (np. zapisanie danych przed ich odczytem z karty nie jest moûliwe)
 *    o   zmienione (troszeczkë) locale
 *
 *   v0.42 (01.09.97)
 *    o   software _TESTOWANY_ (tylko z niemieckâ kartâ)
 *    o   nowa wersja moduîu teleCard
 *        ujednolicone wyprowadzenia sygnaîów (jednakowe dla obydwu rodzajów kart)
 *        zmieniona metoda teleCard.send() - jest teraz szybsza
 *        poprawione timmingi sygnaîow sterujâcych kartâ (domyôlnie okoîo 100us)
 *
 *   v0.4 (30.08.97)
 *    o   software _TESTOWANY_ (tylko z niemieckâ kartâ)
 *    o   karty 128 bitowe nie majâ zakodowanej nominalnej iloôci jednostek
 *        (zostanie wyôwietlone 0)
 *    o   gdy karta jest pusta zostanie wyôwietlony stosowny napis (a liczba
 *        jednostek nie zostanie pokazana)
 *    o   obsîuga tooltype
 *          TELECARD_128BIT     (typ karty TELECARD_128BIT)
 *          EXCLUSIVE           (wyîâcznoôê na port równolegîy)
 *          PUBSCREEN=<screen>  (nazwa ekranu publicznego do otworzenia na)
 *        cli template
 *          TELECARD_128BIT/S,EXCLUSIVE/S,PUBSCREEN/K
 *
 *   v0.3 (29.08.97)
 *    o   software _NIE_ testowany
 *    o   lokalizacja (atc.catalog)
 *    o   mapa pamiëci karty jest teraz wyôwietlana w postaci HEX i BIN
 *
 *   v0.2 (28.08.97)
 *    o   software _NIE_ testowany
 *    o   allokacja portu równolegîego w trybie SHARED (opcj. w trybie EXCLUSIVE)
 *        wykrywanie zajëtoôci portu
 *    o   moûliwoôê wyczyszczenia wyôwietlanych informacji o karcie (gadûet "C")
 *    o   nowy,poprawiony moduî 'teleCard'
 *        poprawione timmingi sygnaîow sterujâcych kartâ (domyôlnie okoîo 100us)
 *        poprawione metody country() i units z obiektu teleCard256
 *
 *   v0.1 (25.08.97)
 *    o   software _NIE_ testowany
 *    o   pierwsza wersja, bazuje na dokumentacji
 *        Stephane BAUSSON (sbuasson@u-nancy.fr) oraz programie M.Szymaïskiego
 *    o   program jest (raczej :) system friendly, odczyt przez port równolegîy
 *
 *
 *-- REV_END --*
 */
@endnode

@node "Amiga" "Mój komputer"

  Program powstawaî, byî testowany i jest uûywany na komputerze:

  @{b}AMIGA 1200 030/28MHz 2MC 8MF HD420M CDx4@{ub}
@endnode

@node "Ware" "CardWare"

  @{b}@{u}CARDWARE.@{ub}@{uu}

  Zasady sâ proste...
  Program Ci sië podoba, uûywasz go lub z innych (bliûej nie znanych) powodów
  nie chcesz go skasowaê - wysyîasz @{"autorowi" link "Author" 0} elektronicznâ kartë telefonicznâ
  (moûe byê peîna) lub pocztówkë :)
@endnode

@node "EPROM" "EPROM"

  @{b}@{u}PAMIËÊ TYPU EPROM.@{ub}@{uu}

  Pamiëê EPROM (ang. @{i}Erasable Programmable Read Only Memory@{ui}) jest pamiëciâ
  programowanâ elektrycznie.
  Uûytkownik sam moûe projektowaê wzór informacji jakâ chce zapisaê. Gdy ukîad
  posiada okienko ze szkîa kwarcowego, moûna takâ pamiëê kasowaê i programowaê
  ponownie.
  Kasowanie odbywa sië na ogóî przy pomocy ôwiatîa ultrafioletowego.
@endnode

@node "EEPROM" "EEPROM"

  @{b}@{u}PAMIËÊ TYPU EEPROM.@{ub}@{uu}

  Pamiëci EEPROM (ang. @{i}Electric Erasable Programmable Read Only Memory@{ui}) sâ ukîadami,
  które nie tylko sâ elektrycznie programowalne ale równieû elektrycznie kasowalne.
  Pod wzglëdem uûytkowym sâ podobne do pamiëci @{"EPROM" link "eprom" 0}.
  Z rególy moûliwe jest skasowanie caîej pamiëci lub tylko wybranego bitu (bajtu -
  w zaleûnoôci od organizacji pamiëci) po czym pamiëê moûe byê ponownie
  zaprogramowana za pomocâ podwyûszonego napiëcia programujâcego.
@endnode

@node HeddleyAutoIndex "Index"
@remark Index auto-generated by Heddley
Index of database ATC

Documents

@{"AMIGA teleCards" link "Main"}
@{"CardWare" link "Ware"}
@{"EEPROM" link "EEPROM"}
@{"Elektroniczne karty telefoniczne" link "teleCards"}
@{"EPROM" link "EPROM"}
@{"EXCLUSIVE" link "tt_exclusive"}
@{"Informacje o programie" link "ProgramVersion"}
@{"Instalacja, hardware" link "Instalation"}
@{"Karty 128bitowe" link "tc_128bit"}
@{"Karty 256bitowe" link "tc_256bit"}
@{"Krótko o zaletach" link "Features"}
@{"Mój komputer" link "Amiga"}
@{"O autorze programu..." link "Author"}
@{"Obsîuga programu" link "Using"}
@{"PUBSCREEN" link "tt_pubscreen"}
@{"TELECARD_128BIT" link "tt_telecard_128bit"}
@{"Uruchomienie programu" link "Running"}
@{"Wstëp" link "Intro"}

Buttons

@{"128 bitowe" link "tc_128bit" 0}
@{"128bitowâ" link "tc_128bit" 0}
@{"128bitowe" link "tc_128bit" 0}
@{"256 bitowe" link "tc_256bit" 0}
@{"256bitowâ" link "tc_256bit" 0}
@{"256bitowe" link "tc_256bit" 0}
@{"AUTOR" link "Author" 0}
@{"autorowi" link "Author" 0}
@{"CARDWARE" link "Ware" 0}
@{"CARD_FUSE" link "Instalation" 26}
@{"CARD_R/W" link "Instalation" 26}
@{"EEPROM" link "EEPROM" 0}
@{"elektronicznych kart telefonicznych" link "teleCards" 0}
@{"EPROM" link "EPROM" 0}
@{"EXCLUSIVE" link "tt_exclusive" 0}
@{"EXCLUSIVE      " link "tt_exclusive" 0}
@{"Indeks                " link "HeddleyAutoIndex" 0}
@{"Informacje o programie" link "ProgramVersion" 0}
@{"Instalacja, hardware  " link "Instalation" 0}
@{"Ja" link "Author" 0}
@{"Jak podîâczyê kartë telefonicznâ do komputera" link "Instalation" 26}
@{"kart 128 bitowych" link "tc_128bit" 0}
@{"kart 256 bitowych" link "tc_256bit" 0}
@{"kartâ telefonicznâ" link "teleCards" 0}
@{"kartë" link "teleCards" 0}
@{"karty" link "teleCards" 0}
@{"Karty telefoniczne    " link "teleCards" 0}
@{"Krótko o programie    " link "Features" 0}
@{"mnie" link "Author" 0}
@{"mojego" link "Author" 0}
@{"O autorze programu    " link "Author" 0}
@{"okienko" link "Using" 0}
@{"Piotr Gapiïski" link "Author" 0}
@{"podîâczenie karty do komputera" link "Instalation" 26}
@{"Port równolegîy" link "Instalation" 26}
@{"Praca z programem     " link "Using" 0}
@{"PUBSCREEN" link "tt_pubscreen" 0}
@{"PUBSCREEN      " link "tt_pubscreen" 0}
@{"TELECARD_128BIT" link "tt_telecard_128bit" 0}
@{"testowany" link "Amiga" 0}
@{"typ karty" link "teleCards" 0}
@{"uruchamiania" link "Running" 0}
@{"Uruchomienie          " link "Running" 0}
@{"uruchomieniu" link "Running" 0}
@{"Wstëp                 " link "Intro" 0}
@{"wyîâcznie" link "tt_exclusive" 0}
@{"ze mna" link "Author" 0}
@endnode
