Mad Dog McCree (CD-i)
Mad Dog McCree |
---|
Developer: Capitol Disc Interactive This game has hidden development-related text. |
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_dogd
The first, largest file is cdi_dogd, a debug version of the used file cdi_dog. Its contents can be sorted into three segments.
Segment 1 deals with the gameplay itself, and contains error strings, location variables, and so on. Some parts would be reused for later CapDisc DVC titles, with a select few even having unchanged "DOG DEBUG MENU" text.
calibration_start... calibration.c CAN'T REMOVE VIDEO SIGNAL IN LCT!!! calibration_handler: shot %d AVG POINT1: (%d,%d) AVG POINT2: (%d,%d) CALIBRATION FAILED!! calibration_timeout... controller_menu_start... controller.c CAN'T REMOVE VIDEO SIGNAL IN LCT!!! CV_cp_calibrate: Can't send CALIBTRATE letter. cp_calibrate.c distribution_logo_show... distribution.c distribution_logo_hide... dyuvscreen_start (0x%x,%d,0x%x)... dyuvscreen.c CAN'T REMOVE VIDEO SIGNAL IN LCT!!! DOG FMV PIC DOG FMV SOS DOG FMV GOP DOG 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 Error pausing FMV. Error continuing FMV. Error pausing play. Error continuing play. GOPFMV: Unable to install GOP task INITIALIZING BANK... gameops.c INITIALIZING BROCK... INITIALIZING LROCK... INITIALIZING CORRAL... INITIALIZING MINE BOTTLES... STARTING PRACTICE... STARTING HOTEL... gameops_pickmap: Chose map %s,%s,%s RIGHT LEFT (0x%x) Direction = %d, map_pos = %d, MAP DIR = %d Direction CORRECT, map_pos = %d, max_map_pos = %d PICK BOTTLE ???????... &&& PICK BIG ROCK (%d,%d).. &&& PICK BROCK (scene = %d)... &&& PICK BIG ROCK DONE. &&& PICK LITTLE ROCK (%d,%d)... &&& PICK LROCK (scene = %d)... &&& PICK LITTLE ROCK DONE. &&& MINE BOTTLES (scene = %d)... &&& MINE BOTTLES DONE. &&& PICK HOTEL (%d,%d)... &&& PICK HOTEL (scene = %d)... &&& PICK HOTEL DONE. &&& PICK BANK (%d,%d)... &&& PICK BANK (scene = %d).. &&& PICK BANK DONE. &&& PICK CORRAL (%d,%d).. &&& PICK CORRAL (scene = %d)... &&& PICK CORRAL DONE. Unknown NEXT func (%d) HIT RECT ON (%d,%d) hitrect.c (%d,%d) hit_rect_on: Exceeded max rectangles (%d) (((PAUSING FOR %d ticks (scene delay = %d) @ %d))) ***BARTENDER DIED***... --- DELAY FOR DRAW: %d... ***DRAWGUN***... drawing rect out of range (%d,%d) (%d,%d) !!! BOTTLE HIT ### KILL%s!!! MAN WOMAN Unknown RECTFUNC (%d) RECT (%d) (%d,%d) hit_rect_up: Already at top!!! hit_rect_down: Already at bottom!!! hit_rect_left: Already at left edge!!! hit_rect_right: Already at right edge!!! hit_rect_shorter: Can't get any shorter!!! hit_rect_taller: Can't get any taller!!! hit_rect_skinnier: Can't get any skinnier!!! hit_rect_wider: Can't get any wider!!! (%3d,%3d) (%3d,%3d) (((PAUSE DONE))) @ %d %s... main.c Resident data load Main menu load SETTING NVRAM FLAG... MAIN LOOP... HELP DONE. mainmenu.c CREDITS DONE. mainmenu_show: Unable to copy bkgnd mainmenu_anim: not a dyuv package mainmenu_anim: Bad data (frame %d) mainmenu_anim: Bad decompression (frame %d) load_and_save_fade: file_exists = %d, lives = %d HIDE LOAD AND SAVE TEXT HIDE LOAD TEXT HIDE SAVE TEXT load_and_save_show: file_exists = %d, lives = %d toggle_object_display: Not a dyuv package toggle_object_display: Bad data toggle_object_display: Bad decompression BEGINNING GAME (lives = %d)... LOAD... SAVING... DOING CREDITS... DOING HELP... mainmenu_ambience_repeat... map_start... map.c nofmv_show... nofmv.c nofmv_hide... Error creating '%s' file nvram.c nvram_close_file: nvr_close failed. '%s' created, size %d 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 opening NVR file *** nvr_fh = %d, file_exists = %d nvram_close_file: nvr_close_mem failed. Error deleting '%s' * Error getting nvram dir **** NONE **** %2d) %35s%6d piracy_show... piracy.c piracy_hide... Play: RTF %d Sector %d play.c (%s,%s) Tasking Not Tasking Async Sync Play failed! Done Check: PCB: Stat 0x%04x, Sig 0x%04x (%03d) FMV: Stat 0x%04x, Sig 0x%04x (%03d) FMA: Stat 0x%04x, Sig 0x%04x (%03d) SMAP: Stat 0x%04x, Sig 0x%04x (%03d) Start 0x%08x, Cur 0x%08x Offset %d sectors (out of %d) ERRNO: %03d DISC POS: %d Here's datamap %d Here's pixmap %d Unknown FX number (%d) Async play done: stat=0x%x Sync play done: stat=0x%x DOG BTL FMV LPD practice_init: Can't create FMV descriptor practice.c practice_init: Can't create FMA descriptor %s... Positioning window Ack! practice_bottle_hit: Can't play host FMV practice_bottle_hit: Can't play host FMA NEXT_BOTTLE (%d)... practice_show_bottle: Can't clear triggers practice_show_bottle: Can't play host FMV practice_show_bottle: Next host FMV failed practice_bottle_miss: Can't clear triggers practice_bottle_miss: Can't play host FMV practice_bottle_miss: Can't show next host FMV recalibrate_menu_start... recalibrate.c CAN'T REMOVE VIDEO SIGNAL IN LCT!!! %s... resident.c Writing clut Ack! scene_start (%d).... scene.c scene_start: Scene %d does not exist! Aborting... --INTERRUPT-- DONE... HOLSTER DRAW... shot.c SHOT_BLOOD_SHOW... %%% HIT CYLINDER - RELOAD!! sign_start... sign.c ITEM = %d SIGN NORMAL SIGN PROSPMINE SIGN HIDEOUT SIGN MAINMENU PLAY DOG SOUNDMAP DOG DEBUG MENU %s... start.c Application init Ack! root dir = "%s" Callback init Keyboard debug Installing CP cdi_dogmail Restricting Q size Installing HS Installing Play Opening video event Grabbing memory Can't install keyboard signal PCB debugging is %s... ON OFF Context flags are 0x%x. Rect display is %s... Rect debugging is %s... Jump to what scene number? Jumping to scene %d... Illegal scene (%d) RP_DEBUG (0x%x)? %x BEEN_TO (0x%x)? Rapid fire: %d c - CTE d - PM spit s - Signal dump z - Rectangle display r - Rectangle debugging task_func_once: Unable to install task task.c func_once_handler: Unable to delete task timer_set: Timer already active! timer.c timer_set: Unable to install timer task timer_reset: No timer active! timer_delete: No active timer! timer_set: Unable to delete timer task town_start (been_to = 0x%x)... town.c Couldn't find FONT8X8! CD_disc_error.c PCB: Stat 0x%04x, Sig 0x%04x (%03d) FMV: Stat 0x%04x, Sig 0x%04x (%03d) FMA: Stat 0x%04x, Sig 0x%04x (%03d) SMAP: Stat 0x%04x, Sig 0x%04x (%03d) start 0x%08x, curr 0x%08x Offset %d sectors (out of %d) ERRNO: %03d DISC POS: %d CAN'T READ VIDEO SIGNAL FROM LCT!!! CD_pm_show.c CAN'T REMOVE VIDEO SIGNAL IN LCT!!!
Segment 2 focuses on the engine and its interactions with the CD-i, and includes FMV debug functions near 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 EOI Error during seek to map. CD_rp_play.c Couldn't load map file. Path %d PCB_Chan 0x%0x Error reading map. Errno %d (0x%x) PCL Error reading map. Couldn't start FMV decoder?!? Stat = 0x%x Couldn't start FMA decoder?!? Stat = 0x%x Couldn't play record?!? Playing record at sector %ld 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 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 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 >>>>>>> LAST FMV PIC DISPLAYED <<<<<<< >>>>>>> END OF AUDIO ISO <<<<<<< RpSetFMVTrigger: ERROR setting FMV triggers RpClearFMVTrigger: ERROR clearing FMV triggers RpSetFMATrigger: ERROR setting FMA triggers 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 CD_mm_send failed for new event CD_cp_flush.c CD_mm_send failed requeued letter (type=0x%x) CD_cp_handler: letter not an event. Type = %d CD_cp_handler.c Can't create cp mailbox. CD_cp_install.c CP install failed. cdi_cd_cp cdi_cp_mail Incompatible versions: libraries (%d), cursor process (%d) CD_cp_mail: Can't send letter for type %d. CD_cp_mail.c CD_cp_qsize: Can't send Q_SIZE letter. CD_cp_qsize.c CD_cp_setlimits: Can't send OP_CP_LIMITS letter. CD_cp_setlimits.c hs_do_event: GLOBAL doing type: 0x%08x hs: 0x%08x hs_do_event.c hs_do_event: checking type: 0x%08x hs: 0x%08x hs_do_event: doing type: 0x%08x hs: 0x%08x IFX CD_ifx_get_params(): param too big (%d/%d) CD_ifx.c CD_ifx_perform(): bad fx (%d) CD_iff2fct_clut.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 CD_rp_continue: Play not paused. Context 0x%x CD_rp_continue.c CD_rp_continue: Physical play done. Context 0x%x PCB_Stat = 0x%x PCB_Sig = 0x%x PCB_Rec = 0x%x CD_rp_debug_pcb.c PCB_AChan=0x%x PCB_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 CD_rp_pause: Play already paused. Context 0x%x CD_rp_pause.c CD_rp_pause: Attempting pause before a sector read.Context 0x%x CD_rp_pause: Physical play is done. Context 0x%x Play is already finished! CD_rp_stop.c 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 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 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 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
Segment 3 contains the CD-i graphics editor/second chunk-esque strings ubiquitous among the debug files of CapDisc's games.
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 %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
cdi_driversd
The second file is cdi_driversd, a debug version of the used file cdi_drivers. It has 10 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_dogd_data
The third, smallest file is cdi_dogd_data, a debug version of the used file cdi_dog_data. The only change between the two is the addition of a kilobyte of data near the end of the former.
The Mad Dog McCree series
| |
---|---|
Arcade | Mad Dog McCree • Mad Dog II: The Lost Gold |
Sega CD | Mad Dog McCree • Mad Dog II: The Lost Gold |
CD-i | Mad Dog McCree • Mad Dog II: The Lost Gold |
Wii | Mad Dog McCree: Gunslinger Pack |
Nintendo 3DS | Mad Dog McCree |
- Pages missing developer references
- Games developed by Capitol Disc Interactive
- Pages missing publisher references
- Games published by Philips Media
- CD-i Digital Video Cartridge games
- Pages missing date references
- Games released in 1994
- Games with hidden development-related text
- To investigate
- Mad Dog McCree series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
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 1994
Games > Games by series > Mad Dog McCree series