![]()  | 
Routines | 
| Prev: A5C4 | Up: Map | Next: A63A | 
| 
 
Used by the routines at ProcessTextStream and A6D3.
 
  | 
||||||||
| ProcessTextCommand | A5CD | LD A,(IX+$00) | A=*IX+00. | |||||
| A5D0 | BIT 7,A | Jump to ProcessTextCommand_2 if bit 7 of A is not set. | ||||||
| A5D2 | JR Z,ProcessTextCommand_2 | |||||||
| A5D4 | AND %01111111 | Keep only bits 0-6. | ||||||
| A5D6 | LD D,A | D=A. | ||||||
| A5D7 | LD E,(IX+$01) | E=*IX+01. | ||||||
| A5DA | INC IX | Increment IX by one. | ||||||
| A5DC | AND %11110000 | Keep only bits 4-7. | ||||||
| A5DE | CP $30 | Jump to A647 if A is equal to 30. | ||||||
| A5E0 | JR Z,$A647 | |||||||
| A5E2 | CP $20 | Jump to A647 if A is equal to 20. | ||||||
| A5E4 | JR Z,$A647 | |||||||
| A5E6 | CP $60 | Jump to A647 if A is equal to 60. | ||||||
| A5E8 | JR Z,$A647 | |||||||
| 
 
This entry point is used by the routine at A83A.
 
 | 
||||||||
| ProcessTextCommand_0 | A5EA | CALL $A887 | Call A887. | |||||
| ProcessTextCommand_1 | A5ED | INC IX | Increment IX by one. | |||||
| A5EF | OR %00000001 | Set bit 0 to indicate there is further text to print. | ||||||
| A5F1 | RET | Return. | ||||||
| ProcessTextCommand_2 | A5F2 | CP $20 | Jump to ProcessTextCommand_5 if A is less than 20. | |||||
| A5F4 | JR C,ProcessTextCommand_5 | |||||||
| A5F6 | CP $60 | Jump to A83A if A is greater than 60. | ||||||
| A5F8 | JP NC,$A83A | |||||||
| A5FB | CP $40 | Jump to ProcessTextCommand_4 if A is less than 40. | ||||||
| A5FD | JR C,ProcessTextCommand_4 | |||||||
| A5FF | AND %00011111 | Keep only bits 0-4. | ||||||
| A601 | INC A | Increment A by one. | ||||||
| A602 | LD B,A | B=A. | ||||||
| A603 | PUSH IX | HL=IX (using the stack). | ||||||
| A605 | POP HL | |||||||
| A606 | INC HL | Increment HL by one. | ||||||
| A607 | LD C,$00 | C=00. | ||||||
| ProcessTextCommand_3 | A609 | CALL $A990 | Call A990. | |||||
| A60C | CALL $A9B7 | Call A9B7. | ||||||
| A60F | DJNZ ProcessTextCommand_3 | Decrease counter by one and loop back to ProcessTextCommand_3 until counter is zero. | ||||||
| A611 | PUSH HL | IX=HL (using the stack). | ||||||
| A612 | POP IX | |||||||
| A614 | LD A,C | A=C. | ||||||
| A615 | AND A | Set flags. | ||||||
| A616 | JR NZ,ProcessTextCommand_1 | Jump to ProcessTextCommand_1 if HL is not equal to A. | ||||||
| A618 | DEC IX | Decrease IX by one. | ||||||
| A61A | JR ProcessTextCommand_1 | Jump to ProcessTextCommand_1. | ||||||
| ProcessTextCommand_4 | A61C | CALL $A9B7 | Call A9B7. | |||||
| A61F | JR ProcessTextCommand_1 | Jump to ProcessTextCommand_1. | ||||||
| ProcessTextCommand_5 | A621 | PUSH DE | Stash DE on the stack. | |||||
| A622 | LD E,A | E=A. | ||||||
| A623 | LD D,$00 | D=00. | ||||||
| A625 | LD HL,$A55D | HL=A55D+(DE*02). | ||||||
| A628 | ADD HL,DE | |||||||
| A629 | ADD HL,DE | |||||||
| A62A | LD E,(HL) | E=*HL. | ||||||
| A62B | INC HL | Increment HL by one. | ||||||
| A62C | LD D,(HL) | D=*HL. | ||||||
| A62D | EX DE,HL | Exchange the DE and HL registers. | ||||||
| A62E | POP DE | Restore DE from the stack. | ||||||
| A62F | CP $1D | Jump to IndirectJump if A is greater than or equal to 1D. | ||||||
| A631 | JR NC,IndirectJump | |||||||
| A633 | CALL IndirectJump | Call IndirectJump. | ||||||
| A636 | JR Z,ProcessTextCommand_1 | Jump to ProcessTextCommand_1 if A is equal to 1D. | ||||||
| A638 | JR ProcessTextCommand_0 | Jump to ProcessTextCommand_0. | ||||||
| Prev: A5C4 | Up: Map | Next: A63A |