the cutting room mirror

Ultra CD-i Soccer

With 72 whole teams and a custom league maker, this CD-i soccer game is pretty freakin' ultra.

Cheat Mode#

Three teams that aren't listed in-game are playable via a combination of two variables: 0xd01ee0 which stores the index of the competition type chosen at the main menu, and 0xd01ee2 which stores the index of a matched hidden password when it is introduced (confirmed with message "CHEAT MODE ON"):

Ultra_CD-i_Soccer-Password1.png Ultra_CD-i_Soccer-Password1Enabled.png

File cdi_demo is loaded at address 0x248000. Function 0x2766a8 stores the competition type index. Function 0x25e5f4 checks the introduced password against the list of 7 obfuscated passwords at 0x257662, each decoded by subtracting 1 to each character's byte value. Finally, function 0x27c78e checks both variables, resulting in the following possible outcomes:

Competition

Password

Outcome

Head to Head

F0CK1N-G00D-SH1T

Player 1's team is "Ken Dodds dads dogs dead"

Head to Head

F0CK-H1M-G00D

Player 2's team is "Krisalis"

Any type besides "Head to Head"

T3*M-D0NC*ST3R

Player 1's team is "Ken Dodds dads dogs dead"

Champions Cup

R0TH*RH*M

Player 1's team is "Rotherham United"

Any type

P*N*LT1*S

No teams change, but the match skips to the penalty shoot-out

Instant Action

CH*LL*NG*

Player 1 and 2's teams are "Krisalis"

Custom League

S*P*R-CH*LL*NG*

Player 1 and 2's teams are "Krisalis", additional players are "Rotherham United"

Any of these three teams has a unique appearance, and team members have mostly maxed-out stats:

Ultra_CD-i_Soccer-KenTeam1.png Ultra_CD-i_Soccer-KenTeam2.png

(Source: Original TCRF research)

Team data is stored at 0x274cce, starting with Rotherham United, by far the most normal of the three. Krisalis Software were based in Rotherham, so their inclusion was likely a bit of local (unused) flavor.

Team Name

Country

Short Name

Rotherham United

England

Rotherham

Players

Lee Glover

Andy Hayward

Steve Cherry

Junior McDougald

Shaun Goodwin

Scott Smith

Martin James

Darren Garner

Shaun Goater

Andy Roscoe

Ian Breckin

Trevor Berry

Scott Smith

Jonathan Howard

John McGlashan

Chris Wilder

Mark Monnington

Gary Bowyer

Paul Hurst

Neil Richardson

Bradley Sandeman

David Pierce

Speaking of Krisalis, the company is represented by the second unused team, with its employees taking the place of the players.

Team Name

Country

Short Name

Krisalis

England

Krisalis

Players

Ramo

Mark Adamson

Neil Adamson

Phil Hackney

Steve Colledge

Dave Colledge

Mark Potente

Marvyn Burton

Andy Ware

Mark Edwards

Tim James

Mark Incley

Paul Kirk

Simeon Pashley

Tracy Hudson

Pete Harrap

Siobhan Moron

DeeDee

Finally, there's this team, which has a roster of random, unrelated players and an... interesting name/origin country.

Team Name

Country

Short Name

Ken Dodds dads dogs dead

FUG land

Too Good

Players

Marcus Adamson

Stephano Bielby

Alen Boksic

Eric Cantonarse

Petre Dragon

Roberto Baggio

Romario

Andreas Whiteley

Gianluigi Lentini

Luca Marchagiani

Christo Shoreo

Franco Baresi

Craig Watkinson

Basil Boli

Mattew Le Tissier

Dennis Bergkamp

Benito Walshaw

Faustino Asprilla

Gabriel Batistuta

Ricardo Oldale

Gianfranco Zola

Unused Text#

Most of the game's internal text is stored in cdi_demo at file offset 0x19B46. Among them are two unused lines meant for the developers' eyes only.

The first one's is some temporary copyright/credits text that's quite informal:

La di da ... Put some copyright 
Message crap in here or something 
Written by Krisalis etc etc etc

The second is much more vulgar, and would've showed up whenever the text failed to work properly:

Fuckin' strings fucked