Sega / Gremlin VIC Dual
The very beginning of Sega arcade (via Gremlin, 1977-1979): a simple Z80
platform, often black & white with colour overlays, behind classics like
Carnival, Head On and Frogs. Historically important — and a MiSTer core
exists.
Identification
| Field |
Value |
| Manufacturer |
Gremlin / Sega |
| Years |
1977-1979 |
| CPU |
Zilog Z80 |
| Video |
B&W raster (colour via overlays or late colour boards) |
| Sound |
discrete sounds / simple samples |
Architecture
| Block |
Chip |
Role |
| CPU |
Zilog Z80 |
game logic |
| Video |
simple raster generator (tiles/characters) |
B&W image, low resolution |
| Colour |
plastic screen overlay (early) → colour boards (late) |
|
| Sound |
discrete circuits / samples |
beeps, effects |
The name comes from the "VIC" video chip; "Dual" because it was designed for two
players. One of Gremlin/Sega's first standardised platforms — emulated in MAME
(sega/vicdual.cpp).
Notable games
Head On (1979, an ancestor of Pac-Man's "collect along a route" idea), Carnival
(1980, a shooting gallery), Frogs (a Frogger ancestor), Depthcharge, Safari,
Invinco, N-Sub, Borderline, Digger…
Common faults
| Symptom |
Likely cause |
Lead |
| Corrupt B&W image |
video RAM, Z80 |
RAM test, contacts |
| Wrong colours |
misplaced overlay / colour board |
Reposition the overlay / board diagnosis |
| No sound |
discrete sound circuits |
Sound-stage diagnosis |
| No image |
Power, Z80, harness |
Base diagnosis |
Old boards (late 70s) → discrete TTL logic, frequent recap and re-soldering;
period components to source.
Modernisation & mods
The common ground for every JAMMA board
Video, power, control panel and upscalers depend on the cabinet rather than the board:
everything is centralised in Modernising a cabinet.
To run the board outside a cabinet (at home, on a display):
supergun.
- Storage 🟡: the game lives in EPROM/mask ROM on the board. Changing or restoring a game means reprogramming the EPROMs (and, for a mask ROM, using a pinout adapter) → EPROM method.
- Media preservation: replacing the original storage, multicarts, ODEs and modern options by family → PCB preservation hub.
- Scan rate 📺: ~15.72 kHz / 60.0 Hz — standard resolution, a classic 15 kHz chassis is fine → tri-sync and upscalers.
(Computed from the MAME sources —
sega/vicdual.cpp — pixel clock ÷ htotal.)
- FPGA / emulation: see the Emulation & FPGA section below.
Repair (technician)
- Discrete sound (no dedicated PSG chip): SFX = analog/discrete circuits (transistors,
555, filters) → a stage to diagnose separately.
- Z80 logic (late 70s): TTL/RAM/buffer diagnosis, good/bad comparison.
- EPROM + PROM on sockets: oxidised legs → re-tin / turned-pin socket; specific colour
PROMs.
- Edge contacts: clean; check the PSU.
→ Methods: PCB fault-finding ·
Recap ·
EPROM ·
Traces & vias
Expected clocks — measurement table ✅
Values extracted from the MAME sources for this platform. On a scope or frequency counter, a clock that is missing or off-value points straight at the crystal, the divider or the chip at fault — the fastest starting point on a dead board.
| Component |
Expected clock |
Role |
| Z80 |
1.93356 MHz |
sound CPU (usually) |
How to read this table
Several values for one component = several board variants in this family (or several instances of the chip clocked differently). These frequencies are those of the clock signal at the component's input, not of its original crystal — on many boards the clock is divided down from a single master crystal.
DIP settings ✅
31 games on this platform, settings extracted from the MAME sources (INPUT_PORTS_START blocks). The Position column gives the switch's physical reference on the board (SW2:!3,!4 = bank SW2, levers 3 and 4) — which is what lets you set it up without the paper manual. Games are sorted by MAME set name.
DIP settings — MAME set alphaho
| Setting |
Position |
Options (default in bold) |
| Head On Lives |
SW1:5 |
3 · 4 |
| Alpha Fighter Bonus Life |
SW1:3 |
1000 · 1500 |
| Alpha Fighter Final UFO Bonus |
SW1:4 |
Off · On |
| Alpha Fighter Lives |
SW1:1,2 |
3 · 4 · 5 · 6 |
DIP settings — MAME set alphahob
| Setting |
Position |
Options (default in bold) |
| Circuit Lives |
SW1:5 |
3 · 4 |
| Missile Bonus Life |
SW1:3 |
10k · 15k |
| Missile Final UFO Bonus |
SW1:4 |
Off · On |
| Missile Lives |
SW1:1,2 |
3 · 4 · 5 · 6 |
DIP settings — MAME set brdrline
| Setting |
Position |
Options (default in bold) |
| Cabinet |
SW1:5 |
Upright · Cocktail |
| Bonus Life |
SW1:4 |
15000 · 20000 |
| Lives |
SW1:1,2,3 |
3 · 4 · 5 · Infinite (Cheat) |
DIP settings — MAME set car2
| Setting |
Position |
Options (default in bold) |
| Coinage |
— |
1C 1C · 2C 1C |
DIP settings — MAME set carhntds
| Setting |
Position |
Options (default in bold) |
| Car Hunt Lives |
SW1:1,2 |
1 · 2 · 3 · 4 |
| Deep Scan Lives |
SW1:3,4 |
1 · 2 · 3 · 4 |
DIP settings — MAME set carnival
| Setting |
Position |
Options (default in bold) |
| Demo Sounds |
DOOR:1 |
Off · On |
DIP settings — MAME set deepscch
| Setting |
Position |
Options (default in bold) |
| Deep Scan Lives |
SW1:3,4 |
1 · 2 · 3 · 4 |
| Car Hunt Lives |
SW1:1,2 |
1 · 2 · 3 · 4 |
DIP settings — MAME set depthch
| Setting |
Position |
Options (default in bold) |
| Coinage |
— |
4C 1C · 3C 1C · 2C 1C · 1C 1C |
DIP settings — MAME set digger
| Setting |
Position |
Options (default in bold) |
| Lives |
— |
3 · 4 · 5 · 6 |
DIP settings — MAME set frogs
| Setting |
Position |
Options (default in bold) |
| Demo Sounds |
DOOR:1 |
Off · On |
DIP settings — MAME set headon
| Setting |
Position |
Options (default in bold) |
| Lives |
— |
3 · 4 · 5 · 6 |
| Demo Sounds |
— |
Off · On |
DIP settings — MAME set headon2
| Setting |
Position |
Options (default in bold) |
| Lives |
— |
4 · 5 · 6 |
| Demo Sounds |
— |
Off · On |
DIP settings — MAME set headon2sl
| Setting |
Position |
Options (default in bold) |
| Lives |
SW1:1,2 |
4 · 5 · 5 (Duplicate) · 6 |
DIP settings — MAME set headonmz
| Setting |
Position |
Options (default in bold) |
| Lives |
— |
3 · 4 · 5 · 6 |
| Demo Sounds |
— |
Off · On |
DIP settings — MAME set headonsa
| Setting |
Position |
Options (default in bold) |
| Coinage |
— |
2C 1C · 1C 1C |
DIP settings — MAME set heiankyo
| Setting |
Position |
Options (default in bold) |
| 2 Players Mode |
SW1:5 |
Alternating · Simultaneous |
| Lives |
SW1:4 |
3 · 5 |
DIP settings — MAME set hocrash
| Setting |
Position |
Options (default in bold) |
| Lives |
— |
1 · 2 · 3 · 4 |
DIP settings — MAME set invds
| Setting |
Position |
Options (default in bold) |
| Invinco Lives |
SW1:1,2 |
3 · 4 · 5 · 6 |
| Deep Scan Lives |
SW1:3,4 |
2 · 3 · 4 · 5 |
DIP settings — MAME set invho2
| Setting |
Position |
Options (default in bold) |
| Head On 2 Lives |
SW1:1,2 |
2 · 3 · 4 |
| Invinco Lives |
SW1:3,4 |
3 · 4 |
DIP settings — MAME set invinco
| Setting |
Position |
Options (default in bold) |
| Lives |
— |
3 · 4 · 5 · 6 |
DIP settings — MAME set nsub
| Setting |
Position |
Options (default in bold) |
| Coin A |
SW:1,2,3 |
7C 1C · 6C 1C · 5C 1C · 4C 1C · 3C 1C · 2C 1C · 1C 1C |
| Coin B |
SW:4,5,6,7 |
Shared With Coin A · 1C 1C · 1C 2C · 1C 3C · 1C 4C · 1C 5C · 1C 6C · 1C 7C |
DIP settings — MAME set nsubc
| Setting |
Position |
Options (default in bold) |
| Coin A |
SW:1,2,3 |
7C 1C · 6C 1C · 5C 1C · 4C 1C · 3C 1C · 2C 1C · 1C 1C |
| Coin B |
SW:4,5,6,7 |
Shared With Coin A · 1C 1C · 1C 2C · 1C 3C · 1C 4C · 1C 5C · 1C 6C · 1C 7C |
DIP settings — MAME set pulsar
| Setting |
Position |
Options (default in bold) |
| Lives |
SW1:1,2 |
2 · 3 · 4 · 5 |
DIP settings — MAME set safari
| Setting |
Position |
Options (default in bold) |
| Coinage |
— |
4C 1C · 3C 1C · 2C 1C · 1C 1C |
DIP settings — MAME set samurai
| Setting |
Position |
Options (default in bold) |
| Lives |
SW1:1 |
3 · 4 |
| Infinite Lives (Cheat) |
SW1:5 |
Off · On |
DIP settings — MAME set spacetrk
| Setting |
Position |
Options (default in bold) |
| Lives |
SW1:1 |
3 · 4 |
| Bonus Life |
SW1:3 |
Off · On |
DIP settings — MAME set sspacaho
| Setting |
Position |
Options (default in bold) |
| Head On Lives |
SW1:5 |
3 · 4 |
| Space Attack Bonus Life |
SW1:3 |
10000 · 15000 |
| Space Attack Final UFO Bonus |
SW1:4 |
Off · On |
| Space Attack Lives |
SW1:1,2 |
3 · 4 · 5 · 6 |
DIP settings — MAME set sspaceat
| Setting |
Position |
Options (default in bold) |
| Bonus Life For Final UFO |
— |
Off · On |
| Lives |
— |
3 · 4 · 5 · 6 |
| Bonus Life |
— |
10000 · 15000 |
| Credits Display |
— |
Off · On |
DIP settings — MAME set startrks
| Setting |
Position |
Options (default in bold) |
| Lives |
— |
2 · 3 · 4 · 5 |
DIP settings — MAME set supcrash
| Setting |
Position |
Options (default in bold) |
| Demo Sounds |
— |
Off · On |
| Lives |
— |
3 · 4 · 5 · 6 |
| Rom Test |
— |
Off · On |
DIP settings — MAME set wantsega
| Setting |
Position |
Options (default in bold) |
| Cabinet |
SW1:3 |
Upright · Cocktail |
| Bonus Life |
SW1:4 |
20k · 30k |
| Lives |
SW1:1,2 |
6 · 5 · 4 · 3 |
Check against your own board
These settings apply to the game and revision described by MAME. One title may have several DIP sets depending on region or revision, and some systems use soft-dips (settings in memory, via the test menu) rather than physical switches. In case of a discrepancy, the board's silkscreen and the test menu are authoritative.
See also: DIP reference · game manuals
Emulation & FPGA
- Emulation: MAME (
sega/vicdual.cpp).
- FPGA / MiSTer: a VIC Dual core is available (Carnival, Head On & co. rebuilt in
logic).
EPROM repair
1977-80 boards: 8080/Z80 program in tiny 2708 / 2716 EPROMs (1-2 KB), many of them (e.g. Carnival ≈ 16× 1 KB). Colour PROMs. Mind the period components (multiple ±5/±12 rails).
Lineage
The very first Gremlin/Sega generation; precedes the G80 (1981) and the
System 1 (1983).
Photos / assets
(To add: VIC Dual board, colour overlay.)
Sources & attribution
Review & corrections
How this space is used
Spotted a wrong value, an outdated procedure, a chip reference that does not match your
board? Say so here, with what you observed (model, board revision, serial
number, measurement). Every report is cross-checked against a source
before anything changes — an unverifiable correction is published as
“reported by …, not cross-checked” rather than silently applied.
Reading is open to everyone; posting requires signing in with Discord.
Reports from the wiki's declared reviewers are handled first; anyone else's are read
too, but go through a human before anything is changed.