Wo gibts eine Schachengine für ARM mit 16kB RAM?

Gast #766131
Ich möchte einen kleinen Schachcomputer mit 128x128 Farbdisplay bauen.

Mein Prozessor ist ein ARM7-ähnlicher Cortex M3: knapp 100kB Flash sind 
frei und 16kB RAM... leider sind alle Schachengines (in C) die ich auf 
die Schnelle gegoogelt habe, zu speicherhungrig...

Wer kennt da was nettes?
Gast
Selbstmachen? :-)   Ich habe mal eine einfache in Java programmiert. Wie 
stark sind Deine Gegner? Mit einer einfachen Alpha-Beta-Suche und ein 
bisschen optimieren an der Bewertungsfunktion lassen sich schon recht 
gute Resultate erzielen. Eine kleine Eröffnungsbibliothek dazu im Flash 
und eine Bibliothek für das Endspiel und die Engine ist bereit für gute 
Anfänger.

Welche Schach-Engines hast Du denn bisher versucht zu portieren? 
Hauptproblem dürfte die Suchtiefe sein, die durch den mageren Speicher 
arg begrenzt wird.

mfg, Stefan.
(Firma: Dg3brb)
ich habe mal was Ähnliches für 'nen AVR (Mega32) angefangen. Als 
Startpunkt habe ich mich von diversen chess engines im Netz inspirieren 
lassen. Da die Engine in C geschrieben ist, sollte sie leicht auf einen 
Arm portierbar sein. Ich benutze jedenfalls dieselbe Datei, um unter es 
unter Linux zu kompilieren (läßt sich besser debuggen...).

Im Moment mangelt es mir aber an Zeit, das Projekt weiterzuführen.

Es wird die schon oben erwähnte Alpha-Beta Strategie verwendet. 
Eröffnungsbibliothek ist noch nicht drin. Als Kompromiss für den 
geringen zur Verfügung stehenden Ram werden nicht für jede Suchtiefe 
alle Züge gespeichert, sondern immer neu berechnet. Das ist natürlich 
ganz schön aufwändig, aber ohne Ram nicht anders machbar. Dadurch 
verbrauche ich im Mega32 für die chess engine nur ca 500...600 byte 
(fürs board, a-b scores etc).

Mein "Schachcomputer" :-) besteht aus einem Mega32, einem Pollin 128x64 
Grafikdisplay und einem Drehencoder als Eingabe.

Als Anhang gibts das C-File der chess engine. Vielleicht hilfts Dir ja.

kanadakruemel
Angehängte Dateien:
Gast
@Stefan May: Von Null möchte ich da nicht anfangen - hab eh schon genug 
mit dem grafischen Schmus am Hals.

@Roland Schmidt: Danke, Deep Evelyn ist super klein und läuft auch aufm 
ARM. Hat aber noch keine Eingabeüberprüfung für gültige Züge.

@Micha: Schaut auch gut aus! Wie ist dein chess lizensiert? :-) Frei 
weiter verwendbar?
Gast
Ist zwar ein bisschen OT:
Ich habe eine Schachkasette (also so eine zusammenklappbares Brett mit 
Raum für die Figuren) in ca. 50 cm * 50 cm (Tournament Nr. 6; Fa. 
Wegiel; Bild: http://www.wegiel-chess.com.pl/p_chess/Tour6_box.JPG )zu 
Hause. Wenn man die Einsätze für die Figuren rausnimmt, hat man so ca. 
1,5 bis 2 cm Platz. Das sollte eine gute Grundlage für ein Sensorbrett 
geben?!

Da die Schachfiguren mit Blei beschwert sind, sollte das Messprinzip in 
der Lage sein, den Bleiklumpen durch ca. 5 mm Holz, Filz, Luft hindurch 
zu erkennen - irgendetwas induktives? Sollte natürlich auch nicht zu 
viel kosten, vielleicht so allerhöchstens 1 € / Sensor.

Einen Mikrocontroller wird man eh brauchen, interessant wird die 
Kommunikation mit dem Schachprogramm auf dem PC. Dazu würde sich das 
Protokoll der kommerziell erhältlichen DGT-Bretter anbieten, das von 
vielen Schachprogrammen unterstützt wird. Spezifikationen für 
Programmierer sind bei DGT frei erhältlich.
Gast
@Stefan May

>...Wer weiß, warum man ein 12x12-Feld nimmt?

Nee, keine Ahnung. Erklär es mir doch bitte.
Hat es mit den Pferdchen zu tun ?

MfG Willi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.