Routines
Address
Description
72A0
Game Start Alias
AAAB
Game Restart
AAB3
Game Start
AB31
Initialise Entity Data
AB76
Initialise Entity Defaults
AB95
Update Berk State
ACE4
Start Berk Script
AD47
Reset Text Position
AD6F
Print Menu Strings
AD98
Clear Messaging Attributes
ADA1
Update Timed Events
AECC
Handle Berk Action
AF01
Initialise Room Display
AF3C
Initialise New Game
AF7F
Check Task Completion
AFA9
Backup Entity And Game State
AFDC
Script Routine: (1B) Animate trap door / update Berk interaction
B01E
Reset Trap Door Animation State
B034
Update Drutt
B16E
Update Drutt Animation
B1A9
Process Falling Entities
B1E3
Advance Falling Entity
B21E
Process Rising Entities
B258
Process Special Entity Flags
B2AA
Update Entity Slot
B41A
Update Berk Controller
B440
Update Berk: Read Controls
B7A1
Berk Read Controls: Down Branches
B7F3
Berk Interact With Entity
B87C
Berk Pick Up Entity
B92C
Berk Put Down Entity
BC12
Update Thing Upstairs Entity
BC2F
Update Thing Upstairs Entity State
BC36
Script Routine: (31) Thing Upstairs action
BC45
Script Routine: (32) Thing Upstairs action
BC54
Script Routine: (35) Thing Upstairs action
BC64
Script Routine: (33) Thing Upstairs action
BC81
Script Routine: (34) Thing Upstairs action
BD3C
Update Thing Upstairs Movement
BD72
Test Thing Upstairs Overlap
BECD
Update Task Two Entities
BEE6
Update Task Two Entity State
BF77
Script Routine: (28) Task-two entity action
BF8F
Script Routine: (24) Task-two entity action
BFBF
Script Routine: (29) Task-two entity action
BFEA
Script Routine: (25) Task-two entity action
C000
Script Routine: (26) Task-two entity action
C027
Script Routine: (27) Task-two entity action
C06E
Spawn Task Entity
C095
Update Task Helper Entities
C378
Update Task Three Entities
C3B2
Update Task Three Entity State
C3D7
Script Routine: (30) Task-three entity action
C3DF
Script Routine: (2B) Task-three entity action
C443
Script Routine: (2D) Task-three entity action
C556
Update Slimy Creature
C568
Script Routine: (2F) Task-three entity action
C582
Script Routine: (2E) Task-three entity action
C5F6
Script Routine: (2C) Slimy-creature action
C602
Script Routine: (2A) Cauldron / heater action
C60D
Update Cauldron
C635
Update Heater
C63B
Update Stove
C65C
Update Task Three Helpers
CAA7
Update Task Four Entities
CAC4
Update Task Four Entity State
CAF0
Script Routine: (50) Task-four entity action
CAFE
Script Routine: (48) Task-four entity action
CB1E
Script Routine: (4F) Task-four entity action
CB44
Script Routine: (4B) Task-four entity action
CBC3
Script Routine: (4E) Task-four entity action
CBCE
Script Routine: (4D) Task-four entity action
CC53
Script Routine: (49) Task-four entity action
CC78
Script Routine: (4A) Task-four entity action
CC8B
Script Routine: (4C) Task-four entity action
CE4B
Update Ghosts
CEE1
Update Plant Pots
CF1E
Update Crusher
CF37
Update Miscellaneous Entities
D012
Update Vat
D040
Update Vat: Event And Direction
D06C
Script Routine: (47) Vat action
D074
Script Routine: (3E) Vat action
D153
Script Routine: (43) Vat action
D1AC
Script Routine: (40) Vat shift right when clear above
D1BD
Script Routine: (3F) Vat action
D1CC
Script Routine: (45) Vat action
D1D5
Script Routine: (42) Vat action
D1E6
Script Routine: (41) Vat action
D1F5
Script Routine: (44) Vat action
D1FE
Script Routine: (46) Vat action
D446
Check Entity Collision
D45B
Update Collectibles
D48E
Collect Entity
D56A
Script Routine: (37) Collectible action
D59E
Script Routine: (36) Collectible action
D5ED
Script Routine: (3D) Collectible action
D5F4
Script Routine: (3C) Collectible action
D601
Script Routine: (38) Collectible action
D61D
Script Routine: (39) Collectible action
D639
Script Routine: (3A) Collectible action
D65B
Script Routine: (3B) Collectible action
D7D3
Update Bad Tempered Thing Dialogue
D971
Continue Bad Tempered Thing Dialogue
DA23
Advance Dialogue Character
DA2D
Draw Dialogue Character
DA5B
Clear Dialogue Area
DDA3
Print Too-Late Task Feedback
DE19
Print Status Messages
DE51
Print Message By Index
DE57
Print Message String
DFB5
Print Death Message
DFDD
Print Task Progress Intro
DFF3
Print Wages Message
E25E
Select Task Progress Message
E286
Print Encoded Message
E2F9
Skip To Message Marker
E300
Paint Message Buffer
E34A
Centre And Draw Message Row
E376
Draw Message Character
E3C7
Plot Message Glyph Half
E6DB
Populate Display Buffer For Visible Entities
E71D
Process Graphic Layout Data For Entity
E73B
Advance Graphic Layout Pointer By Two Bytes And Process
E73F
Process Graphic Layout Data
E7BB
Jump Graphic Layout Routine
E7F9
Graphic Layout Routine: (EE) Start Loop
E808
Graphic Layout Routine: (EF) End Loop
E819
Graphic Layout: Random Address Jump
E82C
Graphic Layout Routine: (F0) Set New Pending Sound
E835
Graphic Layout Routine: (F2) Set Current Attribute
E83E
Graphic Layout Routine: (F4) Set Current Graphic Set Index
E847
Graphic Layout Routine: (F5) Set Next Graphic Index From Random List
E866
Graphic Layout Routine: (FF) Load Stored Coordinates And Return
E86E
Graphic Layout Routine: (FA) Adjust Coordinates Without Storing
E87B
Graphic Layout Routine: (FE) Adjust Coordinates And Store
E88B
Graphic Layout Routine: (FB) Process Nested Graphic Layout Data
E89E
Graphic Layout Routine: (F8) Jump To Graphic Layout Address
E8AA
Graphic Layout Routine: (F9) Jump To Time-Weighted Random Address
E8E8
Graphic Layout Routine: (F3) Increment Index And Jump To N-th Address
E909
Graphic Layout Routine: (F7) Timer-Based Random Graphic Index
E943
Graphic Layout Routine: (F6) Jump To Randomly Selected Address
E954
Graphic Layout Routine: (FD) Jump Using Carried-Entity Width
E959
Graphic Layout Routine: (FC) Conditional Jump Or Skip
E991
Blit Display Buffer To Screen
E9EF
Blit Display Buffer Row
EA3C
Clear Both Display Buffers
EA44
Clear Display Buffer
EA52
Clear Attribute File
EA6D
Set Border And Speaker State
EA73
Reposition Camera-Follow Entity After Interaction
EAE5
Generate Pseudo-Random Number
EB20
Print Score Digits
EB41
Print Digit
EB67
Print Character
EC2E
Advance
HL
To Next Script Instruction And Execute
EC53
Script Routine: (21) Start script loop with count
EC61
Script Routine: (22) End script loop
EC72
Script Routine: (1E) Have Berk interact with a door in front of him
ECB0
Script Routine: (20) Have Berk open a door in front of him
ECDB
Script Routine: (1F) Have Berk interact with a door behind him
EDCF
Script Routine: (1C) Close Trap Door
EDD5
Script Routine: (1A) Open Trap Door
EDDB
Close Trap Door
EDF8
Open Trap Door
EE30
Check Entities Near Trap Door
EF12
Script Routine: (17) Move held entity up one room row
EF28
Script: Set Entity Latch
EF32
Script Routine: (18) Start loop
EF54
Script Routine: (0A) Reset entity direction flags
EF5B
Script Routine: (0B) Set entity facing right
EF62
Script Routine: (0C) Set entity facing left
EF69
Script Routine: (0D) Set entity facing up
EF70
Script Routine: (0E) Set entity facing down
EF77
Script: Jump If Carrying
EF82
Script: Load Script Pointer
EF8C
Script Routine: (02) Move entity left one character
EFB1
Script Routine: (03) Move entity right one character
F014
Script Routine: (04) Move entity up one character
F069
Script Routine: (05) Move entity down one character
F0C7
Script Routine: (06) Move entity left two characters
F0CE
Script Routine: (07) Move entity right two characters
F0D5
Script Routine: (09) Move entity down two characters
F0DC
Script Routine: (08) Move entity up two characters
F0E3
Script Routine: (0F) Have entity put down carried entity
F13E
Script Routine: (14) Have entity pick up / restore held entity state
F166
Script Routine: (10) Have entity face left after putting down
F173
Script Routine: (11) Have entity face right after putting down
F1A1
Script Routine: (12) Position put-down entity to the left
F1B7
Script Routine: (13) Position put-down entity to the right
F1DF
Script Routine: (16) Start Drutt script
F1F3
Update Camera Follow
F24F
Script Routine: (19) Continue To Next Instruction
F252
Clamp Camera Position
F25B
Adjust Camera X
F25F
Adjust Camera Y
F2BD
Test Entity Overlap (Allow Special)
F2C2
Test Entity Overlap
F2C7
Test Entity Overlap At Depth
F32A
Test Entity On Left
F32E
Test Entity On Right
F38D
Test Entity Above
F391
Test Entity Below
F3EF
Display And Handle Main Menu
F43D
Main Menu: Choose Learner Or Super Berk
F454
Draw Menu Background
F46B
Print Controls Menu
F51D
Main Menu Select Options
F5C5
Print Control Key Labels (Short)
F5CA
Print Control Key Labels
F5EA
Pulse Menu Timing
F603
Read Player Controls
F640
Read Keyboard Controls
F6A6
Update High Score Display
F6D6
Draw Main Menu Logo
F70A
Colour-Cycle Main Menu Logo
F8F9
Queue Sound
F9AF
Play Queued Sound
FC6C
Seed Menu Music And Wait For Key
FC78
Wait For Key With Menu Music
FC90
Read Music Stream Byte
FC9D
Decode Music Delay
FCAB
Reload Music Stream Cursor
FCB3
Play Menu Music Tick
FD10
Play Menu Music Pulse Tail
FD22
Hold Menu Music Silence
FD76
Continue Menu Music Tick
FD99
Build Music Delay Count
FDAE
Pulse Menu Music Speaker
FDEB
Play Menu Music Coda
FE0A
Sound Coda Beep