FPGA / Altera DE1

Goldmomo Mini

A self-written FPGA-based game system experiment: CPU, GPU, memory map, IO and an emulator for debugging software.

Archived project, kept for historical interest.

FPGA note: This was one of my first steps with FPGAs. Looking back, large parts of the code could be written much simpler, cleaner and more optimal today. It remains here as a learning project and archive.

Hardware Notes

System Overview

Goldmomo Mini with joystick

DE1 Setup

Prototype setup on an Altera DE1 board with joystick input.

Goldmomo Mini component overview

Component Overview

CPU, GPU, memory and IO blocks in the original design.

Goldmomo Mini emulator screenshot

Emulator

Emulator used to program, debug and test Goldmomo Mini software.

CPU

  • Separate calculation and transfer units
  • Separate code and data buses
  • 16-bit CPU opcodes and 32-bit transfer opcodes
  • Event and IRQ handling
  • 32 data registers and 32 address registers

GPU / IO

  • Tile based pixel pipeline
  • 320 x 240 at 60 Hz
  • Up to 64 programmable sprites
  • PS/2, LEDs, keys, RS-232 and joystick ports
  • Internal RAM and SRAM access
Demos

Videos

Beim Abspielen wird YouTube/Google geladen.

HBlank Demo

Sprite Test

Snake Game