the cutting room mirror

64DD Debug RAM Dump Disks

This article has a talk page!
view on tcrf.net

This is a sub-page of Proto:Banjo-Kazooie.

Please elaborate.
Having more detail is always a good thing.
Specifically: Provide instructions of how one can look into the debug disks themselves.

Two 64DD debug disks used by Rare were found and dumped, dating around December 1997. While neither of these are playable builds, lots of the data inside differs from the final game.

Last Frame before Dump#

Willis Dump

GL64 Dump

BKRAMDumpWillis LastFrame.png BKRAMDumpGL64 LastFrame.png

These are the last rendered frames of both RAM dumps before it was dumped onto the disk.

Willis#

Willis seems to be dumped in Treasure Trove Cove next where the single note in the alcove is located in the final game. It appears whoever was playing may have flew over to this alcove, grabbed the note, entered the loading zone, and crashed upon touching it.

GL64#

GL64 seems to be dumped in an early version of Clanker's Cavern Lobby in the tunnel that leads to the Bubblegloop Swamp puzzle in the final game.

Map Differences#

Three maps have been found so far in both of the dumps: Treasure Trove Cove, Clanker's Cavern, and Clanker's Cavern Lobby.

Treasure Trove Cove#

Looks very similar to the final game's map, but the lighthouse and wooden stairs are attached to the map and not separate objects like the final game. This was most likely done to improve performance on the map.

At the time the dump was taken, the player was in the alcove opposite the Lockup jiggy, about to ascend the stairs to the top area of the map. Player and level objects that were loaded into RAM when it was dumped: Banjo and Kazooie, various crates, a palm tree, a Jiggy with particles, the map's skybox, and a blue egg shell fragment. At a glance, the objects appear to be similar (if not identical) to the final. It is unclear which Jiggy the one in this capture represents; it has particles around it as if it had just appeared.
(Note that due to how the Banjo and Kazooie model is programmed, Kazooie's extracted model usually appears with her Turbo Trainers and Wading Boots intersecting through her feet. The appearance is thus not indicative of any actual difference in the model.)

Clanker's Cavern Lobby#

Probably the most interesting map in the dump, an early version of the Clanker's Cavern Lobby in Grunty's Lair. The level geometry appears to be structurally the same as the final, but uses placeholder textures or ones from other parts of the game. Almost no vertex coloring has been applied to the geometry, either. The pipe section appears to be completely untextured, and the walls use a green and yellow brick texture. The player was swimming about halfway into the tunnel towards the puzzle room at the time the dump was taken.

The objects for the Lobby.

  • The map appears to have been in the state before the world door is opened, i.e. no enemies are present, nor is there a level sign. That or the map is in such an early state that none of those objects were implemented yet regardless of whether the level was open or not.
  • Brentilda, the beehive, area pickups like red feathers, and the level entrance pipe grate were not loaded when the RAM was dumped, or had not yet been implemented.
  • The raiseable pipe platforms do not have textures yet.
  • The switches aren't labeled and can only be differentiated by color.
  • There is a thin Jiggy-shaped object that looks like pages in a book, and uses a small image of the early Mumbo's Mountain as one of its textures. This was probably a placeholder texture for the puzzle wall.

Graphical Differences#

Mumbo Token#

Proto

Final

The Mumbo Token is at 64×64 resolution and has 14 frames of animation. The final version cut this down to 32×32 and 12 frames.

Text#

Songs#

These are all the internal song names found in the RAM dumps. Names noted with "*" are only in the GL64 dump and are not in the Willis dump.

Blank 
Boss 1
Jungle 2
Snow 2 
Bells 
Beach 
Swamp 
Crab Cave 
Title   
Notes   
Jinjo   
Feather 
Egg 
Jigpiece
Sky 
Spooky  
Training    
Lighthouse  
Crab    
Shell   
Feather Inv 
Extra life  
Honeycomb   
Empty honey piece   
Extra honey 
Mystery 
You lose
Termite nest        
Outside whale
Spell   
Witch House 
In whale    
Desert  
In spooky   
Grave   
Church  
Sphinx  
Invulnerabilty  
Collapse    
Snake   
Sandcastle  
Summer  
Winter  
Right   
Wrong   
Achieve 
Autumn  
Default forest
5 Jinjos    
Game over   
Nintendo    
Ship    
Shark   
Ship inside
100 Notes   
Door Open
Organ sequence  
Advent  
Slalom  
Race win    
Race lose   
Jigsaw magic    
Oh dear 
Up  
Down    
Shamen Hut  
Jig 10  
Carpet  
Squirrel    
Hornet  
Treetop 
Turtle Shell    
House Summer    
House Autumn    
Out Buildings   
Hornet 2    
Cabins  
Rain    
Jigsaw Open
Jigsaw Close    
Witch 1
Witch 2 
Witch 3 
Witch 4 
Witch 5 
Mr Vile 
Bridge  
Turbo Talon Trot    
Long legs   
Witch 6 
Boggy sad   
Boggy happy 
Quit    
Witch 7 
Witch 8 
Spring  
Squirrel attic
Lights
Box 
Witch 9 
Open up 
Puzzle complete 
Xmas tree   
Puzzle in   
Lite tune   
Open extra  
Ouija  
Wozza   
Intro
Gnawty  
Banjo's Pad 
Pause tune
Pause*   
Cesspit*
Quiz*    
Unnamed piece   
Unnamed piece   
Unnamed piece   
Unnamed piece

"Pause tune" and "Boss 1" are not in the final game. "Pause tune" seems to be an earlier name for the "Pause" song found in the Willis and final game's song list. Boss 1 is the most intriguing song, as it's an unused combination mix of the Grunty Fight theme, the Jungle Japes Minecart theme from Donkey Kong 64, and King Kut Out's theme from Donkey Kong 64. Boss 1 has been known about for years as Grant Kirkhope had released this unused track on his Bandcamp which he later took down due to copyright reasons.

These are the tracks from the final game that are not found in either of the dumps:

Scrap
Frog
GameBoy
Lair
Red Extra
Gold Extra
Egg Extra
Note door
Cheaty
Fairy
Skull
Square Grunty
Square Banjo
Square Joker
Square Music
Lab
Fade Up
Puzzle Out
Secret Gobi
Secret Beach
Secret Ice
Secret Spooky
Secret Squirrel
Secret Egg
Jinjup
Turbo Talon Trot short
Fade Down
Big Jinjo
T1000
Credits
T1000x
Big Door
Descent
Wind up
Air
Do jig
Picture
Piece up
Piece down
Spin
BarBQ
Chord1
Chord2
Chord3
Chord4
Chord5
Chord6
Chord7
Chord8
Chord9
Chord10
Shock1
Shock2
Shock3
Shock4
Sad grunt
Podium
Endbit
Rock
Last Bit        

World/Overlay Names#

These are the overlay names found in both dumps. All but one of these overlays are internal world names, which is "core". Names noted with "*" are only in the GL64 dump and are not in the Willis dump.

core
coshow
whale
haunted
desert
beach
jungle
swamp
ship
snow
tree
training*
intro*
witch*

The "core" overlay seems to be the only overlay name that was changed in the final game, in which it's called "gs". The "training", "intro", and "witch" overlays are all missing from the Willis dump, which presumably means that Spiral Mountain, cutscenes, and Grunty's Lair were not added to the game at the time of the Willis dump. The only overlay that is missing in both dumps and is present in the final game is the "battle" overlay, which is the Grunty fight.

These are the overlays from the final game that are not found in either of the dumps:

gs
battle

Debugging Text#

This string is located in every Banjo-Kazooie and Banjo-Tooie build with different numbers after the colon. This was used to label the latest build that was sent out to testers or events. This build is labeled as the "Shoshinkai Demo" and was built November 18th, 1997.

HjunkDire:584817

RSP Text#

A string with the build date and credits for the version of the Reality Signal Processor (RSP) is present in many N64 games. There are two in this dump.

Version 2.0G from 1996:

RSP SW Version: 2.0G, 09-30-96 SGI U64 GFX SW TEAM: S Anderson, S Carr, H Cheng, K Luster, R Moore, N Pooley, A Srinivasan

Version 2.0H from 1997:

RSP SW Version: 2.0H, 02-12-97 SGI U64 GFX SW TEAM: S Anderson, S Carr, H Cheng, K Luster, R Moore, N Pooley, A Srinivasan

Debugging Strings#

Some player-related debug strings located not too far away from the huge block of debug strings. The final game also has a very similar block of debug strings.

seqp->state != AL_PLAYING n_seqplayer.c seqp->state == AL_STOPPED n_seqplayer.c FALSE n_seqplayer.c FALSE n_seqplayer.c event->type == AL_SEQ_MIDI_EVT || event->type == AL_SEQP_MIDI_EVT n_seqplayer.c TRACE: '%s' {Line %d}
n_seqplayer.c TRACE: '%s' {Line %d}
n_seqplayer.c seqp->bank != NULL n_seqplayer.c inst != NULL n_seqplayer.c

Debug strings of the Willis dump.

glfx.c           : glFxMake            :(CS) : Allocating audio heap glfx.c           : audioloop           :(CS) : Command list buffers glfx.c           : audioloop           :(CS) : Audio buffers cmdLen <= maxRSPCmds glfx.c audio: ai out of samples

*** STACK WARNING *** The program stack is rapidly becoming full. %.1f%% of the stack is now used. Inform a programmer. (PJM)
                       To increase stack space you must change 'StackSize' & 'StackWarningAt' in 'glglobal.h'







edMemAllocA(): Size requested %d Bytes
edMem: Out of memory in Editors' Arena (ERROR %d)  : *** %s ***

edmem.c %7d (%2d%%) %s%6d byt: %s
MEMCHECK: Previous edMemTotalTrace  in '%s' on line %d
 MEMCHECK: edMemTotalTrace * ERROR * in '%s' on line %d

See programmer's help comment in edMemTotal (glmempjm.c) for more info. Program will now hang.
edmem.c



edMemTotal: %s corrupted (%p) for Block @ %p




edMemTotal: (%p->%s)->%s does NOT equal %p
region %p, %s %p, %s->%s %p

->nextBlock ->previousBlock ->nextFreeBlock ->previousFreeBlock nextBlock   previousBlock   previousBlock   nextBlock   nextFreeBlock   previousFreeBlock   previousFreeBlock   nextFreeBlock   edMemTotal: (Bad memory! FreeMem should equal FreeMemBack.) FreeMem:%d, FreeMemBack:%d
 The Free memory was different when searching thru it forwards & then backwards
 edMemTotal: (Bad memory! UsedMem should equal UsedMemBack.) UsedMem:%d, UsedMemBack:%d
 The used memory was different when searching thru it forwards & then backwards
 edMemTotal: (Bad memory! UsedMem+FreeMem should equal Arena space.) UsedMem:%d, FreeMem:%d, UsedMem+FreeMem=%d Arena=%d
    edMemTotal: (Bad memory! UsedMem should equal internal running total) UsedMem:%d,   RunTotal:%d
  MemAlloc:+  

edMemFree: Why are you trying to Free up a free region??? (@ %p)
 edMemFree was called from line %d in file %s.
  MemFree :-  edmem.c 


----edMem-----(Development Arena)----------------
   Arena at   %p
  Arena size %d (+2BOOKMARKS = %d)
   firstfree  %p

 ADMIN {Region      Size}  DATA {Region       Size}  Status
 %16p %7d  *** Memory BOOKMARK ***
  %16p %7d  %16p %7d      Free:   Used:   %s
 Can't tidy beyond: '%s'
    ** NO MESSAGE **
   Entries listed %d
Total Memory used by listed regions %d (of which: %d is memory ADMIN, and %d is alignment_padding/wasted)
----
  Total memory used is %d
Total memory free is %d
            __osRunningThread->id==4    sndplayer.c suaudio.c        : suaudioMake         :(PJM): Slots for SFX/MIDI (array)   suaudio.c   Slots[slot] suaudio.c   Slots[slot] suaudio.c thRcp: Audio queue overflow
    thRcp: Gfx queue overflow
  thRcp: Flush != 1
  
thRcp: RDP done without graphics start
    thRcp: Flush != 0
  thRcp: Flush != 0
  %c
thRcp: Stuck on flush
   %c
thRcp: Stuck on frames yielding
 %c
thRcp: Stuck on WatchGfx
    thRcp: Audio queue is empty after yield
    thRcp: Flush !- 0
  thRcp: Unknown msg (1) (%p)
    thRcp: Unknown msg (2)
     DPC_STATUS_XBUS_DMEM_DMA    DPC_STATUS_FREEZE   DPC_STATUS_FLUSH    DPC_STATUS_START_GCLK   DPC_STATUS_TMEM_BUSY    DPC_STATUS_PIPE_BUSY    DPC_STATUS_CMD_BUSY DPC_STATUS_CBUF_READY   DPC_STATUS_DMA_BUSY DPC_STATUS_END_VALID    DPC_STATUS_START_VALID      SP_STATUS_HALT  SP_STATUS_BROKE SP_STATUS_DMA_BUSY  SP_STATUS_DMA_FULL  SP_STATUS_IO_FULL   SP_STATUS_SSTEP SP_STATUS_INTR_BREAK    SP_STATUS_YIELD SP_STATUS_YIELDED   SP_STATUS_TASKDONE  SP_STATUS_SIG3  SP_STATUS_SIG4  SP_STATUS_SIG5  SP_STATUS_SIG6  SP_STATUS_SIG7      BD  IP8 IP7 IP6 IP5 IP4 IP3 IP2 IP1 Interrupt   TLB modification exception  TLB exception on load or instruction fetch  TLB exception on store  Address error on load or instruction fetch  Address error on store  Bus error exception on instruction fetch    Bus error exception on data reference   System call exception   Breakpoint exception    Reserved instruction exception  Coprocessor unusable exception  Arithmetic overflow exception   Trap exception  Virtual coherency exception on intruction fetch Floating point exception (see fpcsr)    Watchpoint exception    Virtual coherency exception on data reference       CU3 CU2 CU1 CU0 RP  FR  RE  BEV TS  SR  CH  CE  DE  IM8 IM7 IM6 IM5 IM4 IM3 IM2 IM1 KX  SX  UX  USR SUP KER ERL EXL IE      FS  C   Unimplemented operation Invalid operation   Division by zero    Overflow    Underflow   Inexact operation   EV  EZ  EO  EU  EI  FV  FZ  FO  FU  FI  RN  RZ  RP  RM      %s 0x%08x   <   ,   %s  >
  %s    0x%08x   <   ,   %s  >
  













   RDP current = 0x%08x   (0x%016llx) 
    RDP start   = 0x%08x   (0x%016llx) 
    RDP end     = 0x%08x   (0x%016llx) 
   RDP status: RSP status: Free memory was %d bytes.
  %c








 epc    0x%08x
 cause   sr  badvadr    0x%08x        Fault in thread %d:
   at:x%08x v0:x%08x v1:x%08x a0:x%08x
    a1:x%08x a2:x%08x a3:x%08x t0:x%08x
    t1:x%08x t2:x%08x t3:x%08x t4:x%08x
    t5:x%08x t6:x%08x t7:x%08x s0:x%08x
    s1:x%08x s2:x%08x s3:x%08x s4:x%08x
    s5:x%08x s6:x%08x s7:x%08x t8:x%08x
    t9:x%08x gp:x%08x sp:x%08x s8:x%08x
    ra:x%08x   fpcsr   f0 %.7e f12 %.7e f22 %.7e
  f2 %.7e f14 %.7e f24 %.7e
  f4 %.7e f16 %.7e f26 %.7e
  f6 %.7e f18 %.7e f28 %.7e
  f8 %.7e f20 %.7e f30 %.7e
  f10 %.7e    FYT glvi.c  %c
We seem to be stuck in an infinite loop!

   Dump for MAIN thread follows ...
   Camera position:    Camera rotation: <= action && action < glJoyActionMax  gljoy.c newOwner == 0   gljoy.c         Blank   Boss 1  Jungle 2    Snow 2  Bells   Beach   Swamp   Crab Cave   Title   Notes   Jinjo   Feather Egg Jigpiece    Sky Spooky  Training    Lighthouse  Crab    Shell   Feather Inv Extra life  Honeycomb   Empty honey piece   Extra honey Mystery You lose    Termite nest    Outside whale   Spell   Witch House In whale    Desert  In spooky   Grave   Church  Sphinx  Invulnerabilty  Collapse    Snake   Sandcastle  Summer  Winter  Right   Wrong   Achieve Autumn  Default forest  5 Jinjos    Game over   Nintendo    Ship    Shark   Ship inside 100 Notes   Door Open   Organ sequence  Advent  Slalom  Race win    Race lose   Jigsaw magic    Oh dear Up  Down    Shamen Hut  Jig 10  Carpet  Squirrel    Hornet  Treetop Turtle Shell    House Summer    House Autumn    Out Buildings   Hornet 2    Cabins  Rain    Jigsaw Open Jigsaw Close    Witch 1 Witch 2 Witch 3 Witch 4 Witch 5 Mr Vile Bridge  Turbo Talon Trot    Long legs   Witch 6 Boggy sad   Boggy happy Quit    Witch 7 Witch 8 Spring  Squirrel attic  Lights  Box Witch 9 Open up Puzzle complete Xmas tree   Puzzle in   Lite tune   Open extra  Ouija   Wozza   Intro   Gnawty  Banjo's Pad Pause tune  Unnamed piece   Unnamed piece   Unnamed piece   Unnamed piece   glseq.c          : glSeqMake           :(CS) : Sequence bank '.ctl' file    glseq.c          : glSeqMake           :(CS) : Sequence file header glseq.c          : glSeqMake           :(CS) : Sequence file data   glseq.c          : glSeqMake           :(CS) : List of pointers to sequences in RAM glseq.c          : glSeqInsert         :(CS) : Load midi sequence into RAM before playing   glseq.c N < MAXSEQS glseq.c 0   glseq.c 0   glseq.c 0   glseq.c N < MAXSEQS glseq.c 0   glseq.c             seqp == glSeqGetCSPPlayer(0)    glseqfade.c =ˆ‰=ˆ‰            MQ_IS_EMPTY(Queue)  glpack.c    sizeOut < (MAX_GAME_SAVE_SIZE)  glpack.c    sizeOut % BLOCKSIZE == 0    glpack.c    (position >= 0) && (position < MAX_GAME_SAVE_FILES) glpack.c    glpack.c        : glPackSave         :(RL) : DataOut    glpack.c    sizeIn < (MAX_GAME_SAVE_SIZE)   glpack.c    sizeIn % BLOCKSIZE == 0 glpack.c    (position >= 0) && (position < MAX_GAME_SAVE_FILES) glpack.c    glpack.c        : glPackSave         :(RL) : DataIn glpack.c    glpack.c                %02X    
   
   core    coshow  whale   haunted desert  beach   jungle  swamp   ship    snow    tree    Recommend setting basic ARENASIZE (in 'glmempjm.c') to %d or less
  Execution stopped.
 (overlay > glOverlayNull) && (overlay < glOverlayLastOvl)   gloverlay.c numOvls == glOverlayLastOvl gloverlay.c +=============+
    | Memory Info |
    +=============+
    ARENASIZE      = %d (basic) + %d (extra gfx/mtx/vtx) = %d bytes
    EDITOR ARENA   = %d bytes
  CODE ALLOWANCE = %d bytes estimated

   Segment: 'core'
             START         END          SIZE (decimal)
    RAM: %8x    %8x    %8d    minus (ARENASIZE + ED_ARENASIZE) = %d
    ROM: %8x    %8x    %8d
    TEXT: %8x    %8x    %8d
    DATA: %8x    %8x    %8d
     BSS: %8x    %8x    %8d    minus (ARENASIZE + ED_ARENASIZE) = %d

    Segment: 'zbuffer'
          START         END          SIZE (decimal)
    RAM: %8x    %8x    %8d
     ROM: %8x    %8x    %8d
    TEXT: (No text)
    DATA: (No data)
     BSS: %8x    %8x    %8d
  
   Segment: 'gs'
           START         END          SIZE (decimal)
    RAM: %8x    %8x    %8d
     ROM: %8x    %8x    %8d
    TEXT: %8x    %8x    %8d
    DATA: %8x    %8x    %8d
     BSS: %8x    %8x    %8d
  
   staticSegmentStart = %8x

  +----------+
   | Overlays |
   +----------+
   Overlay #%d: '%s'
           START         END          SIZE (decimal)
    RAM: %8x    %8x    %8d    (Largest overlay)
 
      ROM: %8x    %8x    %8d
    TEXT: %8x    %8x    %8d
    TEXT: (No text)
    DATA: %8x    %8x    %8d
    DATA: (No data)
     BSS: %8x    %8x    %8d
     BSS: (No bss)
   
   Total saving from using overlays is %d bytes

  Remaining code space = %d bytes (includes an estimated development code allowance of %d bytes)
 Remaining code space = %d bytes (no code allowance)
    *** CODE OVERLAP! *** Software overlap of %d bytes!
    BACK    BACK#   BASE    BASE#   CENT    LF_ANKLE    LF_ANKLE#   LF_ELBOW    LF_ELBOW#   LF_HIP  LF_HIP# LF_KNEE LF_KNEE#    LF_SHOULDER LF_SHOULDER#    LF_WRIST    LF_WRIST#   NECK    NECK#   RT_ANKLE    RT_ANKLE#   RT_ELBOW    RT_ELBOW#   RT_HIP  RT_HIP# RT_KNEE RT_KNEE#    RT_SHOULDER RT_SHOULDER#    RT_WRIST    RT_WRIST#   TAIL_A  TAIL_B  TAIL_C  LF_BTOES    LF_TOES RT_BTOES    RT_TOES TAIL    TAIL_TIP    HEAD    GEN_A   GEN_B   GEN_C   GEN_D   GEN_E   GEN_F   GEN_G   GEN_H   GEN_I   GEN_J   GEN_K   GEN_L   GEN_M   GEN_N   GEN_O   GEN_P   GEN_Q   GEN_R   GEN_S   GEN_T   GEN_U   GEN_V   GEN_W   GEN_X   GEN_Y   GEN_Z   GEN_AA  GEN_BB  GEN_CC  GEN_DD  GEN_EE  GEN_FF  GEN_GG  GEN_HH  GEN_II  GEN_JJ  GEN_KK  GEN_LL  GEN_MM  GEN_NN  GEN_OO  GEN_PP  GEN_QQ  GEN_RR  GEN_SS  GEN_TT  GEN_UU  GEN_VV  GEN_WW  GEN_XX  GEN_YY  GEN_ZZ  LF_HIPA LF_KNEEA    LF_ANKLEA   RT_HIPA RT_KNEEA    RT_ANKLEA   LF_WINGA    LF_WINGB    LF_WINGC    RT_WINGA    RT_WINGB    RT_WINGC    BASEA   BACKA   NECKA   RT_ANKLEB   LF_ANKLEB   RT_KNEEB    LF_KNEEB    RT_ANKLEC   LF_ANKLEC   dbJointNone Rx  Ry  Rz  Sx  Sy  Sz  Tx  Ty  Tz  mask >= 0 && mask < glAnim2MaskMax  gljoint.c            Top - Base > 0  glmatrix.c  glMatrix: ---------------------------------
    glMatrix: [%d]
     %8.2f   
       %8.2f   
   Top - Base < Max - 1    glmatrix.c  Top - Base < Max - 1    glmatrix.c  Top - Base < Max - 1    glmatrix.c          zs==ze  glzbuff.c   f0s==f0e    glzbuff.c   f1s==f1e    glzbuff.c   zs!=f0s glzbuff.c   zs!=f1s glzbuff.c       glrcp.c glrcp.c glrcp.c glrcp.c glrcp.c glrcp.c glrcp.c          : glRcpReset          :(MB) : GfxBase[0]   glrcp.c          : glRcpReset          :(MB) : GfxBase[1]   glrcp.c          : glRcpReset          :(MB) : MtxBase[0]   glrcp.c          : glRcpReset          :(MB) : MtxBase[1]   glrcp.c          : glRcpReset          :(MB) : VtxBase[0]   glrcp.c          : glRcpReset          :(MB) : VtxBase[1]           




   glmempjm.c : meOutOfMemory(): Size requested %d Bytes
  

glMem: Out of memory (ERROR %d) : *** %s ***

    0   glmempjm.c  %7d (%2d%%) %s%6d byt: %s
  MEMCHECK: Previous glMemTotalTrace  in '%s' on line %d
 MEMCHECK: glMemTotalTrace * ERROR * in '%s' on line %d

    See programmer's help comment in glMemTotal (glmempjm.c) for more info. Program will now hang.
 (size & 0x3) == 0   glmempjm.c  glmempjm.c  glmempjm.c  



glMemTotal: %s corrupted (%p) for Block @ %p
   



glMemTotal: (%p->%s)->%s does NOT equal %p
region %p, %s %p, %s->%s %p

    



Panic dumping has reached a nested level of %d, and has given up. (PJM) 24/11/97
   

***********
** ERROR ** glMemAlloc(): PANIC DUMPING FAILED:
*********** %7d bytes for '%s'
***********


 MemAlloc:+  

glMemFree: Why are you trying to Free up a free region??? (@ %p)
 glMemFree was called from line %d in file %s.
  MemFree :-  object  glmempjm.c  *object glmempjm.c  Trash.top < Trash.min + TrashMax    glmempjm.c  glmempjm.c  glmempjm.c  ----glMemPrintf (No VDU Dump)--------(PJM 16/12/97)
    glmempjm.c  glmempjm.c  TIDIED GRAPHIC: Being Delay-Dumped by glMemTidyUpMemGrafix (PJM)    TIDIED QUICK DATA: Being Delay-Dumped by glMemTidiedQuick (PJM) CSUM CHANGE:%s: @ %p to %p, %s
 CSUM CHANGE:%s: @ %p to %p *** FREE/BOOKMARK ***
   CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  CHECKmemPOINTER / glMemCheckPointerValid() failed in file '%s' on line %d
  0   glmempjm.c  slot >= 0 && slot < NUM_SLOTS   gleeprom.c  block >= 0 && block < SLOT_BLOCKS   gleeprom.c  data != NULL    gleeprom.c  nBlocks <= (SLOT_BLOCKS-block)  gleeprom.c  MQ_IS_EMPTY(Queue2) gleeprom.c  slot >= 0 && slot < NUM_SLOTS   gleeprom.c  block >= 0 && block < SLOT_BLOCKS   gleeprom.c  data != NULL    gleeprom.c  nBlocks <= (SLOT_BLOCKS-block)  gleeprom.c  MQ_IS_EMPTY(Queue2) gleeprom.c          %s  RARE_FAT    Unable to allocate space for the FAT
   Printing FAT
   file no. = %d
  sblock = %d
    eblock = %d
    RARE_FAT    R %d (%1.4f)    %d of %d (%1.4f)    Playback finished   Playback finished   Recording terminated    Recording terminated    LBA %d to %d    Disk is finished    %s  Disk is finished    %s  %s  Start game  Record  Playback    Help    RARE DEBUG  RARE DEBUG  %s  %s  Status  Frame   Begin playback  BREAKPOINTS BREAKPOINTS %s  %s  OFF ON  %d/%d   LIST OF RECORDINGS  LIST OF RECORDINGS  NO. FRAMES  START   END %d.     %d  %d  %d  Press Z to delete all recordings    Press Z to clear FAT    more    more    The disk is full    The file allocation table has been corrupted    The file allocation table is full   CONTROLLER FUNCTIONS    CONTROLLER FUNCTIONS    During playback L TRIG + R TRIG stop    L TRIG + START  pause   pause + START   resume  pause + Z TRIG  frame advance   During recording    L TRIG + R TRIG stop    Error initialising the leo manager
 joy buf 0 = %x
 joy buf 1 = %x
 Error allocating the joypad buffer
 Error allocating the eeprom buffer
 %d blocks written
  DD stuff    mem ddtrace.c   A read error has occurred
  error is %x
    A write error has occurred
 error is %x
comusic.c        : coMusicMake         :(JS) : W - Seq. List    W   comusic.c   comusic.c   === Status of fade indexes ===
 

  %s%s
   %sVol %1d = %5d
    %s(%1d): %5d %6d
   %sNo tune on %d.
   dsIndexIsUsed(W->fadeindex, 1)  comusic.c   W   comusic.c   seq>=0  comusic.c   W   comusic.c   seq >= 0    comusic.c   W   comusic.c   seq >= 0    comusic.c   (W) && (rate>0) && (rate<32768) comusic.c   W   comusic.c   seq >= 0    comusic.c   W   comusic.c   seq>=0  comusic.c   W   comusic.c   W   comusic.c   W   comusic.c   W   comusic.c   comusic.c: Trying to lock a non-existent tune (%d)
 W   comusic.c   comusic.c   comusic.c   comusic.c   (W) && (rate>0) && (rate<32768) comusic.c   coMusic: Warning! You're trying to fade a non-existent tune (%d) to nothing?
   W   comusic.c   CPU     RCP         HZ      K       (   K)        seqp->state != AL_PLAYING   n_csplayer.c    seqp->state == AL_STOPPED   n_csplayer.c    FALSE   n_csplayer.c    FALSE   n_csplayer.c    seqp->bank != NULL  n_csplayer.c

A huge block of strings related to a Crash Debugger can be found within this block. The layout of these strings is very similar but also very different from the Crash Debugger found in Banjo-Tooie, which wasn't taken out of the final build, unlike Banjo-Kazooie. If extracted correctly, the Crash Debugger found within these RAM dumps could be ported back into the final game.