1991 · Infogrames

About this page

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.

Footprint

Every byte of the C64's 64 KB, one pixel each, 512 to a row. Lit pixels are what this game is: its code, graphics, level data, sound, text, tables and variables, exactly where they sit in memory. Dim areas are screen and working memory; dark is unused.

This game is in 8 parts. The map is of The loader and the script, which stays in memory; the band marked as varying holds whichever of the 7 parts loaded over it is there. The Source tab has the listing of each part that has one.

Status

Tiersilver
Coverage100 % of the bytes the game uses have a description
Comments checkedNot audited. No audit has checked every comment, and the last sample of 65 comments had 6 wrong, so between 4 and 19 % of the listing’s comments are likely wrong. How listings are checked
Build analysedPAL cassette, four sides, Cyberload fast loader; the original release as the Ultimate Tape Archive V4.0 has it (entry 7562)
Copyagent-draft
Toolsemulator: own build of github.com/barryw/vice-mcp, release v3.13.2, commit 1e83aab134; driven through kit/c64/vice.py; check-emulator 57 of 57, disassembler: regenerator2000, live, through kit/c64/r2000.py, host: Linux 6.18 x86_64 (WSL2) on Windows 11, Ubuntu 26.04.1, Intel Core i7-3770, eight threads, display through WSLg, node: 24.21.0
Modelclaude-opus-5-5
Kit version0.0.268

How the listing was checked

Every step that measured the Source tab’s comments or made them more accurate, in the order it happened, with the models that did it. Accuracy of the Source explains each step and what the row above makes of them.

StepByWhat it foundOf the listing
Researchclaude-opus-5-5Looked the game up online (its manual, reviews or wiki pages) before reading its code.
Annotationclaude-opus-5-5Wrote the listing’s comments. 100 % of the program is described, in 2,948 comments.
Sample 1claude-fable-5-16 of 65 comments wrong, so between 4 and 19 % of the listing is likely wrong. All 6 were then corrected.
45 of the 2,195 hand-written comments and 20 of the 751 written from templates, over the eight parts, checked by a fresh agent against the code; all six wrong were hand-written and wrong in a detail
Port checkclaude-opus-5-5Checked a page’s port or widget against the game and corrected 0 comments it showed wrong.
the pages' tests against the game's code: the music and effects players, the battlefield unpacker, and the year map against VICE's picture of 1861, which matches but for the cursor; no comment needed correcting

likely wrong the sample’s range corrected right, or likely right not yet measured

Contributors

Other places to love this game

What the game does, and where we found it

Read this before annotating code. What the game is documented to do, with verification status against the binary. Statuses: open (documented, not found yet), traced (in the code, could not be exercised; say what was tried), confirmed (in the code, consistent with the emulator), live (observed directly), differs (the code does something else). "Absent" is not a status.

Sources:

Features

Where: the part that does it (parts/<id>/facts.md); an address is that part's.

FeatureStatusWhere
Menu: one or two players, by clicking the flag behind each side's character; a computer appears when the computer plays that side, and both can be computerslivemenu $114D, $11A6; menu.vsf, menu-1864-cc.vsf
Menu: difficulty by clicking the character's head (corporal hardest, sergeant, captain easiest)traced: the head steps the side's level 0 to 2 (menu $1193, resident $0380). What a level changes depends on where it is read: the computer's chance to act in the battle (battle $9D14: level 2 always), the fort's and train's length and guards when that side defends (fort $89B7, train $8B50), the strategic odds (map $2DBB, $32B0) and the computer's noise on the map (map $3ECA)menu, map, battle, fort, train
Menu: start year 1861 to 1864 by clicking the calendar; each year has its own armies and territorieslive (the calendar steps 1861 to 1864; the map shows each year's text); traced (map $28D3)menu, map
Menu: three disasters to turn on: Indians (with the Mexican), storms, European reinforcementstraced (menu $1204, $1223, $1242; map $2678, $178B, $1547, $227A)menu, map
Menu: arcade or strategic mode; in strategic mode a battle, a train or a fort is decided by chance weighted by the two sides' strengthtraced: by chance against the levels (map $2DBB, $36D7) and, for a battle, in rounds until one side has nothing left (map $321C)menu, map
Menu: keyboard or joystick for one player against the computer, by clicking the joystick panel; the panel goes when no person playslive (the panel goes); traced (menu $1280)menu
Menu: GO starts with the defaults: captain level, Stark against a computer corporal, 1861, no disasters, North firstlive; traced (menu $1878)menu
Cursor on the map moved by joystick or P L Z X; space or fire clickslive (joystick, space); traced (map $24A2, $24DD)map
H pauses; the Commodore key ends the computer's control (computer against computer)differs: H pauses the battle, the fort and the train (battle $8907, fort $8046, train $8046) but not the map, where no instruction compares a key with H; the Commodore key ends a game the computer plays on both sides, and no ending loads (map $1162)map, battle, fort, train
Turns: each player moves some or all armies to a neighbouring territory; clicking the month and year band ends the turntraced (map $2B26, $2BE8)map
Moving: the territories an army may enter flash; clicking a territory that does not flash cancels the movelive; traced (map $280B, $2846)map
Conquering a territory: six cases (unowned; enemy's and empty; enemy army: battle; own; town with enemy army: battle then fort; town without army: fort)traced (map $2BA3, $2BB4, $2C1A, $2C75, $2DA6, $3011)map
Fusing armies, up to 18 infantry, 9 cavalry and 3 cannontraced (map $2CCF, $2D5B)map
Attacking with several armies at oncetraced: the battle's set-up adds each of the attacker's other armies next to the battle that may still move, while the totals stay within 18, 9 and 3 (map $2EBF, $2FB3)map
Retreat: E (joystick or keyboard player 1) or the quote key (joystick 2 player); the retreating army loses a cannondiffers: E for the Union, the up-arrow for the Confederacy (battle $888C, $8785); a side that falls back loses all its cannons once its infantry and cavalry have left (battle $A891)battle
Supply: gold for each territory owned, if two of the player's towns are joined by a railway through the player's own territory; the train carries it to the banktraced: a bag for every five territories owned or occupied, and one more (map $35C3, $3B55, $3896)map
A new army (6 infantry, 3 cavalry, 1 cannon) for five bags of gold, placed on a flashing territory on the player's own railwaytraced (map $38D5, $3413)map
Taking the enemy's taxes: cutting the railway between two enemy towns; once only the enemy train tries to get through, and that is the train sequencetraced: the train is intercepted in a territory of the enemy's on its way (map $36D7); in arcade mode that is the train sequence (map $0C98)map, train
Indians attack armies in neighbouring territories after smoke signals; the Mexican bombs Texastraced: the Indians attack an army that stays two passes in territory 3 or 8, after ten smoke signals; the Mexican an army in territory 19 (map $2678, $178B)map
A storm cloud travels above the map; an army under it cannot movetraced: the cloud is put on a random territory of the first 25, whose army is left off the list that may move (map $1547, $2E20)map
European reinforcements: whoever owns South Virginia gets a ship with 1 cannon, 3 cavalry, 6 infantrytraced: every fourth pass, territory 18 with an army or an owner (map $227A, $3413)map
Surrounding: enemy territories with no army and no town, surrounded by the player's armies, change sidestraced (map $32CF)map
The army's soldier on the map has more or fewer cannon balls at its feet by the size of the armydiffers: the map draws an army as one of two soldiers, by side (map army_pictures, $8410); draw_army (map $3BE7, called from $3BB8) builds the picture's address from the army's side alone ($8410 or $844C), and the army's counts are not read there. draw_army is called only from $3BB8, inside draw_changes ($3B97)map
Battle: each player picks the unit to move or fire (player 1 RUN/STOP, player 2 F5); the unit's symbol shows top left (Union) or top right (Confederacy)traced (battle $96F7, $9176)battle
Battle: artillery moves only up and down; holding fire fills a gauge for the range; nine cannon balls, then it leaves the fieldtraced (battle $9978, $8EFE, $A567)battle
Battle: cavalry starts facing the enemy, cannot move back; fire charges, further presses slash; reaching the far edge it goes round and back; turning against the charge changes formationtraced: pulling back forms file, or rears (battle $98C5, $A0AA); a charge off the far edge comes back from its own side (battle $A462, $A495)battle
Battle: infantry move in any direction; first press takes the firing position, further presses fire; turning against the march changes formationtraced (battle $9805, $A376, $A384, $9F69)battle
Battle field: a river with a bridge (the cannon can destroy bridges, says Wikipedia), houseslive (battle-play.vsf); traced: three fields at random, the open field, a canyon with a wooden bridge and a river with a stone bridge; three balls break a bridge (battle $90A5, $A6A5, $A794)battle
Train: climb onto the passing wagons (P or up), move along the roof (Z X or left right), jump wagon to wagon (P or up); knives (limited by difficulty) or punches in hand to hand combat; reach the locomotive before the clock, shown by a boot; pushed off, climb back before the train leavesdiffers in one detail: the attacker has four knives at every level (train $8112); the rest traced (train $9433, $95AA, $95FE, $8955, $8D4D, $8BB7)train
Train, two players: the defender sends men onto the roof (up or down) and firestraced (train $9A8F, $9937)train
Fort: run through the fort to the enemy flag at its far end before the clock; ladders, guard dogs, boxes of explosives that stuntraced (fort $8A26, $8945, $93BA, $92EF, $9968, $96B2)fort
Fort, two players: the defender brings soldiers in at ground level (down) or on the ramparts (up)traced (fort $9D02)fort
Winning: eliminating all the enemy's armiestraced (map $0F51, $0CCF)map
Year texts between turns ("The Southern States have opened hostilities by taking Fort Sumter...")liveresident $09EC
C64-Wiki: no language choice or national anthems on the C64; Indian and Mexican attacks scripted rather than random; the train takes about twice as long a trip; no bodies or cannon wrecks left on the fieldtraced in part: the Indians and the Mexican attack fixed territories (map $2678, $178B); a fallen soldier and a wrecked cannon are taken off the field after their pictures (battle $9519, $966E). The train's trip was not comparedmap, battle

Beyond the documentation

Found in the code, not in the manual.

Open questions

Each part of the game has its own symbol map and listing: The loader and the script, symbols.json and listing.json; The title, symbols.json and listing.json; The menu, symbols.json and listing.json; The strategic map, symbols.json and listing.json; The battle, symbols.json and listing.json; The fort, symbols.json and listing.json; The train, symbols.json and listing.json; The ending, symbols.json and listing.json. Write-ups, facts and symbol maps are CC BY-SA 4.0. The game itself is not hosted here.