1984 · Mastertronic

Chiller

This minisite was curated by unorig, air.

The five places out to the haunted house and the same five on the way home, each rebuilt from its settings, with where every enemy goes.

01 · The ten screens

Explore the five locations, out and back

Choose a screen to see its layout and where the crosses, pick-ups and enemies first appear. On the way home, the game restores each location as you left it; these maps show its original layout instead.

solid crumbling ledge mushroom / toadstool / bonus blue cross (the boy) red cross (the girl) enemy start

02 · Behind the maps

How each screen is built and saved

Each of the ten screens has its own 128-byte settings record at $7000-$757F. setup_screen ($5E19) reads the fields below to build the play area, place the players and enemies, and set up the crosses. The first five levels keep their graphics at $8000-$B1FF, one $A00 block each; the way back borrows them.

FieldOffsetRead by
Play area: source, end, destination+$00setup_screen, copy_block $2A80
Character set: source, end, destination+$06the same
Colour map, two cells to a byte+$0Cunpack_colours $5D20
Multicolours 1 and 2+$0E, +$0Finto $D022, $D023
The two players' start and frames+$10-+$17set_boy_x $7F20 and on
Enemies: frames, speeds, paths+$18-+$5Dspawn_enemy, enemy_step
Ten cross addresses, five blue then five red+$5E-+$71place_crosses $5FC0, colour_cycle $7F80
Crosses needed, level byte, card+$72, +$73, +$74crosses_left $7F00, show_level_card

The way home reuses the first five levels, but keeps the changes you made on the way out. When the boy moves on, next_screen ($7680) saves screen rows 1 to 24. The forest goes to $7800. The other four are stored in RAM hidden under the KERNAL ROM, at $E000, $E400, $E800 and $EC00. Writing there works with the ROM switched in; reading the saved screen back requires copy_under_kernal ($72A4) to set processor port $01 to $34 temporarily.

Level on the way homeSettings atPlay area read fromCharacter set and colours from
Haunted house$7300$EC28the house's, $A800, $B000
Graveyard$7380$E828the graveyard's
Ghetto$7400$E428the ghetto's
Cinema$7480$E028the cinema's
Forest$7500$7828the forest's

The first five settings records list five blue crosses each. The return records list ten, so place_crosses adds five red crosses to each saved screen as it is set up. The maps above use the untouched outward layouts in place of saved screens and show where both sets of crosses begin.

03 · Enemy paths

How the enemies move

Choose a screen and enemy, then use Step or Run to follow its path. The enemy uses its own sprite frames; the route is scaled for clarity, not shown at game speed.

path_step $CC12 moves an enemy a pixel at a time and reads the next byte from path_scripts $4A00-$4A8F every eighth move: 0 up, 1 down, 2 left, 3 right, and $FF loops back. Each press of Step advances one direction byte. The arrow shows the next direction.