Jump to content
IGNORED

Assembly: Problem calling GPLLNK without 32 KB memory expansion


BJGuillot

Recommended Posts

 

 

The following probably contains a lot of what you already know, but, hopefully, it answers your questions and may help the casual reader with other details:
XTABFE contains the address of the 15th vector (16 possible) in the 16th XML vector table (16 possible) referenced by the GPL code: “XML >FE”. The two-byte, hex code for this is >0FFE. The XML table:element refrence is >FE, with >Fx referencing the table starting at >8300 and >xE referencing element >1C—hence >831C as the value of XTABFE.
GXMLAD contains the address of the GPL XML instruction (>0FFE) we wish the GPL interpreter to execute, which is located at GROM0 address >1675.
Regarding the GROM0 addresses >1675 and >176C, GPL instructions are on byte boundaries, not word boundaries as with ALC. The GPL XML instruction opcode (>0F) appears at both locations. The XML table:vector byte that follows it in the first reference (>1675) is >FE, which is explained above. In the Heiner Martin GROM0 dump, the byte following >0F at >176C is >27, which points to the 8th vector (>200E) in the 3rd XML vector table, starting at >2000 in low RAM. Because the GPL interpreter is byte oriented, it does not matter that the GPL “instructions” at >1675 and >176C are data and never normally executed. It is sufficient that they happen, fortuitously, to be the actual instructions we need to serve our ends.
...lee

 

Lee! This thread was all Greek to me.

I was able to translate your post into my-lingo...

 

 

The beast at Tanagra:

Shaka, when the walls fell,

Temba, his arms open,

Kiazi's children, their faces wet,

Kira at Bashi,

Temba, at rest,

Chenza at court, the court of silence

Kiteo, his eyes closed,

Darmok on the ocean,

Sokath, his eyes open,

Darmok and Jalad on the ocean,

...lee and ralph at El-Adrel.

Lowani under two moons.

...alex of Lowani.

 

 

-Mirab, with sails unfurled. :waving:

 

 

 

The beast at Tanagra:

Assembly: Problem calling GPLLNK without 32 KB memory expansion:

 

Shaka, when the walls fell,

Heh, I arrived almost at the same code, but what's the relation of XTABFE and GXMLAD? AFAIK the original routine uses >200E and >176C, but both >1675 and >176C don't make any sense address-wise.

 

Temba, his arms open,

How are those values used? I might want to move XTABFE somewhere else.

 

Kiazi's children, their faces wet,

The following probably contains a lot of what you already know, but, hopefully, it answers your questions and may help the casual reader with other details:

 

Kira at Bashi,

XTABFE contains the address of the 15th vector (16 possible) in the 16th XML vector table (16 possible) referenced by the GPL code: “XML >FE”. The two-byte, hex code for this is >0FFE. The XML table:element refrence is >FE, with >Fx referencing the table starting at >8300 and >xE referencing element >1C—hence >831C as the value of XTABFE.

 

Temba, at rest,

GXMLAD contains the address of the GPL XML instruction (>0FFE) we wish the GPL interpreter to execute, which is located at GROM0 address >1675.

 

Chenza at court, the court of silence,

Regarding the GROM0 addresses >1675 and >176C, GPL instructions are on byte boundaries, not word boundaries as with ALC.

 

Kiteo, his eyes closed,

The GPL XML instruction opcode (>0F) appears at both locations. The XML table:vector byte that follows it in the first reference (>1675) is >FE, which is explained above. In the Heiner Martin GROM0 dump, the byte following >0F at >176C is >27, which points to the 8th vector (>200E) in the 3rd XML vector table, starting at >2000 in low RAM.

 

Darmok on the ocean,

Because the GPL interpreter is byte oriented, it does not matter that the GPL “instructions” at >1675 and >176C are data and never normally executed.

 

Sokath, his eyes open,

It is sufficient that they happen, fortuitously, to be the actual instructions we need to serve our ends.

 

Darmok and Jalad on the ocean,

...lee and ralph at El-Adrel.

 

Lowani under two moons,

...alex of Lowani.

 

  • Like 1
Link to comment
Share on other sites

Lee! This thread was all Greek to me.

I was able to translate your post into my-lingo...

 

 

The beast at Tanagra:

Shaka, when the walls fell,

Temba, his arms open,

Kiazi's children, their faces wet,

Kira at Bashi,

Temba, at rest,

Chenza at court, the court of silence

Kiteo, his eyes closed,

Darmok on the ocean,

Sokath, his eyes open,

Darmok and Jalad on the ocean,

...lee and ralph at El-Adrel.

Lowani under two moons.

...alex of Lowani.

 

 

-Mirab, with sails unfurled. :waving:

 

 

 

The beast at Tanagra:

Assembly: Problem calling GPLLNK without 32 KB memory expansion:

 

Shaka, when the walls fell,

Heh, I arrived almost at the same code, but what's the relation of XTABFE and GXMLAD? AFAIK the original routine uses >200E and >176C, but both >1675 and >176C don't make any sense address-wise.

 

Temba, his arms open,

How are those values used? I might want to move XTABFE somewhere else.

 

Kiazi's children, their faces wet,

The following probably contains a lot of what you already know, but, hopefully, it answers your questions and may help the casual reader with other details:

 

Kira at Bashi,

XTABFE contains the address of the 15th vector (16 possible) in the 16th XML vector table (16 possible) referenced by the GPL code: “XML >FE”. The two-byte, hex code for this is >0FFE. The XML table:element refrence is >FE, with >Fx referencing the table starting at >8300 and >xE referencing element >1C—hence >831C as the value of XTABFE.

 

Temba, at rest,

GXMLAD contains the address of the GPL XML instruction (>0FFE) we wish the GPL interpreter to execute, which is located at GROM0 address >1675.

 

Chenza at court, the court of silence,

Regarding the GROM0 addresses >1675 and >176C, GPL instructions are on byte boundaries, not word boundaries as with ALC.

 

Kiteo, his eyes closed,

The GPL XML instruction opcode (>0F) appears at both locations. The XML table:vector byte that follows it in the first reference (>1675) is >FE, which is explained above. In the Heiner Martin GROM0 dump, the byte following >0F at >176C is >27, which points to the 8th vector (>200E) in the 3rd XML vector table, starting at >2000 in low RAM.

 

Darmok on the ocean,

Because the GPL interpreter is byte oriented, it does not matter that the GPL “instructions” at >1675 and >176C are data and never normally executed.

 

Sokath, his eyes open,

It is sufficient that they happen, fortuitously, to be the actual instructions we need to serve our ends.

 

Darmok and Jalad on the ocean,

...lee and ralph at El-Adrel.

 

Lowani under two moons,

...alex of Lowani.

 

 

Darmak and Jalad, on the ocean! :-o

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...