
MSX Tennis
MSX Tennis The 1989 Game Boy Tennis, ported to MSX1. Nintendo's classic Tennis now runs on MSX1 as a 32K cartridge ROM. 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 MSX'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, in its original four shades of green. 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): one to hit, one to lob; 1 button: the game lobs automatically when your opponent comes to the net. Sound effects on the AY-3-8910 sound chip. The game runs at the Game Boy's speed on both 50 Hz (European) and 60 Hz (Japanese) MSX machines. Needs only 16 KB of RAM: it runs on any MSX1. Controls ActionKeyboardJoystick (port 1)Move Cursor keys Stick Hit SPACE Button A Lob M Button B Menu: choose line / change value Cursor keys Stick Menu: level 1-4 — Start the match SPACE Button A How to play Download tennis.rom and load it as a cartridge in any MSX emulator, such as openMSX, blueMSX or WebMSX. It works with the free C-BIOS, so no system ROM is needed. On real hardware, use a flash cartridge such as a MegaFlashROM or a Carnivore. Made for real hardware The MSX1 video chip, the TMS9918A, silently drops data when video memory is written too fast while the screen is being drawn. MSX Tennis only writes video memory in two situations: while the screen is off, to draw the title and the court; during the vertical-blank interrupt, from data prepared in RAM. Every video access was checked in a cycle-counting simulator. None was too fast, and none of 4,000 frames played by the auto-play bot ran late, at 50 or 60 Hz. The game was also tested in openMSX with its "too fast VRAM access" warning turned on: no warning. 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; wrote the display, sound, keyboard and joystick code in assembly; built the graphics converters and the simulator that checks the video 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. MSX Tennis is part of a series of ports of the same game, all made the same way: ZX Spectrum, Commodore 64, Amstrad CPC, CPC Plus/GX4000 and ColecoVision. 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.
Oldschool Is Beautiful 23 followers· portfolio 12 View creator →