home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Best of Select: Games Special 11
/
CD_1.iso
/
wingames
/
corewar
/
usemars.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-08-19
|
3KB
|
74 lines
Unit UseMars;
{$A+,B-,D+,F+,G+,I-,K+,L+,N-,P+,Q+,R-,S-,T+,V+,W+,X+,Y+}
{(C) Barbara Tikart Polarwolf Hard & Software, Erlenbach am Main}
{UseMars: Schnittstelle zum Memory Array Redcode Simulator MARS.DLL}
{Projekt: CoreWar 1.0}
Interface
Uses WinTypes;
Const MarsErr_Ok = 0;
MarsErr_Dos = 1;
MarsErr_Structure = 2;
MarsErr_IllegalOpcode = 3;
MarsErr_ToFewArg = 4;
MarsErr_ArgSyntax = 5;
MarsErr_ArgRange = 6;
MarsErr_ToManyArg = 7;
MarsErr_IllegalData = 8;
MarsErr_IllegalImmediate = 9;
MarsErr_NoImmediateJump = 10;
MarsErr_NoObjCode = 11;
Type TMarsHandle = LongInt;
Procedure LoadMarsObjCode (FileName: PChar; Var PRG: TMarsHandle);
Procedure DiscardMarsObjCode (PRG: TMarsHandle);
Procedure SaveMarsObjCode (PRG: TMarsHandle; FileName: PChar;
Var Result: Integer);
Procedure RedcodeCompile (FileName: PChar; Var PRG: TMarsHandle;
Var Result, LineNr: Integer);
Procedure RedcodeReCompile (PRG: TMarsHandle; FileName: PChar;
Var Result: Integer);
Function CreateMarsVM (Size: Integer): TMarsHandle;
Procedure DestroyMarsVM (VM: TMarsHandle);
Procedure ResetMarsVM (VM: TMarsHandle);
Procedure LinkMarsPRG (VM, PRG: TMarsHandle; Var IP: Integer);
Procedure SetMarsMem (VM: TMarsHandle; IP: Integer; RedcodeLine: PChar;
Var Result: Integer);
Procedure GetMarsMem (VM: TMarsHandle; IP: Integer; RedcodeLine: PChar;
MaxLen: Integer);
Function IsMarsData (VM: TMarsHandle; IP: Integer): Bool;
Procedure ExecMarsCmd (VM: TMarsHandle; Var IP, Modified: Integer);
Function FindAttrInMarsObjCode (PRG: TMarsHandle; Attr: PChar;
MaxLen: Integer): Bool;
Procedure MarsErrorMSG (T: PChar; MaxLen, ErrorNr: Integer);
Implementation
Procedure LoadMarsObjCode (FileName: PChar; Var PRG: TMarsHandle); External 'MARS';
Procedure DiscardMarsObjCode (PRG: TMarsHandle); External 'MARS';
Procedure SaveMarsObjCode (PRG: TMarsHandle; FileName: PChar; Var Result: Integer); External 'MARS';
Procedure RedcodeCompile (FileName: PChar; Var PRG: TMarsHandle; Var Result, LineNr: Integer); External 'MARS';
Procedure RedcodeReCompile (PRG: TMarsHandle; FileName: PChar; Var Result: Integer); External 'MARS';
Function CreateMarsVM (Size: Integer): TMarsHandle; External 'MARS';
Procedure DestroyMarsVM (VM: TMarsHandle); External 'MARS';
Procedure ResetMarsVM (VM: TMarsHandle); External 'MARS';
Procedure LinkMarsPRG (VM, PRG: TMarsHandle; Var IP: Integer); External 'MARS';
Procedure SetMarsMem (VM: TMarsHandle; IP: Integer; RedcodeLine: PChar; Var Result: Integer); External 'MARS';
Procedure GetMarsMem (VM: TMarsHandle; IP: Integer; RedcodeLine: PChar; MaxLen: Integer); External 'MARS';
Function IsMarsData (VM: TMarsHandle; IP: Integer): Bool; External 'MARS';
Procedure ExecMarsCmd (VM: TMarsHandle; Var IP, Modified: Integer); External 'MARS';
Function FindAttrInMarsObjCode (PRG: TMarsHandle; Attr: PChar; MaxLen: Integer): Bool; External 'MARS';
Procedure MarsErrorMSG (T: PChar; MaxLen, ErrorNr: Integer); External 'MARS';
End.