Post by TristanoPost by n***@zzo38computer.org.invalidAs far as I know, TADS, Hugo, and ADRIFT are not "Free VMs"
The above statement is a bit confusing.
TADS is the only one of those three systems that actually uses a VM (the
https://www.tads.org/t3doc/doc/techman/t3spec.htm
I was using a broader meaning by the term "VM", since I was talking about a
different consideration than normally is considered by "VM".
Post by TristanoAs to those systems being not free, I'm not quite sure what you mean, for all
three are open source (although TADS doesn't allow derivative works, it
allows porting the T3-VM to other systems).
OK, so I was mistaken about Hugo and ADRIFT. However, since TADS does not
allow derivative works that does not qualify as open source or Free software
(although perhaps a new implementation could be made by reading the
documentation about the T3-VM and implementing that, maybe).
Post by TristanoADRIFT has become fully open source since quite a while, and the full source
https://github.com/jcwild/ADRIFT-5
OK, so that is good.
However, it seems to be written in VB.NET and doesn't use Glk. (Fortunately,
there is Mono to run .NET executables on non-Windows systems, and I read the
documentation and it says there is a Mono Runner, so that will work, so that
is good. I personally would prefer in C or Glulx, but Mono works too.)
I also see no mention on the web site about the source code; it is found
only in GitHub as far as I can tell. (Maybe I missed it, but I cannot find it
so easily, if it is there.)
I also cannot find documentation about the file format.
Post by TristanoHugo has also been released under BSD-2-Clause since quite some years [...]
https://github.com/tajmone/hugo
Possibly the confusion with Hugo being open sources is that the copyright
notice was never changed in the source files, mainly for historical
preservation. But the license prevails on these copyright notices, and you
are free to change Hugo as you like.
Yes, it is confusing, but thank you for clarifying that.
Still I would want to see if Glk Hugo can be compiled into Glulx code. (I
thought of some ideas about compiling C to Glulx, and there are some
difficulties with some programs, such as dynamic local allocation within
reentrant functions. Some other things would likely have to be altered too,
such as the file handling into the Glk file handling. There is also the
difficulty that the Glk "S" type does not correspond to C strings in Glulx;
although most functions also have versions that use address/length which can
be used instead (this can be done automatically, so the program need not be
altered to use this), this is not the case for file handling functions.)
Post by TristanoPost by n***@zzo38computer.org.invalidHugo seems to have other problems such
as assuming 16-bit integers on 32-bit systems
Could you please expand on that? I'm interest in learning more about these
limits, since I'm working on/with Hugo right now.
Last time I checked I thought I noticed something like that, but I cannot
find it now. It looks like it is designed to work with 16-bit integers but
allows the system to use larger integers, and would not malfunction on a
system with 32-bit or larger integers. I suppose I must have made a mistake,
because what I wrote before seems to be wrong (either that, or it was the
case in some older version that is no longer in use, but has been fixed now).
So, I was mistaken. Sorry for my mistakes, and thank you to clarify!
--
Note: I am not always able to read/post messages during Monday-Friday.