On this page
  1. Related
  2. Games
  3. References
  4. Sources

A kill screen, in the games read here, is a late level where an 8-bit counter overflows and breaks the level’s setup. On Pac-Man’s level 256 the level byte holds 255, the fruit routine’s inc a wraps it to 0, and the fruit loop makes 256 passes1. On Donkey Kong’s level 22 the bonus timer’s start wraps from 260 to 42. Players also call level 29 of NES Tetris a kill screen, although the game goes on3.

  • Draw overflowPac-Man (1980). On level 256 the fruit row's loop count wraps to 0 and runs 256 times.1
  • Timer overflowDonkey Kong (1981). On level 22 the bonus timer's start wraps from 260 to 4.2

Games

GameYearHowNote
Pac-Man1980Draw overflowon level 256 the fruit row's loop count wraps to 0 and runs 256 times
Donkey Kong1981Timer overflowon level 22 the bonus timer's start wraps from 260 to 4
Every claim about this mechanic, by game (2)

References

  1. ^ abThe level byte at $4E13 starts at 0 and gains 1 per level, so on level 256 it holds 255. The routine that draws the fruit row loads it and adds 1, and that inc a wraps to 0; 0 passes the "fewer than 8" test, and the draw loop, a djnz counted by that 0, makes 256 passes instead of at most 7. Each pass draws a fruit at HL, writes its color $400 higher, and moves HL on 2 bytes, so from $4004 the loop steps across about 512 bytes of the 1 KB video RAM at $4000 and the matching span of color RAM at $4400.Codemburkley/pacman-crevised
    How we know
    2125    P1_LEVEL = 0;
    
    pacman.c lines 2119–2125 at 3277e56 · upstream ↗
    3156    P1_LEVEL++;
    
    pacman.c lines 3153–3156 at 3277e56 · upstream ↗
    ld a,(#4e13) ; Load level # inc a ; Increment cp #08 ; >= 8? … ld de,#3b08 ; Fruit table ld b,a
    pacman.c#L12932-L12947 · upstream ↗
    12977        /*  No need to modify hl as we just pass colour hl+= 0x400;*/
    12978        drawCharSquare_2b80 (&COLOUR[hl], table[1]);
    
    pacman.c lines 12955–12993 at 3277e56 · upstream ↗
    42        uint8_t video[0x400]; // starts at 0x4000
    43        uint8_t colour[0x400]; // starts at 0x4400
    
    memmap.h lines 42–43 at 3277e56 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Revised after a check by a second AI model, 2026-10-21.

    In the claim ledger

  2. ^ abOn level 22 the bonus timer's start overflows: 10 × 22 + 40 = 260, which wraps in 8 bits to 4. Because 4 passes the "less than $51" test, the cap never applies, and the board's timer starts at 4 instead of 80. dkdasm's comment pairs the starts 50 to 80 with bonuses of 5,000 to 8,000, so 4 stands for a 400 bonus.Codefurrykef/dkdasmrevised
    How we know
    3746; set up initial timer
    3747; timer is either 5000, 6000, 7000 or 8000 depending on level
    
    dkong.asm lines 3746–3768 at 4d296c5 · upstream ↗
    LD (#6229),A ; initialize level to 1
    dkong.asm#L1321 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Revised after a check by a second AI model, 2026-10-21.

    In the claim ledger

  3. ^Players call level 29 the "kill screen", although the game goes on.WebBirken, "Applying AI to Nintendo Tetris" · Trew 2022
    How we know
    most players cannot endure the drop speed of level 29, which swiftly brings the game to an end. For this reason, it has become associated with the notation of a kill screen.
    The Kill Screen · archived copy ↗
    beating level 29 (aka the "kill screen")
    section on the maxout · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

Sources

Code

Secondary