![]() |
Routines |
| Prev: 60DD | Up: Map | Next: 6187 |
|
Used by the routines at PlayerReset and ResetPlayers.
|
||||
|
This routine "swaps" the data between DE and HL.
|
||||
| ChangePlayer | 616A | LD HL,$5DF0 | HL=ActivePlayer_Level. | |
| 616D | LD DE,$5DF8 | DE=InactivePlayer_Level. | ||
| 6170 | LD B,$02 | B=02 (counter). | ||
| 6172 | CALL ChangePlayer_Loop | Call ChangePlayer_Loop. | ||
| 6175 | LD HL,$5D30 | HL=ActivePlayerRocket_State. | ||
| 6178 | LD DE,$5D98 | DE=InactivePlayerRocket_State. | ||
| 617B | LD B,$18 | B=18 (counter). | ||
|
This looks complicated but it's just grabbing the data from DE, grabbing the data from HL, and writing the others data to each one.
|
||||
| ChangePlayer_Loop | 617D | LD A,(DE) | A=DE. | |
| 617E | LD C,(HL) | C=HL. | ||
| 617F | LD (HL),A | Store A at HL. | ||
| 6180 | LD A,C | Store C at DE. | ||
| 6181 | LD (DE),A | |||
| 6182 | INC HL | Increment both HL and DE by one. | ||
| 6183 | INC DE | |||
| 6184 | DJNZ ChangePlayer_Loop | Decrease counter by one and loop back to ChangePlayer_Loop until counter is zero. | ||
| 6186 | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: 60DD | Up: Map | Next: 6187 |