|
|
This page contains no introduction. |
Debugging Files#
|
|
This needs some investigation. |
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 |
|
|
Sega CD |
|
|
CD-i |
|
|
Wii |
|
|
Nintendo 3DS |
|