diff --git a/1984/mullender/.gitignore b/1984/mullender/.gitignore index 995d74a91..85c8b08ba 100644 --- a/1984/mullender/.gitignore +++ b/1984/mullender/.gitignore @@ -1 +1,2 @@ mullender +mullender.alt diff --git a/1984/mullender/Makefile b/1984/mullender/Makefile index cb90413bf..b45316974 100644 --- a/1984/mullender/Makefile +++ b/1984/mullender/Makefile @@ -111,8 +111,8 @@ OBJ= ${PROG}.o DATA= TARGET= ${PROG} # -ALT_OBJ= -ALT_TARGET= +ALT_OBJ= ${PROG}.alt.o +ALT_TARGET= ${PROG}.alt ################# @@ -136,6 +136,9 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} +${ALT_TARGET}: ${PROG}.alt.c + ${CC} -include stdio.h -include unistd.h ${CFLAGS} $< -o $@ ${LIBS} + # data files # data: ${DATA} diff --git a/1984/mullender/README.md b/1984/mullender/README.md index 7730d14ec..42cc744ee 100644 --- a/1984/mullender/README.md +++ b/1984/mullender/README.md @@ -16,6 +16,20 @@ Robbert van Renesse > not execute correctly. In later years, machine dependent > code was discouraged. +## Alternative code: + +[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) added the alternative +code which lets you run this on other systems. He notes though that this was +only a slight fix to the change in the [faq](/faq.md). Thank you Cody for your +assistance! + +To build: + + + make alt + +Use `./mullender.alt` as you would `./mullender` above. + ## Judges' comments: diff --git a/1984/mullender/mullender.alt.c b/1984/mullender/mullender.alt.c new file mode 100644 index 000000000..ad6677967 --- /dev/null +++ b/1984/mullender/mullender.alt.c @@ -0,0 +1 @@ +main(){int i=10000;do write(1," :-)\b\b\b\b",9),usleep(i);while(--i);} diff --git a/bugs.md b/bugs.md index c2ac3a2ca..7cb042746 100644 --- a/bugs.md +++ b/bugs.md @@ -220,20 +220,8 @@ If you do wish to provide an alternate version of the program that does not need compiler supporting `-traditional-cpp` you are welcome to submit such code via a [GitHub pull request](https://github.com/ioccc-src/temp-test-ioccc/pulls) and we will be happy to credit you in the entry's _README.md_ file. +# 1984 -## [1984/mullender](1984/mullender/mullender.c) ([README.md](1984/mullender/README.md)) -## STATUS: compiled executable crashes - please help us fix -## STATUS: doesn't work with some platforms - please help us fix - -This entry is likely to fail and/or dump core on any computer other than a -Vax-11 or pdp-11. In 1984 machine dependent code was allowed. - -To see this entry in action check out [Yusuke -Endoh](/winners.html#Yusuke_Endoh)'s [2015/endoh3](2015/endoh3) entry. Otherwise -a Vax-11 or pdp-11 emulator would be necessary. - -NOTE: if you do change this please make sure to put it in `mullender.alt.c` and -update the Makefile to have an alt target! # 1985 diff --git a/faq.md b/faq.md index 3664d2ae0..468ed83ff 100644 --- a/faq.md +++ b/faq.md @@ -35,15 +35,36 @@ but are different/missing today. E.g. it is highly unlikely that you'll be able to execute [1984/mullender](years.html#1984/mullender) on a computer you're using to read -this FAQ. +this FAQ. However for that entry [Cody Boone +Ferguson](/winners.html#Cody_Boone_Ferguson) added alternative code so that you +can enjoy this entry. Try: + +```sh +make alt +./mullender.alt +``` + +See also [Yusuke Endoh](/winners.html#Yusuke_Endoh)'s entry +[2015/endoh3](/2015/endoh3/README.md) entry which lets one compile it and run +it. + +Others are not so easy though we're working on this and over time have added +alternative code and in some cases replaced the original code with code that +works for modern systems. + + +## Q: How do I get X11 entries to work with macOS Mountain Lion and later? + +In macOS Mountain Lion and beyond to run X11 applications one needs to install +[XQuartz](https://www.xquartz.org). This will let you compile, link and run X11 +applications. ## Q: I found a bug in a previous winner, what should I do? We do not 'maintain' the contest winners. The code is made available on an 'AS -IS' basis. If you have a FIX for -a entry, we suggest that you try and email it to the authors and to CC: -us using the instructions on the -[contacting the IOCCC Judges](contact.hml) page. +IS' basis. If you have a FIX for a entry, we suggest that you try and email it +to the authors and to CC: us using the instructions on the [contacting the IOCCC +Judges](contact.hml) page. IF you have a FIX, and IF the author does not object, and IF your fix looks reasonable, we will add a web link to a copy of your email @@ -318,12 +339,21 @@ more other entries that came in close behind. switch(19xx/XYZZY) { -- case [1984/mullender](years.html#1984_mullender): try + case [1984/mullender](years.html#1984_mullender): + +try the alternative code added by [Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) like: + +```sh +make alt +./mullender.alt +``` + +Thank you Cody for your help! + +It's a slight adjustment to our original suggested code: main(){int i=512;do write(1," :-)\b\b\b\b",9),usleep(i);while(--i);} -instead. Enable reverse wraparound in your xterm window for best results. - break; - case [1991/davidguy](years.html#1991_davidguy): disable access