You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
microwatt/usb_3d_game
Jacob Lifshay 73835ceb1b add 3d game
I added a simple 3D maze game that is a pretty impressive demo of what Microwatt can do.

It's based on #347

Signed-off-by: Jacob Lifshay <programmerjake@gmail.com>
3 years ago
..
.gitignore add 3d game 3 years ago
Makefile add 3d game 3 years ago
README.md add 3d game 3 years ago
head.S add 3d game 3 years ago
powerpc.lds add 3d game 3 years ago
usb_3d_game.cpp add 3d game 3 years ago

README.md

3D Maze Game

Based on: https://github.com/programmerjake/rv32/tree/v0.1.0.1-alpha/software

Run without FPGA/hardware-simulation

Resize your terminal to be at least 100x76.

Building:

cd usb_3d_game
make usb_3d_game_emu

Running:

./usb_3d_game_emu

Run on OrangeCrab v0.2.1

Set the OrangeCrab into firmware upload mode by plugging it in to USB while the button is pressed, then run the following commands:

Building/Flashing:

(cd usb_3d_game; make)
sudo make FPGA_TARGET=ORANGE-CRAB-0.21 dfuprog DOCKER=1 LITEDRAM_GHDL_ARG=-gUSE_LITEDRAM=false RAM_INIT_FILE=usb_3d_game/usb_3d_game.hex MEMORY_SIZE=$((1<<18))

Then, in a separate terminal that you've resized to be at least 100x76, run (replacing ttyACM0 with whatever serial device the OrangeCrab is):

sudo tio /dev/ttyACM0

Controls

Use WASD or the Arrow keys to move around. Press Ctrl+C to quit or restart.

The goal is a set of flashing blocks, nothing special yet happens when you reach them though.