Mephisto III S Glasgow now as „C“ engine on PC

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
mclane
Posts: 19002
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by mclane »

towforce wrote: Sat Aug 01, 2026 10:48 pm
mclane wrote: Sat Aug 01, 2026 10:20 am...On the 8 bit machine it did 1-3 NPS , on the 16 Bit Motorola 12 mhz machine it did 4-10 NPS.

This doesn't seem to make sense: what was the computer doing?

Yes - 1984 predates the time when developers started removing knowledge from their engines, because it consumed precious time, reduced Elo rating, and became redundant because as CPUs became faster and more powerful, the game tree would generate much of the knowledge the engine previously had. In the 1990s a majority of developers came to believe that NPS (or depth of search) was a key part of strong play.

Although this predates that time, it's difficult to imagine that an 8-bit engine could hope to have enough static knowledge about enough different position types to be able to compete without a big game tree - so what was going on?
On the 8 bit 1802 cmos cpu that hegener and glaser used for the mephisto, that is slower then e.g. a 6502 cpu, mephisto III computed 1-3 NPS. The rest was done statically.

At that time the other 8 bit engines written in assembler did 500-1000 or 1500 nps depending on cpu and frequency.


So mephisto III competed with 1-3 NPS against opponents with 500-1500 nps.

The motorola 16 bit version on 68000 cpu with 12 mhz (but ugly waitstates), did 4-10 nps.

Thomat nitsche and elmar henne were able to win a title with this strange engine.

Of course shared title with richard lang (psion chess), spracklens fidelity, rathsmanns princhess.

www.chesseval.com/WorldChampion/Glasgow1984.htm

The machine they used was commercially availabe as Mephisto III S Glasgow.

The engine was now reengineered by AI and in C compiled for PC and different OS.

Its bugs were repaired (engine crashed in original from time to time in complex positions) , hash tables added and maximum search depth was extended, from 19 to 64.

Thomas Nitsche once explained how his engine worked in this article:

https://www.schach-computer.info/wiki/i ... phisto_III

Quote:

Mephisto III unterteilt den Entscheidungsbaum in 3 Abschnitte
Utopische Züge (gut, falls der Gegner nichts tut):
Eine Stellung kommt in einer Tiefe von etwa 1-3 vor. Der Beginn einer Kombination. Fast jeder irgendwie erfolgversprechende Zug wird selektiert, auch wenn die Wahrscheinlichkeit des Erfolges recht gering ist. Der Mensch nennt manche dieser Züge Opfer.

Optimistische Züge (gut, falls der Gegner nur die zweitbeste Antwort hat):
Die Kombination hat eine Tiefe von 4-8 erreicht. Nur noch Züge mit einer Trefferwahrscheinlichkeit von größer als 30% werden selektiert. I.A. sind dies Züge, bei denen hohe Figuren angegriffen werden, Schach gedroht wird, etc. Diese Züge sollen aber selbst nichts opfern.

Realistische Züge (gut, falls der Gegner den besten Gegenzug wählt):
Die Stellung kommt in einer Tiefe größer als 8 vor. Nur noch klare Abwicklungen werden untersucht. D.h. das Programm greift nicht mehr auf Verdacht an, sondern verfolgt Züge mit hoher Trefferrate. Etwa eine angegriffene Figur in Sicherheit bringen, d.h. realisieren, dass die Figur auch wirklich sicher ist und nicht etwa gefesselt oder überlastet ist.

This is explained in the article and even the game tree is shown and the diagram to the game tree.
Further some static vocabularies are shown.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
mclane
Posts: 19002
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by mclane »

Steve Maughan wrote: Sun Aug 02, 2026 3:58 am I downloaded and played with the engine. It's great!

One question: I only got 65k nps on my i7 — why is it so slow? I imagined an engine of this vintage would run in L1 cache at some insane speed, yet 65 knps is slow. Given this and the previous comment about the nps, how is the engine countering nps? Why is it so slow?

— Steve

If the 8 bit cpu version did 1-3 NPS and the 16 bit motorola 68000 12 mhz version did 4-10 NPS,
why do you expect the C version compiled on todays hardware to run insane NPS ??

I would say a node is when the evaluation function evaluated a position in the tree and gives back a value.
Mephisto III uses a big amount of time to decide which positions to follow and which positions to prune.
Otherwise it could not play sensible moves on a 1802 in 3’ after 180-540 nodes search-tree.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
mclane
Posts: 19002
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by mclane »

Steve Maughan wrote: Sun Aug 02, 2026 5:02 am I'd be interested in the workflow you used to create the engine. Where did you get the EPROM from? Did it never to be disassembled before passing out over to AI? What was the AI workflow?

— Steve
The job of directing/conducting the AI workers was done by Frank Brenner. See:


https://www.schachcomputer.info/forum/s ... php?t=7543

The original eprom versions were of course put in the mephisto dedicated chess computers.

Mephisto III was originally written in the language CDL2.
Thomas Nitsche once said he had Paper-Listings of Mephisto III Code but someone would have to scan it in (digitize it), correct the errors and then maybe to change/transfer it into a programming language that is today more common in usage.

So this never happened.

Instead artificial intelligence did the job.

The original eprom size is 64 kb.

Here is thomas nitsche telling about his experience in computerchess business and in later programming jobs he did.

E.g. he did an app with his children (math42) and later his children also did a chess app (Lotus chess):


https://media.ccc.de/v/vcfb2016_-_45_-_ ... tsche#t=33
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
towforce
Posts: 13247
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK
Full name: Graham Laight

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by towforce »

Ah... I think things are beginning to make sense. :idea:
mclane wrote: Sun Aug 02, 2026 2:41 pm
towforce wrote: Sat Aug 01, 2026 10:48 pm
mclane wrote: Sat Aug 01, 2026 10:20 am...On the 8 bit machine it did 1-3 NPS , on the 16 Bit Motorola 12 mhz machine it did 4-10 NPS.

This doesn't seem to make sense: what was the computer doing?

Yes - 1984 predates the time when developers started removing knowledge from their engines, because it consumed precious time, reduced Elo rating, and became redundant because as CPUs became faster and more powerful, the game tree would generate much of the knowledge the engine previously had. In the 1990s a majority of developers came to believe that NPS (or depth of search) was a key part of strong play.

Although this predates that time, it's difficult to imagine that an 8-bit engine could hope to have enough static knowledge about enough different position types to be able to compete without a big game tree - so what was going on?
On the 8 bit 1802 cmos cpu that hegener and glaser used for the mephisto, that is slower then e.g. a 6502 cpu, mephisto III computed 1-3 NPS. The rest was done statically.

At that time the other 8 bit engines written in assembler did 500-1000 or 1500 nps depending on cpu and frequency.


So mephisto III competed with 1-3 NPS against opponents with 500-1500 nps.

The motorola 16 bit version on 68000 cpu with 12 mhz (but ugly waitstates), did 4-10 nps.

Thomat nitsche and elmar henne were able to win a title with this strange engine.

Of course shared title with richard lang (psion chess), spracklens fidelity, rathsmanns princhess.

www.chesseval.com/WorldChampion/Glasgow1984.htm

The machine they used was commercially availabe as Mephisto III S Glasgow.

The engine was now reengineered by AI and in C compiled for PC and different OS.

Its bugs were repaired (engine crashed in original from time to time in complex positions) , hash tables added and maximum search depth was extended, from 19 to 64.

Thomas Nitsche once explained how his engine worked in this article:

https://www.schach-computer.info/wiki/i ... phisto_III
This article (translated by Google) contains the following NPS numbers from which the NPS calculations come out at 1-6 (there are 360 seconds in 6 minutes):

After exactly 6 minutes, the following known values ​​are obtained:

Mephisto III 3.5 MHz : 376 positions
Mephisto III 6.1 MHz : 623 positions
Mephisto III 11 MHz : 1184 positions
Mephisto III 12 MHz “Special” : 1280 positions
Excalibur "Series" 8 MHz : 2026 positions
Excalibur “World Championship Version New York” 8 MHz : 2028 positions


The above doesn't make sense: even at the lowest clock speed, 3.5 MHz, it's inconceivable that it's only doing around 1 node per second.

Quote:

Mephisto III unterteilt den Entscheidungsbaum in 3 Abschnitte
Utopische Züge (gut, falls der Gegner nichts tut):
Eine Stellung kommt in einer Tiefe von etwa 1-3 vor. Der Beginn einer Kombination. Fast jeder irgendwie erfolgversprechende Zug wird selektiert, auch wenn die Wahrscheinlichkeit des Erfolges recht gering ist. Der Mensch nennt manche dieser Züge Opfer.

Optimistische Züge (gut, falls der Gegner nur die zweitbeste Antwort hat):
Die Kombination hat eine Tiefe von 4-8 erreicht. Nur noch Züge mit einer Trefferwahrscheinlichkeit von größer als 30% werden selektiert. I.A. sind dies Züge, bei denen hohe Figuren angegriffen werden, Schach gedroht wird, etc. Diese Züge sollen aber selbst nichts opfern.

Realistische Züge (gut, falls der Gegner den besten Gegenzug wählt):
Die Stellung kommt in einer Tiefe größer als 8 vor. Nur noch klare Abwicklungen werden untersucht. D.h. das Programm greift nicht mehr auf Verdacht an, sondern verfolgt Züge mit hoher Trefferrate. Etwa eine angegriffene Figur in Sicherheit bringen, d.h. realisieren, dass die Figur auch wirklich sicher ist und nicht etwa gefesselt oder überlastet ist.
A section of the above translated:

"Eine Stellung kommt in einer Tiefe von etwa 1-3 vor. Der Beginn einer Kombination. Fast jeder irgendwie erfolgversprechende Zug wird selektiert, auch wenn die Wahrscheinlichkeit des Erfolges recht gering ist. Der Mensch nennt manche dieser Züge Opfer.

Optimistische Züge (gut, falls der Gegner nur die zweitbeste Antwort hat):
Die Kombination hat eine Tiefe von 4-8 erreicht. "


...translates to...

"A position occurs at a depth of approximately 1-3. This is the beginning of a combination. Almost every move with any potential success is selected, even if the probability of success is quite low. Humans sometimes call these moves sacrifices.

Optimistic Moves (good if the opponent only has the second-best answer):

The combination has reached a depth of 4-8."


Now we're making sense! We're talking about depth of search in a selective search system.

The NPS given in the article is either a mistake, or nodes per second are being mixed up with kilonodes (1000 nodes).
Human chess is partly about tactics and strategy, but mostly about memory
User avatar
mclane
Posts: 19002
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by mclane »

The dedicated chess computer Mephisto III (8 bit) did 1-3 nodes a second.
Not kilo nodes. Or whatever value.

1-3 positions per second of the tree were build and evaluated.

The dedicated chess computer Mephisto III S Glasgow with 68000-12 mhz did 4-10 NPS.
Not kilo nodes or whatever value you believe.


Thomas nitsche gives an example out of the bratko-kopec test-suite, that is position 7:

1.Nf6 is the key move to be found.

For that position the whole !!! Chess tree is printed out.

https://www.schach-computer.info/wiki/i ... _3-Projekt

The dedicated chess computer needs 287 nodes to find the key move.
Depending on which version of Mephisto III you use, the „brikett“ version (1802 CPU 6,1 mhz) , the MM1 (1806 CPU 8 mhz) version for modular/exclusive/munich boards, the excalibur ESB version (68000 8 mhz) or the Mephisto III S Glasgow version (68000 12 mhz) , solutions times for computing 287 nodes may differ.

In a normal 30“ search on the lower playing levels the 8 bit machine often plays a move with only 30-90 nodes evaluated.

It’s unbelievable that the moves make sense with only so few nodes computed. But you have to understand that most of the data that is used to decide if a move should be „followed“ in the tree or not is done statically.
Mephisto III sees a mate in 1 and even in 2 without search tree statically.

This is the reason the NPS is so low.

Because most of the time the dedicated chess computer fills arrays with information about the position or looks up data for building the search tree.


In the early years of computerchess you had to do many things statically and not via the search tree.
Generating moves , evaluating them, taking them back etc. all this was very expensive for the slow cpus.
So they used knowledge or static knowledge to KNOW something without finding it out via tree search.

This was done for capturing, for pawn pushes, forks, pins and overloaded pieces, even for mating.

In later times engines did all this in the chess tree and „tried it out“ in the tree to find out. But the early dedicated
Chess computers had to do it statically because they had not the power to build huge tree and do a full evaluation in the nodes.

Therefore shortly before christmas 1983 Mephisto III came out as brikett 8 bit dedicated chess computer with 6.1 mhz 1802 cpu.

In opposite to Mephisto 1 and Mephisto 2 , and in opposite to Novag constellation or scisys machines and fidelity machines, it had very low NPS.

It was a new approach by Nitsche / Henne and the peak was the won championship title in 1984 in Glasgow.

But then Mephisto found a new programmer with a different approach.
Richard lang. And H+G changed horses and hired Richard Lang as the new programmer for the 68000 hardware.

Ossi Weiner and others were very sceptical if the approach Thomas Nitsche used could be strengthened in further years.

Richard Langs engines generated more strength.
And Ossi Weiner and Richard Lang were more succesful in fighting against Novag, Fidelity and Scisys and other companies.


IMO the very human approach Nitsche did on a commercial dedicated chess computer was maybe a few years too early for the tough competition.
If he would have had more years to tune it, or extend it. It could have worked.
But H+G did not have the Development time Thomas Nitsche would have needed.

The competition between the several companies was very tough.

With Richard Lang as their new master programmer and Ossi Weiner as the advisor H+G was capable to win title over title at championships and they made the money with the hardware they sold.


But from an intellectual point of view Nitsche/Hennes program is much more interesting for the computerchess community.

Together with David Broughtons MKV and MKVI published by Saitek and his Philidor Chess engine published by Parker software, Mephisto III is a very amazing intelligent software and now we can study it even on PC, as UCI.

Of course it makes no sense to relate it with todays chess software.
Its a time capsule from 1983/84.

Chess System Tal DOS also used much chess knowledge statically. It was also able to see pins and forks and mates without doing a search tree only by running the engine through the statical evaluations.

But this was a complete different time. When CSTal came out for PC 1997, the hardware was much faster then 1983/1984.

Its a design decision if you want to find out things via SEARCH or if you substitute SEARCH with knowledge and find it out via evaluation.


So for the bratko kopec position #7 and 1.Nf6 you can find Nf6 either by computing 1000 or 1500 NPS until the brute force search has iteratively reached the search depth to SEE the solution move, generating many thousand of Nodes,
Or by doing only 287 nodes and solve the position mainly by evaluation.

This is why Mephisto III is so interesting for the computerchess community .

Because Nitsche did the design decision to rely so heavily on evaluation rather then on fast brute force-search.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
towforce
Posts: 13247
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK
Full name: Graham Laight

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by towforce »

mclane wrote: Sun Aug 02, 2026 6:20 pmThomas nitsche gives an example out of the bratko-kopec test-suite, that is position 7:

1.Nf6 is the key move to be found.

For that position the whole !!! Chess tree is printed out.

https://www.schach-computer.info/wiki/i ... _3-Projekt

The dedicated chess computer needs 287 nodes to find the key move.
Depending on which version of Mephisto III you use, the „brikett“ version (1802 CPU 6,1 mhz) , the MM1 (1806 CPU 8 mhz) version for modular/exclusive/munich boards, the excalibur ESB version (68000 8 mhz) or the Mephisto III S Glasgow version (68000 12 mhz) , solutions times for computing 287 nodes may differ.

In a normal 30“ search on the lower playing levels the 8 bit machine often plays a move with only 30-90 nodes evaluated.

It’s unbelievable that the moves make sense with only so few nodes computed. But you have to understand that most of the data that is used to decide if a move should be „followed“ in the tree or not is done statically.
Mephisto III sees a mate in 1 and even in 2 without search tree statically.

This is the reason the NPS is so low.

I'm afraid you've misread the analysis given: the first thing to note is that the analysis given shows FAR fewer than 287 nodes.

What you're actually looking at is:

1. Favoured variations
2. The eval for white for each variation
3. The size of the search tree (nodes): 1,127,194
4. The eval for white: 0.53
5. The time taken (287 seconds)

The number of notes per second is 1127194 / 287 = 3928 (4 kilo nodes per second - which perfectly matches the mistake being that nodes were mistaken for kilo nodes).

This way everything makes sense. One to eight nodes per second at absolute minimum of 3.5 Mhz running a tiny program (by today's standards) does not make sense.
Human chess is partly about tactics and strategy, but mostly about memory
User avatar
mclane
Posts: 19002
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by mclane »

Sorry i have to disappoint you. I have the engine here on the several hardware platforms H+G sold it and it shows the NPS via INFO+C3+0>+0>

I have the machine here in front of me.
My machine needs arround 3 minutes for 250 Nodes.
And finds Nf6.
I can send you a video if you dont believe me.

Different hardware sold by mephisto gives different different solution times but the nodes are 250-280 depending on the version you use.

In my case 250:180 is 1.4 NPS.
Its a brikett with 1802@6.1 mhz.

Many brute force computers of that time were not able to find Nf6.
I give a few names that were not able to find the solution in the given time:

NOVAG Super Nova
Excalibur Igor
Kasparov Blitz
NOVAG Super Vip
NOVAG Constellation 3.6
Fidelity Excel Display

Its not possible that a machine from that time makes 3928 NPS.

Ask rathsmann, kittinger, spracklen, schroeder, kaplan or Lang or Nelson if you do not believe me.
Machines using these hardware, and the 1802/1806 is a slow hardware compared to 6502, do arround 500-1500 NPS programmed in assembler.


I gave my very best to explain to you that Mephisto III “wastes” much time generating statical knowledge that directs/conducts the search to build and evaluate only those Moves/Positions that make sense.

Before search tree began, mephisto III creates lots of data in arrays and uses it in static evaluation to decide which move to follow and which move to prune away. This way the search tree is so small.


You can even ask Chris W.

When i first tested his chess engine for atari ST, i was impressed that the bratko kopec test suite was part of his
Testing ground and that the engine did very well in this test suite.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
User avatar
towforce
Posts: 13247
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK
Full name: Graham Laight

Re: Mephisto III S Glasgow now as „C“ engine on PC

Post by towforce »

Incredible though it seems, Mclane is actually right: that reading is in single nodes per second (literally 1 to 8 positions per second), not thousands.

It is completely normal for a Mephisto III (briquette/portable version) to show numbers in the range of 1–8 NPS. The seemingly low speed comes down to a combination of hardware constraints and a radical design philosophy by programmers Thomas Nitsche and Elmar Henne.

It used an extremely selective, pattern-driven search with heavy positional evaluation and complex chess rules executed at every single node. Because every node underwent intensive heuristic analysis and tactical pattern recognition, a single position took tens or hundreds of thousands of CPU cycles to process.

It had a high-Level Language Overhead: Nitsche and Henne wrote Mephisto III in CDL2 (Compiler Description Language 2) — a high-level abstract language — rather than hand-optimised 8 bit assembly. This made the code portable and modular, but the compiler abstraction layer added significant execution overhead compared to raw assembly.

A 6.1 MHz clock speed on an RCA 1802 (COSMAC) processor is misleading when compared to modern CPUs:

* The 1802 requires 8 to 16 clock cycles to execute a single machine instruction.

* At 6.1 MHz, the CPU delivers only about 380,000 to 760,000 instructions per second (~0.5 MIPS).

* When running an unoptimised language compiler and evaluating deep positional rules, 500,000 CPU instructions per second easily translates to evaluating only 2 to 6 nodes per second.

The display reading is accurate: Mephisto III was intentionally designed to "think" deeply like a human grandmaster on each move rather than calculate thousands of raw branches.
Human chess is partly about tactics and strategy, but mostly about memory