Re: [NTLK] Dragon Package

From: Steve Weyer (weyer_at_kagi.com)
Date: Tue Sep 11 2001 - 06:19:34 EDT


> From: Eckard Brauer <E.Brauer_at_intershop.de>
> Date: Mon, 10 Sep 2001 21:19:04 +0200
> Subject: Re: [NTLK] Dragon Package
>
>
> Hi,
>
>> I don't know what the problem is with installing the Dragon package.
>> 1) upload communication errors (some bits in pkg mutated)?
>> 2) package not "unrelocated" properly?
>> 3) microphone needed?
>>
>> if 1), then I'd suggest trying again with PackageBuddy or favorite tool
>>
>> if 2), PkgBuddy, Sloup and X-Port all use the same unrelocation code
>> (that I
>> wrote), which has only really been tested on "normal" packages and
>> autoparts
>> (and it respects the copyright bit); if the Dragon package has different
>> kinds of install parts, then this might not work for any of them -- in
>> which
>> case I'd suggest trying EETransfer or email since that apparently does
>> unrelocation automatically somewhere in the transport layer.
>
> I don't know anything in depth what's happening with uploaded packages at
> the Newton, Steve, so you have to go a bit more in detail here (send a
> pointer, please). My thought was that packages reside as they are in the
> package store, and that relocation is done as a simple mechanism to show
> them up at distinct memory address(es) in the system heap (somehow as a
> duplicate). I know arithmetics, so I also know, that it isn't that simple,
> and your answer say's I'm wrong here (because you seem to have to do some
> re-arithmetics).
>
> However, for not to ask the question for your code as it looks like, please
> give some insight on what's done with a package at install time? BTW, how
> do I install a package from , say, a byte-string, at all?

> Steve, I think it's the moment to really say thank you for some very good
> Newton software, but for the Newton's point, we all epend on your
> knowlewdge if the Newton shouldn't be dead, so you have to teach us a bit.
>

it sounds like several have got the package unrelocated (Paul by hand;
others by transferring differently?). there is technical info available on
relocation in the "Newton Formats" document, which documents package format
among other things.

The simplest way I can think of explaining things is that a package file (on
desktop) has relative addresses in it -- relative to the start of the
package or part. When it's installed on a Newton, the Newton apparently
changes these addresses -- makes them 'absolute' (perhaps relative to the
current memory store). If this raw package data is extracted (uploaded)
from the Newton as is, it can't really be used by any other Newton. So, it
has to be 'unrelocated'; I assume this is done in transport layer (though I
couldn't figure out where), since beaming or emailing a package usually
works, so I wrote some code that goes thru memory pointers in the package
and subtracts out an offset. (and this code is used in Sloup, X-Port and
PkgBuddy). it was tested on a wide variety of packages -- and for those
that seemed too complex or too big or copyprotected, I figured user would
still have original package (on disk or CD).

-- 
Steve
  weyer_at_kagi.com
Newton apps/tools: Newt's Cape, NewtDevEnv, Sloup, Crypto,...
  http://www.kagi.com/weyer/

-- This is the Newtontalk mailinglist - http://www.newtontalk.net To unsubscribe or manage: visit the above link or mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe



This archive was generated by hypermail 2.1.2 : Wed Oct 03 2001 - 12:01:43 EDT