Pascal-Version des UCI-Filters

Antworten
Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Pascal-Version des UCI-Filters

Beitrag von Roland Chastain »

Hallo zusammen!

Ich habe versucht, das C-Programm UCI Filter in Pascal umzuschreiben.

Die Pascal-Version funktioniert nicht richtig. Können Sie mir helfen, es zu reparieren?

Um das Programm auszuprobieren, muss es mit dem Pfad einer UCI-Engine als Parameter gestartet werden.

Code: Alles auswählen

ucifilter.exe .\CT800_V1.34_x32.exe
Das Programm zeigt dann folgendes an:

Code: Alles auswählen

CT800 V1.34 32 bit UCI version
2016-2019 by Rasmus Althoff
Free software under GPLv3+
Anschließend können Sie den Befehl "uci" eingeben. Das Programm zeigt dann folgendes an:

Code: Alles auswählen

id name CT800 V1.34 32 bit
id author Rasmus Althoff
option name Hash type spin default 8 min 1 max 1024
option name Keep Hash Tables type check default true
option name Clear Hash type button
option name Book Moves type button
option name OwnBook type check default true
option name Contempt Value [cps] type spin default 30 min -300 max 300
option name Contempt End [moves] type spin default 34 min 0 max 400
option name Eval Noise [%] type spin default 0 min 0 max 100
option name Move Overhead [ms] type spin default 50 min 0 max 1000
option name UCI_Elo type spin default 2350 min 1000 max 2350
option name UCI_LimitStrength type check default false
option name CPU Speed [%] type spin default 100 min 1 max 100
option name CPU Speed [kNPS] type spin default 30000 min 1 max 30000
option name Show Current Move type combo default Every Second var Every Second var Continuously
option name UCI_EngineAbout type string default The CT800 is free software under GPLv3+. Website: www.ct800.net
option name TimeCurrmove@UciFilter type spin default 1500 min 0 max 5000
option name TimeInfo@UciFilter type spin default 300 min 0 max 5000
option name TimeQuit@UciFilter type spin default 1000 min 200 max 1800
option name RemoveNonUci@UciFilter type check default true
option name RemoveStop@UciFilter type check default true
uciok
Anschließend können Sie den Befehl "quit" eingeben.

Wenn ich jetzt stattdessen die Pascal-Version verwende,

Code: Alles auswählen

ucifilterpas.exe .\CT800_V1.34_x32.exe
Die Ausgabe des Programms ist beschädigt.

Danke.
Dateianhänge
ucifilter-pascal-230228.zip
(262.51 KiB) 72-mal heruntergeladen
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

Epcop
Beiträge: 140
Registriert: Di 29. Mai 2012, 09:36

Re: Pascal-Version des UCI-Filters

Beitrag von Epcop »

Kannst du compilieren?
Welche Fehlermeldung kommt?

Mathias
Beiträge: 6209
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Pascal-Version des UCI-Filters

Beitrag von Mathias »

Dies habe ich so in der Schnelle gesehen

Code: Alles auswählen

  if ParamCount = 0 then
    FatalerFehler('Keine Engine angegeben', 0);       
Versuche es mal wie im C-Beispiel mit

Code: Alles auswählen

if ParamCount < 2 then
    FatalerFehler('Keine Engine angegeben', 0);       
Hast du alles selbst übersetzt, oder hast du ein Tool genommen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Re: Pascal-Version des UCI-Filters

Beitrag von Roland Chastain »

Epcop hat geschrieben:
Fr 3. Mär 2023, 13:21
Kannst du compilieren?
Welche Fehlermeldung kommt?
Ja, ich kann compilieren.

Das Problem ist, dass die Anzeige nicht korrekt ist.

Code: Alles auswählen

D:\c\echecs\ucifilter>make pascal
fpc -Mobjfpc -Sh ucifilter.pas -oucifilterpas.exe
Free Pascal Compiler version 3.2.0 [2021/02/21] for i386
Copyright (c) 1993-2020 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling ucifilter.pas
Compiling log.pas
Linking ucifilterpas.exe
517 lines compiled, 1.6 sec, 162896 bytes code, 6692 bytes data

D:\c\echecs\ucifilter>make pascaldemo
ucifilterpas.exe .\CT800_V1.34_x32.exe
─RCT800 V1.34 32  $  ─R' õR2016-2019 by Ra $  ─RRFree software u $  ─R
Zuletzt geändert von Roland Chastain am Mo 27. Nov 2023, 12:37, insgesamt 1-mal geändert.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Re: Pascal-Version des UCI-Filters

Beitrag von Roland Chastain »

Mathias hat geschrieben:
Fr 3. Mär 2023, 13:58
Versuche es mal wie im C-Beispiel mit

Code: Alles auswählen

if ParamCount < 2 then
    FatalerFehler('Keine Engine angegeben', 0);       
Danke, aber das Problem is nicht hier.
Mathias hat geschrieben:
Fr 3. Mär 2023, 13:58
Hast du alles selbst übersetzt, oder hast du ein Tool genommen ?
Ich habe alles übersetzt.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

Mathias
Beiträge: 6209
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Pascal-Version des UCI-Filters

Beitrag von Mathias »

Ich habe alles übersetzt.
Dann gucke es am besten mal Schritt für schritt durch.
Da es ja bei dir eine Meldung ausspuckt, solltes du den Fehler einigermassen einkreisen können.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten