FreeIntv is a libretro emulation core for the Mattel Intellivision designed to be compatible with joypads from the SNES era forward even if they originally required a number pad.
Current Version: Enhanced with onscreen interactive keypad overlays for Android, Windows, and Linux (November 24, 2025)
FreeIntv was created by David Richardson. The PSG and STIC emulation was made closer to hardware and optimized by Oscar Toledo G. (nanochess), who also added save states.
The Intellivoice code has been contributed by Joe Zbiciak (author of jzintv), and adapted by Oscar Toledo G. (nanochess)
Onscreen Overlay Enhancement: Onscreen interactive keypad overlays with touchscreen (Android) and mouse (Windows/Linux) support (November 2025) by Jason Carr
Step 1: Install FreeIntv Core
- Place the compiled core file for your platform into RetroArch's
cores/directory:- Windows:
FreeIntv_libretro.dll - Linux:
FreeIntv_libretro.so - macOS:
FreeIntv_libretro.dylib
- Windows:
Step 2: Install the Core Info File
- Copy
FreeIntv_libretro.infoto RetroArch'sinfo/directory ⚠️ The filename must match the core filename exactly (excluding the file extension)
Step 3: Add BIOS Files
- Place the two required Intellivision BIOS files in RetroArch's
system/directory:exec.bin(Executive ROM)grom.bin(Graphics ROM)
Step 4: Launch Games
- Load an Intellivision ROM through RetroArch using the FreeIntv core
The FreeIntv core features onscreen interactive keypad overlays that display custom controller graphics directly on screen, allowing touch or mouse input.
- Launch a game using the FreeIntv core
- Open the Quick Menu (usually
Hotkey + Xon your controller, or through RetroArch's menu) - Navigate to: Options → Core Options
- Enable the overlay feature
- Close the menu (RESTART to take effect)
- Revert to fullscreen follow same instructions but disable core option, and restart to take effect.
The onscreen interactive overlay will now be active, allowing you to touch or click buttons directly on screen!
The FreeIntv core is licensed under GPLv2+. More information at https://github.com/libretro/FreeIntv/blob/master/LICENSE
FreeIntv requires two Intellivision BIOS files to be placed in the libretro 'system' folder:
| Function | Filename* | MD5 Hash |
|---|---|---|
| Executive ROM | exec.bin |
62e761035cb657903761800f4437b8af |
| Graphics ROM | grom.bin |
0cd5946c6473e42e8e4c2137785e427f |
- BIOS filenames are case-sensitive
FreeIntv does not currently support Entertainment Computer System (ECS) functionality. Contributions to the code are welcome!
Mattel Intellivision games were often meant to be played with game-specific cards overlaid on the numeric keypad. These overlays convey information which can be very useful in gameplay. Images of a limited selection of Intellivision titles are available at: http://www.intellivisionlives.com/bluesky/games/instructions.shtml
To use custom game overlays with the touchscreen UI on Android or mouse input on Windows/Linux:
Folder Location:
- Create a folder named
freeintv_overlaysin the same directory where you keep your BIOS files (exec.binandgrom.bin) - Typically:
RetroArch/system/freeintv_overlays/
Overlay Image Specifications:
- Dimensions: 370×600 pixels
- Format: PNG image (any color depth)
- Naming: Match your ROM filename exactly (case-insensitive on most systems)
- Example: If your ROM is
astrosmash.bin, name the overlayastrosmash.png - Example: If your ROM is
nightstalker.rom, name the overlaynightstalker.png
- Example: If your ROM is
Example Folder Structure:
system/
├── exec.bin
├── grom.bin
└── freeintv_overlays/
├── astrosmash.png
├── nightstalker.png
├── weekendwar.png
└── (additional game overlays...)
Usage:
- When a game launches, FreeIntv automatically looks for a matching overlay image in the
freeintv_overlaysfolder - If found, the overlay is displayed on the keypad area (right side of screen, or left if swapped)
- Touch or click directly on the overlay buttons to send input to the game
- On Android, touch the onscreen keypad overlay buttons to send input
- On Windows and Linux, use the mouse to click on the overlay buttons. Mouse clicks are mapped to input events, enabling full overlay functionality.
- Controller Swap - Some Intellivision games expect the left controller to be player one, others expect the right controller. This isn't a problem if you have two controllers (and don't mind juggling them) but users with only one controller or using a portable setup would be effectively locked out of some games. Controller Swap swaps the two controller interfaces so that the player does not have to physically swap controllers.
- Onscreen Keypad - Touch (Android) or click (Windows/Linux) any of the 12 buttons (1-9, *, 0, #) directly on the overlay to input commands
- Custom Overlays - ROM-specific overlay images display game-specific button layouts and instructions
- Visual Feedback - Button presses show highlighting on keypad buttons
| RetroPad | FreeIntv Function |
|---|---|
| D-Pad | 8-way movement |
| Left Analog Stick | 16-way disc |
| Right Analog Stick | 8-way keypad |
| L3 | Keypad 0 |
| R3 | Keypad 5 |
| L2 | Keypad Clear |
| R2 | Keypad Enter |
| A | Left Action Button |
| B | Right Action Button |
| Y | Top Action Button |
| X | Use the Last Selected Intellivision Keypad Button. In Astrosmash, for example, you can leave "3" selected to enable instant access to hyperspace. |
| L/R | Activate the Mini-Keypad |
| Start | Pause Game |
| Select | Controller Swap |


