Kingdom II: Shadoan (CD-i)
Kingdom II: Shadoan |
---|
Also known as: Kingdom: Shadoan - The Quest Continues (title screen) This game has hidden developer credits. |
Kingdom II: Shadoan concludes the 12-year-old cliffhanger from Thayer's Quest (aka Kingdom: The Far Reaches).
Developer Credits
At the beginning of the cdi_kingdom.xo and cdi_kingdom.xdm files are two programmer credits.
Kingdom - Shadoan Engineer: Jefferson Ogata Database: Paula Bone
Debugging Files
This needs some investigation. Discuss ideas and findings on the talk page. Specifically: Can this debug mode be reactivated in some way? |
Two unused files can be found on the disc, both of which contain code and strings meant for a debugging mode controlled using a keyboard and a CD-i dev kit. Said files are based off the ones used in Kingdom: The Far Reaches, but with a slew of additions, removals, and rearrangements.
cdi_kingdom.xdm
The first, larger file is cdi_kingdom.xdm, a debug version of the used file cdi_kingdom.xo. It can be split into three chunks.
Chunk 1 contains various error strings and debug text for Shadoan's gameplay and FMVs.
WARNING: %d: ./config.c: line %d: **** FMV aborted **** before: fm_vstat=0x%x, fm_astat=0x%x after: fm_vstat=0x%x, fm_astat=0x%x Bad callback: class %d, value %d PCB Stat=0x%04x No fmv board Fmv/Memory problem WARNING: %d: ./miscfuncs.c: line %d: lousy params to copyPixmap lousy params to setIcf lousy params to setPo OBS SP DG SC NM BS DA MA CK SF MT PF OS PC RI OM BM HH GS BI CM SR SS ST SU === init node WARNING: %d: ./node.c: line %d: nodeInit: pointers are not linked nodeInit: uninitialized timer id in node === Mobus item %d = "%s" === visit === unvisit === enter nodeEnter: node: map load with no video play !!! total insanity! === event in === ignore event in limbo nodeEvent: node: interface with no map === leave AUTO RANDOM ACTION(%d) MAP(%d) ITEM(%s) any TIMER QUIT %d(%d) node not found an integer argument was expected none V VISIT(%s) UNVIS(%s) TIMER ITEM FMV(%d) FUNC(%d) MAP(%d) MASK(%d) ACT TRAVL RANDM on -> %s ignore if visited(%s) if !visited(%s) no edges Node Debugger Commands A <id> Send ACTION event C Toggle autosave D <node> Describe node G <node> Go to node I <name> Send ITEM event M <id> Send MAP event O Send AUTO event S Show game status T Send TIMER event U <node> Unvisit node V <node> Visit node ction id: action mask ids must be >= 10 Autosave %s on off escribe node: Node o to node: tem name: item "%s" not found ap id: map ids must be >= 1 tatus: In node Inventory: , %s(%d) , %s(%d) Sequence: %s%s , Visited nodes: %s , %s imer name: timer "%s" not found nvisit node name: isit node name: %s === game over === game won === Lathan wounded === Lathan unwounded === Lathan killed WARNING: %d: ./nodefuncs.c: line %d: node_func_next_mobus: item code %d not in mobus sequence node_func_next_mobus: can't find item %d in sequence Glue OBS SP DG SC *** asynchronous video play complete *** asynchronous loop done *** stopping map load *** stopping loop play *** asynchronous map load complete WARNING: %d: ./glue.c: line %d: glueMapLoad: play already happening! AAAAAUGH!!!! *** asynchronous video play at %d gluePlayVideo: play already happening! huh? *** init glue *** found a timer configuration file *** timer %s: %d seconds glueInit: bad NVR configuration file Linking game table. glueAttachTables: buffer is fucked glueAttachTables: link failed glueAttachTables: bad gameTable pointer glueAttachTables: bad gameFunctionTable pointer Game table linked. *** syncing inventory *** removing item %d qty %d *** adding item %d qty %d *** interface VIDEO *** interface ACTION *** interface TRAVEL *** interface EXIT *** using action mask %d starting running timer %s *** starting timer %s *** stopping timer %s *** timer %s elapsed: creating event *** saving game glueGameSave: cannot create NVR file glueGameSave: error saving header to NVR file glueGameSave: error saving node flags to NVR file glueGameRestore: unable to open NVR file glueGameRestore: bad read on header glueGameRestore: bad sync in header glueGameRestore: invalid node count in header glueGameRestore: invalid timestamp in header glueGameRestore: bad read on node flag for "%s" Timers: %s: %d/%d ticks elapsed [%d,%d] Play: none video map load loop Interface: action travel exit *** generating map event: %d *** save requested *** quit requested *** generating item event: %d *** generating action event: %d *** starting new game *** starting restored game *** making fmv sequences interruptible *** stopping fmv play *** asynchronous map load at %d *** asynchronous loop play at %d WARNING: %d: ./c_scroller.c: line %d: invalid item %d double add item %d double remove item %d WARNING: %d: ./c_map.c: line %d: *** RL DECODE FAILED <pan %s, dx %d, dy %d, x %d, y %d, hs %d> on off WARNING: %d: ./help.flow: line %d: lousy params to setPointer WARNING: %d: ./app.flow: line %d: lousy params to linkTables r couldn't open game table file seek failed on game table file couldn't alloc %d bytes for game table file couldn't load %d bytes from game table file couldn't close game table file couldn't link There is %ssufficient memory to save game in NVRAM not CD_cp_setpos: Can't set SET_POS letter. ./CD_cp_setpos.c ./CD_pm_show.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
Chunk 2 contains the data of Gats, a program by CapPro (another part of Capitol Multimedia) designed to create and test CD-i application files. It also contains functions that focus on the game engine and its interactions with the CD-i.
WARNING: %d: ../../lib/src/gats_main.c: line %d: Cannot get name of CD device Cannot chdir to CD device "%s" Cannot chxdir to CD device "%s" CD_applinit failed!!! main: ss_seek failed cdi_gats_mail Could not open video event CD_rp_init failed!!! FMV board not installed!!! main: ss_abort failed main: emulator mode: using CD_rp_lseek main: error occurred during ss_seek main: using CD_rp_ss_seek No joy in Mudville!!! Gats application exiting. Thank you and have a nice day. WARNING: %d: ../../lib/src/gats_image.c: line %d: pixmapDup: CD_pm_copy failed, dest 0x%06x, src 0x%06x gats_imageDup: invalid destination image id gats_imageDup: invalid source image id gats_imageMatteCut: matte cut %dx%d is nasty! gats_imageMatteCut: invalid register value %d WARNING: %d: ../../lib/src/gats_msg.c: line %d: gats_msgPut: message queue full: message type %d gats_msgDispatch: called recursively gats_msgAddListener: no free queue nodes: gats_msgAddListener: multiple add attempt: gats_msgRemoveListener: not found: ***** Message Queue ***** %d ***** Listener Queue (%d free) ***** FMV PIC Play error Play done: status = 0x%04x WARNING: %d: ../../lib/src/gats_play.c: line %d: doneHandler: mv_hide failed picFMV: mv_pos failed picFMV: mv_window failed gats_playInit: mv_selstrm failed gats_playInit: mv_borcol failed gats_playInit: mv_org failed gats_playInit: mv_pos failed gats_playInit: mv_window failed gats_playInit: mv_info failed. gats_playInit: mv_show failed gats_playInit: mv_hide failed Play Error: status=0x%x Play: RTF %d Sector %d %s (Async) (Sync)... gats_playEnvironment: mv_selstrm failed gats_playEnvironment: mv_pos failed gats_playEnvironment: mv_window failed Play failed! done gats_playStop: mv_hide failed gats_playStop: CD_rp_stop failed gats_playPause: mv_pause failed gats_playPause: CD_rp_pause failed gats_playContinue: play is not paused gats_playContinue: mv_continue failed gats_playContinue: CD_rp_continue failed WARNING: %d: ../../lib/src/gats_ifx_msg.c: line %d: gats_ifxMsg: no message to send Generic Button <hs %d, st %d, msk 0x%04x, smsg %d, imsg %d, omsg %d> Generic Blit Button <hs %d, st %d, msk 0x%04x, smsg %d, imsg %d, omsg %d> Generic Matte Button <hs %d, st %d, msk 0x%04x, smsg %d, imsg %d, omsg %d> Generic Clock <f %d, omsg %d, smsg %d, tmsg %d, st %d, off %d, rem %d, elap %d> Generic Colorkey WARNING: %d: ../../lib/src/gats_c_colorkey.c: line %d: colorkeyHandler: invalid image id: %d <set %d, rst %d, id %d, st %d, r %d, g %d, b %d> Generic Cursor <set %d, rst %d, st %d, cur 0x%06x> Generic Control Flow <st %d> Generic Fx <strt %5d, im %2d, aux %2d, func 0x%06x, parm 0x%06x> Generic Function <trig %d, func 0x%06x, nprm %d, parm 0x%06x> Generic Group <list 0x%06x, num %d> Generic Hotspot WARNING: %d: ../../lib/src/gats_c_hotspot.c: line %d: CD_cp_handler error hotspotSetMask: too many hotspots hotspotSetMask: invalid mask id <type %04x, msk %d, st %d, hs %d, max %d> %%%%%d:%d:%d:%x:%d:%d Generic Synchronous Play <loc %d> Generic Menu <strt %d stop %d, msk %d, hsps %d, st %d> Generic Self-showing Menu <smsg %d emsg %d, msk %d, hsps %d, st %d, fg %d, bg %d, cm %d> Generic Self-displaying Panel <strt %d, stop %d, msk %d, hsps %d, st %d, fg %d, bg %d, cm %d> Generic Repeater <tmsg %d, omsg [ %s%d , ]> Generic Disc Play WARNING: %d: ../../lib/src/gats_c_show.c: line %d: showDone: no show in progress showDone: show already finished inited playing paused done huh? <strt %d, stop %d, dmsg %d, loc %d, %s> Generic Trans WARNING: %d: ../../lib/src/gats_c_trans.c: line %d: transHandler: invalid image id: %d <set %d, rst %d, id %d, st %d> gats_playRpContext play_buffers errno DEBUGGER INTERRUPT uffer index: umping colored memory: > Class name: class "%s" not found in listener queue class flags[%d]: essage type: Plane A over B Plane B over A ointer position: (%d, %d) (%d << 1, %d << 1) p debug level [%d]: no play in progress no path sector %d ignoring %% command %d:%d:%d:%x:%d usage: %%<state>:<x>:<y>:<type>:<hotspot> ..continuing sending GATS_MSG_KILL - print this message b - display buffer contents c - control table editor d - dump colored memory diagnostic e - memory editor f - set class flags h - hotspot info m - put a message o - swap plane order p - print pointer position q - dump message and listener queues r - set rp debug flags t - dump tasks w - enter a debug wait (blocks tasks but not signals) @ - print sector offset in current play ! - dump signal handlers %% - insert hotspot event & - show memory locations * - show memory values . - continue from debug wait ^C - enter a signal-state debug wait ^\ - kill application WARNING: %d: ../../lib/src/gats_debug.c: line %d: debugit: ss_ssig failed Waiting in debug task Interrupt debug wait: Press . to continue interruptHandler: ss_rel failed %s: Press . to continue gats_debugInit: ss_ssig failed gats_debugExit: ss_rel failed 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_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 CD_cp_mail failed for query request. CD_cp_status.c CD_mm_send failed requeued letter (type=0x%x) CD_hs_spit: no current hotspot tree CD_hs_dump.c Hotspot Tree: addr:0x%x type:RECT x,y:(%d,%d) w,h:(%d,%d) %sACTIVE IN addr:0x%x type:MASK c:d %sACTIVE 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_link_verify: buffer is not longword-aligned CD_link_verify.c CD_link_verify: segment header is corrupt CD_link_verify: segment has bad crc CD_link_segment: unresolved reference: %s CD_link_segment.c CD_link_segmentl_link: invalid reference type: %d CD_link_find: unable to locate symbol "%s" CD_link_find.c CD_iff2fct_clut.c CD_tasks: execute CD_task.c (0x%x) recursion (%d) task %d:0x%x task_num %d init 0x%x exec 0x%x CD_task_dump.c term 0x%x data 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 CD_rp_continue: Play not paused. Context 0x%x CD_rp_continue.c CD_rp_continue: Physical play done. Context 0x%x Dumping buffer #%d CD_rp_dump_buffer.c datamap, buffer @ 0x%08x, dm @ 0x%08x length=%d id=%d audiomap, buffer @ 0x%08x, am @ 0x@08x length=%d id=%d type=%d pixmap, buffer @ 0x%08x, pm @ 0x%08x flags=0x%02x id=%d type=0x%04d map=0x%08x addr_table=0x%08x size=%d plane=%d bpp=%d w=%d h=%d org_x=%d org_y=%d Buffer type 0x%08x unrecognizable. FMV? Corrupted? Never loaded? 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 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 MapPlayDone: Map play failed retry attempt #%d trying backup map at sector %ld CD_rp_play: Giving up on map load 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 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 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 >>>>>>> LAST FMV PIC DISPLAYED <<<<<<< >>>>>>> AUDIO UNDERFLOW (FINISHED) <<<<<<< 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 RP SEEK DONE RP SEEK TIMEOUT CD_rp_ss_seek: seek timeout occurred CD_rp_ss_seek.c CD_rp_ss_seek: seek failed CD_rp_ss_seek: retrying seek CD_rp_ss_seek: ss_seek failed CD_rp_ss_seek: seek already in progress! 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 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
Chunk 3 has the CD-i graphics editor/second segment-esque strings prevalent among the debug files of CapDisc's games. It also contains the text of a memory editor made by 'VDS and JHO', present in some of their later 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 over A A over B SIG video interrpt 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] %20s 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 VIDEO1: VIDEO2: SYSRAM: %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_callback_replace: Illegal callback structure. CD_callback_replace.c
cdi_kingdom.xdm_data
The second, much smaller file is cdi_kingdom.xdm_data, a debug version of the used file cdi_kingdom.xo_data. The only major change is the addition of five KBs of data at the end of the former file.
- 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 1996
- Games with hidden developer credits
- Games with hidden development-related text
- To investigate
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 developer credits
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 1996