Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Die ganze Welt der Schachcomputer / World of chess computers (https://www.schachcomputer.info/forum/forumdisplay.php?f=2)
-   -   Info: Codeanalyse (https://www.schachcomputer.info/forum/showthread.php?t=5611)

fhub 27.07.2025 23:18

AW: Re: Codeanalyse
 
Zitieren:

Zitat von kamoj (Beitrag 133247)
Wissen Sie, was H6 macht?

Vermutlich gar nichts - die H-Spalte wird für die Levels verwendet.
Nach Aktivierung von H6 (nach RE) kann man keinen Zug eingeben (Brett-LED blinkt), bei den offiziellen Optionen A5-G5 funktioniert die Zugeingabe aber.

Oder meintest du vielleicht H5 statt H6?
H5 ist auch im Manual nicht erwähnt, läßt sich aber trotzdem aktivieren und scheint identisch mit G5 zu sein (also Player Mode).

kamoj 28.07.2025 00:32

Re: Codeanalyse
 
Guter Franz, nochmals vielen Dank.
Ich musste meinen zerlegten SC9B Code finden und nachschauen.
Mein Gedächtnis wird mit dem Alter immer schlechter...

Hier sind die entsprechenden Speicheradressen und meine Kommentare.
(Wenn Sie nichts zu tun haben, können Sie diese Informationen auch zur Darstellung der SC9-Auswertungsfunktion verwenden. Wie bei Super Constellation und Expert?!):
Code:

SCOREPOSL= $C8 ; Evaluated score for position (low byte) (stops when computer announces the move, and starts when its move performed on board).
SCOREPOSH= $C9 ; Evaluated score for position (high byte). Not updated when playing from book.
SCOREL  = $CA  ; Material Score for board (incrementally updated) (low byte) (stops when computer announces the move, and starts when its move performed on board). see $20
SCOREH  = $CB  ; Material Score for board (incrementally updated) (high byte). Updated also when playing from book! See $40
GAMEOPT = $CD  ; Bit-mapped Options selected by selecting a square after Reset.
              ; D5=0x01 (Resign on),
              ; E5=0x02 (Easy),
              ; F5=0x04 (Book Practise),
              ; G5=0x08 (Human-Human),
              ; H5=0x10. See code at LEA57, LEA6D
CE_UNK  = $CE  ; Unknown usage. Default = 1
SOUNDOPT= $CF  ; Options selected by selecting a square after Reset.
              ; Default/On=0
              ; A5=#$FF (Beep Off)
              ; B5=#$01 (Beep Less)

GAMEOPT (Optionen) sind unterschiedlich für G5 und H5, siehe Adresse $CD, daher meine Neugierde!

Ich freue mich über Ihre Aufmerksamkeit für alle Details, auch wenn ich mich 2 Mal falsch erinnere.
Es ist gut zu wissen, dass Sie da draußen sind und uns Patzern auf die Finger schauen.

Mit freundlichen Grüßen,
Lars

fhub 28.07.2025 16:50

AW: Re: Codeanalyse
 
Hallo Lars,

da jetzt klar ist, daß du vom SC9-B sprichst, habe ich mir diesen Code mit dem Test 'and #$10' (Abfrage auf Option H5) genauer angesehen und im MAME-Debugger da einen Breakpoint gesetzt. Dabei habe ich herausgefunden, daß diese Stelle nur ausgeführt wird, wenn die Taste RV gedrückt wird.
Damit war es nicht mehr sehr schwierig, die Funktion dieser H5-Option herauszufinden: bei aktivierter Option H5 macht der SC9-B immer 2 (Halb)Züge statt einem, wenn man die Taste RV drückt, d.h. nachdem er seinen Zug berechnet hat und man diesen am Brett ausgeführt hat, rechnet er sofort (automatisch) auch am Gegenzug und zeigt diesen dann an (normalerweise müßte man dafür nochmals die RV-Taste drücken).

Wozu diese Funktion gut sein soll, weiß ich nicht - vermutlich haben sie diese (versteckte) Option H5 in den folgenden Versionen SC9-C/D deswegen auch wieder entfernt, denn dort bewirkt H5 ein anderes Verhalten: hier schaltet das Programm in den Player-Modus (wie mit G5), nur daß man mit H5 diesen Modus nicht mehr beenden kann (wie normalerweise mit der Taste RV).

Also alles ziemlich konfus - wahrscheinlich haben die Spracklens damals selbst nicht genau gewußt, was sie mit dieser versteckten Option H5 eigentlich machen wollen. :D

Grüße,
Franz

mclane 28.07.2025 17:33

AW: Codeanalyse
 
Es heißt Kathe war für ihre Menüführung (das man mehrere Tasten drücken musste für ein new game etc.) „berühmt“.
Vielleicht könnte man Kathe Spracklen auch als die Vorreiterin des Tesla-Bedienkonzeptes , bzw. des Mephisto Almeria/Portoroz/Vancouver sehen.
Dave Kittinger hat praktisch für jede Funktion eine eigene Taste, mitunter sind die Tasten sogar noch 3fach belegt mit shift Tasten wie beim ZX Spectrum. Das ist sozusagen das andere Extrem.

kamoj 28.07.2025 21:52

Re: AW: Re: Codeanalyse
 
Danke für die Informationen, Franz.
Es ist interessant, wie komplex diese alten kleinen Schachprogramme sein können.
Ich habe angefangen, den SC9B zu zerlegen, als ich ihn in den 80er Jahren kaufte,
und habe das Projekt vor kurzem mit einem modernen Assembler neu gestartet,
um mehr über den Zuggenerator und die Eröffnungsbuchcodierung zu lernen.

Ich bin für alle Informationen dankbar!

Mit freundlichen Grüßen,
Lars
Zitieren:

Zitat von fhub (Beitrag 133253)
da jetzt klar ist, daß du vom SC9-B sprichst, habe ich mir diesen Code mit dem Test 'and #$10' (Abfrage auf Option H5) genauer angesehen und im MAME-Debugger da einen Breakpoint gesetzt. Dabei habe ich herausgefunden, daß diese Stelle nur ausgeführt wird, wenn die Taste RV gedrückt wird.
Damit war es nicht mehr sehr schwierig, die Funktion dieser H5-Option herauszufinden: bei aktivierter Option H5 macht der SC9-B immer 2 (Halb)Züge statt einem, wenn man die Taste RV drückt, d.h. nachdem er seinen Zug berechnet hat und man diesen am Brett ausgeführt hat, rechnet er sofort (automatisch) auch am Gegenzug und zeigt diesen dann an (normalerweise müßte man dafür nochmals die RV-Taste drücken).


Bryan Whitby 29.07.2025 14:35

Re: Codeanalyse
 
I have Kathe's address somewhere if anybody would want to contact her directly.


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:24 Uhr.

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