![]() |
Routines |
| Prev: 28615 | Up: Map | Next: 28635 |
|
Used by the routine at 28357. Returns with a randomly chosen message number (different from the last one used) in A. On entry, A holds 197 or 198 depending on the type of message required: 197 for a person or group of people, 198 for a verb.
|
||||||||
| 28616 | LD C,A | Point BC at the relevant last used message number (see 28613) | ||||||
| 28617 | LD B,111 | |||||||
| 28619 | LD A,(BC) | E=last used message number (8-15, 16-23) | ||||||
| 28620 | LD E,A | |||||||
| 28621 | AND 248 | Discard bits 0-2 | ||||||
| 28623 | LD D,A | D=8 or 16 | ||||||
| 28624 | CALL 61823 | Get a random number in A | ||||||
| 28627 | AND 7 | A=message number (8-15, 16-23) | ||||||
| 28629 | ADD A,D | |||||||
| 28630 | CP E | Is this the same message number as last time? | ||||||
| 28631 | JR Z,28624 | Jump back to try again if so | ||||||
| 28633 | LD (BC),A | Store the randomly chosen message number for comparison next time | ||||||
| 28634 | RET | |||||||
| Prev: 28615 | Up: Map | Next: 28635 |