diff --git a/2000/schneiderwent/Makefile b/2000/schneiderwent/Makefile index 7b81e502d..056dd0d65 100644 --- a/2000/schneiderwent/Makefile +++ b/2000/schneiderwent/Makefile @@ -181,6 +181,10 @@ all: data ${TARGET} love haste waste maker easter_egg sandwich \ supernova deep_magic magic charon pluto +# FORCE use of -trigraphs +# +CFLAGS+= -trigraphs + ${PROG}: ${PROG}.c ${CC} ${CFLAGS} $< -o $@ ${LIBS} diff --git a/2000/schneiderwent/README.md b/2000/schneiderwent/README.md index 3fa62c419..7a4306dba 100644 --- a/2000/schneiderwent/README.md +++ b/2000/schneiderwent/README.md @@ -53,21 +53,25 @@ deficiency. Obfuscation in this entry consists of: - > printfing console messages stored as EBCDIC character values - this - is not an attempt at encryption, but rather at cross platform - compatibility - > ASCII character values are calculated from the EBCDIC in a - particularly ugly abuse of the '?' operator - > detection of whether to print the ASCII or EBCDIC values is done by - taking the remainder of dividing the character 'J' by 2 - the ASCII - value of the character is even, the EBCDIC value is odd - > the messages to be printfed are determined via multiple table - lookups and bitmasked values - > for minutes, the bit position turned on is multiplied by two - to determine the message to be printfed - > for hours, the straight bit position is used - > this entry mostly eschews function calls for the often overlooked - setjmp/longjmp combination - > the trigraphs are not there as obfuscation nor are they there to - annoy the judges - it's just the easiest way to get around the - absence of square brackets in a normal 3270 environment +* printfing console messages stored as EBCDIC character values - this is not an +attempt at encryption, but rather at cross platform compatibility +* ASCII character values are calculated from the EBCDIC in a particularly ugly +abuse of the '?' operator +* detection of whether to print the ASCII or EBCDIC values is done by taking the +remainder of dividing the character 'J' by 2 - the ASCII value of the character +is even, the EBCDIC value is odd + +* the messages to be printfed are determined via multiple table lookups and +bitmasked values + +* for minutes, the bit position turned on is multiplied by two to determine the +message to be printfed + +* for hours, the straight bit position is used + +* this entry mostly eschews function calls for the often overlooked +setjmp/longjmp combination + +* the trigraphs are not there as obfuscation nor are they there to annoy the +judges - it's just the easiest way to get around the absence of square brackets +in a normal 3270 environment