Prev: B0EE Up: Map Next: B135
B0FD: Process Character Data
Follows the character link, and calls WalkSavedClauseList when bit 3 of the flag is clear. Reached through the alternate command table at Table_CommandHandlerLookup_Alternate, dispatched by AFE0.
ProcessCharacterData B0FD LD BC,$0008 Jump ahead to ProcessCharacterData_Next if bit 3 is present.
B100 BIT 3,E
B102 JR NZ,ProcessCharacterData_Next
B104 CALL WalkSavedClauseList Call WalkSavedClauseList to walk the saved clause list.
ProcessCharacterData_Next B107 PUSH IY Run character data.
B109 POP HL
B10A ADD HL,BC
B10B PUSH DE
B10C PUSH HL
B10D BIT 3,E Jump ahead to ProcessCharacterData_PicturesEnabledPointer if bit 3 is present.
B10F JR NZ,ProcessCharacterData_PicturesEnabledPointer
B111 SET 3,E Mark this character as already linked.
B113 CALL FollowCharacterLink Call FollowCharacterLink to follow the character link.
B116 JR ProcessCharacterData_LengthCharacters Jump ahead to ProcessCharacterData_LengthCharacters to step on 18 bytes.
Mark another picture enabled and initialise the character.
ProcessCharacterData_PicturesEnabledPointer B118 LD HL,$A012 Call InitialiseCharacterDataStructure to initialise character data structure.
B11B INC (HL)
B11C CALL InitialiseCharacterDataStructure
ProcessCharacterData_LengthCharacters B11F PUSH IY Point HL 18 bytes past IY and restore DE.
B121 POP HL
B122 LD BC,$0018
B125 ADD HL,BC
B126 POP DE
B127 EX DE,HL Swap the pointers, copy 06 bytes.
B128 LD BC,$0006
B12B LDIR
B12D POP DE Restore DE from the stack.
This entry point is used by the routines at FollowLinkWhenFlagged and InitialiseWhenFlagged.
Read the low byte of the source, then mark bits 0, 1, 2, 6, 7 on the result, then store the result in the low byte of the source.
ProcessCharacterData_0 B12E LD A,E Jump back to StartPictureModeScreenIdle to prepare character for display.
B12F OR $C7
B131 LD E,A
B132 JP StartPictureModeScreenIdle
Prev: B0EE Up: Map Next: B135