Saturday, 16 January 2016

January 2016 Retrochallenge 6: A Not so Masterful Port of "Grand Master" Chess

GMChess

Grand Master Chess Version 0.9 is a program I found on a moldy old 5 1/4 disk from my basement. I've been looking for Basic and C code that I worked on back in the 90s to put up on my new Github repository. It wasn't one of my own programs, but it was on a disk labeled "Basic09 programs."  I found a scan of a July 1992 issue of Rainbow Magazine that mentions the program as being uploaded to the OS9 SIG on one of the the early on-line services:
GRAND MASTER CHESS 0.9  MATIIOMPSON Matthew Thompson 
Didn't know how it would play, but I tried to load it up into Basic09 on my OS9 level 1 Coco and run it. It wouldn't run because of some obscure error. Tracked it down to a Print statement that indicated that a certain string was causing a problem. The string contained a reference to CHR$(31). After searching through the OS9 Level 2 manual I realized that the code was not meant for OS9 Level 1, but rather was used to turn on reverse video on Level 2 screens. It was strange, because the code looked formatted for a 32 character wide screen. Running it on my Coco 3 under OS9 though showed that the screen was switched to a 40 X 24 Window by an embedded use of a Display command being piped to the system. However, it looked like the main part of the screen could still easily fit on a 32 X 16 screen, and that besides the use of reverse video, there were nothing else too fancy going on. I thought that I could convert it to MC-10 with the use of my reverse video subroutine:

7 PRINTM$;:CC=((PEEK(17024)AND1)*256+PEEK(17025))-1+MC:FORC1=CC-LEN(M$)+1TOCC:POKEC1,PEEK(C1)-64:NEXT:RETURN

Well, as the above screenshot indicates it was possible, however, I don't know how much of a success it was as a port. It plays a terrible game of chess:


If you're wondering, the original code on OS9 Level 2 also plays that way...

No comments:

Post a Comment