Prev: 45294 Up: Map Next: 45365
45309: 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 45024.
ProcessCharacterData 45309 LD BC,8 Jump ahead to ProcessCharacterData_Next if bit 3 is present.
45312 BIT 3,E
45314 JR NZ,ProcessCharacterData_Next
45316 CALL WalkSavedClauseList Call WalkSavedClauseList to walk the saved clause list.
ProcessCharacterData_Next 45319 PUSH IY Run character data.
45321 POP HL
45322 ADD HL,BC
45323 PUSH DE
45324 PUSH HL
45325 BIT 3,E Jump ahead to ProcessCharacterData_PicturesEnabledPointer if bit 3 is present.
45327 JR NZ,ProcessCharacterData_PicturesEnabledPointer
45329 SET 3,E Mark this character as already linked.
45331 CALL FollowCharacterLink Call FollowCharacterLink to follow the character link.
45334 JR ProcessCharacterData_LengthCharacters Jump ahead to ProcessCharacterData_LengthCharacters to step on 24 bytes.
Mark another picture enabled and initialise the character.
ProcessCharacterData_PicturesEnabledPointer 45336 LD HL,40978 Call InitialiseCharacterDataStructure to initialise character data structure.
45339 INC (HL)
45340 CALL InitialiseCharacterDataStructure
ProcessCharacterData_LengthCharacters 45343 PUSH IY Point HL 24 bytes past IY and restore DE.
45345 POP HL
45346 LD BC,24
45349 ADD HL,BC
45350 POP DE
45351 EX DE,HL Swap the pointers, copy 6 bytes.
45352 LD BC,6
45355 LDIR
45357 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 45358 LD A,E Jump back to StartPictureModeScreenIdle to prepare character for display.
45359 OR 199
45361 LD E,A
45362 JP StartPictureModeScreenIdle
Prev: 45294 Up: Map Next: 45365