From kd@fr.invalid Sat Feb 11 16:57:56 2006 Path: news.wanadoo.fr!news.wanadoo.fr!news.wanadoo.fr!not-for-mail Newsgroups: comp.sys.hp48 From: Khanh-Dang Subject: Tempest and HP49 Date: Sat, 11 Feb 2006 16:57:03 +0100 User-Agent: slrn/0.9.8.1 (Linux) Lines: 221 Message-ID: <43ee094f$0$29182$8fcfb975@news.wanadoo.fr> Organization: les newsgroups par Wanadoo NNTP-Posting-Date: 11 Feb 2006 16:57:03 CET NNTP-Posting-Host: 82.120.49.163 X-Trace: 1139673423 news.wanadoo.fr 29182 82.120.49.163:51915 X-Complaints-To: abuse@wanadoo.fr Xref: news.wanadoo.fr comp.sys.hp48:129918 Hi! Perhaps some of you already know about Tempest for Eliza. If you don't, you can gather some informations here: . For those who are too lazy to read the page at the adress I've just give, here is a quick overview: > What is it ? > ------------ > > Tempest for Eliza is a Program that uses your computer monitor > to send out AM radio signals. You can then hear computer > generated music in your radio. > > How does this work ? > -------------------- > > All electronic devices send out eletromagnetic waves. > so does your monitor. and your monitor does it all the time. > and at very high frequencies. high enough for your short wave > AM radio. > all you have to do is display the "correct" image on your screen > and your monitor will emit the "right" signals. > Tempest for Eliza displays pictures on your screen. one for > each note in the song. I have successfully done the same kind of thing with my HP49G. What you need do make your Saturn sing the Song for Elise (by Ludwig van Beethoven): - a HP49G (this may work with any saturn-based HP calcs, bu I didn't try), - a pocket radio that can receive short wave AM. Now, you have to download this source code: --------------------------------------- %%HP: T(3)A(R)F(.); DIR Tempest.s "!RPL CODE DC =DispOff 26798 DC =DispOn 2679F SAVE GOSBVL =DispOff ; mandatory SKUB { 'Data.inc } C=RSTK D0=C ; D0\->data { C=DAT0.A C-1.A EXITC D=C.A ; Da: D0+5 C=DAT0.A D0+5 R0=C.A ; R0a: nb loops ; R0 gives better quality { C=R0.A { C-1.A UPNC } D-1.A ; The 3 lines below produces much ; better quality sound than ; a single UPNC EXITC GOSUB Nop UP } UP } GOSBVL =DispOn P=0 LOADRPL *Nop RTN ENDCODE @" Data.inc "" FL2Data \<< CLLCD "Building Data.inc" 1. DISP "% DO NOT EDIT THIS % GENERATED BY FL2Data % FORMAT IS: % (5) nb AWait needs to repeat % 00000 means stop % (5) nb ticks $" 1. FL SIZE DUP 4. DISP FOR K K 3. DISP FL K GET \-> F \<< .25 F * 0. RND R\->B A\->H + 127640. F / 0. RND R\->B A\->H + \>> NEXT "0000000000 @" + 'Data.inc' STO \>> PlayFL \<< 1. FL SIZE FOR K FL K GET .2 BEEP NEXT \>> FL { 659.3 635. 659.3 635. 659.3 493.9 587.3 523.3 440. 164.8 220. 261.6 329.6 440. 493.9 164.8 210. 329.6 420. 493.9 523.3 164.8 220. 329.6 659.3 635. 659.3 635. 659.3 493.9 587.3 523.3 440. 164.8 210. 261.6 329.6 440. 493.9 164.8 220. 293.7 523.3 493.9 440. } CST { { "MAKE" \<< FL2Data Tempest.s ASM \>> } { "CLEAN" \<< "" 'Data.inc' STO \>> } } END --------------------------------------- To compile this program, go to the CST menu and press [MAKE]. The program is pushed on level 1 of the stack. You can run it just by EVALuating it, but wait, this program would do nothing cool at this stage. This source code is also available at: For those who are too lazy, just download the binary compiled program there (BYTES gives # 3E97h and 282): * Now, put your AM receiver at around 660 KHz. Put you HP49 near the radio, then launch the program. Here are some samples of what you should hear: - When the calc is not near the radio: (156KB) - When the calc is near the radio but switched off: (156KB) - When the calc is then switched on: (156KB) - When the edit line is active: (156KB) - When you press the [ON] key: (156KB) - When my little proof-of-concept-program is running: (187KB) * Some notes: - I didn't try all frequencies, but 660 KHz seems to be a good choice, at least for me. Actually, you may have noticed that 660KHz = 4MHz/6, where 4MHz is the clock frequency of my HP49G. So that you can also try 4MHz/3, 4MHz/4, etc. - In the calc_on.mp3 sample, you can hear a click every second. This is simplye the interrupt handler of the OS. - In the cal_editline.mp3, the click appear every 1/16e (I didn't count, but I think so). Again, this is the interrupt handler. - In order to find a good frequency, you can press the [ON] key and tune your radio until you can clearly hear the treble note (see file calc_key_on.mp3). * For further information, you can check the links given by Erik Thiele: > > More information on Tempest --------------------------- > > Tempest and electromagnetic radiation is an interesting topic. There > aren't very much public literature on this topic. Luckily, there are a > few technical papers and web sites on the net that are a must read. > > Papers to read: > > o Markus G. Kuhn's and Ross J. Anderson's, "Soft Tempest: Hidden Data > Transmission Using Electromagnetic Emanations" > > http://www.cl.cam.ac.uk/~mgk25/ih98-tempest.pdf > > o Wim van Eck, "Electromagnetic Radiation from Video Display Units: An > Eavesdropping Risk?" > > http://jya.com/emr.pdf > > o Christopher Seline, "Eavesdropping On the Electromagnetic Emanations > of Digital Equipment: The Laws of Canada, England and the United > States" > > http://www.eff.org/pub/Privacy/Security/tempest_legal.draft > Happy hacking, Khanh-Dang P.S.: You may find an up to date copy of this document at . If you have any question, please answer to this post on comp.sys.hp48, or send me an email at kdntl at yahoo. fr.