oldie but goody

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

oldie but goody

Post by bob »

I don't know if I have ever released this, but I was looking through old files and ran across a REALLY old version of my chess program. WAY before it had the "Cray" in its name. This is version 6.9, dated 1977, which sounds right. Right after the WCCC that year, I decided to get rid of the highly selective predecessor version and do something similar to Slate/Atkin to see what the exhaustive search noise was all about.

I don't think this will compile (it is old FORTRAN) because it was apparently OCR'ed from a listing. I have already seen some issues (OCR back in the 80's was highly inaccurate. But it does represent a predecessor of Cray Blitz, which preceded crafty... So if nothing else, it is "interesting". I do remember scanning it in via OCR and quickly decided it was not worth the headache...

If you have an interest, let me know and I can send a zip file.
abulmo2
Posts: 433
Joined: Fri Dec 16, 2016 11:04 am
Location: France
Full name: Richard Delorme

Re: oldie but goody

Post by abulmo2 »

Yes, please publish it.
It would be interesting from an historical point of view.
Richard Delorme
User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: oldie but goody

Post by mhull »

bob wrote: Tue Nov 05, 2019 4:59 am I don't know if I have ever released this, but I was looking through old files and ran across a REALLY old version of my chess program. WAY before it had the "Cray" in its name. This is version 6.9, dated 1977, which sounds right. Right after the WCCC that year, I decided to get rid of the highly selective predecessor version and do something similar to Slate/Atkin to see what the exhaustive search noise was all about.

I don't think this will compile (it is old FORTRAN) because it was apparently OCR'ed from a listing. I have already seen some issues (OCR back in the 80's was highly inaccurate. But it does represent a predecessor of Cray Blitz, which preceded crafty... So if nothing else, it is "interesting". I do remember scanning it in via OCR and quickly decided it was not worth the headache...

If you have an interest, let me know and I can send a zip file.
What platform was it running on in 1977?

For the tournament, a Xerox Sigma 9. It also ran on others. IBM. Amdahl. Univac. Nothing really architecture dependent back then. No parallel search for a few more months and access to a univac 1100 system with 2 processors.
Matthew Hull
sarona
Posts: 122
Joined: Tue Oct 29, 2019 4:14 pm
Location: Canada
Full name: Ron Doughie

Re: oldie but goody

Post by sarona »

I would be interested, too, Dr. Hyatt.

I have one of Jim Ablett's Cray Blitz Windows compiles (running from the command prompt) from 2008. The included source was also written in Fortran. I assume this is your code as well.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: oldie but goody

Post by bob »

sarona wrote: Tue Nov 05, 2019 6:20 pm I would be interested, too, Dr. Hyatt.

I have one of Jim Ablett's Cray Blitz Windows compiles (running from the command prompt) from 2008. The included source was also written in Fortran. I assume this is your code as well.
Yes it was. But for the CB source it was NOT scanned in via OCR. I actually had that older version on a tape I found. It was not anywhere near the last (1994) version, but at least it was a working Fortran version that would compile and run.

Did you send me a message with your email? Matt Hull and one other did and I have sent copies to both. If you did not, drop me a message here and I'll be happy to send it to you. Here is something I am sending with all copies that go out:
bob wrote: I am attaching the source. It is REALLY problematic, in that lots of “1” (one) were changed to “l”. There were others, such as O (oh) vs 0 (zero). And others as well. the problem is FORTRAN is an old language that was weakly typed. So most of those errors will NOT show up with a compiler. Even with one that does a dependency graph at compile time to detect undefined variables. IE tempL = xx, temp1 = tempL +10, then use tempL (I capitalized the L to highlight it is different from the “1”. This kind of crap REALLY makes this hard to fix. About all I could do (I probably fixed a little bit of it before I gave up) is to actually read the code to figure out what it was trying to do, and looking for variables that end in an l (el) or a 1 (one) and fix them one at a time. Code is big enough to make this a huge pita…

Boy is this code old, dating back to 1977. In the middle of 1977 somewhere we had the second WCCC, right after that I started to work on this version. This was an early version of the exhaustive search program that replaced the previous 100,000 lines of crazily complex selective search.

Have fun. Or not. :)
So this is not a project that will be easy.

Back then, OCR sucked. Still has lots of issues even today.. The font used makes all the difference. Back then the font was anti-OCR to the extreme...
User avatar
Deberger
Posts: 91
Joined: Sat Nov 02, 2019 6:42 pm
Full name: ɹǝƃɹǝqǝᗡ ǝɔnɹꓭ

Re: oldie but goody

Post by Deberger »

It could be interesting to compare this with Sargon, 1978

I don't think Kathe/Dan were doing full-width back then. They were running on an 8-bit microprocessor (6502 I think). At some point they published a copy of Sargon in something like Byte Magazine. Do not remember when or what version however. I doubt it was their real version since they were actively selling the thing.
User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: oldie but goody

Post by mhull »

bob wrote: Wed Nov 06, 2019 6:42 am
mhull wrote: Tue Nov 05, 2019 5:44 pm
bob wrote: Tue Nov 05, 2019 4:59 am I don't know if I have ever released this, but I was looking through old files and ran across a REALLY old version of my chess program. WAY before it had the "Cray" in its name. This is version 6.9, dated 1977, which sounds right. Right after the WCCC that year, I decided to get rid of the highly selective predecessor version and do something similar to Slate/Atkin to see what the exhaustive search noise was all about.

I don't think this will compile (it is old FORTRAN) because it was apparently OCR'ed from a listing. I have already seen some issues (OCR back in the 80's was highly inaccurate. But it does represent a predecessor of Cray Blitz, which preceded crafty... So if nothing else, it is "interesting". I do remember scanning it in via OCR and quickly decided it was not worth the headache...

If you have an interest, let me know and I can send a zip file.
What platform was it running on in 1977?

For the tournament, a Xerox Sigma 9. It also ran on others. IBM. Amdahl. Univac. Nothing really architecture dependent back then. No parallel search for a few more months and access to a univac 1100 system with 2 processors.
There is a Sigma 9 at the Living Computer Museum. The plaque gives an indication of computing power at ~600 KIPS (0.6 MIPS) which compares with an IBM 370 Model 158 circa 1972 (640 KIPS).
Matthew Hull
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: oldie but goody

Post by bob »

I think that number is wrong. Sounds more like a sigma 6/7. IIRC, the sigma 9 had a .73 microsecond clock, which would translate to about 1.3MIPS. If every instruction referenced memory it could not run that fast, but it was pretty fast for the day. Today my Apple watch has more computing power. :)
User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: oldie but goody

Post by mhull »

bob wrote: Wed Nov 06, 2019 8:51 pm I think that number is wrong. Sounds more like a sigma 6/7. IIRC, the sigma 9 had a .73 microsecond clock, which would translate to about 1.3MIPS. If every instruction referenced memory it could not run that fast, but it was pretty fast for the day. Today my Apple watch has more computing power. :)
The computer museum plaque says that their Sigma 9 clock runs at 900 nanoseconds (.9 microseconds). One supposes also that the instructions per second were highly workload dependent.
Matthew Hull
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: oldie but goody

Post by bob »

They have the number wrong. I have a couple of boxes of junk I kept (for unknown reasons). I actually have the sigma 9 reference manual. On page 167 it says that the "add immediate" instruction (add the 17 bit address field directly to the indicated register destination (R0 - R15). I did not really remember, but there were 3 versions of this machine. The sigma-9, sigma-9 model 2 and sigma-9 model 3. The sigma-9 and sigma-9 model 3 have a clock cycle time of .73 microseconds. The Model 2 has a cycle time of 1.1 microseconds. Don't know a thing about that middle one. There are a bunch of .73 microsecond instructions, and some that are much slower. IE floating multiply could hit 10uSec if (again) memory serves me correctly. This was OBVIOUSLY a long time ago. :) by 81 or so the CS department had acquired our on VAX 11/780. BTW I think the Wiki is wrong there. The VAX 11/780 used the power-hungry heat-producing ECL design (Emitter Coupled Logic). That "minicomputer" was 4 cabinets wide and 6' high. Did have a nice feature that allowed user micro-programming. I quickly added a couple of chess-specific instructions to really speed up move generation and make/unmake. Not sure what else.

I just did a quick search and actually found the sigma-9 hardware reference manual online at bitsavers.org. Was not a bad machine in its day. When we bought the thing, IBM competed bid-wise offering a /360 model 155. It was both a little slower AND about 3x the price. For I/O the IBM was MUCH slower.

The wiki references a 7202 RAD (rapid access device, or head-per-track disc.) It was actually a 7212 as we had one. We originally bought the 7232 which was significantly cheaper (and slower). As load increased we went to the 7212.

For a history lesson. :)