← All Atari Lynx projectsKick Off 2 · Atari Lynx port
Fan project · Atari Lynx port · work in progress

Kick Off 2

The Atari ST classic on the Atari Lynx

Same players, same ball, same referee – the original game logic, routine by routine.

Kick Off 2 (Anco, 1990) is one of the fastest football games ever written. This port re-creates it on the Lynx in 65C02 assembler: the game logic is the ST original bit for bit, the graphics and the samples come from the ST disk, and the match runs at 25 frames per second with the original 50 Hz logic.

Work in progress · playable, no public download yet

Made by a human and an AI

The author

Chose the game, set the goal of a one-to-one port, played every build against the ST original and said what felt wrong: the pace, the ball, the stripes of the pitch. Asked for the Sensible-style ball control as an option and decided what stays in.

Claude, the AI

Analysed the Atari ST program completely, rewrote the game logic routine by routine in 65C02 assembler, built the Lynx engine (sprites, raster stripes, sample playback, overlays), the tests against recordings of the original, the video and these texts.

Using AI is no secret here. The AI did the analysis and the code, the human set the course, judged every build and decided what to keep – and the game itself is still Dino Dini's Kick Off 2 from 1990.

What makes this port special

The logic is the original

Every routine of the ST game – AI, animation, ball physics, players, goalkeepers, referee, match flow – was rewritten in 65C02 assembler and tested against recordings of the ST original: whole match frames compared, 9306 of 9315 identical (the rest is an artefact of the test tool).

25 frames per second

The logic runs at 50 Hz like the original, the picture at 25 frames per second, double-buffered. In the emulator 96.5 % of all frames stand exactly two screen refreshes; a late frame is caught up by the logic, so the pace of the match never changes.

Fitted to the Lynx screen

The pitch and the players are scaled to the small screen (two thirds horizontally, 0.8 vertically). The pitch stripes are a colour switch per scan line like on the ST, the players, ball and shadows are sorted by depth, and the original samples play through a timer interrupt.

What is done

  • Match flow: title, main menu (single game, training, friendly, options), choice of sides, two halves with half-time and final screen, then back to the menu. A demo match starts after about 15 seconds on the title.
  • Everything on the pitch: running, passing, shooting with aftertouch, tackles, throw-ins, corners with the original corner-kick selection, penalties with the target cursor, fouls, free kicks, cards, substitutions.
  • Display: HUD line with number and name, clock or message, score; radar; pitch stripes with a colour switch per scan line.
  • Sound: the samples of the original, each section at its original sample rate.
  • Memory: the game logic lives in overlays loaded from the cartridge; set pieces (foul, cards, throw-in, kick-off, penalty, half-time) are loaded when they happen, planned automatically from a usage measurement of a whole match.
  • Extra, off by default: STICKY BALL – ball control like in Sensible Soccer. The ball rolls a few pixels in front of the feet and follows starts, stops and turns – pulling back turns with the ball instead of lobbing it. Fire holds the ball while you aim; on release the player passes to a team-mate in that direction or shoots with aftertouch. Pause, then A switches it on or off. Off, the logic is exactly the original.

In the video

Status

  • Playable from the title screen to the final whistle in the Felix emulator; tested in a headless test emulator (title to kick-off, demo match, controls, substitutions, match speed NORMAL and QUARTER, friendly match with both national teams).
  • Open: two players. After a foul the line-up for the free kick (all 22 players run to their places) is the heaviest part of the original logic and slows the picture to about 17 frames per second for some seconds. Rare set pieces occasionally load an overlay, which gives a short hitch.
  • No download yet. The port contains data from the original Atari ST disk, so a public release would work like the other ports on this site: a ROM Builder that reads your own disk image. That builder does not exist yet.

Controls

D-padMove the player at the ball or nearest to it, as in the original
AFire: pass, shoot, slide tackle – the longer you press, the harder
B + directionTactics 1–4 (up, right, down, left)
Option 1Call a substitution (F4/F5 of the original)
Option 2Radar on / off
PausePause – while paused, A switches STICKY BALL on or off
MenusUp / down to choose, left / right to change an option, A to confirm

Good to know

The video shows the English version of the game as it runs in the Felix emulator: the Kick Off logo, switching on up to the kick-off, moves, a corner, a throw-in, a foul with the free kick and two goals.

Real hardware has not been tested yet.