Copy Link
Add to Bookmark
Report
N0RoUTE Issue 4 telecoms Telecartes (chapitre 2)
:----------------------------------------------------------------------:
| ---:--- :---- : :---- /--- /\ /---\ ---:--- :---- /--- |
| | |____ | |____ | / \ |___| | |____ \ |
| | | | | | /____\ | \ | | \ |
| | |____ |___ |____ \___ / \ | \ | |____ ___/ |
|______________________________________________________________________|
chapitre II ( eh voui ze revien ;o) )
par bLoRP
^^^^^
Salut amis de l'underground francais !!!!!!!!!!!
eh bein voala, bLoRp revient dans NOROUTE IV (eheh vive DsT!) vous embetter
avec ses telecartes, bon c'est vrai que mon dernier art etait poa top, mais
bon, avec toute les difficults qu'ya'eu ces derniers temps, c'est deja bien
que ca ai pu sortir ;o)
De toute facon, en gros c'etait comprehensible, et cette foa ci apres m'etre
bien pris la tete sur le pascal, j'vous propose un ptit prog d'emulation
assez sympa, mais j'vous previens tout de suite, je l'ai poa test :(:(:(:(
Alors, la vous allez m'dire ke c con de diffuser un prog k'on a pas teste,
eh bein la j'suis d'accord avec vous, mais le prob c ke j'ai pas de protable
(bein voui, j'retape alors mon papa et ma maman y zon pas voulu m'en offrir
un :( )
Ces considerations purement materielles derrieres nous, je dit kan meme que
j'ai verifi que les impulsion sur le port // etaient OK et ke tout marchais
a peu pres bien ( vous en avez de la chance hein !!) donc si vous avez un
portable mettez moa un ptit mail et on diskutera des resultat de ce magnifike
bidouillage !!.
1\ the principe of ze realisation:
---------------------------------
Le principe et classique, en fait on va se servir d'un contacteur en
plaque epoxy reli au port parralele d'un pc, sur cette plaque epoxy il y'
aura des pistes et des contacts comme sur une telecarte pour recuperer
les des signaux a la cabine. Le tout sera reli par un naple au pc, c'est
sur que c'est pas tres discret, mais bon de toute gacon y vous faudrat
forcement un portable pour vous amuser une fois que ce sera du 0.00frs/min ;o)
2\ quelques precisions sur les telecartes :
------------------------------------------
Bon j'en entend deja dire que j'radote et que j'ai deja racont pleins de
trucs sur le fonctionnement de ces bebetes dans le dernier numero de noroute,
et bein en fait y s'avere que certaines personne mon appeles pour me dire
qu'elle avaient rien a faire de la convention iso inversse et qu'elle aurait
prefer une petite explication toute simple sur le fonctionnement de la
carte:
Donc une telecarte ca sert a payer dans une cabine publique (ehehehe vous
etes impressionez la hein ???)
On peu acheter une telecartes dans les agences france telecoms ou dans les
byreau de tabacs: donc vous allez me dire qu'y'a poa besoin d'en faire des
fausses puiske on peut les avoir dans le commerce !!!!
----> et bien non vous avez tord, parcequ'il faut les ACHETER, alors vous
qui etes bein sur totalement anarchiste et contre le payment de koa ke soi,
vous vous dite et bein on va ecouter bLoRp qui va nous expliker comment en
faire une pour poa un rond !!!!!!!!
donc apres ces courtes mais o combien importantes explications, j'men vais
vous expliquer le cycle de lecture ecriture dans la memoire d'une telecarte,
en fait il est assez simple sur le principe, mais d'abord examinons le
brochage de la carte: (uniquement l'iso)
haut
/---------------------------------------------------------------------- - - -
( ^
|<------------------------------>: | distance b
| distance c : |
| : v
| +------------+-------+-------+------------+
| | | |
| | a (1) | e (5) |
| | | | broche:
| |____________ | ____________ |
| | \ | / | a: alim (ttl)
| | b (2) +-----+ | f (6) | b:
| | | | | c:
| |--------------| |--------------| d:
|<--------->| | | | e:
|distance d | c (3) |___________| g (7) | f:
| |_____________/ | \_____________| g:
| | | | h:
| | | |
| | d (4) | h (8) |
| | | |
| |____________________I____________________|
| ^
| |
| | distance a
| |
( |
\__________________________________________________v__________________ _ _ _
bas
Pour imiter les contacts, vous prenez pas la tete a reproduire le dessin des
contacts sur votre typon, vous faites justes 4 plots en cuivre: =1= =5=
=2= =6=
=3= =7=
=4= =8=
la position de ces plots est: ( en mm )
+-----------------+-------+-------+-------+-------+
| bornes\distance | A | B | C | D |
+-----------------+-------+-------+-------+-------+
| 1 | XX | 19 | XX | 10.25 |
| 2 | XX | 21.5 | XX | 10.25 |
| 3 | XX | 24 | XX | 10.25 |
| 4 | 24.97 | 27 | XX | 10.25 |
| 5 | XX | 19 | 17.87 | XX |
| 6 | XX | 21.5 | 17.97 | XX |
| 7 | XX | 27 | 17.97 | XX |
| 8 | 24.97 | XX | 17.97 | XX |
+-----------------+-------+-------+-------+-------+
Quellques specifications mecaniques: les bornes mettaliques doivent avoirs
au moins 2 sur 1.7 millimettres de long, sinon il y aura des problemes de
contacts, quand a la position des contacts, regardez le fichier .gif
fourni avec le mag, c'est le typon du du connecteur a mettre a la place de
la carte, si vous avez des problemes avec les nouvelles schlumberger a
cause des detecteurs de metaux, reliez le plans de masse sur le dessus du
CI a la carroserie de la cabine par ou a n'importe quel truc mettalique
qui trainera.
je vais maintenant detailler la maniere dont se passe la lecture et
l'ecriture dans la memoire de la carte, le chronogramme qui suis et un peu
rebarbatif a premiere vue, mais j'ai essaye de dettailler un petit peu comment
ca marchais en dessous et vous ne devriez poa avoir de probleme pour
comprendre comment ca marche. Ce diagramme est tire de l'artcile de SB " what
you need to know about electronics telecards", je l'ai detaill le plus
possible, mais bon y faut quelques lecture avant d'avoir tout pig :-) .
+21V _____________
+5V ____________________________________| |_________________ Vpp
: :
+5V ___________________:_____________:_________________ Reset
0V ________________| : :
: : :
+5V ____ : ____ : ______:______
0V ___| |_______:_____| |________:______| : |__________ Clock
: : : : : : : : :
+5V : : : : : :______:______: : _
0V ___:____:_______:_____:____:________| : |______:__________ R/W
: : : : : : : : :
+5V : : :_____: :________: : : :__________
0V indetermineindete_____indetr________indetermineindetermine__________ Out
: : : : : :<-----><---->: :
: : : : : :10 to 10 to :
: : : : : :50 ms 50ms :
Reset Bit 1 Bit2 Bit 3
card reading reading Bit2 writing to 1 reading
Bon en fait c'est assez simple, d'abord, la procedure de reset, le
reset a lieu lorsque la broche reset est mise a 0V, donc en temps normal,
cette broche doit se trouver a 5V, en fait, nous n'avons pas grand chose a
faire de cette broche, les reset sont tres rares et ils n'interviennent
presques jamais lors d'une utilisation normale, sauf a l'initialisation bien
sur.
Pour la broche clk (clock) c'est un peu plus compliqu, en fait c'est cette
broche qui sert a determiner quelle adresse dans la memoire de la telecarte
devra etre lue ou ecrite. Elle est associee a la broche R/W pour effectuer ce
travail. A chaque impulsion sur la broche clk, le pointeur d'adresse de la
telecarte sera increment a la fin de l'impultion (milieu du front descendant)
La broche R/W est celle dont le fonctionement est le moins evident, elle
sert en fait a empecher l'incrementation du compteur d'adresse par l'horloge
clk, c'est a dire que lorsque cette broche est a 5V, on sait que la cabine
effectue l'ecriture d'un bit. C'est le seule usage de cette broche, elle est
tout le temps activee en meme temps que vpp, ce qui n'est guere etonnant !
La broche vpp est elle la plus simple de toute, c'est par elle que sont
ammen les 21 Volts necessairent a l'ecriture d'un bit dans la memoire.
La broche i/o n'est elle aussi pas tres mysterieuse, c'est par elle que la
cabine connait l'etat du bit point par le compteur, en fait, a chaque foi
que l'impulsion sur la broche clk est termin, cette broche renvoie l'etat du
bit en question, +5V ou 0V en fonction de son etat logique. La deuxieme
fonction interresante de cette broche est aussi le fait que c'est elle qui
indique si l'ecriture d'un bit s'est bien passe, en fait apres chaque
ecriture, la broche passe a l'etat haut pour dire a la cabine que tout c'est
bien pass, c'est en fait la principame broche que devra simuler notre
programme.
Les seules broches qui reste sont l'alim, mais la je crois que j'ai pas
besoin de detailler ;)) .
3\ le programme d'emulation:
--------------------------
Eh bein d'abord je precise qu'il est en pascal (eheh fuck C) mais que
ca devrait pas poser trop de probleme de le porter sur un compilateur C, etant
donn que les parties les plus importantes sont en asm ;)
Le principe de ce programme est simple, en fait, on va creer un tableau,
qui contiendra la replique exacte des informations presentent sur la telecarte
a sa sortie d'usine, ces information, serront editee par vous dans un fichier
texte qui sera charger dans le tableau, apres en fonction des infos recupers
sur le port, enverra ces bit sur la broche correspondant a la borne i/o de
votre connecteur.
tout d'abord, un ptit organigramme:
notre programme doit donc renvoyer sur la broche i/o l'etat d'un bit
stokee dans un tableau, l'emulation doit commencer apres la periode de reset,
et le nombre d'impulsion sur la broche clk doit etre comptabilis dans une
variable qui nous servira de pointeur sur le tableau.On va aussi devoir faire
reagir la broche i/o en fonction de l'etat de R/W, la broche vpp elle sera
mise en l'air, puisque de toute facon elle varie en meme temps que R/W !!
Donc si on compte bien,ca fait qu'il nous faut quatres ligne d'entree sortie
donc, le port parralle nous sera largement suffisent pour faire ce travail ;)
enfin l'organigramme tant attendu:
+-------------+
| DEBUT |
|_____________|
|_______________
V |
+------------------+ | ; attention lorsque la
| la broche | | ; broche reset passe a l'etat
| RESET est elle | | ; haut, cela veut dire que le
| a 5V ???? |_____| ; RESET est termin et pas
|__________________| non ; l'inverse
| oui
|
V
+------------------+ ; cette phase d'initialisation
| initialisation du| ; comporte aussi la saisie du
| programme, notem-| ; nom du fichier contenant les
| chargement du ta-| ; octets devant etre simule (le
| bleau avec les | ; miroir de la memoire d'une
| bonnes valeures. | ; vraie telecarte )
|__________________| ; +initialisation port et variable
| ; diverses
|<---------------+
V |
+------------------+ |
| la broche clk | |
+-------->| est elle passe a | non |
| |l'etat haut ???? |______|
| |__________________|
| | oui
| |
| |
| V
| +-------------------+ +----------------+
| | la broche R/W et | oui | executer la pro|
| | elle a 1 ?? |-------->|sedure ecriture |
| |___________________| |________________|
| |
| | non
| |
| V
| +-------------------+
| | incrementation | ; cette variable sera
| | d'une variable | ; l'equivalent du pointeur de la
| | compteur | ; telecarte, sauf qu'ici elle
| |___________________| ; pointera sur un tableau.
| |
| |
| V
| +-------------------+ ; cette boucle servirais a atendre
| | eventuelement | ; le milieu du front descendant de
| | precense d'une | ; l'horloge ( fin de l'impulsion
| | boucle de tempo | ; sur la broche clk).
| |___________________|
| |
| |
| V
| +-------------------+
| | recuperation dans |
| | le tableau du bit | ; juste un truc du genre array[] !!
| | pointe par la |
| | variable compteur |
| |___________________|
| |
| |
| |
| V
| +--------------------+
| | envoi du bit sur |
| | le port du pc |
| |____________________| ; si toute cette partie c'est
| | ; bien passe, alors on peut
| | ; retourner attendre la prochaine
| | ; impulsion sur clk.sauf si une
| V ; ecriture va avoir lieue :
| +-------------------+ +----------------+
| | la broche R/W et | oui | executer la pro|
| | elle a 1 ?? |-------->|sedure ecriture |
| |___________________| |________________|
| |
| | non
| |
+--------<---------+
procedure d'ecriture:
--------------------
+-----------------+
| debut |
|_________________|
|
|
V
+-----------------+ ; c'est le temp d'ecriture de la
| tempo de 1/10 | ; dans la pseudo memoire de la carte
| de seconde | ; je n'ai pas generer ce delai avec
|_________________| ; le 9253 du pc, c'est seulement une
| ; boucle, donc prevoyez une variable
| ; pour les essais.
|
V
+-------------------+
| la broche i/o |
| est mise a 1 |
|___________________|
|
|
V
+-------------------+
| retour prog |
| principal |
|___________________|
ThE CoDe:
---------------------- cut here ---------------------------
program
telekart;
uses
crt;
var
pointeur : word ; { c'est le pointeur d'adresse }
increp : word ; { on sais jamais peut etr + de 256 }
tempovar : word ; { ce sont les }
tempova2 : word ; { variables de tempo }
fich : string ; { variable necessairent a l'ouverture du }
handle : text ; { fichier binaire de la memoire }
bit : array[1..256] of byte ; { le fameux tableau simulant la memoire}
{ de la telecarte. }
{--------------------------------------------------------------}
{ les choses serieuse commencent ici ;o) }
{--------------------------------------------------------------}
begin
asm
xor ax,ax { un ptit mode texte}
mov ax,3h
int 10h
end;
clrscr;
{tout d'abord on initialise les differentes variables}
pointeur := 1 ;
increp := 1 ;
{maintenant on initialise le tableau de bit}
writeln('fichier binaire a lire a lire: '); {on ouvre le fichier}
gotoxy(23,2); {contenant l'image de la}
readln(fich); {memoire de la vraie telecarte}
Assign(handle , fich);
reset(handle);
for increp := 1 to 256 do { on rempli le tableau avec les valeures}
begin { lues dans le fichier memoire }
read(handle,bit(increp));
end; { voala, le tableau est rempli de saintes}
{ informations. ;o)}
--------------------- cut here ----------------------------
4\ utilisation du soft:
Eh bein la, c'est pas tres compliqu !!, en fait, votre seul travail est de
confectionner la toute petite interface decrite au paragraphe suivant et de
connecter le tout au port parrallele de votre PC, ensuite, apres avoir fait
demarrer le soft, vous choisisez la bonne valeure pour les variables de tempo,
la je peu pas vous aider, elle seront differente en fonction de la cpu de
votre ordinateur (si vous etes interress, programmer le 8253 pour generer des
intervals de temps fixe), une fois cette manipulation effectu, le systeme est
pres a fonctionner, il n'y a plus qu'a introduire le connecteur dans
l'emplacement habituel de la telecarte, et normalement vous pouvez vous amuser
pour pas un rond !!!!!!!!!!!!!!!
Vous devez aussi specifier quel fichier binaire utiliser pour l'emulation,
le plus simple est d'en creer un avec un editeur de texte, en fait c'est pas
vraiment un fichier binaire, mais un fichier asci qui contient des 0 et des 1.
Pour en faire un, vous avez qu'a regarder la carte de la memoire que j'ai do-
nner au dessus, tout est detaill ;)). Il faut quand meme preciser que le
programme lit dans le fichier tout les caracteres d'une ligne, donc ne mettez
qu'UN seul 0 ou 1 par ligne sinon, ca va mchamment planter votre machine :(
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
LeS GrEeTs:
eH BeIn ToUt Ie GrOuPe DsT:
NeurO buzybee mac^mahon StraumA Sarace et puis bein HoTcOdE aussi tient !!
eT pUiS Je GrEeT AuSSi: [idHack], DeelighT, jump4, leader2, c6 (bein voui y
font tous partis du lyon 2600 ;o) ), kickers, mos-fet, ukm5, crifalo
sAnS OuBLieR MeS CoMpAgNoNs de DaLnEt: aaah, vagabon mon papa et ma mamam !!
voila si vous voulez voar le bLoRp: allez sur:
http://www.mygale.org/09/blorp et sur #phreakfr (dalnet) et #banane
----------------------------------------------------------------------