Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Schachcomputer / Chess Computer: > Die ganze Welt der Schachcomputer / World of chess computers


Antwort
 
Themen-Optionen Ansicht

  #1  
Alt 11.08.2009, 16:10
Benutzerbild von Mach2000
Mach2000 Mach2000 ist offline
Mephisto Genius 68030
 
Registriert seit: 29.01.2007
Ort: Mainz
Alter: 56
Land:
Beiträge: 321
Abgegebene Danke: 21
Erhielt 20 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
0/20 18/20
Heute Beiträge
0/3 ssssss321
AW: D+ und D++

 Zitat von Mach2000 Beitrag anzeigen
Ob das nur Daten oder Instruktionen (eventuelle Sprungziele) sind, müsste man mal überprüfen.
Trotz 4 Bytes scheint es nur wenig Unterschied zu geben.

Beim D+ sind die drei zusätzlichen Bytes wohl folgender Code:

JSR $ADC0
LDA $CD
CMP $4D
BCS $961F


Wenn mein 6502 Assembler Verständnis noch funktioniert, sollte das bedeuten:

Wenn Inhalt von $CD >= Inhalt von $4D dann verzweige

Beim D++ steht dort:

JSR $ADC0
LDA $4D
CMP $CD
BCC $961F


Das sollte fast identisch sein mit dem obigen:

Wenn Inhalt von $CD > Inhalt von $4D dann verzweige

Einziger Unterschied scheint ">=" zu ">" .... plus das Byte bei Offset 0

Vielleicht überprüft das mal jemand dessen Kenntnisse frischer sind als meine

Gruß Mike

P.S.: Das erste Byte (Offset 0) scheint in der Routine ab $D72E verwendet zu werden, keine Ahnung was damit gemacht wird.
__________________
Das Universum und die Dummheit der Menschen sind grenzenlos. Wobei ich mir beim Universum nicht so sicher bin. (Albert Einstein)

Geändert von Mach2000 (11.08.2009 um 16:33 Uhr)
Mit Zitat antworten
  #2  
Alt 11.08.2009, 16:37
Benutzerbild von EberlW
EberlW EberlW ist offline
Lebende Foren Legende
 
Registriert seit: 09.01.2005
Ort: Leverkusen-Küppersteg
Alter: 59
Land:
Beiträge: 3.111
Abgegebene Danke: 45
Erhielt 60 Danke für 45 Beiträge
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 sssss3111
AW: D+ und D++

Ich meine, das Carry-Flag wird bei "=" gesetzt und bei "<>" nicht. Ist schon ein paar viele (ca. 20 !) Jahre her das ich mich zuletzt mit dem 6502 befasste, aber ich bin mir ziemlich sicher. Also nix mit >= oder so. Ansonsten stimmt es aber, die Befehle vergleichen den Inhalt zweier Speicherzellen. Es werden bei beiden Programmen die gleichen Zellen verglichen. Das sie das in umgekehrter Reihenfolge tun ist zunächst irrelevant, da es auf das Ergebnis des Vergleichs ankommt der ja nur "wahr" oder "unwahr" sein kann.

Aber:
Der D+ verzweigt wenn der Vergleich "wahr" ist (Carryflag gesetzt) und
der D++ verzweigt wenn der Vergleich "unwahr" ist (Carryflag NICHT gesetzt)

Das steht jedenfalls nicht gegen die These, dass beim D++ andere Routinen angesprochen werden als beim D+. Leider genügt das auch nicht zum Beweis...

Gruß, Willi
Mit Zitat antworten
  #3  
Alt 11.08.2009, 16:46
Benutzerbild von Mach2000
Mach2000 Mach2000 ist offline
Mephisto Genius 68030
 
Registriert seit: 29.01.2007
Ort: Mainz
Alter: 56
Land:
Beiträge: 321
Abgegebene Danke: 21
Erhielt 20 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
0/20 18/20
Heute Beiträge
0/3 ssssss321
AW: D+ und D++

 Zitat von EberlW Beitrag anzeigen
Ich meine, das Carry-Flag wird bei "=" gesetzt und bei "<>" nicht. Ist schon ein paar viele (ca. 20 !) Jahre her das ich mich zuletzt mit dem 6502 befasste, aber ich bin mir ziemlich sicher.

Gruß, Willi
Ich habe nochmal Google bemüht ...

http://www.6502.org/tutorials/compare_beyond.html

A surprisingly common sequence in 6502 code is:

LDA NUM1
CMP NUM2
BCC LABEL
BEQ LABEL

(or something similar) which branches to LABEL when NUM1 <= NUM2. (In this case NUM1 and NUM2 are unsigned numbers.) However, consider the following sequence:
LDA NUM2
CMP NUM1
BCS LABEL

which branches to LABEL when NUM2 >= NUM1, which is the same as NUM1 <= NUM2. Not only that, it's shorter and (in many cases) faster.


Scheint meine Erinnerung mich doch nicht getäuscht zu haben und vielleicht ist genau der Vergleich der Grund dafür, dass der D++ ein Tick selektiver ist, obwohl ansonsten (fast) vollkommen identsich.

Gruß Mike

P.S.: Der ein oder andere hier hat in seiner Jugend sicherlich mal eines meiner Programme mit Unmengen von Data Zeilen aus 'ner 64er oder Happy Computer abgetippt (war 6510 Assembler deshalb ist es mir noch ein wenig vertraut)
__________________
Das Universum und die Dummheit der Menschen sind grenzenlos. Wobei ich mir beim Universum nicht so sicher bin. (Albert Einstein)

Geändert von Mach2000 (11.08.2009 um 16:50 Uhr)
Mit Zitat antworten
  #4  
Alt 11.08.2009, 17:25
Benutzerbild von EberlW
EberlW EberlW ist offline
Lebende Foren Legende
 
Registriert seit: 09.01.2005
Ort: Leverkusen-Küppersteg
Alter: 59
Land:
Beiträge: 3.111
Abgegebene Danke: 45
Erhielt 60 Danke für 45 Beiträge
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 sssss3111
AW: D+ und D++

 Zitat von Mach2000 Beitrag anzeigen
Ich habe nochmal Google bemüht ...

http://www.6502.org/tutorials/compare_beyond.html

A surprisingly common sequence in 6502 code is:

LDA NUM1
CMP NUM2
BCC LABEL
BEQ LABEL

(or something similar) which branches to LABEL when NUM1 <= NUM2. (In this case NUM1 and NUM2 are unsigned numbers.) However, consider the following sequence:
LDA NUM2
CMP NUM1
BCS LABEL

which branches to LABEL when NUM2 >= NUM1, which is the same as NUM1 <= NUM2. Not only that, it's shorter and (in many cases) faster.


Scheint meine Erinnerung mich doch nicht getäuscht zu haben und vielleicht ist genau der Vergleich der Grund dafür, dass der D++ ein Tick selektiver ist, obwohl ansonsten (fast) vollkommen identsich.

Gruß Mike
Ich werde eben alt, Alzheimer lässt grüßen!
Die Existenz von BEQ hatte ich schon ganz vergessen...

Ja, die Befehle bewirken prinzipiell das gleiche ... mit eben den von Dir bereits festgestellten Unterschied von >= zu >. Das heisst, der D+ verzweigt auch dann, wenn beide Speicherinhalte gleich sind. Der D++ tut das nicht. Damit bleibt es aber dabei: Thorsten's These wird dadurch nicht entkräftet (eher erhärtet), aber beweisen kann das leider auch nix...
Zitieren:

P.S.: Der ein oder andere hier hat in seiner Jugend sicherlich mal eines meiner Programme mit Unmengen von Data Zeilen aus 'ner 64er oder Happy Computer abgetippt (war 6510 Assembler deshalb ist es mir noch ein wenig vertraut)
In meiner Jugend warst Du noch etwas jünger (komisch, ist bis heute so geblieben... ) - aber abgetippt habe ich gelegentlich auch, wie wohl die meisten in unserem Alter. Hast Du mal eine Programm-Liste parat? Vielleicht finde ich was wieder. Keine Angst, wenn damals was nicht funzte erwachte zwar stets der Killer in mir, aber das ist heute längst verraucht!

Gruß, Willi
Mit Zitat antworten
  #5  
Alt 11.08.2009, 17:31
Benutzerbild von Mach2000
Mach2000 Mach2000 ist offline
Mephisto Genius 68030
 
Registriert seit: 29.01.2007
Ort: Mainz
Alter: 56
Land:
Beiträge: 321
Abgegebene Danke: 21
Erhielt 20 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
0/20 18/20
Heute Beiträge
0/3 ssssss321
AW: D+ und D++

 Zitat von EberlW Beitrag anzeigen
Keine Angst, wenn damals was nicht funzte erwachte zwar stets der Killer in mir, aber das ist heute längst verraucht!
An den falschen Prüfsummen in den Listings war ich nicht schuld, das war stets das Werk des Verlages

Gruß Mike
__________________
Das Universum und die Dummheit der Menschen sind grenzenlos. Wobei ich mir beim Universum nicht so sicher bin. (Albert Einstein)
Mit Zitat antworten
  #6  
Alt 11.08.2009, 17:37
Benutzerbild von EberlW
EberlW EberlW ist offline
Lebende Foren Legende
 
Registriert seit: 09.01.2005
Ort: Leverkusen-Küppersteg
Alter: 59
Land:
Beiträge: 3.111
Abgegebene Danke: 45
Erhielt 60 Danke für 45 Beiträge
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 sssss3111
AW: D+ und D++

 Zitat von Mach2000 Beitrag anzeigen
An den falschen Prüfsummen in den Listings war ich nicht schuld, das war stets das Werk des Verlages

Gruß Mike
Was haben falsche Prüfsummen mit nicht funzenden Proggis zu tun?
Du willst Dich nur rausreden noch bevor Du dich als Verfasser diverser Reinfälle outest!

Gruß, Willi <--- der sich eben noch was weinhaltiges besorgen muss, weil er sonst das Spiel gleich nicht erträgt...
Mit Zitat antworten
  #7  
Alt 22.08.2009, 22:32
Benutzerbild von Mach2000
Mach2000 Mach2000 ist offline
Mephisto Genius 68030
 
Registriert seit: 29.01.2007
Ort: Mainz
Alter: 56
Land:
Beiträge: 321
Abgegebene Danke: 21
Erhielt 20 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
0/20 18/20
Heute Beiträge
0/3 ssssss321
AW: D+ und D++

 Zitat von Mach2000 Beitrag anzeigen
Trotz 4 Bytes scheint es nur wenig Unterschied zu geben.

Beim D+ sind die drei zusätzlichen Bytes wohl folgender Code:

JSR $ADC0
LDA $CD
CMP $4D
BCS $961F


Wenn mein 6502 Assembler Verständnis noch funktioniert, sollte das bedeuten:

Wenn Inhalt von $CD >= Inhalt von $4D dann verzweige

Beim D++ steht dort:

JSR $ADC0
LDA $4D
CMP $CD
BCC $961F


Das sollte fast identisch sein mit dem obigen:

Wenn Inhalt von $CD > Inhalt von $4D dann verzweige

Einziger Unterschied scheint ">=" zu ">" .... plus das Byte bei Offset 0

Vielleicht überprüft das mal jemand dessen Kenntnisse frischer sind als meine

Gruß Mike

P.S.: Das erste Byte (Offset 0) scheint in der Routine ab $D72E verwendet zu werden, keine Ahnung was damit gemacht wird.
Ich habe mir den Kaplan nochmal angesehen, es ist wirklich nur der Unterschied >= zu >, das vierte unterschiedliche Byte (gleich zu Beginn des ROMs) ist Teil der Prüfsumme (2 Bytes). Die Kaplan-Eproms bilden eine Prüfsumme über den Rom-Inhalt und morsen und verweigern den Dienst wenn die Prüfsumme nicht stimmt.

Gruß Mike
__________________
Das Universum und die Dummheit der Menschen sind grenzenlos. Wobei ich mir beim Universum nicht so sicher bin. (Albert Einstein)
Mit Zitat antworten
Folgender Benutzer sagt Danke zu Mach2000 für den nützlichen Beitrag:
kamoj (08.07.2024)
  #8  
Alt 07.09.2009, 21:14
Benutzerbild von Paisano
Paisano Paisano ist offline
Schachcomputer Koryphäe
 
Registriert seit: 15.12.2004
Ort: Borken-Singlis (Hessen)
Alter: 66
Land:
Beiträge: 1.247
Abgegebene Danke: 92
Erhielt 276 Danke für 79 Beiträge
Aktivitäten Langlebigkeit
1/20 20/20
Heute Beiträge
0/3 sssss1247
AW: D+ und D++

Hallo,

ich habe vor einiger Ziet mal die nachfolgende Partie (von Thorstens Seite http://www.thorstenczub.de/dplus.html) mit meinem Turboking II (D+?) nachgespielt, als Kompensation
für die etwas geringere Geschwindigkeit habe ich die Spielstufe 40 Züge in 2 Std. 30 Min. gewählt.


[Event "40/2Std."]
[Site "?"]
[Date "2009.08.21"]
[Round "?"]
[White "Saitek D++ 8Mhz"]
[Black "Gideon 3.0 32Mhz"]
[Result "1-0"]
[ECO "B15"]
[PlyCount "91"]
[TimeControl "600"]

{4MB, Fritz7.ctg} 1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nf6 5. Nxf6+ exf6 6. c3
Bd6 7. Bd3 O-O 8. Ne2 Qc7 9. Qc2 g6 10. h4 Re8 11. h5 Re7 12. Be3 a5 13. hxg6
fxg6 14. O-O-O Be6 15. Bxg6 Bxa2 16. Bf5 a4 17. Rde1 Bb3 18. Qb1 a3 19. Rh6
axb2+ 20. Kxb2 Ba2 21. Qd3 Bd5 22. c4 Ra3 23. Nc3 Bb4 24. Bd2 Rxe1 25. Bxh7+
Kf8 26. Bxe1 Qb6 27. Rxf6+ Ke8 28. Bg6+ Kd8 29. Kc2 Nd7 30. Nxd5 Qa7 31. Bxb4
Rxd3 32. Be7+ Kc8 33. Kxd3 cxd5 34. Bf5 dxc4+ 35. Ke4 Qa2 36. Bd6 Kd8 37. Rf7
Qe2+ 38. Kd5 Nb6+ 39. Kc5 Na4+ 40. Kb4 Qb2+ 41. Kxa4 Qb3+ 42. Ka5 Qa2+ 43. Kb4
Qd2+ 44. Kb5 Qh6 45. Rf8+ Qxf8 46. Bxf8 1-0


Die Partie ist komplett reproduzierbar mit Ausnahme des 12. Zuges Le3, dieser Zug taucht innerhalb der Suche des TK II überhaupt nicht auf, selbst bei längerer Bedenkzeit nicht.

Es spielt auch keine Rolle, ob die Stellung aufgesetzt wird oder aus der Partie heraus entsteht, vielleicht hat ja ein D++ Besitzer mal Lust, diese Schlüsselposition zu überprüfen,
sollte nicht viel Zeit in Anspruch nehmen, da bis zum 10. Zug noch aus dem Buch gespielt wird.

Grüße
Uwe
Mit Zitat antworten
  #9  
Alt 07.09.2009, 22:22
Benutzerbild von Chessguru
Chessguru Chessguru ist offline
Administrator
 
Registriert seit: 29.06.2004
Ort: Rostock
Alter: 56
Land:
Beiträge: 6.617
Bilder: 1
Abgegebene Danke: 1.877
Erhielt 4.919 Danke für 1.489 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
3/20 20/20
Heute Beiträge
0/3 sssss6617
AW: D+ und D++

Hallo Uwe,
 Zitat von Paisano Beitrag anzeigen
Es spielt auch keine Rolle, ob die Stellung aufgesetzt wird oder aus der Partie heraus entsteht, vielleicht hat ja ein D++ Besitzer mal Lust, diese Schlüsselposition zu überprüfen,
sollte nicht viel Zeit in Anspruch nehmen, da bis zum 10. Zug noch aus dem Buch gespielt wird.
ich habe den D++ 10 MHz angesetzt. Nach ca. 1 Minute wird der Zug gefunden. Der D+ 10 MHz spielt übrigens 12.hxg6 (+0,76).

Gruß,
Micha
Mit Zitat antworten
  #10  
Alt 07.09.2009, 22:30
Benutzerbild von mclane
mclane mclane ist offline
Lebende Foren Legende
 
Registriert seit: 16.04.2005
Ort: Lünen
Alter: 58
Land:
Beiträge: 4.316
Abgegebene Danke: 2.846
Erhielt 5.520 Danke für 1.935 Beiträge
Aktivitäten Langlebigkeit
13/20 20/20
Heute Beiträge
3/3 sssss4316
AW: D+ und D++

mir ist schon klar das der d++ nur minimal unterschiedlich ist als der d+.
aber dort wo das passiert sind es eben sehr andere züge und man hat den eindruck das der d++ dabei viel selektivere entscheidungen macht.

der d+ spielt nicht viel anders. er spielt solider.


leider kann ich das nicht mehr so alles nachvollziehen. habe 2 module aber die sind nicht ans laufen zu bekommen.

werde sie wohl zu einem fachmann schicken müssen. aber wenn der keine vergleichsmodule findet sehe ich da auch schwarz.

wir haben nie behauptet das der D++ eine programmveränderung ist im UMFANG des Codes. wir haben nie über den Code gesprochen. sondern
mehr über die Wirkung, die sich uns aus Partien erschloß.
Code haben wir ja nie gesehen.
__________________
Die ganze Welt des Computerschachs
Mit Zitat antworten
Antwort


Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:48 Uhr.



Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info