Doom ported to a nRF52840-based BLE dongle

Overview

nRF52840 Doom

Doom port to an nRF52840-based USB BLE dongle, the Adafruit CLUE board, and any device using Nordic Semiconductors nRF52840. Coded by Nicola Wrachien.

Features

  • Based on the excellent doomhack's GBA Doom Port (https://github.com/doomhack/GBADoom) with some Kippykip's additions.

  • Wireless gamepad with audio streaming like Wii remote.

  • Extremely fast. Run almost always above 30 fps (except Episode 4 of Ultimate Doom).

  • Additional gamepad support for Adafruit CLUE option (or other devices with enough I/Os)

    • Parallel Keyboard (each key routed to one GPIO).
    • MCP23008 I2C Port Expander.
  • Tested with:

    • Shareware DOOM1.WAD.
    • Full Commercial DOOM.WAD
    • Ultimate Doom WAD.
    • Doom 2 WAD.
  • Full Vanilla Render engine, including Z-depth lighting.

  • Player's weapon also is subjected to ambient light.

  • Monster behavior and sound propagation implemented.

  • Sound FX support.

  • Cheats implemented.

What's missing?

  • Music.

  • Demo playback, due to incompatibility.

  • Need to be debugged.

  • Multiplayer not implemented.

Controls:

Strafe: alt + Left-Right

Automap: use + change weapon

Menu: alt + use

Hardware:

The schematics of the prototype, Adafruit micro:bit port expander board + audio and wireless gamepad are in the hardware subdirectory.

Content of this repository:

  • MCUDoomWadUtil: source of the WAD converter (Code::Blocks project). Note that GBADoom.wad must be put in the same directory as the executable.
  • NRF52840Doom: the actual Doom port (Segger Embedded Studio Project)
  • NRF52840DoomKeyboardOnNRF51822: wireless gamepad + audio (Segger Embedded Studio Project)
  • hardware: schematics.

Building, developing, etc:

See https://next-hack.com/index.php/2021/11/13/porting-doom-to-an-nrf52840-based-usb-bluetooth-le-dongle/

Owner
Non-profit open source hardware/software projects, guides, hint&tips blog.
null
Dump the ROM from an Original Xbox DVD Movie Playback IR Dongle

Dongle Dumper. Dump the firmware off a Original Xbox DVD Movie Playback Dongle straight from the console. The dongle contains a ROM with an XBE which

null 10 Oct 28, 2021
Doom port to the Ikea Tradfri RGB1923R5 and any device using Silicon labs EFR32MG21 based modules

MG21DOOM Doom port to the Ikea Tradfri RGB1923R5 lamp and any device using Silicon labs EFR32MG21 based modules. Coded by Nicola Wrachien. WARNING Do

null 15 Aug 5, 2021
Fork of sm64pc/sm64ex ported to iOS devices.

sm64ex-ios Fork of sm64pc/sm64ex ported to iOS devices. Feel free to report bugs and contribute, but remember, there must be no upload of any copyrigh

Christian Kosman 261 Nov 28, 2021
Doom port for InfOS - the University of Edinburgh Informatics research operating system used in the UG3 OS course

Doom on InfOS InfOS is the Informatics research operating system, designed specifically for the UG3 Operating Systems course. This project aims to por

Cheng Kai 12 Jun 15, 2021
DOOM BSP renderer for ZenithOS.

Zenith DOOM This project ports the DOOM BSP renderer to Zenith for use in custom games. It includes a zos/ directory in src/ which has includes that e

null 3 Jun 10, 2021
Fork of dsda-doom with experiments

dsda-doom-experiments This is my personal fork of dsda-doom for running experiments. This breaks demo compatibility. DO NOT USE. The current experimen

jsd1982 1 Oct 7, 2021
old 'cross' project of DooM for various platforms

README - DOOM assembly code Okay, I add the DOS assembly module for the historically inclined here (may rec.games.programmer suffer). If anyone feels

null 2 Nov 5, 2021
Allows for multiple SwitchBot buttons and curtains to be controlled via MQTT sent to ESP32. ESP32 will send BLE commands to switchbots and return MQTT responses to the broker. Also supports Meter/Temp Sensor

SwitchBot-MQTT-BLE-ESP32 Switchbot local control using ESP32. no switchbot hub used/required. works with any smarthub that supports MQTT https://githu

null 115 Nov 27, 2021
πŸͺ΄πŸ’§ A Bluetooth Low Energy (BLE) soil moisture sensor.

b-parasite b-parasite is an open source Bluetooth Low Energy (BLE) soil moisture and ambient temperature/humidity sensor. Features Soil moisture senso

null 321 Dec 4, 2021
Arduino Sketch and a Web Bluetooth API for loading models and running inference on the Nano Sense 33 BLE device.

TF4Micro Motion Kit This repo contains the Arduino Sketch and a Web Bluetooth API for loading models and running inference on the device. Install and

Google Creative Lab 38 Nov 5, 2021
Bluetooth low energy (BLE) tracker for ESP32

BLEcker Bluetooth low energy (BLE) tracker for ESP32 This software is written for ESP32 boards to track BLE devices. It can be used for your smart hom

Vârâs Ákos 9 May 25, 2021
nrf52832 nrf52810 ble keyboard firmware

BLEKeyboard nrf52832 nrf52810 ble keyboard firmware WHY Learm more about hardware design and engineering. WHAT Implement a full featured powerful and

Jason Zhou ε‘¨ζ­£ζ˜Œ 19 Nov 23, 2021
sc-ble-bridge is a utility that for every connected Steam Controller creates a virtual one acting as a bridge between SC and Steam

sc-ble-bridge The main goal of this utility is to provide workaround for steam-for-linux issue which makes Valve's Steam Controller unusable in BLE mo

null 4 Oct 19, 2021
WisBlock API takes care of all the LoRaWAN, BLE, AT command functionality

WisBlock-API Targeting low power consumption, this Arduino library for RAKwireless WisBlock Core modules takes care of all the LoRaWAN, BLE, AT comman

Bernd Giesecke 4 Nov 26, 2021
ControllaBLE - A retro-controllers to Bluetooth BLE adapter

ControllaBLE - A retro-controllers to Bluetooth BLE adapter This is an ESP32 based controller adapter that outputs as a dual joypad through Bluetooth

null 13 Dec 1, 2021
BLE keyboard for Japanese Kana typing

FlickInput BLE keyboard for Japanese Kana typing. BLEフγƒͺックε…₯εŠ›γ‚­γƒΌγƒœγƒΌγƒ‰ M5Paperγ‚’η”¨γ„γŸθ»½ι‡γͺフγƒͺックε…₯εŠ›γ‚­γƒΌγƒœγƒΌγƒ‰γƒ•γ‚‘γƒΌγƒ γ‚¦γ‚§γ‚’γ§γ™γ€‚ 片手でPCに文字ε…₯εŠ›γ‚’η΄ ζ—©γθ‘Œγ†γ“γ¨γŒγ§γγΎγ™γ€‚ 使い方 γ‚΅γ‚€γƒ‰γƒœγ‚Ώγƒ³γ‚’ι•·ζŠΌγ—γ™γ‚‹γ¨ι›»ζΊγŒε…₯γ‚Šγ€θ΅·

Yuki MIZUNO 15 Oct 31, 2021
ESPHome BLE Keyboard

ESPHome BLE Keyboard The firmware implements the ability to connect your esp32 device as a BLE keyboard and send keystrokes via Home Assistant Table o

Dmitry Mamontov 7 Nov 30, 2021
Custom BLE firmware for Hanshow E-Paper Shelf Labels / Price Tags

ATC_TLSR_Paper Custom BLE firmware for Hanshow E-Paper Shelf Labels / Price Tags using the TLSR8359 ARM SOC You can support my work via PayPal: https:

null 5 Dec 4, 2021
FFF is a decentralized blockchain based on IPFS/RIPPLE, which integrates lua virtual machine-based smart contracts.

FFF is a decentralized blockchain based on IPFS/RIPPLE, which integrates lua virtual machine-based smart contracts. It is also a software platform designed to help coordinate voluntary free market operations amongst a set of social actors.

gen2600 62 Oct 7, 2021