|  | Routines | 
| Prev: ED13 | Up: Map | Next: ED8A | 
| 
Used by the routine at 8184.
 | ||||
| ED2A | LD A,($ECF5) | Get the index of the next reward screen. (ECF5) | ||
| ED2D | ADD A,A | Double it to get a word offset | ||
| ED2E | LD E,A | Put this in DE. | ||
| ED2F | LD D,$00 | |||
| ED31 | LD HL,$ECF6 | Add the base address of the reward value buffer. (ECF6) | ||
| ED34 | ADD HL,DE | |||
| ED35 | LD A,($ECFF) | Get the "tens" part of the total money earned. | ||
| ED38 | SUB (HL) | Subtract the "tens" value. | ||
| ED39 | INC HL | Move to the next entry containsing the "hundreds" | ||
| ED3A | LD A,($ECFE) | Get the "hundreds" part of the total money earned. | ||
| ED3D | SBC A,(HL) | Subtract the "hundreds" value, accounting for any carry with the "tens". | ||
| ED3E | RET C | Return if the value is greater than our current earnings. | ||
| 
We've got enough money, so display a graphic.
 | ||||
| ED3F | LD BC,$0000 | Pause for a bit. | ||
| ED42 | DEC BC | |||
| ED43 | NOP | |||
| ED44 | NOP | |||
| ED45 | LD A,B | |||
| ED46 | OR C | |||
| ED47 | JR NZ,$ED42 | |||
| ED49 | CALL $B902 | Clear the playing area. | ||
| ED4C | LD HL,$ED00 | Add the word offset previously stored in DE to the base address of the message buffer. (ED00) | ||
| ED4F | ADD HL,DE | |||
| ED50 | LD E,(HL) | Put the actual address in DE. | ||
| ED51 | INC HL | |||
| ED52 | LD D,(HL) | |||
| ED53 | EX DE,HL | Swap DE and HL. | ||
| ED54 | LD DE,$0000 | Set the position to top left. | ||
| ED57 | CALL $B8C4 | Print the string pointed to by HL. | ||
| ED5A | CALL $B9AC | Draw the screen. | ||
| ED5D | CALL $EEA2 | Update the sprite buffers. | ||
| ED60 | LD A,($ECF5) | Get the index of the next reward screen. (ECF5) | ||
| ED63 | ADD A,A | Double it and add 65 to get an appropriate index for the reward screen moving graphics. | ||
| ED64 | ADD A,$65 | |||
| ED66 | LD IX,$ED06 | Point IX at the movement table for the reward screens. (ED06) | ||
| ED6A | LD B,$03 | Three rounds to draw. | ||
| ED6C | PUSH BC | Store BC. | ||
| ED6D | LD BC,$F5CA | Point BC at the bounds for the moving graphics. | ||
| ED70 | CALL $EF35 | Update the moving objects. | ||
| ED73 | CALL $A8A0 | Put the object in the sprite buffer. | ||
| ED76 | POP BC | Restore BC. | ||
| ED77 | DJNZ $ED6C | Loop back while there's more to display. | ||
| ED79 | CALL $B9FB | Put the sprites on screen. | ||
| ED7C | CALL $ABD7 | Was a key pressed? | ||
| ED7F | OR A | |||
| ED80 | JR Z,$ED5D | If not, loop back to draw some more. | ||
| ED82 | LD HL,$ECF5 | Move onto the next reward screen index. | ||
| ED85 | INC (HL) | |||
| ED86 | CALL $B952 | Draw the room. | ||
| ED89 | RET | Return. | ||
| Prev: ED13 | Up: Map | Next: ED8A |