MicroChess

Home * Engines * MicroChess

llustration from Microchess, 1977 ca. [1] MicroChess,

the first commercially successful chess program for 6502 [2] and 8080/ Z80 [3] based microcomputers, such as KIM-1 and TRS-80 [4] , developed by Peter Jennings in 1976 [5] . MicroChess 1.5 was base for the programs for the dedicated Commodore ChessMate (1978) and the Novag Chess Champion MK II (1979) [6] .

KIM-1

MicroChess on the KIM-1 [7]

TRS-80

Microchess 1.5 on TRS-80 [8]

Development

Peter Jennings in his Oral History about the development of MicroChess on the KIM-1 [9] :

And if people were using the KIM-1 they weren't going to have it, the majority of people who had a KIM-1 thats what they had, was just the KIM-1. So I mean I never thought about it in terms of could I put it on some bigger computer, I really at that point was saying Okay this is what I'm going to do, and so I treated the problem that way and looked at okay, how do you store the [positions](Board_Representation "Board Representation"), how do you store the [moves](Encoding_Moves "Encoding Moves"), how do you do it with the minimum amount of [memory](Memory "Memory"), how do you store the [tree](Search_Tree "Search Tree") of what youve created, and ...
Well I know I didn't store the whole board, because it was simpler to just store the number of [pieces](Piece-Lists#MicroChess "Piece-Lists"), there are fewer pieces than there are [squares](Squares "Squares") on the board, and then what I would do is I would make a move, so I would only store the tree of moves and moves would always be done in a certain order, so you always knew that you could sort of start with this move, then go to that move, then go to that move, go through a sequence of potential types of moves. So the order of how moves would be [generated](Move_Generation "Move Generation") was always the same. So you could then go through one move at a time and I would store the first move and then I would [reverse the board](Color_Flipping#MicroChess "Color Flipping") and then just give it to the computer, give it to the program in the same way that it had looked at the first position, so all I had to store at that point was the position and one move. So the amount of storage was kept pretty small and you were basically giving it back to the computer and saying Okay, reverse the board, see what that does until youve lost something or youve gained something and analyze that against the [algorithm](Minimax "Minimax") and give it a [score](Score "Score").
You start with exactly the same thing, one [point](Point_Value "Point Value") for [pawns](Pawn "Pawn") and two points for [knights](Knight "Knight") , three points for [bishops](Bishop "Bishop"), five for [rooks](Rook "Rook"), thats exactly where it started. 

Point Values

The point values for 16 pieces, king (11), queen (10), rooks (6), bishops (4), knights (4), and pawns (2) were defined as preinitialized array of 16 bytes, apparently in half pawn units, which overestimates pawns by todays standards [10] :


POINTS     db  $0B, $0A, $06, $06, $04, $04, $04, $04
           db  $02, $02, $02, $02, $02, $02, $02, $02

Programming Topics

6502 Assembly

Namesake

The namesake Microchess 3, released in 1983 by Norgayer Software for the Commodore 64 and Commodore 128 [11] [12] , is an alias of the 1981 program PetChess, developed by Philidor Software [13] [14] [15] , which was, according to Mike Watters, written by Mark Taylor [16] .

See also

Publications

Microchess for the Kim-1 Manual 6502 source code

References

  1. Illustration from Microchess: A Chess Playing Program for the 8080 Microcomputer, 1977, from The Computer History Museum
  2. Peter Jennings (1976). MicroChess, a Chess playing program for the 6502 Microcomputer. pdf, Courtesy of Peter Jennings, The Computer History Museum
  3. Peter Jennings (1977). MicroChess, a Chess playing program for the 8080 Microcomputer. pdf, Courtesy of Peter Jennings, The Computer History Museum
  4. Microchess running on Radio Shack TRS-80 microcomputer, 1976, Courtesy of Peter Jennings and Digibarn, The Computer History Museum
  5. Sellam Ismail (2005). Oral History of Peter Jennings. pdf and Video from The Computer History Museum
  6. Scisys and Novag : The Early Years from Chess Computer UK by Mike Watters
  7. DigiBarn Games: MicroChess 1.5 on the TRS-80 Model 1
  8. Microchess running on Radio Shack TRS-80 microcomputer, 1976, Courtesy of Peter Jennings and Digibarn, The Computer History Museum
  9. Sellam Ismail (2005). Oral History of Peter Jennings. pdf and Video from The Computer History Museum, pp. 15, 16
  10. 6502 source code
  11. Microchess – C64-Wiki (German)
  12. Commodore 64 Emulator - Computer Chess Game Collection - Microchess 3, The Spacious Mind
  13. Game music base - database of Games, Games music and soundtracks | Pet Chess 4000 aka Microchess 3.0
  14. Commodore 64 Emulator - Computer Chess Game Collection - Petchess 4000, The Spacious Mind
  15. John F. White (1982). Review-Chess Computers. Your Computer, March 1982
  16. Chess Computers - The UK Story by Mike Watters
  17. Re: Old programs CHAOS and USC by Dann Corbit, CCC, July 11, 2015

Up one Level