diff --git a/1986/README.md b/1986/README.md index 59b1d7005..38c37ba43 100644 --- a/1986/README.md +++ b/1986/README.md @@ -6,7 +6,7 @@ on how to compile the winner and how to run the winning program. Look at the winning source and try to figure how it does what it does! You may then wish to look at the Author's comments for even more details. -The rules for 1986 suggested categories due to the success of the 1985 +The [rules for 1986](rules.txt) suggested categories due to the success of the 1985 judging method. The maximum size was increased from 512 to 1024 bytes. Larry Bassel joined as the second official judge. diff --git a/1986/applin/README.md b/1986/applin/README.md index e305d1030..f66e56da0 100644 --- a/1986/applin/README.md +++ b/1986/applin/README.md @@ -10,13 +10,20 @@ USA make all +### Try: + + sh applin.c + + ./applin + + ## Judges' comments: -Compile and/or execute as directed by the documentation. The judges were so amused by this little program that we created an award just for it. This program is portable to the C and Fortran 77 -compilers as well as executable by the bourne shell! +compilers as well as executable by the Bourne shell! + Copyright (c) 1986, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is diff --git a/1986/august/Makefile b/1986/august/Makefile index ebb36346e..8f2260bb0 100644 --- a/1986/august/Makefile +++ b/1986/august/Makefile @@ -184,6 +184,7 @@ all: ${DATA} ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c + @echo "NOTE: this entry is very likely to dump core after its output." ${CC} ${CFLAGS} $< -o $@ ${LIBS} # alternative executable diff --git a/1986/august/README.md b/1986/august/README.md index 0089ff1fb..126e0952a 100644 --- a/1986/august/README.md +++ b/1986/august/README.md @@ -10,6 +10,8 @@ Sweden make all +NOTE: this entry is very likely to core dump after its output. + ## Judges' comments: This program computes a specific mathematical value. Simply compile diff --git a/1986/bright/README.md b/1986/bright/README.md index 97cdf4ec5..f5484f6e9 100644 --- a/1986/bright/README.md +++ b/1986/bright/README.md @@ -6,21 +6,21 @@ Walter Bright make all -NOTE: The original entry may be built with "make alt". +### Try: + + ./bright bright.c + + ./bright bright ## Judges' comments: -Compile this program and give filenames as arguments. For example try: - - ./bright bright.c - ./bright bright +Compile this program and give a filename as an argument. Mr. Bright exploits the C pre-processor, similar variables and excessive shifting to obfuscate an otherwise useful binary display program. This gives you a small example of what it is like to maintain the Bourne shell! :-} -NOTE: To compile with modern compilers, you make need to: make alt. Copyright (c) 1986, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is diff --git a/1986/bright/bright.orig.c b/1986/bright/bright.orig.c deleted file mode 100644 index 8c0481856..000000000 --- a/1986/bright/bright.orig.c +++ /dev/null @@ -1,47 +0,0 @@ -#include -#define O1O printf -#define OlO putchar -#define O10 exit -#define Ol0 strlen -#define QLQ fopen -#define OlQ fgetc -#define O1Q abs -#define QO0 for -typedef char lOL; - -lOL*QI[] = {"Use:\012\011dump file\012","Unable to open file '\x25s'\012", - "\012"," ",""}; - -main(I,Il) -lOL*Il[]; -{ FILE *L; - unsigned lO; - int Q,OL[' '^'0'],llO = EOF, - - O=1,l=0,lll=O+O+O+l,OQ=056; - lOL*llL="%2x "; - (I != 1<<1&&(O1O(QI[0]),O10(1011-1010))), - ((L = QLQ(Il[O],"r"))==0&&(O1O(QI[O],Il[O]),O10(O))); - lO = I-(O<=' '&&l<='\~'; -} diff --git a/1986/hague/Makefile b/1986/hague/Makefile index f2bba1c2d..ca4ccc7a5 100644 --- a/1986/hague/Makefile +++ b/1986/hague/Makefile @@ -184,12 +184,10 @@ all: ${DATA} ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c + @echo "NOTE: this entry uses gets() so you might get a warning about this" + @echo " when compiling and running this program with some systems." ${CC} ${CFLAGS} $< -o $@ ${LIBS} -# alternative executable -# -alt: ${DATA} ${ALT_TARGET} - @${TRUE} # data files # diff --git a/1986/hague/README.md b/1986/hague/README.md index f783949ea..6d509c8be 100644 --- a/1986/hague/README.md +++ b/1986/hague/README.md @@ -9,9 +9,15 @@ UK make all -### To run + +NOTE: this entry uses gets() so you might get a warning about this when +compiling and running this program with some systems. + +### Try: ./hague + [enter some text] + ## Judges' comments: diff --git a/1986/holloway/Makefile b/1986/holloway/Makefile index 137366e21..fd2894a3d 100644 --- a/1986/holloway/Makefile +++ b/1986/holloway/Makefile @@ -184,7 +184,6 @@ all: ${DATA} ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c - @echo "NOTE: This entry uses non-standard args to main() that do not work with modern compilers." ${CC} ${CFLAGS} $< -o $@ ${LIBS} # alternative executable diff --git a/1986/holloway/README.md b/1986/holloway/README.md index 1195465b4..b123cdbd6 100644 --- a/1986/holloway/README.md +++ b/1986/holloway/README.md @@ -9,7 +9,12 @@ USA make all -NOTE: This entry uses non-standard args to main() that do not work with modern compilers. + +NOTE: we could not compile this entry under modern macOS but it will work +fine under linux. It likely fails to compile under macOS because its gcc is +actually just clang which is more strict about the type of the second +argument of main(). If you have gcc under macOS it might work just as well. + ## Judges' comments: @@ -18,7 +23,6 @@ performed in a very complex way. The judges and the author defy you do determine how it does it. It is a good thing that K&R didn't use this version as the first C program! -NOTE: This entry requires a non-standard K&R C compiler to compile. Copyright (c) 1986, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is diff --git a/1986/marshall/README.md b/1986/marshall/README.md index ff9f40c2b..232c83af0 100644 --- a/1986/marshall/README.md +++ b/1986/marshall/README.md @@ -10,7 +10,11 @@ Paoli, PA. make all -NOTE: This entry uses non-standard args to main() that do not work with modern compilers. + +NOTE: we could not compile this entry under modern macOS but it will work +fine under linux. It likely fails to compile under macOS because its gcc is +actually just clang which is more strict about the type of the second +argument of main(). If you have gcc under macOS it might work just as well. # Judges' comments: @@ -22,7 +26,6 @@ This program was selected for the 1987 t-shirt collection. This program is known to give some C compilers a problems. -NOTE: This entry requires a non-standard K&R C compiler to compile. Copyright (c) 1986, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is diff --git a/1986/pawka/README.md b/1986/pawka/README.md index 172c94605..d36e079b5 100644 --- a/1986/pawka/README.md +++ b/1986/pawka/README.md @@ -7,14 +7,22 @@ San Diego, Ca ## To build: + make all + +### Try: + + ./pawka + + ## Judges' comments: The judges found this entry to be one of hardest to read without the aid of `/lib/cpp` and a good editor. When run, the program asks if it is obfuscated, of all things! + Copyright (c) 1986, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is granted provided this this copyright and notice are included in its entirety diff --git a/1986/stein/README.md b/1986/stein/README.md index aed84d69c..bb57f6abf 100644 --- a/1986/stein/README.md +++ b/1986/stein/README.md @@ -6,16 +6,20 @@ Jan Stein make all -Judges' comments: -> NOTE: to avoid problems with news and mail, the single line was split -> into 3 lines. Join all lines into a single line to recreate -> the original file. +## Judges' comments: + +NOTE: to avoid problems with news and mail, the single line was split +into 3 lines. Join all lines into a single line to recreate +the original file. + Try the program with the following argument: + ./stein ^N^N + (^N is ASCII control-N). One some machines, ^M^L is needed to get it to output cleanly. Your system may require another set of characters. In time, you will figure out what it does. :-) diff --git a/1986/wall/Makefile b/1986/wall/Makefile index 0afda2d5b..003f0a413 100644 --- a/1986/wall/Makefile +++ b/1986/wall/Makefile @@ -93,7 +93,7 @@ ARCH= # Defines that are needed to compile # -CDEFINE= +CDEFINE= -traditional-cpp #CDEFINE= -DIOCCC # Include files that are needed to compile @@ -185,7 +185,8 @@ all: ${DATA} ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c - @echo "NOTE: This entry uses non-standard args to main() that do not work with modern compilers." + @echo "NOTE: This entry will not compile when using clang because it does not support" + @echo " -traditional-cpp but it should compile with gcc." ${CC} ${CFLAGS} $< -o $@ ${LIBS} # alternative executable diff --git a/1986/wall/README.md b/1986/wall/README.md index ca27a4ddd..3243b1463 100644 --- a/1986/wall/README.md +++ b/1986/wall/README.md @@ -10,9 +10,10 @@ US of A make all -NOTE: This entry uses non-standard args to main() that do not work with modern compilers. -NOTE: This entry requires a non-standard K&R C compiler to compile. +NOTE: On modern systems this entry requires the option `-traditional-cpp` which +clang does not support. Please be advised that gcc under macOS is actually +clang so this will not compile with the default gcc under macOS. ## Judges' comments: