Prev: E3A5 Up: Map Next: E42E
E3B7: Fade the glyph attribute band, then advance the handshake
The entry point the HANDSHAKE script command dispatches to ($5FB7 in the relocated dispatch table). It fades the band one step by calling es_handler_glyph_fade_b at es_handler_glyph_fade_b -- $6072 once relocated -- then falls into es_handler_handshake_advance. The RESET HANDSHAKE and HANDSHAKE AGAIN commands enter at $5FBA instead, skipping the fade.
es_handler_handshake E3B7 CALL $6072 Call es_handler_glyph_fade_b [es_handler_glyph_fade_b]
es_handler_handshake_advance E3BA LD HL,$5C6D
E3BD RLC (HL)
E3BF JR NC,es_handler_handshake_6
E3C1 LD A,($A172)
E3C4 LD B,A
E3C5 ADD A,A
E3C6 ADD A,B
E3C7 LD C,A
E3C8 LD A,B
E3C9 LD B,$00
E3CB INC A
E3CC CP $06
E3CE JR NZ,es_handler_handshake_0
E3D0 XOR A
es_handler_handshake_0 E3D1 LD ($A172),A
E3D4 LD HL,$5FA5
E3D7 ADD HL,BC
E3D8 LD B,(HL)
E3D9 INC HL
E3DA LD A,(HL)
E3DB INC HL
E3DC LD H,(HL)
E3DD LD L,A
E3DE LD DE,$48AC
es_handler_handshake_1 E3E1 PUSH BC
E3E2 LD BC,$0008
E3E5 PUSH DE
E3E6 LDIR
E3E8 POP DE
E3E9 INC D
E3EA LD A,D
E3EB AND $07
E3ED JR NZ,es_handler_handshake_2
E3EF LD A,E
E3F0 ADD A,$20
E3F2 LD E,A
E3F3 JR C,es_handler_handshake_2
E3F5 LD A,D
E3F6 SUB $08
E3F8 LD D,A
es_handler_handshake_2 E3F9 POP BC
E3FA DJNZ es_handler_handshake_1
E3FC LD C,$03
es_handler_handshake_3 E3FE LD B,$08
E400 XOR A
E401 PUSH DE
es_handler_handshake_4 E402 LD (DE),A
E403 INC E
E404 DJNZ es_handler_handshake_4
E406 POP DE
E407 INC D
E408 LD A,D
E409 AND $07
E40B JR NZ,es_handler_handshake_5
E40D LD A,E
E40E ADD A,$20
E410 LD E,A
E411 JR C,es_handler_handshake_5
E413 LD A,D
E414 SUB $08
E416 LD D,A
es_handler_handshake_5 E417 DEC C
E418 JR NZ,es_handler_handshake_3
es_handler_handshake_6 E41A LD HL,$59AC
E41D LD DE,$0018
E420 LD C,$05
es_handler_handshake_7 E422 LD B,$08
es_handler_handshake_8 E424 LD (HL),$07
E426 INC L
E427 DJNZ es_handler_handshake_8
E429 ADD HL,DE
E42A DEC C
E42B JR NZ,es_handler_handshake_7
E42D RET
Prev: E3A5 Up: Map Next: E42E