AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Infocom Interpreter

Ein Thema von Peter666 · begonnen am 29. Jan 2010 · letzter Beitrag vom 27. Nov 2011
Antwort Antwort
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

Infocom Interpreter

  Alt 29. Jan 2010, 15:09
Wer kennt sie nicht diese alten Textadventures? Vor geraumer Zeit hatte ich angefangen den No$Cash Interpreter nach Windows zu portieren, allerdings musste ich feststellen das das nicht wirklich so einfach ist. Pascal war damals ziemlich gutmütig beim Umwandeln von Word in Byte und Überläufe waren nicht wirklich dramatisch. Wie dem auch seih, ich bin fast am verzweifeln. Die Testversion unter Windows will einfach nicht so recht laufen. Es kommen permanent an etlichen Stellen Bereich und Überlauffehler Ich denke mal da sind mehrere fehlerhafte Speicherzugriffe zu finden. Getestet hab ich es mit Zork1: http://www.xs4all.nl/~pot/infocom/zork1.html

Peter
Angehängte Dateien
Dateityp: zip infocom_793.zip (18,2 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#2

Re: Infocom Interpreter

  Alt 31. Jan 2010, 18:50
Okay, ich hab den Fehler nach etlichen Stunden (bei dem Schnee lohnt sich auch nix anderes) gefunden. Longint in Delphi/Freepascal ist nicht gleich Longint bei Pascal. Bei Interesse lade ich die lauffähige Testversion gerne hoch...

Peter
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: Infocom Interpreter

  Alt 31. Jan 2010, 19:10
Zitat von Peter666:
Longint in Delphi/Freepascal ist nicht gleich Longint bei Pascal.
Wiebitte?

LongInt ist ein fester Typ und dieser sollte überall ein 32-Bit signed Integer sein.
$2B or not $2B
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#4

Re: Infocom Interpreter

  Alt 31. Jan 2010, 20:23
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]
  Mit Zitat antworten Zitat
andylu

Registriert seit: 24. Nov 2011
1 Beiträge
 
#5

AW: Re: Infocom Interpreter

  Alt 27. Nov 2011, 11:03
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz