![]() |
Routines |
Prev: A852 | Up: Map | Next: A92F |
A880 | LD E,(HL) | E=*HL. | ||
A881 | INC HL | Increment HL by one. | ||
A882 | LD A,(HL) | A=*HL. | ||
A883 | INC HL | Increment HL by one. | ||
A884 | AND %00001111 | Keep only bits 0-3. | ||
A886 | LD D,A | D=A. | ||
This entry point is used by the routines at A2E4, A37D, A5CD, A643, A7EB, A80E, A82F, B77F, C989, D102, D526, D5D3, D60B and D68C.
|
||||
A887 | LD A,($5C3C) | A=*TV-FLAG. | ||
A88A | AND A | Return if A is zero. | ||
A88B | RET Z | |||
A88C | LD ($A022),DE | Write DE to *A022. | ||
A890 | LD A,D | A=D. | ||
A891 | AND %00001111 | Keep only bits 0-3. | ||
A893 | OR E | Set the bits from E. | ||
A894 | RET Z | Return if HL is equal to E. | ||
A895 | PUSH IX | Stash IX, HL, BC and DE on the stack. | ||
A897 | PUSH HL | |||
A898 | PUSH BC | |||
A899 | PUSH DE | |||
A89A | LD A,$20 | A=20. | ||
A89C | CALL $A9B7 | Call A9B7. | ||
A89F | LD A,D | A=D. | ||
A8A0 | AND %11110000 | Keep only bits 4-7. | ||
A8A2 | LD C,A | Compare C with 70. | ||
A8A3 | CP $70 | |||
A8A5 | LD A,$01 | A=01. | ||
A8A7 | JR NZ,$A8AC | Jump to A8AC if C is not equal to 70. | ||
A8A9 | LD ($A026),A | Write A to *A026. | ||
A8AC | LD A,D | A=D. | ||
A8AD | AND %00001111 | Keep only bits 0-3. | ||
A8AF | LD D,A | D=A. | ||
A8B0 | EX DE,HL | Exchange the DE and HL registers. | ||
A8B1 | PUSH HL | Stash HL on the stack. | ||
A8B2 | LD A,H | A=H. | ||
A8B3 | OR C | Set the bits from C. | ||
A8B4 | LD H,A | H=A. | ||
A8B5 | LD ($A022),HL | Write HL to *A022. | ||
A8B8 | POP HL | Restore HL from the stack. | ||
A8B9 | PUSH BC | Stash BC on the stack. | ||
A8BA | LD IX,$5D80 | IX=5D80. | ||
A8BE | LD B,$5F | B=5F. | ||
A8C0 | INC B | Increment B by one. | ||
A8C1 | LD A,(IX+$01) | Jump to A8CF if *IX+01 is less than H. | ||
A8C4 | CP H | |||
A8C5 | JR C,$A8CF | |||
A8C7 | JR NZ,$A8D9 | Jump to A8D9 if *IX+01 is not equal to H. | ||
A8C9 | LD A,(IX+$00) | Jump to A8D9 if *IX+00 is greater than or equal to L. | ||
A8CC | CP L | |||
A8CD | JR NC,$A8D9 | |||
A8CF | INC IX | Increment IX by two. | ||
A8D1 | INC IX | |||
A8D3 | LD A,B | Jump to A8C0 if B is not equal to 7B. | ||
A8D4 | CP $7B | |||
A8D6 | JR NZ,$A8C0 | |||
A8D8 | INC B | Increment B by one. | ||
A8D9 | JR Z,$A8E0 | Jump to A8E0 if B is equal to 7B. | ||
A8DB | DEC IX | Decrease IX by two. | ||
A8DD | DEC IX | |||
A8DF | DEC B | Decrease B by one. | ||
A8E0 | LD E,(IX+$00) | E=*IX+00. | ||
A8E3 | LD D,(IX+$01) | D=*IX+01. | ||
A8E6 | LD A,D | Jump to A8DB until DE is zero. | ||
A8E7 | OR E | |||
A8E8 | JR Z,$A8DB | |||
A8EA | LD A,B | A=B. | ||
A8EB | CALL $A9B7 | Call A9B7. | ||
A8EE | LD BC,$5DBF | HL+=5DBF. | ||
A8F1 | ADD HL,BC | |||
A8F2 | PUSH HL | Stash HL on the stack. | ||
A8F3 | EX DE,HL | Exchange the DE and HL registers. | ||
A8F4 | ADD HL,BC | HL+=BC. | ||
A8F5 | PUSH HL | Stash HL on the stack. | ||
A8F6 | AND A | HL-=DE (with carry). | ||
A8F7 | SBC HL,DE | |||
A8F9 | POP HL | Restore HL from the stack. | ||
A8FA | PUSH AF | Stash AF on the stack. | ||
A8FB | CALL $A95B | Call A95B. | ||
A8FE | POP AF | Restore AF from the stack. | ||
A8FF | JR NZ,$A8F5 | Jump to A8F5 if B is not equal to A. | ||
A901 | POP HL | Restore HL and BC from the stack. | ||
A902 | POP BC | |||
A903 | LD A,C | Jump to A91C if C is equal to 50. | ||
A904 | CP $50 | |||
A906 | JR Z,$A91C | |||
A908 | CP $40 | Jump to A919 if C is equal to 40. | ||
A90A | JR Z,$A919 | |||
A90C | CP $10 | Compare C with 10. | ||
A90E | LD A,($A034) | A=*A034. | ||
A911 | JR Z,$A916 | Jump to A916 if C is equal to 10. | ||
A913 | LD A,($A036) | Jump to A91C if *A036 is zero. | ||
A916 | AND A | |||
A917 | JR Z,$A91C | |||
A919 | CALL $A92F | Call A92F. | ||
A91C | LD HL,$5C42 | HL=NEWPPC. | ||
A91F | LD A,(HL) | A=*HL. | ||
A920 | AND A | Set flags. | ||
A921 | JR Z,$A929 | Jump to A929 if A is equal to A. | ||
A923 | CALL $A9B7 | Call A9B7. | ||
A926 | INC HL | Increment HL by one. | ||
A927 | JR $A91F | Jump to A91F. | ||
A929 | POP DE | Restore DE, BC, HL and IX from the stack. | ||
A92A | POP BC | |||
A92B | POP HL | |||
A92C | POP IX | |||
A92E | RET | Return. |
Prev: A852 | Up: Map | Next: A92F |