Kołnierzyk FAQ.txt

(169 KB) Pobierz

           ===================>    Kolnierzyk    <===================

                              VIII 1998-VIII 2002l

                               koln@poczta.onet.pl

                  ===================>    <===================


        "It's nice to be important, but it's more important to be nice"
                                                                Scooter

    Witam :)

    Oto opis wynikow moich badan nad oprogramowaniem automatow. Tekst sklada
    sie z dwoch czesci:

    - czesc pierwsza zawiera opis oprogramowania plyty glownej niebieskiego
    Urmeta oraz skutkow wynikajacych z jego dzialania (lub nie :). Wszedzie,
    gdzie nie napisalem inaczej, opisana jest wersja 2.9. Dodalem pare infor-
    macji "sprzetowych".

    - czesc druga zawiera opis softu plyty glownej srebrnego Urmeta. Opis do-
    tyczy wersji 2.60 programu glownego i 2.06 programu bootujacego, jesli nie
    napisalem gdzies inaczej oczywiscie. Zaktualizowalem i poprawilem infor-
    macje zwiazane z kartami elektronicznymi. Gdy znajde troche czasu i checi,
    napisze tu cos na temat komunikacji automatu z centrum nadzoru i jeszcze
    pare innych ciekawych rzeczy... :) Odwleka sie to i odwleka, ale kiedys
    to w koncu napisze :)

    Uzycie wiadomosci tu zawartych jak zwykle na wlasna odpowiedzialnosc.
    Najnowszej wersji tego tekstu, o ile beda nowsze wersje, nalezy szukac
    na stronie Hrabiego: http://phreak.hack.pl (nowy adres dawnego phreak.
    zone.to). Gwiazdki na marginesie oznaczaja uaktualnienia wzgledem pop-
    rzedniej wersji. I jeszcze jedno: przed ewentualnym napisaniem do mnie
    maila prosilbym o zapoznanie sie z ostatnim rozdzialem tego tekstu.

    SPIS TRESCI:
    CZESC I - Urmet niebieski TSP 91
      N1. WSTEP
      N2. OGOLNA BUDOWA PROGRAMU
 *    N3. PRZERWANIA
 *    N4. REJESTRY UKLADOW PERYFERYJNYCH
      N5. KARTY ZWYKLE
      N6. TABLICE KART
      N7. PRZYPOMNIENIE MENU GLOWNEGO AUTOMATU
      N8. KARTY SERWISOWE
      N9. KARTY SERWISOWE W WERSJI 5.8
      N10.KARTY SERWISOWE W WERSJI 3.0
      N11.INNA (NIZ HRABIEGO) METODA DZWONIENIA Z KART SERWISOWYCH
      N12.DIAGNOSTIC MENU - KODY DIAGNOSTYCZNE
      N13.POWODY ZGLOSZENIA DO CENTRUM NADZORU (C90)
      N14.PROGRAMOWANIE WARTOSCI DOMYSLNYCH W EEPROM
      N15.TARYFIKACJA
      N16.KOMUNIKACJA Z MODULEM CZYTNIKA
      N17.JAK ZROBIC NIEKASOWALNA KARTE
 *    N18.KOMUNIKACJA Z CENTRUM NADZORU (C90)
      N19.SPOSOB NA UNIEMOZLIWIENIE KOMUNIKACJI Z CENTRUM NADZORU
 *    N20.SPECIAL TEST MODE
      N21.BUFORY KLAWIATURY
      N22.INNE (NIZ 2.9) WERSJE OPROGRAMOWANIA
      N23.NOWY CZYTNIK I OPROGRAMOWANIE DO NIEGO (3.0?)
      N24.NAPISY
      N25.INSTRUKCJA WYMIANY EPROMU
      N26.ZAKLOCANIE AUTOMATU TELEFONEM KOMORKOWYM
      N27.DOSWIADCZENIE
      N28.PODSUMOWANIE
    CZESC II - Urmet srebrny TPE 97/U
      S1. WSTEP
      S2. OGOLNA BUDOWA PROGRAMU
      S3. WYJATKI
      S4. REJESTRY UKLADOW PERYFERYJNYCH
      S5. KODY KLAWIATURY
      S6. PAMIECI ZNAMIONOWE (BOLLINO) I METRYCZKA APARATU
 *    S7. KARTY ZWYKLE
 *    S8. ALGORYTM ROZPOZNAWANIA RODZAJU KARTY ELEKTRONICZNEJ
      S9. LISTY KART
 *    S10.ZABEZPIECZENIA KART ZWYKLYCH
      S11.KARTY KREDYTOWE
      S12.MENU GLOWNE AUTOMATU
 *    S13.KODY ALARMOW
      S14.MENU AUTOTEST
 *    S15.KARTY SERWISOWE
 *    S16.ZABEZPIECZENIA KART SERWISOWYCH
 *    S17.PRZYCISK "TEST"
 *    S18.FORMAT DANYCH KART ELEKTRONICZNYCH
      S19.PRYWATNE STG :)
      S20.INNE (NIZ 2.60) WERSJE OPROGRAMOWANIA
    WSPOLNE
      W1. GDY TPSA MA PODEJRZENIA
 *    W2. LINKI
 *    W3. ZAKONCZENIE




============ CZESC I - Urmet niebieski TSP 91 ================================

N1. WSTEP
    Tak wiec zaczelo sie w sierpniu 1998, gdy Hrabia opublikowal programy
    Urmeta i powstal Shroom FAQ, z ktorego zaczerpnalem podstawowe wiadomosci.
    Na poczatek musialem sobie napisac deasembler, bo w sieci nie znalazlem
    odpowiedniego (Uwaga! Najlepszy deasembler to IDA - The Interactive
    Disassembler, jest do sciagniecia z phreak.hack.pl). Potem sciagnalem
    jeszcze jakis symulator, nie najlepszy zreszta. Zamowilem sobie tez
    ksiazke o 68HC11. Kod zrodlowy po zdeassemblowaniu mial przy zalozonym
    przeze mnie formacie zapisu okolo 430 kB. Teraz, z komentarzami, ma ponad
    890 kB... Linii samego kodu, czyli instrukcji, jest 12164. Przedstawione
    ponizej wyniki to rezultaty analizy samego programu, a nie doswiadczen
    w praktyce na automacie, chyba ze napisalem inaczej. Prawdopodobnie znaj-
    da sie czasem jakies pomylki lub niescislosci, ale absolutnie bezbledne
    przeanalizowanie od podstaw takiej ilosci kodu jest raczej niemozliwe.
    Dlatego jesli ktos ma pelniejsze/dokladniejsze informacje na opisane
    tu tematy, chetnie umieszcze uaktualnienie.

N2. OGOLNA BUDOWA PROGRAMU
    Program zbudowany jest dosc sprytnie, tak ze daje sie latwo konfigurowac.
    Na poczatku kodu programu, przed napisami, znajduja sie rozne tablice
    i dane konfiguracyjne. Tak wiec zmiana jednego bajtu moze mocno zmienic
    dzialanie programu. Poza tym calosc oparta jest na przerwaniach. Komuni-
    kacja z czytnikiem, klawiatura, wyswietlaczem oparte sa na przerwaniach
    zegarowych. Rowniez na przerwaniach oparta jest taryfikacja. W zwiazku
    z tym glowny program ustawia tylko pewne zmienne, ktore odczytywane sa
    okresowo przez odpowiednie przerwania zegarowe, odpowiedzialne za obsluge
    jakiegos podzespolu automatu. Na przyklad glowny program ustawia w odpo-
    wiedniej zmiennej numer napisu do wyswietlenia, zmienna ta co jakis czas
    jest odczytywana przez procedure obslugi przerwania, a odpowiadajacy war-
    tosci tej zmiennej napis jest wyswietlany na LCD.

N3. PRZERWANIA
 *  Ponizej umiescilem krotki wykaz przerwan uzywanych przez oprogramowanie.
 *  Pozostale, ktorych tutaj nie wymienilem, maja puste procedury obslugi
 *  (co oznacza brak reakcji na wystapienie przerwania). Na poczatku wiersza
 *  znajduje sie adres wektora przerwania, nastepnie adres procedury obslugi
 *  wskazywany przez ten wektor (w nawiasach kwadratowych), dalej jest an-
 *  gielska nazwa przerwania, a na koncu napisalem do czego przerwanie jest
 *  uzywane.
 *
 *  Dla trybu pracy procesora "Normal Expanded Mode" (w tym trybie zwykle
 *  procesor pracuje) tabela wektorow znajduje sie pod adresami z zakresu
 *  0xFFD6..0xFFFF:
 *
 *    0xFFDA: [0xBF24] - Pulse Accumulator Input Edge  - Obsluga taryfikacji
 *                                                       50 Hz
 *
 *    0xFFE2: [0xB800] - Timer Output Compare 4 (TOC4) - Obsluga komunikacji
 *                                                       z czytnikiem
 *
 *    0xFFE6: [0xC908] - Timer Output Compare 2 (TOC2) - Sprawdzanie pradu
 *                                                       linii, obsluga tary-
 *                                                       fikacji i polaczen,
 *                                                       zarzadzanie czytni-
 *                                                       kiem i stanem karty
 *
 *    0xFFE8: [0xBCD9] - Timer Output Compare 1 (TOC1) - Obsluga taryfikacji
 *                                                       16 kHz i klawiatury
 *
 *    0xFFEA: [0xBA99] - Timer Input Capture 3 (TIC3)  - Obsluga komunikacji
 *                                                       z czytnikiem
 *
 *    0xFFEC: [0xBED1] - Timer Input Capture 2 (TIC2)  - Obsluga DTMF-u
 *
 *    0xFFEE: [0xBF16] - Timer Input Capture 1 (TIC1)  - Pomocnicza obsluga
 *                                                       taryfikacji 16 kHz
 *
 *    0xFFF8: [0xD44F] - Illegal Opcode Trap           - Bledna instrukcja
 *
 *    0xFFFA: [0xC000] - COP Watchdog Time-Out         - Przepelnienie licz-
 *                                                       nika bezpieczenstwa
 *
 *    0xFFFC: [0xC000] - COP Clock Monitor Fail        - Zatrzymanie taktowa-
 *                                                       nia procesora
 *
 *    0xFFFE: [0xC000] - Reset                         - Reset - procesor wy-
 *                                                       chodzi ze stanu us-
 *                                                       pienia po podniesie-
 *                                                       niu sluchawki, otrzy-
 *                                                       maniu rozmowy przy-
 *                                                       chodzacej, takze ok-
 *                                                       resowo co jakis czas
 *
 *  Dla trybu pracy procesora "Special Test Mode" (patrz rozdzial "Special
 *  Test Mode") tabela wektorow znajduje sie pod adresami z zakresu
 *  0xBFD6..0xBFFF:
 *
 *    0xBFD6..0xBFFE: [0xAA7E] - wszystkie przerwania  - Programowanie re-
 *                                                       jestru CONFIG
 *
N4. REJESTRY UKLADOW PERYFERYJNYCH
 *  Ponizej zamiescilem odwzorowanie rejestrow ukladow peryferyjnych w przes-
 *  trzen adresowa mikrokontrolera niebieskiego automatu (brzmi strasznie ;)).
 *  Po dokladniejsze informacje na temat rejestrow i ukladow peryferyjnych
 *  odsylam do danych producenta (M68HC11 Reference Manual - powinien byc na
 *  phreak.hack.pl). Na poczatku znajduje sie adres, pod jakim widoczny jest
 *  rejestr, nastepnie jest nazwa rejestru, a na koncu umiescilem angielskie
 *  rozwiniecie nazwy rejestru.
 *
 *    0x1000:     Rejestr PORTA   - Port A Register
 *    0x1001:     -
 *    0x1002:     Rejestr PIOC    - Parallel I/O Control Register
 *    0x1003:     Rejestr PORTC   - Port C Register
 *    0x1004:     Rejestr PORTB   - Port B Register
 *    0x1005:     Rejestr PORTCL  - Port C Latch Register
 *    0x1006:     -
 *    0x1007:     Rejestr DDRC    - Data Direction for Port C Register
 *    0x1008:...
Zgłoś jeśli naruszono regulamin