Pong64 is a port of the classic Pong game designed to run on original Nintendo 64 hardware. Created as an experiment in low-level C development, this is my first project utilizing the open-source Libdragon SDK. The primary goal was to grasp the fundamentals of low level hardware programming while gaining hands on experience with the N64 architecture.
Development originated on Windows 11 (via WSL 0.2.1) and was subsequently transitioned to a native Linux environment.
The ROM has a resolution of 640x480 pixels and has been tested on a PAL N64 console with an Everdrive X7 and ares. An Expansion Pak is recommended, but it works fine with only a jumper pak.
Install the latest libdragon preview branch:
https://github.com/DragonMinded/libdragon/tree/preview
It works fine with the preview
- Running this ROM requires real hardware or an accurate emulator
- Emulator like ares is accurate
Then run:
make Or run for WSL 0.2.1:
make clean && makeThis will create a pong.z64 file.
However, I have already uploaded the finished ROM on the Releases, so it can be played directly on an emulator or used with any N64 flash cartridge, such as the Everdrive 64 X7.
- Two-player mode using both controller ports of the N64
- COM mode: play against a computer opponent with selectable difficulty levels easy, normal, or hard
- The Libdragon logo appears when starting the ROM
- On the start screen, a ball bounces on the Pong sprites
- The ball speeds up after hitting the wall 5 times
- Uses the Libdragon font
- A victory screen with a trophy texture
- Background music in the menu
- Playing a sound when one of the players gain a point
- Sound at the victory screen
- Sound when the ball collides with the player
- Rumble Pak support the controller vibrates when the ball hits the player
- Runs at a steady 50 FPS on original PAL N64 hardware during gameplay
- Optional FPS counter can be enabled for debugging, but it cause slowdowns during gameplay recommended to play without it for smoother performance
- Press Start to start the Two-player mode using both controller ports of the N64
- Use the N64 analog stick to move the Pong sprite up and down
- Press Z to get Multiplayer COM: with selectable difficulty levels easy, normal, or hard
- Press R for the rules
- Press D-Pad Down for FPS counter with a warning
- Still in development Press A for endless Mode
- Endless mode: try to achieve the highest score, but the twist is that the opponent becomes faster and stronger over time