the cutting room mirror

Spirou (Game Boy)

Level Select#

Pause the game and press Down, Down, B, Left, Right, A, Down, Up, A.

(Source: GameFAQs (Mezmorize99))

The string "BIT-MANAGERS" is used to pad empty space in the ROM.

Compile Information#

A ton of the game's compilation info, including a chunk of the source code, can be found throughout the game's data.

Note: there is a similar area in the prototype version filled with a part of the SYMBOL file with names of internal variables and functions.

0x11C00: <pre style='white-space: pre-wrap; overflow: auto; height: 400px' NW

00000001  EXIT_SE
00000002  EXIT_SW
000003E8  EXLITAB
0000DFC0  Error1
0000DFC2  Error2
0000DFC4  Error3
0000DFB2  ExploPointer
0000DFA3  ExtraHigh
0000FFDB  FADECNT
0000DF9F  FADEFAS
00006C18  FADETAB
00006C1C  FADING
00006ECC  FADING0
00000001  FALL
0000FFDF  FALLADJ
00000015  FGRF
0000203F  FILMATION
000017AD  FILMODE
00000000  FIREA
00000001  FIREB
0000054C  FIRST
000000F0  FIRSTNUMPIECE
0000FFC4  FLAGAN
0000FFC1  FLAGAN1
0000FFC2  FLAGANMAIN
00006268  FLECHA
00000D01  FMARKS
0000FFF3  FRASE
000017AD  FT
0000FFC9  FX
0000FFF0  FXINI
00000268  FXTINA1
0000DF5E  FXVOL
0000DD66  FXX
0000DD6F  FXXTXT
00000004  FXXX
0000000D  FXXY
0000FFCB  FY
0000FFCD  FZ
00002057  FilmationGet
000026F6  FilmationOver
000070FA  FilmationPut
00002348  FilmationSprite
0000002C  FirstExitPiece
0000DF68  FirstLoop
00000445  GAME
00001B8B  GEN_CHAR
000070DA  GEPEGRF
000070DA  GEPEMAP
00001027  GETCARTAB
00001E2E  GETDUM
00002C00  GETDUM_P
00000AE0  GETJOY
0000FFEA  GETT
00000C39  GET_GRTAB
00000CBB  GET_HIGH
00001FAC  GET_MAP
00004CAE  GET_PTB
00000C0C  GET_START
00000C2B  GET_STTAB
00000008  GHO
00006CAE  GOTXT
00006C6B  GOVER
0000DE1C  GRAFTAB
00000020  GREEN
0000DFA1  GRF_BNK
0000DF9D  GRF_D
0000DF9C  GRF_E
000009AF  GS_GRF
00000003  GTL
00001DC9  GXYZBOY
00001DD0  GXYZSCR
00000004  GameSpeed
00001B75  GenerateInvTab
00002C55  GetImageBuffAdd
00002987  GetMap
00002957  GetMapAdd
00002964  GetPiece
000023A6  GetPixel2D
000029BD  GetWork
00004B8A  GravDown
00004B4E  GravEnd
00004B35  GravStart
00004B70  GravUp
00004B20  Gravity
00000008  GravityHero
000070DA  HADAGRF
000070DA  HADAMAP
00006B82  HADA_OUT
0000DF9E  HADFAS
0000178D  HALT
000070BF  HBON
00000003  HDLEN
0000DD9E  HeroAnimCnt
0000DD9D  HeroAnimFas
00006756  HeroExplo
0000675F  HeroWater
000072C3  Hola
0000FF8A  Huffman
0000FFFF  IE
0000FF90  IEB
00000002  IE_LCDC
00000004  IE_Timer
00000001  IE_VBlank
00000004  INBONU
00000006  INFINAL
00000000  INGAME
00006EBC  INIATCH
00000278  INIMUS
0000024B  INIT41
00001043  INI_BAD
00006AF6  INI_GRFBON
00001036  INI_GRT
00000671  INI_HERO
00007008  INI_LETS
00000683  INI_SCR
00007017  INI_STARS
0000000F  INM
00000003  INMENU
00000001  INNOTHING
00000005  INPARP
00000007  INPRESENT
00000002  INSETUP
000002B8  INT_OFF
000002A0  INT_ON
0000DF1A  IconBuffer
000056B7  IncLive
000057E7  IniAddTab
0000DFB6  IniCoins
000010CD  IniOneBad
0000109E  IniSomeBads
00000038  IniSpdyHero
00000060  IniSpdyHeroBig
00005533  InitApart
0000520A  InitHeroCoords
000051E0  InitHeroExplo
000051F2  InitHeroWater
00007026  InitPosTab
00006768  InitPosTab0
00006771  InitPosTab1
0000681A  InitPosTab10
00006E34  InitPosTab100
00006E35  InitPosTab101
00006E36  InitPosTab102
00006E37  InitPosTab103
00006E38  InitPosTab104
00006E39  InitPosTab105
00006E4A  InitPosTab106
00006E6B  InitPosTab107
00006E7C  InitPosTab108
00006E95  InitPosTab109
00006823  InitPosTab11
00006EB6  InitPosTab110
00006ED7  InitPosTab111
00006EF0  InitPosTab112
00006EF9  InitPosTab113
00006F0A  InitPosTab114
00006F1B  InitPosTab115
00006F24  InitPosTab116
00006F3D  InitPosTab117
00006F46  InitPosTab118
00006F5F  InitPosTab119
00006834  InitPosTab12
00006F70  InitPosTab120
00006F81  InitPosTab121
00006F9A  InitPosTab122
00006FAB  InitPosTab123
00006FAC  InitPosTab124
00006FC5  InitPosTab125
00006FD6  InitPosTab126
00006FDF  InitPosTab127
00006FF0  InitPosTab128
00007001  InitPosTab129
0000684D  InitPosTab13
00007012  InitPosTab130
00007013  InitPosTab131
00007014  InitPosTab132
00007015  InitPosTab133
00007016  InitPosTab134
00007017  InitPosTab135
00007018  InitPosTab136
00007019  InitPosTab137
0000701A  InitPosTab138
0000701B  InitPosTab139
00006856  InitPosTab14
0000701C  InitPosTab140
0000701D  InitPosTab141
0000701E  InitPosTab142
0000701F  InitPosTab143
00007020  InitPosTab144
00007021  InitPosTab145
00007022  InitPosTab146
00007023  InitPosTab147
00007024  InitPosTab148
00007025  InitPosTab149
00006867  InitPosTab15
00006878  InitPosTab16
00006891  InitPosTab17
0000689A  InitPosTab18
000068AB  InitPosTab19
00006782  InitPosTab2
000068BC  InitPosTab20
000068CD  InitPosTab21
000068D6  InitPosTab22
000068EF  InitPosTab23
000068F8  InitPosTab24
00006909  InitPosTab25
0000691A  InitPosTab26
00006933  InitPosTab27
00006944  InitPosTab28
00006965  InitPosTab29
00006793  InitPosTab3
00006976  InitPosTab30
0000698F  InitPosTab31
000069A8  InitPosTab32
000069C1  InitPosTab33
000069E2  InitPosTab34
000069FB  InitPosTab35
00006A1C  InitPosTab36
00006A35  InitPosTab37
00006A56  InitPosTab38
00006A67  InitPosTab39
000067A4  InitPosTab4
00006A80  InitPosTab40
00006A91  InitPosTab41
00006AA2  InitPosTab42
00006AB3  InitPosTab43
00006AC4  InitPosTab44
00006AD5  InitPosTab45
00006AEE  InitPosTab46
00006AFF  InitPosTab47
00006B10  InitPosTab48
00006B21  InitPosTab49
000067AD  InitPosTab5
00006B3A  InitPosTab50
00006B43  InitPosTab51
00006B4C  InitPosTab52
00006B5D  InitPosTab53
00006B6E  InitPosTab54
00006B7F  InitPosTab55
00006B90  InitPosTab56
00006B99  InitPosTab57
00006BAA  InitPosTab58
00006BBB  InitPosTab59
000067C6  InitPosTab6
00006BCC  InitPosTab60
00006BDD  InitPosTab61
00006BEE  InitPosTab62
00006BFF  InitPosTab63
00006C10  InitPosTab64
00006C19  InitPosTab65
00006C1A  InitPosTab66
00006C2B  InitPosTab67
00006C3C  InitPosTab68
00006C3D  InitPosTab69
000067DF  InitPosTab7
00006C4E  InitPosTab70
00006C5F  InitPosTab71
00006C70  InitPosTab72
00006C81  InitPosTab73
00006C9A  InitPosTab74
00006CAB  InitPosTab75
00006CBC  InitPosTab76
00006CC5  InitPosTab77
00006CD6  InitPosTab78
00006CE7  InitPosTab79
000067F0  InitPosTab8
00006CF8  InitPosTab80
00006D09  InitPosTab81
00006D1A  InitPosTab82
00006D2B  InitPosTab83
00006D44  InitPosTab84
00006D4D  InitPosTab85
00006D5E  InitPosTab86
00006D6F  InitPosTab87
00006D80  InitPosTab88
00006D81  InitPosTab89
00006809  InitPosTab9
00006D92  InitPosTab90
00006DA3  InitPosTab91
00006DAC  InitPosTab92
00006DBD  InitPosTab93
00006DD6  InitPosTab94
00006DE7  InitPosTab95
00006DF8  InitPosTab96
00006E09  InitPosTab97
00006E1A  InitPosTab98
00006E2B  InitPosTab99
00000000  IntType
0000DF5F  J100CNT
0000DF60  J100FAS
00000B58  J100TAB
0000FFD7  JOY
0000DD63  JOYT
000061E4  JOYT1
000061E8  JOYT2
0000DE38  JOYTAB
0000DD67  JOYTTXT
0000DE5B  JPPTAB
00000000  JUMP
0000441C  JpInMuelle
0000143A  JpWhereTab
00000004  JumpBig
00000001  JumpDown
00000003  JumpEnd
00000002  JumpStart
00000000  JumpUp
0000DF65  KCNT
00000D63  KEYOFF
0000DF64  KILLED
000046F2  KILL_BOY
00000D73  KOFF
00000D69  KON
0000FF40  LCDC
0000DF59  LCDCINT
00000001  LCDC_BG
00000008  LCDC_BG_Bnk
00000010  LCDC_BG_Chr
00000002  LCDC_OBJ
00000004  LCDC_OBJ_Size
00000DE2  LCDC_OF10
00000DD8  LCDC_OFF
00000DC9  LCDC_ON
00000080  LCDC_Start
00000040  LCDC_WinBnk
00000020  LCDC_Window
000011D4  LC_BGP_ON
00006750  LC_ScrollPres
00001796  LDIR
00000E21  LDIRBL
00000432  LDIRCPL
0000043C  LDIRNOR
00000005  LEFT
00000010  LENPIECE
0000042C  LETMENTAB
00000009  LETN
0000DF11  LETTAB
0000DFB4  LIVES
0000DD50  LIVTXT
00000002  LLX
00000011  LLY
00000CD4  LOADMAP
00004337  LOAD_JPP
00002C60  LOD_GRF
00007053  LTPOSTAB
0000FF44  LY
0000FF45  LYC
00000100  LenBuffSpr
00000007  LenClaves
00000100  LenObjDefHero
00000040  LenPack
00002C6C  LoadBuffAdd
0000430A  LoadHigh
0000430C  LoadHighNoName
00001178  LoadIcon
00004443  LoadPerso
00001220  LoadPresChars
0000123A  LoadPresent
00001A49  LookForExit
00005E70  MAINMENU
00000F55  MANDO
0000DB00  MAPEADO
00000412  MAPLETTER
000003F6  MAPLETTERI
00004000  MAPTAB
00000013  MARC_PIEZ
00000008  MARK1_PIEZ
00000010  MARKERS_CoinX
00000010  MARKERS_CoinY
00000000  MARKERS_FaceX
0000000F  MARKERS_FaceY
00000012  MARKERS_IconX
0000000F  MARKERS_IconY
00000003  MARKERS_TimeX
00000010  MARKERS_TimeY
0000000B  MARKN_PIEZ
000014FA  MARKS
0000000A  MARK_BARS_X
00000005  MARK_CROS_X
00000003  MARK_HEAD_X
00000006  MARK_LIVE_X
00000032  MAXBOSQUE
00000064  MAXCASTLE
00000032  MAXPI
0000FFD1  MAXX
0000FFD2  MAXY
0000FFD3  MAXZ
0000001A  MES
0000FFF1  MIDPIF
0000FFCE  MINX
0000FFCF  MINY
0000FFD0  MINZ
0000FF9C  MJPFLAG
00000010  MON
0000FFDE  MOVED
00004281  MOVE_BOY
000042AD  MOVE_THEM
0000702B  MOV_LETS
00004900  MOV_SAVE
00004979  MOV_SPR
0000705C  MOV_STARS
00006E4F  MOV_S_O
00004BAE  MOV_X
00004C2E  MOV_Y
00004DAF  MOV_Z
00000016  MUE
000068AE  MURTAB
0000DD65  MUSIC
0000DD6D  MUSICTXT
00000004  MUSX
0000000B  MUSY
0000DF5C  MUZAKGO
0000DFA2  MainHigh
0000C500  MaskBuff
00005C35  MoveWithPollo3

A variety of development system's parameter names starting at 0x3881D:

 Linker

Libraries
~Graphics library
Turbo ~Vision
ObjectWindows Library
N~one
S~tatic
D~ynamic
Container Class Library
~None
~Static
~Dynamic
Standard Run-time Libraries
Non~e
Stat~ic
Dyn~amic

 Libraries

Options
~Generate list file
~Case sensitive library
~Purge comment records
Create ~extended dictionary
~Library Page Size

 Librarian Options

Source Debugging
~On
~Standalone
~None
Display Swapping
Non~e
Sma~rt
~Always
Inspectors
Show ~inherited
Show ~methods
Show ~decimal
Show ~hex
Show ~both
~Program Heap Size
K bytes

 Debugger

Code ~Segment
Code ~Group
Code ~Class
~Data Segment
D~ata Group
Da~ta Class
~BSS Segment
BSS G~roup
BSS C~lass
Far Data Segme~nt
Far Data Grou~p
~Far Data Class

 Segment Names

~Include Directories
~Library Directories
~Output Directory
~Source Directories

 Directories

~Arguments

 Program Arguments

 Information

~IDE, C++ Language, and Windows API
~ObjectWindows API
~Turbo Vision API

 Active Help File

C:\PROJET\TINTIN\MAP_SPR.ASM
C:\PROJET\TINTIN\HEROCTRL.ASM
C:\PROJET\TINTIN\HEROANIM.ASM
HEROCTRL
HEROCTRL.ASM
HEROANIM.ASM
ANIMTAB.ASM
WINDOW.ASM
*.ASM
MUSIC.ASM
SCREENS.ASM
SGB.ASM
TXTSPI.ASM
INCBIN.ASM

 Include Files
Include files for

  ~View

~Include files        Location

 Local Options
Project Item:
~Command Line Options
Output ~Path
Project File ~Translators
~Overlay this module
~Exclude debug information
Exclude from ~link

$NOSWAP
$NOSWAP $CAP MSG(TASM2MSG)
$NOSWAP $CAP EDIT
/m /i /p @SPIROU.LNK,SPIROU,,SPIROU $NOSWAP $CAP MSG(TASM2MSG)
/z /i /oc+ /ol+ /ow- /od+ /l $NOSWAP $EDNAME,F:\$NAME($EDNAME) $CAP MSG(TASM2MSG)
$SAVE ALL $NOSWAP
$SAVE ALL
/oan+ /z /i /oc+ /ol+ /ow- /od+ /l $NOSWAP $EDNAME,D:\$NAME($EDNAME) $CAP MSG(TASM2MSG)
/oan- /z /i /oc+ /ol+ /ow- /od+ /l $NOSWAP $EDNAME,D:\$NAME($EDNAME) $CAP MSG(TASM2MSG)
/MX /ZI /O $TASM
/c /b /m /i /p @d:\LINK.LNK,d:\game,,D:\game $NOSWAP $CAP MSG(TASM2MSG)
/b /m /i /p @d:\LINK.LNK,d:\game,,D:\game $NOSWAP $CAP MSG(TASM2MSG)
/z /i /oc+ /ol+ /ow- /od+ /l $NOSWAP $EDNAME,D:\$NAME($EDNAME) $CAP MSG(TASM2MSG)

E~xpression
~Result
~New Value
 ~Evaluate
 ~Modify
 Cancel
 Help

 Evaluate and Modify

~Inspect

 Data Inspect

~New Value

 Modify Data

~Starting Index
~Count

 Range Inspect

~Watch Expression

~Call Stack

 Call Stack

DIRENEP
DEFG

144
$checknum
checknum

~Breakpoint List             Line#  Condition                Pass

  O~K
 ~Edit
 ~Delete
 ~View
  ~At

 Breakpoints

~Condition
~Pass Count
~File Name
~Line Number
 ~Modify
 ~New
 Cancel
 Help

 Breakpoint Modify/New

Symbol Name

 Breakpoint At Function

After system messages goes some portions of the source files starting at 0x03B077:

$NOHUNT\@   call    CheckLimitsY
$okeyy\@
    ENDM

;   Persigue al hВroe en X o en Y&
;   \1=Mаscara frecuencia de persecuciвn
;   \2=Velocidad persecuciвn
;   \3=Distancia de desconexiвn con respecto coordenada de origen.
;   Devuelve Carry=0 en la desconexiвn.
HUNT_HEROX  MACRO
    LD  C,\2
    LD  DE,\3
    WAITB   \1,$NOHUNT\@
    CALL    HUNT_X
    jr  $okeyx\@
$NOHUNT\@   call    CHECKLIM_HUNTX
$okeyx\@
    ENDM

HUNT_HEROY  MACRO
    LD  C,\2
    LD  DE,\3
    WAITB   \1,$NOHUNT\@
    CALL    HUNT_Y
    jr  $okeyy\@
$NOHUNT\@   call    CHECKLIM_HUNTY
$okeyy\@
    ENDM

;   Persigue al hВroe en X o en Y&
;   \1=Mаscara frecuencia de persecuciвn
;   \2=Velocidad persecuciвn
;   \3=Distancia de desconexiвn con respecto coordenada de origen.
;   Devuelve Carry=0 en la desconexiвn.
HUNT_HEROX  MACRO
    LD  C,\2
    LD  DE,\3
    WAITB   \1,$NOHUNT\@
    CALL    HUNT_X
    jr  $okeyx\@
$NOHUNT\@   call    CHECKLIM_HUNTX
$okeyx\@
    ENDM

HUNT_HEROY  MACRO
    LD  C,\2
    LD  DE,\3
    WAITB   \1,$NOHUNT\@
    CALL    HUNT_Y
jr  $okeyy\@
$NOHUNT\@   call    CHECKLIM_HUNTY
$okeyy\@
    ENDM

;   Guarda coordenadas
CheckLimitsX
    LDAL    HeroX
    STAL    Hero
    LDAL    HeroX+1
    STAL    Hero+1
    LDA PersoX
    STAL    Perso
    LDA PersoX+1
    STAL    Perso+1
    call    CHECKLIM_HUNTX
    LDAL    Perso
    STA PersoX
    LDAL    Perso+1
    STA PersoX+1
    ret
;   Guarda coordenadas
CheckLimitsY
    LDAL    HeroY
    STAL    Hero
    LDAL    HeroY+1
    STAL    Hero+1
    LDA PersoY
    STAL    Perso
    LDA PersoY+1
    STAL    Perso+1
    call    CHECKLIM_HUNTY
    LDAL    Perso
    STA PersoY
    LDAL    Perso+1
    STA PersoY+1
    ret

;   Enemigo persigue al hВroe sвlo en X o Y$
;   Entradas: C=Velocidad persecuciвn.
;   DE=Distancia de desconexiвn con respecto coordenada de origen.
;   Carry=0 fuera rango / Carry=1 dentro rango.
HUNT_   MACRO
$SEP    =   4   ; Separaciвn pixels entre dos lбmites.
    LDHLL   Hero
    PUSH    HL
    LD  A,L
    SUB $SEP
    LD  L,A
    LD  A,H
    SBC 0
    LD  H,A ; HL=Lбmite derecho.
    LDAL    Perso
    SUB L
    LDAL    Perso+1
    SBC H
    JNC $LIM2
    ADDWL   Perso,C
    POP HL
    JR  $LIMITS
$LIM2   POP HL
    LDAL    Perso
    SUB L
    LDAL    Perso+1
    SBC H
    JC  $LIMITS
    SUBWL   Perso,C
$LIMITS
    IF  strcmp('\1','X')
CHECKLIM_HUNTX
    ENDIF
    IF  strcmp('\1','Y')
CHECKLIM_HUNTY
    ENDIF
    ;MORDENx7
    call    MORDENx7
    LDBCL   SPR_SAL
    INC BC
    INC BC
    IF  strcmp('\1','Y')
    INC BC
    INC BC
    ENDIF
    ADD HL,BC
    xref        BNK_ENETAB
    GETHLHL BNK_ENETAB
    PUSH    HL
    ADD HL,DE
    LDAL    Perso
    SUB L
    LDAL    Perso+1
    SBC H
    JC  $CHECKMIN
    LD  A,L
    STAL    Perso
    LD  A,H
    STAL    Perso+1
    POP HL
    XOR A
    ret
$CHECKMIN   POP HL
    SUBHLDE
    BIT 7,H
    JZ  $COMP
    LD  HL,0
$COMP   LDAL    Perso
    SUB L
    LDAL    Perso+1
    SBC H
    JNC $IN
    LD  A,L
    STAL    Perso
    LD  A,H
    STAL    Perso+1
    XOR A
    ret
$IN SCF
$EXIT   RET
    ENDM
$CHECKMIN
RIO
    D_Pos
    callx   Creditos
    ld  a,1
    CALL    InitializeOnce
    stal    OkPassword
    stal    OptFX
    stal    OptMusic
    stal    FlgPresent
    stal    CaraPos0
    stal    CaraPos1
    stal    CaraPos2
    stal    PrtFaces
    stal    PrtOptions
    stal    FlgActEnd
    xref    SELWORLD
    LD  A,SELWORLD
    STAL    WORLD
    dec a
    stal    LastWorld
    ENDIF
    stal    ScoreD0
    ld  a,1
Hard_LCDC_OFF
    callx   Hard_LCDC_OFF
    stal    FlgPr

This item and the next one include substantial text in Spanish. It seems to describe the enemy logic and the player logic. For example, "Enemy follows the hero only in X or Y". The assembled code may be found in the released version's disassembly between 0xED0C and 0xEDE9.

0x03FEE1

Final de la rutina de musica

"End of the music routine".

(Source: nensondubois)