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 17.10.2019, 23:24
Tibono Tibono ist offline
TASC R30
 
Registriert seit: 22.05.2018
Ort: Frankreich
Alter: 62
Land:
Beiträge: 457
Abgegebene Danke: 2.141
Erhielt 1.106 Danke für 361 Beiträge
Aktivitäten Langlebigkeit
7/20 6/20
Heute Beiträge
1/3 ssssss457
Novag Delta-1 code

Hi,
I first apologize not being able to write a quite long post in German.

I will soon add a Delta-1 to my collection ("ordered" it as a birthday gift) and wanted to dig into the authorship mystery.

As it is now easy to browse ROM data files dumped for emulation purpose, I compared the Delta ROM with some candidates, all F8-3850 or F8-3870 based:
- Novag CC MK I, 1978, 2Kb ROM, 256b RAM (D. Goodrich)
- Boris, 1978, 2.5Kb ROM, 256b RAM (D. Lindsay)
- Boris Diplomat, 1979, 2.5Kb ROM, 256b RAM (D. Lindsay)
- Novag Pocket Chess/Chess Traveller, 1980, 2Kb ROM, 64b RAM (M. Johnson)
- Novag Delta-1, 1980, 4Kb ROM, 312b RAM (to be identified)

Of course I could not perform such a comparison with 6502 based devices, such as CC MK II or MK III. Anyway Mike Johnson is present with the Pocket Chess; and Peter Jennings indeed lacking.

But let's step forward with the ones that can be compared on a byte to byte basis:
- I could find no similarities between Delta-1 code and CC MK I nor Pocket Chess
- on the other hand, I found significant identical blocks of bytes between Delta-1 and whichever Boris/Boris Diplomat. And comparing Boris/BorisD to each other, I found roughly the same amount of similarities.

Let's get a bit more accurate: I considered identical blocks showing at least 8 consecutive very same bytes (same positions of course); longer blocks being as well added to the count if all bytes but very few were same, and same position in the block. The few non corresponding bytes were of course removed from the count.

Example: s = same byte; - = different byte
----ssssssss--- value +8 (minimum block)
---ss-ssssssss-sss--- value +13 (extended block & >minimum)
---ssssss--s---sssss--- no value, so 0 (minimum not reached)

Consecutive 00 or FF were not considered.

I so found :
- 800 bytes in identical blocks comparing Delta-1 to Boris
- 808 bytes in identical blocks comparing Delta-1 to Boris Diplomat
- 871 bytes in identical blocks comparing Boris to Boris Diplomat.

Total bytes ROM count being 2006 for BorisD, 2831 for Boris, and 4096 for Delta-1:
- the Delta-1 shares 20% of its code with any of both Boris
- Boris shares 28% of its code with Delta-1, and 31% with Boris Diplomat
- The most impressive ratio is the one based on the smallest Boris Diplomat, sharing 40% of its code with the Delta-1, and 43% with the Boris.

That is common DNA, isn't it?

But a question remains pending: why is the Delta-1 so weak? (despite larger ROM, larger RAM, faster clock and later birth...)

Viele Grüße
Eric

Geändert von Tibono (17.10.2019 um 23:31 Uhr)
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu Tibono für den nützlichen Beitrag:
Boris (06.05.2020), kamoj (01.05.2022), Mychess (05.12.2021)
  #2  
Alt 18.10.2019, 10:18
hap hap ist offline
TASC R40
 
Registriert seit: 27.07.2019
Beiträge: 507
Abgegebene Danke: 183
Erhielt 1.641 Danke für 324 Beiträge
Aktivitäten Langlebigkeit
5/20 5/20
Heute Beiträge
0/3 ssssss507
Re: Novag Delta-1 code

Yes, when doing a hex compare between Delta-1 and Boris, you can see many similarities. But be aware that this alone is not 100% proof that the chess engine was written by the same person.

for example:
person A: programmed user interface for Boris/Boris D
person B: chess engine for Boris
person A: user interface for Delta-1
person C: chess engine for Delta-1
Mit Zitat antworten
  #3  
Alt 24.11.2019, 11:28
Tibono Tibono ist offline
TASC R30
 
Registriert seit: 22.05.2018
Ort: Frankreich
Alter: 62
Land:
Beiträge: 457
Abgegebene Danke: 2.141
Erhielt 1.106 Danke für 361 Beiträge
Aktivitäten Langlebigkeit
7/20 6/20
Heute Beiträge
1/3 ssssss457
AW: Novag Delta-1 code

Hi,

I just spotted another similarity which to my opinion is quite convincing, as it is about a visible feature (and a documented one, in either user's manuals for Delta-1, Boris and Boris Diplomat).

Not about the level setting being same, based on a timer - same indeed but quite unsignificant (used as well in Mike Johnson's Chess Champion Super System III, as an example).

It is about the intimate logical board update: the computer's last move is not updated unless the next player's move is entered. This is true regarding either both Boris or the Delta-1, and is quite an uncommon way to manage the board update. The user's manuals explain this in the part about taking back a wrong move. I personally don't know about any other device handling like that (please let me know, should I miss some).

I much doubt a that small, early and basic program would split board representation and chess engine, and the feature is quite structuring for both user interface and chess engine. So I stick to the idea the Delta-1 is a Lindsay based device (legal copyright or maybe not!).

Grüße
Eric
Mit Zitat antworten
  #4  
Alt 24.11.2019, 20:31
Benutzerbild von mclane
mclane mclane ist offline
Lebende Foren Legende
 
Registriert seit: 16.04.2005
Ort: Lünen
Alter: 57
Land:
Beiträge: 3.805
Abgegebene Danke: 2.093
Erhielt 3.944 Danke für 1.470 Beiträge
Aktivitäten Langlebigkeit
14/20 19/20
Heute Beiträge
2/3 sssss3805
AW: Novag Delta-1 code

And mike johnson would be mkIII and mkIV.

So the question still remains: why is delta 1 so weak although having the best hardware from all the other clones.
__________________
Die ganze Welt des Computerschachs
Mit Zitat antworten
  #5  
Alt 06.05.2020, 11:28
bataais bataais ist offline
SPARC
 
Registriert seit: 01.10.2013
Beiträge: 238
Abgegebene Danke: 129
Erhielt 309 Danke für 132 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss238
AW: Novag Delta-1 code

I had a look again at Delta-1 chess, I know now what it is:

They (some Scisys engineers) took the rom of Boris Master (rev. 1) and tried to rewrite it for a 4x 7-Segment LED, unfortunately they botched the hack job,
the timer interrupt calls the new display routine much more frequently and so looses time for chess calculations; and more weird stuff is going on.

No wonder it plays so weak.

In the Delta-1 ROM is even some fragmented code remaining of the message:

0878:BORIS AWAITS YOUR MOVE
01 CD 7E 53 09 37 AE 50 (BC FD 59 C0 86 0)
(snipped from Sean Riddle's disassembly of Boris rev. 1)
Mit Zitat antworten
Folgende 6 Benutzer sagen Danke zu bataais für den nützlichen Beitrag:
Boris (06.05.2020), Drahti (06.05.2020), hap (06.05.2020), Mike (06.05.2020), Mychess (05.12.2021), Tibono (06.05.2020)
  #6  
Alt 06.05.2020, 11:41
Benutzerbild von mclane
mclane mclane ist offline
Lebende Foren Legende
 
Registriert seit: 16.04.2005
Ort: Lünen
Alter: 57
Land:
Beiträge: 3.805
Abgegebene Danke: 2.093
Erhielt 3.944 Danke für 1.470 Beiträge
Aktivitäten Langlebigkeit
14/20 19/20
Heute Beiträge
2/3 sssss3805
AW: Novag Delta-1 code

Unglaublich eigentlich,
__________________
Die ganze Welt des Computerschachs
Mit Zitat antworten
  #7  
Alt 06.05.2020, 11:52
hap hap ist offline
TASC R40
 
Registriert seit: 27.07.2019
Beiträge: 507
Abgegebene Danke: 183
Erhielt 1.641 Danke für 324 Beiträge
Aktivitäten Langlebigkeit
5/20 5/20
Heute Beiträge
0/3 ssssss507
Re: Novag Delta-1 code

Nice =) There's no way excusing the remaining Boris message. Caught them red handed(whoever the programmers were that modified it).
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu hap für den nützlichen Beitrag:
bataais (08.05.2020), mclane (06.05.2020), Mike (06.05.2020)
  #8  
Alt 06.05.2020, 13:14
bataais bataais ist offline
SPARC
 
Registriert seit: 01.10.2013
Beiträge: 238
Abgegebene Danke: 129
Erhielt 309 Danke für 132 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss238
AW: Novag Delta-1 code

These programmers also tried to preserve the original Boris timer interrupt value,
if pin 5 of F8 3850 chip (IO-03) would be HIGH instead of GND.
Code:
Interrupt Routine

5924: 5E       LR   (IS--),A
5925: 20 98    LI   $98			;<- faster timer interrupt value ( F8 table: 91)
5927: BF       OUTS $0F
5928: 4B       LR   A,HL
5929: 5E       LR   (IS--),A
592A: 4A       LR   A,HU
592B: 5E       LR   (IS--),A
592C: 49       LR   A,J
592D: 5C       LR   (IS),A
592E: 1E       LR   J,W
592F: 0A       LR   A,IS
5930: 13       SL   1
5931: 13       SL   1
5932: E9       XS   J
5933: 59       LR   J,A
5934: 62       LISU $02
5935: A0       INS  $00			;<- get in/out port 0 (port is inverted)
5936: 21 08    NI   $08			;<- AND 8 (bit 3)
5938: 94 04    BNZ  $593D		;Branch if not ZERO
593A: 20 4F    LI   $4F			;<- original Boris rev1 timer value (F8 table: 183)
593C: BF       OUTS $0F			;<- to 3853 chip
593D: A0       INS  $00
593E: 1F       INC
593F: 21 07    NI   $07
5941: 5B       LR   HL,A
5942: 2C       XDC
5943: 29 5D E6 JMP  $5DE6
.
.

I tried it with a modified Delta-1 ROM in MAME, but it only blinks slower, still same weak game.
Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu bataais für den nützlichen Beitrag:
Mike (06.05.2020), Mychess (05.12.2021)
  #9  
Alt 07.05.2020, 14:45
bataais bataais ist offline
SPARC
 
Registriert seit: 01.10.2013
Beiträge: 238
Abgegebene Danke: 129
Erhielt 309 Danke für 132 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss238
AW: Novag Delta-1 code

I think I have found one major oversight by the hackers of Delta-1.

Boris rev1 is accessing a table for evaluation at the end of the ROM, just before the RAM is starting. (DCO gets added a negative value). With Delta-1, it's not accessing the table (which is missing in RAM and not located at the End of ROM), but the uninitialized junk RAM.

So I just copied the table to the RAM, also made one other change where the programmers thought it would be a computed goto, and voilà:

My hacked Delta-1 ROM is now (almost) playing like Boris rev.1, around half the speed because of the more frequent interrupt calls, but makes none of those stupid moves anymore.

Here my changes to Delta-1 ROM: (Adresses in ROM start not at 5000 but 0000)
Code:
5000 JMP $5EC0		29 5E C0	; was	29 59 00

506F AI   $FD		24 FD		; was	24 FE

5EC0 DCI $EBC0		2A EB C0	; New copy table routine
5EC3 XDC		2C
5EC4 DCI $5880		2A 58 80
5EC7 LI $40		20 40
5EC9 LR 0,A		50
5ECA LM			16		 ; Loop
5ECB XDC		2C
5ECC ST			17
5ECD XDC		2C
5ECE DS 0		30
5ECF BNZ $5ECA		94 FA
5ED1 JMP $5900		29 59 00
For those who want to try it in CB-EMU, just rename the original cc1delta.zip to e.g. cc1delta_orig.zip and add my hacked version (in the roms folder of MessExtra AND MessChess..)

Maybe I will modify my own Delta-1 with an updated eprom.

Pirated and double-hacked Regards,
bataais
Angehängte Dateien
Dateityp: zip ccdelta1.zip (3,6 KB, 120x aufgerufen)
Mit Zitat antworten
Folgende 7 Benutzer sagen Danke zu bataais für den nützlichen Beitrag:
Drahti (07.05.2020), fhub (07.05.2020), Luis (07.05.2020), mclane (07.05.2020), Mychess (05.12.2021), paulwise3 (07.05.2020), Tibono (07.05.2020)
  #10  
Alt 07.05.2020, 18:02
Tibono Tibono ist offline
TASC R30
 
Registriert seit: 22.05.2018
Ort: Frankreich
Alter: 62
Land:
Beiträge: 457
Abgegebene Danke: 2.141
Erhielt 1.106 Danke für 361 Beiträge
Aktivitäten Langlebigkeit
7/20 6/20
Heute Beiträge
1/3 ssssss457
AW: Novag Delta-1 code

Congrats for the zap!
So, the relevant evaluation data is present in the Delta-1 ROM (80 bytes starting from offset 880, if I read you correctly), and actually not used?

They really screwed up...

Next step: patch the evaluation data itself, to setup personnalities... A credible alternative to The King program!

Kind regards,
Eric
Mit Zitat antworten
Folgender Benutzer sagt Danke zu Tibono für den nützlichen Beitrag:
mclane (27.04.2022)
Antwort

Themen-Optionen
Ansicht

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

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Idee: Novag Micro II - der meistgeklonte Novag - eine Spekulation bataais Die ganze Welt der Schachcomputer / World of chess computers 27 25.11.2020 17:54
Frage: Ersatz für Novag Netzteil 8,5 Volt AC , 0,8 A beim Novag Super Sensor IV BlackPawn Technische Fragen und Probleme / Tuning 4 19.08.2010 22:42
Test: Delta und Diplomat Mark 1 Teststellungen und Elo Listen / Test positions and Elo lists 7 09.10.2006 09:11


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.



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