If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
NFL Instant Replay (CD-i)
NFL Instant Replay |
---|
Developer: Capitol Disc Interactive This game has hidden development-related text. |
To do: Document the June 15th, 1995 prototype. |
NFL Instant Replay finally lets you play as the referee instead of the football players themselves. Can you correctly judge enough low-quality clips to make it to the Super Bowl?
Debugging Files
This needs some investigation. Discuss ideas and findings on the talk page. Specifically: Can this debug mode be reactivated in some way? |
Three unused files can be found on the disc, all of which contain code and strings meant for a debugging mode. It would've been controlled using a keyboard and a CD-i dev kit.
cdi_replayd
The first, largest file is cdi_replayd, a debug version of the used file cdi_replay. Its contents can be sorted into three chunks.
Chunk 1 deals with the gameplay logic itself, though there's nothing noteworthy in it due to its simplicity.
REPLAY ANSWER FLASH AnswerTimeout... answer.c {{{{ Q=%d, idx=%d, str=%d AnswerTimeoutCleanup... AnswerSelected: 1:%d 2:%d AnswerSelected: p1a:%d p2a:%d AnswerSelected: p1d:%d p2d:%d AnswerSelected: Showing answer... BUTTON ESTABLISHED buttons.c HILITE RIGHT %d %d buttons_shown = 0x%x USING EXIT HILITE LEFT %d %d SELECT %s PLAY_BTN EXIT_BTN REPLAY DIMMING DistributionLogoShow... distribution.c DistributionLogoHide... DyuvscreenShow (0x%x,%d,0x%x)... dyuvscreen.c REPLAY FMV PIC REPLAY FMA UNF No fmv cartridge!!! fmv.c %s... Setting video stream Ack! Setting black border Setting window origin SETTING FMV POSITION FOR PAL DISPLAY! Positioning window SETTING FMV POSITION FOR NTSC DISPLAY! Setting window size Can't get handle to FMV map Loading first frame... BEFORE LOOP... DONE. Cannot pause FMV decoder. Error initializing font colors. font.c Error loading font color. text: Error rendering string. ANIM HANDLER Cannot install video signal gameanim.c Unknown GameMenu animation type (%d) GameanimUncompress: not a dyuv delta package GameanimUncompress: Bad data (frame %d) GameanimUncompress: Bad decompression (frame %d) WATCH_NEXT: p%d: %d WATCH_TIMEOUT: p1=%d, p2=%d Gamemenu Init... gamemenu.c PLAYER1 ACTIVE: %d, PLAYER2 ACTIVE %d Briefs (active = %d)... GamemenuAnswerDone GamemenuAnimFeedback: Unable to save watch GamemenuAnimFeedback: Can't restore watch GamemenuNextQuestionStart: level_done = %d Starting INTRO... Starting Next Question play... REF FEEDBACK PLAY (level = %d, level_done = %d) QUESTION_DONE CURRENT LEVEL IS NOW %d PLAY DEBUG IS '%s' (Q=%d) Next Play: X ESTABLISHED Y ESTABLISHED RIGHT LEFT UP DOWN Input handler now 0x%x input.c Input handler REMOVED PTR HANDLER Ptr device %d is '%s'... joystick.c Ptr device %d open FAILED... Ptr device %d open SUCCESSFULL... Can't get devname from CSD for ptr device %d Welcome to Instnat Replay !! main.c %s... Resident data load Main menu init Enabling joysticks MAIN LOOP... MainmenuCleanup: Unable to copy bkgnd mainanim.c MainanimTextUncompress: not a dyuv delta package MainanimTextUncompress: Bad data (frame %d) MainanimTExtUncompress: Bad decompression (frame %d) MainanimTextUncompress: Bad decompression (frame %d) MainmenuAnim: not a dyuv package MainmenuAnim: %d frames, hidden = 0x%x MainmenuAnim: Bad data (frame %d) MainmenuAnimSingle: Bad decompression (frame %d) MainmenuAnimReset: not a dyuv package MainmenuAnimReset: %d frames, hidden = 0x%x MainmenuAnimReset: Bad data (frame %d) MainmenuAnimReset: Bad decompression (frame %d) mainmenu_show: Unable to copy bkgnd mainmenu.c STARTING ATTRACT LOOP... MainmenuCleanup... NofmvShow... nofmv.c NofmvHide... Error creating '%s' file nvram.c nvram_close_file: nvr_close failed. '%s' created, size %d Error opening NVR file nvram_close_file: nvr_close_mem failed. FILE CRC is 0x%x Error writing to nvri file! Error writing CRC to nvri file! Error reading from nvri file! Error reading CRC from nvri file! CRC: 0x%x, calculated CRC: 0x%x CRC is BAD!!! NO NVRI FILE!!! ERROR: Could not get size of NVRAM. SAVE ENABLED. WARNING: Saving would exceed 98%% of nvram, SAVE DISABLED. NVRAM size OK, SAVE ENABLED. Error deleting '%s' Error getting nvram dir **** NONE **** %2d) %35s%6d NvrfullShow... nvrfull.c NvrfullHide... Play: RTF %d Sector %d play.c (%s,%s) Tasking Not Tasking Async Sync Play failed! Here's datamap %d Here's pixmap %d Async play done: stat=0x%x Sync play done: stat=0x%x === RANDOMIZING LEVEL %d: question.c %d, --- SELECTED OPTION %d --- reentry.c Unable to link to font. resident.c Unable to set font clut. --- RESTORING NVRAM DATA --- roster.c *** NVRAM IS FULL! *** --- CREATING NVRAM DATA --- ROS1 ITEM = %d SELECT ITEM %d ROS2 ITEM = %d PLAYER %d total is %d Error loading player 1 score color. score.c Error loading player 2 score color bank. Error loading player 2 score color. Can't display score (hundreds) for player %d Can't display score (tens) for player %d Can't display score (ones) for player %d REPLAY SOUNDMAP DOG DEBUG MENU rpcontext sm play_buffers errno %s... start.c Application init Ack! root dir = "%s" Callback init Keyboard debug Installing Play Opening video event Grabbing memory Can't install keyboard signal PCB debugging is %s... ON OFF > Context flags are 0x%x. Context status is 0x%x. RP_DEBUG (0x%x)? %x PLAYER1 ACTIVE: %d PLAYER1 STATUS: %d PLAYER2 ACTIVE: %d PLAYER2 STATUS: %d Rapid fire: %d Player1 Total? %d Player2 Total? c - CTE d - PM spit s - Signal dump z - Rectangle display r - Rectangle debugging TimerSet: Timer already active! timer.c TimerSet: Unable to install timer task TimerDelete: No active timer! TimerDelete: Unable to delete timer task Set video event: %d videoevent.c
Chunk 2 focuses on the engine and its interactions with the CD-i, and includes FMV debug functions at the beginning.
RP PLAY DONE RP AUDIO BUF FULL RP DATA BUF FULL RP FX TIMER RP VIDEO BUF FULL RP FMV PIC RP FMV LPD RP FMA UNF CD_rp_play: Play attempt with uninitialized context. CD_rp_play.c CD_rp_play: Map load failed. Error! curAsset %d Audio PCL at 0x%08x has type %ld! audio in, PCL Buf 0x%08x Error! curAsset %d Data PCL at 0x%08x has type %ld! data in, PCL Buf 0x%08x FX occurs before buffer is ready! FX %d Buffer %d Type %d *FX alarm went off* SetFMVTrigger: ERROR setting FMV triggers ClearFMVTrigger: ERROR clearing FMV triggers SetFMATrigger: ERROR setting FMA triggers ClearFMATrigger: ERROR clearing FMA triggers CD_rp_play(): map read failed, retry attempt #%d trying backup map at sector %ld I give up, calling done_func PlayFMVCleanup: ERROR aborting FMV PlayFMVCleanup: ERROR aborting FMA Error during play (stat = 0x%x)! FMV stat = 0x%x FMA stat = 0x%x PlayDone: Play is done! Setting PCL 0x%x MapLoc 0x%x Size %d SetupFMV: ERROR setting FMV triggers SetupFMV: ERROR setting FMA triggers CD_rp_play(): cur map file has no channel %d Couldn't start FMV decoder?!? Stat = 0x%x Couldn't start FMA decoder?!? Stat = 0x%x Playing record at sector %ld Couldn't play record?!? Error! curAsset %d Video PCL at 0x%08x has type %ld! submode 0x%02x coding 0x%02x video in, PCL Buf 0x%08x Setting pixmap %d's LAT to buffer %d RpSetFMVTrigger: ERROR setting FMV triggers RpClearFMVTrigger: ERROR clearing FMV triggers RpSetFMATrigger: ERROR setting FMA triggers CD_rp_load_map(): error during seek to map. CD_rp_load_map.c Couldn't load map file. Path %d PCB_Chan 0x%0x Unknown status, assuming error Starting FX! CD_rp_task.c CD_rp_task: invoking effect %d CD_rp_task: invoking effect %d buffer index %dID %d CD_rp_task: PLAY_DONE flag set CD_callback: Unhandled signal received: class %d, value %d CD_callback_init.c CD_callback_attach: Illegal callback structure. CD_callback_attach.c CD_callback_replace: Illegal callback structure. CD_callback_replace.c CD_callback_remove: Illegal callback structure. CD_callback_remove.c Callbacks: CD_callback_dump.c Class %2d: Value %2d (0x%08x): 0x%08x,0x%08x Value * (0x%08x): 0x%08x,0x%08x %s No Label 0x%08x,0x%08x Number of colors %d too low; min is 2 CD_font_clut.c Number of antialias colors must be a power of two Number of antialias colors %d too high; max is %d Number of antialias colors %d wrong for font: must be %d Invalid font type Clut buffer %d bytes too small; need %d txt_clut_make failed Font module has bad sync CD_font_link.c Font link failed Font has unknown type No PRL character render function installed CD_font_render.c No PIMS character render function installed Invalid font type No PRL string render function installed No PIMS string render function installed Invalid font type CD_font_width.c CD_ifx_get_params(): param too big (%d/%d) CD_ifx.c CD_ifx_perform(): bad fx (%d) CD_pm_show.c CD_tasks: execute CD_task.c (0x%x) recursion (%d) task %d:0x%x Could not allocate task - task array full CD_task_install.c Can't open FMV video path CD_applinit.c FMV Paths opened Opened Full Motion descriptors Load module %s:%d CD_appl_init: Can't load module: %s into plane %d CD_appl_init: Can't open file '%s' Can't ss_enable controls CD_cdroot.c CFREE: _srtmem error %d 0x%x CD_cfree.c Couldn't find FONT8X8! CD_disc_error.c CD_malloc grabbing %d bytes from %x CD_malloc.c (%s:%d) CD_free: INVALID POINTER : 0x%x SYNC : 0x%x CD_free releasing %d bytes at 0x%x init Can't get init module CD_get_plane.c line_event CD_vd_open : csd_devname fails CD_vd_open.c CD_vd_open : Could not open %s Can't get name of monitor. vd_compat.c Can't get monitor parameters. LI= Can't determine the monitor type. 625 TV PCB: Stat=0x%x Sig 0x%x Rec=0x%x CD_rp_debug_pcb.c AChan=0x%x Chan=0x%x Video PCLs: Audio PCLs: Data PCLs: Channel %d: PCL=0x%x Ctrl=0x%x Smode=0x%x Type=0x%x Sig=0x%x Buf=0x%x BufSz=%d CD_rp_dump_map(): bad key [0x%04x] CD_rp_dump_map.c chanMask 0x%08x aChanMask 0x%04x start sector %ld offset to next %d # Video Assets: %d Size %3d Buff %3d # Audio Assets: %d # Data Assets: %d Play is already finished! CD_rp_stop.c Tried to start FX while play paused! rpfx.c No more FX (done %d of %d)!! During play, FX offset %d startPos %d During play, alarm for FX #%d @ %d cur_pos %d After play, alarm for FX #%d @ %d deleting rp fx alarm %d Can't set alarm for FX! alarm %d set to occur in %d ticks
Chunk 3 features the CD-i graphics editor/second chunk-esque strings ubiquitous among the debug files of CapDisc's games. It also contains the text of a memory editor made by 'VDS and JHO', present in a select few of their titles.
Quit New Control Table Dissassemble Enter Instruction Help Search for Instruction Insert NOPs into the LCT 1.02 CD control table editor V%s Starting line? Number of lines? 8 (normal) 4 (double) 8 (high) Half Full Black Blue Green Cyan Red Magenta Yellow White OFF CLUT8 CLUT7/RL7 CLUT7/RL7 (Dual) DYUV CLUT4/RL3 RGB555 QHY END IFCA IFCB Matte Flag Off Matte Flag On Matte Flag Off + IFCA Matte Flag On + IFCA Matte Flag Off + IFCB Matte Flag On + IFCB 1 2 A over B B over A x2 x4 x8 x16 Normal Runlength Mosaic Bit = 0 Bit = 1 CKey = FALSE CKey = TRUE MFlag 0 off MFlag 0 off & CKey FALSE MFlag 0 on MFlag 0 on & CKey TRUE MFlag 1 off MFlag 1 off & CKey FALSE MFlag 1 on MFlag 1 on & CKey TRUE off on Line? Column? clut number red value green value blue value matte register Enter opcode matte flag icf x position Enter brightness Enter color clut bank Not allowed! Enter mode Enter pixel repeat Enter Bits/pixel icf value Enter plane A ICM Enter plane B ICM Enter # mattes external video enable pixel hold pixel hold factor Enter plane order mixing: 0=OFF, 1=ON Enter plane A TCI Enter plane B TCI y start value u start value v start value Write failed, errno=%d! FCT 0 FCT 1 LCT 0 LCT 1 PAL LCT 0 PAL LCT 1 Decode which control table? 8bpN 8 bits/pixel, Normal resolution 4bpD 4 bits/pixel, Double resolution 8bpH 8 bits/pixel, High resolution Any color can be at 1/2 intensity ?? Illegal -- Off c4 Clut 4 or RunLength 3 c7 Clut 7 or RunLength 7 77 Clut 7/7 or RunLength 7/7 (dual clut) c8 Clut 8 dv r5 qy ??? Illegal value end Ignore all commands in higher registers icfa Change ICF value for plane A icfb Change ICF value for plane B MFoff Turn Matte Flag off MFon Turn Matte Flag on offIa Turn Matte Flag off and change ICF for plane A onIa Turn Matte Flag on and change ICF for plane A offIb Turn Matte Flag off and change ICF for plane B onIb Turn Matte Flag on and change ICF for plane B nml rl RunLength enabled mos Mosaic enabled Illegal mode b0 Transparency bit 0 B1 Transparency bit 1 cF Color Key FALSE cT Color Key TRUE m0F Matte Flag 0 FALSE m0FcF Matte Flag 0 FALSE or Color Key FALSE m0T Matte Flag 0 TRUE m0TcT Matte Flag 0 TRUE or Color Key TRUE m1F Matte Flag 1 FALSE m1FcF Matte Flag 1 FALSE or Color Key FALSE m1T Matte Flag 1 TRUE m1TcT Matte Flag 1 TRUE or Color Key TRUE Never transparent Always transparent CLUT<clut number> <red> <green> <blue> <clut number> 0 - 63 <red>, <green>, <blue> 0 - 255 72 5.5 MR<register> <op> <matte flag> <icf> <x position> <register> 0 - 7 op <matte flag> 0 - 1 <icf> 0 - 63 <x position> 0 - 1023 83 5.10.3 BKCOL <color> color 91 5.13 CLTB <bank> <bank> 0 - 3 DLS <address> 57 4.5.2.2 DPRM <mode> <pixel repeat> <bits/pixel> mode <pixel repeat> 2, 4, 8, or 16 bits/pixel 59 4.6.1 ICF<plane> <value> <plane> A or B <value> 0 - 63 79 5.9 ICM <icm A> <icm B> <# mattes> <external video> <clut bank> icm A icm B <# mattes> 1 - 2 <external video> 0 - 1 <clut bank> 0 - 1 58 LINK LCT <address> 56, Note 1 4.5.1 MCOL<plane> <red> <green> <blue> <plane> A or B <red> 0 - 255 <green> 0 - 255 <blue> 0 - 255 76 5.7.2.2 PHLD<plane> <enable> <value> <plane> A/B <enable> on/off <value> 0 - 255 86 5.11.1.1 NOP 56 PO <value> <value> B over A or A over B 75 5.7.1 SIG video interrpt 74 5.6 TCOL<plane> <red> <green> <blue> TCI <mix> <tci a> <tci b> <mix> on/of(f) tci a>, <tci b 5.7.3 YUV<plane> <y> <u> <v> <y> 0 - 255 <u> 0 - 255 <v> 0 - 255 61 4.6.2 Starting row Starting column Number of rows Number of columns Any Clut Instruction Specific Clut Number Any Matte Instruction Specific Matte Register Look for: CLUT number Matte Register Start line? Step (-1 or +1) ? Instruction not found. At line %d , column %d : %s CLUT MR BKCOL CLTB DLS DPRM ICF ICM LCT MCOL PHLD NOP PO SIG TCOL TCI YUV Choose Instruction Type: Green Book Reference: Vol. I, V.%s, page V-%s %s %2d) %%-%ds ==> <%s> is one of: %-5s %s Allowed on plane A or B (may be set independently on each) (different opcodes on each plane) plane A only CLUT%-2d %3d %3d %3d CLTB set bank %-5d DLS 0x%-13x ICF%c %-14d LINK LCT 0x%-8x MCOL%c %3d %3d %3d PHLD%c %-3s %3d on off %-19s NOP PO %-16s B ovr A A over B SIG video interrupt TCOL%c %3d %3d %3d YUV%c %3d %3d %3d ERROR in the CT?? Black 1/2 Blue 1/2 Green 1/2 Cyan 1/2 Red 1/2 Magenta 1/2 Yellow 1/2 White Blue Green Cyan Red Magenta Yellow White BKCOL %-13s Dumping FCT #%d, starting line=%d numlines=%d %03d %s Dumping LCT #%d, start line=%d numlines=%d %3d %s : invalid address : invalid array reference : alignment error %20s[] 0x%06x [%d] %20x 0x%06x [%d] = 0x%02x = 0x%04x = 0x%08x %20s[0]: %20s : usage: r [<addr> [<len>]] read memory w <addr> <byte1> [...] write to memory m <addr1> <addr2> CD_mem_diag() & print addresses * print values q quit editor <addr> may be one of: [0-9]* decimal quantity 0x[0-9a-fA-F] hexadecimal quantity &<name> address of <name> <name> address <name> points to <name>[<index>] address of element <index> in <name> Memory Editor V2.0 (by VDS and JHO) *** %s usage: w addr [b1 [b2 [...]]] usage: m <addr1> <addr2> %-30s%-50s device table path table process table event table Address Size Type Tag 0x%08x-%08x %8d %-8.8s %s UNKNOWN FREE MODULE DMAP DMAPDESC SMAP SMAPDESC DBLOCK LINE ADR PROC MEM DEV MEM PATH BUF MOD MEM RES NODE RES TAG %s (line %d): WARNING: %d: %s (line %d): ERROR: %d: CD_ap_open : csd_devname fails CD_ap_open.c CD_ap_open : Could not open %s CD_iff2fct_clut.c
cdi_driversd
The second file is cdi_driversd, a debug version of the used file cdi_drivers. It has 12 additional kilobytes of data spread throughout the file, including these strings:
/cd Cannot chd to /cd (errno %d) /cd Cannot chx to /cd (errno %d) dvr_name = '%s', filename = '%s' About to load new driver Driver load failed (errno = %d)! About to load application %s No System RAM, using Plane B Error %d loading %s About to chain to application %s Error %d chaining to %s
cdi_replayd_data
The third, smallest file is cdi_replayd_data, a debug version of the used file cdi_replay_data. The only change between the two is the addition of two KB of data near the middle/end of the former.
The NFL series
| |
---|---|
NFL Blitz | |
Game Boy (Color) | NFL Blitz 2000 • NFL Blitz 2001 |
Nintendo 64 | NFL Blitz • NFL Blitz 2000 • NFL Blitz 2001 |
PlayStation 2 | NFL Blitz 20-03 |
NFL Quarterback Club | |
SNES | NFL Quarterback Club • NFL Quarterback Club 96 |
Genesis | NFL Quarterback Club |
32X | NFL Quarterback Club |
Game Boy (Color) | NFL Quarterback Club II • NFL Quarterback Club 96 |
Nintendo 64 | NFL Quarterback Club 98 • NFL Quarterback Club 99 • NFL Quarterback Club 2000 • NFL QB Club 2001 |
Other | |
SNES | NFL Football (Konami) • NFL Football (Sculptured Software) • Troy Aikman NFL Football |
Arcade | Hard Yardage |
CD-i | NFL Football Trivia Challenge • NFL Instant Replay |
Xbox | NFL Fever 2003 |
Wii | EA Sports Active: NFL Training Camp |
See Also | |
Madden series |
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Cleanup > To investigate
Games > Games by content > Games with hidden development-related text
Games > Games by developer > Games developed by Capitol Multimedia > Games developed by Capitol Disc Interactive
Games > Games by platform > CD-i games > CD-i Digital Video Cartridge games
Games > Games by publisher > Games published by Philips > Games published by Philips Media
Games > Games by release date > Games released in 1995
Games > Games by series > NFL series