1987 · Pandora

Into the Eagle's Nest

This minisite was contributed by air, Nico-van-der-Zijden. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/into-the-eagles-nest with me to Gold.

The play screen is multicolour and hires at once, chosen cell by cell: the walls are hires, the floors are not. The castle's character set has room for only ten letters, and the player's bullet is never drawn at all.

01 · Colour modes

The walls are hires and the floors are multicolour, on the same screen

The video chip picks the mode for each character cell from that cell's own colour, and the game chooses the colours tile by tile.

Show

One frame of play recorded in VICE and drawn from its memory. The marks come from the frame's colour RAM.

In multicolour text mode each pair of bits in a character makes one pixel twice as wide, in one of four colours: the background, two colours shared by the whole screen, and the cell's own colour. The cell's colour has a second job. When it is 8 or more the cell is drawn that way, in the colour less 8; below 8 the cell is drawn as an ordinary hires character, one bit a pixel in one colour on the background.

The game sets each cell's colour from a table at $8600, one byte for each of its 256 tiles, as it draws the room. The table gives 67 tiles a colour below 8 and 189 one of 8 or more. The walls are colour 3, so they are hires: cyan bricks with every pixel of their detail. The floors, the doors, the furniture and the guards are multicolour, in black, dark grey ($D022), grey ($D023) and a colour of their own.

The panel's cells are colour 7, so the panel is hires yellow and its letters are black. Below the play area the interrupt turns multicolour off for the whole band ($D016 = $C4 on line 228). The message line's two rows of cells have colours 8 and 7, which with multicolour off are simply orange and yellow, so every letter on the line has an orange top and a yellow foot.

02 · The play set

Every tile, in the mode the screen draws it in

The character set at $2000, each tile coloured from the table at $8600.

Draw

Point at a tile, or tap it, for its code and colour.

Most tiles are a piece of something bigger: a quarter of a chest, a corner of a door, a part of a guard. The castle's map is made of blocks of four tiles by four, which the How it works tab shows being put together. Drawing every tile in multicolour turns the walls into stripes, and drawing every tile in hires turns the floors into noise, which is why the game needs both.

03 · The panel's letters

Ten letters, exactly enough for KEYS, AMMO and HITS

The castle's character set has no alphabet. It has the ten letters the panel uses, put wherever a tile was free.

Draw

The letters are A $01, M $24, O $25, H $26, I $27, T $2C, S $2D, K $2E, E $2F and Y $74. A panel cell is hires yellow: a set bit is yellow and a clear bit shows the black background. The letters are the clear bits, cut out of a solid cell, so in the character set itself each one is a yellow block with a letter-shaped hole in it.

The digits sit together at $F0 to $F9, so the panel prints a number by splitting a byte of binary-coded decimal into its two halves and adding $F0 to each.

04 · The message line's alphabet

Every message is written in letters sixteen pixels square

The second character set, at $2800, holds 64 characters, each made of four cells. Type to see a line the way the game draws it.

Type
All 64 characters, from the space at ASCII 32 to the underline at 95.
One letter taken apart into its four cells.

Drawn from the listing, orange on the top row of cells and yellow on the bottom, as colour RAM has rows 23 and 24.

A character's four cells have consecutive codes, and the first is the character's ASCII value with the top two bits dropped, times four. The first two cells go one above the other and the next two to their right: $5962 puts the code and the code plus one in column 39 of rows 23 and 24, and on its next turn, once the line has scrolled, the other two. Because of that the game keeps its text as plain ASCII, and the 33 messages at $5609 read as they are.

The face is the game's own, a letter with serifs, and none of the machine's character set is used. A letter fills only the middle of its sixteen rows, so it sits across the line between the orange cells and the yellow ones.

05 · The player

The player is four sprites, with twelve poses

Two steps of walking and one of firing, for each of the four directions.

Show

The shapes from the listing, put together the way the game places the four sprites, on the grey of a floor.

A sprite is a picture 24 pixels wide and 21 high that the video chip draws over the screen wherever the program puts it. The player is sprites 0 to 3, two across and two down, placed round his position in $02DF and $02E0. They are multicolour: yellow is each sprite's own colour, and black and green are shared, from $D025 and $D026. Each pose is four shapes in a row in memory, which the game points the four sprites at.

The way he faces is a number in $02B0, 1 to 4 for up, down, left and right. While he walks, $4BB8 takes the pose from the table at $4BD8 and swaps to the second pose, $10 shapes on, on every other step. When he fires, $46A5 takes the pose from the table at $46A1 instead, and he holds it until the fire button is let go.

06 · The other sprites

A flash at the barrel, and a castle on the panel

Sprite 4 shows for four frames each time a shot is fired. Sprites 5, 6 and 7 never move.

The four shapes of the flash, one for each direction, and the panel's castle as sprites 5, 6 and 7 sit, drawn from the listing.

When the player fires, $46A5 gives sprite 4 the flash's shape for the direction and puts it beside him, from the tables at $46F2 and $46F6. It is orange for three frames and yellow for one, and then the interrupt moves it to the top corner of the screen, where nothing shows. The shot itself is not drawn at all, which the Discoveries tab shows. Until the first shot of a mission, sprite 4's shape is whatever $EF points at: the code the screen was cleared with at $41D6, which fills the sprite pointers along with the rest of the screen.

Sprites 5, 6 and 7 are the castle at the foot of the panel, hires and black, set once at $40D9: the castle itself, and the hill under it in two halves.