mazzoo/dcf77
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
dcf77.c - Das Clock Fake @ 77.5 kHz
(c) 2003 by Matthias Wenzel, maZZoo NO @ SPAM gmx.de
licensed under the GPLv2,
see http://www.gnu.org/copyleft/gpl.html
>>>>>>>> this code is still very BETA, please <<<<<<<<
>>>>>>>> report sucesses, improvements or ideas to me <<<<<<<<
what's it ?
###########
This program paints black and white stripes on your screen. Your monitor
will now emit electromagnetic waves. Basically a carrier frequency of
77500 Hz. In Europe commonly used DCF77-radio-clocks will tune into that
frequency and listen ... to be honest, only if they're close enough to
your monitor they may/might.
The screen image will be modulated to emit the 59 information bits plus
the one sync bit per minute. Actually we only need to switch between two
static images once per second, but with a high timing precision of about
50ms. Nothing evil will happen to your monitor or LCD, we're not playing
with your modelines or the sync of your monitor.
The program uses the SDL-library to acess the screen, this can be a
problem when you don't have HW-acceleration - I had to switch back to
16bpp on my X to get the required 20fps.
The program now tests wether the screen performance is sufficient to
achieve the required 20 fps.
compiling
#########
do a 'make' and hope the best ...
you'll need the SDL-libraries installed, see http://www.libsdl.org/
running
#######
options:
-v verbose
-f force. don't run fps performance test
-y nn set year to nn
-M nn set month to nn
-w n set weekday to n
-d nn set day to nn
-h nn set hour to nn
-m nn set minute to nn
if no parameters are given, time will start at 23:23, your
clock might tune in by 23:42
problems
########
o this software is in a battle with a 50kW hardware. we probably need to
test more and play with different modulation schemes to improve
emission on more screens.
o as of now, I only tested this program with the LCD of my laptop, but I
could set all the clocks I had for testing
Maybe for CRTs we need a different type of modulation
o more testing is to be done
bugs
####
o running with a virtual screen won't work
o untested on HW-accelerated X
o not yet seen working with a CRT !!
o up to now time runs forward only ;)
misc
####
the excellent work of Erik Thiele ( http://www.erikyyy.de/tempest/ )
inspired me to write this program.
Tuning his code from several MHz down to 77 kHz I had to use a different
modulation scheme (PWM) to emit the required AM-shape.
I played with grey colors to implement the AM but no success. I picked
the grey color to have a certain number of bits set, and switched between
white and grey screens to implement the AM-ratio, as i suspected the
RAMDAC-databus to emit better than my LCD. No success either.
The first success was with a 1:3 black&white PWM-modulation.
DCF77
#####
some useful links related to the DCF77 coding scheme:
o http://www.ptb.de/en/org/4/43/433/disse.htm
o http://www.prog-link.com/dcf77/dcf77-contents.html
tempest
#######
which may be an abbreviation for 'Transient ElectroMagnetic Pulse
Emanation STandard' but nobody knows.
links on tempest:
o http://www.cl.cam.ac.uk/~mgk25/ih98-tempest.pdf
o http://www.shmoo.com/tempest/emr.pdf
o http://www.eskimo.com/~joelm/tempest.html
history
#######
25 april 2003 dcf77-0.0.3 gcc instead of g++; options; measure fps
at startup
15 april 2003 dcf77-0.0.2 bugfixed, no options, LCD of my laptop sets
all five available clocks
13 april 2003 dcf77-0.0.1 very experimental initial release