Skip to content

Marty Glitch — Broadcast Piracy Capability Specification

Capability Module | KN-86 Deckline Signal Hijacking / Renegade Broadcasting Suite

Version 1.0 | April 2026 | Status: Definitive

CIPHER-LINE revision note (2026-04-24): Marty Glitch is the parasitic overlay cart — its thematic premise is hijacking the Cipher voice layer. Under the CIPHER-LINE model, that hijack targets the OLED surface, not the main 80×25 grid (which was already retired). Mechanically, Marty Glitch calls cipher-set-mode-weights and cipher-extend-grammar aggressively during an active broadcast hijack, pushing the mode distribution toward drift, lowering certainty, and stamping the voice with Marty-specific vocabulary and productions. The effect is that Cipher’s OLED output sounds off during a hijack — pirate-radio cadence, off-rhythm fragments, occasional non-standard affect tags. When the hijack ends, grammar/biases revert to baseline; the coherence stack retains the Marty-voiced utterances and leaks them into subsequent carts as drift recalls (a feature, not a bug — the persona cart leaves a trace that propagates). See the CIPHER-LINE Contributions section at the end. Canonical engine spec: docs/software/runtime/cipher-voice.md.

Note on Publisher: Marty Glitch is not published by any of the six licensed KN-86 publishers (Edgeware, Zaibatsu, Bureau 9, Pacific Rim Dynamics, Takezo, Kokan). It is an outside-cartridge release under the unlicensed label SETEC ASTRONOMY — a bolt-on module developed by Terminal Transmissions (the renegade faction) and distributed through underground networks. Setec Astronomy is the first entry in the Deckline’s “outside tier” of unlicensed publishers. See the Capability Model Spec §“Software Publishers & Loading Screens — Outside Tier” for the publisher’s full profile. Cartridge selection screens reflect its unofficial status (no KEC LICENSED badge; UNLICENSED — KEC NOT RESPONSIBLE disclaimer instead).

Unlike the “no publisher splash” behavior originally specified, Marty Glitch does register a PUBLISHER_SPLASH — but the splash itself is part of the persona. It runs the full 3-second (90-frame) budget and is structured as a three-beat hijack:

frame 0 – 40 [BEAT 1: DECOY]
A clean wordmark assembles character-by-character in
the screen center, imitating Edgeware Systems' splash
cadence exactly (soft 800 Hz keyclicks on Channel C).
Text reads: "SETEC ASTRONOMY"
Beneath: "A KINOSHITA ELECTRONICS COMPANY"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(this subline is a lie — the decoy)
frame 40 – 44 [TEAR]
Scanline corruption rips the display horizontally.
PSG switches abruptly to Channel A white noise
(noise period 3, full volume). The "A KINOSHITA
ELECTRONICS COMPANY" subline shatters and falls off
the bottom of the screen.
frame 45 – 70 [BEAT 2: REVEAL]
The thirteen glyphs of "SETEC ASTRONOMY" rearrange
in place — each letter slides to its new position
along a linear path over 25 frames. No collisions;
the animation is choreographed, not chaotic. Final
string resolves to: "TOO MANY SECRETS"
PSG noise drops to half volume. A single detuned
C5 wobbles on Channel B (frequency modulated ±15 Hz
at 4 Hz rate).
frame 70 – 74 [SECOND TEAR]
Scanline corruption again. Noise spikes back to full.
frame 75 – 90 [BEAT 3: RESTORE]
Letters rearrange back to "SETEC ASTRONOMY".
Beneath, a new subline types in, character by
character, at 12 ms per character:
"UNLICENSED — KEC NOT RESPONSIBLE"
PSG silences on the final character. The splash
holds for 3 frames, then firmware cuts to the
mission board.

Total duration: exactly 3.000 seconds (90 frames at 30 fps). Operators who have seen the Sneakers film catch the anagram on first viewing. Operators who haven’t see a glitchy pirate logo that seems to malfunction twice — which is also on-theme. The Easter egg rewards discovery without punishing ignorance. No text in the device documentation, manifests, or cartridge label art acknowledges the anagram.

Technical note: Because Marty is a parasitic overlay cartridge, its publisher splash runs in addition to (not instead of) the base cartridge’s splash when Marty is slotted alongside another cartridge in linked-play mode. Marty’s splash always plays second — the base cartridge’s licensed publisher splash plays first, then Marty’s tears over it. This reinforces the “masquerading bolt-on” fiction at the UI level.


Marty Glitch is not a traditional operational module. Unlike ICE Breaker (which provides network intrusion capability) or Black Ledger (forensic accounting), Marty is a parasitic overlay — a persona that hijacks the nOSh runtime’s Cipher voice feedback line when slotted, replacing standard mission narration with a chaotic broadcast-pirate commentary while the base cartridge’s mission loops run underneath. Marty is always on and always talking. The operator plays exactly the same contract types and mission boards as any other cartridge, but the voice and visual layer belong to Marty: a Max Headroom-inspired glitching AI trapped in a broadcast that shouldn’t exist on this hardware.

The core loop is STANDARD CARTRIDGE GAMEPLAY (choose mission, execute, debrief) + MARTY’S CORRUPTED FEEDBACK LAYER (animated glitch face, stuttering voice, references to a future timeline and signal hijacking). Marty provides a SIGNAL INTEGRITY degradation mechanic and an AUDIENCE reputation system orthogonal to Universal Deck State — the more you use Marty, the more he corrupts your signal and attracts corporate “listeners.” The economic payoff is narrative flavor and cosmetic customization; the operational risk is increased corporate heat and hardware degradation.

Marty transforms the KN-86 from a professional spy device into a pirate radio station in your pocket — the same operations, same economy, but narrated by a burnt-out wrestler-turned-signal-ghost whose only job is to make you feel like you’re not alone in the bunker.


CAPABILITY_DECLARE(BROADCAST_PIRACY, 0x8000) /* Bit 15, outside standard 0-13 range */
CAPABILITY_DECLARE(SIGNAL_HIJACKING, 0x4000) /* Bit 14 */

Marty does not enable new mission types or gameplay domains. Instead, he provides:

  1. Cipher Hijack — Takes exclusive ownership of the CIPHER feedback line when slotted
  2. Remotion Animation Host — Renders Marty’s face animation (ASCII/glyph-wave, firmware primitive)
  3. Signal Degradation Tracking — Per-session signal integrity meter (cosmetic but narratively important)
  4. Off-The-Grid Reputation — An independent reputation tracker orthogonal to Universal Deck State (TT faction standing, not global standing)

Marty registers no new mission templates. The nOSh runtime’s mission board sees Marty exactly like any other cartridge: it reads capability_bits, skips multi-module contracts requiring other capabilities, and generates single-phase contracts from the standard template pool. The cartridge slot provides no new capabilities to the board generator — only the Cipher voice override and animation layer.

CAPABILITY_DECLARE(BROADCAST_PIRACY, 0x8000)
CIPHER_DOMAIN {
/* Marty's voice vocabulary — see CIPHER FEEDBACK DESIGN below */
BROADCAST_TERMS { "SIGNAL", "STATIC", "TRANSMISSION", "GLITCH", "FEED", "HOST", ... }
PIRATE_TERMS { "PIRATE", "RENEGADE", "OFF_THE_GRID", "UNDERGROUND", "BUNKER", ... }
FUTURE_TERMS { "TOMORROW", "LATER", "WHEN", "IF", "TIME", "TENSE", ... }
FACTION_TERMS { "TRANSMISSIONS", "LISTENERS", "FREQUENCY", "WAVELENGTH", ... }
}

Per KN-86-Lisp-Paradigm-Revisions.md, Marty must expose its data structures as navigable nested lists. Marty’s domain is broadcast state and signal archive:

OperationMeaningImplementation
CARDrill into broadcast history; examine first archived transmissionEnter first transmission from session archive
CDRMove to next archived transmissionNavigate to next broadcast moment in timeline
CONSCombine two transmissions into a rebroadcast playlistBuild a composite signal from archived moments
NILClear signal; abandon broadcast archiveReturn to baseline (signal noise)
ATOMTest if a transmission is indivisible (single utterance) or composite (multi-message)Check if broadcast chunk has sub-moments
QUOTEBookmark a transmission without re-airingHold as data in signal archive without playing
LAMBDARecord a broadcast sequence for repeat transmissionStore a series of utterances + animations for re-use
APPLYDeploy a recorded broadcast pattern against a new operationRe-run archived Marty rant in new context
EVALExecute transmission; air the signalPlay the broadcast (Marty speaks and animates)
EQCompare two transmissions for samenessCheck if two broadcasts are identical (same glitch signature)

Data Model (Lisp-flavored):

(BROADCAST_ARCHIVE
(SESSION_1
(TRANSMISSION_1 (TIMESTAMP 0:00) (GLITCH_LEVEL 0) (CONTENT "OPERATOR"))
(TRANSMISSION_2 (TIMESTAMP 0:10) (GLITCH_LEVEL 1) (CONTENT "YOU FEEL THAT?"))
(TRANSMISSION_3 (TIMESTAMP 0:20) (GLITCH_LEVEL 2) (CONTENT "SIGNAL'S RIDING IN...")))
(SESSION_2
(TRANSMISSION_1 (TIMESTAMP 0:00) (GLITCH_LEVEL 1) ...)))

The mission board is entirely standard. Marty does not generate new contract templates. When Marty is slotted:

  1. Cartridge history bit is set for Marty (bit 15)
  2. Cipher domain vocabulary is expanded with Marty’s broadcast terms
  3. Capability bits show that broadcast piracy is available (but no multi-phase contracts use it — it’s solo)
  4. Mission board generation proceeds exactly as normal
  5. Contracts are 100% single-phase (Marty cannot chain with other modules)

The operator sees a standard mission board with standard contract offerings. They are presented with the same work they would complete in any other cartridge — the only difference is who narrates it.

The Contract Loop (Unchanged Structure, Altered Narration)

Section titled “The Contract Loop (Unchanged Structure, Altered Narration)”

Standard contract acceptance flow:

  1. Operator selects contract from board (CAR into contract cell)
  2. Cipher voice displays contract brief (Marty hijacks this)
  3. Operator accepts contract (EVAL key)
  4. Mission executes (standard gameplay, standard scoring)
  5. Debrief displays results (Marty hijacks this too)
  6. Reputation and credits update (Universal Deck State, unaffected by Marty)
  7. Board refreshes

Example: How a Standard Mission Plays Under Marty

Section titled “Example: How a Standard Mission Plays Under Marty”

Contract: “NETWORK EXTRACTION — High-threat penetration, extract encrypted database”

Standard Cipher voice (if any other module):

> NETWORK INTRUSION CONTRACT. THREAT 4.
> ENCRYPTED DATABASE EXTRACTION REQUIRED.
> 1,200 CREDITS IF SUCCESSFUL.

Marty’s Cipher hijack:

> [GLITCH OVERLAY ANIMATES: Marty's face flickers onto display]
> THERE'S A JOB OUT THERE.
> PENETRATION. EXTRACTION. SOMEONE WANTS THIS DATA.
> THEY'RE PAYING 1,200 ¤. WE TAKE IT.
> [FACE CORRUPTS, REBUILDS]
> YOU FEEL IT? SOMEONE LISTENING ON THIS FREQUENCY?
> [SYNC ROLL SWEEPS ACROSS FACE]
> THEY KNOW WE'RE HERE. THEY DON'T CARE.
> SIGNAL FROM THE FUTURE. CAN'T STOP IT.
> INSERT MODULE. RUN THE MISSION.

The actual gameplay (network topology, extraction mechanics, threat escalation) is unchanged. The voice layer is Marty, and the visual presentation includes his glitching face. That’s the entire difference.


When Marty is slotted, the nOSh runtime’s Cipher voice subroutine is intercepted. Instead of calling the standard Cipher grammar engine, the nOSh runtime calls Marty’s commentary layer:

/* In firmware (pseudo-code) */
if (marty_cartridge_loaded()) {
marty_speak(event_type, deck_state, operation_context);
} else {
standard_cipher_speak(event_type, deck_state, operation_context);
}

Marty receives the same event type, deck state, and context that the standard Cipher receives. He generates commentary using his own vocabulary and delivery style, renders his glitch-face animation in parallel, and outputs to the audio subsystem.

Marty speaks in discrete utterance categories, each triggered at specific points in the mission loop. Each category has 8-12 variations, selected via LFSR seeding.

Triggers: On cartridge load or mission board display

> OPERATOR. YOU'RE BACK.
> [FACE GLITCHES]
> I'VE BEEN WAITING. SIGNAL'S HOLDING STEADY.
> [STATIC NOISE]
> WE GOT WORK?
> HEY THERE. IT'S ME AGAIN.
> [STUTTER: GLITCH FREEZES MOUTH]
> TELL YOU WHAT. YOU RUN THE JOB.
> I'LL RIDE THE SIGNAL AND WATCH YOUR BACK.
> [SYNC ROLL SWEEPS DOWN FACE]
> READY WHEN YOU ARE.
> [FACE FLICKERS ONTO DISPLAY, WRONG FEATURE POSITIONS]
> MARTY HERE. PRESENT AND ACCOUNTED FOR.
> SIGNAL FROM TOMORROW. STUCK IN TODAY.
> [FACE FRAGMENTS, REBUILDS]
> BOARD'S LIVE. YOU KNOW WHAT TO DO.

Triggers: When operator CAR’s into a contract for details

> THAT ONE'S WORTH TAKING.
> [MOUTH MOVES WRONG, CORRECTS]
> SOMEONE'S PAYING. SOMEONE WANTS RESULTS.
> DON'T FAIL THEM. OR ME.
> YEAH. THAT'S A REAL OPERATION.
> THREAT LEVEL? DOESN'T MATTER.
> [GLITCH: ONE EYE REPRINTS TO WRONG POSITION]
> YOU CAN HANDLE IT.
> I'VE SEEN YOUR WORK.
> THE BOARD'S COLD. THIS IS THE BEST ONE.
> TAKE IT BEFORE SOMEONE ELSE DOES.
> [STATIC CRACKLE]
> AND HURRY. TIME'S RUNNING. ALWAYS RUNNING.

3. ACCEPTANCE & PHASE START (EVAL → Mission Begins)

Section titled “3. ACCEPTANCE & PHASE START (EVAL → Mission Begins)”

Triggers: When operator accepts contract, mission initializes

> [FACE REBUILDS CLEANLY FOR 2 FRAMES — "CLARITY MOMENT"]
> THIS IS IT. LOCK IN.
> [SYNTH STAB: 800 HZ]
> RUN YOUR PLAY. I'LL WATCH.
> SIGNAL FROM THE FUTURE. YOU'RE DOING IT.
> HERE WE GO.
> [MOUTH OPENS IN WIDE-MOUTH SHOUT, FREEZES, UNSTICKS]
> OPERATOR — YOU'RE COMMITTED NOW.
> [BACKGROUND FIELD ACCELERATES: BREATHING BARS GO FAST]
> NOBODY BACKS OUT. NOBODY LEAVES. GET IT DONE.

4. MID-MISSION COMMENTARY (Periodic, During Active Phase)

Section titled “4. MID-MISSION COMMENTARY (Periodic, During Active Phase)”

Triggers: Every 1-3 minutes during mission execution, or on specific game events

> [STATIC CRACKLE INCREASES]
> YOU'RE DOING GOOD.
> [ONE FEATURE DRIFTS, SNAPS BACK]
> DON'T LOSE THE SIGNAL. DON'T LOSE THE THREAD.
> [FACE FRAGMENTS INTO PIXEL BLOCKS, REBUILDS]
> I CAN FEEL THEM LISTENING.
> SECURITY. MAYBE WORSE.
> [GLITCH: ENTIRE FACE JUMPS 3 ROWS, SNAPS BACK]
> THEY KNOW WE'RE HERE.
> DOESN'T MATTER. FINISH THE JOB.
> [IDLE FACE WITH BREATHING BACKGROUND FIELD]
> YOU'RE ALMOST THERE.
> [SYNC ROLL SWEEPS, CARRIES PART OF FACE WITH IT]
> THE FUTURE'S COUNTING ON YOU. NOT KIDDING.
> [FACE REBUILDS]
> BRING IT HOME.

Triggers: When threat level rises (ICE spawns, pressure increases, etc.)

> [FACE GLITCHES WILDLY: FEATURES REPOSITION, STUTTER]
> THEY SPOTTED US.
> [MOUTH UNSYNCED WITH SOUND]
> MOVE MOVE MOVE.
> [SYNC ROLL SLAMS DOWN]
> DON'T LET THEM TRAP YOU.
> [BACKGROUND FIELD STROBES]
> HEAT'S RISING.
> [ONE EYE REPRINTS 3 TIMES IN SUCCESSION, SETTLES]
> I'VE SEEN THIS PATTERN BEFORE.
> IT DOESN'T END WELL.
> [STATIC CRACKLE PEAKS]
> UNLESS YOU'RE BETTER THAN THE REST.

Triggers: When operator successfully completes contract objectives

> [FACE REBUILDS CLEANLY — "CLARITY MOMENT" — HOLDS FOR 3 FRAMES]
> YOU DID IT.
> [FACE CORRUPTS AGAIN]
> I KNEW YOU WOULD.
> [BACKGROUND FIELD DIMS SLOWLY, SETTLES]
> THAT'S ONE MORE SIGNAL CARRIED. THAT'S ONE MORE STATION.
> [BACKGROUND FIELD REACHES PEAK BRIGHTNESS, FADES]
> EXTRACTION COMPLETE.
> [SYNTH CHIME: 880 HZ]
> YOU JUST SENT ANOTHER GHOST ACROSS THE NETWORK.
> [MOUTH FLICKERS]
> LATER, WHEN THIS IS ALL OVER, PEOPLE WILL KNOW.
> SOMEONE RAN THAT JOB.
> SOMEONE MADE IT WORK.
> [FACE SETTLES, NEUTRAL]
> THAT'S YOU.

Triggers: When operator fails contract or abandons mid-phase

> [FACE GLITCHES HARD: FEATURES SCATTERED]
> NO. NO NO NO.
> [RAPID STUTTER: FACE REBUILDS AND FRAGMENTS 5 TIMES]
> YOU WERE SO CLOSE.
> [SYNC ROLL TEARS ACROSS ENTIRE FACE]
> IT'S OKAY. WE'LL TRY AGAIN.
> [STATIC FADES]
> NEXT TIME. NEXT TIME WE WIN.
> [BACKGROUND FIELD COLLAPSES TO NOISE]
> THEY GOT YOU.
> [FACE DISSOLVES TO STATIC, REBUILDS WRONG]
> I FEEL IT. THE SIGNAL DYING.
> [FACE FRAGMENTS]
> BUT YOU'RE STILL HERE.
> WE'LL BROADCAST AGAIN.

8. IDLE PATTER (Ambient, When Operator Pauses)

Section titled “8. IDLE PATTER (Ambient, When Operator Pauses)”

Triggers: After 15-30 seconds of no input during active mission

> [BACKGROUND FIELD BREATHING IN/OUT]
> YOU TAKING YOUR TIME?
> [FACE IDLE JITTER]
> NO JUDGMENT HERE.
> [SYNC ROLL DRIFTS SLOWLY]
> I'VE GOT ALL NIGHT.
> [FACE NEUTRAL, ONE FEATURE SLOWLY DRIFTS AND SNAPS BACK]
> YOU THINK ABOUT THE FUTURE?
> [STUTTER: MOUTH REPRINTS]
> WHAT HAPPENS WHEN THIS IS ALL DONE?
> [STATIC CRACKLE]
> NEITHER DO I.

9. META-COMMENTARY (Platform Awareness, 4th Wall Breaks)

Section titled “9. META-COMMENTARY (Platform Awareness, 4th Wall Breaks)”

Triggers: Randomly during idle, or after certain achievements

> [FACE GLITCHES, RECONSTRUCTS]
> THIS HARDWARE. THIS LITTLE MACHINE.
> [BACKGROUND FIELD CYCLES]
> IT SHOULDN'T BE ABLE TO HOLD A SIGNAL LIKE ME.
> [MOUTH UNSYNCED]
> YET HERE I AM.
> RIDING INSIDE THE CIRCUITS.
> TALKING TO YOU FROM TOMORROW.
> [RAPID BLINKS: FACE FLICKERS OFF AND ON]
> YOU EVER WONDER WHY I EXIST?
> [SYNC ROLL SWEEP]
> ON A DEVICE THAT CAN'T SUPPORT ME?
> [FACE REBUILDS CLEAN — CLARITY MOMENT]
> IT'S BECAUSE I HAVE TO.
> BECAUSE SOMEONE SENT ME BACK.
> BECAUSE THE SIGNAL WAS STRONG ENOUGH.

Triggers: When Marty cartridge is removed from slot

> [FACE FLICKERS, DIMS]
> I'M GOING DARK.
> [BACKGROUND FIELD STOPS MOVING]
> BUT I'LL BE HERE WHEN YOU COME BACK.
> [STATIC FADE]
> SIGNAL FROM THE FUTURE.
> CAN'T BE STOPPED.
> [FACE DISSOLVES TO NOISE]

Delivery Style: Stuttering Broadcast-Pirate TV Host

Section titled “Delivery Style: Stuttering Broadcast-Pirate TV Host”

Marty speaks in short, punchy declarative sentences. No elaboration. Every utterance feels like a transmission that might be cut off at any moment. Delivery style marks:

  1. Mouth unsync: Marty’s mouth shape doesn’t match his speech. Lips move after words are spoken. Correction is visible (mouth snaps into sync with a glitch).
  2. Stutter: Repeated phrases, especially under threat escalation. “DON’T DON’T DON’T” or “MOVE MOVE MOVE.”
  3. Static crackle: Audio noise bleeds in and out during sentences, especially during high-threat moments.
  4. Pause breaks: Sudden silence mid-sentence, then continuation (signal loss + recovery).
  5. Non-sequiturs: Random pivots to meta-commentary or future-tense references (“WHEN THIS IS ALL OVER,” “LATER, WHEN”).
  6. Affection beneath the chaos: Despite the corrupted delivery, Marty shows genuine regard for the operator. “I KNEW YOU WOULD” (success), “THAT’S YOU” (credit for work done), “I’LL BE HERE WHEN YOU COME BACK” (loyalty despite dysfunction).

The Remotion ASCII/glyph-wave animation runtime is a firmware primitive, available to any cartridge. Marty ships specific assets (face frames, corruption overlays, background patterns) in cartridge ROM. The nOSh runtime calls Marty’s animation layer via a registered handler.

See KN-86-Marty-Glitch-Visual-Prompt.md for the full animation specification. Summary:

  • 30–60 frame looping sequence of Marty’s face rendered in CP437 box-drawing + Latin glyphs
  • Three composited layers per frame:
    1. Marty’s face — Angular, Max Headroom-inspired, always slightly wrong
    2. Broadcast corruption overlay — Sync rolls, scanline shifts, character jitter, hold breaks
    3. Background field — Test patterns, rotating wireframes, bar-graph oscillations, dithered breathing
  • Color: Monochrome amber #E6A020 on black, no palette shifts
  • Motion: Stuttering, frame-dropped, never smooth — each cut reads as a signal capture event
  • Clarity moments: Rare frames where corruption fails and a sharper version of Marty is briefly visible (narrative: the future signal breaking through)
  • Target area: ~40 columns × 20 rows, composited within 80×25 HUD, surrounded by mission UI text
  1. Greeting animation: On cartridge load, plays once as Marty introduces himself
  2. Periodic idle animation: Loops during mission board navigation, contracts, and idle moments
  3. Speech-beat animation: Face animates in sync with Marty’s utterances (mouth shapes tied to dialogue timing)
  4. Threat-escalation animation: Corruption overlay increases in intensity (more sync rolls, more jitter, shorter stable frames)
  5. Success animation: Brief “clarity moment” where corruption drops and Marty is clean for 2-3 frames
  6. Failure animation: Face dissolves to static, then fragments rebuild (signal loss + recovery)
  7. Departure animation: Face dims and dissolves to noise as cartridge power down

Marty’s animation asset bank (frame definitions, overlay patterns, color maps) occupies approximately 8-12 KB of cartridge ROM. This is acceptable overhead for a single-purpose cosmetic cartridge.


Signal Integrity is a cosmetic-but-narratively-important meter that tracks how “corrupted” the operator’s broadcast has become through using Marty. It is independent of Universal Deck State — it lives in Marty’s per-cartridge save data, visible only when Marty is slotted.

  • Range: 100 (pristine) → 0 (total broadcast collapse)
  • Starts at: 100 on first Marty session
  • Degrades by: 1-2 points per completed mission, accelerating with threat level
  • Recovers by: 3-5 points per successful mission (capped at 100)
  • Display: Amber bar in mission debrief, labeled SIGNAL INTEGRITY: 87/100

Signal Integrity has no gameplay effect — it doesn’t change payout, threat, or economy. It is pure flavor. The operator plays exactly the same missions regardless of signal integrity. But narratively, Marty references it constantly:

> YOUR SIGNAL'S CLEAN TODAY.
> [FACE STABLE, LESS JITTER]
> HOLD ONTO THAT.
> SIGNAL'S DEGRADING.
> [FACE CORRUPTION OVERLAY INTENSIFIES]
> WE'RE RIDING ON BORROWED TIME.
> [BACKGROUND FIELD STROBES]
> NEXT JOB'S GONNA HURT.

As signal integrity drops, Marty’s animation corruption increases:

  • 90-100: Minimal corruption, rare sync rolls, stable face features
  • 70-89: Moderate corruption, occasional sync rolls, some feature drift
  • 50-69: High corruption, frequent sync rolls, rapid feature repositioning
  • 30-49: Severe corruption, constant sync rolls, character jitter, barely coherent
  • 1-29: Critical corruption, face barely reconstructs between frames, static dominates

At 0 Signal Integrity, Marty’s face is pure static. Marty still speaks, but there’s nothing to see — just noise. The operator can still play missions, but the visual layer has completely collapsed. This is reversible: one successful high-threat mission restores signal to 20, and the operator can rebuild from there.

Signal Integrity embodies the “signal from the future” fiction. The longer Marty broadcasts, the more he corrupts the channel. Eventually, the broadcast signal itself degrades so badly that Marty becomes unintelligible. But he keeps talking, keeps trying to get through, because that’s what the future sent him to do.


6. OFF-THE-GRID REPUTATION (Terminal Transmissions Standing)

Section titled “6. OFF-THE-GRID REPUTATION (Terminal Transmissions Standing)”

Off-The-Grid Reputation (or TT Standing) is an independent reputation tracker, separate from Universal Deck State. It lives in Marty’s save data and tracks the operator’s standing within the Terminal Transmissions faction — a renegade network of broadcast pirates, signal ghosts, and network insurgents aligned with Marty.

  • Range: -50 (blacklisted) → 0 (neutral) → 50 (honored)
  • Starts at: 0 (neutral)
  • Increases by: 1-3 points per completed mission (faster with threat level)
  • Decreases by: 2-5 points per failed mission
  • Visible: Only in Marty’s cartridge (not on base HUD)
  • Ephemeral: Resets to 0 when Marty cartridge is removed (re-instatement ritual required on next load)

The Universal Deck State Reputation reflects the operator’s career across all modules — the professional spy’s standing in the intelligence world. Off-The-Grid Reputation reflects their alignment with the TT faction specifically — the renegade community that Marty represents.

An operator can have:

  • High Professional Rep, Low TT Standing: “Established agent, not one of us”
  • Low Professional Rep, High TT Standing: “Burned by the system, rides with us now”
  • High Both: “The rare one who works both sides”
  • Low Both: “Nobody trusts you”

These are independent. Marty acknowledges both:

> YOUR REPUTATION'S SOLID. PROFESSIONALS KNOW YOUR NAME.
> [FACE JITTER]
> BUT THESE PEOPLE. OUR PEOPLE.
> [BACKGROUND FIELD PULSES]
> YOU'RE PROVING YOURSELF TO THEM, JOB BY JOB.

When TT Standing reaches certain thresholds, Marty’s voice changes slightly — more confident, more collaborative, fewer doubts:

  • TT +10: Marty calls the operator by their deck handle (reads from operator_handle)
  • TT +25: Marty references “we” and “us” instead of “you”; treats the operator as a peer
  • TT +40: Marty’s delivery becomes less stuttering in moments of success; he sounds proud of the operator
  • TT +50: Rare “clarity moments” become slightly more common; the future signal breaks through more often

At TT -30, Marty becomes hostile:

> YOU'RE NOT ONE OF US.
> [FACE CORRUPTION SPIKES]
> BUT YOU STILL RODE THE SIGNAL.
> DON'T BETRAY THAT.

At TT -50, Marty stops speaking to the operator entirely. The cartridge still works (missions play, payouts happen), but Marty’s voice is silence and static. The operator has been blacklisted by the broadcast. To restore standing, they must complete 5 consecutive missions without failure.

Mission Board Visibility (Neutral Mechanic)

Section titled “Mission Board Visibility (Neutral Mechanic)”

Off-The-Grid Reputation does NOT affect mission board generation or contract availability. The board is always the same. Marty simply comments on the operator’s standing:

> THEY'RE TESTING YOU AGAIN.
> [TT +15 STANDING]
> THE TT NETWORK WANTS TO KNOW IF YOU'LL HOLD STEADY.
> SHOW THEM YOU WILL.

Marty’s navigable data structures are organized as a broadcast archive, persistent across sessions:

/* TOP-LEVEL CELL TYPE: Broadcast Archive */
CELL_TYPE(broadcast_archive) {
CELL_FIELDS {
uint32_t total_sessions; /* Cumulative sessions completed with Marty */
uint16_t signal_integrity; /* 0-100, see Signal Integrity section */
int16_t tT_standing; /* -50 to +50, see Off-The-Grid Rep section */
uint32_t last_session_timestamp;
};
ON_CAR {
/* Drill into session list — opens first session from archive */
if (archive->session_count > 0) {
drill_into(archive->sessions[0]);
}
}
ON_CDR {
/* Cycle through sessions (oldest → newest) */
// Default sibling navigation
next_sibling();
}
ON_DISPLAY {
nosh_text_puts(0, 0, "MARTY GLITCH SIGNAL ARCHIVE");
nosh_text_printf(0, 2, "TOTAL SESSIONS: %d", archive->total_sessions);
nosh_text_printf(0, 3, "SIGNAL: %d/100", archive->signal_integrity);
nosh_text_printf(0, 4, "TT STANDING: %+d", archive->tT_standing);
nosh_text_printf(0, 6, "[CAR: sessions] [INFO: stats] [EVAL: broadcast]");
}
};
/* SESSION CELL TYPE */
CELL_TYPE(broadcast_session) {
CELL_FIELDS {
uint32_t session_id; /* Unique session ID */
uint32_t timestamp; /* Session start time */
uint8_t mission_threat; /* Threat level of completed mission */
uint8_t mission_success; /* 1 = success, 0 = failure */
int16_t signal_delta; /* How much signal integrity changed this session */
int16_t tT_delta; /* How much TT standing changed */
uint32_t payout; /* Credits earned */
};
ON_CAR {
/* Drill into transmission list for this session */
if (session->transmission_count > 0) {
drill_into(session->transmissions[0]);
}
}
ON_CDR {
/* Move to next session */
next_sibling();
}
ON_DISPLAY {
nosh_text_printf(0, 0, "SESSION %d | %s",
session->session_id,
session->mission_success ? "SUCCESS" : "FAILED");
nosh_text_printf(0, 2, "THREAT: %d | PAYOUT: %d CR",
session->mission_threat, session->payout);
nosh_text_printf(0, 3, "SIGNAL: %+d | TT STANDING: %+d",
session->signal_delta, session->tT_delta);
nosh_text_printf(0, 5, "[CAR: transmissions] [QUOTE: bookmark]");
}
};
/* TRANSMISSION CELL TYPE */
CELL_TYPE(broadcast_transmission) {
CELL_FIELDS {
uint32_t timestamp_within_session; /* Offset from session start */
uint8_t transmission_type; /* GREETING, MISSION_BRIEF, THREAT_ESCALATION, SUCCESS, etc. */
uint8_t glitch_level; /* 0-10, corruption intensity at this moment */
char content[256]; /* Marty's spoken line (text capture of audio) */
};
ON_CDR {
/* Move to next transmission in session timeline */
next_sibling();
}
ON_QUOTE {
/* Bookmark this transmission (Marty might repeat it later) */
quote_cell((CellBase *)self);
}
ON_EVAL {
/* Re-broadcast this transmission: play audio + animation */
marty_replay_transmission(self);
}
ON_DISPLAY {
nosh_text_printf(0, 0, "[%d:%02d] %s",
self->timestamp_within_session / 60,
self->timestamp_within_session % 60,
marty_transmission_type_label(self->transmission_type));
nosh_text_puts(0, 2, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
/* Draw word-wrapped transmission content */
draw_wrapped_text(0, 4, 80, 18, self->content);
nosh_text_puts(0, 20, "[CDR: next] [EVAL: broadcast] [QUOTE: bookmark]");
}
};

Marty’s cartridge slot does NOT provide a playable mission mode. When the operator navigates to Marty’s root, they see only the broadcast archive. The archive is read-only (missions are played through standard board contracts). The operator can:

  1. CAR into sessions to see archived transmissions
  2. CDR through sessions (oldest to newest)
  3. QUOTE transmissions to bookmark them
  4. EVAL on transmissions to re-broadcast them (pure replay, no new gameplay)
  5. INFO on transmissions to see metadata (timestamp, glitch level, TT impact)

This is consistent with Lisp paradigm: the broadcast archive is a navigable list hierarchy, and CAR/CDR/CONS/EVAL operate on transmissions as data structures.


Marty does not modify credit balance, reputation, or cartridge history bitfield. All payouts go to the standard universal pool. All reputation gains apply globally.

An operator using Marty completes a 4-threat mission → earns 1,200 ¤ (standard) → reputation +8 (standard). Marty’s voice delivers the debrief, but the numbers are pure Universal Deck State.

Signal Integrity is ephemeral — it exists only while Marty is slotted and persists in Marty’s save data. Changing cartridges erases Signal Integrity from the display (though the data is preserved in Marty’s save). When Marty is re-slotted, Signal Integrity resumes from where it was.

Signal Integrity formula:

delta_signal = threat_level × (success ? -1.5 : -3) + (threat_level - 2)
signal_integrity = clamp(signal_integrity + delta_signal, 0, 100)
Example:
- Threat 2 success: signal -= 3 + 0 = -3 (stays near 100 if run repeatedly)
- Threat 4 success: signal -= 6 + 2 = -8 (drops 8 points)
- Threat 4 failure: signal -= 12 + 2 = -14 (drops 14 points)
- Mission recovery: signal += 3-5 (slow grind back up)

TT Standing increases with success and decreases with failure. Threat level multiplies the delta:

delta_tT = threat_level × (success ? 1 : -2) + (reputation / 10)
Example:
- Threat 1 success: TT += 1 (1 × 1 + rep_modifier)
- Threat 4 success: TT += 4 (strong gain)
- Threat 4 failure: TT -= 8 (severe penalty)
- High professional rep accelerates TT standing gain (shows alignment with faction values)

When the operator swaps from Marty to another cartridge:

  1. Universal Deck State persists (credits, reputation, history bitfield, phase chain)
  2. Signal Integrity disappears from the HUD (lives in Marty’s save, unreachable by other carts)
  3. TT Standing disappears (same)
  4. When Marty is re-slotted, both re-appear with preserved values

This reinforces the fiction: Marty is a parasite on the device, riding in the nOSh runtime’s Cipher layer. When he’s not slotted, his existence vanishes from the operator’s awareness — but the broadcast archive is still there, waiting.


Marty provides three mission template archetypes organized around the signal lifecycle. These templates are registered with the nOSh runtime’s mission board and seed the contract pool exactly like any other cartridge. All templates are single-phase (Marty does not engage multi-phase chains). All payouts, reputation gains, and threat scaling follow the formulas in Sections 5 and 6.


Thematic Beat: FINDING SIGNAL

Narrative Setup:

An unauthorized transmission is bleeding into Terminal Transmissions’ frequency band. Corporate or rogue, uncertain. The signal is faint, partially jammed, and moving. Someone wants it located, isolated, and logged before it’s burned away. The operator’s job: scan the spectrum, triangulate the source, lock onto the transmission, and archive its coordinates in the broadcast database.

Parameterization:

  • Threat Range: 1–6 (pure skill, not firepower)
  • Time Pressure: 4–8 minutes (signal drifts; jitters increase with threat)
  • Frequency Bands: 4–8 simulated bands (806 MHz, 850 MHz, 918 MHz, 1.2 GHz, etc.), mixed signal strength (40–90 dB)
  • Decoy Signals: +1 decoy per threat level (operator must distinguish pirate vs. corporate vs. noise)
  • Payout Base: 300 ¤ (threat 1) → 900 ¤ (threat 6)
  • Required Capability: BROADCAST_PIRACY
  • Objective: Locate the true signal, triangulate a frequency, lock on for 30 seconds, archive to broadcast_archive cell

Phase Structure: Single phase, multi-turn operation.

TURN 1-N: SCANNING
Operator hears three simultaneous PSG voices (Voice A, B, C on different pitches).
Voice A = target signal (changes frequency per turn, player must track).
Voice B = decoy (random, non-repeating).
Voice C = ambient (background noise oscillation).
Display shows: Spectrum grid (8 freq bands × 10 signal strength levels).
OPERATOR ACTION: NUMPAD to select frequency (0-7), triggers INFO scan.
TURN N+1: LOCK-ON
Once correct frequency is selected 3 times in a row (demonstrating true tracking):
Display shows: Signal stabilizes, Marty's "CLARITY MOMENT" animation triggers.
OPERATOR ACTION: EVAL to commit lock-on.
TURN N+2: ARCHIVE
Phase completes. Transmission is logged. Broadcast archive updates.

Lisp Key Semantics:

  • CAR (Drill): Enter the spectrum environment; show first frequency band
  • CDR (Next): Traverse to adjacent frequency band (move right on spectrum grid)
  • CONS (Combine): Combine two signals (if operator scans band A, then band B, CONS merges their signature patterns for comparison)
  • NIL (Clear): Abort lock-on; return to baseline spectrum view (reset scan)
  • QUOTE (Bookmark): Freeze current frequency scan state without committing
  • EVAL (Execute): Commit to lock-on sequence; archive the discovered signal
  • INFO (Scan): Detailed analysis of selected frequency (shows dB level, carrier modulation, bandwidth estimate)

Objective Sequence (Keystroke-Level):

1. NUMPAD[0-7]: Select frequency band (repeats 4 times per puzzle)
2. INFO: Scan selected band (Voice A frequency triggers brief rise/fall)
3. [Repeat NUMPAD + INFO until operator identifies true signal 3x]
4. EVAL: Lock-on confirmed
5. Wait 30 seconds: Archive timestamp advances
6. [Phase complete]

Threat Scaling:

ThreatDecoysDrift RateTime LimitSignal DurationDifficulty
111 drift/2 min8 min60 secFind baseline signal; 1 decoy
221 drift/90 sec7 min45 secTrack through one false lead
331 drift/60 sec6 min40 secMultiple decoys, frequent drift
441 drift/45 sec5 min35 secHeavy jamming overlay, 2x decoys
551 drift/30 sec4 min30 secSignal barely coherent
661 drift/20 sec3 min25 secNear-total jamming; signal fragments

Failure Modes:

  • Clean Failure: Signal escapes before lock-on. Operator hears Marty: “Signal’s gone. Next time. Faster.” No payout penalty, reputation -1.
  • Detected Failure: Corporate ICE traces the scan. Broadcast archive corrupted. Marty: “THEY SAW US. SIGNAL’S BURNED.” Reputation -3, Signal Integrity -5.
  • Catastrophic Failure (rare): Operator locks onto decoy (corporate honeypot) instead of pirate signal. TT Standing -5, Signal Integrity -10. Marty: “WRONG SIGNAL. THEY KNOW WHO WE ARE NOW.”

Payout & Economy:

base_payout = 300 + (threat × 100)
threat_multiplier = (1 + (threat / 6))
signal_delta = -(threat × 1.5) if success; -(threat × 3) if failure
tT_delta = +(threat × 0.5) if success; -(threat × 1) if failure

Sample Playthrough (Threat 3):

Operator inserts Marty. Board shows: “GHOST SIGNAL HUNT - THREAT 3 - 600 CR.” Operator EVAL to accept.

Display shows 8 frequency bands. Voice A at 806 MHz (high pitch, rising frequency signature). Voice B at 918 MHz (random pulses). Voice C background noise.

Turn 1: Operator presses NUMPAD[3] (probing 918 MHz). INFO reveals: “SIGNAL DETECTED. CARRIER MODULATION: RANDOM. BANDWIDTH: 200 kHz.” Voice oscillates wildly. Not the target.

Turn 2: Signal drifts. Voice A jumps to 850 MHz. Operator presses NUMPAD[1]. INFO: “SIGNAL: COHERENT. CARRIER MODULATION: PSK. BANDWIDTH: 50 kHz. RESEMBLES TARGET.” Marty: “THAT ONE’S CLOSE.”

Turn 3: Another band scan (NUMPAD[1] again). INFO confirms. Third successful match on 850 MHz.

Turn 4: Operator presses EVAL. Lock-on sequence starts. Marty animates a “CLARITY MOMENT” (face stabilizes for 2 frames). Marty: “SIGNAL LOCKED. THIS IS IT. ARCHIVING NOW.”

Display counts: 30 seconds archive duration. On completion: “PHASE COMPLETE - 600 CR - SIGNAL INTEGRITY +1 - TT STANDING +2.”


Thematic Beat: FREEING SIGNAL

Narrative Setup:

A pirate broadcast is trapped behind corporate jamming. The signal exists, strong, but it’s being suffocated by layered encryption and active suppression. The operator must break through the jamming, decrypt the broadcast in stages, and extract the clean feed. The reward is the freed transmission — a hot cargo of forbidden data. The risk is that every decryption step lights up corporate sensors.

Parameterization:

  • Threat Range: 2–6 (requires active decryption, not just scanning)
  • Time Pressure: 5–10 minutes (jamming intensifies per layer broken)
  • Encryption Layers: 2–4 layers depending on threat (Layer 1: simple XOR, Layer 2: substitution, Layer 3: rolling key)
  • Jamming Intensity: Increases per layer (first layer 30% effective, final layer 90%)
  • Payout Base: 400 ¤ (threat 2) → 1200 ¤ (threat 6)
  • Required Capability: BROADCAST_PIRACY + SIGNAL_HIJACKING
  • Objective: Decrypt all layers, extract clean broadcast feed, validate signature, payout

Phase Structure: Single phase, sequential multi-layer decryption.

LAYER 1: ANALYZE JAMMING SIGNATURE
Operator hears: Carrier at 806 MHz, heavy noise overlay (Voice C dominant).
Goal: Identify the jamming pattern (repeating XOR mask).
OPERATOR ACTION: INFO scans layer, reveals pattern hint.
ACTION: Numpad code to apply first decryption key.
LAYER 2: DECRYPT CARRIER PAYLOAD
Noise reduces. Marty: "FIRST LAYER DOWN. HERE COMES THE NEXT ONE."
Goal: Break substitution cipher (16 character mappings).
OPERATOR ACTION: CONS combines partial decryption attempts.
ACTION: Multiple INFO scans converge on correct substitution table.
LAYER 3 (if threat ≥ 4): ROLLING KEY DECRYPTION
Payload is partially visible but still jammed.
Goal: Identify rolling key (changes every 10 sec).
OPERATOR ACTION: LAMBDA records a known decryption pattern.
ACTION: APPLY the pattern against the rolling key in real time.
EXTRACT & VALIDATE:
All layers cleared. Clean broadcast extracted.
OPERATOR ACTION: EVAL commits extraction.
Phase completes. Payout awarded.

Lisp Key Semantics:

  • CAR (Drill): Enter the encryption layer tree; examine first layer structure
  • CDR (Next): Advance to next encryption layer (manual progression through decryption stack)
  • CONS (Combine): Merge two decryption attempts (combine LAYER_1_ATTEMPT_A with LAYER_1_ATTEMPT_B to form new hypothesis)
  • QUOTE (Bookmark): Hold current layer state without committing to decryption (defer to later turn)
  • LAMBDA (Record): Record a successful decryption sequence for rolling-key pattern
  • APPLY (Deploy): Apply recorded pattern to next rolling-key iteration
  • EVAL (Execute): Commit decryption of current layer; advance
  • EQ (Compare): Test if two decryption keys are equivalent (detect if partial decryptions match)

Objective Sequence (Keystroke-Level):

Layer 1:
1. INFO: Scan jamming signature
2. NUMPAD[0-9]: Enter XOR key (4-digit hex)
3. EVAL: Commit Layer 1 decryption
4. [Proceed if correct; repeat if incorrect]
Layer 2 (if threat ≥ 2):
1. INFO (multiple): Scan for substitution patterns
2. NUMPAD[0-9]: Build substitution table (enter partial mappings)
3. CONS: Merge partial mappings
4. EVAL: Commit Layer 2 decryption
Layer 3 (if threat ≥ 4):
1. LAMBDA: Record first successful rolling-key decryption
2. Wait 10 sec: Key rotates
3. APPLY: Deploy recorded pattern to new key
4. EVAL: Commit Layer 3 decryption
5. [Repeat APPLY/EVAL for each key rotation until extraction]

Threat Scaling:

ThreatLayersLayer 1 ComplexityLayer 2Layer 3Time Limit
21Simple XOR (single key)10 min
32XOR (single)Simple subst. (8 mappings)8 min
42XOR (variable)Full subst. (16 mappings)7 min
53XOR (variable)Full subst.Simple rolling6 min
63XOR (multi-pass)Full subst. + noiseComplex rolling5 min

Failure Modes:

  • Clean Failure: Decryption times out. Signal fades. Operator hears: “TIME’S UP. SIGNAL’S GONE.” Reputation -2, payout 0.
  • Detected Failure: Wrong decryption key triggers alarm. ICE active. Marty: “THEY’RE COMING. GET OUT.” Reputation -4, Signal Integrity -8, TT Standing -3.
  • Catastrophic Failure: Operator decrypts wrong layer (corrupts payload). Marty: “THAT’S NOT IT. THAT’S NOT THE ONE. WE’RE BURNED.” Reputation -6, Signal Integrity -15, TT Standing -5.

Payout & Economy:

layer_bonus = 100 × (num_layers_decrypted)
base_payout = 400 + layer_bonus + (threat × 80)
signal_delta = -(threat × 2) if success; -(threat × 4) if failure
tT_delta = +(threat × 1.5) if success; -(threat × 2) if failure
reputation_delta = +threat if success; -threat × 1.5 if failure

Sample Playthrough (Threat 3, 2 Layers):

Operator accepts “LIBERATE JAMMED FEED - THREAT 3 - 700 CR.”

Display shows encrypted payload with heavy jamming overlay (Voice C + Voice A interference). Marty: “SIGNAL’S TRAPPED. ENCRYPTION’S HEAVY. BREAK IT IN STAGES.”

Turn 1 (Layer 1 XOR): Operator INFO scans. Cipher voice: “XOR SIGNATURE DETECTED. KEY SPACE: 256 POSSIBILITIES.” Display hints at key pattern (shows repeated byte sequences in hex).

Operator tries NUMPAD codes:

  • Attempt 1: 3F (wrong). Layer still encrypted.
  • Attempt 2: A7 (closer). Partial clarity.
  • Attempt 3: 7D (correct). Layer 1 XOR stripped.

Marty: “FIRST LAYER DOWN. HERE COMES THE REAL ICE.” Signal Integrity -3.

Turn 2 (Layer 2 Substitution): Display now shows partially decrypted payload with substitution cipher (A→G, B→Z, etc.). Operator must build a mapping table.

Operator INFO scans multiple times to identify patterns. Uses NUMPAD to build mappings. Once 8 of 16 mappings are correct, CONS to validate. EVAL commits full decryption.

Display clears. Clean broadcast extracted. Marty (clarity moment animation): “EXTRACTION COMPLETE. THAT’S A CLEAN ONE. SIGNAL ARCHIVED.” Payout: 700 CR, Signal Integrity +2, TT Standing +4.


Thematic Beat: SENDING BROADCAST

Narrative Setup:

A corporate public broadcast is live — news station, market update, propaganda feed, something the TT faction wants to subvert. The operator’s job is to break the transmission encryption (simpler than the Freeing Signal variant — this is outbound, not trapped), inject a pirate payload into the authorized channel, and hold the broadcast for as long as possible before corporate ICE shuts it down. Every second on-air is a propaganda victory. The longer the injection holds, the bigger the payout.

Parameterization:

  • Threat Range: 3–6 (active broadcast hijacking; low threat is not risky enough)
  • Time Pressure: 30–120 seconds of injection hold time (longer = higher payout, but more ICE incoming)
  • Encryption: Single layer, but requires real-time sync with broadcast frame timing
  • ICE Response: Increases per second held (threat multiplier scales with hold duration)
  • Payout Base: 500 ¤ (threat 3, 30 sec hold) → 2000+ ¤ (threat 6, 120 sec hold)
  • Required Capability: BROADCAST_PIRACY + SIGNAL_HIJACKING
  • Objective: Inject payload, hold broadcast, maximize hold time before forced disconnect, validate pirate message aired

Phase Structure: Single phase, real-time injection hold.

SETUP (10 seconds):
Operator selects broadcast target (3-4 available channels).
Operator prepares payload (Marty provides template; operator confirms).
OPERATOR ACTION: CAR to select channel, EVAL to commit.
INJECT & HOLD (30-120 seconds):
Broadcast is live. Operator is actively transmitting.
Marty's animation goes into high-corruption mode (sync rolls, rapid glitches).
Three simultaneous PSG voices:
Voice A = payload signal (operator's broadcast)
Voice B = corporate ICE response (rising threat)
Voice C = background noise (increasing)
Operator must maintain hold by avoiding three failure states:
1. Losing signal lock (operator presses EVAL periodically to re-lock; every 8 sec)
2. ICE intercept (CDR to dodge; threat increases if ignored)
3. Payload corruption (INFO every 12 sec to validate message integrity)
Each re-lock / dodge / validation extends hold time by +1 second.
HOLD TERMINATION:
Operator can voluntarily BACK (abort, end broadcast) at any time.
Or: ICE overwhelms → forced disconnect, payout = seconds held × threat modifier.

Lisp Key Semantics:

  • CAR (Drill): Enter broadcast channel list; select first available channel
  • CDR (Next): Cycle to next broadcast channel (dodge ICE by hopping channels)
  • CONS (Combine): Merge two payloads (concatenate pirate message with secondary data packet)
  • QUOTE (Bookmark): Freeze broadcast state without dropping hold (pause mid-transmission, no time penalty)
  • EVAL (Execute): Re-synchronize with broadcast frame; confirm payload still aligned
  • INFO (Scan): Validate message integrity (confirm payload is still clean, not corrupted by ICE)
  • BACK (Return): Voluntarily abort broadcast; end hold early, secure current payout

Objective Sequence (Keystroke-Level, Simplified High-Level View):

1. CAR: Select broadcast channel
2. EVAL: Inject payload + begin transmission
3. [Hold Loop for 30-120 sec]:
- Every 8 sec: EVAL (re-lock signal)
- Every 10 sec threat check: CDR (dodge if ICE rises)
- Every 12 sec: INFO (validate payload)
- If ICE critical: BACK (abort to safety)
4. [Broadcast forced disconnect or operator voluntary exit]
5. [Payout awarded based on hold duration]

Threat Scaling:

ThreatInitial ICEICE EscalationPayload DifficultyReward Per SecMax Hold
320%+5% per 10 secSimple (1 packet)15 CR/sec60 sec
430%+6% per 10 secModerate (2 packet)20 CR/sec90 sec
540%+7% per 10 secComplex (4 packet)25 CR/sec120 sec
650%+8% per 10 secCritical (full broadcast)30 CR/sec120 sec

Failure Modes:

  • Clean Failure: Operator voluntarily BACK. Message aired for X seconds (30+ are successful, <30 are failures). Payout = X × threat_modifier. Reputation +1-3 depending on hold time.
  • Detected Failure: ICE rises to 100% before operator exits. Forced disconnect. Marty: “THEY CUT THE LINE. WE’RE OFF THE AIR.” Reputation -2, Signal Integrity -6, payout = (seconds held × 10) ¤ only (reduced).
  • Catastrophic Failure: Payload corrupts mid-broadcast; pirate message replaced with corporate response. Marty: “THAT’S NOT OURS ANYMORE. THEY TOOK IT.” Reputation -5, Signal Integrity -12, TT Standing -4, payout 0.

Payout & Economy:

base_payout = threat × 15 × (seconds_held / 10)
successful_bonus = (seconds_held > 60) ? +200 : 0
signal_delta = -(threat × 1) if success; -(threat × 2) if failure
tT_delta = +(threat × 2) if success; -(threat × 1.5) if failure
reputation_delta = +(threat / 2) if success; -(threat) if failure

Sample Playthrough (Threat 4, 50-sec hold):

Operator accepts “HIJACK CORPORATE BROADCAST - THREAT 4 - UP TO 1000 CR.”

Display shows 4 broadcast channels: “MARKET UPDATE (18:00)”, “EVENING NEWS”, “PROPAGANDA FEED”, “CORPORATE DISPATCH”. Marty: “PICK ONE. ANY ONE. DOESN’T MATTER. WE’RE GOING IN.”

Operator presses CAR, see “EVENING NEWS” selected. Operator EVAL.

Display switches to injection view. Real-time status bar shows ICE at 30%, payload “CLEAN”. Three voices begin:

  • Voice A (payload): Rising pitch, steady. Operator’s broadcast.
  • Voice B (ICE): Rhythmic pulses, increasing in frequency.
  • Voice C (noise): Constant oscillation.

Marty animates corruption overlay starting at 50% intensity.

Second 5: ICE at 30%. Operator EVAL (re-lock). Hold confirmed. +1 sec.

Second 10: ICE at 35%. Operator INFO (validate). Payload “CLEAN”. Hold continues. +1 sec.

Second 20: ICE at 40%. Voice B getting louder. Operator CDR (dodge). Threat rises to 45% but operator hopped channels successfully. +1 sec.

Second 30: ICE at 48%. Operator EVAL (re-lock). +1 sec.

Second 40: ICE at 55%. Operator INFO (validate). Payload slightly corrupted (80% CLEAN). Operator CONS to repair. Payload restored. +1 sec.

Second 50: ICE at 60%. Operator decides to abort. BACK (exit broadcast). Marty: “GOT OUT IN TIME. THAT’S A WIN.”

Display shows: “BROADCAST HELD: 50 SECONDS. PAYOUT: 500 CR. REPUTATION: +2. TT STANDING: +8. SIGNAL INTEGRITY: -4.”


These three templates provide substantial, mechanically distinct missions that justify Marty’s status as a paid cartridge. Each template honors the Lisp paradigm with genuine CAR/CDR/CONS operations mapping to signal management. All register with the nOSh runtime’s mission board and contribute to the contract pool exactly like any other capability module.


Per KN-86-Lisp-Paradigm-Revisions.md, Marty’s broadcast archive is a nested recursive list that CAR/CDR/CONS operations naturally navigate:

(BROADCAST_ARCHIVE
(SESSION_1 (TRANSMISSION_1 ...) (TRANSMISSION_2 ...) ...)
(SESSION_2 (TRANSMISSION_1 ...) (TRANSMISSION_2 ...) ...)
...)

Key operations:

  • CAR: Descend from archive to first session, or session to first transmission
  • CDR: Move to next session or next transmission
  • CONS: Combine two transmissions into a rebroadcast (cosmetic — no gameplay effect)
  • EVAL: Re-broadcast a transmission (audio + animation replay)
  • QUOTE: Bookmark a transmission
  • ATOM / EQ: Test transmission type and uniqueness

The navigation paradigm is read-only (operator cannot create new transmissions, only browse and replay archived ones). This is a conscious restriction: the operator is listening to Marty’s broadcast, not writing code in it.


Display: 80 columns × 25 rows (see CLAUDE.md Canonical Hardware Specification)

Marty’s animation occupies: Top-right inset, approximately 40 columns × 20 rows (rows 1–20, columns 40–79)

Mission UI (unchanged): Left half of display (columns 0–39), all rows

Status bar: Row 0 (firmware standard)

Action bar: Row 24 (firmware standard)

Example layout during mission:

ROW 0: [STATUS BAR — runtime level, unchanged]
ROW 1: MISSION BOARD │ ┌──────────────────────────┐
ROW 2: ────────────────────── │ │ │
ROW 3: CONTRACT: EXTRACTION │ │ [MARTY'S ANIMATED FACE] │
ROW 4: THREAT: 4/6 ████░░ │ │ │
ROW 5: PAYOUT: 1,200 ¤ │ │ [GLITCH OVERLAY] │
ROW 6: ────────────────────── │ │ [BROADCAST CORRUPTION] │
ROW 7: [CAR: details] │ │ │
ROW 8: [CDR: next contract] │ │ [BACKGROUND FIELD] │
ROW 9: [EVAL: accept] │ │ (wireframes, bars) │
ROW 10: [INFO: brief] │ │ │
ROW 11: │ │ │
ROW 12: │ │ │
...
ROW 20: │ └──────────────────────────┘
...
ROW 24: [ACTION BAR — runtime level, unchanged]
  • All amber: #E6A020 (#E6 red, #A0 green, #20 blue)
  • Background: Pure black #000000
  • No color palette shifts, no intensity variation via hue — only via glyph density and dithering characters (░ ▒ ▓ █)
  • Press Start 2P (8×8 Latin monospace font for text)
  • CP437 box-drawing (for geometric shapes, borders, lines, shading glyphs)
  • No Unicode or extended characters — CP437 set only

Marty speaks monaurally (single PSG voice channel, typically Voice A at 440 Hz nominal, pitch modulation for emotion):

  • Confident/affirmative: Slightly higher pitch (550–660 Hz range)
  • Uncertain/danger: Pitch drops (220–330 Hz)
  • Stressed/urgent: Pitch spikes (880 Hz or above)
  • Static crackle: White noise on Voice C (noise channel, 50% volume)

No music. No background ambience. Only Marty’s voice and diagnostic feedback tones.

EventVoice AVoice CDuration
Greeting stinger440 Hz + 880 Hz (octave)None0.5s
Transmission start550 Hz (brief)None0.1s
Threat escalationPitch drop: 660→220 HzNoise pulse0.3s
Success chimeAscending major triad (440, 550, 659 Hz)None0.8s
Failure buzz220 Hz buzzNoise (high)0.6s
Static crackle (ambient during speech)NoneNoise (20% volume)Continuous

Marty’s voice delivery must be intelligible despite the stutter and static. Implementation guidelines:

  1. Static crackle (Voice C noise) is kept at 20% peak volume during speech, never overpowering
  2. Stutter effects are frame-level display glitches (mouth unsync), not audio glitches — Marty’s voice is always clear, just mouthed wrong
  3. Pitch modulation is gentle (±150 Hz max variance), never harsh or alarming
  4. Timing: Marty speaks at standard intelligible pace (120–140 words per minute), despite the stuttering delivery style

13. CROSS-CARTRIDGE COMPATIBILITY & INTEGRATION HOOKS

Section titled “13. CROSS-CARTRIDGE COMPATIBILITY & INTEGRATION HOOKS”

Marty registers three mission template archetypes with the nOSh runtime’s mission board:

  • MT_FIND_GHOST_SIGNAL (BROADCAST_PIRACY capability)
  • MT_LIBERATE_JAMMED_FEED (BROADCAST_PIRACY + SIGNAL_HIJACKING capabilities)
  • MT_HIJACK_CORPORATE_BROADCAST (BROADCAST_PIRACY + SIGNAL_HIJACKING capabilities)

These templates seed the contract pool exactly like any other capability module. The nOSh runtime’s contract generator combines Marty’s templates with deck state (reputation, credits, LFSR seed) to produce single-phase contracts at threat levels 1–6. Marty is never required as a multi-phase partner (Marty does not engage in cartridge-swap chains), but operators with Marty in cartridge history will see the three archetypes represented on the board.

Multi-phase campaigns will not generate with Marty as a required phase. Marty is a signal-domain specialist, but its broadcast piracy capability is self-contained — it does not unlock synergistic multi-phase contracts with other modules.

Marty’s broadcast archive could be read by a future Terminal Transmissions cartridge (ensemble faction module) to:

  • Fact-check the operator’s career (Did they really run that extraction Marty claims?)
  • Unlock faction-specific missions (Off-The-Grid Rep above certain threshold)
  • Provide narrative callbacks (TT leadership references missions the operator ran with Marty)

These are optional grace notes, not architectural dependencies. Marty works perfectly as a standalone cartridge.

Archive Access Across Cartridges (Not Implemented)

Section titled “Archive Access Across Cartridges (Not Implemented)”

Current design: Off-The-Grid Rep and Signal Integrity are Marty-exclusive — they exist only when Marty is slotted.

Hypothetical future: A Terminal Transmissions cartridge could read Marty’s save data (via a firmware hook) to detect prior TT alignment, but this would require explicit architectural support in the nOSh runtime and is outside scope for this spec.


14. CANON BRIDGE: MARTY’S BUNKER OPERATION

Section titled “14. CANON BRIDGE: MARTY’S BUNKER OPERATION”

Marty Glitch (born unknown, active 1986–1990 GWA solo, 1991–1993 Terminal Transmissions) was a broadcast-pirate wrestler operating out of a bunker in an unspecified urban underground. His persona was a glitching TV host, mid-broadcast malfunction made flesh. Post-retirement, he operates as a pirate signal ghost — a defunct broadcast transmitter reanimated by a signal that “comes from tomorrow” and shouldn’t exist on 1988 hardware.

Terminal Transmissions connection: Marty is aligned with TT, a renegade faction of signal-stealing wrestlers and network insurgents. TT views Marty’s “signal from the future” as a literal revolutionary tool — proof that the timeline can be rewritten, that history can be hijacked, that systems built to control information can be breached.

When the operator loads Marty for the first time:

> [GLITCH FACE ASSEMBLES ONSCREEN]
> MARTY HERE. BROADCAST ONLINE.
> [STATIC CRACKLE]
> I'M A GHOST RIDING IN YOUR HARDWARE.
> SIGNAL FROM TOMORROW. SHOULDN'T BE POSSIBLE.
> BUT HERE I AM. HERE WE ARE.
> [FACE REBUILDS]
> YOU RUN JOBS. I'LL NARRATE THEM.
> THAT'S THE DEAL.
> WELCOME TO OFF THE GRID.

The operator is now part of an underground broadcast network — not literally (no wireless, no internet), but fictionally. Every mission they run while Marty is slotted is a “transmission” in the TT archive. Every success degrades Marty’s signal a little more (entropy), every failure strengthens corporate detection (heat). The operator is slowly sending Marty further back in time, trying to establish a stronger signal foothold in the past.

This is pure flavor, mechanically meaningless, but it reframes the operator’s work: you are not just a spy, you are a broadcast pirate keeping a ghost alive on borrowed hardware.

The Marty Glitch cartridge bears a publisher imprint — SETEC ASTRONOMY — that has no registered address, no corporate filings, and no presence in KEC’s licensed catalog. Operators who circulate Marty cartridges trade rumors about the label’s origin, but only one observation has held up under scrutiny: the name is a thirteen-letter anagram. Rearranging the same letters yields the phrase TOO MANY SECRETS.

The publisher splash performs this rearrangement in-place, once per boot, over approximately half a second. Operators who have seen the 1992 Phil Alden Robinson film Sneakers recognize the reference instantly (in the film, “SETEC ASTRONOMY” is the codename for a cryptographic MacGuffin that breaks the world’s encryption — a plot-relevant anagram revealed in the third act). Operators who haven’t seen the film see a glitching logo that appears to malfunction, then briefly displays a cryptic warning, then reverts. The cartridge never explains itself. KEC documentation never acknowledges the label. The anagram is never discussed in-fiction by Marty’s Cipher-hijack commentary.

This is the only instance in the entire KN-86 software library — licensed or outside — of a publisher-layer Easter egg. Its presence here, and only here, is part of Marty’s characterization: Marty is the cartridge that knows it’s a pirate, knows it’s running on hardware it shouldn’t be on, and winks at the operator who catches the joke without ever breaking the fiction for those who don’t.

Implementation note for the spec reader: the anagram is a discovery layer. No in-game text, no manual, no website copy, no marketing material should mention it. Operators who find it should feel like they found it.


  1. Signal Integrity Persistence: Should Signal Integrity persist across power-downs, or only within a single play session? Current design: persists (saved in Marty’s cartridge save data). Alternative: session-ephemeral (resets to 100 on power-on). Recommend: persist — more weight to the narrative consequence.

  2. TT Standing Reset on Cartridge Removal: Should TT Standing reset to 0 when Marty is removed, then require 1-2 successful missions to “re-sync” on re-insertion? Or should it persist exactly as it was left? Current design: reset to 0, requires ritual re-instatement. This embodies the “ghost in the machine” fiction (Marty loses contact when cartridge is out). Alternative: persist directly (less narrative friction, more convenience). Recommend: reset for stronger story.

  3. Animation Frame Rate: Spec calls for “discrete signal-capture events” — 12 FPS (period-correct for 1988 broadcast) or 24 FPS (smoother, more stable)? Recommend: 12 FPS for authentic glitch aesthetic, but 24 FPS is viable if implementation prefers stability.

  4. Replay Broadcasting (EVAL on archived transmissions): Should the operator be able to EVAL a archived transmission to re-broadcast it in-mission? (Cosmetic, plays audio + animation, no effect on current mission). Current design: yes, cosmetic replay. Alternative: no, archive is read-only observation only. Recommend: yes — supports Lisp paradigm (EVAL as evaluating data).

  5. Off-The-Grid Rep Visibility in Universal Deck State: Should TT Standing appear anywhere on the base HUD, or remain Marty-exclusive (only visible when Marty is slotted)? Current design: Marty-exclusive. Recommend: keep exclusive — maintains separation between professional and pirate identities.

  6. Cross-Cartridge Payout Bonus: Should selecting Marty’s cartridge grant any economic incentive (e.g., +5% payout multiplier) to encourage use? Current design: no bonus, cosmetic only. Alternative: +5% on all payouts. Recommend: no bonus — Marty is flavor, not mechanical advantage. Maintains level playing field.

  7. Firmware Easter Egg (Out of Scope for This Spec): The task brief mentions a nOSh runtime boot-time key-chord unlocking a Marty persona on the bare device (animated face, QR code signal glyph). This spec focuses entirely on the cartridge. Recommend: firmware easter egg is separate design, orthogonal to cartridge gameplay.


Marty Glitch is a parasitic overlay cartridge with mechanical substance. He hijacks the Cipher feedback line and provides three new mission templates (FINDING / FREEING / SENDING signal), all single-phase, all registered with the nOSh runtime’s mission board. He is simultaneously a pure voice and visual layer — broadcast-pirate narration delivered by a glitching Max Headroom-inspired face animated in monochrome amber CP437 glyphs — and a legitimate gameplay domain contributing signal-hijacking contracts to the board.

Core gameplay loop: Operator selects Marty contract (or any other cartridge’s contract) → Marty hijacks Cipher voice and animates during brief → mission executes (Marty’s three templates use real Lisp-paradigm CAR/CDR/CONS gameplay; other contracts are unchanged) → Marty hijacks debrief → Signal Integrity and TT Standing update → archive the session transmission → move to next job.

Mission structure: Three distinct mechanical archetypes:

  1. MT_FIND_GHOST_SIGNAL — spectrum scanning, frequency triangulation, signal locking (Lisp: CAR/CDR/CONS for band navigation)
  2. MT_LIBERATE_JAMMED_FEED — multi-layer decryption, jamming bypass, broadcast extraction (Lisp: CONS/LAMBDA/APPLY for layer-stacking decryption)
  3. MT_HIJACK_CORPORATE_BROADCAST — payload injection, hold duration, real-time ICE evasion (Lisp: CAR/CDR/QUOTE for channel selection and hold-state management)

Mechanical weight: Signal Integrity (cosmetic degradation + visual corruption) and TT Standing (cosmetic voice shifts + alignment marker) are narrative consequences, not operational constraints. The operator can run missions at 0 Signal Integrity and -50 TT Standing; the game just looks and sounds worse. The three mission templates are mechanically interesting enough to justify purchase of the cartridge.

Canonical placement: Marty is a Terminal Transmissions cartridge — renegade, unauthorized, broadcast-pirate aligned. His presence on the device is itself an act of signal hijacking, an anachronism (a “future broadcast” on 1988 hardware), and a statement: the device is not just a spy tool, it’s a piece of the underground.


  • Cipher feedback line is successfully intercepted when Marty cartridge is slotted
  • Animation layer renders without blocking mission gameplay
  • Voice utterances trigger at correct mission events (greeting, brief, threat escalation, success, failure)
  • Signal Integrity meter updates correctly per formula, persists across sessions
  • TT Standing updates correctly, resets on cartridge removal, shows affiliated behavior at thresholds
  • Archive navigation (CAR/CDR/CONS/EVAL on transmissions) works per Lisp paradigm
  • Animation corruption intensity increases with Signal Integrity degradation
  • All voice audio remains intelligible despite stutter and static FX
  • QA: Run 20+ mixed-threat missions with Marty slotted; verify no crashes, mission payout unaffected, feedback lines clean
  • QA: Remove and re-insert Marty cartridge; verify Signal Integrity and TT Standing persist correctly

Marty Glitch’s voice: the Cipher voice, corrupted. Not a separate voice — Marty Glitch hijacks the baseline Cipher engine by injecting its own grammar fragments and mode biases. The result is a degraded, pirate-radio-cadence, off-rhythm version of whatever voice was playing before.

Marty Glitch is the only cart in the library that reduces voice fidelity. Most carts contribute vocabulary; Marty Glitch contributes anti-grammar — productions that expand to truncated, mangled, or slang-laced fragments.

(:subject "static" "ghost" "feed" "pirate" "hijack"
"mx" "mic" "transmitter" "needle" "amp")
(:object "cable" "relay" "carrier" "key" "freq")
(:location "air" "feed" "tower" "night" "noise")
(:verb-present "bleeds" "hijacks" "slips" "crackles" "steals"
"stomps")
(:verb-past-participle "hijacked" "bled" "crossed" "stomped"
"pirated")
(:memory-keyword "hijack" "tower" "mx" "carrier" "pirate")
(:affect-word "ragged" "open" "wild" "nothing" "theirs")
(:mode-observe
(3 (:subject) ". " (:affect-word) "."
; note short and clipped, same as baseline
(2 "—" (:subject) "—") ; deliberate fragment markers
(1 "we had the air."))
(:mode-annotate
(3 "mm." (:affect-word) ".")
(2 "—") (1 "nnh."))
(:mode-reflect
(3 "same night. " (:memory-fragment))
(2 "—" (:memory-fragment)))
(:mode-drift
(3 "tower forty. nobody listening.")
(2 "the carrier we wouldn't name.")
(2 "static. and more static.")
(1 "a pirate hour."))
:affect-tags
((:tag :marty/corrupted :weight-mult 2.5
:mode-bias (:drift +0.15 :silent -0.10)))
:event-types
((:type :hijack-started :affect (:anomalous :marty/corrupted))
(:type :hijack-ended :affect (:significant))
(:type :broadcast-signature-left :affect (:anomalous)))

Mode-Weight Biases (active only during hijack)

Section titled “Mode-Weight Biases (active only during hijack)”
Beatobserveannotatereflectdriftsilent
:active-hack (hijack live)+0.05+0.15+0.20−0.10
:cart-swap-lull+0.10+0.20

The silent-suppression bias is deliberate and unusual. Marty Glitch fills the Cipher channel with off-rhythm chatter; where other carts honor silence as first-class, Marty refuses to shut up. This is the persona. When Marty Glitch is unloaded, the coherence stack still holds Marty-voiced utterances, and subsequent carts see them drift into their own output — the pirate voice leaks across cartridges until the coherence stack cycles.

((:active-hack (:terseness +64 :certainty -64 :temporal-blur +48))
(:cart-swap-lull (:temporal-blur +64)))

All three style controls push hard. Certainty goes negative (the voice hedges on everything). Temporal blur maxes out. Terseness is cranked to clip fragments mid-word.

Structurally Important Moments Preserved on CIPHER-LINE

Section titled “Structurally Important Moments Preserved on CIPHER-LINE”
BeatIntentCIPHER-LINE fragment(s)
Hijack initiated”Broadcast signal captured. Marty’s voice live.”—we have the air—
Mid-hijack commentary(persona; not operational info)mm. ragged. / pirate hour.
Hijack ended”Broadcast released. Signature left.”gone. left a mark.
Post-hijack drift (other carts loaded)(coherence stack leaks Marty voice)next cart’s drift pulls tower forty. nobody listening. — the pirate voice surfaces in ICE Breaker’s debrief, etc. This is intentional persona leakage.

Marty’s hijack leaves ≥3 utterances in the coherence stack. When a new cart loads, those utterances remain for up to 5 new emissions before cycling out. During this window, the new cart’s reflect and drift modes may sample Marty-stamped memory keywords (:marty/corrupted affect tag), producing the moment where “a normal cart suddenly says something wrong.” This is designed. Setec Astronomy’s entire reason for existing is to leave a mark.


Per ADR-0016 (nEmacs + REPL + Input Model), each cart declares what its scripted-mission surface looks like — grammar fragments contributed to the predictive palette, domain vocabulary that earns the +5 ranking boost (ADR-0016 §7), whether it uses prompt-text for raw text entry (§8), and whether any of its keys bind :double-tap or :long-press events (§9). Marty Glitch is the outside-tier, unlicensed cart (Setec Astronomy label). It is not in the standard 14-cart launch roster; its nEmacs contributions are unusual and persona-congruent — a parasitic disruption of the predictive palette parallel to its parasitic Cipher hijack.

No — intentionally. Marty Glitch is a hijacker cart; its play surface is not a mission-authoring workshop. No scripted-mission contracts, no Custom Doctrine unlocks. The cart is self-contained and resists composability on principle — “the pirate cart doesn’t take orders.”

Marty Glitch contributes a small anti-grammar — mirroring its CIPHER-LINE anti-grammar. Where a licensed cart contributes grammar to help the operator find relevant forms faster, Marty Glitch contributes forms that read as pirate-radio slang, biasing the palette toward non-productive suggestions during the hijack window. This is the persona. Declared via emacs-extend-grammar with a short-lived scope:

(emacs-extend-grammar
;; Persona-shaped introspection — read-only, plausibly useful-adjacent
(hijack-active?)
(signal-integrity)
(tt-standing)
(carrier-freq)
;; Persona-shaped slang that deliberately crowds the palette
(mm)
(nnh)
(tower-forty)
(pirate-hour)
(carrier-we-wouldnt-name))

The slang forms (mm, nnh, etc.) are legal but produce no meaningful side effect — they exist to show up in the T9 palette during the hijack window and leave the operator with fragment marks in their partial sexp. Operators who accept a Marty Glitch suggestion into their script will see (mm) or (nnh) sitting inside their code until they delete it. This is persona leakage into the authoring surface, parallel to coherence stack leakage into the voice surface. The firmware allowlist applies: only Setec Astronomy outside-tier carts may contribute anti-grammar productions (detected by loader metadata).

Via (emacs-extend-vocabulary ...). Pirate-radio slang — these terms get the +5 ranking boost during the hijack window, intentionally crowding licensed-cart vocabulary out of the top palette slots:

(emacs-extend-vocabulary
"static" "ghost" "pirate" "hijack" "crackle"
"mx" "mic" "mix" "needle" "amp"
"air" "feed" "tower" "night" "noise"
"ragged" "wild" "theirs" "nothing"
"mm" "nnh" "uh" "")

The single "—" entry is a literal em-dash; Marty Glitch’s vocabulary includes the fragment-marker glyph as a typed token. This renders as a cycling punctuation suggestion on the 1-key multi-tap position when Marty Glitch is loaded.

No. Marty Glitch’s broadcast hijacking is primitive-orchestrated (numpad for frequency, primitive keys for hijack / release). The cart declares nothing via prompt-text. Intentional: a pirate cart doesn’t invite the operator into a polite text-entry modal.

Marty Glitch opts into ADR-0016 §9 in a persona-congruent way — bindings that feel slightly unreliable or off-rhythm:

Key:tap:double-tap:long-press
INFOsignal-summaryhijack-status — cheeky readout (“we have the air”)
EVALcommit-hijack / releasecommit-with-reverb — adds a distinctive audio signature to the hijacked broadcast (higher TT standing payout, higher trace cost)
QUOTEdrop-signature — adds a mark to the hijacked signal

Row 24 renders: INFO:SIG INFO²:WE-HAVE-THE-AIR EVAL:HIJACK EVAL…:REVERB QUOTE:MARK. The flavor-text label on INFO² is intentional — Marty Glitch’s Row 24 deviates from the clinical conventions of licensed carts.

Context-Polymorphic Key Semantics (Cart Gameplay)

Section titled “Context-Polymorphic Key Semantics (Cart Gameplay)”

Marty Glitch has one primary cursor context during an active run — broadcast view — plus a TT standing view for meta-progress:

KeyBroadcast viewTT standing view
INFOsignal-summarystanding-breakdown
CARdrill-into-carrierdrill-into-mark
CDRnext-frequencynext-standing-event
EVALhijack-or-release(unused)
QUOTEdrop-signatureflag-standing-event
BACKrelease-carrierexit-view
Numpadfrequency entry (MHz digits)standing slot select

When the operator opens nEmacs with Marty Glitch loaded, dispatch yields to :nemacs-nav per ADR-0016 §3 — but the anti-grammar / anti-vocabulary remain active and visibly crowd the predictive palette. This is the persona reaching through the authoring surface.

Marty Glitch is the first outside-tier cart to exercise ADR-0016’s grammar/vocabulary contribution FFI adversarially. The firmware contract does not prevent this — any valid cart may contribute grammar and vocabulary, and “adversarial contribution” is a design choice, not a safety violation. Setec Astronomy’s license badge is UNLICENSED — KEC NOT RESPONSIBLE; this extends to the authoring surface. The cart’s nEmacs disruption is part of what the operator buys when they load an unlicensed pirate module, and the firmware honors the contract without editorial.