Skip to content

PC-based boards ​

From 2004 arcade boards are x86 PCs with custom I/O, a locked OS image and a hardware key. Ghidra handles the x86 code. Most of the effort goes into getting decrypted, unlocked files from hardware that you own. Once the files are decrypted, use GameFrame's Windows PE path. For Linux boards, use an ELF loader.

BoardYearsMain CPU and clockSoundRefreshProtectionMAME statusGhidra
Taito Type X to X42004 onCeleron 2.5 GHz to Core i5-4590(S)Not covered hereNot covered hereDongle schemes (not covered here)Not covered herex86 built in
Sega Lindbergh2005/2006Celeron D 335 at 2.8 GHz or Pentium 4 at 3.00 GHzVIA VT1616 AC97Not covered herePIC keychip with AES-CBC; locked CF and HDD18 of 19 not workingx86 built in
Sega RingEdge, RingWide2009, 2011Pentium Dual-Core; CeleronNot covered hereNot covered hereRing keychip, AES 128 ECB on the busNot covered herex86 built in
Sega Nu, Nu 2, ALLS2013 onCore i3-3220; Core i5-6500Not covered hereNot covered hereKeychips (not covered here)Not covered herex86 built in
Namco ES1, ES3Not covered hereCore i5-3550S on ES3Not covered hereNot covered hereHASP HL Max dongle and BitLocker on ES3Not covered herex86 built in

Taito Type X family ​

Hardware ​

ModelOSCPUGraphicsGames
Type X (2004)Windows XP EmbeddedCeleron at 2.5 GHz, 256 MB DDR266AGP Radeon 9600 SE, 9600 XT or X700 PRONot covered here
Type X2Not covered hereCeleron D 352, Pentium 4 651 or Core 2 Duo E6400; DDR2, 512 MB to 4 GBPCIeStreet Fighter IV (2008), BlazBlue: Calamity Trigger (2008)
Type X ZeroWindows Embedded Standard 7Atom 230 at 1.6 GHzGeForce 9400MNot covered here
Type X3WES7 64-bit or XP Embedded SP3 32-bitCore i5-2400Radeon HD 6770 baseNot covered here
Type X4Windows Embedded 8 Standard or WES7 64-bitCore i5-4590(S)GeForce GTX 960Street Fighter 6: Type Arcade (2023)

Type X uses a PATA or SATA disk. NESiCAxLive is an add-on for digital distribution of games to arcade owners (Wikipedia, Taito Type X).

Protection ​

The Type X dongle schemes are not covered here.

Tools ​

  • TeknoParrot is a closed-source compatibility layer for Windows. It runs PC-based arcade games from Lindbergh, RingEdge, Nu, Type X, Namco ES3 and others. OpenParrot and the GUI are open source. Some features need Patreon support (Emulation General Wiki, TeknoParrot).
  • Ghidra and Unicorn cover x86 and x86-64. The re-ghidra and re-emulate skills cover the PE path.

Projects to learn from ​

TeknoParrot and OpenParrot.

For an exact reimplementation ​

  • Work from decrypted files taken from owned hardware.
  • Record the model. The OS and the GPU change between generations.

Sega Lindbergh ​

Hardware ​

Lindbergh (2005/2006) runs Linux (MAME lindbergh.cpp).

  • The red box has a Celeron D 335 at 2.8 GHz with 512 MB.
  • The yellow box has a Pentium 4 at 3.00 GHz with 1 GB.
  • Both use an Intel 875 northbridge, a 6300ESB southbridge, a custom nVidia GeForce card and VIA VT1616 AC97 audio.
  • The machine boots a customised MontaVista Linux from a Compact Flash card.
  • Games install from DVD to the hard disk through /usr/sbin/segaboot.

Protection ​

"Both the CF and HDD are locked and unreadable on a regular PC." The PIC keychip has an AES-CBC engine. Everything on the keychip except its key can be dumped.

  1. The CF derives a 176-byte secondary key. It decrypts 16 x 0x00 through 16 x 0x0b through the PIC.
  2. It then decrypts DVD and HDD files with a custom cipher (segaboot, lxdecrypt_hard).
  3. lxunlock.hdb unlocks the disk.

Tools ​

  • Eighteen of 19 MAME entries do not work.
  • lindbergh-loader runs Lindbergh games on modern Linux in place of the original hardware, with JVS pass-through (lindbergh-loader README).
  • A Lindbergh game is a Linux ELF program. lindbergh-loader works like GameFrame's Wine path for Windows games (running the original).

Projects to learn from ​

lindbergh-loader.

For an exact reimplementation ​

  • Do not use MAME as ground truth. Take ground truth from lindbergh-loader or from owned hardware.
  • Record the box colour. The red and yellow boxes differ in CPU and memory.

Sega RingEdge, RingWide, Nu and ALLS ​

Hardware ​

The Ring, Nu and ALLS boards run embedded editions of Windows (Wikipedia, List of Sega arcade system boards).

  • RingEdge (2009) uses a Pentium Dual-Core on Windows Embedded Standard 2009.
  • RingWide (2011) uses a Celeron on Windows Embedded Standard 2009.
  • Nu (2013) uses a Core i3-3220 with a GeForce GTX 650 Ti on Windows Embedded 8 Standard.
  • Nu 2 uses a Core i5-6500 with a GTX 950.
  • ALLS (2018) runs Windows 10 IoT Enterprise LTSC.

The RingEdge, RingWide and ALLS CPU clocks are not confirmed.

Protection ​

The Ring keychip contains "a PIC microcontroller, a dedicated cryptography chip, a hardware SHA engine for authentication, and flash storage". "All bus communication is encrypted using AES 128 ECB, using a different key for each data direction." The keychip returns a four-character game ID. It decrypts with the game key. It keeps billing play counts (sega.bsnk.me, Ring Keychip). The ALLS and Nu keychips are not covered here.

Tools ​

  • Community keychip emulators exist. micekeychip is open source and incomplete (sega.bsnk.me, Keychip Modding).
  • TeknoParrot runs RingEdge and Nu games.

Projects to learn from ​

The sega.bsnk.me documentation of the Ring keychip.

For an exact reimplementation ​

  • Work from decrypted files taken from owned hardware.
  • The keychip keeps play counts. Record its state with each test where the game reads it.

Namco ES1 and ES3 ​

Hardware ​

ES3 is described as Windows Embedded Standard 7 on a Core i5-3550S with 8 or 16 GB of DDR3 and a GeForce GTX 650 Ti or GTX 680. ES1 is described as Debian-based Linux. Both descriptions come from secondary sources (Emulation General Wiki, Namco; Wikipedia, Namco System N2). A forum post says ES3 runs Tekken 7, Time Crisis 5 and Mario Kart Arcade GP DX, with custom BIOSes on the graphics cards (secondary source) (arcade-projects.com).

Protection ​

ES3 is protected by a HASP HL Max USB dongle and BitLocker (secondary source).

Tools ​

TeknoParrot runs Namco ES3 games.

Projects to learn from ​

None listed yet.

For an exact reimplementation ​

  • Work from decrypted files taken from owned hardware.
  • On ES3, record the graphics card. The cards have custom BIOSes (secondary source).

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.