A purple T-shaped piece made of four shaded blocks

QUADROP

A falling blocks game for the Atari 800 XL.

Seven colors in a character mode, pieces that glide a scanline at a time, and Korobeiniki on POKEY, all on a 16K cartridge.

A 16K cartridge for NTSC machines, as a .car file or a raw .rom image.

On screen

The title screen picks the starting level, the music and the control. The game shows the held piece and the next three, and a meter for each POKEY voice.

The QUADROP title screen: a rainbow logo, the high score, the level, music and control settings, and a scrolling message
The title screen
A game at level 5: a blue piece falling into a well with a low stack, the held piece and the next three above, score, level and lines on the left
A game at level 5

What is in it

QUADROP takes the whole machine: it switches the OS ROM off and runs its own interrupt handlers. Everything is written in 6502 assembly for ca65.

Modern rules

Pieces come from a shuffled bag of all seven and turn with SRS wall kicks. Hold a piece for later, see the next three, and get half a second to slide a landed piece before it locks.

Seven colors in mode 4

A character mode line has four colors. The players and missiles sit over the well as color layers that GTIA mixes, so every piece gets its own hue.

Smooth movement

The falling piece moves a scanline at a time, and rows above a cleared one slide down the same way, using glyphs that join the bottom of one block to the top of the next.

Thirty levels

Every ten rows the pieces fall faster, from a row a second at level 1 to twenty rows a second at level 30, and every level stays playable.

Korobeiniki

The Russian folk song, in an arrangement of its own: a lead, chords and drums, and a 16-bit bass that stays in tune down to the lowest notes. It speeds up at levels 8 and 15.

It plays itself

Set the control to AUTO and watch: for each piece it weighs every rotation and column, and uses hold when the other piece fits better.

Controls

A joystick plays the game; the keyboard adds the rest.

ActionJoystickKeyboard
MoveLeft, right
Turn clockwiseFireX
Turn counterclockwiseZ
Drop fasterDown
Drop at onceUp
Hold the piece for laterSpace C OPTION
PauseP START
Quit to the titleESC

On the title screen, up and down (or SELECT) pick a setting and left and right (or OPTION) change it. Fire or START starts. The high score survives RESET.

Build from source

You need cc65 and python3, with no extra packages.

brew install cc65
git clone https://github.com/ecmel/quadrop.git
cd quadrop
make             # build/quadrop.rom and build/quadrop.car
make run         # runs it in Sally, from ../sally

QUADROP was developed against Sally, an Atari 800 XL emulator for macOS, and plays in any emulator that loads a standard 16K cartridge.