![]() |
Routines |
| Prev: 24797 | Up: Map | Next: 24967 |
|
Used by the routines at PlayerReset and ResetPlayers.
|
||||
|
This routine "swaps" the data between DE and HL.
|
||||
| ChangePlayer | 24938 | LD HL,24048 | HL=ActivePlayer_Level. | |
| 24941 | LD DE,24056 | DE=InactivePlayer_Level. | ||
| 24944 | LD B,2 | B=2 (counter). | ||
| 24946 | CALL ChangePlayer_Loop | Call ChangePlayer_Loop. | ||
| 24949 | LD HL,23856 | HL=ActivePlayerRocket_State. | ||
| 24952 | LD DE,23960 | DE=InactivePlayerRocket_State. | ||
| 24955 | LD B,24 | B=24 (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 | 24957 | LD A,(DE) | A=DE. | |
| 24958 | LD C,(HL) | C=HL. | ||
| 24959 | LD (HL),A | Store A at HL. | ||
| 24960 | LD A,C | Store C at DE. | ||
| 24961 | LD (DE),A | |||
| 24962 | INC HL | Increment both HL and DE by one. | ||
| 24963 | INC DE | |||
| 24964 | DJNZ ChangePlayer_Loop | Decrease counter by one and loop back to ChangePlayer_Loop until counter is zero. | ||
| 24966 | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: 24797 | Up: Map | Next: 24967 |