![]() |
Infocom Interpreter
Liste der Anhänge anzeigen (Anzahl: 1)
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:
![]() Peter |
Re: Infocom Interpreter
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 |
Re: Infocom Interpreter
Zitat:
LongInt ist ein fester Typ und dieser sollte überall ein 32-Bit signed Integer sein. |
Re: Infocom Interpreter
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:
In Pascal kommt da 21657 ($5499) und in Delphi 87193 ($15499) heraus :)
var adr: longint;
reqsec: byte; reqinbl: word; param1: word; reqsec := 42; reqinbl :=196; param1 := 65495; adr := longint(longint(reqsec) * $200 + reqinbl + integer(param1 - 2)) 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] |
AW: Re: Infocom Interpreter
Zitat:
Es is schon 4 jahre her (ich weiss) aber ich lese diese thread heute :) Entschuldige fur mein Deutsch. Andy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz