Prev: 73FE Up: Map Next: 741C
7403: Message code $10: "you are" or "thorin is"
Prints the actor's name (747F) and then returns ARE if the actor is Bilbo and IS otherwise, for the interpreter to print. Code $11 (741C) does the same for the target, and code $13 (7424) for an object pushed on the stack.
7403 LD A,($B5DB) A = whose name to print - the actor here, or, via the entry points below, the target or a pushed object
7406 EX AF,AF' Keep it safely out of the way while the name is printed
7407 XOR A No article for a name
This entry point is used by the routine at 741C.
7408 LD ($B5F4),A }
740B EX AF,AF' A = the object again
740C PUSH AF Save it once more
740D CALL $747F Print the name
7410 POP AF A = the object once more
7411 AND A Is it Bilbo (0)?
7412 LD DE,$039F DE = ARE
7415 RET NZ Not Bilbo: ARE is right, and Z is already reset, so it gets printed
7416 LD DE,$0065 Bilbo: DE = IS instead
7419 OR $01 Make A non-zero...
741B RET ...so IS gets printed
Prev: 73FE Up: Map Next: 741C