1991 · Infogrames

North & South

This minisite was contributed by Nico-van-der-Zijden. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/north-and-south with me to Gold.

Two rules that undo each other, a plan the code never acts on, guards with endless knives, and a developer's remote monitor left in the battle file. Each one is traced in the code, with the addresses beside it.

01 · The levels

Bug: with the arcade off, a captain is the weakest level

In the arcade games a captain makes a side strongest. When chance decides instead, the same captain makes it weakest.

The fort's start column and guards from fort_setup, $89B7; the strategic chance from fort_attack ($2DBB), which compares a random number with $7F, $55 or $3F by the defender's level. The same random numbers decide an interception of the train.

Each side's level is one byte, 0 for a corporal to 2 for a captain ($0380, $0381). The arcade parts read it as strength: a captain defending a fort makes the attacker cross 375 columns past 12 guards, and a computer captain acts on every pass of a battle ($9D14). The strategic code reads it the other way. A captain's fort falls with a random number from $3F up, three times in four, and a corporal's only half the time. In a strategic battle a corporal's fire takes a unit three times in four, a captain's half the time (hit_chance, $32B0). A player who turns the arcade off does best as a corporal, the level the manual calls the hardest.

02 · The computer's plans

Bug: the computer's plan for South Virginia has no code

Each turn the computer sets a plan number from 0 to 4 (ai_plan, $3C98, kept at $0F10). Plan 2 is set when the European reinforcements are on and South Virginia, where their ship lands, is not the computer's. Two routines read the plan. ai_plan_scores ($3D09) has steps for plans 0, 1 and 3 and returns for any other, and ai_occupied ($3E11) asks only whether it is 3. So plan 2 changes nothing, and the computer plays it exactly as plan 4, the plan for a side with fewer armies than the enemy. Nothing makes the computer go for the territory where the reinforcements land.

The How it works page lets you set the four questions and see the plan.

03 · Knives

Bug: the computer's guards never run out of knives

In the fort the attacker has four knives (knives_left, $8115) and the guards ten between them (guard_knives, $8116). A person's guard checks that count before it throws. A computer guard throws whenever its own knife is not in the air and the attacker is 40 pixels or more away, and never looks at the count (guard_fight, $9BAA), so its knives never run out. The train runs the same code ($9937, which leaves $8113 alone).

04 · Ducking

Secret: duck, and a knife flies over

A knife knocks a fighter over only when he is standing, walking, striking, throwing, or in a jump before its last crouch (knife_hits, $9A63). Pulling down on the stick away from a ladder ducks, and a knife passes a ducking fighter without touching him. That is the defence against the guards' endless knives.

05 · The battle's cannon

Bug: the Confederacy can choose a cannon it does not have

RUN/STOP and F5 step a side's choice between infantry, cavalry and cannon, and unit_skip ($9748) passes over a unit the side has none of. For the cannon it asks whether a cannon is still waiting in reserve, and it reads the Union's reserve at $8610 for both sides (lda $8610 at $975B, where the side's own would be indexed). While the Union has a cannon to come, the Confederacy's choice stays on a cannon that has gone, and the stick then moves nothing ($9982).

07 · Leftovers

Secret: the files carry pieces of each other

Each file was saved from memory as it stood, so some carry what an earlier load or an earlier build left there, which the game never reads:

08 · The canyon

Secret: nothing falls into the bottom of the canyon

On the canyon field an object falls in when its row of the hazard table has a column within four of its position (hazards, $A113; the canyon's table $876C). The table's bottom five rows, 20 to 24, hold $FF, as the bridge's rows do, so a soldier or rider low enough on the field crosses where the picture shows the canyon. A ball that lands there counts as a hit on the bridge (ball_crater, $A6D0). This comes from the code; it was not tried in play, and whether a unit can reach those rows depends on how low the lanes go. The Maps tab shows the cells.

09 · The map's soldiers

Bug: every army on the map looks the same

The manual says the soldier standing for an army has more or fewer cannon balls at his feet by the army's size. The map has two soldiers, one for each side (army_pictures, $8410), and draw_army ($3BE7) chooses between them by the army's side alone; the army's counts are not read. A full army of 18, 9 and 3 looks like one of a single soldier, and the only way to see an army's strength is to click it.

10 · The loader

Secret: the loader has a message for crackers

While the menu runs, memory at $F2CC holds code of the Cyberload loader with a line of text in it telling hackers, in rude words, to go away and die. It is left over from the loads before the menu; the menu's files load around it and the map's file over it, so it is in none of the listings. Nothing prints it. It is there for whoever disassembles the loader to copy the game.