Prev: 37488 Up: Map Next: 37749
37573: Routine at 92C5
Used by the routine at 37488.
37573 LD A,(29191) Return if *29191 is not equal to 0.
37576 CP 0
37578 RET NZ
37579 LD A,(39406) Write *39406 to *39338.
37582 LD (39338),A
37585 LD HL,29184 HL=29184.
37588 CALL 37945 Call 37945.
37591 LD IX,29184 IX=29184.
37595 BIT 6,(IX+6) Test bit 6 of *IX+6.
37599 JR NZ,37662 Jump to 37662 if A is not zero.
37601 LD A,(29240) Jump to 37635 if *29240 is equal to 0.
37604 CP 0
37606 JR Z,37635
37608 DEC A Decrease A by one.
37609 LD (29240),A Write A to *29240.
37612 BIT 2,A Test bit 2 of A.
37614 JR NZ,37635 Jump to 37635 if A is not zero.
37616 AND %00000011 Keep only bits 0-1.
37618 CP 3 Compare A with 3.
37620 LD A,(29190) A=*29190.
37623 CALL Z,38425 Call 38425 zero.
37626 AND %00011000 Keep only bits 3-4.
37628 LD E,A E=A.
37629 LD IX,29184 IX=29184.
37633 JR 37641 Jump to 37641.
37635 CALL 37740 Call 37740.
37638 CP 32 Return if A is equal to 32.
37640 RET Z
37641 LD A,(29190) A=*29190.
37644 AND %00011000 Keep only bits 3-4.
37646 CP E Jump to 37654 if A is equal to E.
37647 JR Z,37654
37649 LD (IX+6),E Write E to *IX+6.
37652 JR 37691 Jump to 37691.
37654 BIT 5,(IX+6) Test bit 5 of *IX+6.
37658 JR Z,37668 Jump to 37668 if A is zero.
37660 JR 37649 Jump to 37649.
37662 RES 6,(IX+6) Reset bit 6 of *IX+6.
37666 JR 37691 Jump to 37691.
37668 LD HL,(29185) HL=*29185.
37671 CALL 37749 Call 37749.
37674 BIT 5,A Test bit 5 of A.
37676 RET NZ Return if {} is not zero.
37677 BIT 4,A Test bit 4 of A.
37679 JR NZ,37724 Jump to 37724 if A is not zero.
37681 BIT 0,A Test bit 0 of A.
37683 RET NZ Return if {} is not zero.
37684 LD (29188),HL Write HL to *29188.
37687 SET 5,(IX+6) Set bit 5 of *IX+6.
37691 LD IX,29184 IX=29184.
37695 LD BC,(39354) BC=*39354.
37699 CALL 37891 Call 37891.
This entry point is used by the routine at 37488.
37702 LD A,(29190) A=*29190.
37705 LD IX,(39354) IX=39354.
37709 CALL 38342 Call 38342.
37712 LD IX,29184 IX=29184.
37716 LD BC,(39354) BC=*39354.
37720 CALL 37918 Call 37918.
37723 RET Return.
37724 SET 6,(IX+6) Set bit 6 of *IX+6.
37728 CALL 37789 Call 37789.
37731 LD DE,29192 Write 29192 to *39352.
37734 LD (39352),DE
37738 JR 37691 Jump to 37691.
37740 CALL Handler_Controls Call Handler_Controls.
37743 LD A,E Return if E is not equal to 40.
37744 CP 40
37746 RET NZ
37747 POP HL Restore HL from the stack.
37748 RET Return.
Prev: 37488 Up: Map Next: 37749