Forum: PC Hard- und Software C-Schachprogramm auf einen PIC bringen


von IT-Student Klaus (Gast)


Lesenswert?

Hallo Zusammen,

ich wollte versuchen nächstes Semester für eine Studienarbeit ein
elektronisches Schachbrett zu bauen. Da ich es bestimmt nicht 
hinbekommen
würde ein Schachprogramm selber zu schreiben, wollte ich das freie
C-Programm http://www.frayn.net/beowulf/ nehmen und es evtl. auf einen
PIC bringen. Hat jemand schonmal so etwas gemacht ?
Mich würde nur intressieren ob es möglich ist.

Das Programm ist ca. 200kb groß + 2 MB eine Eröffnungsbiliothek

Mit welchem µC ist das technisch lösbar ?

Euer Klaus

von M. B. (manubaum) Benutzerseite


Lesenswert?

Spannend.

hmm. wenn du die kleinste Eröffnungsbibliothek nimmst, wäre sie nur 20k 
gross.

Was noch zu beachten ist:
Da das binary unter windows 180k gross ist, heisst das nicht, dass du 
den selben code mit einem anderen compiler auch auf diese grösse 
bringst! Dazu kommen noch die dynamisch gelinkten binaries, welche du ja 
folglich auch in dein PIC-binary (statisch) linken musst!

Was PIC's angeht, habe ich nur wenig Erfahrung.

von Alfred (Gast)


Lesenswert?

Hallo,

vielleicht kommst Du auf dem PIC damit besser klar:

http://home.hccnet.nl/h.g.muller/max1.html

Beste Grüße,

Alfred

von Udo S. (urschmitt)


Lesenswert?

Die weitere Frage ist auch wie viel RAM braucht das Programm zur 
Laufzeit. Du wirst sehr wahrscheinlich auch eine dynamische 
Speicherverwaltung brauchen.

von Sven W. (Firma: basement industries) (dj8nw)


Lesenswert?

Vielleicht mal als Anregung:
Bei Proteus von Labcenter ist glaub auch in der Demoversion ein Sample 
dabei, da machen die´s mit nem Atmega auf nem GLCD... läuft auch in der 
Simulation.

Vielleicht kannst Dir da was rauspicken...

Gruß, Sven

von Darco (Gast)


Lesenswert?

Es gibt eine ganze Reihe kleiner Schachprogramme z.B. Toledo Nano Chess: 
http://nanochess.110mb.com/chess3.html oder Micro-Max: 
http://home.hccnet.nl/h.g.muller/max-src2.html

von M. B. (manubaum) Benutzerseite


Lesenswert?

weiss jemand, wie man einen lesbaren c code 
(http://nanochess.110mb.com/chess3.html) in dieses schreckliche minimal 
format bringt?

von Rolf M. (rmagnus)


Lesenswert?

Das ist IOCCC-Code. Der ist nicht dafür gedacht, lesbar zu sein. 
Außerdem ist er auf möglichst kleinen Quellcode ausgelegt, nicht 
unbedingt auf kleinen ausführbaren Code.


Übrigens: Diese beiden Widersacher scheinen sich nicht ganz einig zu 
sein, wer besser ist. Auf der Toledo-Seite steht:

"Although Toledo Nanochess is smaller, it manages to beat gracefully 
Micromax v1.6"

auf der Micromax-Seite steht dann:

"Despite its smaller size, micro-Max seems to beat Toledo easily."

von Yalu X. (yalu) (Moderator)


Lesenswert?

Rolf Magnus schrieb:
> Übrigens: Diese beiden Widersacher scheinen sich nicht ganz einig zu
> sein, wer besser ist.

Vom Toledo-Chess gibt es mehrere Varianten. Die Aussage vom Muller
bezieht sich wohl auf die Ur-Version vom 18. IOCCC. Das aktuelle Toledo
Nanochess ist aber deutlich kleiner und wohl auch spielstärker.

Es ist schon erstaunlich, was die Jungs (alle beide) da auf die Beine
gestellt haben. Ich habe gerade mal Nanochess ausprobiert, und gemessen
an seiner Winzigkeit spielt es unerwartet stark.

Ich würde mal behaupten, dass Nanochess einschließlich der Ansteuerung
eines LCDs und eines Tastenfelds auf einen Controller mit 4k Flash und
1,5k RAM passt. Mit leichten Anpassungen (8-Bit- statt 16-Bit-Variablen,
wo ein kleinerer Wertebereich ausreicht) reichen sicher auch 1k RAM,
womit bspw. der ATmega48 ein heißer Kandidat für eine minimalistische
Plattform wäre.

Mullers Micro-Max implementiert trotz seiner geringen Größe sogar Hash-
Tables. Sie belegen allerdings deutlich über 100MB RAM, weswegen das
Programm für den Einsatz auf einfachen Mikrocontrollern weniger geeignet
ist.

von Bernhard M. (boregard)


Lesenswert?

Die Armbanduhr http://www.calcwatch.com/ hat auch ein Schachprogramm, 
läuft auf PIC...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.