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 06.05.2020, 13:14
bataais bataais ist offline
Mephisto Turniermaschine
 
Registriert seit: 01.10.2013
Beiträge: 316
Abgegebene Danke: 206
Erhielt 545 Danke für 221 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss316
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)
  #2  
Alt 07.05.2020, 14:45
bataais bataais ist offline
Mephisto Turniermaschine
 
Registriert seit: 01.10.2013
Beiträge: 316
Abgegebene Danke: 206
Erhielt 545 Danke für 221 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss316
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, 150x aufgerufen)
Mit Zitat antworten
Folgende 8 Benutzer sagen Danke zu bataais für den nützlichen Beitrag:
Drahti (07.05.2020), fhub (07.05.2020), kamoj (02.09.2024), Luis (07.05.2020), mclane (07.05.2020), Mychess (05.12.2021), paulwise3 (07.05.2020), Tibono (07.05.2020)
  #3  
Alt 07.05.2020, 18:02
Tibono Tibono ist offline
Resurrection
 
Registriert seit: 22.05.2018
Ort: Frankreich
Alter: 63
Land:
Beiträge: 602
Abgegebene Danke: 3.739
Erhielt 1.408 Danke für 479 Beiträge
Aktivitäten Langlebigkeit
5/20 7/20
Heute Beiträge
0/3 ssssss602
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)
  #4  
Alt 07.05.2020, 18:27
bataais bataais ist offline
Mephisto Turniermaschine
 
Registriert seit: 01.10.2013
Beiträge: 316
Abgegebene Danke: 206
Erhielt 545 Danke für 221 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss316
AW: Novag Delta-1 code

I actually burned an eprom and tried it in my real Delta-1, but didn't succeed.
Found out the both CHIP ENABLE's are somewhat different than standard mask-roms. ROM dump was the same as ma_winke_y1d.

And I believe the real Delta-1 does indeed access the table, because it's doing something with these chip enables. So the error should be in the MAME emulation, and I did only correct it for MAME.

When I let Delta-1 (original) start as white, it shows the same moves as Boris rev1, but on the emulation it's plays very differently.
Mit Zitat antworten
Folgender Benutzer sagt Danke zu bataais für den nützlichen Beitrag:
Mike (07.05.2020)
  #5  
Alt 07.05.2020, 18:52
hap hap ist offline
Resurrection
 
Registriert seit: 27.07.2019
Beiträge: 598
Abgegebene Danke: 221
Erhielt 2.292 Danke für 414 Beiträge
Aktivitäten Langlebigkeit
0/20 6/20
Heute Beiträge
0/3 ssssss598
Re: Novag Delta-1 code

Nothing strange there:

Delta-1 2332 ROM
_CE1 = A13
CE 2 = RD
Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu hap für den nützlichen Beitrag:
bataais (08.05.2020), Mike (07.05.2020)
  #6  
Alt 07.05.2020, 19:10
Tibono Tibono ist offline
Resurrection
 
Registriert seit: 22.05.2018
Ort: Frankreich
Alter: 63
Land:
Beiträge: 602
Abgegebene Danke: 3.739
Erhielt 1.408 Danke für 479 Beiträge
Aktivitäten Langlebigkeit
5/20 7/20
Heute Beiträge
0/3 ssssss602
AW: Novag Delta-1 code

Hi,
I let Arena play two games (15s/move) between both versions.

As black, Bataais' hacked version cleaned up material, reaching an overwhelming king + 2 rooks, 1 bishop, 2 knights and 4 pawn against genuine Delta-1's isolated king - but the game ended in a draw (3-fold rep).
As white, the hacked version won by checkmate with a large material advantage (king + 1 queen, 1 rook, 1 bishop, 1 knight, 4 pawns against king + 1 rook, 1 bishop, 1 pawn).

How to play both: surely many ways, this one is quite simple
- in MessChess, I created a hacked_roms new directory containing Bataais' ROM
- in Arena, I duplicated my Delta-1 engine and updated each with command line parameters:
ccdelta1 -rompath roms
ccdelta1 -rompath hacked_roms
You need to specify both, as without -rompath parameter the default is used from ccdelta1.ini file, where the latest used configuration is memorized. So better force it, or you will end using the hacked one anyway.

Of course, on hacked engine start, you need to manually skip the warning about the unexpected ROM.

Have fun,
Eric
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu Tibono für den nützlichen Beitrag:
bataais (08.05.2020), kamoj (01.05.2022), Mike (07.05.2020)
  #7  
Alt 07.05.2020, 22:38
Mike Mike ist offline
Sargon
 
Registriert seit: 11.06.2005
Beiträge: 32
Abgegebene Danke: 16
Erhielt 59 Danke für 9 Beiträge
Aktivitäten Langlebigkeit
0/20 19/20
Heute Beiträge
0/3 sssssss32
Re: Novag Delta-1 code

Congratulations on the work unravelling the Delta-1 puzzle.

It seems like a further chess programming scandal has been revealed this time 40 years after the event. When Data Cash Systems lost their court case and appeal it looks like Novag/SciSys took another liberty and pirated a second chess program for use in one of their models. This time Boris for the Delta-1.


I have updated my webpage on the Delta-1.

http://www.chesscomputeruk.com/html/...n_delta-1.html


Pirate regards
Mike
Mit Zitat antworten
Folgende 5 Benutzer sagen Danke zu Mike für den nützlichen Beitrag:
bataais (08.05.2020), Boris (07.05.2020), kamoj (01.05.2022), mclane (04.07.2025), Tibono (07.05.2020)
  #8  
Alt 08.05.2020, 09:57
bataais bataais ist offline
Mephisto Turniermaschine
 
Registriert seit: 01.10.2013
Beiträge: 316
Abgegebene Danke: 206
Erhielt 545 Danke für 221 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss316
AW: Novag Delta-1 code

Thanks, Mike!

I finally managed to get the eprom working in my Delta-1!

Only had to invert the CE2 signal. Luckily there was a NOR 4001 already present which inverted it for the RAM 2111 chips. (Chip Selects are always confusing when replacing mask-roms with eproms..)

Sorry if I rushed into wrong conclusions about MAME, really nothing wrong there, except I was bewildered by the different moves compared to the real Delta-1. (I haven't played much on the original, since I got it only yesterday ) I believe the uninitialized (randomized) RAM in MAME lets it play other moves.

Some pictures for those who want to replicate my hack. Be careful with the screws, I broke the plastic holders.

Now I will play some games..

EDIT: After playing some games, there's still something wrong, pieces get lost or appear in RAM.. Ich muss nochmals über die Bücher
Miniaturansicht angehängter Grafiken
Klicke auf die Grafik für eine größere Ansicht

Name:	Delta1-hack2.jpg
Hits:	107
Größe:	169,7 KB
ID:	4373   Klicke auf die Grafik für eine größere Ansicht

Name:	Delta1-hack1.jpg
Hits:	96
Größe:	191,0 KB
ID:	4374  

Geändert von bataais (08.05.2020 um 10:33 Uhr) Grund: Beta-Version
Mit Zitat antworten
Folgende 5 Benutzer sagen Danke zu bataais für den nützlichen Beitrag:
Boris (08.05.2020), kamoj (01.05.2022), mclane (04.07.2025), Mychess (05.12.2021), Tibono (08.05.2020)
  #9  
Alt 08.05.2020, 11:15
hap hap ist offline
Resurrection
 
Registriert seit: 27.07.2019
Beiträge: 598
Abgegebene Danke: 221
Erhielt 2.292 Danke für 414 Beiträge
Aktivitäten Langlebigkeit
0/20 6/20
Heute Beiträge
0/3 ssssss598
Re: Novag Delta-1 code

Right, MAME fills the RAM with rand() which will be different to a real Delta-1. I don't think an SRAM chip will be 100% random at power-on, it will have a pattern. Maybe some of the bits are truly 'random' (with parameters: temperature, magnetic field, slight voltage differences, ...)

This addressing thing won't work on the real chesscomputer, it will put the ROM table before RAM:

remove:
map(0x2000, 0x20ff).mirror(0x1f00).ram(); // A13

add:
map(0x2bc0, 0x2bff).rom().region("maincpu", 0x0880);
map(0x2c00, 0x2cff).ram();
Mit Zitat antworten
  #10  
Alt 08.05.2020, 15:52
bataais bataais ist offline
Mephisto Turniermaschine
 
Registriert seit: 01.10.2013
Beiträge: 316
Abgegebene Danke: 206
Erhielt 545 Danke für 221 Beiträge
Aktivitäten Langlebigkeit
0/20 11/20
Heute Beiträge
0/3 ssssss316
AW: Novag Delta-1 code

hap, I thought this adressing scheme should work on the real machine.

RAM gets adressed from EC00 to ECFF (in fact only bit 13 toggles RAM or ROM access, and RAM uses only 8 bits).

So if I place the 64-bytes table in RAM at 20C0 or EBC0 or ECC0 should result in the same thing.

Now if the DCO (Data counter) accesses the RAM at EC00, then decrements to EBFF, that should still access RAM at 2xFF or EBFF..

(The table HAS to be before RAM start, on the wrap-around.)

Am I wrong somewhere?
Mit Zitat antworten
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 +2. Es ist jetzt 02:11 Uhr.



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