The project aims to recreate the feel of a classic arcade game machine using the DE10-Lite board. The code handles real-time interaction through hardware components such as LEDs, switches, seven-segment displays, and a VGA output, all controlled directly via memory-mapped I/O. It implements two mini-games (inspired by humanbenchmark.com): Memory Game and Reaction Game. In the first one, you must recall image sequences, while the second tests your reaction time to a changing screen. Behind the scenes, interrupts, timers, and pixel buffer logic work together to deliver a smooth and user-friendly interface, entirely powered by custom C logic running directly on the board.
- Two interactive mini-games: Memory Game and Reaction Game
- Real-time hardware interaction through switches, LEDs, and button input
- Dynamic VGA output for displaying images and animations
- Uses interrupts, timers, and performance counters for smooth execution
- Modular C structure for easy maintenance and expansion
- Open a Linux environment or a compatible virtual machine.
- Connect the DE10-Lite board via USB.
- Connect the board to an output monitor through a VGA cable.
- Upload the raw pictures to the board by running
cd rawfollowed by./load.shin the terminal. - Compile the code using
make: - Run the program with
dtekv-run main.bin.
- In the main menu switch #0 (from the right) is used to access Memory Game and switch #3 for Reaction Game.
- Press button to select the game.
- For each mini-game, a tutorial will display the rules.
- At (almost) any point of the program, turning on only switch #9 (the leftmost one) will return you to the main menu.
Developed by Francesco Camporeale & Vittorio Fiammenghi
IS1200 Mini Project — KTH Royal Institute of Technology