@BEGIN_FILE_ID.DIZtextfile in swedish!!! hur man gör egna telefonkort textfile in swedish!!! @END_FILE_ID.DIZ Här följer del ett av referensen till att ringa gratis genom att göra egna telefonkort eller programmera dem via Centronics-porten på din PC. Dessutom en något enkel (och dålig ?) teknik för att ringa gratis kortare stunder, dock ganska obetydligt. Urklippt och redigerat från Rolig Teknik den 22/3-1994. Omändrat och konverterat av ZiP till PC 8 bitars teckentabell... Och så till den lagliga infon: Vederbörande tar inget ansvar för den följande texten, ej heller för dess innehåll. Dessutom uppmanas ingen att via någon eller några uppgifter, med eller utan hjälp av denna text, förfalska telefonkort eller förskansa sig fördelar eller pengar genom illegal tillverkning av sådana. Det är absolut förbjudet att förfalska kort, privat eller kommersiellt. Vidare är det också förbjudet att på något sätt använda sig av dessa. Det skall också påpekas att texten har saxats och redigerats ur ett välkänt Fidomöte, och att texten INTE är någon uppmaning till att begå något slags brott gentemot Telia eller liknande myndighet. Dessutom är vederbörande EJ ansvarig för textens innehåll, då denne inte har fårfattat densamma. Om du på något sätt motsäger dig detta, radera omedelbart textfilen och kom inte på tanken att använda den, eller några av uppgifterna som finns i den, igen. ============================================================================ Så här ser ett telefonkort med 10 markeringar ut, varav det finns 0 kvar ============================================================================ 10111011 10000011 00010000 00010010 $BB 83 10 12 <---- 10+2 00000000 00100110 10011101 00110100 $00 26 9D 34 00110001 00001110 00010001 00011110 $31 0E 11 1E <---- Svenskt=$1E 11111111 11110000 00000000 00000000 $FF F0 00 00 00000000 00000000 00000000 00000000 $00 00 00 00 <---- Markeringar 00000000 00000000 00000000 00000000 $00 00 00 00 00000000 00000000 00000000 00000000 $00 00 00 00 00000000 00000000 00000000 00000000 $00 00 00 00 ============================================================================ S† h„r ser ett telefonkort med 100 markeringar ut, varav det finns 0 kvar ============================================================================ 10111011 10000011 00010001 00000010 $BB 83 11 02 <---- 100+2 00000000 00001110 01111000 01101011 $00 0E 78 6B 01001001 01000010 00010001 00011110 $49 42 11 1E 11111111 11111111 11111111 11111111 $FF FF FF FF 11111111 11111111 11111111 11111111 $FF FF FF FF 11111111 11111111 11111111 11111111 $FF FF FF FF 11111100 00000000 00000000 00000000 $FC 00 00 00 00000000 00000000 00000000 00000000 $00 00 00 00 ============================================================================ S† h„r ser ett telefonkort med 50 markeringar ut, varav det finns 8 kvar ============================================================================ 10110110 10000011 00010000 01010010 $B6 83 10 52 00000000 11001000 10110011 11010111 $00 C8 B3 D7 10101110 00100100 00010001 00011110 $AE 24 11 1E 11111111 11111111 11111111 11111111 $FF FF FF FF 11111111 11110000 00000000 00000000 $FF F0 00 00 00000000 00000000 00000000 00000000 $00 00 00 00 00000000 00000000 00000000 00000000 $00 00 00 00 00000000 00000000 00000000 00000000 $00 00 00 00 Nu räcker det med exempel på hur korten ser ut, va ? För dig som vill läsa mer kort så kan du ju slänga ihop en läsare a la våra vänner i frankrike: Pinconfig: 1 : Vcc = 5 volt 5 : Gnd 2 : R/W 6 : Vpp = 21 volt 3 : Clk 7 : I/O 4 : Reset 8 : Fuse Schema över läsaren: Yttre 5 volt (tillval) 5V o------, Strömbrytare | / T2 PNP d13 r7 10 0V o--, | / BC 277 |\ | _____ | | ,-------o/ o--*------. E C .--| >+---[_____]--------, __+__ | | | \ / |/ | | \\\\\ | __|__ Batteri | \ / | | - 22.5 volt | --------- | ....... | | | _____ | _____ | : | __+__ +--[_____]--*--[_____]--, | D2 : | \\\\\ r6 150k r5 15k | | 4 o-------*---------------------------*------------------|-------------, | : | | r3 220k / C | | Ack : | | _____ |/ T1 - NPN | | 10 o------|--------. '--[_____]-*----| BC107 | | : | | _____ | |\ | | : ,-, ,-, +--[_____]-' \ E | | : | |r2 | |r1 | r4 390k | | | : | |220 | |22k __+__ __+__ | | : |_| |_| \\\\\ \\\\\ | | : | |\ | | | | : *--| >+--|----------------*----------------------------------|--* : | |/ | | ,-----|-----------------------------, | | : | d1 | | | ,----------,----------, | | | : | | | *---|--* Fuse | Reset *--|---' | | : | | | | |----------|----------| | | D0 : | | | ,-|---|--* I/O | Clk *--|---, | | 2 o-------|--------|----------' | | |----------|----------| | | | : | | | '---|--* Vpp | R/W *--|---|----' | Busy : | | | |----------|----------| | | 11 o------|--------|--------------' ,---|--* Gnd | 5V * | | | : | | | '----------'-------|--' | | D1 : | | __+__ Till kortet | | | 3 o-------|--------|--------, \\\\\ | | | : | | '------------------------------|------' | Str : | |\ | | | | 1 o-------*--| >+--*----*----*----*----*-------------------' | : d2|/ | |d3 |d4 |d5 |d6 |d7 | : -+- -+- -+- -+- -+- | : /_\ /_\ /_\ /_\ /_\ | D3 : | | | | | |\ | d8 | 5 o----------------*----|----|----|----|---| >+-------*-------------------' : | | | | |/ | | : | | | | | D4 : | | | | |\ | d9 | 6 o---------------------*----|----|----|---| >+-------* : | | | |/ | | : | | | | D5 : | | | |\ | d10 | 7 o--------------------------*----|----|---| >+-------* : | | |/ | | : | | | D6 : | | |\ | d11 | 8 o-------------------------------*----|---| >+-------* : | |/ | | : | | D7 : | |\ | d12 | 9 o------------------------------------*---| >+-------' : |/ | : : 25 o------. : | .......: | d1 till d13: 1N4148 dioder __+__ \\\\\\ Centronics-porten Programmet: F”ljande program g”r s† att du kan anv„nda l„saren p† din PC. Programspråket är PASCAL. ---- klipp här (begin) uses crt,dos; type string8=string[8]; var reg:registers; i,j:integer; bb:array[1..32] of string8; bh:array[1..32] of byte; l:array[1..256] of boolean; car:char; {---------------------------------------------------------------------------- procedure writeln_binaire(w:byte); begin if (w and $80)=$80 then write('1') else write('0'); if (w and $40)=$40 then write('1') else write('0'); if (w and $20)=$20 then write('1') else write('0'); if (w and $10)=$10 then write('1') else write('0'); if (w and $08)=$08 then write('1') else write('0'); if (w and $04)=$04 then write('1') else write('0'); if (w and $02)=$02 then write('1') else write('0'); if (w and $01)=$01 then write('1') else write('0'); writeln; end; {---------------------------------------------------------------------------- procedure send(b:byte); begin reg.AH:=$00; reg.AL:=b; reg.DX:=0; intr($17,reg); end; {---------------------------------------------------------------------------- function get:byte; begin reg.AH:=$02; reg.DX:=0; intr($17,reg); get:=reg.AH; end; {---------------------------------------------------------------------------- function unites:byte; var u,idx:integer; begin u:=0; idx:=97; while (l[idx] and (idx<257)) do begin inc(u); inc(idx); end; unites:=u; end; {---------------------------------------------------------------------------- procedure type_carte; begin case bh[2] of $03: begin write('Telecard - France - '); case bh[12] of $13: write('120 Units - ',unites-130,' Units left'); $06: write('50 Units - ',unites-60,' Units left'); $15: write('40 Units - ',unites-40,' Units left'); end; end; $83:begin case bh[12] of $30: write('Telecard - Norway - '); $3C: write('Telecard - Ireland - '); $55: write('Telecard - Czech Republic - '); $65: write('Telecard - Finland - '); end; if bh[12] in [$30,$3C,$55,$65] then begin case ((bh[3] and $0F)*$100+bh[4]) of $012: write ('10 Units - ',unites-12,' Units left'); $024: write ('22 Units - ',unites-24,' Units left'); $027: write ('25 Units - ',unites-27,' Units left'); $032: write ('30 Units - ',unites-32,' Units left'); $052: write ('50 Units - ',unites-52,' Units left'); $070: write ('70 Units - ',unites-70,' Units left'); $082: write ('80 Units - ',unites-82,' Units left'); $102: write ('100 Units - ',unites-102,' Unitsleft'); $152: write ('150 Units - ',unites-152,' Unitsleft') ; end; end; write(' - N0 ',bh[5]*$100+bh[6]); end; end; end; {---------------------------------------------------------------------------- procedure attente; begin send($FF); {write('Insert card and press a key...');} repeat until keypressed; writeln; end; {---------------------------------------------------------------------------- function value(s:string8):byte; var b:byte; begin b:=0; if s[8]='1' then b:=b+$01; if s[7]='1' then b:=b+$02; if s[6]='1' then b:=b+$04; if s[5]='1' then b:=b+$08; if s[4]='1' then b:=b+$10; if s[3]='1' then b:=b+$20; if s[2]='1' then b:=b+$40; if s[1]='1' then b:=b+$80; value:=b; end; {---------------------------------------------------------------------------- procedure write_hexa(s:string); var i:integer; begin if s='0000' then write('0') else if s='0001' then write('1') else if s='0010' then write('2') else if s='0011' then write('3') else if s='0100' then write('4') else if s='0101' then write('5') else if s='0110' then write('6') else if s='0111' then write('7') else if s='1000' then write('8') else if s='1001' then write('9') else if s='1110' then write('A') else if s='1111' then write('B') else if s='1100' then write('C') else if s='1101' then write('D') else if s='1110' then write('E') else if s='1111' then write('F'); end; {---------------------------------------------------------------------------- procedure lecture; var i,j,k:integer; begin send($FA); send($F8); k:=1; for i:=1 to 32 do begin bb[i]:=''; for j:=1 to 8 do begin send($F9); l[k]:=not((get and $08)=$08); if l[k] then insert('1',bb[i],j) else insert('0',bb[i],j); send($FB); inc(k); end; end; for i:=1 to 32 do bh[i]:=value(bb[i]); writeln('Memory dump:'); for i:=1 to 80 do write('-'); for i:=1 to 6 do begin for j:=1 to 6 do begin if j+5*(i-1) <= 32 then write(bb[j+6*(i-1)]:9); end; gotoxy(60,wherey); for j:=1 to 6 do if j+6*(i-1) <= 32 then begin write_hexa(copy(bb[j+6*(i-1)],1,4)); write_hexa(copy(bb[j+6*(i-1)],5,4)); write(' '); end; writeln; end; for i:=1 to 80 do write('-'); type_carte; writeln; writeln; end; {---------------------------------------------------------------------------- procedure ecriture; var i,n:integer; car:char; begin write('Quel bit voulez vous mettre a "1" : '); readln(n); attente; car:=readkey; send($FA); send($F8); for i:=1 to n do begin send($F9); if i=n then begin send($FD); delay(20); send($2F); delay(20); end; send($FB); end; lecture; end; {---------------------------------------------------------------------------- begin clrscr; writeln('Entrer une carte et tappez une touche ......'); writeln; repeat attente; car:=upcase(readkey); case car of 'E':ecriture; 'Q':; else begin lecture end; end; until car='Q'; end. ---- klipp här (end) Och så har vi en markeringsraderare ! Coolt eller ? Hursomhelst, för er som inte fattar någonting av allt det här, så kan ni använda vanlig tejp för att lura telefonautomaterna så att ni kan ringa 7-8 sekunder gratis... För att ringa på ett telekort gratis tejpar du bara för den markerade pinnen: ___________ | | | * * * * | | | | * * * * <------- Denna pinne tejpas över ! | | | | |___________| övrigt: ------- VPP = 0V --> Data ut = 1 Vpp skall INTE vara i idle state ! Observera detta ! Någonstans mellan 400-40000 klockpulser aktiverar datautmatningen ! Korten får inte klockas långsammare än 0.7 Mhz, och byten "försvinner" från outpinnen efter halva klockan, sjunker ner till 3.3 volt ungefär. Att göra ett eget telefonkort: ------------------------------ Experimentkort typ Veroboard Motorola 6803 En 8255a Ett statiskt RAM modell 6264 eller större IC 74ls244 Kapslar till alla IC-kretsar (IC-hållare) Detta är alltså materialet som behövs. Mer information om bygget sprids ut så snart som möjligt och kommer att läggas in i en uppdaterad utgåva av texten. Tidsdiagram för skrivning och läsning: -------------------------------------- v v v v v v v Clock: 5 ||| |||| || |||||||| |||||||| |||||||| |||||||||||....||||||||||||||||||||||||||||||||||||||||||||||||||| Reset: 5 | |||||| |||||||||||||||||||||||||||||||||| |||||||||||....||||||||||||||||||||||||||||||||||||||||||||||||||| Ce: 5 | |||||||||||| ||||||||||||||||||||||| |||||||||||....||||||||||||||||||||||||||||||||||||||||||||||||||| Vpp: 21 | ||||||||||||||||||||||||||||||||||||||||||||||||||| | | 5 ||||||||||| | |||||||||||....||||||||||||||||||||||||||||||||||||||||||||||||||| Data ut: 5 ||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||....||||||||||||||||||||||||||||||||||||||||||||||||||| ^ ^ ^ ^ ^ ^ ^