Tja, das hat was mit dem Vorzeichen zu tun. Probier doch mal folgendes in Pascal (oder in FPC mit aktivierter Turbo Pascal Kompatibilität):
Delphi-Quellcode:
var adr: longint;
reqsec: byte;
reqinbl: word;
param1: word;
reqsec := 42;
reqinbl :=196;
param1 := 65495;
adr := longint(longint(reqsec) * $200 + reqinbl + integer(param1 - 2))
In Pascal kommt da 21657 ($5499) und in Delphi 87193 ($15499) heraus
Im Prinzip sind es 3 Zeilen die es in dem "Windows-Port" zusätzlich zu berücksichtigen gilt, danach läuft der Interpreter mit allen verfügbaren Infocom Textadventuren.
Peter
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
Es hat nichts mit LONGINT zu tun aber mit INTEGER. In Turbo Pascal ist ein INTEGER 16 bit. In Delphi 32 (oder 64). When man in die ganze QuelCode INTEGER andert in SMALLINT dan arbeitet alles problemlos.
Es is schon 4 jahre her (ich weiss) aber ich lese diese thread heute
Entschuldige fur mein Deutsch.
Andy