ColecoVision Games Catalog - ColecoVisionADAM.com

Coleco TennisNES portNES Port

Michel Louvet • 2026 • Homebrew • Sports

Box Art

Main

Game Information

Publisher: Michel Louvet
Developer: Michel Louvet
Release Year: 2026
Category: Homebrew
Players: 2 Players
Controls: Standard Controller
Features: https://mlouvet.itch.io/coleco-tennis
Rarity: Uncommon

Description

The 1989 Game Boy Tennis, ported to the ColecoVision.

Nintendo's classic Tennis now runs on a 32K ColecoVision cartridge. You play a full match against the computer, with four difficulty levels and 1 or 3 sets. Mario is in the umpire's chair.

The game logic is not a remake: it is the original Game Boy code, translated instruction by instruction to the ColecoVision's Z80. Ball physics, shot angles, the CPU player's behaviour and the scoring rules are all the Game Boy's own.

Features
The full Game Boy stadium, 256 pixels wide, fills the screen.
The original four shades of green are kept.
The players are drawn with hardware sprites: red for you, blue for the CPU.
4 difficulty levels, and matches of 1 or 3 sets.
Two control modes:
2 buttons (default): left fire to hit, right fire to lob;
1 button: either button hits, and the game lobs automatically when your opponent comes to the net.
Sound effects on the SN76489 sound chip.
The game runs at 60 frames per second.
Controls
Action ColecoVision controller
Move Joystick
Hit Left fire
Lob Right fire (2-button mode)
Menu: choose line / change value Joystick up/down / left/right
Menu: level Keypad 1-4
Start the match Any fire button
How to play
Download tennis.rom and load it in a ColecoVision emulator, such as openMSX, blueMSX or ColEm. The emulator needs the ColecoVision BIOS, which is not included. You can also run it on real hardware with a flash cartridge.

Made for real hardware
The ColecoVision's video chip, the TMS9918A, is strict: if video memory is written too fast while the screen is being drawn, the data is silently lost on a real console. Coleco Tennis only writes video memory in two situations:

while the screen is off, to draw the title and the court;
during the vertical blank, from data prepared in RAM.
Every video access was checked in a cycle-counting simulator: none is too fast, and the vertical-blank update uses about 60% of the time available.

Made with AI
This port was made with Claude, Anthropic's AI assistant, working together with a human developer.

Claude did the technical work:

reverse-engineered the Game Boy ROM;
wrote a translator that converts the Game Boy's SM83 code to Z80;
moved the game's memory into the ColecoVision's 1 KB of RAM;
wrote the display, sound and controller code in assembly;
built the graphics converters and the simulator that checks the timing rules.
The translated game logic was checked step by step against the real Game Boy game running in an emulator: over 2,700 game steps, the ball, players and score match exactly. The only differences come from one deliberate tweak that makes the player's angled shots slightly shorter.

The human developer directed the project, tested the game and decided how it should look and play.

Coleco Tennis is part of a series of ports of the same game, all made the same way: ZX Spectrum, Commodore 64, Amstrad CPC and CPC Plus/GX4000.

Credits
Original game: Tennis © 1989 Nintendo. This is an unofficial, non-commercial fan port, not affiliated with or endorsed by Nintendo.
Port: made with Claude (Anthropic).
Tools: sjasmplus, SkoolKit, PyBoy, openMSX.

Screenshots (5)