Add alternative code for 1984/mullender for all!

Now anyone can enjoy 1984/mullender! This was a slight change to code
originally suggested in the faq (which was also updated, see below) made
for modern systems (since CPUs are much faster nowadays the duration for
usleep was much too long so one could not really enjoy the entry).

Updated bugs.md to remove this entry from the bugs.md file.

Also updated faq.md with another item. Unfortunately I had already added
another entry to faq.md and had failed to commit it before doing this
change (and adding it to the faq): how to get X11 entries (or actually
any X11 application) to work in macOS Mountain Lion and beyond. This is
why that faq entry is on this branch. It was not intended but it felt
like this change should be on its own branch / in a separate pull
request. I did not want to temporarily modify faq.md simply for this. I
have more changes to faq.md to make but that'll be on another branch so
that I have these changes there as well.
This commit is contained in:
Cody Boone Ferguson committed 2023-03-31 04:06:10 -07:00
1 parent 99e872cc14
commit ef2828e9c1
6 files changed
+60 -23

No files matched your search

+1
View File
@@ -1 +1,2 @@
mullender
mullender.alt
+5 -2
View File
@@ -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}
+14
View File
@@ -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:
+1
View File
@@ -0,0 +1 @@
main(){int i=10000;do write(1," :-)\b\b\b\b",9),usleep(i);while(--i);}
+1 -13
View File
@@ -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
+38 -8
View File
@@ -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