BBC Chess

reminisce about bbc micro & electron games like chuckie egg, repton, elite & exile

Related forum: adventures


User avatar
tricky
Posts: 2098
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: BBC Chess

Postby tricky » Sat Oct 15, 2016 3:52 pm

Assuming I haven't gone mad :shock: :
For a very unique screen mode, you could also go in between with chunky pixels (double height mode 5 pixels) in four colours with a board 96x96 (12x12 pixels per square) using the linear addressing trick with 2 pixel high characters plus 6 lines of mode 7 text.
This uses 2K of display memory, one from &3C00..&3FFF and the other &7C00..&7FFF (they would both be &7C00..&7FFF on the master with one in shadow memory - I think). Interlacing would also need to be enabled for the mode 7 text to work correctly.
I was going to knock up the sample code, but have run out of time. I love the beeb graphics capabilities (sometimes!) :lol:

User avatar
vanpeebles
Posts: 398
Joined: Wed Nov 28, 2012 10:01 am
Location: UK
Contact:

Re: BBC Chess

Postby vanpeebles » Mon Oct 17, 2016 8:12 am

What about using the 6502 co pro etc. to make a supercharged chess? 8)

User avatar
BigEd
Posts: 1585
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: BBC Chess

Postby BigEd » Mon Oct 17, 2016 9:04 am

That's a really good application for a second processor - brilliant idea! We have about 180MHz of 6502 power available too, for those with a Raspberry Pi hooked up. But the main thing is nearly 64k of RAM and none of that for the display - can use as much host memory for the display as you like.

User avatar
vanpeebles
Posts: 398
Joined: Wed Nov 28, 2012 10:01 am
Location: UK
Contact:

Re: BBC Chess

Postby vanpeebles » Mon Oct 17, 2016 9:16 am

I'm really good at ideas, as long as someone else is doing the coding :lol: Would be nice to have a new game that uses the co pro. Usually it's just used for Elite.

User avatar
BigEd
Posts: 1585
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: BBC Chess

Postby BigEd » Mon Oct 17, 2016 10:06 am

BigEd wrote:
joachim wrote:The really interesting question is, how good a BBC chess program could we create today, by training a neural network using modern techniques on modern hardware? Since training one is a lot more computationally intensive than running it.

Not sure if modern strong chess engines use any neural net type of ideas.

Of course I should never have said that. It's absolutely right that neural net evaluation is enormously cheaper than neural net training. (Indeed I think there are ways of training a large net and then making a smaller one with nearly the same performance. "Pruning" might be the right keyword.) I see there are some 18 chess programs based on neural nets listed on the chessprogramming wiki as well as many other good pointers. A quick look at the announcement for Giraffe tells us it uses 270,000 parameters - a bit large for a 64k memory map, but not orders of magnitude too large. Of course floats are bigger than bytes, but then I think low-precision floats are felt to be good enough for neural network evaluation.

hexwab
Posts: 26
Joined: Wed Jul 08, 2015 8:27 pm
Contact:

Re: BBC Chess

Postby hexwab » Thu Oct 20, 2016 3:16 am

tricky wrote:Assuming I haven't gone mad :shock: :
For a very unique screen mode, you could also go in between with chunky pixels (double height mode 5 pixels) in four colours with a board 96x96 (12x12 pixels per square) using the linear addressing trick with 2 pixel high characters plus 6 lines of mode 7 text.
This uses 2K of display memory, one from &3C00..&3FFF and the other &7C00..&7FFF (they would both be &7C00..&7FFF on the master with one in shadow memory - I think). Interlacing would also need to be enabled for the mode 7 text to work correctly.
I was going to knock up the sample code, but have run out of time. I love the beeb graphics capabilities (sometimes!) :lol:


Here's hoping you haven't gone mad, cos I'd be fascinated to see that such a thing was possible (and how).

Still have yet to test dp11's split MODE 7 code on real hardware, which would seem a prerequisite for trying to port it to MODE 4.

As far as engines go, the more I think about it the more I am convinced that porting an existing engine, or at least an existing engine designed for modern processors, would go poorly. The 6502 isn't exactly friendly to C code, particularly C code written on the assumption that registers are 32 or even 64 bits wide, nor am I aware of any good compilers targeting the 6502.

I did find the following fascinating document though (via http://www.talkchess.com/forum/viewtopi ... 67&t=60996), which lists CPU architecture, clock speed, memory size and most importantly ELO rating of lots of dedicated chess computers:
https://sphere.chronosempire.org.uk/~HE ... ograms.txt

Not only is this a useful benchmark for the state of the art BITD (people were still making 6502-based devices as late as 1993!) but the aforementioned forum link has full ROM images if anyone fancies a spot of disassembly. Would be curious to know what board representation etc. they use.

I don't know how these numbers were arrived at or how comparable they are to the estimate of 1750 for Colossus.

Looking through the list it seems that the most important factor is clock speed, which is the one thing we can't change (second processors notwithstanding). That said, "nshort" seems a good 200 rating points above similarly-clocked machines from the previous decade, so clearly there are gains to be had. And maybe, say, having a big opening book on disc would help a little.

(I wonder if the B+/Master version of Colossus did anything with the extra RAM other than a fancy 3D display?)

User avatar
BigEd
Posts: 1585
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: BBC Chess

Postby BigEd » Thu Oct 20, 2016 5:44 am

Very interesting tabulation - good find! Here are just the 6502 engines, sorted by strength:

Code: Select all

                                                                Freq. ROM   RAM
 Module    Year  Chess computer                        Bit  CPU  MHz   kB    kB  Program author  Elo
-----------------------------------------------------------------------------------------------------
+csc       1981  Champion Sensory Chess Challenger      8  6502    2   32     4  D&K Spracklen  1550 Fidelity
+fscc9     1982  Sensory Chess Challenger 9 (1.6 MHz)   8  6502  1.6   16     2  D&K Spracklen  1570 Fidelity
+fscc9_2   1982  Sensory Chess Challenger 9 (2 MHz)     8  6502    2   16     2  D&K Spracklen  1580 Fidelity
+fscc9b    1983  Sensory Chess Challenger 9-B (2 MHz)   8  6502    2   16     2  D&K Spracklen  1590 Fidelity
+fscc9_3   1982  Sensory Chess Challenger 9 (3 MHz)     8  6502    3   16     2  D&K Spracklen  1610 Fidelity
+fscc9b_3  1983  Sensory Chess Challenger 9-B (3 MHz)   8  6502    3   16     2  D&K Spracklen  1620 Fidelity
+super9cc  1983  Super 9 Sensory Chess Challenger       8  6502    2   30     4  D&K Spracklen  1630 Fidelity
+super9dx  1984  Super 9 (Deluxe 2.5 MHz)               8  6502  2.5   30     4  D&K Spracklen  1640 Fidelity
+super9st  1984  Super 9 (Septennial 3 MHz)             8  6502    3   30     4  D&K Spracklen  1660 Fidelity
+fscc9b_8  1986  Sensory Chess Challenger 9-B (8 MHz)   8  6502    8   16     2  D&K Spracklen  1700 Fidelity
-feasbu    1983  Elite A/S Challenger (Budapest)        8  6502  3.2   28     3  D&K Spracklen  1700 Fidelity
+fscc12_3  1984  Sensory Chess Challenger 12-B (3 MHz)  8  6502    3   20     4  D&K Spracklen  1710 Fidelity
-feasgla   1984  Elite A/S Challenger (Glasgow)         8  6502    4   28     4  D&K Spracklen  1720 Fidelity
+fscc12    1984  Sensory Chess Challenger 12-B (4 MHz)  8  6502    4   20     4  D&K Spracklen  1730 Fidelity
+fexcel    1988  Excel Display (Excellence 3 MHz)       8  6502    3   32     2  D&K Spracklen  1780 Fidelity
+fexcelv   1988  Excel Display (Excellence Voice)       8  6502    3   64     2  D&K Spracklen  1780 Fidelity
+fexep12_3 1985  Excellence EP12 (3 MHz)                8  6502    3   16     4  D&K Spracklen  1780 Fidelity
+fexcel_4  1988  Excel Display (Excellence 4 MHz)       8  6502    4   32     2  D&K Spracklen  1800 Fidelity
 supercon  1984  Super Constellation                    8  6502    4   56     4  D. Kittinger   1800 Novag
+fexcel_5  1988  Excel Display (Excellence 5 MHz)       8  6502    5   32     2  D&K Spracklen  1820 Fidelity
+fexep12   1985  RCS Granit (Excellence EP12 6.5 MHz)   8  6502  6.5   16     4  D&K Spracklen  1830 Fidelity
+fparex_5  1986  Par Excellence (5 MHz)                 8  6502    5   32     8  D&K Spracklen  1840 Fidelity
+fparex    1986  RCS Granit-S (Par Excellence 8 MHz)    8  6502    8   32     8  D&K Spracklen  1870 Fidelity
+fparex_10 1986  Par Excellence (Tuned 10 MHz)          8  6502   10   32     8  D&K Spracklen  1890 Fidelity
+fparex_16 1986  Par Excellence (Tuned 16 MHz)          8  6502   16   32     8  D&K Spracklen  1920 Fidelity
+superc_t  1984  Super Constellation (Tuned 18 MHz)     8  6502   18   56     4  D. Kittinger   1925 Novag

hexwab
Posts: 26
Joined: Wed Jul 08, 2015 8:27 pm
Contact:

Re: BBC Chess

Postby hexwab » Thu Oct 20, 2016 3:35 pm

BigEd wrote:Very interesting tabulation - good find! Here are just the 6502 engines, sorted by strength:
[...]

Curious that you don't count the 65C02 as a 6502.

User avatar
BigEd
Posts: 1585
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: BBC Chess

Postby BigEd » Thu Oct 20, 2016 3:45 pm

Ack - I didn't notice it among the 68000s - my mistake! Let me try again.

Code: Select all

                                                                Freq. ROM   RAM
 Module    Year  Chess computer                        Bit  CPU  MHz   kB    kB  Program author  Elo
-----------------------------------------------------------------------------------------------------
+csc       1981  Champion Sensory Chess Challenger      8  6502    2   32     4  D&K Spracklen   1550
+fscc9     1982  Sensory Chess Challenger 9 (1.6 MHz)   8  6502  1.6   16     2  D&K Spracklen   1570
+fscc9_2   1982  Sensory Chess Challenger 9 (2 MHz)     8  6502    2   16     2  D&K Spracklen   1580
+fscc9b    1983  Sensory Chess Challenger 9-B (2 MHz)   8  6502    2   16     2  D&K Spracklen   1590
+fscc9_3   1982  Sensory Chess Challenger 9 (3 MHz)     8  6502    3   16     2  D&K Spracklen   1610
+fscc9b_3  1983  Sensory Chess Challenger 9-B (3 MHz)   8  6502    3   16     2  D&K Spracklen   1620
+super9cc  1983  Super 9 Sensory Chess Challenger       8  6502    2   30     4  D&K Spracklen   1630
+super9dx  1984  Super 9 (Deluxe 2.5 MHz)               8  6502  2.5   30     4  D&K Spracklen   1640
+super9st  1984  Super 9 (Septennial 3 MHz)             8  6502    3   30     4  D&K Spracklen   1660
+fscc9b_8  1986  Sensory Chess Challenger 9-B (8 MHz)   8  6502    8   16     2  D&K Spracklen   1700
-feasbu    1983  Elite A/S Challenger (Budapest)        8  6502  3.2   28     3  D&K Spracklen   1700
+bup       1985  B&P                                    8  65C02   4   32     4  Ulf Rathsman    1710
+fscc12_3  1984  Sensory Chess Challenger 12-B (3 MHz)  8  6502    3   20     4  D&K Spracklen   1710
-feasgla   1984  Elite A/S Challenger (Glasgow)         8  6502    4   28     4  D&K Spracklen   1720
+fscc12    1984  Sensory Chess Challenger 12-B (4 MHz)  8  6502    4   20     4  D&K Spracklen   1730
+mm20      1985  MM II                                  8  65C02   4   32     4  Ulf Rathsman    1775
 mm2       1985  MM IIa                                 8  65C02   4   32     4  Ulf Rathsman    1775
+fexcel    1988  Excel Display (Excellence 3 MHz)       8  6502    3   32     2  D&K Spracklen   1780
+fexcelv   1988  Excel Display (Excellence Voice)       8  6502    3   64     2  D&K Spracklen   1780
+fexep12_3 1985  Excellence EP12 (3 MHz)                8  6502    3   16     4  D&K Spracklen   1780
+fexcel_4  1988  Excel Display (Excellence 4 MHz)       8  6502    4   32     2  D&K Spracklen   1800
 supercon  1984  Super Constellation                    8  6502    4   56     4  D. Kittinger    1800
+fexcel_5  1988  Excel Display (Excellence 5 MHz)       8  6502    5   32     2  D&K Spracklen   1820
+montec    1987  Monte Carlo                            8  65C02   4   32     8  Frans Morsch    1820
+fexep12   1985  RCS Granit (Excellence EP12 6.5 MHz)   8  6502  6.5   16     4  D&K Spracklen   1830
+fparex_5  1986  Par Excellence (5 MHz)                 8  6502    5   32     8  D&K Spracklen   1840
 rebel5    1986  Rebell 5.0                             8  65C02   5   32     8  Ed Schroeder    1855
+fparex    1986  RCS Granit-S (Par Excellence 8 MHz)    8  6502    8   32     8  D&K Spracklen   1870
+fparex_10 1986  Par Excellence (Tuned 10 MHz)          8  6502   10   32     8  D&K Spracklen   1890
 mm4       1987  MM IV                                  8  65C02   5   32     8  Ed Schroeder    1905
-megaiv    1989  Mega IV                                8  65C02   5   32     8  Ed Schroeder    1915
+fparex_16 1986  Par Excellence (Tuned 16 MHz)          8  6502   16   32     8  D&K Spracklen   1920
+superc_t  1984  Super Constellation (Tuned 18 MHz)     8  6502   18   56     4  D. Kittinger    1925
+academy   1989  Academy                                8  65C02   5   48     8  Ed Schroeder    1940
+monteciv  1990  Monte Carlo IV LE                      8  65C02   8   32     8  Ed Schroeder    1960
 milano    1991  Milano v1.0                            8  65C02   5   64     8  Ed Schroeder    1960
 polgar    1989  Polgar v1.5                            8  65C02   5   64     8  Ed Schroeder    1970
 mm50      1990  MM V 5.0                               8  65C02   5   32     8  Ed Schroeder    1975
 mm5       1990  MM V 5.1                               8  65C02   5   32     8  Ed Schroeder    1975
+nshort    1993  Nigel Short (Milano v2.0)              8  65C02   5   64     8  Ed Schroeder    2030
+polg_101  1990  Polgar v10.1                           8  65C02  10   64     8  Ed Schroeder    2040
+polgar10  1990  Polgar v10.0                           8  65C02  10   64     8  Ed Schroeder    2040
+mm4tk_mr  1987  MM IV TK (modified ROM)                8  65C02  18   32     8  Ed Schroeder    2095
 mm4tk     1987  MM IV TK                               8  65C02  18   32     8  Ed Schroeder    2095
 mm5tk     1990  MM V 5.1 TK                            8  65C02  18   32     8  Ed Schroeder    2165


Who is online

Users browsing this forum: Yahoo [Bot] and 2 guests