A CD-i rendition of everyone's favorite Chinese board game... which was only released in Italy and Spain.
A wider release for Go was planned at some point (an English prototype exists, and the game's listed in the US long box catalogue), but it never happened for whatever reason. I guess you could say it had to go...
Sub-Page#
Debugging File#
|
|
This needs some investigation. |
Present among the disc's files is cdi_goid - a variant of the used file cdi_goi - which contains the code and strings for a debugging mode. It would've been controlled using a keyboard and a CD-i dev kit.
The file can be sorted into three distinct segments, the first of which deals with the menus of Go. At the end is a memory editor made by "EKS", which might be related to one seen in the debug files of future CapDisc titles.
Failed CV_applinit
GO_main.c
Failed CV_play_bumper
Failed CV_rp_open
GO_load.c
Failed CV_rp_map_alloc
Failed CV_rp_play
Can't link to %s
GO_run.c
SendPlayerMessage: Can't send m->type=%d
ReceivePlayerMessage: Can't reque m->type=%d
Failed CV_rp_play
GO_play.c
Could not read file %s
smaps_load_done : Restoring an oldgame
GO_pass : Clicked PASS
GO_take_back : Clicked TAKE BACK
GO_fatal_error : Received fatal error
GetPlayerResponse : Got a message %d
GO_hint : Clicked HINT
GO_save_game : Clicked SAVE
GO_exit_game : Clicked RETURN
GO_delete_game_stuff : KillPlayer, rp_frees done, correct_rtr = %d
Error in sm_out of atari
GO_sm.c
Error in sm_out of shell
Error in sm_out of slate
Error in sm_out of illegal
ACHAN = %d
Failed CV_rp_play
music_done : Call GO_play_music again
Next byte position to restart music = %d
Failed CV_rp_play to restart music
bumper.map
Open bumper map file %s
playbumper.c
Unable to open map file %s
Unable to read bumper map information
Allocated %d pcls at 0x%x first asset @ %d
Loading bumper into plane %d
Unable to load bumper %s
cdi_bumpdata
Unable to link to bumper data module
Bumper fork failed!!!
PCB error stat = 0x%x
Error in PCL %d
Failed CV_hs_delete of full screen hs in GO_init_board_hs
GO_hs.c
Failed CV_hs_create
Failed CV_hs_add
GO_change_bhv : Changing behvior to %d
Failed to change to regular bhv
Failed to change to interrupt bhv
Failed to change to help bhv
Failed to change to credits bhv
Initialize error %d
Initializing index controls 20 thru 22
Error rendering rules buttons
Error rendering index buttons
Error rendering slide buttons
Deleting rulesmenu controls 15 thru 22
Error deleting rm buttons
Deleting rules index controls 20 thru 22
Error deleting index buttons
Error deleting slide buttons
Error hiding rules menu buttons
Error rendering rank controls
Error deleting rank controls
Error deleting hc9 menu buttons
Error rendering main buttons
Error deleting main menu buttons
Error rendering bsize buttons dmap id = %d
Error rendering hc9 buttons
Error rendering hc13 buttons
Error rendering hc19 buttons
Error deleting board buttons
Error hiding optional buttons
Error rendering default buttons
Error hiding default buttons
Error rendering optional buttons
Error deleting game buttons
Error rendering history buttons
Error deleting history buttons
Error rendering nvr buttons
Error deleting nvr buttons
Error rendering oldgame buttons
Error deleting oldgame buttons
Failed CV_rp_play of rulesmenu
GO_rules.c
GO_rules_slideshow : Playing record %d from section %d
Failed CV_rp_play
GO_rules_return : rules_index_flag = %d
Returning from Index Screen
Returning from Rules Menu
Failed to create CLUT dm
GO_rules_index : index_rtr = %d
Failed CV_rp_play of index
GO_rules_index_bullet : index = %d
GO_rules_index_bullet : bullet_y = %d offset = %d
FX_SHOW
GO_fx.c
FX_RULES
FX_DISSOLVE_FAST
FX_DISSOLVE_MED
FX_DISSOLVE_SLOW
FX_CUT
Uncompressing dyuv
Failed CV_rp_play of rulesmenu
GO_setup.c
Failed CV_rp_play of rank menu
Failed CV_rp_play of handicap menu
Failed to reset Black's slider value
Failed to reset Whites's slider value
Failed CV_rp_play of history
GO_history.c
Failed to create CLUT dm
Failed CV_rp_play
GO_help.c
GO_help_interrupt : Interrupting help audio
No NVR file saved
GO_nvr.c
GO_nvr_check : nvr_data_size = %d whats_avail = %d NVR_HDR_size = %d
CDI GO
Saved game
Out of NVRAM %d!!
File %s doesn't exist...
File %s exists ...
Failed CV_rp_play
GO_oldgame_continue : Restoring a saved game
Error in configuring thinking CLUT
GO_clutcycl.c
Error in cycling thinking CLUT
GO_clut_thinking_off : Turn off CLUT cycling
DEBUG:
DEBUG
cdi_GO_mail
cdi_cp_mail
%06x:
%02x
%s
Memory Editor V1.0 (by EKS) ***
command:
usage: w[rite] address [b1 [b2 [...]]]
Commands are:
%s
%-39s %s
%-39s %s
%-39s %s
%-39s %s
Quit Editor
Quit
Display map of allocated memory
Map
Write to memory
Write <addr> <byte1> [...]
Read Memory
Read <addr> <len>
unknown command "%s"
The second segment focuses on the game engine and its interactions with the CD-i itself.
cm_delete.c
cm_make_hotspot.c
Can't allocate root hotspot resource!
CV_hs_root.c
hs_do_event: GLOBAL doing type: 0x%08x hs: 0x%08x
hs_do_event: checking type: 0x%08x hs: 0x%08x
hs_do_event: doing type: 0x%08x hs: 0x%08x
rp_attach_buffer: Reusing video buffer %d for %d
rp_attachbuf.c
rp_attach_buffer: Create video : x : %d y : %d
size : %d Type 0x%x
[%03d:%02d:%04d]
CV_rp_play: WARNING dm_create fails !!!!
rp_attach_buffer: Video %d already exists.
BufSz = %d sectors
rp_attach_buffer: Reusing audio buffer %d for %d
rp_attach_buffer : Create audio : size : %d Type 0x%x
CV_rp_play: CV_SM_CREATE fails
rp_attach_buffer: audio %d already exists.
BufSz = %d sectors
rp_attach_buffer: Reusing data buffer %d for %d
rp_attach_buffer: Create data : size : %d
CV_rp_play: WARNING malloc fails
CV_rp_play: malloc fails
rp_attach_buffer: data %d already exists.
BufSz = %d sectors at 0x%x
rp_cont: alarm_pending %d
rp_cont.c
rp_cont: Restarting alarm first_alarm %d
CV_rp_free: Could not get channel pointer
rp_free.c
CV_rp_free: Invalid asset type %d
CV_rp_free: Index %d out of bounds, type %d
CV_rp_get_channel: Invalid path %d
rp_getchan.c
CV_rp_get_channel: Invalid rtrnum %d
CV_rp_get_channel: Channel %d in rtr %d not found
rp_load_info: Loading path %d
rp_loadinfo.c
rp_play_loc_alloc: OUT OF PLAY LOC STRUCTURES!!!
rp_locs.c
rp_play_loc_alloc: using loc[%d]
***Map size passed is too small for existing map file!***
rp_mapalloc.c
rp_map_alloc: size = %d bytes
rp_map_open: addr = 0x%x
rp_mapopen.c
rp_map_open: reusing 0x%x for map
rp_map_open: Error allocating map memory
map size: %d bytes, seeking past header
CV_RP: Failed reading map file...retrying
Looking for map at end of RTF...
Can't seek to last sector of RTF!
Can't read end mapfile!
...seeking back %d sectors
Can't seek RTF?!?
Can't read end map header!
End map file successfully read!
CV_RP: Failed reading end map file...retrying
CV_RP: rp_mapopen: Giving up...
CV_RP: Could not read header of map file
rp_mapsize.c
CV_RP: WARNING INVALID CONFIGURATION NUMBER IN MAP FILE
rp_map_size for path %d is %d bytes
CV_rp_open: Seek to 0
rp_open.c
CV_rp_play : opening %s...
CV_rp_play : Could not open '%s'
Open succeeds
.map
CV_rp_play: Opening info file %s...
CV_rp_play: Could not open info file %s
rp_pause: Stopping alarm
rp_pause.c
CV_rp_play: Invalid path %d
rp_play.c
CV_rp_play: Unable to load map information
CV_rp_play: INVALID AUDIO CHANNEL : %d
CV_rp_play: Could not allocate play_loc structure
CV_rp_play: lseek reports byte offset %d
CV_rp_play: Invalid channel spec for rtfpath %d
CV_rp_play: Start at sector %d
CV_rp_play: Could not determine location
CV_rp_play: task_id = %d
CV_rp_play: ss_play fails
rtfpath = %d
stat = 0x%x sig = %d rec = %d
chan = 0x%x achan = 0x%x
CV_rp: map_loc: Invalid rtfpath %d
PLAY_LOC:
Record : %d Channel : %d First alarm : %d Trigger : %d
Alloc Count Resp
Video : %d %d %d
Audio : %d %d %d
Data : %d %d %d
FX : %d %d
Video : %d %d %d
Audio : %d %d %d
Data : %d %d %d
FX : %d %d
CV_rp_play: Could not allocate array of dmap pointers
vd_count = vd_alloc = %d
CV_rp_play: Could not allocate array of smap pointers
CV_rp_play: Could not allocate array of data pointers
Restarting clock
ERROR Occurred during play !!!! Stat = 0x%x errno = %d
CV_rp_play : play done video : %d/%d audio : %d/%d data : %d/%d
CV_rp_play: pcb_handler: Funny stat : 0x%x
rp_play_done: NULL play_loc
rp_playdone.c
CV_rp_play : play done video : %d audio : %d data : %d
rp_play_done: invoking done func 0x%x
CV_rp_task: releasing play_loc[%d]
rp_play_done: Setting rp_play_loc to NULL
CV_rp_stop: releasing play_loc[%d]
rp_stop.c
CV_rp_task: NULL play loc
rp_task.c
CV_rp_task: vd_resp=%d nmaps = %d
CV_rp_task: ad_resp=%d nmaps = %d
CV_rp_task: data_resp=%d nmaps = %d
CV_rp_task: fx_resp=%d nmaps = %d
CV_rp_task: invoking done func 0x%x
CV_rp_task: releasing play_loc[%d]
CV_rp_task: setting rp_play_loc to NULL
CV_rp_unlink: Could not get channel pointer
rp_unlink.c
CV_rp_unlink: Invalid asset type %d
CV_rp_unlink: Index %d out of bounds, type %d
rp_clock_start: alm_id = %d sig = %d
rp_clock.c
rp_clock_stop: cancel alm_id = %d sig = %d
rp_clock : CALLED tid %d alm_id %d start %d
rp_clock : signal %d loc 0x%x pending %d
rp_clock: Waiting for buffer %d type %d
rp_clock : fx_count = %d tid = %d
set_alarm: RP_WAITTIME %d time %d
set_alarm: Next alarm at %d sectors from now sig = %d alarm_id %d
scr_open.c
scr_close.c
CV_malloc grabbing %d bytes from %x (%s:%d)
CV_free: INVALID POINTER : 0x%x SYNC : 0x%x (%s:%d)
CV_free releasing %d bytes at 0x%x (%s:%d)
Can't ss_enable controls
CV_root.c
Load module %s:%d
applinit.c
CV_appl_init: Unable to load module: %s into plane %d
Open file %s
CV_appl_init: Unable to open file '%s'
CFREE: _srtmem error %d 0x%x
cfree.c
CV_dm_size: NULL drawmap supplied.
dm_size.c
CV Trans
dm_to_plane.c
CV_dm_to_plane: CV_DM_CREATE fails dm type %d
Error opening panning region.
CV_dm_show: Drawmap is NULL
dm_show.c
Must use plane B for RGB.
CV_dm_show: bad image type 0x%x in dmap %d
CV_dm_show: Drawmap line is bad
CV_dm_show: Can't allocate clut buf.
CV_ap_open : csd_devname fails
ap_open.c
CV_ap_open : Could not open %s
cdi_file_data
Could not create CV_file_open data module
fileinit.c
Found an open file. name = %s path = %d opened = %d
fileopen.c
CV_file_open: could not open %s (%d)
iff2fct_clut.c
CV_sigsend: Unhandled signal received : %d
signal.c
Sig %8d handler 0x%x
sigdump.c
Sig %8d handler 0x%x
CV_tasks: execute
(0x%x) recursion (%d)
task %d:0x%x
Could not allocate task - task array full
taskinst.c
task_num %d init 0x%x exec 0x%x term 0x%x data 0x%x
line_event
CV_vd_open : csd_devname fails
vd_open.c
CV_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
CV_mm_send failed for new event
cp_flush.c
CV_mm_send failed for letter requeue (type = 0x%x)
Can't create mailbox.
cp_install.c
CP install failed.
cdi_cv_cp
cdi_cp_mail
Incompatible versions: libraries (%d) cursor process (%d)
CV_cp_mail: Can't send letter for type %d.
cp_mail.c
ct_lsearch.c
Program %s: HEADER Dump for %s
U Front Rear Count Opcode
%c%7d%7d%7d%7x
The third and final segment has the CD-i graphics editor/second segment-esque strings prevalent among the debug files of CapDisc's games.
Couldn't load font module for bitmap display.
textinit.c
A : %d bytes B : %d bytes Total : %d Stack : %d
Malloc'd : %u
Quit
New Control Table
Dissassemble
Enter Instruction
Help
Search for Instruction
Insert NOPs into the LCT
1.02
CV 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
CV_dm_close: drawmap %d not found on resource list
CV_dm_close: dm_close fails (%d) : vpath : %d dnum : %d
CV_dm_create: dm_create fails plane %d width %d height $d length %d
type : %d tag : %s
CV_dm_create: Could not allocate resource node
OFF
UNKWN
CL4
CL7
CL8
RL3
RL7
DYUV
RGB
QHY
DMID Filename Line Tag Size Plane Type X Y
%4d %-10.10s %4d %-25.25s %6d %c %-5.5s %4d %4d
Used plane A: %6d
Used plane B: %6d
Used total : %6d
RECT
ERECT
POLY
CIRC
CWDG
ELPS
EWDG
RGN
BFIL
FFIL
CMPLX
CV_hs_spit: no current hotspot tree
Address: 0x%x
func=0x%x, data=0x%x
Hotspot Tree:
HS_EV_IN
HS_EV_OUT
HS_EV_MOVE
HS_EV_UP0
HS_EV_UP1
HS_EV_DOWN0
HS_EV_DOWN1
HS_EV_DRAG0
HS_EV_DRAG1
HS_EV_UP
HS_EV_DOWN
HS_EV_DRAG
addr:0x%x type:%s bounds:(%d,%d)-(%d,%d) %sACTIVE
IN
???
device table
path table
process table
event table
Address Size Type Tag
0x%08x-%08x %8d %-8.8s %s
UNKNOWN
Plane A:
Plane B:
FREE
MODULE
DMAP
DMAPDESC
SMAP
SMAPDESC
DBLOCK
LINE ADR
PROC MEM
DEV MEM
PATH BUF
MOD MEM
RES NODE
RES TAG
Address
Size
0x%08x
%d
Plane A:
Plane B:
%s (line %d): WARNING: %d:
%s (line %d): ERROR: %d:
CV_res_open: Invalid resource type %d
resource.c
Can't allocate resource pool
Can't allocate tag pool
cdi_res
CV_res_init: Could not create data module %s
CV_res_find: Invalid resource type %d
CV_res_close: Invalid resource type %d
CV_res_close: No current resource node for type %d
CV_res_close: resource not found: restype : %d node %d
CV_sm_close: soundmap %d not found on resource list
CV_sm_close: sm_close fails : apath : %d snum : %d
CV_sm_create : sm_creat fails type %d n %d ptr 0x%x
tag : %s
CV_sm_create: Could not allocate resource node
D_BMONO
D_BSTRO
???
D_CMONO
D_CSTRO
D_AMONO
D_ASTRO
SMID Filename Line Tag Type Addr Size
%4d %-15.15s %5d %-25.25s %s 0x%-8x %-7d
pan_close.c
pan_open.c
CV_pan_open(): bad starting position (%d,%d)