Merge pull request #1536 from xexyl/grothe2006

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-11-24 14:34:07 -07:00
commit 6cfeb84bfa
4 files changed
+34 -16

No files matched your search

+16 -13
View File
@@ -25,7 +25,7 @@ There are other text files you may wish to try:
```sh
./grothe 65000000 10000000 1344 < arabian.txt
./grothe 65000000 10000000 1344 < olympic.txt
./grothe 65000000 10000000 1344 < olympics.txt
./grothe 65000000 10000000 1344 < test.txt
```
@@ -36,7 +36,8 @@ Most of the time, interference is annoying. This entry is the
exception that proves the rule. What is a bug to some is a
feature to this entry. :-)
## Selected Author's Comments:
## Author's remarks:
The program draws patterns on the screen that can be picked up by a
[shortwave radio](https://en.wikipedia.org/wiki/Shortwave_radio). It emulates
@@ -47,9 +48,9 @@ To be able to run the program you need to determine the following
parameters:
```
carrier_freq - base frequency used to host music
pixelclock - refresh rate of the monitor
horizontal_total - total scan along the horizontal axis
carrier_freq - base frequency used to host music
pixelclock - refresh rate of the monitor
horizontal_total - total scan along the horizontal axis
```
If you have `xvidtune` installed you can get the `pixelclock` and
@@ -73,33 +74,35 @@ The core idea of using a machine to play music on AM radio goes all the
way back to the [Altair computers](https://en.wikipedia.org/wiki/Altair_8800)
and [Timex Sinclair ZX-81](https://en.wikipedia.org/wiki/ZX81)s.
### Several example songs
Olympic Fanfare - from `antang@phakt.usc.edu` - Tony:
Olympics Fanfare - from `antang@phakt.usc.edu` - Tony:
```
4-9-91231,2222-321123123-9-91231,2222-32112321
4-9-91231,2222-321123123-9-91231,2222-32112321
```
Twinkle Twinkle Little Star - from `fsufunkyb@aol.com` - Ben Schmidt:
```
1199##9-6633221-9966332-9966332-1199#9-6633221-
1199##9-6633221-9966332-9966332-1199#9-6633221-
```
Generic Arabian Tune - from `rdippold@qualcomm.com` - Ron "Asbestos" Dippold:
```
453,54,4569564459,9#95458,8987453 54
453,54,4569564459,9#95458,8987453 54
```
Others can be found by doing a search for "touch tone phone songs".
### Obfuscations
- Some numbers expressed in Octal, some in hex and some in decimal
"A foolish consistency is the hobgoblin of little minds" - Ralph Waldo
Emerson.
- Some numbers expressed in Octal, some in hex and some in decimal:
"A foolish consistency is the hobgoblin of little minds" - Ralph Waldo
Emerson.
- Funky scoping, looking at the nanosleep section and `XsetWindowAttributes`
declares local variables.
@@ -133,7 +136,7 @@ AM](https://web.archive.org/web/20070612152538if_/http://silcnet.org/priikone/pr
for a bit more information on the program (search for `Tempest-AM Radio Signal
Transmitter`).
The paper\
The paper
[Soft Tempest: Hidden Data Transmission Using Electromagnetic
Emanations](https://www.cl.cam.ac.uk/~mgk25/ih98-tempest.pdf) by Markus G.
Kuhn's and Ross J. Anderson's.
File renamed without changes.
+14 -2
View File
@@ -4,6 +4,11 @@
make
```
The author provided two alternate versions, one which adds a status bar and
another that makes it text only. The author also provided a version that they
tested with Windows. See [alternate code](#alternate-code) below.
## To use:
@@ -19,7 +24,7 @@ make
```
### Alternate versions:
### Alternate code:
The author provided two additional versions, [toledo3-sbar.c](toledo3-sbar.c)
and [toledo3-txt.c](toledo3-txt.c). Respectively these create a status bar and
@@ -27,6 +32,10 @@ make the game text only. These are built by default.
Use `toledo3-sbar` and `toledo3-txt` as you would `toledo3` above.
The author also provided a version that was [tested for some compilers in
Windows](layer.c). As we have no Windows system to test with you will have to
figure out how to compile it but it did work at one time in some set ups.
## Judges' remarks:
@@ -61,6 +70,7 @@ chess moves are allowed, except minor promotions on human side.
The game will continue up to its logical conclusion, you make
a mistake and the computer surpasses you. ;)
### WHAT ABOUT THE ENGINE
Uses an [alpha-beta](https://en.wikipedia.org/wiki/Alpha_Beta) search up to a
@@ -101,11 +111,12 @@ gcc -O3 -fexpensive-optimizations prog.c -o prog -lX11
4. It will not update the window while it is "thinking"
5. The space character has many useful applications, specially
5. The space character has many useful applications, especially
when it comes to the character limit (8).
6. I still don't understand what to do after semicolons. :P
### CHALLENGES
It is possible to convert this code into JavaScript with a
@@ -114,6 +125,7 @@ graphical interface. Can you do it?
Can the evaluation function be enhanced to make the program
play stronger?
### UPGRADES
Using [toledo3-sbar.c](toledo3-sbar.c) (which is too large for this IOCCC size
+4 -1
View File
@@ -2395,11 +2395,14 @@ it is an `arm64` CPU - the Apple silicon chip). This fix, BTW, is a mix of a fix
by [Yusuke Endoh](/winners.html#Yusuke_Endoh) and Cody's. Nevertheless there are
two features that are not bugs.
By design this program is supposed to crash on termination.
By design this program is supposed to crash on termination. This actually no
longer does seems to happen but we don't need this to be added even if it might
be called a bug :-)
You must type in caps (except in strings) and this program is indeed
case-sensitive.
### STATUS: missing files - please provide them
A file is missing from the archive linked to by the author so we have not been