If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Banjo-Kazooie

From The Cutting Room Floor
Jump to navigation Jump to search

This page details one or more prototype versions of Banjo-Kazooie.

Hmmm...
To do:
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.

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

TTCBeta.png

This 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.

TTCBetaObjects.png
Hmmm...
To do:
Is there any actual difference in the BK model here?

Player and level objects found in the 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. Banjo & Kazooie's model is different from the final game, but the other objects appear to be the same as the final.

    • Note that, due to how the model is programmed, Kazooie's extracted model appears with her Turbo Trainers and Wading Boots intersecting through her feet, which is how it works in the final game as well.

Clanker's Cavern Lobby

CCLobbyBeta.png

Probably the most interesting map of the dump, an early version of the Clanker's Cavern Lobby found in Grunty's Lair. This was likely made right as they started to work on Grunty's Lair, given all the placeholder and missing textures. The layout of the map seems exactly the same as final, but with all the textures not being done at the time of the dump.

CCLobbyBetaObjects.png

The objects for the Lobby. As with the previous map, it shares a Banjo & Kazooie model that is different from the final game. There is a thin Jiggy that looks like pages in a book, using a texture that is a low-quality render of an image of an early Mumbo's Mountain when it looked more like a jungle. This was probably a placeholder texture for the puzzle. All the other objects are structurally the same as final, but are missing textures and use placeholder colored textures.

Graphical Differences

Mumbo Token

Proto Final
Hoopanaka! Eekum Bokum.

The Mumbo Token is at 64×64 resolution and has 14 frames of animation. The final version cut this 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. It might be automatically generated by the OS to label the temporary junk directories when creating a new game version.

HjunkDire:584817

Build date and credits of some unknown tool created in 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

Build date and credits of some unknown tool created in 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

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