![]() |
Routines |
| Prev: C3AA | Up: Map | Next: C3D8 |
|
Used by the routine at NEW_GAME.
Called by the main loop every turn. EFFECT_TIME is how many notes are left, EFFECT which effect. While the count is not zero, this takes one off and plays twelve waves at the pitch found at the effect's address in EFFECT_TABLE plus the count before it was taken: the notes run backwards from the end, and the byte at the effect's address is never played. The same routine as Pentagram's.
|
||||
| EFFECT_NOTE | C3BD | LD HL,EFFECT_TIME | nothing under way: done | |
| C3C0 | LD A,(HL) | |||
| C3C1 | AND A | |||
| C3C2 | RET Z | |||
| C3C3 | DEC (HL) | one note fewer; keep the count before | ||
| C3C4 | EX AF,AF' | |||
| C3C5 | INC HL | HL = the effect's notes | ||
| C3C6 | LD A,(HL) | |||
| C3C7 | LD BC,EFFECT_TABLE | |||
| C3CA | CALL TABLE_WORD | |||
| C3CD | EX AF,AF' | twelve waves at the note the count points to | ||
| C3CE | LD C,A | |||
| C3CF | LD B,$00 | |||
| C3D1 | ADD HL,BC | |||
| C3D2 | LD B,(HL) | |||
| C3D3 | LD C,$0C | |||
| C3D5 | JP BEEP | |||
| Prev: C3AA | Up: Map | Next: C3D8 |