![]() |
Routines |
Prev: CC0B | Up: Map | Next: CC29 |
|
||||||||||||||||
Stash some registers so they don't get corrrupted.
|
||||||||||||||||
FindCharacter | CC0E | PUSH DE | Stash DE and BC on the stack. | |||||||||||||
CC0F | PUSH BC | |||||||||||||||
CC10 | LD C,A | Store the character ID in C. | ||||||||||||||
CC11 | LD DE,$0008 | Load the length of the character data 0008 bytes into DE. | ||||||||||||||
CC14 | LD IY,$9860 | IY=Table_Timetable. | ||||||||||||||
FindCharacter_Loop | CC18 | LD A,(IY+$00) | Fetch the current characters ID from the timetable pointer. | |||||||||||||
CC1B | CP C | Jump to FindCharacter_Return if this character ID and the requested character ID match. | ||||||||||||||
CC1C | JR Z,FindCharacter_Return | |||||||||||||||
CC1E | CP $FF | Jump to FindCharacter_Return if the termination character has been reached (FF). | ||||||||||||||
CC20 | JR Z,FindCharacter_Return | |||||||||||||||
CC22 | ADD IY,DE | Add 0008 bytes to the timetable pointer to move to the next set of character data. | ||||||||||||||
CC24 | JR FindCharacter_Loop | Jump to FindCharacter_Loop. | ||||||||||||||
Return with some housekeeping.
|
||||||||||||||||
FindCharacter_Return | CC26 | POP BC | Restore BC and DE from the stack. | |||||||||||||
CC27 | POP DE | |||||||||||||||
CC28 | RET | Return. |
Prev: CC0B | Up: Map | Next: CC29 |