Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
New release of Git 1.2.4 (Glulx interpreter)
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 30 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
David Kinder  
View profile  
 More options Apr 5 2009, 2:36 am
Newsgroups: rec.arts.int-fiction, rec.games.int-fiction
From: David Kinder <da...@david.david>
Date: Sun, 05 Apr 2009 07:36:45 +0100
Local: Sun, Apr 5 2009 2:36 am
Subject: New release of Git 1.2.4 (Glulx interpreter)
Yet another Git update! Git 1.2.4 is now out, and available from the Archive
and mirrors:

http://www.ifarchive.org/indexes/if-archiveXprogrammingXglulxXinterpr...

At the above is the source code, and a new Windows build.

This new version implements the new "Inform veneer acceleration" opcodes in
version 3.1.1 of the Glulx specification, bringing Git back to to parity
with Glulxe 0.4.4. Although these opcodes are currently only usable with
some Inform 6 hackery, the next Inform 7 release will use them automatically.

David


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeremy Bernstein  
View profile  
 More options Apr 6 2009, 6:44 am
Newsgroups: rec.arts.int-fiction, rec.games.int-fiction
From: Jeremy Bernstein <listor...@expr-i0.net>
Date: Mon, 6 Apr 2009 03:44:12 -0700 (PDT)
Local: Mon, Apr 6 2009 6:44 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
On 5 Apr., 08:36, David Kinder <da...@david.david> wrote:

> Yet another Git update! Git 1.2.4 is now out, and available from the Archive
> and mirrors:

> http://www.ifarchive.org/indexes/if-archiveXprogrammingXglulxXinterpr...

> At the above is the source code, and a new Windows build.

> This new version implements the new "Inform veneer acceleration" opcodes in
> version 3.1.1 of the Glulx specification, bringing Git back to to parity
> with Glulxe 0.4.4. Although these opcodes are currently only usable with
> some Inform 6 hackery, the next Inform 7 release will use them automatically.

> David

Thanks so much David. I've updated CellarDoor and have sent it around
for some testing...

jb


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uto  
View profile  
 More options Apr 6 2009, 8:04 am
Newsgroups: rec.arts.int-fiction, rec.games.int-fiction
From: Uto <csanche...@gmail.com>
Date: Mon, 6 Apr 2009 05:04:21 -0700 (PDT)
Local: Mon, Apr 6 2009 8:04 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
No ofence, but saying 'parity' when Git does not support even the
first glk specification it's saying too much :)

Yeh, I mean the byte/word access opcodes and in general the byte/worde
memory access. Sorry to insist :P

Carlos

On 6 abr, 12:44, Jeremy Bernstein <listor...@expr-i0.net> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 6 2009, 10:31 am
Newsgroups: rec.arts.int-fiction, rec.games.int-fiction
Followup-To: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Mon, 6 Apr 2009 14:31:26 +0000 (UTC)
Local: Mon, Apr 6 2009 10:31 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
In rec.arts.int-fiction, Uto <csanche...@gmail.com> wrote:

> No ofence, but saying 'parity' when Git does not support even the
> first glk specification it's saying too much :)

> Yeh, I mean the byte/word access opcodes and in general the byte/worde
> memory access. Sorry to insist :P

What do you mean? Git supports the @copys and @copyb opcodes, as well
as @astores and @astoreb. I've been testing both Git and Glulxe as I
work through my new interpreter, and I've only found one obscure bug,
which isn't related to memory access.

I believe Git doesn't support 2-byte and 1-byte local variables. This
is a known problem. I6 can only compile functions with full-size
(4-byte) locals; I'm guessing that you've run into this with your
assembler.

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uto  
View profile  
 More options Apr 6 2009, 11:59 am
Newsgroups: rec.arts.int-fiction
From: Uto <csanche...@gmail.com>
Date: Mon, 6 Apr 2009 08:59:30 -0700 (PDT)
Local: Mon, Apr 6 2009 11:59 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

> I believe Git doesn't support 2-byte and 1-byte local variables. This
> is a known problem. I6 can only compile functions with full-size
> (4-byte) locals; I'm guessing that you've run into this with your
> assembler.

Yes, I found it with glulxa assembler (which btw is not "my"
assembler, but Simon Stapleton's one) about 3 or 4 years ago, but does
that mean is less important? I mean, if it's a bug, is a bug. Is it so
hard to solve? Can I help some way?

I really thought it didn't support the @astoreb, @aloadb, etc.
opcodes, I don't see any reason to use them if no 1/2 bytes vars can
be used anyway, but I'm glad to know it does, cause then maybe the
solution may be closer.

When I say Git doesn't support even the first glk specs I mean, if it
does not support 1/2 byte vars, is not a Glulx implementation, and so
it's not following even the Glulx 1.0 specs. Yeh, I know it's kinda
brickheaded thoughts, but imho gestal+version opcode should return
0x00000000 in Git ;)

Well, I say it again, I can try to help solving that bug if needed,
but I would appreciate the help of someone who knows the code already.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 6 2009, 1:48 pm
Newsgroups: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Mon, 6 Apr 2009 17:48:03 +0000 (UTC)
Local: Mon, Apr 6 2009 1:48 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

Here, Uto <csanche...@gmail.com> wrote:
> > I believe Git doesn't support 2-byte and 1-byte local variables. This
> > is a known problem. I6 can only compile functions with full-size
> > (4-byte) locals; I'm guessing that you've run into this with your
> > assembler.

> Yes, I found it with glulxa assembler (which btw is not "my"
> assembler, but Simon Stapleton's one) about 3 or 4 years ago, but does
> that mean is less important?

Well, yes, it is less important. It doesn't break any existing game
files, and it's prominent enough to deter people from making games
that require this feature.

The feature (small local variables) doesn't block any development as
far as I know. I threw it into the spec without any obvious use case.
I think I was thinking that some other VM might be ported to Glulx,
and might want to use smaller values everywhere for efficient's sake.
But you can get the same effect with 4-byte locals if you throw in
some judicious "x & $FFFF".

So, I would be happy if the bug were fixed, but it's not on my
priority list.

> I mean, if it's a bug, is a bug. Is it so
> hard to solve? Can I help some way?

You will have to ask the Git maintainers about that.

> I really thought it didn't support the @astoreb, @aloadb, etc.
> opcodes, I don't see any reason to use them if no 1/2 bytes vars can
> be used anyway

That logic doesn't hold up. I6 uses @astoreb/@aloadb heavily --
everywhere it accesses a byte array (an "Array->index" expression in
I6). The I6 object structure has some two-byte fields, so the veneer
library uses @astores/@aloads as well. (In the object property table,
actually.) Git handles all of that correctly, because they're small
values in main memory. It's only the local variables that can't be
accessed at small sizes.

> When I say Git doesn't support even the first glk specs I mean, if it
> does not support 1/2 byte vars, is not a Glulx implementation, and so
> it's not following even the Glulx 1.0 specs. Yeh, I know it's kinda
> brickheaded thoughts, but imho gestal+version opcode should return
> 0x00000000 in Git ;)

Yeah, well, forcing the version number to reflect known bugs worked
out really poorly for the Z-machine. :)

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eliuk Blau  
View profile  
 More options Apr 6 2009, 2:57 pm
Newsgroups: rec.arts.int-fiction, rec.games.int-fiction
From: Eliuk Blau <eliukb...@gmail.com>
Date: Mon, 6 Apr 2009 11:57:07 -0700 (PDT)
Local: Mon, Apr 6 2009 2:57 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
On 5 abr, 02:36, David Kinder <da...@david.david> wrote:

> Yet another Git update! Git 1.2.4 is now out, and available from the Archive
> and mirrors:
> David

Good news, David! :D
Great work!

Saludos!
Eliuk Blau.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uto  
View profile  
 More options Apr 6 2009, 3:13 pm
Newsgroups: rec.arts.int-fiction
From: Uto <csanche...@gmail.com>
Date: Mon, 6 Apr 2009 12:13:29 -0700 (PDT)
Local: Mon, Apr 6 2009 3:13 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

> Well, yes, it is less important. It doesn't break any existing game
> files, and it's prominent enough to deter people from making games
> that require this feature.

Well, that's not true, it breaks all the games made with Superglus, as
Superglus uses that capability at least one year before Git did even
exist. That is, Git is rarely used in spanish IF scene, as people (in
general) prefer to have only one interpreter, not one for Inform and
one for Superglus games.

I fully understand though it's not in priority list, but I've been
really expecting it to climb up the priority list for long. After 3/4
years I think I'll give up. This afternoon I started to check
Superglus code to find a way to avoid the use of that kind of
variables, something that I've been long trying to avoid, as 140k
source file of glulx assembler is hard to check, and over that is hard
to be sure you are not introducing new bugs just to make a uncomplete
interpreter to work, but well, as I said, I gave up.

> The feature (small local variables) doesn't block any development as
> far as I know.

Well, now you know it does :)

>I threw it into the spec without any obvious use case.

That's true, and I don't know why the original writer of Superglus
decided to use them, but the fact is it was in the spec and he did

> So, I would be happy if the bug were fixed, but it's not on my
> > I mean, if it's a bug, is a bug. Is it so
> > hard to solve? Can I help some way?
> You will have to ask the Git maintainers about that.

Yeh, I was answering you, but it was actually a call to comunity, I'm
not really sure if Iain or David is taking care of taht atm :)

> That logic doesn't hold up. I6 uses @astoreb/@aloadb heavily --
> everywhere it accesses a byte array (an "Array->index" expression in
> I6). The I6 object structure has some two-byte fields, so the veneer

Yep, it seems I never understood the bug completely, I allways thought
Git was unable in general to manage anyhting that was not 4-bytes
wide. In fact, knowing that opcodes are supported, is the reason why
I'm looking at the way to avoid the bug, till now I wouldn't even have
tried, would have been no use :D

> Yeah, well, forcing the version number to reflect known bugs worked
> out really poorly for the Z-machine. :)

Well, I said it was a brickhead though :D

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 6 2009, 3:47 pm
Newsgroups: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Mon, 6 Apr 2009 19:47:17 +0000 (UTC)
Local: Mon, Apr 6 2009 3:47 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

Here, Uto <csanche...@gmail.com> wrote:

> > The feature (small local variables) doesn't block any development as
> > far as I know.

> Well, now you know it does :)

So I do. I apologize for not paying enough attention to the community
outside of RAIF.

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Git problems" by Uto
Uto  
View profile  
 More options Apr 6 2009, 4:11 pm
Newsgroups: rec.arts.int-fiction
From: Uto <csanche...@gmail.com>
Date: Mon, 6 Apr 2009 13:11:41 -0700 (PDT)
Local: Mon, Apr 6 2009 4:11 pm
Subject: Git problems

> So I do. I apologize for not paying enough attention to the community
> outside of RAIF.

Well, you cannot read spanish so you actually cannot, I could have
also insisted more on the problem and I did not (probably cause anyway
we have glulxe and zag to run games, so is not a critical problem).

Anyway, my work on Superglus is going well and it seems I have avoided
the 4-byte problem (it will require a deep test though, I don't wanna
introduce new bugs). Sadly, now I'm getting messages about writing out
of bounds I don't get why are happening. If I don't find a
solutionI'll try to post glulx asm code raising the error (there error
doesn't raise on glulxe).


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "New release of Git 1.2.4 (Glulx interpreter)" by David Kinder
David Kinder  
View profile  
 More options Apr 6 2009, 5:32 pm
Newsgroups: rec.arts.int-fiction
From: David Kinder <da...@david.david>
Date: Mon, 06 Apr 2009 22:32:07 +0100
Local: Mon, Apr 6 2009 5:32 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

Uto wrote:
> Yes, I found it with glulxa assembler (which btw is not "my"
> assembler, but Simon Stapleton's one) about 3 or 4 years ago, but does
> that mean is less important? I mean, if it's a bug, is a bug. Is it so
> hard to solve? Can I help some way?

It needs someone to spend the time thinking about how Git's stack is held,
and how 1 and 2 byte local variables can be introduced without slowing down
the rest of the interpreter. It's on my list of things to look at, but this
is a big list, and this particular problem is a fair way down it ...

David


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uto  
View profile  
 More options Apr 6 2009, 6:06 pm
Newsgroups: rec.arts.int-fiction
From: Uto <csanche...@gmail.com>
Date: Mon, 6 Apr 2009 15:06:52 -0700 (PDT)
Local: Mon, Apr 6 2009 6:06 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

> It needs someone to spend the time thinking about how Git's stack is held,
> and how 1 and 2 byte local variables can be introduced without slowing down
> the rest of the interpreter. It's on my list of things to look at, but this
> is a big list, and this particular problem is a fair way down it ...

Apparently, I'm getting rid of that problem, so maybe we can forget
about it for the time being, at least till I can confirm the problem
has been passed by.  Anyway, thanks for the answer.

At the moment I cannot confirm it cause after changing the headers
other problem has arised with Git, now I'm getting an "Out-of-bounds
memory access" message in return to a glk_select when the event
received is 0x03. It happens both with last version of Git usign
winglk, and with previous version using gargoyleglk.

I have to set up the enviroment to be able to compile and debug Git
step by step to be able to define that properly, at the moment I only
have Visual Studio and it seems the makefile is prepared for gcc, so
I'll have a look at it, I have never used gcc on win, only on linux.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
d.kin...@btinternet.com  
View profile  
 More options Apr 7 2009, 3:25 am
Newsgroups: rec.arts.int-fiction
From: d.kin...@btinternet.com
Date: Tue, 7 Apr 2009 00:25:42 -0700 (PDT)
Local: Tues, Apr 7 2009 3:25 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

> At the moment I cannot confirm it cause after changing the headers
> other problem has arised with Git, now I'm getting an "Out-of-bounds
> memory access" message in return to a glk_select when the event
> received is 0x03. It happens both with last version of Git usign
> winglk, and with previous version using gargoyleglk.

Git (or any Glulx interpreter) doesn't handle glk_select() (or any Glk
function) directly - that will be passed to the Glk library.

Since multiple Glk libraries show the same behaviour, and it's a
widely
used feature, I strongly suspect that there's a mistake somewhere in
your generated Glulx file, not in the interpreter.

David


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
d.kin...@btinternet.com  
View profile  
 More options Apr 7 2009, 3:27 am
Newsgroups: rec.arts.int-fiction
From: d.kin...@btinternet.com
Date: Tue, 7 Apr 2009 00:27:48 -0700 (PDT)
Local: Tues, Apr 7 2009 3:27 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
Also, remember that Glulxe doesn't bounds check memory accesses unless
it is compiled with VERIFY_MEMORY_ADDRESS, which is not the default.
Just because the error doesn't show up under Glulxe doesn't mean it
isn't there - it's just that Git is catching it, but Glulxe is not.

David


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uto  
View profile  
 More options Apr 7 2009, 4:04 am
Newsgroups: rec.arts.int-fiction
From: Uto <csanche...@gmail.com>
Date: Tue, 7 Apr 2009 01:04:28 -0700 (PDT)
Local: Tues, Apr 7 2009 4:04 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

> Since multiple Glk libraries show the same behaviour, and it's a
> widely
> used feature, I strongly suspect that there's a mistake somewhere in
> your generated Glulx file, not in the interpreter.

Yes, I agree, that's why I will try to run Git on debugger to try to
identify what is exactly trying to execute. It's weird though, as it
only happens with Git (no matter if it used gargoyle or winglk), and
never happens in Glulxe or Zag, but well, I stil lhave to investigate
it closely to get a conclusion. I bet for Glulxa doing something wrong
though, uses to be the main problem.

I hope vaporware can upload that corrected version he has, I would be
very happy to have an inproved Glulxa.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jesse McGrew  
View profile  
 More options Apr 7 2009, 6:09 am
Newsgroups: rec.arts.int-fiction
From: Jesse McGrew <jmcg...@gmail.com>
Date: Tue, 7 Apr 2009 03:09:54 -0700 (PDT)
Local: Tues, Apr 7 2009 6:09 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
On Apr 6, 10:48 am, Andrew Plotkin <erkyr...@eblong.com> wrote:

I considered using 1- and 2-byte locals in Snack's veneer, until I
realized they couldn't be used as operands for most instructions. All
instructions except copyb and copys access the local frame 4 bytes at
a time, regardless of the actual local variable sizes.

That seems to negate any efficiency gain that might otherwise result
from using small locals: to do anything with them, you need to
surround your code with copyb/copys instructions. You save a little
bit of space on the stack, at the cost of a lot of performance and
space in the story file.

vw


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 7 2009, 11:07 am
Newsgroups: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Tue, 7 Apr 2009 15:07:25 +0000 (UTC)
Local: Tues, Apr 7 2009 11:07 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
Here, Jesse McGrew <jmcg...@gmail.com> wrote:

> On Apr 6, 10:48 am, Andrew Plotkin <erkyr...@eblong.com> wrote:

> > The feature (small local variables) doesn't block any development as
> > far as I know. I threw it into the spec without any obvious use case.
> > I think I was thinking that some other VM might be ported to Glulx,
> > and might want to use smaller values everywhere for efficient's sake.
> > But you can get the same effect with 4-byte locals if you throw in
> > some judicious "x & $FFFF".

> I considered using 1- and 2-byte locals in Snack's veneer, until I
> realized they couldn't be used as operands for most instructions. All
> instructions except copyb and copys access the local frame 4 bytes at
> a time, regardless of the actual local variable sizes.

No, an instruction which refers to a local will access the local frame
at a width defined by the local's size. (As defined by the function
header.)

The inherent width of the instruction (1 for copys, 2 for copyb, 4 for
all the others) only affects how it accesses main memory.

But this stuff has barely been tested even in glulxe. Yes, I'll get it
into the unit test eventually.

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uto  
View profile  
 More options Apr 7 2009, 2:24 pm
Newsgroups: rec.arts.int-fiction
From: Uto <csanche...@gmail.com>
Date: Tue, 7 Apr 2009 11:24:26 -0700 (PDT)
Local: Tues, Apr 7 2009 2:24 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
Finally Superglus is apparently working with Git. The bug was a syntax
error on assembler source code, and Glulxa seemed to bypass it
producing wrong ulx file. It was not on the glk call actually, I got
confused by the fact that after the glkacall nothing was written on
screen, but it was actually 10 opcodes later, it was writing to
address 0, that is, to ROM. This is a bug I never realized as nor
glulxe nor zag seem to have any problems with writting to ROM, and
cause the code never comes back to addres 0, so the corruption of code
there was not evident.

Of course I still have to check it deeply, cause still it's possible
it fails somewhere else, but at least I've been able to run a simple
one room, one item, Superglus game for a while without problems :)

Thanks for all the comments on this threads, many have been very
helpful.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 7 2009, 2:35 pm
Newsgroups: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Tue, 7 Apr 2009 18:35:19 +0000 (UTC)
Local: Tues, Apr 7 2009 2:35 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

Here, Uto <csanche...@gmail.com> wrote:
> Finally Superglus is apparently working with Git. The bug was a syntax
> error on assembler source code, and Glulxa seemed to bypass it
> producing wrong ulx file. It was not on the glk call actually, I got
> confused by the fact that after the glkacall nothing was written on
> screen, but it was actually 10 opcodes later, it was writing to
> address 0, that is, to ROM. This is a bug I never realized as nor
> glulxe nor zag seem to have any problems with writting to ROM, and
> cause the code never comes back to addres 0, so the corruption of code
> there was not evident.

I've checked in a fix in Glulxe that will detect writing to ROM (as a
fatal error) if memory-range checking is compiled in. It'll be in the
next release.

Glad you found your problem.

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jesse McGrew  
View profile  
 More options Apr 7 2009, 4:13 pm
Newsgroups: rec.arts.int-fiction
From: Jesse McGrew <jmcg...@gmail.com>
Date: Tue, 7 Apr 2009 13:13:34 -0700 (PDT)
Local: Tues, Apr 7 2009 4:13 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
On Apr 7, 8:07 am, Andrew Plotkin <erkyr...@eblong.com> wrote:

In that case, I suggest clarifying the spec at 1.5:

<quote>
The indirect modes (all except "constant") access 32-bit fields,
either in the stack or in memory. This means four bytes starting at
the given address. A few opcodes are exceptions: copyb and copys (copy
byte and copy short) access 8-bit and 16-bit fields (one or two bytes
starting at the given address.)

The "call frame local" modes access a field on the stack, starting at
byte ((FramePtr+LocalsPos) + address). As described in section 1.3.1,
"The Call Frame", this must be aligned with (and the same size as) one
of the fields described in the function's locals format. It must not
point outside the range of the current function's locals segment.
</quote>

I took these two paragraphs to mean that only copyb and copys may
access 8-bit or 16-bit fields in the local frame: other instructions
would attempt to access a 32-bit field (first paragraph) which is
illegal if the local at that offset is not 32 bits wide (second
paragraph).

Also, at 1.3.1:

<quote>
The "format of locals" information is needed by the terp in two
places: when calling a function (to write in function arguments), and
when saving the game (to fix byte-ordering of the locals.) The
formatting is not enforced by the terp while a function is executing.
</quote>

I took this to mean the interpreter only ever needs to look at the
"format of locals" when passing in function arguments or saving the
game state, not when accessing operand values.

vw


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 7 2009, 11:28 pm
Newsgroups: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Wed, 8 Apr 2009 03:28:14 +0000 (UTC)
Local: Tues, Apr 7 2009 11:28 pm
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
Here, Jesse McGrew <jmcg...@gmail.com> wrote:

I'll look at the wording, yeah. Thanks.

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jesse McGrew  
View profile  
 More options Apr 8 2009, 12:14 am
Newsgroups: rec.arts.int-fiction
From: Jesse McGrew <jmcg...@gmail.com>
Date: Tue, 7 Apr 2009 21:14:08 -0700 (PDT)
Local: Wed, Apr 8 2009 12:14 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
On Apr 7, 8:28 pm, Andrew Plotkin <erkyr...@eblong.com> wrote:

Hmm, now that I look at the glulxe source code, it seems to behave the
same as my reading of the spec: parse_operands() always reads 4 bytes
from a local, unless oplist->arg_size is 1 or 2, which is only the
case for copyb/copys. The comments there mention that the local
address is supposed to be aligned on a 4-byte boundary. And
store_operand() always writes 4 bytes; there are alternate versions
for 1 and 2 bytes, store_operand_b() and store_operand_s(), which
again are only used for copyb/copys.

Personally, I'd be happy to see 1 and 2 byte locals just disappear:
operand size seems like something that should be controlled by the
addressing mode, not a table in memory, and searching through that
table for every local access is an annoying overhead for a feature
that's so rarely used. (On the other hand, there are two unused
addressing modes...)

vw


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 8 2009, 12:33 am
Newsgroups: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Wed, 8 Apr 2009 04:33:29 +0000 (UTC)
Local: Wed, Apr 8 2009 12:33 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)
Here, Jesse McGrew <jmcg...@gmail.com> wrote:

> Hmm, now that I look at the glulxe source code, it seems to behave the
> same as my reading of the spec: parse_operands() always reads 4 bytes
> from a local, unless oplist->arg_size is 1 or 2, which is only the
> case for copyb/copys. The comments there mention that the local
> address is supposed to be aligned on a 4-byte boundary. And
> store_operand() always writes 4 bytes; there are alternate versions
> for 1 and 2 bytes, store_operand_b() and store_operand_s(), which
> again are only used for copyb/copys.

Well, that kind of sucks.

In that case, all those glus game files are doing something which is
unintended by anybody, and which is certainly no more powerful than
just using 4-byte locals in the first place.

> Personally, I'd be happy to see 1 and 2 byte locals just disappear

It is looking like the sanest way out, at this point.

Sorry, folks. I'm sure I would have noticed this ten years ago if I'd
written any compiler code to generate this stuff.

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uto  
View profile  
 More options Apr 8 2009, 2:27 am
Newsgroups: rec.arts.int-fiction
From: Uto <csanche...@gmail.com>
Date: Tue, 7 Apr 2009 23:27:18 -0700 (PDT)
Local: Wed, Apr 8 2009 2:27 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

Atm I have no problems with that, I don't know what lead to the
original creator of Superglus code to use those parameters, but I've
got rid of them, so if nor Snack, nor Inform nor Superglus uses them,
I think it's the better to remove them asap (before someone else
decides to use by any reason). About the old Superglus games, I'll try
to push authors to recompile them using the new version as soon I
release it.

@David Kinder: btw while testing Superglus under Git (once the 1 byte
locals where removed) I was getting the "Out-of-bounds memory access".
While that message is telling what happens it would be nice it the
details of the operation failing are described in the error window,
like "Out-of-bounds memory access while writing at 0x0023", it would
be helpful for compiler developers. Sames goes for glulxe or any oter
interprete when compiled with the rom check define.

Basically, for Git,  is just changing this two functions at the bottom
of memory.c:

git_uint32 memReadError (git_uint32 address)
{
    fatalError ("Out-of-bounds memory access");
    return 0;

}

void memWriteError (git_uint32 address)
{
    fatalError ("Out-of-bounds memory access");

}

as you see, they receive the address already so I don't think it would
be a problem.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrew Plotkin  
View profile  
 More options Apr 8 2009, 11:15 am
Newsgroups: rec.arts.int-fiction
From: Andrew Plotkin <erkyr...@eblong.com>
Date: Wed, 8 Apr 2009 15:15:20 +0000 (UTC)
Local: Wed, Apr 8 2009 11:15 am
Subject: Re: New release of Git 1.2.4 (Glulx interpreter)

Before you removed them, was Superglus using short local variables
with all opcodes? Or only with @copys and @copyb?

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 30   Newer >
« Back to Discussions « Newer topic     Older topic »