Eighteen holes seen from above, one per screen, with the scoreboard down a column on the left and the course filling the rest. One or two play, chosen from the start-up menu.
Par 72 and 6,430 metres, split into four par 3s, ten par 4s and four par 5s. There is no table anywhere holding that card: the par comes from the tile that draws each hole's tee, and the length is three ASCII digits stuck to the end of the map. Added up, the eighteen give a championship layout.
| hole | par | metres | hole | par | metres | |
|---|---|---|---|---|---|---|
| 1 | 4 | 331 | 10 | 4 | 340 | |
| 2 | 3 | 168 | 11 | 3 | 181 | |
| 3 | 4 | 403 | 12 | 4 | 344 | |
| 4 | 5 | 556 | 13 | 5 | 539 | |
| 5 | 3 | 179 | 14 | 4 | 361 | |
| 6 | 4 | 387 | 15 | 4 | 382 | |
| 7 | 4 | 312 | 16 | 3 | 187 | |
| 8 | 5 | 515 | 17 | 5 | 503 | |
| 9 | 4 | 364 | 18 | 4 | 378 |
The left-hand panel carries the three things you have to decide - POWER, CURVE and CLUB - and each is picked off a meter that swings back and forth. The animation is not written as code: it is a script at 0x9B6E, with two-byte records (command and parameter) up to an 0xFF, and one of those commands fires sound track number 5. There are four entry points into the script, and 0x9B1F picks which one according to the step of the shot.
Above them sit the TOP, each player's stroke count (SHOTS), the hole, its par and its length in metres.
They are read through the BIOS, GTTRIG for the button and GTSTCK for the direction, with the variable at 0xE42A saying whether it is keyboard or joystick. Both reads are doubled: the cartridge reads, reads again and only trusts the answer when the two agree, which is how you debounce without spending a timer.
Leave it alone and the cartridge walks through the eighteen holes four seconds at a time, then starts over. Any press cuts the demo short and goes to the menu.
Eight PSG tracks, picked by index from a pointer table at 0xBE3B, driven by an interpreter that runs on every frame's interrupt. A byte with both top bits set is a note - the lower six index the period table at 0xBEF5 - and with the top bits clear it is a control command: write a single PSG register, change the envelope, call and return from another track, or stop.