![]() |
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 |
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 |
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 |
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. |
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) |
AW: Novag Delta-1 code
Unglaublich eigentlich,
|
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).
|
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 I tried it with a modified Delta-1 ROM in MAME, but it only blinks slower, still same weak game. |
AW: Novag Delta-1 code
1 Anhang/Anhänge
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 Maybe I will modify my own Delta-1 with an updated eprom. Pirated and double-hacked Regards, bataais |
AW: Novag Delta-1 code
Congrats for the zap! :respekt:
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? :lol: They really screwed up... :doh: Next step: patch the evaluation data itself, to setup personnalities... A credible alternative to The King program! :D Kind regards, Eric |
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:03 Uhr. |
Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info