Routines |
Prev: 7C64 | Up: Map | Next: 7C8F |
Used by the routine at 7C8F, and also by the unused routines at 7C95 and 7CA1. The event identifier in A (0x00, 0x07-0x0C), taken modulo 8, corresponds to a bit in one of the bytes at 7F80 (A<=7) or 7F81 (A>=8). On exit, HL points to the appropriate byte and A holds the bit mask (single bit set), as follows:
|
||||||||||||||||||||||||||||||||
7C75 | AND A | Set the carry flag if the event identifier is odd | ||||||||||||||||||||||||||||||
7C76 | RRA | |||||||||||||||||||||||||||||||
7C77 | LD E,A | Copy bits 1-3 of the event ID into bits 0-2 of E | ||||||||||||||||||||||||||||||
7C78 | LD A,$00 | A=0x01 if the event ID is an even number, 0x02 if it's an odd number | ||||||||||||||||||||||||||||||
7C7A | ADC A,A | |||||||||||||||||||||||||||||||
7C7B | INC A | |||||||||||||||||||||||||||||||
7C7C | RR E | Now bits 2 and 3 of the event ID are in bits 0 and 1 of E | ||||||||||||||||||||||||||||||
7C7E | JR NC,$7C82 | Jump if the event ID is 0x00, 0x08, 0x09 or 0x0C (bit 1 reset) | ||||||||||||||||||||||||||||||
7C80 | ADD A,A | A=0x04 (event ID = 0x0A) or 8 (event ID = 0x07 or 0x0B) | ||||||||||||||||||||||||||||||
7C81 | ADD A,A | |||||||||||||||||||||||||||||||
7C82 | SCF | |||||||||||||||||||||||||||||||
7C83 | RR E | E=0x80 (event ID <= 0x07) or 0x81 | ||||||||||||||||||||||||||||||
7C85 | JR NC,$7C8B | Jump if the event ID is 0x00, 0x08, 0x09, 0x0A or 0x0B (bit 2 reset) | ||||||||||||||||||||||||||||||
7C87 | ADD A,A | A=0x10 (event ID = 0x0C) or 0x80 (event ID = 0x07) | ||||||||||||||||||||||||||||||
7C88 | ADD A,A | |||||||||||||||||||||||||||||||
7C89 | ADD A,A | |||||||||||||||||||||||||||||||
7C8A | ADD A,A | |||||||||||||||||||||||||||||||
7C8B | LD D,$7F | HL=7F80 or 7F81 | ||||||||||||||||||||||||||||||
7C8D | EX DE,HL | |||||||||||||||||||||||||||||||
7C8E | RET |
Prev: 7C64 | Up: Map | Next: 7C8F |