Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | |
2 | /******************************************************************** | |
3 | /******************************************************************** | |
4 | / | |
5 | / GAME CONFIGURATION PARAMETERS | |
6 | / CHANGE ONLY IF YOU KNOW WHAT YOU'RE DOING! | |
7 | ||
8 | / SIZE OF THE PLAYING FIELD | |
9 | / ========================= | |
10 | ||
11 | / THE PLAYING FIELD HAS A MAXIMUM SIZE OF 32 ROWS BY 64 COLUMNS. | |
12 | / | |
13 | / THE DATA IS ORGANIZED AS FOLLOWS: | |
14 | / EVERY CELL OCCUPIES ONE BIT. THE CELLS OF EACH ROW ARE STORED IN | |
15 | / A CONTIGUOUS PIECE OF MEMORY. BUT ONLY THE LOWER 8 BITS OF A WORD | |
16 | / ARE USED! | |
17 | / THE WHOLE GAME BUFFER CONSISTS OF 32 ROWS OF 8 WORDS EACH. THIS | |
18 | / LEADS TO A MEMORY FOOTPRINT OF 256 WORDS. | |
19 | / THERE'S ONE RESTRICTION: THE LAST COLUMN IS NOT USABLE DUE TO | |
20 | / BORDER DETECTION. THAT MEANS THAT THE MAXIMUM SIZE OF THE ACTUAL | |
21 | / CELL ROW IS ONLY 63!!! | |
22 | / THE FOLLOWIN PARAMETERS DEFINE THE DIMENSIONS OF THE ACTUAL | |
23 | / SIZE OF THE CELL ARRAY. KEEP IN MIND THAT THIS WILL NOT CHANGE | |
24 | / THE MEMORY FOOTPRINT! | |
25 | PCOLS=76 | |
26 | PROWS=23 | |
27 | ||
28 | / CELL ADDRESS CODING: | |
29 | / | |
30 | / 0RR RRR CCC CCC <- AS USED THROUGHOUT THE PROGRAM | |
31 | / | |
32 | / WHERE | |
33 | / R - ROW ADDRESS BIT | |
34 | / C - COLUMN ADDRESS BIT | |
35 | ||
36 | / COLUMN ADDRESS IS SPLIT INTO | |
37 | / | |
38 | / WWW BBB | |
39 | / WHERE | |
40 | / W - WORD ADDRESS | |
41 | / B - BIT IN WORD ADDRESS | |
42 | / | |
43 | / A CELL ADDRESS CAN BE TRANSLATED INTO A MEMORY OFFSET BY SIMPLY | |
44 | / SHIFTING THREE BITS TO THE RIGHT AND MASKING WITH 0377: | |
45 | / | |
46 | / 000 0RR RRR CCC | |
47 | / | |
48 | / HERE THE LOWER 3 COLUMN ADDRESS BITS WHICH SPECIFY THE BIT ADDRESS | |
49 | / IN A WORD ARE DISCARDED. | |
50 | ||
51 | / HAS THE FIELD LIMITS OR IS IT ENDLESS? (CURRENTLY UNSUPPORTED!) | |
52 | ||
53 | / ENDLESS=1 | |
54 | ||
55 | ||
56 | / BORDER BEHAVIOUR FOR LIMITED FIELD | |
57 | / 0 - OFF FIELD POSITIONS ARE ASSUMED TO BE ALWAYS DEAD | |
58 | / 1 - OFF FIELD POSITIONS ARE ASSUMED TO BE ALWAYS ALIFE | |
59 | ||
60 | BORDER=0 | |
61 | ||
62 | / CHARACTER CODES TO USE FOR CELL DISPLAY OUTPUT | |
63 | / 55:- | |
64 | / 52:* | |
65 | / DEAD=55 | |
66 | DEAD=40 | |
67 | ALIVE=52 | |
68 |