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 that’s 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, how do you store the moves, how do you do it with the minimum amount of memory, how do you store the tree of what you’ve created, and ...
Well I know I didn't store the whole board, because it was simpler to just store the number of pieces, there are fewer pieces than there are 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 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 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 you’ve lost something or you’ve gained something and analyze that against the algorithm and give it a score.
You start with exactly the same thing, one point for pawns and two points for knights , three points for bishops, five for rooks, that’s 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
the first commercially successful chess program for 6502 [1] and 8080/Z80 [2] based microcomputers, such as KIM-1 and TRS-80 [3] , developed by Peter Jennings in 1976 [4] . MicroChess 1.5 was base for the programs for the dedicated Commodore ChessMate (1978) and the Novag Chess Champion MK II (1979) [5] .
Table of Contents
Images
KIM-1
TRS-80
Development
Peter Jennings in his Oral History about the development of MicroChess on the KIM-1 [9] :Well I know I didn't store the whole board, because it was simpler to just store the number of pieces, there are fewer pieces than there are 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 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 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 you’ve lost something or you’ve gained something and analyze that against the algorithm and give it a score.
You start with exactly the same thing, one point for pawns and two points for knights , three points for bishops, five for rooks, that’s 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, $02Programming 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
External Links
Microchess for the Kim-1
Manual
6502 source code
References
What links here?
Up one Level