diff --git a/2006/toledo2/Makefile b/2006/toledo2/Makefile index ace252884..ba66ba588 100644 --- a/2006/toledo2/Makefile +++ b/2006/toledo2/Makefile @@ -116,8 +116,8 @@ OBJ= ${PROG}.o DATA= C.BASIC C.BIOS TARGET= ${PROG} C # -ALT_OBJ= -ALT_TARGET= +ALT_OBJ= ${PROG}.alt.o +ALT_TARGET= ${PROG}.alt ################# @@ -144,6 +144,9 @@ C: C.BASIC alt: data ${ALT_TARGET} @${TRUE} +${PROG}.alt: ${PROG}.alt.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} + # data files # data: ${DATA} diff --git a/2006/toledo2/README.md b/2006/toledo2/README.md index 6a38d78b2..233fc2e2d 100644 --- a/2006/toledo2/README.md +++ b/2006/toledo2/README.md @@ -12,6 +12,10 @@ Mexico\ make ``` +There is [alternate code](#alternate-code) that is based on the author's notes +for DOS/Windows. This cannot be tested by us, not even to compile, but it appears +that it should be fine, after the proper header files were added. + ### Bugs and (Mis)features @@ -19,7 +23,7 @@ The current status of this entry is: ``` STATUS: INABIAF - please **DO NOT** fix -STATUS: possible bug (possibly depending on system) - please help test and if necessary fix +STATUS: missing files - please provide them ``` For more detailed information see [2006 toledo2 in bugs.md](/bugs.md#2006-toledo2). @@ -36,13 +40,6 @@ below section, it is supposed to crash on termination though some noted this does not seem to happen in macOS. He asks ironically: 'if it's supposed to crash and it does not crash is it actually a bug or is it a feature? :-)' -### INABIAF - it's not a bug it's a feature! :-) - -By design this program is supposed to crash on termination. - -You must type in caps (except in strings) and this program is indeed -case-sensitive. - ## Try: @@ -61,14 +58,23 @@ RUN To end the program hit ctrl-z. -### IABINAF - it's a bug it's not a feature! :-) +## Alternate code: -Although the program does not crash when reading in `C.BIOS` it appears that the -CP/M emulator does not work as expected at least according to the author's -remarks. +This version, as noted, should work for DOS/Windows. It uses non-standard +functions in place of `read(2)` and `write(2)`. -See also [bugs.md](/bugs.md) for more details. +### Alternate build: +```sh +make alt +``` + +### Alternate use: + +The author noted that for PC/DOS you will have to add `ANSI.SYS` to your +`CONFIG.SYS` but this is also not something we can test. + +Use `toledeo2.alt` as you would `toledo2` above. ## Judges' remarks: @@ -166,7 +172,7 @@ When the `>` prompt appears, do: IMPORT DDT.COM ``` -When it ends, do `HALT`, so the file is saved, and you can start +When it ends, do `HALT`, so the file is closed, and you can start the same process with another file. At this time I have tested successfully the following software @@ -199,11 +205,15 @@ ANSI terminal: write --> putchar(7[o]) system --> nothing +Notice that you'll have to do `#include ` as well. + Also add the following to trap Ctrl-C: #include signal(SIGINT, SIG_IGN); +NOTE: this is what the [alternate code](#alternate-code) is for! + NOTE from the judges: in Unix like systems `getch()` is part of curses but this is not what is needed. diff --git a/bugs.md b/bugs.md index 9683b1e25..33869649f 100644 --- a/bugs.md +++ b/bugs.md @@ -1534,28 +1534,20 @@ not crash in macOS (it appeared to work fine in fedora linux on an `x86_64` architecture but he does not know if it crashed in macOS Ventura due to the fact 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 and one bug (see below). +two features that are not bugs. By design this program is supposed to crash on termination. You must type in caps (except in strings) and this program is indeed case-sensitive. -### STATUS: possible bug (possibly depending on system) - please help test and if necessary fix +### STATUS: missing files - please provide them -The author showed something like this in their remarks: - -```sh -./toledo2 DDT.COM -A> IMPORT DDT.COM -``` - -but the `A>` prompt never appears; instead it's just the same as if you -specified no arg which is `>`. It seems like the `A>` might be a typo. That -being said from the description by the author, if the required files exist in -the directory, it seems you can do `HALT` 'so the file is saved, and you can -start the same process with another file'. This does not seem to work but it -might be not enough information or a misunderstanding. +A file is missing from the archive linked to by the author so we have not been +able to add it. Cody tried a few of the other zip files at the website linked to +but no luck. Do you have the proper file? The file is `IMPORT.COM`. If you do +please provide a link or make a pull request, adding it to the repo, after +testing it to make sure it works in the program. # 2007 diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index ef4c4e0c4..40cc952c2 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -2274,6 +2274,10 @@ macOS - it did not seem to be a problem under linux, at least not fedora. The problem was wrong variable types - implicit `int`s instead of `FILE *`s. It now works with both macOS and linux. +Cody also added the (untested) alt code that is based on the author's remarks to +port this to systems that have the non-standard `kbhit()` and `getch()` (not the +one from curses) which is typically (always?) in `conio.h`. + ## [2006/toledo3](2006/toledo3/toledo3.c) ([README.md](2006/toledo3/README.md]))