From a3d8dbef8ec2442280d6085d43601bf4ba6cadf9 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Sun, 16 Sep 2012 13:04:26 +0200 Subject: [PATCH] Update interpreters to latest Garglk codebase --- interpreters/frotz/buffer.c | 2 +- interpreters/frotz/err.c | 2 +- interpreters/frotz/fastmem.c | 2 +- interpreters/frotz/files.c | 2 +- interpreters/frotz/glkmisc.c | 8 - interpreters/frotz/glkscreen.c | 4 + interpreters/frotz/input.c | 2 +- interpreters/frotz/main.c | 2 +- interpreters/frotz/math.c | 2 +- interpreters/frotz/object.c | 2 +- interpreters/frotz/process.c | 2 +- interpreters/frotz/quetzal.c | 2 +- interpreters/frotz/random.c | 2 +- interpreters/frotz/redirect.c | 2 +- interpreters/frotz/sound.c | 2 +- interpreters/frotz/stream.c | 2 +- interpreters/frotz/table.c | 2 +- interpreters/frotz/text.c | 2 +- interpreters/frotz/variable.c | 2 +- interpreters/git/Makefile.am | 2 +- interpreters/git/README.txt | 36 ++-- interpreters/git/git.h | 1 + interpreters/git/glkop.c | 57 ++++++- interpreters/git/terp.c | 287 ++++++++++++++++---------------- interpreters/git/version.h | 2 +- interpreters/glulxe/unixstrt.c | 57 ++----- interpreters/nitfol/automap.c | 2 +- interpreters/nitfol/debug.c | 2 +- interpreters/nitfol/decode.c | 2 +- interpreters/nitfol/errmesg.c | 2 +- interpreters/nitfol/globals.c | 2 +- interpreters/nitfol/iff.c | 2 +- interpreters/nitfol/infix.c | 2 +- interpreters/nitfol/init.c | 2 +- interpreters/nitfol/io.c | 2 +- interpreters/nitfol/linkevil.h | 2 +- interpreters/nitfol/main.c | 2 +- interpreters/nitfol/nitfol.h | 2 +- interpreters/nitfol/objects.c | 2 +- interpreters/nitfol/op_call.c | 2 +- interpreters/nitfol/op_jmp.c | 2 +- interpreters/nitfol/op_math.c | 2 +- interpreters/nitfol/op_save.c | 2 +- interpreters/nitfol/op_table.c | 2 +- interpreters/nitfol/op_v6.c | 2 +- interpreters/nitfol/oplist.c | 2 +- interpreters/nitfol/opt2glkc.pl | 2 +- interpreters/nitfol/portfunc.c | 2 +- interpreters/nitfol/quetzal.c | 2 +- interpreters/nitfol/solve.c | 2 +- interpreters/nitfol/sound.c | 2 +- interpreters/nitfol/stack.c | 2 +- interpreters/nitfol/struct.c | 2 +- interpreters/nitfol/tokenise.c | 2 +- interpreters/nitfol/undo.c | 2 +- interpreters/nitfol/z_io.c | 2 +- interpreters/nitfol/zscii.c | 2 +- 57 files changed, 287 insertions(+), 263 deletions(-) diff --git a/interpreters/frotz/buffer.c b/interpreters/frotz/buffer.c index bff9572..f454f72 100644 --- a/interpreters/frotz/buffer.c +++ b/interpreters/frotz/buffer.c @@ -16,7 +16,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/err.c b/interpreters/frotz/err.c index ffb5168..81f2f14 100644 --- a/interpreters/frotz/err.c +++ b/interpreters/frotz/err.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/fastmem.c b/interpreters/frotz/fastmem.c index cb4a20e..2e99d8d 100644 --- a/interpreters/frotz/fastmem.c +++ b/interpreters/frotz/fastmem.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ /* diff --git a/interpreters/frotz/files.c b/interpreters/frotz/files.c index f407395..5804d7f 100644 --- a/interpreters/frotz/files.c +++ b/interpreters/frotz/files.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/glkmisc.c b/interpreters/frotz/glkmisc.c index c559818..85b13c9 100644 --- a/interpreters/frotz/glkmisc.c +++ b/interpreters/frotz/glkmisc.c @@ -189,53 +189,45 @@ void os_init_screen(void) glk_stylehint_set(wintype_AllTypes, style_Preformatted, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_Preformatted, stylehint_Weight, 0); glk_stylehint_set(wintype_AllTypes, style_Preformatted, stylehint_Oblique, 0); - glk_stylehint_set(wintype_TextGrid, style_Preformatted, stylehint_ReverseColor, 1); /* monob */ glk_stylehint_set(wintype_AllTypes, style_Subheader, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_Subheader, stylehint_Weight, 1); glk_stylehint_set(wintype_AllTypes, style_Subheader, stylehint_Oblique, 0); - glk_stylehint_set(wintype_TextGrid, style_Subheader, stylehint_ReverseColor, 1); /* monoi */ glk_stylehint_set(wintype_AllTypes, style_Alert, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_Alert, stylehint_Weight, 0); glk_stylehint_set(wintype_AllTypes, style_Alert, stylehint_Oblique, 1); - glk_stylehint_set(wintype_TextGrid, style_Alert, stylehint_ReverseColor, 1); /* monoz */ glk_stylehint_set(wintype_AllTypes, style_BlockQuote, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_BlockQuote, stylehint_Weight, 1); glk_stylehint_set(wintype_AllTypes, style_BlockQuote, stylehint_Oblique, 1); - glk_stylehint_set(wintype_TextGrid, style_BlockQuote, stylehint_ReverseColor, 1); /* propr */ glk_stylehint_set(wintype_TextBuffer, style_Normal, stylehint_Proportional, 1); glk_stylehint_set(wintype_TextGrid, style_Normal, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_Normal, stylehint_Weight, 0); glk_stylehint_set(wintype_AllTypes, style_Normal, stylehint_Oblique, 0); - glk_stylehint_set(wintype_TextGrid, style_Normal, stylehint_ReverseColor, 1); /* propb */ glk_stylehint_set(wintype_TextBuffer, style_Header, stylehint_Proportional, 1); glk_stylehint_set(wintype_TextGrid, style_Header, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_Header, stylehint_Weight, 1); glk_stylehint_set(wintype_AllTypes, style_Header, stylehint_Oblique, 0); - glk_stylehint_set(wintype_TextGrid, style_Header, stylehint_ReverseColor, 1); /* propi */ glk_stylehint_set(wintype_TextBuffer, style_Emphasized, stylehint_Proportional, 1); glk_stylehint_set(wintype_TextGrid, style_Emphasized, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_Emphasized, stylehint_Weight, 0); glk_stylehint_set(wintype_AllTypes, style_Emphasized, stylehint_Oblique, 1); - glk_stylehint_set(wintype_TextGrid, style_Emphasized, stylehint_ReverseColor, 1); /* propi */ glk_stylehint_set(wintype_TextBuffer, style_Note, stylehint_Proportional, 1); glk_stylehint_set(wintype_TextGrid, style_Note, stylehint_Proportional, 0); glk_stylehint_set(wintype_AllTypes, style_Note, stylehint_Weight, 1); glk_stylehint_set(wintype_AllTypes, style_Note, stylehint_Oblique, 1); - glk_stylehint_set(wintype_TextGrid, style_Note, stylehint_ReverseColor, 1); gos_lower = glk_window_open(0, 0, 0, wintype_TextGrid, 0); if (!gos_lower) diff --git a/interpreters/frotz/glkscreen.c b/interpreters/frotz/glkscreen.c index 079373b..2d72bfd 100644 --- a/interpreters/frotz/glkscreen.c +++ b/interpreters/frotz/glkscreen.c @@ -896,6 +896,10 @@ void z_show_status (void) glk_set_window(gos_upper); gos_curwin = gos_upper; +#ifdef GARGLK + garglk_set_reversevideo(TRUE); +#endif /* GARGLK */ + curx = cury = 1; glk_window_move_cursor(gos_upper, 0, 0); diff --git a/interpreters/frotz/input.c b/interpreters/frotz/input.c index f17ec66..ced562f 100644 --- a/interpreters/frotz/input.c +++ b/interpreters/frotz/input.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/main.c b/interpreters/frotz/main.c index 4fbbd1e..671184b 100644 --- a/interpreters/frotz/main.c +++ b/interpreters/frotz/main.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ /* diff --git a/interpreters/frotz/math.c b/interpreters/frotz/math.c index 5ff5163..944710f 100644 --- a/interpreters/frotz/math.c +++ b/interpreters/frotz/math.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/object.c b/interpreters/frotz/object.c index a1e86e4..ed21087 100644 --- a/interpreters/frotz/object.c +++ b/interpreters/frotz/object.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/process.c b/interpreters/frotz/process.c index 58c8607..4d9687a 100644 --- a/interpreters/frotz/process.c +++ b/interpreters/frotz/process.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/quetzal.c b/interpreters/frotz/quetzal.c index e41a57b..d48a973 100644 --- a/interpreters/frotz/quetzal.c +++ b/interpreters/frotz/quetzal.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/random.c b/interpreters/frotz/random.c index 6ea14d8..7eed57a 100644 --- a/interpreters/frotz/random.c +++ b/interpreters/frotz/random.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/redirect.c b/interpreters/frotz/redirect.c index 239e9c4..6b0703c 100644 --- a/interpreters/frotz/redirect.c +++ b/interpreters/frotz/redirect.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/sound.c b/interpreters/frotz/sound.c index 9c4d63a..0a29d0b 100644 --- a/interpreters/frotz/sound.c +++ b/interpreters/frotz/sound.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/stream.c b/interpreters/frotz/stream.c index 54cef78..69e6764 100644 --- a/interpreters/frotz/stream.c +++ b/interpreters/frotz/stream.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/table.c b/interpreters/frotz/table.c index eb3a163..9ec990c 100644 --- a/interpreters/frotz/table.c +++ b/interpreters/frotz/table.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/text.c b/interpreters/frotz/text.c index 9cccc2c..fd07b2c 100644 --- a/interpreters/frotz/text.c +++ b/interpreters/frotz/text.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/frotz/variable.c b/interpreters/frotz/variable.c index 3e5c6e0..98356f5 100644 --- a/interpreters/frotz/variable.c +++ b/interpreters/frotz/variable.c @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "frotz.h" diff --git a/interpreters/git/Makefile.am b/interpreters/git/Makefile.am index bbed8c4..f025600 100644 --- a/interpreters/git/Makefile.am +++ b/interpreters/git/Makefile.am @@ -1,7 +1,7 @@ # Automatically generate version.h MAJOR = 1 MINOR = 2 -PATCH = 8 +PATCH = 9 version.h: Makefile.am $(AM_V_GEN)echo "// Automatically generated file -- do not edit!" > version.h $(AM_V_at)echo "#define GIT_MAJOR" $(MAJOR) >> version.h diff --git a/interpreters/git/README.txt b/interpreters/git/README.txt index 2462bcf..4161fdd 100644 --- a/interpreters/git/README.txt +++ b/interpreters/git/README.txt @@ -1,6 +1,6 @@ Git is an interpreter for the Glulx virtual machine. Its homepage is here: - http://diden.net/if/git +http://ifarchive.org/indexes/if-archiveXprogrammingXglulxXinterpretersXgit.html Git's main goal in life is to be fast. It's about five times faster than Glulxe, and about twice as fast as Frotz (using the same Inform source compiled for the @@ -14,9 +14,12 @@ between each prompt. Have fun, and let me know what you think! - Iain Merrick + Iain Merrick (Original author) iain@diden.net + David Kinder (Current maintainer) + davidk.kinder@virgin.net + -------------------------------------------------------------------------------- * Building and installing Git @@ -31,7 +34,8 @@ hard, depending on what kind of computer you're using and whether you want Git to be able to display graphics and play sounds. To find a suitable Glk library, look here: - http://eblong.com/zarf/glk +http://eblong.com/zarf/glk/ +http://ifarchive.org/indexes/if-archiveXprogrammingXglkXimplementations.html Exactly how you build and link everything depends on what platform you're on and which Glk library you're using. The supplied Makefile should work on any Unix @@ -46,8 +50,8 @@ respectively, but I can't guarantee that they're fully up-to-date. It should be possible to build Git with any C compiler, but it works best with GCC, because that has a non-standard extension that Git can use for a big speed -boost. GCC 2.95 actually generates faster code than GCC 3, so if you have a -choice, use the former. (On OS X, this means compiling with 'gcc2'.) +boost. GCC 2.95 actually generates faster code than later versions, so if you +have a choice, use the former. (On OS X, this means compiling with 'gcc2'.) -------------------------------------------------------------------------------- @@ -116,12 +120,9 @@ KB. 256KB is usually enough to store dozens of moves. GCC 3 has bigger problems than I thought. On PowerPC, the direct threading option results in much slower code; and on x86, terp.c crashes GCC itself if -direct threading is used. Therefore, I recommend that you use GCC 2.95 if -possible. If you only have GCC 3, don't define USE_DIRECT_THREADING, at least -until the compiler bug is fixed. - -Since the previous update, GCC 4 has been released, but I haven't evaluated it -yet. If you want to give it a try, let me know how you get on! +direct threading is used. GCC 4 seems to work, given some very limited testing, +but still results in slow code. Therefore, I recommend that you use GCC 2.95 if +possible. If you only have GCC 3, don't define USE_DIRECT_THREADING. Some Glk libraries, such as xglk, can't deal with memory-mapped files. You can tell that this is happening if Git can open .ulx files, but complains that .blb @@ -130,9 +131,9 @@ your startup file, and make sure you're giving it a file stream rather than a memory stream. If you're using the git_unix.c startup file, just make sure USE_MMAP isn't defined. -1-byte and 2-byte local variables are not implemented yet. This means git can't -currently play games created with the Superglus system. This will be fixed at -some point. +1-byte and 2-byte local variables are not implemented. This means git can't +play games created with old versions of the Superglus system. As these small +local variables now deprecated, it is unlikely that this will be fixed. In the search opcodes, direct keys don't work unless they're exactly 4 bytes long. @@ -191,6 +192,12 @@ also to Eliuk Blau for tracking down bugs in the memory management opcodes. * Version History +1.2.9 2011-08-28 Fixed a bug in glkop.c dispatching, to do with optional + array arguments, following a similar fix in Glulxe. + Glk array and string operations are now checked for memory + overflows (though not for ROM writing), following a similar + fix in Glulxe. + 1.2.8 2010-08-25 Fixed a problem with 'undo' when compiled as 64 bit, contributed by Ben Cressey. Fixed a sign problem for the @fceil opcode, following a @@ -267,3 +274,4 @@ also to Eliuk Blau for tracking down bugs in the memory management opcodes. Added gitWithStream() as a workaround for xglk 1.0 2003-10-18 First public release + diff --git a/interpreters/git/git.h b/interpreters/git/git.h index cd1f90e..cfb0a94 100644 --- a/interpreters/git/git.h +++ b/interpreters/git/git.h @@ -124,6 +124,7 @@ extern void startProgram (size_t cacheSize, enum IOMode ioMode); extern int git_init_dispatch(); extern glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist); extern strid_t git_find_stream_by_id(glui32 id); +extern glui32 git_find_id_for_stream(strid_t str); // git_search.c diff --git a/interpreters/git/glkop.c b/interpreters/git/glkop.c index f8c7ff0..fa5b029 100644 --- a/interpreters/git/glkop.c +++ b/interpreters/git/glkop.c @@ -277,6 +277,16 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist) directly -- instead of bothering with the whole prototype mess. */ + case 0x0047: /* stream_set_current */ + if (numargs != 1) + goto WrongArgNum; + glk_stream_set_current(git_find_stream_by_id(arglist[0])); + break; + case 0x0048: /* stream_get_current */ + if (numargs != 0) + goto WrongArgNum; + retval = git_find_id_for_stream(glk_stream_get_current()); + break; case 0x0080: /* put_char */ if (numargs != 1) goto WrongArgNum; @@ -297,6 +307,16 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist) goto WrongArgNum; retval = glk_char_to_upper(arglist[0] & 0xFF); break; + case 0x0128: /* put_char_uni */ + if (numargs != 1) + goto WrongArgNum; + glk_put_char_uni(arglist[0]); + break; + case 0x012B: /* put_char_stream_uni */ + if (numargs != 2) + goto WrongArgNum; + glk_put_char_stream_uni(git_find_stream_by_id(arglist[0]), arglist[1]); + break; WrongArgNum: fatalError("Wrong number of arguments to Glk function."); @@ -306,7 +326,7 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist) /* Go through the full dispatcher prototype foo. */ char *proto, *cx; dispatch_splot_t splot; - int argnum; + int argnum, argnum2; /* Grab the string. */ proto = gidispatch_prototype(funcnum); @@ -335,9 +355,11 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist) gidispatch_call(funcnum, argnum, splot.garglist); /* Phase 3. */ - argnum = 0; + argnum2 = 0; cx = proto; - unparse_glk_args(&splot, &cx, 0, &argnum, 0, 0); + unparse_glk_args(&splot, &cx, 0, &argnum2, 0, 0); + if (argnum != argnum2) + fatalError("Argument counts did not match."); break; } @@ -560,6 +582,12 @@ static void parse_glk_args(dispatch_splot_t *splot, char **proto, int depth, switch (typeclass) { case 'C': + /* This test checks for a giant array length, and cuts it down to + something reasonable. Future releases of this interpreter may + treat this case as a fatal error. */ + if (varglist[ix+1] > gEndMem || varglist[ix]+varglist[ix+1] > gEndMem) + varglist[ix+1] = gEndMem - varglist[ix]; + garglist[gargnum].array = (void*) AddressOfArray(varglist[ix]); gargnum++; ix++; @@ -568,6 +596,10 @@ static void parse_glk_args(dispatch_splot_t *splot, char **proto, int depth, cx++; break; case 'I': + /* See comment above. */ + if (varglist[ix+1] > gEndMem/4 || varglist[ix+1] > (gEndMem-varglist[ix])/4) + varglist[ix+1] = (gEndMem - varglist[ix]) / 4; + garglist[gargnum].array = CaptureIArray(varglist[ix], varglist[ix+1], passin); gargnum++; ix++; @@ -679,6 +711,8 @@ static void parse_glk_args(dispatch_splot_t *splot, char **proto, int depth, } else { cx++; + if (isarray) + ix++; } } } @@ -885,6 +919,8 @@ static void unparse_glk_args(dispatch_splot_t *splot, char **proto, int depth, } else { cx++; + if (isarray) + ix++; } } } @@ -916,6 +952,21 @@ strid_t git_find_stream_by_id(glui32 objid) return classes_get(1, objid); } +/* find_id_for_stream(): + The converse of find_stream_by_id(). + This is only needed in this file, so it's static. +*/ +glui32 git_find_id_for_stream(strid_t str) +{ + gidispatch_rock_t objrock; + + if (!str) + return 0; + + objrock = gidispatch_get_objrock(str, 1); + return ((classref_t *)objrock.ptr)->id; +} + /* Build a hash table to hold a set of Glk objects. */ static classtable_t *new_classtable(glui32 firstid) { diff --git a/interpreters/git/terp.c b/interpreters/git/terp.c index 870b4f1..d157826 100644 --- a/interpreters/git/terp.c +++ b/interpreters/git/terp.c @@ -38,29 +38,29 @@ Opcode* gOpcodeTable; int floatCompare(git_sint32 L1, git_sint32 L2, git_sint32 L3) { - git_float F1, F2; - - if (((L3 & 0x7F800000) == 0x7F800000) && ((L3 & 0x007FFFFF) != 0)) - return 0; - if ((L1 == 0x7F800000 || L1 == 0xFF800000) && (L2 == 0x7F800000 || L2 == 0xFF800000)) - return (L1 == L2); - - F1 = DECODE_FLOAT(L2) - DECODE_FLOAT(L1); - F2 = fabs(DECODE_FLOAT(L3)); - return ((F1 <= F2) && (F1 >= -F2)); + git_float F1, F2; + + if (((L3 & 0x7F800000) == 0x7F800000) && ((L3 & 0x007FFFFF) != 0)) + return 0; + if ((L1 == 0x7F800000 || L1 == 0xFF800000) && (L2 == 0x7F800000 || L2 == 0xFF800000)) + return (L1 == L2); + + F1 = DECODE_FLOAT(L2) - DECODE_FLOAT(L1); + F2 = fabs(DECODE_FLOAT(L3)); + return ((F1 <= F2) && (F1 >= -F2)); } -#ifdef USE_OWN_POWF -float git_powf(float x, float y) -{ - if (x == 1.0f) - return 1.0f; - else if ((y == 0.0f) || (y == -0.0f)) - return 1.0f; - else if ((x == -1.0f) && isinf(y)) - return 1.0f; - return powf(x,y); -} +#ifdef USE_OWN_POWF +float git_powf(float x, float y) +{ + if (x == 1.0f) + return 1.0f; + else if ((y == 0.0f) || (y == -0.0f)) + return 1.0f; + else if ((x == -1.0f) && isinf(y)) + return 1.0f; + return powf(x,y); +} #endif // ------------------------------------------------------------- @@ -231,7 +231,12 @@ do_enter_function_L1: // Arg count is in L2. L6 = memRead8(L1++); // LocalType L5 = memRead8(L1++); // LocalCount if (L6 != 4 && L6 != 0) // We only support 4-byte locals. - fatalError("Local variable wasn't 4 bytes wide"); + { + if (L6 == 1 || L6 == 2) + fatalError("Short local variables are not supported, use Glulxe"); + else + fatalError("Local variable wasn't 4 bytes wide"); + } L4 += L5; // Cumulative local count. } while (L5 != 0); @@ -330,7 +335,7 @@ do_enter_function_L1: // Arg count is in L2. PEEPHOLE_STORE(fadd, F1 = DECODE_FLOAT(L1) + DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1)); PEEPHOLE_STORE(fsub, F1 = DECODE_FLOAT(L1) - DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1)); PEEPHOLE_STORE(fmul, F1 = DECODE_FLOAT(L1) * DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1)); - PEEPHOLE_STORE(fdiv, F1 = DECODE_FLOAT(L1) / DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1)); + PEEPHOLE_STORE(fdiv, F1 = DECODE_FLOAT(L1) / DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1)); #define PEEPHOLE_LOAD(tag,reg) \ do_ ## tag ## _ ## reg ## _const: reg = READ_PC; goto do_ ## tag; \ @@ -1323,124 +1328,124 @@ do_tailcall: // Floating point (new with glulx spec 3.1.2) - do_numtof: - F1 = (git_float) L1; - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_ftonumz: - F1 = DECODE_FLOAT(L1); - if (!signbit(F1)) { - if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0)) - S1 = 0x7FFFFFFF; - else - S1 = (git_sint32) truncf(F1); - } else { - if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0)) - S1 = 0x80000000; - else - S1 = (git_sint32) truncf(F1); - } - NEXT; - - do_ftonumn: - F1 = DECODE_FLOAT(L1); - if (!signbit(F1)) { - if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0)) - S1 = 0x7FFFFFFF; - else - S1 = (git_sint32) roundf(F1); - } else { - if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0)) - S1 = 0x80000000; - else - S1 = (git_sint32) roundf(F1); - } - NEXT; - - do_ceil: - F1 = ceilf(DECODE_FLOAT(L1)); - L2 = ENCODE_FLOAT(F1); - if ((L2 == 0x0) || (L2 == 0x80000000)) - L2 = L1 & 0x80000000; - S1 = L2; - NEXT; - - do_floor: - F1 = floorf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_sqrt: - F1 = sqrtf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_exp: - F1 = expf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_log: - F1 = logf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_pow: -#ifdef USE_OWN_POWF - F1 = git_powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2)); -#else - F1 = powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2)); -#endif - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_atan2: - F1 = atan2f(DECODE_FLOAT(L1), DECODE_FLOAT(L2)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_fmod: - F1 = DECODE_FLOAT(L1); - F2 = DECODE_FLOAT(L2); - F3 = fmodf(F1, F2); - F4 = (F1 - F3) / F2; - L4 = ENCODE_FLOAT(F4); - if ((L4 == 0) || (L4 == 0x80000000)) - L4 = (L1 ^ L2) & 0x80000000; - S1 = ENCODE_FLOAT(F3); - S2 = L4; - NEXT; - - do_sin: - F1 = sinf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_cos: - F1 = cosf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_tan: - F1 = tanf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_asin: - F1 = asinf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_acos: - F1 = acosf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; - - do_atan: - F1 = atanf(DECODE_FLOAT(L1)); - S1 = ENCODE_FLOAT(F1); - NEXT; + do_numtof: + F1 = (git_float) L1; + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_ftonumz: + F1 = DECODE_FLOAT(L1); + if (!signbit(F1)) { + if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0)) + S1 = 0x7FFFFFFF; + else + S1 = (git_sint32) truncf(F1); + } else { + if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0)) + S1 = 0x80000000; + else + S1 = (git_sint32) truncf(F1); + } + NEXT; + + do_ftonumn: + F1 = DECODE_FLOAT(L1); + if (!signbit(F1)) { + if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0)) + S1 = 0x7FFFFFFF; + else + S1 = (git_sint32) roundf(F1); + } else { + if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0)) + S1 = 0x80000000; + else + S1 = (git_sint32) roundf(F1); + } + NEXT; + + do_ceil: + F1 = ceilf(DECODE_FLOAT(L1)); + L2 = ENCODE_FLOAT(F1); + if ((L2 == 0x0) || (L2 == 0x80000000)) + L2 = L1 & 0x80000000; + S1 = L2; + NEXT; + + do_floor: + F1 = floorf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_sqrt: + F1 = sqrtf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_exp: + F1 = expf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_log: + F1 = logf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_pow: +#ifdef USE_OWN_POWF + F1 = git_powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2)); +#else + F1 = powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2)); +#endif + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_atan2: + F1 = atan2f(DECODE_FLOAT(L1), DECODE_FLOAT(L2)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_fmod: + F1 = DECODE_FLOAT(L1); + F2 = DECODE_FLOAT(L2); + F3 = fmodf(F1, F2); + F4 = (F1 - F3) / F2; + L4 = ENCODE_FLOAT(F4); + if ((L4 == 0) || (L4 == 0x80000000)) + L4 = (L1 ^ L2) & 0x80000000; + S1 = ENCODE_FLOAT(F3); + S2 = L4; + NEXT; + + do_sin: + F1 = sinf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_cos: + F1 = cosf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_tan: + F1 = tanf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_asin: + F1 = asinf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_acos: + F1 = acosf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; + + do_atan: + F1 = atanf(DECODE_FLOAT(L1)); + S1 = ENCODE_FLOAT(F1); + NEXT; // Special Git opcodes diff --git a/interpreters/git/version.h b/interpreters/git/version.h index ed0e7ab..184ed51 100644 --- a/interpreters/git/version.h +++ b/interpreters/git/version.h @@ -1,4 +1,4 @@ // Automatically generated file -- do not edit! #define GIT_MAJOR 1 #define GIT_MINOR 2 -#define GIT_PATCH 8 +#define GIT_PATCH 9 diff --git a/interpreters/glulxe/unixstrt.c b/interpreters/glulxe/unixstrt.c index 38779a2..f4fa205 100644 --- a/interpreters/glulxe/unixstrt.c +++ b/interpreters/glulxe/unixstrt.c @@ -3,22 +3,14 @@ http://eblong.com/zarf/glulx/index.html */ -#include #include "glk.h" #include "glulxe.h" #include "glkstart.h" /* This comes with the Glk library. */ +#include -/* The only command-line argument is the filename. And the profiling switch, - if that's compiled in. The only *two* command-line arguments are... -*/ +/* The only command-line argument is the filename. */ glkunix_argumentlist_t glkunix_arguments[] = { - -#if VM_PROFILING - { "--profile", glkunix_arg_ValueFollows, "Generate profiling information to a file." }, -#endif /* VM_PROFILING */ - { "", glkunix_arg_ValueFollows, "filename: The game file to load." }, - { NULL, glkunix_arg_End, NULL } }; @@ -26,64 +18,35 @@ int glkunix_startup_code(glkunix_startup_t *data) { /* It turns out to be more convenient if we return TRUE from here, even when an error occurs, and display an error in glk_main(). */ - int ix; - char *filename = NULL; + char *cx; unsigned char buf[12]; int res; #ifdef GARGLK - char *cx; garglk_set_program_name("Glulxe 0.4.7"); garglk_set_program_info("Glulxe 0.4.7 by Andrew Plotkin"); #endif - /* Parse out the arguments. They've already been checked for validity, - and the library-specific ones stripped out. - As usual for Unix, the zeroth argument is the executable name. */ - for (ix=1; ixargc; ix++) { - -#if VM_PROFILING - if (!strcmp(data->argv[ix], "--profile")) { - ix++; - if (ixargc) { - strid_t profstr = glkunix_stream_open_pathname_gen(data->argv[ix], TRUE, FALSE, 1); - if (!profstr) { - init_err = "Unable to open profile output file."; - init_err2 = data->argv[ix]; - return TRUE; - } - setup_profile(profstr, NULL); - } - continue; - } -#endif /* VM_PROFILING */ - - if (filename) { - init_err = "You must supply exactly one game file."; - return TRUE; - } - filename = data->argv[ix]; - } - - if (!filename) { + if (data->argc <= 1) { init_err = "You must supply the name of a game file."; #ifdef GARGLK return TRUE; /* Hack! but I want error message in glk window */ #endif return FALSE; } + cx = data->argv[1]; - gamefile = glkunix_stream_open_pathname(filename, FALSE, 1); + gamefile = glkunix_stream_open_pathname(cx, FALSE, 1); if (!gamefile) { init_err = "The game file could not be opened."; - init_err2 = filename; + init_err2 = cx; return TRUE; } #ifdef GARGLK - cx = strrchr(filename, '/'); - if (!cx) cx = strrchr(filename, '\\'); - garglk_set_story_name(cx ? cx + 1 : filename); + cx = strrchr(data->argv[1], '/'); + if (!cx) cx = strrchr(data->argv[1], '\\'); + garglk_set_story_name(cx ? cx + 1 : data->argv[1]); #endif /* Now we have to check to see if it's a Blorb file. */ diff --git a/interpreters/nitfol/automap.c b/interpreters/nitfol/automap.c index b2647b9..bb5c832 100644 --- a/interpreters/nitfol/automap.c +++ b/interpreters/nitfol/automap.c @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/debug.c b/interpreters/nitfol/debug.c index 2163a76..ea980ee 100644 --- a/interpreters/nitfol/debug.c +++ b/interpreters/nitfol/debug.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/decode.c b/interpreters/nitfol/decode.c index 7f31eac..2c9eb3b 100644 --- a/interpreters/nitfol/decode.c +++ b/interpreters/nitfol/decode.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/errmesg.c b/interpreters/nitfol/errmesg.c index a49332e..d69fefa 100644 --- a/interpreters/nitfol/errmesg.c +++ b/interpreters/nitfol/errmesg.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/globals.c b/interpreters/nitfol/globals.c index fa85d2b..3e33221 100644 --- a/interpreters/nitfol/globals.c +++ b/interpreters/nitfol/globals.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/iff.c b/interpreters/nitfol/iff.c index 4fcfe41..dc0ba81 100644 --- a/interpreters/nitfol/iff.c +++ b/interpreters/nitfol/iff.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/infix.c b/interpreters/nitfol/infix.c index 47b208d..f31da35 100644 --- a/interpreters/nitfol/infix.c +++ b/interpreters/nitfol/infix.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/init.c b/interpreters/nitfol/init.c index 6196d40..23b94ac 100644 --- a/interpreters/nitfol/init.c +++ b/interpreters/nitfol/init.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/io.c b/interpreters/nitfol/io.c index ee29799..41d62f3 100644 --- a/interpreters/nitfol/io.c +++ b/interpreters/nitfol/io.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/linkevil.h b/interpreters/nitfol/linkevil.h index df65116..6ba1aa8 100644 --- a/interpreters/nitfol/linkevil.h +++ b/interpreters/nitfol/linkevil.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at ecr+@andrew.cmu.edu */ diff --git a/interpreters/nitfol/main.c b/interpreters/nitfol/main.c index ce0ceac..79e42bd 100644 --- a/interpreters/nitfol/main.c +++ b/interpreters/nitfol/main.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/nitfol.h b/interpreters/nitfol/nitfol.h index 319a536..1b753cb 100644 --- a/interpreters/nitfol/nitfol.h +++ b/interpreters/nitfol/nitfol.h @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/objects.c b/interpreters/nitfol/objects.c index 185a781..1ae964b 100644 --- a/interpreters/nitfol/objects.c +++ b/interpreters/nitfol/objects.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/op_call.c b/interpreters/nitfol/op_call.c index ebedf4f..d6db12d 100644 --- a/interpreters/nitfol/op_call.c +++ b/interpreters/nitfol/op_call.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/op_jmp.c b/interpreters/nitfol/op_jmp.c index 9da59de..4a36996 100644 --- a/interpreters/nitfol/op_jmp.c +++ b/interpreters/nitfol/op_jmp.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/op_math.c b/interpreters/nitfol/op_math.c index 923bcde..b2fb4d2 100644 --- a/interpreters/nitfol/op_math.c +++ b/interpreters/nitfol/op_math.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/op_save.c b/interpreters/nitfol/op_save.c index 1ccef32..573334d 100644 --- a/interpreters/nitfol/op_save.c +++ b/interpreters/nitfol/op_save.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/op_table.c b/interpreters/nitfol/op_table.c index 9c2e54c..aa0d722 100644 --- a/interpreters/nitfol/op_table.c +++ b/interpreters/nitfol/op_table.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/op_v6.c b/interpreters/nitfol/op_v6.c index b641c3a..fbecba8 100644 --- a/interpreters/nitfol/op_v6.c +++ b/interpreters/nitfol/op_v6.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/oplist.c b/interpreters/nitfol/oplist.c index 454e02a..4bc5676 100644 --- a/interpreters/nitfol/oplist.c +++ b/interpreters/nitfol/oplist.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/opt2glkc.pl b/interpreters/nitfol/opt2glkc.pl index 6f60a64..0a5f255 100644 --- a/interpreters/nitfol/opt2glkc.pl +++ b/interpreters/nitfol/opt2glkc.pl @@ -36,7 +36,7 @@ my $configname = "configname = \"${dirsep}.${appname}rc\";"; # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # The author can be reached at nitfol@my-deja.com diff --git a/interpreters/nitfol/portfunc.c b/interpreters/nitfol/portfunc.c index 9c5c552..9a444b6 100644 --- a/interpreters/nitfol/portfunc.c +++ b/interpreters/nitfol/portfunc.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/quetzal.c b/interpreters/nitfol/quetzal.c index 0ddbf36..7fd27da 100644 --- a/interpreters/nitfol/quetzal.c +++ b/interpreters/nitfol/quetzal.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/solve.c b/interpreters/nitfol/solve.c index 33a3e30..9799906 100644 --- a/interpreters/nitfol/solve.c +++ b/interpreters/nitfol/solve.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/sound.c b/interpreters/nitfol/sound.c index 763afcd..4d79cbf 100644 --- a/interpreters/nitfol/sound.c +++ b/interpreters/nitfol/sound.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/stack.c b/interpreters/nitfol/stack.c index 08195c2..3b93209 100644 --- a/interpreters/nitfol/stack.c +++ b/interpreters/nitfol/stack.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/struct.c b/interpreters/nitfol/struct.c index c0a58cf..6108b47 100644 --- a/interpreters/nitfol/struct.c +++ b/interpreters/nitfol/struct.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/tokenise.c b/interpreters/nitfol/tokenise.c index 7db9db6..e32387b 100644 --- a/interpreters/nitfol/tokenise.c +++ b/interpreters/nitfol/tokenise.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/undo.c b/interpreters/nitfol/undo.c index 3f2cb22..5a98da9 100644 --- a/interpreters/nitfol/undo.c +++ b/interpreters/nitfol/undo.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/z_io.c b/interpreters/nitfol/z_io.c index a06fb5a..f7bcbbf 100644 --- a/interpreters/nitfol/z_io.c +++ b/interpreters/nitfol/z_io.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ diff --git a/interpreters/nitfol/zscii.c b/interpreters/nitfol/zscii.c index f7c12d4..0beb9bf 100644 --- a/interpreters/nitfol/zscii.c +++ b/interpreters/nitfol/zscii.c @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. The author can be reached at nitfol@deja.com */ -- 2.30.2