Analysis model: gpt-5.5 xhigh
Galaxian Graffiti by Koyote Kid - Technical Dissection
Galaxian Graffiti is an extremely early MS-DOS cracktro / cracked-game
front screen credited to Koyote Kid. Demozoo lists it as a Cracktro, released
in 1984, on MS-Dos, with a Defacto2 external file record for
GALAXIAN.ZIP. The Demozoo page also carries an important caveat: the release
year is a guess based on the copyright notice found in the binary and the use
of the wording broken by.
Release year: 1984, catalogue/copyright-derived
Source Status
This pass is source-limited.
The public Defacto2 page listed by Demozoo is:
The corresponding direct-download pattern is:
Both were blocked from this environment by Defacto2's current front-end
protection, and the RGstation mirror page exposed screenshots but not the ZIP
bytes without a logged-in file-output step. I therefore did not obtain
galaxian.com, and this article does not claim opcode-level disassembly.
What is available and used:
- Demozoo production page: https://demozoo.org/productions/362692/
- Demozoo API record: https://demozoo.org/api/v1/productions/362692/
- Demozoo public screenshot: https://media.demozoo.org/screens/o/93/f3/fb3b.354353.png
- RGstation page with mirrored public screenshots: https://rgstation.cafe24.com/game_pds/67108
- Locally copied Demozoo screenshot:
images/galaxian-graffiti-demozoo.png - Locally copied RGstation intro / game / options screenshots:
images/galaxian-graffiti-rgstation-intro.png,images/galaxian-graffiti-rgstation-game.png, andimages/galaxian-graffiti-rgstation-options.png - Public-frame contact sheet:
images/galaxian-graffiti-public-frames.png - Derived static layout map:
images/galaxian-graffiti-layout-map.png
Saved-source and image hashes:
fd646ef2cbe5630e2b6bbc8e4851be641a99fcf071d350f96c6ee8019990c8c3 demozoo-362692.json
166e64ccddf85957f76bb0d03a112896a16b7cb4f03de4378f1645d061c401ce demozoo-362692-refresh.html
4b6f52a0580307247db3b220236e35ea551f1d5df94e7df395bb4cd9647a996a rgstation-open.html
0c6465d190d8e617d6a1686099a6c57a3a0ee886784da542e104592100a65b24 galaxian-graffiti-demozoo.png
2aeaf80214fbe3104ed29f2504e3f6010575e0863143456dff0d4bce0fdc3047 galaxian-graffiti-rgstation-intro.png
9d6e36db00f9562ddb94e5647c24168e7a7469149c303031fd6f943eab0b5370 galaxian-graffiti-rgstation-game.png
d53fe0b6d8fd7c2a954a42a85c0e98718fbc198377174741e487aa4b5f4a0184 galaxian-graffiti-rgstation-options.png
0faac032852c55adae51798e8da57580d5829108c936f1b8b297ab071cf8788e galaxian-graffiti-public-frames.png
e7138e1c6b873a2ee50fca967f470e883aefb0f35798c38a878d5d90bb7aa803 galaxian-graffiti-layout-map.png
The analysis below is therefore a display-format and control-surface reconstruction. It should be upgraded if the original ZIP becomes reachable.
Public Frames

The public evidence shows three different states of the package:
| Frame | Source | What it shows |
|---|---|---|
| Demozoo cracktro frame | Demozoo screenshot | The catalogued cracktro/title surface: ATARISOFT PRESENTS, GALAXIAN, BROKEN BY, THE KOYOTE KID, and F1 / F2 commands. |
| RGstation intro frame | RGstation screenshot | The same screen in a green/red/orange palette variant, at a clean 320x200 size. |
| RGstation game frame | RGstation screenshot | The actual Galaxian playfield: score row, alien formation, starfield, player ship, missile/projectile pixels, and bottom status row. |
| RGstation options frame | RGstation screenshot | The built-in options UI with function-key controls, keyboard/joystick selection, sound toggle, level, and Video: R. G. B. setting. |
There are no exact runtime timestamps for this article because no runnable binary was obtained. These are public static screenshots, not local DOSBox-X captures.
Static Layout

Front-page media note: the card uses the public-frame contact sheet, the public Demozoo screenshot, and the generated static layout map directly. I did not make a GIF for this pass because the available evidence is a set of untimed public static states, not a captured playback sequence.
The intro frame is almost certainly one static screen plus keyboard dispatch. Its visible regions are:
- top title cells:
ATARISOFT PRESENTS:; - red
GALAXIANlogo cells; - middle
BROKEN BYline; - lower Koyote Kid credit line;
- sparse starfield points;
- bottom
F1: START GAMEandF2: OPTIONScommand line.
The layout is not a scrolling or multiplexed scene in the available evidence. It is a front screen grafted onto a small PC conversion. The interesting part is the date and purpose: it is early enough that the cracktro is still very close to a modified title/menu page, not a standalone demo layer with music, scrolltext, and moving logo machinery.
Palette Evidence
The copied screenshots have very small palettes:
Demozoo cracktro frame, 640x480, 4 colours:
300696 #000000 black
5234 #00aaaa cyan / medium-intensity green-blue
1194 #aa0000 red
76 #aaaaaa grey / white-star slot
RGstation intro frame, 320x200, 4 colours:
62659 #000000 black
1083 #00aa00 green
244 #aa0000 red
14 #aa5500 brown/orange star pixels
RGstation game frame, 320x200, 4 colours:
61513 #000000 black
1758 #00aa00 green
422 #aa5500 brown/orange
307 #aa0000 red
RGstation options frame, 640x400, 2 colours:
235700 #000000 black
20300 #00aa00 green
The capture variants disagree on whether the main text colour is cyan or
green. That does not necessarily mean the software had two different intro
pages. Early PC screenshots of CGA/RGBI material often differ depending on the
emulator, monitor profile, or game option selected. The options frame's
Video: R. G. B. line also suggests the game has display-configuration logic,
so a green/red RGB mode and a cyan/red capture path are both plausible public
views of the same underlying small-palette program.
The RGstation intro frame is the cleanest reconstruction base because it is
already 320x200. The Demozoo frame is 640x480, has the same sparse-screen
structure, and appears to be a scaled/captured presentation of that logical
screen rather than an independent higher-resolution mode.
Probable Display Mode
The public frames fit a simple 320x200 indexed or CGA/RGBI-style display. The intro could have been implemented in any of these nearby ways:
Variant A: CGA graphics page
INT 10h mode 04h/05h or equivalent register setup
precomposed 320x200 2-bit page
copy page to B800:0000
poll keyboard for F1/F2
Variant B: BIOS/text-plus-game renderer
game already has a pixel/font renderer
clear black playfield
draw 8x8 or custom bitmap text in selected colours
place star pixels through the same pixel routine
poll keyboard for F1/F2
Variant C: game title routine with patched strings
original PC conversion supplies menu/options/game framework
cracker changes title/menu text and maybe palette constants
F1/F2 dispatch remains part of the original program
The third variant is especially plausible because the options screen is a real game UI and the bottom function-key line looks integrated, not appended as a separate cracktro-only prompt.
Expected Keyboard Dispatch
The visible controls reduce the title-loop shape to a very small state machine:
title_loop:
draw_or_keep_intro_screen
key = read_key()
if key == F1:
start_one_player_game()
if key == F2:
show_options_screen()
otherwise:
title_loop
On IBM PC BIOS, function keys are commonly read through INT 16h; after a
function key, AH contains the scan code while AL is zero. The likely scan
codes are:
F1 scan code 3B00h
F2 scan code 3C00h
If the program avoids BIOS and reads the keyboard controller directly, the same visible state machine still applies, but the comparison would be against raw set-1 make codes:
F1 3Bh
F2 3Ch
For a 1984 compact PC game, the BIOS path is the conservative default assumption. There is no evidence in the screenshots that this screen required interrupt hooking, custom repeat handling, or keyboard latency tricks.
Probable Inner Loops
The available public screenshots do not prove the exact code, but they bound the likely inner loops tightly.
Full Page Copy
If the title is precomposed, the page painter is the classic early-PC loop:
; likely shape, not disassembled from this binary
mov ax, 0b800h
mov es, ax
mov ds, screen_segment
xor di, di
xor si, si
mov cx, 8000h ; 16000 bytes / 2, CGA 320x200x2bpp page
rep movsw
This is the same family as other 1980s cracktro screens in this collection: one already-packed frame, no decompressor, wait for a key, then branch into the real program.
Bitmap Text Stamp
If the title is drawn from glyphs instead, each visible word is produced by a small rectangle writer:
for each character in string:
glyph = font[character]
for row in 0..glyph_height-1:
bits = glyph[row]
for bit in 0..glyph_width-1:
if bits has bit:
plot_pixel(x + bit, y + row, colour)
x += glyph_advance
The blocky letter shapes make a byte-wide or nibble-wide font likely. The
GALAXIAN logo is wider and more stylized than the small ATARISOFT PRESENTS
line, so it may be stored as a separate bitmap/logo strip rather than rendered
with the same font.
Starfield Writes
The starfield in the intro is sparse enough that it does not require a background generator. It can be a short coordinate table:
for each star in star_table:
put_pixel(star.x, star.y, star.colour)
The RGstation intro frame has only a handful of orange/brown points. The Demozoo frame has a similarly sparse set of grey points. That makes an animated starfield possible but unproven; with only static frames, the safer conclusion is a fixed scatter of decorative pixels.
Options Screen
The options screen is text-heavy and two-colour. Its most likely implementation is not a custom bitmap scene but a text/menu printer over the same graphics surface:
draw_options:
clear_screen()
print_centered("Game Options")
for each option row:
print_text(row.y, left_column, key_name)
print_text(row.y, action_column, description)
print_current_settings()
wait_for_function_or_letter_key()
The visible choices show this package is more than a one-screen cracktro. It has game configuration state:
F1 Start one-player game
F2 Return to intro screen
F3 Select number of players
F5 Select difficulty
P Pause/resume game
X Joystick calibration
C Keyboard assignments
S Sound on/off
F7 Joystick/keyboard
F8 RGB/composite video
F9 Roll whole screen left
F10 Roll whole screen right
That F8 display switch matters for the palette discrepancy above.
What The Crack Changed
The public metadata and visible text point to a small modification rather than a later scene-style loader:
ATARISOFT PRESENTS:remains, so the original publisher identity was not fully removed.BROKEN BYandTHE KOYOTE KIDare inserted into the title/menu surface.- The game and options screens still look functional.
- The program was distributed as
galaxian.cominsidegalaxian.zip, according to the Defacto2 and RGstation public records.
So the cracktro's purpose is probably:
enter program
show modified title screen with cracker credit
wait for F1/F2
if F1: continue to original game entry
if F2: enter original or lightly patched options menu
That is exactly the missing link between crack screens and later intros: the credit screen is already self-conscious, but the code is still likely welded to the game front end.
Upgrade Path
If galaxian.zip becomes reachable, the next pass should replace the
probabilistic sections above with:
- ZIP and
galaxian.comhashes; - COM entry offset and segment assumptions;
- exact video-mode setup;
- exact screen/page storage address, if precomposed;
- exact glyph/logo tables, if rendered;
- keyboard handler disassembly;
- branch targets for
F1andF2; - comparison of intro screen bytes to game/options code bytes.
Until then, this article should be treated as a visual/display reconstruction, not a binary dissection.