Prev: 5B00 Up: Map Next: 6288
5B88: The object records
Everything in the room: 56 records of 32 bytes. The first four have fixed jobs -- the robot's legs and top, and two for what lies in the room from the table of places (PLACES) -- and the other 52 are the room's, filled by the builder (BUILD_ROOM). The main loop (AFTER_GAME) runs every record's update routine once a turn, in order, empty ones included. In the scene after a game the same records hold the scene's pieces (SET_UP_SCENE).
A record is Knight Lore's 32 bytes. +0 the graphic, which picks the update routine (UPDATES) and the sprite (GRAPHICS): 0 an empty record, 1 one to be rubbed out and emptied when next drawn. +1 +2 +3 U, V and Z. +4 +5 +6 the half-sizes in U and V and the height. +7 flags: bit 0 in a doorway, bit 1 out of the collision tests, bit 2 can be pushed and rides what it stands on, bit 3 may use doorways (the legs), bit 4 to be drawn this turn, bit 5 moved: wipe it and copy it to the screen (SET_WIPE_AND_DRAW_FLAGS sets both), bit 6 mirrored, bit 7 upside down. +8 the room. +9 +A +B the step in U, V and Z this turn.
+C: bits 0-2 the move was stopped in U, V, Z -- bit 2 either way, standing on something or bumping something above -- bit 3 jumping, bits 4-7 turns of walking in after a doorway. +D: bit 7 kills what it moves into and bit 5 kills what touches it (SPIKES sets both), bit 6 killed, bit 3 landed on, by the robot or a mover of graphics 16-47, bit 0 just put down (a valve reads it, LOOSE_VALVE); bit 2 is a kind's own (a dropping thing falling, a lift's direction), and on the legs bits 1-2 keep his turning. +E +F the player's nudge from a doorway; +F is also a dropping thing's "was standing" (THUD_ON_LANDING) and a scene tool's steps (SCENE_TOOL). +10 +11: for what lies in the room from the places, the address of its place (FIND_SPECIAL_OBJS_HERE); for other kinds their own counters and states, described with each update routine (in the robot's records and the start records, START_LEGS, the real graphic kept while he is appearing; a pacer's saved step, a leaper's height, a mouse's turns, a scene piece's colour ...). +12 +13 the drawing nudge in pixels (DRAW_AT_L16_D9 and the entries beside it). +14 to +17: no instruction was found using them. +18 +19 the sprite's width in bytes and height in rows as drawn; +1A +1B its pixel x and y, counted up from the bottom -- in the scene after a game set directly, as the scene is not projected (SET_UP_SCENE); +1C to +1F the same four as they were before this turn's update (the main loop, AFTER_GAME).
Below the game block, like the variables: the bytes the snapshot holds here are the ROM's system variables and the BASIC loader, which the game clears before it uses them (START).
OBJECTS 5B88 DEFB $00 Record 0, the robot's legs, the whole of his collision box: graphic (16-23 walking, 48 on the dying sparkle, 56-62 materialising)
PLAYER_U 5B89 DEFB $00 U, read by the things that home in on him (MOVE_TOWARDS_PLAYER)
5B8A DEFB $00,$00,$00,$00,$00 V, Z, the half-sizes and the height
PLAYER_FLAGS 5B8F DEFB $00 Flags; the first of the 56 bytes whose bit 5 CLEAR_WIPE_FLAGS clears
PLAYER_ROOM 5B90 DEFB $00 The room he is in: what the builder builds (BUILD_ROOM), what FIND_SPECIAL_OBJS_HERE matches the places against, and the bit set in ROOMS_SEEN (MARK_ROOM_SEEN)
5B91 DEFB $00,$00,$00,$00,$00,$00,$00,$00 The rest of the legs' record
5B99 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BA1 DEFB $00,$00,$00,$00,$00,$00,$00
PLAYER_TOP 5BA8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 Record 1, the robot's top, which copies the legs every turn and sits 12 above them; the main loop starts a new life when both it and the legs are empty (OBJECT_DONE)
5BB0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BB8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
VALVES 5BC8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 Record 2: the first thing from the table of places in this room -- a valve, loose or seated, or an extra life -- built by FIND_SPECIAL_OBJS_HERE and written back by UPDATE_SPECIAL_OBJS; a thing put down goes into whichever of the two is empty (TAKE_OR_LEAVE)
5BD0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BD8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BE0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
VALVE_SECOND 5BE8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 Record 3: the second
5BF0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BF8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C00 DEFB $FF,$00,$00,$00,$FF,$00,$23,$0D
ROOM_OBJECTS 5C08 DEFB $0D,$23,$05,$00,$00,$00,$16,$14 Records 4 to 55, the room's: backgrounds and objects, filled by the builder from here up (BUILD_ROOM)
5C10 DEFB $01,$00,$06,$00,$0B,$00,$01,$00
5C18 DEFB $01,$00,$06,$00,$10,$00,$00,$00
5C20 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C28 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C30 DEFB $00,$00,$00,$00,$00,$00,$00,$3C
5C38 DEFB $40,$00,$FF,$CD,$00,$F9,$62,$00
5C40 DEFB $00,$00,$01,$00,$FF,$1E,$00,$01
5C48 DEFB $07,$00,$00,$1D,$5D,$00,$00,$B6
5C50 DEFB $5C,$BB,$5C,$CB,$5C,$1D,$5D,$CA
5C58 DEFB $5C,$1E,$5D,$21,$5D,$1C,$5D,$8D
5C60 DEFB $5D,$23,$5D,$23,$5D,$23,$5D,$2D
5C68 DEFB $92,$5C,$00,$02,$00,$00,$00,$00
5C70 DEFB $00,$00,$00,$00,$B6,$1A,$00,$00
FRAMES 5C78 DEFB $06,$00,$00 In the snapshot, the ROM's frame counter: the game reads its low byte for the seed (START) before it clears this area
5C7B DEFB $58,$FF,$00,$00,$21,$00,$5B,$21 The rest of the room's records
5C83 DEFB $17,$C0,$50,$E0,$50,$21,$02,$21
5C8B DEFB $17,$03,$00,$00,$00,$00,$00,$00
5C93 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C9B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5CA3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5CAB DEFB $00,$00,$00,$00,$00,$00,$00,$FC
5CB3 DEFB $62,$FF,$FF,$F4,$09,$A8,$10,$4B
5CBB DEFB $F4,$09,$C4,$15,$53,$81,$0F,$C4
5CC3 DEFB $15,$52,$F4,$09,$C4,$15,$50,$80
5CCB DEFB $00,$01,$3C,$00,$E7,$C3,$A7,$3A
5CD3 DEFB $DA,$C3,$A7,$3A,$D9,$C3,$A7,$3A
5CDB DEFB $FD,$B0,$22,$32,$35,$33,$34,$30
5CE3 DEFB $22,$3A,$EF,$22,$41,$6C,$69,$65
5CEB DEFB $6E,$38,$2E,$32,$22,$AA,$3A,$F5
5CF3 DEFB $AC,$B0,$22,$32,$30,$22,$2C,$C3
5CFB DEFB $A7,$3B,$3A,$EF,$22,$41,$6C,$69
5D03 DEFB $65,$6E,$38,$2E,$33,$22,$AF,$0D
5D0B DEFB $00,$1E,$0E,$00,$F9,$C0,$32,$35
5D13 DEFB $33,$34,$34,$0E,$00,$00,$00,$63
5D1B DEFB $00,$0D,$80,$EF,$22,$22,$0D,$80
5D23 DEFB $00,$00,$00,$63,$00,$6E,$38,$2E
5D2B DEFB $33,$20,$20,$00,$00,$00,$00,$00
5D33 DEFB $00,$03,$41,$6C,$69,$65,$6E,$38
5D3B DEFB $2E,$33,$20,$20,$03,$9D,$FD,$62
5D43 DEFB $39,$80,$00,$00,$00,$00,$00,$00
5D4B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D53 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D5B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D63 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D6B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D73 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D7B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D83 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D8B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D93 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D9B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DA3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DAB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DB3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DBB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DC3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DCB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DD3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DDB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DE3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DEB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DF3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DFB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E03 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E0B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E13 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E1B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E23 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E2B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E33 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E3B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E43 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E4B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E53 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E5B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E63 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E6B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E73 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E7B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E83 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E8B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E93 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E9B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EA3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EAB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EB3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EBB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EC3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5ECB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5ED3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EDB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EE3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EEB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EF3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EFB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F03 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F0B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F13 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F1B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F23 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F2B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F33 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F3B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F43 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F4B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F53 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F5B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F63 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F6B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F73 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F7B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F83 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F8B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F93 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F9B DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FA3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FAB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FB3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FBB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FC3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FCB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FD3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FDB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FE3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FEB DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FF3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FFB DEFB $00,$00,$00,$00,$00,$00,$00,$00
6003 DEFB $00,$00,$00,$00,$00,$00,$00,$00
600B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6013 DEFB $00,$00,$00,$00,$00,$00,$00,$00
601B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6023 DEFB $00,$00,$00,$00,$00,$00,$00,$00
602B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6033 DEFB $00,$00,$00,$00,$00,$00,$00,$00
603B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6043 DEFB $00,$00,$00,$00,$00,$00,$00,$00
604B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6053 DEFB $00,$00,$00,$00,$00,$00,$00,$00
605B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6063 DEFB $00,$00,$00,$00,$00,$00,$00,$00
606B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6073 DEFB $00,$00,$00,$00,$00,$00,$00,$00
607B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6083 DEFB $00,$00,$00,$00,$00,$00,$00,$00
608B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6093 DEFB $00,$00,$00,$00,$00,$00,$00,$00
609B DEFB $00,$00,$00,$00,$00,$00,$00,$00
60A3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60AB DEFB $00,$00,$00,$00,$00,$00,$00,$00
60B3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60BB DEFB $00,$00,$00,$00,$00,$00,$00,$00
60C3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60CB DEFB $00,$00,$00,$00,$00,$00,$00,$00
60D3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60DB DEFB $00,$00,$00,$00,$00,$00,$00,$00
60E3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60EB DEFB $00,$00,$00,$00,$00,$00,$00,$00
60F3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60FB DEFB $00,$00,$00,$00,$00,$00,$00,$00
6103 DEFB $00,$00,$00,$00,$00,$00,$00,$00
610B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6113 DEFB $00,$00,$00,$00,$00,$00,$00,$00
611B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6123 DEFB $00,$00,$00,$00,$00,$00,$00,$00
612B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6133 DEFB $00,$00,$00,$00,$00,$00,$00,$00
613B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6143 DEFB $00,$00,$00,$00,$00,$00,$00,$00
614B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6153 DEFB $00,$00,$00,$00,$00,$00,$00,$00
615B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6163 DEFB $00,$00,$00,$00,$00,$00,$00,$00
616B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6173 DEFB $00,$00,$00,$00,$00,$00,$00,$00
617B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6183 DEFB $00,$00,$00,$00,$00,$00,$00,$00
618B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6193 DEFB $00,$00,$00,$00,$00,$00,$00,$00
619B DEFB $00,$00,$00,$00,$00,$00,$00,$00
61A3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61AB DEFB $00,$00,$00,$00,$00,$00,$00,$00
61B3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61BB DEFB $00,$00,$00,$00,$00,$00,$00,$00
61C3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61CB DEFB $00,$00,$00,$00,$00,$00,$00,$00
61D3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61DB DEFB $00,$00,$00,$00,$00,$00,$00,$00
61E3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61EB DEFB $00,$00,$00,$00,$00,$00,$00,$00
61F3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61FB DEFB $00,$00,$00,$00,$00,$00,$00,$00
6203 DEFB $00,$00,$00,$00,$00,$00,$00,$00
620B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6213 DEFB $00,$00,$00,$00,$00,$00,$00,$00
621B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6223 DEFB $00,$00,$00,$00,$00,$00,$00,$00
622B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6233 DEFB $00,$00,$00,$00,$00,$00,$00,$00
623B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6243 DEFB $00,$00,$00,$00,$00,$00,$00,$00
624B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6253 DEFB $00,$00,$00,$00,$00,$00,$00,$00
625B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6263 DEFB $00,$00,$00,$00,$00,$00,$00,$00
626B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6273 DEFB $00,$00,$00,$00,$00,$00,$00,$00
627B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6283 DEFB $00,$00,$00,$00,$00
Prev: 5B00 Up: Map Next: 6288