![]() |
Routines |
| Prev: A95A | Up: Map | Next: A9B1 |
|
Reached through UPDATES: the scene after the twenty-fourth chamber, set up by GAME_ENDED in pixels (the scene is not projected). The robot waits 64 turns, is lowered three pixels a turn into the can of oil (graphic 85) until it is below 40, stays there while its count runs on to 128, then rises three pixels a turn, now bright white, to 128, with a sound pitched by its height as it moves. Then a tune, and back to the menu (AFTER_GAME).
+11 counts: 0 to 63 waiting; 64 going down and then counting at the bottom; 128 and over going up. +10 is its colour (COLOUR_SCENE_OBJECT, in SCENE_SPARKS).
|
||||
| OILED_ROBOT | A971 | LD A,(IX+$11) | the first 64 turns: wait | |
| A974 | CP $40 | |||
| A976 | JR C,OILED_ROBOT_2 | |||
| A978 | CP $80 | 128 on: going up | ||
| A97A | JR NC,OILED_ROBOT_3 | |||
| A97C | LD A,(IX+$1B) | at the bottom: count | ||
| A97F | CP $28 | |||
| A981 | JR C,OILED_ROBOT_2 | |||
| A983 | SUB $03 | three pixels down | ||
| A985 | LD (IX+$1B),A | |||
| OILED_ROBOT_0 | A988 | CALL BEEP_BY_A | a sound pitched by its height; redraw | |
| A98B | CALL SET_WIPE_AND_DRAW_FLAGS | |||
| OILED_ROBOT_1 | A98E | JP COLOUR_SCENE_OBJECT | colour its cells | |
| OILED_ROBOT_2 | A991 | INC (IX+$11) | count on | |
| A994 | JR OILED_ROBOT_1 | |||
| OILED_ROBOT_3 | A996 | LD A,(IX+$1B) | at the top: done | |
| A999 | CP $80 | |||
| A99B | JR NC,OILED_ROBOT_4 | |||
| A99D | ADD A,$03 | three pixels up, now bright white | ||
| A99F | LD (IX+$1B),A | |||
| A9A2 | LD (IX+$10),$47 | |||
| A9A6 | JR OILED_ROBOT_0 | |||
| OILED_ROBOT_4 | A9A8 | LD DE,TUNE_WON | a tune, and back to the menu | |
| A9AB | CALL PLAY_TUNE | |||
| A9AE | JP AFTER_GAME | |||
| Prev: A95A | Up: Map | Next: A9B1 |