Prev: B6F0 Up: Map Next: B772
B6FD: Process Location Display
Used by the routines at ProcessDisplayEntry and ProcessDisplayEntryAlternate.
Input
HL Location pointer
ProcessLocationDisplay B6FD XOR A Write 00 to *B77E.
B6FE LD ($B77E),A
B701 LD ($B6D8),HL Write HL to *B6D8.
B704 CALL FetchCurrentCharacterLocation Call FetchCurrentCharacterLocation.
B707 LD L,(IX+$07) L=*IX+07.
B70A LD H,(IX+$08) H=*IX+08.
B70D LD A,H Return if HL is zero.
B70E OR L
B70F RET Z
B710 PUSH HL IX=HL (using the stack).
B711 POP IX
B713 LD HL,$0000 Write 0000 to *B6D6.
B716 LD ($B6D6),HL
B719 LD IY,$AAAC IY=Buffer_CoordinateData.
ProcessLocationDisplay_0 B71D LD HL,$AAAC HL=Buffer_CoordinateData.
B720 LD B,$06 B=06.
B722 CALL ClearBuffer Call ClearBuffer.
ProcessLocationDisplay_1 B725 CALL ProcessTextTokenStream Call ProcessTextTokenStream.
B728 RET Z Return if the zero flag is set.
B729 CALL ExtractCharacterAttribute Call ExtractCharacterAttribute.
B72C CP $50 Jump to ProcessLocationDisplay_2 if A is equal to 50.
B72E JR Z,ProcessLocationDisplay_2
B730 CP $60 Jump to ProcessLocationDisplay_1 if A is not equal to 60.
B732 JR NZ,ProcessLocationDisplay_1
B734 LD (IY+$02),E Write E to *IY+02.
B737 LD (IY+$03),D Write D to *IY+03.
B73A CALL ProcessTextTokenStream Call ProcessTextTokenStream.
B73D RET Z Return if the zero flag is set.
B73E CALL ExtractCharacterAttribute Call ExtractCharacterAttribute.
B741 CP $50 Jump to ProcessLocationDisplay_2 if A is equal to 50.
B743 JR Z,ProcessLocationDisplay_2
B745 CP $60 Jump to ProcessLocationDisplay_0 if A is not equal to 60.
B747 JR NZ,ProcessLocationDisplay_0
B749 LD (IY+$04),E Write E to *IY+04.
B74C LD (IY+$05),D Write D to *IY+05.
B74F CALL ProcessTextTokenStream Call ProcessTextTokenStream.
B752 RET Z Return if the zero flag is set.
B753 CALL ExtractCharacterAttribute Call ExtractCharacterAttribute.
B756 CP $50 Jump to ProcessLocationDisplay_0 if A is not equal to 50.
B758 JR NZ,ProcessLocationDisplay_0
ProcessLocationDisplay_2 B75A LD (IY+$00),E Write E to *IY+00.
B75D LD (IY+$01),D Write D to *IY+01.
B760 LD HL,($B6D8) HL=*B6D8.
B763 CALL CompareLocationData_0 Call CompareLocationData_0.
B766 JR NZ,ProcessLocationDisplay_0 Jump to ProcessLocationDisplay_0 if the zero flag is not set.
B768 LD IX,($B6D6) IX=*B6D6.
B76C CALL MoveIXToHLAndJump Call MoveIXToHLAndJump.
B76F OR %00000001 Set bit 0.
B771 RET Return.
Prev: B6F0 Up: Map Next: B772