![]() |
Routines |
| Prev: 6106 | Up: Map | Next: 614B |
|
Used by the routine at 6A9B.
|
||||
| SoundsCupRefuel | 611B | LD A,($5E29) | A=GameTimer. | |
| 611E | AND %00000001 | Keep only bit 0. | ||
| 6120 | RET NZ | Return every other frame. | ||
| 6121 | LD HL,$5E46 | HL=SoundCounter. | ||
| 6124 | LD A,(HL) | A=item ID. | ||
| 6125 | BIT 7,A | Jump to SoundsCup if bit 7 is not set. | ||
| 6127 | JR NZ,SoundsCup | |||
| 6129 | AND A | Return if item ID is zero. | ||
| 612A | RET Z | |||
| 612B | DEC A | Decrease A/ item ID by one. | ||
| 612C | LD (HL),A | Store A at SoundCounter. | ||
| 612D | RET Z | Return if the new item ID is zero. | ||
| SoundsRefuel | 612E | RLCA | A=A * 04. | |
| 612F | RLCA | |||
| 6130 | AND %00011100 | Keep only bits 2-4. | ||
| 6132 | OR %00100000 | Set bit 5. | ||
| 6134 | LD D,A | Store the result in D. | ||
| 6135 | LD C,$20 | C=20. | ||
| SoundsCupRefuel_Loop | 6137 | CALL PlaySquareWave | Call PlaySquareWave. | |
| 613A | DEC C | Decrease C by one. | ||
| 613B | JR NZ,SoundsCupRefuel_Loop | Jump back to SoundsCupRefuel_Loop until C is zero. | ||
| 613D | RET | Return. | ||
| SoundsCup | 613E | AND %01111111 | Keep only bits 0-6. | |
| 6140 | RET Z | Return if A is now zero. | ||
| 6141 | DEC A | Decrease A by one. | ||
| 6142 | OR %10000000 | Set bit 7. | ||
| 6144 | LD (HL),A | Store A at SoundCounter. | ||
| 6145 | AND %01111111 | Keep only bits 0-6. | ||
| 6147 | RET Z | Return if A is now zero. | ||
| 6148 | CPL | Flip the bits. | ||
| 6149 | JR SoundsRefuel | Jump to SoundsRefuel. | ||
| Prev: 6106 | Up: Map | Next: 614B |