Skip to content
My own Doom Port to the Odroid Go ESP32
C C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
datasheets
doomodroidgo
.gitignore
COMPILECHOCOLATEDOOMLINUX.md
DOOM.WAD
Dockerfile
README.md
disas.txt
docker-compose.yml

README.md

Doom Port for the Odroid Go

Based on Chocolate Doom: https://github.com/chocolate-doom/chocolate-doom

Should provide:

  • Graphics
  • Movement
  • Sound
  • Save/Load
  • Multiplayer (2 players, maybe up to 4)

Build setup

Using Docker

docker build -t doom_odroid_go . # Build Docker Image
docker run --rm -v $(pwd):/app --device=/dev/ttyUSB0 -it doom_odroidgo_docker bash # Run with /dev/ttyUSB0 handed over to the container

After that, cd to /app and use it as on your local machine.

Using Docker-Compose

docker-compose run esp-idf

Manual setup

Installing of ESP32-IDF/FreeRTOS (on Ubuntu Linux): (fetched on 20.08.2019)

sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
git clone --recursive https://github.com/espressif/esp-idf.git
sudo ./esp-idf/install.sh

Making and Flashing commands used (on Ubuntu Linux):

. ./esp-idf/export.sh
cd doomodroidgo
make menuconfig
-> Serial flasher config
-> SAVE (file is 'sdkconfig')
make (not needed if you've generated a new sdkconfig, but doesn't hurt...)
make flash (turn Odroid on before...)

Compiling with fresh cloning, and without anything (apart from esptool (pip3 install esptool)) on your flashing computer:

sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
mkdir doomodroid
cd doomodroid
git clone https://github.com/ThomasChr/doom_odroidgo.git .
git clone --recursive https://github.com/espressif/esp-idf.git
./esp-idf/install.sh
. ./esp-idf/export.sh
cd doomodroidgo
make clean
make

-> Grab the files '/build/bootloader/bootloader.bin', '/build/doomodroidgo.bin' and '/build/partitions_singleapp.bin'

On the flashing computer:

pip3 install esptool
esptool.py --chip esp32 --port COM41 erase_flash
esptool.py --chip esp32 --port COM41 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 c:\temp\bootloader.bin 0x10000 c:\temp\doomodroidgo.bin 0x8000 c:\temp\partitions_singleapp.bin
(for Linux Port is something like '/dev/ttyUSB0')

Disassemble:

xtensa-esp32-elf-objdump -S ./build/doomodroidgo.elf
You can’t perform that action at this time.