638A: Update the screen.
ScreenUpdate |
638A |
DI |
|
638B |
LD HL,Zeros |
|
638E |
LD DE,Exits |
|
6391 |
LD BC,$0004 |
|
6394 |
LDIR |
|
6396 |
CALL PathIntersect |
|
6399 |
CALL Screen_DrawStage |
|
639C |
LD DE,(Hero_Anim) |
|
63A0 |
LD A,(ThruDoorCounter_E004) |
|
63A3 |
AND A |
|
63A4 |
JR NZ,ScreenUpdate_0 |
|
63A6 |
LD A,(ManCamDirection_DFD5) |
|
63A9 |
LD HL,(CamDirection_DFD2) |
|
63AC |
LD E,$12 |
|
63AE |
CP L |
|
63AF |
JR Z,ScreenUpdate_0 |
|
63B1 |
LD E,$13 |
|
63B3 |
ADD A,$02 |
|
63B5 |
AND $03 |
|
63B7 |
CP L |
|
63B8 |
JR Z,ScreenUpdate_0 |
|
63BA |
LD E,$10 |
|
63BC |
LD A,(ManCamDirection_DFD5) |
|
63BF |
SUB L |
|
63C0 |
AND $03 |
|
63C2 |
LD (ManWalkDirection_DFD4),A |
|
63C5 |
CP $03 |
|
63C7 |
JR NZ,ScreenUpdate_0 |
|
63C9 |
LD A,$02 |
|
63CB |
LD (ManWalkDirection_DFD4),A |
ScreenUpdate_0 |
63CE |
LD D,$00 |
|
63D0 |
LD (Hero_Anim),DE |
|
63D4 |
LD A,(ThruDoorCounter_E004) |
|
63D7 |
AND A |
|
63D8 |
JR Z,ScreenUpdate_1 |
|
63DA |
CALL Vector_MobilesUpdate1 |
|
63DD |
JR ScreenUpdate_2 |
ScreenUpdate_1 |
63DF |
LD A,(Hero_Anim) |
|
63E2 |
CALL Vector_MobilesUpdate2 |
ScreenUpdate_2 |
63E5 |
LD A,(BgType) |
|
63E8 |
AND A |
|
63E9 |
JR Z,ScreenUpdate_7 |
|
63EB |
LD HL,$5800 |
|
63EE |
LD DE,$5801 |
|
63F1 |
LD BC,$009F |
|
63F4 |
LD A,(BgType) |
|
63F7 |
CP $02 |
|
63F9 |
JR NZ,ScreenUpdate_3 |
|
63FB |
LD BC,$00DF |
ScreenUpdate_3 |
63FE |
LD A,(BgColour) |
|
6401 |
LD (HL),A |
|
6402 |
LDIR |
|
6404 |
INC HL |
|
6405 |
INC DE |
|
6406 |
LD A,(BgColour) |
|
6409 |
RRA |
|
640A |
RRA |
|
640B |
RRA |
|
640C |
AND $07 |
|
640E |
LD B,A |
|
640F |
LD A,($DFEE) |
|
6412 |
AND $F8 |
|
6414 |
OR B |
|
6415 |
LD (HL),A |
|
6416 |
LD BC,$001F |
|
6419 |
LDIR |
|
641B |
INC HL |
|
641C |
INC DE |
|
641D |
LD A,($DFEE) |
|
6420 |
LD (HL),A |
|
6421 |
LD BC,$013F |
|
6424 |
LD A,(BgType) |
|
6427 |
CP $02 |
|
6429 |
JR NZ,ScreenUpdate_4 |
|
642B |
LD BC,$00FF |
|
642E |
LDIR |
|
6430 |
LD DE,$40E0 |
|
6433 |
JR ScreenUpdate_5 |
ScreenUpdate_4 |
6435 |
LDIR |
|
6437 |
LD DE,$40A0 |
ScreenUpdate_5 |
643A |
PUSH DE |
|
643B |
LD HL,$4000 |
|
643E |
LD DE,$4001 |
|
6441 |
LD BC,$07FF |
|
6444 |
LD (HL),$00 |
|
6446 |
LDIR |
|
6448 |
POP DE |
|
6449 |
LD HL,( BitmapData_d08f) |
|
644C |
LD BC,BmpStart_E |
|
644F |
ADD HL,BC |
ScreenUpdate_6 |
6450 |
PUSH DE |
|
6451 |
LD BC,$0020 |
|
6454 |
LDIR |
|
6456 |
POP DE |
|
6457 |
INC D |
|
6458 |
LD A,D |
|
6459 |
AND $07 |
|
645B |
JR NZ,ScreenUpdate_6 |
|
645D |
JP ScreenUpdate_11 |
ScreenUpdate_7 |
6460 |
LD HL,$4000 |
|
6463 |
LD DE,$4001 |
|
6466 |
LD BC,$07FF |
|
6469 |
LD (HL),$00 |
|
646B |
LDIR |
|
646D |
LD HL,(CamDirection_DFD2) |
|
6470 |
LD A,(AreaDataCurrent_CompassOffset) |
|
6473 |
ADD A,L |
|
6474 |
AND $03 |
|
6476 |
LD L,A |
|
6477 |
LD H,$00 |
|
6479 |
ADD HL,HL |
|
647A |
ADD HL,HL |
|
647B |
ADD HL,HL |
|
647C |
EX DE,HL |
|
647D |
LD IX,SkyColours |
|
6481 |
ADD IX,DE |
|
6483 |
LD HL,$5800 |
|
6486 |
LD DE,$5801 |
|
6489 |
LD A,$08 |
ScreenUpdate_8 |
648B |
EX AF,AF' |
|
648C |
LD A,(IX+$00) |
|
648F |
LD (HL),A |
|
6490 |
LD BC,$001F |
|
6493 |
LDIR |
|
6495 |
INC IX |
|
6497 |
INC HL |
|
6498 |
INC DE |
|
6499 |
EX AF,AF' |
|
649A |
DEC A |
|
649B |
JR NZ,ScreenUpdate_8 |
|
649D |
LD (HL),$30 |
|
649F |
LD BC,$00FF |
|
64A2 |
LDIR |
|
64A4 |
LD B,$30 |
|
64A6 |
LD C,$00 |
|
64A8 |
LD HL,$00D1 |
|
64AB |
XOR A |
|
64AC |
CALL Vector_BlitBitmap |
|
64AF |
LD A,(CamDirection_DFD2) |
|
64B2 |
LD HL,(AreaDataCurrent_CompassOffset) |
|
64B5 |
ADD A,L |
|
64B6 |
AND $03 |
|
64B8 |
ADD A,$D2 |
|
64BA |
LD B,$18 |
|
64BC |
CP $D4 |
|
64BE |
JR NZ,ScreenUpdate_9 |
|
64C0 |
LD HL,$00AD |
|
64C3 |
XOR A |
|
64C4 |
LD C,$80 |
|
64C6 |
CALL Vector_BlitBitmap |
|
64C9 |
LD B,$20 |
|
64CB |
LD A,$D4 |
ScreenUpdate_9 |
64CD |
PUSH AF |
|
64CE |
LD L,A |
|
64CF |
LD H,$00 |
|
64D1 |
XOR A |
|
64D2 |
LD C,A |
|
64D3 |
CALL Vector_BlitBitmap |
|
64D6 |
POP AF |
|
64D7 |
CP $D2 |
|
64D9 |
JR NZ,ScreenUpdate_10 |
|
64DB |
LD HL,$00D6 |
|
64DE |
LD B,$10 |
|
64E0 |
LD C,$40 |
|
64E2 |
XOR A |
|
64E3 |
CALL Vector_BlitBitmap |
ScreenUpdate_10 |
64E6 |
LD A,(CamDirection_DFD2) |
|
64E9 |
LD HL,(AreaDataCurrent_CompassOffset) |
|
64EC |
ADD A,L |
|
64ED |
BIT 0,A |
|
64EF |
JR Z,ScreenUpdate_11 |
|
64F1 |
LD HL,$00CF |
|
64F4 |
LD B,$08 |
|
64F6 |
LD C,$00 |
|
64F8 |
XOR A |
|
64F9 |
CALL Vector_BlitBitmap |
ScreenUpdate_11 |
64FC |
DEFB $21,$C9,$00,$06,$80,$0E,$00,$AF |
|
6504 |
DEFB $CD,$0F,$7B |
|
6507 |
DEFB $2A,$D2,$DF,$3A,$E9,$DF,$85,$E6 |
|
650F |
DEFB $03 |
|
6510 |
DEFB $6F,$26,$00,$11,$72,$63,$19 |
|
6517 |
DEFB $11,$7A,$63,$0E,$04,$06,$07 |
ScreenUpdate_DisplayCompass |
651E |
DEFB $1A,$CD,$25,$89,$13,$10,$F9 |
|
6525 |
DEFB $7E,$CD,$25,$89,$23 |
|
652A |
DEFB $06,$03,$0D,$20,$EF |
|
652F |
CALL Vector_OffScrBlit |
|
6532 |
EI |
|
6533 |
RET |