Cracking Status Games Trivia (1984)
OR 0x40 character encoding, bit-6 word boundaries, and compressed phrase tokens, 18,545 questions from the statriv2 family
April 2, 2026 · crack, status-games, statriv2, 8085
Status Games Triv (Quiz / Two / Four / Sex / Super Triv II-III)
Status Game Corporation · 1984-1988 · Intel 8085 @ 12.4 MHz · 10 ROM sets · 18,545 records
The Games
Status Game Corporation was a small Brooklyn-based coin-op operator that spent the mid-1980s shipping bar-trivia cabinets into the same NYC-area taverns and diners as its bigger competitors. Their machines were the kind of thing you’d glance at near the cigarette vending machine, a simple upright or cocktail cabinet, color monitor, four chunky answer buttons, and a coin slot ready for quarters. Players got a handful of questions per credit, cycling through trivia categories, chasing a score posted on the attract loop.
The lineup spanned enough gameplay styles to keep an operator’s route interesting. Triv Quiz1 (1984) was the original 4-answer multiple choice format. Triv Two (1984) and Triv Four (1985) extended it with more questions per coin. Hangman (1984) put a twist on the formula, players guessed letters to reveal an answer phrase, with each wrong letter adding to the doomed stick figure (this one got its own write-up , its program ROM had no phrase table at all). Sex Triv (1985) was the adult version for certain bars (“Ensexlopedia”, “Sensual Knowledge”, and “Sexperts Only” as categories). Super Triv II (1985) added XOR encryption, and Super Triv III (1988) bumped the question pack to include late-80s pop culture, Miami Vice, Back to the Future, Top Gun.
All of them ran on the same platform: an Intel 8085 board at 12.4 MHz
that the MAME driver calls statriv2. Status Games didn’t design the
hardware from scratch; they shared it across their whole trivia line and
just swapped question ROMs and program EPROMs. The result is eight ROM
sets that all speak the same encoded dialect.
The Data
18,545 cracked records across the ten statriv2 ROM sets covered here (Hangman’s 894 are documented separately):
Triv Quiz → · Status Trivia 2 → · Triv III → · Status Trivia 4 → · Trivia 5 SE → · Sex Trivia → · Super Triv II → · Super Triv III → · New Super Triv III → · Qua Quiz 2 →
How We Cracked It
The Question
Open any Status Games question ROM in a hex editor and you get garbage. No plaintext. No obvious ASCII. Every byte has bit 6 cleared, which destroys the distinction between uppercase letters, lowercase letters, and control codes. There are four layers to undo.
Layer 1: OR 0x40
The foundational encoding. Every character byte in the ROM has bit 6 (0x40) cleared. To recover ASCII, OR each byte with 0x40:
ROM byte: 0x01 0x12 0x09 0x16 0x09 0x01
OR 0x40: 0x41 0x52 0x49 0x56 0x49 0x41
ASCII: 'A' 'R' 'I' 'V' 'I' 'A'
This is not encryption, it is a side effect of how the 8085 firmware
stores characters. The letter A (0x41) becomes 0x01. The letter a (0x61)
becomes 0x21. Space (0x20) stays at 0x20. The low 6 bits carry the character
identity; bit 6 is repurposed as a structural flag.
Layer 2: Bit-6 Word Boundaries
Bit 6 does double duty. When a raw byte has bit 6 set (range 0x40-0x7F), it marks the last character of a word, a space should be inserted after it. The byte itself IS the ASCII code (no OR needed), and a word boundary follows.
This eliminates storing space characters between words. Consider “IN FLASH GORDON”:
Bytes: 29 6E 26 2C 21 33 68 07 2F 32 24 2F 6E
I n F L A S h ' G O R D O N
0x29 = 'I' (bit 6 clear → regular character, OR 0x40 → 0x69 → 'i')
0x6E = 'N' (bit 6 SET → end of word "IN", byte is 0x6E = 'n', insert space)
0x26 = 'F' (bit 6 clear → OR 0x40 → 0x66 → 'f')
0x2C = 'L' (bit 6 clear → OR 0x40 → 0x6C → 'l')
0x21 = 'A' (bit 6 clear → OR 0x40 → 0x61 → 'a')
0x33 = 'S' (bit 6 clear → OR 0x40 → 0x73 → 's')
0x68 = 'H' (bit 6 SET → end of word "FLASH", byte is 0x68 = 'h', insert space)
...
0x6E = 'N' (bit 6 SET → end of word "GORDON", insert space)
The result: IN FLASH GORDON stored in 13 bytes instead of 15 (no spaces).
For short trivia questions this saves 10-15%, significant on 8KB EPROMs.
Layer 3: High-Bit Word Tokens (0x80+)
Bytes with bit 7 set (0x80-0xBF) are not characters at all. They are indices into a phrase table stored in the 8085 program ROM. Each game variant has its own table. For Triv Quiz, the table lives at address 0x2F0D in the program ROM:
Token Phrase
───── ──────────────────────────────
0x80 WHAT IS THE CAPITAL OF
0x82 WHAT IS THE
0x84 WHAT IS
0x88 WHO INVENTED THE
0x8C WHO SAID
0x8E IN THE
0x93 WHO
0x94 THE
0x96 WHAT
0x97 FIRST
0xA2 WORLD SERIES
0xB4 WHO PLAYED
0xBC 'GILLIGAN'S ISLAND'
0xBF 'BEVERLY HILLBILLIES'
A single byte 0xB4 expands to WHO PLAYED , 11 characters from 1 byte.
The Triv Quiz table has 64 entries (0x80-0xBF), heavily weighted toward trivia
question starters and TV show titles. A question beginning with “WHO PLAYED
THE LEAD IN” compresses to just three bytes: B4 94 ... plus the remaining text.
Layer 4: Field Delimiters
The delimiter bytes in the 0xF0+ range give structure to each question record:
0xFE, question text line break (wraps to second display line)
0xFA, answer separator (first answer is correct)
0xFB, answer separator (variant)
0xFC, answer separator (variant)
0xFF, end of question record
A complete question record looks like this:
[question text bytes...]
FE ← line break (display wraps here)
[more question text...]
FA ← first answer follows (this is the correct one)
[correct answer bytes...]
FA ← second answer
[wrong answer bytes...]
FA ← third answer
[wrong answer bytes...]
FA ← fourth answer
[wrong answer bytes...]
FF ← end of record
The parser splits on 0xFF, finds the first answer delimiter (0xFA, 0xFB, or 0xFC, which one varies by ROM set), then splits answers on that same delimiter. The first answer is always correct; the game shuffles display order at runtime.
Layer 5: Super Triv II Encryption
Super Triv II (1986) adds a fifth layer: per-byte XOR encryption based on the ROM address. Each byte is first inverted and masked to 5 bits, then XORed with a bit-swapped version of the address byte:
decrypted = (~byte) & 0x1F
key = bitswap8(address & 0xFF, 4, 3, 3, 2, 2, 1, 1, 0)
decrypted ^= key
The bitswap8 function reorders the 8 bits of the address low byte.
bit 0 of the output comes from bit 0 of the input, bit 1 from bit 1,
bit 2 from bit 1, bit 3 from bit 2, and so on. The doubled bits mean the
key space is smaller than 256 values, but it is enough to defeat casual
hex-editor browsing. This algorithm was confirmed against the MAME driver
source for supertr2.
After decryption, the standard OR 0x40 / bit-6 / token encoding applies.
Extracting the Token Tables
Each game variant compiles its own phrase table into the 8085 program ROM. The extractor searches for the table by scanning for sequences of uppercase ASCII phrases separated by 0xFF bytes:
def extract_token_table(program_rom: bytes) -> dict[int, str]:
# Find longest run of 0xFF-separated uppercase phrases
# Token 0x80 = first phrase, 0x81 = second, etc.
This works for the four sets we have, but it is a heuristic. The correct approach is full 8085 firmware disassembly to find the table pointer, the firmware loads the table base address into a register pair and indexes with the token byte minus 0x80. For undumped or variant ROM sets, the token mapping remains unsolved without that disassembly work.
Results
18,545 questions extracted across the 10 statriv2 ROM sets covered by this post (Hangman’s 894 are documented separately):
Triv Quiz 1,392 questions (1984)
Triv Two 1,270 questions (1984)
Triv III 1,225 questions (1985)
Triv Four 1,038 questions (1985, 4 category chips)
Triv 5 SE 1,038 questions (1985, special edition)
Sex Triv 955 questions (1985, offset-4 token table)
Super Triv II 3,804 questions (1986, XOR encrypted)
Super Triv III 3,460 questions (1988, ROMREGION_INVERT)
New Super Triv III 899 questions (1988, alt question set, 1 bad chip dropped)
Qua Quiz 2 3,464 questions (1985, German-language)
─────────────────────────────────────
Total 18,545
Super Triv II alone, with its 8 question ROM chips and XOR encryption, is the largest single extraction in the archive. Sample questions:
[Triv Quiz] WHAT IS THE CAPITAL OF Montana
✓ Helena ✗ Billings / Great Falls / Butte
[Triv Two] WHO PLAYED the scarecrow in the wizard of oz
✓ Ray Bolger ✗ Bert Lahr / Jack Haley / Frank Morgan
[Super Triv II] IN FLASH GORDON what was the name of the evil emperor
✓ Ming ✗ Ling / Khan / Fang
What Remains
The token tables are the weak link. We have confirmed tables for Triv Quiz
(64 phrases at 0x2F0D), but each game variant, and there are at least a dozen
statriv2 ROM sets in MAME, may use a different table with different phrase
assignments. Fully solving every variant requires disassembling each game’s
8085 program ROM to locate its table pointer, which is straightforward but
tedious firmware archaeology.
Across the eleven Status Games sets the archive carries, after the auto-extracted tables land, exactly five distinct unknown tokens remained in the raw question streams (34 byte occurrences in 112K records). All five are now mapped:
| Source | Token | Occurrences | Mapping | Source of mapping |
|---|---|---|---|---|
supertr3 / nsupertr3 | 0xE1 | 1 each | MOVIE | Context, “gross commercial on a [E1] called ‘brown 25’” → The Groove Tube (1974 film) |
hangman | 0xC0 | 8 | FOOTBALL | Borrowed from supertr2’s table |
hangman | 0xC1 | 8 | BASEBALL | Borrowed from supertr2’s table |
hangman | 0xC2 | 8 | CAREER | Borrowed from supertr2’s table |
hangman | 0xCA | 8 | RECORD | Borrowed from supertr2’s table |
The hangman four-token group sat above the normal 0x80-0xBF phrase
range, appearing in exactly two garbled sports-bank records. Context
in hangman alone was too sparse to crack, but Super Triv II uses
the same 8085 board, the same phrase-token encoding, and its
auto-extracted table has those exact bytes as FOOTBALL /
BASEBALL / CAREER / RECORD. Borrowing the four entries turned
hangman’s garbled “he hit 4 _ _ _ does obed ariri hold” into
“he hit 4 football career record does Obed Ariri hold → field
goals”: Ariri’s NCAA career field-goal record, 1977-1981.
Zero placeholder-bearing rows ship in the archive.
The encoding itself is elegant for 1984: three layers of compression (bit-6 boundaries, phrase tokens, field delimiters) on an 8-bit CPU with no hardware compression support. The 8085 runs at 12.4MHz, fast enough to decode tokens in real time as the player reads the question on screen.
Arcade Trivia Archive, data extracted from MAME ROM dumps using a custom Python decoder.
Extractor: scripts/statriv2/extract.py · Format: scripts/statriv2/format.py
References
Related
More cracks
Cross-archive analyses
Triv Quiz (1984, Status Game Corporation) · Arcade-Museum · Flyer · MAME romset:
trivquiz↩︎