Each star is protected by one of seven guardians, and learning how to defend yourself from these is the key to survival. Each guardian has ‘servants’ and the patterns and habits of these must also be learned.
Guardians can only be “sent to Pandaemonium” (killed) during the day cycle – shooting them has no effect during the night cycle.
The guardian type for the level is stored in $4B2, and is read in from the level data from offset +0x0
0000 – The Devil
The Devil’s servants are the hardest to deal with. You can avoid them by running away, but this is time (and energy) consuming. To shoot them, retreat to a safe distance, wait for them to come into your line of fire and shoot them.
The colour palette is modified for this guardian.
The guardian function at 2A858 references a memory table at 36514-365AB (length 0x98 or 152 bytes) for this guardian.
0001 – Rotating blades
Only appears within the Sagittarius constellation, and presumably was meant to be a secret, but since it’s value is 0x1, it appears in the second viewing of the demo, if you just leave the title screen running!
It’s pattern is predictable, but it is so fast, it is almost impossible to avoid. The eight mini-blades it constantly fires add to the difficulty.
The guardian function at 2A858 references a memory table at 365AC-36643 (length 0x98 or 152 bytes) for this guardian.
0002 – The Hand
The Hand produces spinning silver stars which require swift action to avoid. If you leave them alone, they split into two – and they can do this twice. During the game, the hand is just shown as the sprite with the outstretched fingers, with the eye sprite overlayed on top of it. During the game over screen, all five frames of the hand sprite are used as it rises from the grave to wave you goodbye.
The guardian function at 2A858 references a memory table at 36644-366DB (length 0x98 or 152 bytes) for this guardian.
0003 – The Hydra
The Hydra moves in a simple circular pattern, firing six servants at a time – two from each of its heads. The servants need to be shot twice to be destroyed. If they are not too close, it’s best to leave them alone, as they soon disappear.
The guardian function at 2A858 references a memory table at 366DE-36773 (length 0x98 or 152 bytes) for this guardian.
0004 – The Spider
The Spider’s servants move in a circular motion towards you and also have to be hit twice to be killed. They don’t pose too much of a problem, so it’s often best to leave them alone, but on later levels they start to home in on you.
The guardian function at 2A858 references a memory table at 36774-3680B (length 0x98 or 152 bytes) for this guardian.
0005 – The Firefly
This guardian flies in a predictable spiral pattern, but it’s servants aren’t quite as simple. They fly out three times in diagonals, but horizontally and vertically on the fourth. Once you master that pattern, it’s easy to work out where the next wave of servants will be going and be ready to avoid them.
The guardian function at 2A858 references a memory table at 3680C-368A3 (length 0x98 or 152 bytes) for this guardian.
0006 – The Maggot
May seem to be the hardest guardian to deal with, as it always appears on the left hand side of the screen in line with you. During the day cycle, move into the centre of the screen and shoot as it will be directly in the line of fire.
The guardian function at 2A858 references a memory table at 368A4-3693B (length 0x98 or 152 bytes) for this guardian.
Guardian Memory Address Tables
| Guardian | Start Addr | End Addr | Length |
| 0000 Devil | 0x36514 | 0x365AB | 0x98 (152) |
| 0001 Blades | 0x365AC | 0x36643 | 0x98 (152) |
| 0002 Hand | 0x36644 | 0x366DB | 0x98 (152) |
| 0003 Hydra | 0x366DC | 0x36773 | 0x98 (152) |
| 0004 Spider | 0x36774 | 0x3680B | 0x98 (152) |
| 0005 Firefly | 0x3680C | 0x368A3 | 0x98 (152) |
| 0006 Maggot | 0x368A4 | 0x3693B | 0x98 (152) |

Leave a comment