/******************************************************************** /******************************************************************** / / GAME CONFIGURATION PARAMETERS / CHANGE ONLY IF YOU KNOW WHAT YOU'RE DOING! / SIZE OF THE PLAYING FIELD / ========================= / THE PLAYING FIELD HAS A MAXIMUM SIZE OF 32 ROWS BY 64 COLUMNS. / / THE DATA IS ORGANIZED AS FOLLOWS: / EVERY CELL OCCUPIES ONE BIT. THE CELLS OF EACH ROW ARE STORED IN / A CONTIGUOUS PIECE OF MEMORY. BUT ONLY THE LOWER 8 BITS OF A WORD / ARE USED! / THE WHOLE GAME BUFFER CONSISTS OF 32 ROWS OF 8 WORDS EACH. THIS / LEADS TO A MEMORY FOOTPRINT OF 256 WORDS. / THERE'S ONE RESTRICTION: THE LAST COLUMN IS NOT USABLE DUE TO / BORDER DETECTION. THAT MEANS THAT THE MAXIMUM SIZE OF THE ACTUAL / CELL ROW IS ONLY 63!!! / THE FOLLOWIN PARAMETERS DEFINE THE DIMENSIONS OF THE ACTUAL / SIZE OF THE CELL ARRAY. KEEP IN MIND THAT THIS WILL NOT CHANGE / THE MEMORY FOOTPRINT! PCOLS=76 PROWS=23 / CELL ADDRESS CODING: / / 0RR RRR CCC CCC <- AS USED THROUGHOUT THE PROGRAM / / WHERE / R - ROW ADDRESS BIT / C - COLUMN ADDRESS BIT / COLUMN ADDRESS IS SPLIT INTO / / WWW BBB / WHERE / W - WORD ADDRESS / B - BIT IN WORD ADDRESS / / A CELL ADDRESS CAN BE TRANSLATED INTO A MEMORY OFFSET BY SIMPLY / SHIFTING THREE BITS TO THE RIGHT AND MASKING WITH 0377: / / 000 0RR RRR CCC / / HERE THE LOWER 3 COLUMN ADDRESS BITS WHICH SPECIFY THE BIT ADDRESS / IN A WORD ARE DISCARDED. / HAS THE FIELD LIMITS OR IS IT ENDLESS? (CURRENTLY UNSUPPORTED!) / ENDLESS=1 / BORDER BEHAVIOUR FOR LIMITED FIELD / 0 - OFF FIELD POSITIONS ARE ASSUMED TO BE ALWAYS DEAD / 1 - OFF FIELD POSITIONS ARE ASSUMED TO BE ALWAYS ALIFE BORDER=0 / CHARACTER CODES TO USE FOR CELL DISPLAY OUTPUT / 55:- / 52:* / DEAD=55 DEAD=40 ALIVE=52