rp2040-doom
Fully-featured Doom port for the Raspberry Pi RP2040 microcontroller
File Explorer
Download Latest Version (.zip)- tinyusb
- config.h.cin
- Findm.cmake
- Findsamplerate.cmake
- FindSDL2.cmake
- FindSDL2_mixer.cmake
- FindSDL2_net.cmake
- .gitignore
- convert-icon
- doom.ico
- doom.png
- doom8.ico
- Makefile.am
- README
- setup.ico
- setup.png
- setup8.ico
- .gitignore
- doom.template.in
- heretic.template.in
- hexen.template.in
- Makefile.am
- strife.template.in
- .gitignore
- CMDLINE.template
- CMDLINE.template.md
- default.cfg.template
- docgen
- doom.template
- environ.man
- extra.cfg.template
- heretic.template
- hexen.template
- INSTALL.template
- iwad_paths.man
- Makefile.am
- server.template
- setup.template
- simplecpp
- strife.template
- wikipages
- .gitignore
- buffer.c
- buffer.h
- CMakeLists.txt
- main.c
- Makefile.am
- proto.h
- .gitignore
- droplay.c
- Makefile.am
- .gitignore
- CMakeLists.txt
- emu8950.c
- emu8950.h
- ioperm_sys.c
- ioperm_sys.h
- Makefile.am
- opl.c
- opl.h
- opl3.c
- opl3.h
- opl_api.c
- opl_internal.h
- opl_linux.c
- opl_obsd.c
- opl_pico.c
- opl_queue.c
- opl_queue.h
- opl_sdl.c
- opl_timer.c
- opl_timer.h
- opl_win32.c
- slot_render.cpp
- slot_render.h
- slot_render_pico.S
- .gitignore
- CMakeLists.txt
- Makefile.am
- pcsound.c
- pcsound.h
- pcsound_bsd.c
- pcsound_internal.h
- pcsound_linux.c
- pcsound_sdl.c
- pcsound_win32.c
- background.png
- dir.DS_Store
- designable.nib
- keyedobjects.nib
- 128x128.png
- app.icns
- app.png
- wadfile.icns
- wadfile.png
- .gitignore
- AppController.h
- AppController.m
- cp-with-libs
- dmgfix
- Execute.h
- Execute.m
- GNUmakefile
- Info.plist.in
- IWADController.h
- IWADController.m
- LauncherManager.h
- LauncherManager.m
- main.m
- PkgInfo
- .gitignore
- cp-with-libs
- GNUmakefile
- README
- .gitignore
- config.make.in
- Makefile.am
- adpcm-lib.c
- adpcm-lib.h
- adpcm-xq.c
- CMakeLists.txt
- license.txt
- .gitignore
- am_map.c
- am_map.h
- CMakeLists.txt
- d_englsh.h
- d_items.c
- d_items.h
- d_main.c
- d_main.h
- d_net.c
- d_player.h
- d_textur.h
- d_think.h
- deh_ammo.c
- deh_bexstr.c
- deh_cheat.c
- deh_doom.c
- deh_frame.c
- deh_misc.c
- deh_misc.h
- deh_ptr.c
- deh_sound.c
- deh_thing.c
- deh_weapon.c
- doomdata.h
- doomdef.c
- doomdef.h
- doomstat.c
- doomstat.h
- dstrings.c
- dstrings.h
- f_finale.c
- f_finale.h
- f_wipe.c
- f_wipe.h
- g_game.c
- g_game.h
- hu_lib.c
- hu_lib.h
- hu_stuff.c
- hu_stuff.h
- info.c
- info.h
- m_menu.c
- m_menu.h
- m_random.c
- m_random.h
- Makefile.am
- p_ceilng.c
- p_doors.c
- p_enemy.c
- p_floor.c
- p_inter.c
- p_inter.h
- p_lights.c
- p_local.h
- p_map.c
- p_maputl.c
- p_mobj.c
- p_mobj.h
- p_plats.c
- p_pspr.c
- p_pspr.h
- p_saveg.c
- p_saveg.h
- p_setup.c
- p_setup.h
- p_sight.c
- p_spec.c
- p_spec.h
- p_switch.c
- p_telept.c
- p_tick.c
- p_tick.h
- p_user.c
- r_bsp.c
- r_bsp.h
- r_data.c
- r_data.h
- r_data_whd.c
- r_defs.h
- r_draw.c
- r_draw.h
- r_local.h
- r_main.c
- r_main.h
- r_plane.c
- r_plane.h
- r_segs.c
- r_segs.h
- r_sky.c
- r_sky.h
- r_state.h
- r_things.c
- r_things.h
- s_sound.c
- s_sound.h
- sounds.c
- sounds.h
- st_lib.c
- st_lib.h
- st_stuff.c
- st_stuff.h
- statdump.c
- statdump.h
- wi_stuff.c
- wi_stuff.h
- .gitignore
- am_data.h
- am_map.c
- am_map.h
- CMakeLists.txt
- ct_chat.c
- ct_chat.h
- d_main.c
- d_net.c
- deh_ammo.c
- deh_frame.c
- deh_htext.c
- deh_htic.c
- deh_htic.h
- deh_sound.c
- deh_thing.c
- deh_weapon.c
- doomdata.h
- doomdef.h
- dstrings.h
- f_finale.c
- g_game.c
- in_lude.c
- info.c
- info.h
- m_random.c
- m_random.h
- Makefile.am
- mn_menu.c
- p_action.h
- p_ceilng.c
- p_doors.c
- p_enemy.c
- p_floor.c
- p_inter.c
- p_lights.c
- p_local.h
- p_map.c
- p_maputl.c
- p_mobj.c
- p_plats.c
- p_pspr.c
- p_saveg.c
- p_setup.c
- p_sight.c
- p_spec.c
- p_spec.h
- p_switch.c
- p_telept.c
- p_tick.c
- p_user.c
- r_bsp.c
- r_data.c
- r_draw.c
- r_local.h
- r_main.c
- r_plane.c
- r_segs.c
- r_things.c
- s_sound.c
- s_sound.h
- sb_bar.c
- sounds.c
- sounds.h
- .gitignore
- a_action.c
- am_data.h
- am_map.c
- am_map.h
- CMakeLists.txt
- ct_chat.c
- ct_chat.h
- d_net.c
- f_finale.c
- g_game.c
- h2_main.c
- h2def.h
- in_lude.c
- info.c
- info.h
- m_random.c
- m_random.h
- Makefile.am
- mn_menu.c
- p_acs.c
- p_anim.c
- p_ceilng.c
- p_doors.c
- p_enemy.c
- p_floor.c
- p_inter.c
- p_lights.c
- p_local.h
- p_map.c
- p_maputl.c
- p_mobj.c
- p_plats.c
- p_pspr.c
- p_setup.c
- p_sight.c
- p_spec.c
- p_spec.h
- p_switch.c
- p_telept.c
- p_things.c
- p_tick.c
- p_user.c
- po_man.c
- r_bsp.c
- r_data.c
- r_draw.c
- r_local.h
- r_main.c
- r_plane.c
- r_segs.c
- r_things.c
- s_sound.c
- s_sound.h
- sb_bar.c
- sc_man.c
- sn_sonix.c
- sounds.c
- sounds.h
- st_start.c
- st_start.h
- sv_save.c
- textdefs.h
- xddefs.h
- blit.S
- CMakeLists.txt
- i_glob.c
- i_input.c
- i_picosound.c
- i_picosound.h
- i_system.c
- i_timer.c
- i_video.c
- memmap_doom.ld
- picoflash.c
- picoflash.h
- piconet.c
- piconet.h
- stubs.c
- tusb_config.h
- video_doom.pio
- w_file_static.c
- .gitignore
- CMakeLists.txt
- compatibility.c
- compatibility.h
- display.c
- display.h
- execute.c
- execute.h
- joystick.c
- joystick.h
- keyboard.c
- keyboard.h
- mainmenu.c
- Makefile.am
- mode.c
- mode.h
- mouse.c
- mouse.h
- multiplayer.c
- multiplayer.h
- setup-manifest.xml.in
- setup.desktop.in
- setup_icon.c
- sound.c
- sound.h
- txt_joyaxis.c
- txt_joyaxis.h
- txt_joybinput.c
- txt_joybinput.h
- txt_keyinput.c
- txt_keyinput.h
- txt_mouseinput.c
- txt_mouseinput.h
- .gitignore
- am_map.c
- am_map.h
- CMakeLists.txt
- d_englsh.h
- d_items.c
- d_items.h
- d_main.c
- d_main.h
- d_net.c
- d_player.h
- d_textur.h
- d_think.h
- deh_ammo.c
- deh_cheat.c
- deh_frame.c
- deh_misc.c
- deh_misc.h
- deh_ptr.c
- deh_sound.c
- deh_strife.c
- deh_thing.c
- deh_weapon.c
- doomdata.h
- doomdef.c
- doomdef.h
- doomstat.c
- doomstat.h
- dstrings.c
- dstrings.h
- f_finale.c
- f_finale.h
- f_wipe.c
- f_wipe.h
- g_game.c
- g_game.h
- hu_lib.c
- hu_lib.h
- hu_stuff.c
- hu_stuff.h
- info.c
- info.h
- m_menu.c
- m_menu.h
- m_random.c
- m_random.h
- m_saves.c
- m_saves.h
- Makefile.am
- p_ceilng.c
- p_dialog.c
- p_dialog.h
- p_doors.c
- p_enemy.c
- p_floor.c
- p_inter.c
- p_inter.h
- p_lights.c
- p_local.h
- p_map.c
- p_maputl.c
- p_mobj.c
- p_mobj.h
- p_plats.c
- p_pspr.c
- p_pspr.h
- p_saveg.c
- p_saveg.h
- p_setup.c
- p_setup.h
- p_sight.c
- p_spec.c
- p_spec.h
- p_switch.c
- p_telept.c
- p_tick.c
- p_tick.h
- p_user.c
- r_bsp.c
- r_bsp.h
- r_data.c
- r_data.h
- r_defs.h
- r_draw.c
- r_draw.h
- r_local.h
- r_main.c
- r_main.h
- r_plane.c
- r_plane.h
- r_segs.c
- r_segs.h
- r_sky.c
- r_sky.h
- r_state.h
- r_things.c
- r_things.h
- s_sound.c
- s_sound.h
- sounds.c
- sounds.h
- st_lib.c
- st_lib.h
- st_stuff.c
- st_stuff.h
- wi_stuff.c
- wi_stuff.h
- CMakeLists.txt
- compress_mus.cpp
- compress_mus.h
- config.h
- extra_patches.h
- huff.cpp
- huff.h
- huff_sink.h
- huffman.h
- lodepng.cpp
- lodepng.h
- mus2seq.cpp
- mus2seq.h
- statsomizer.h
- wad.cpp
- wad.h
- whd_gen.cpp
- .gitignore
- aes_prng.c
- aes_prng.h
- CMakeLists.txt
- d_dedicated.c
- d_event.c
- d_event.h
- d_iwad.c
- d_iwad.h
- d_loop.c
- d_loop.h
- d_mode.c
- d_mode.h
- d_ticcmd.h
- deh_defs.h
- deh_io.c
- deh_io.h
- deh_main.c
- deh_main.h
- deh_mapping.c
- deh_mapping.h
- deh_str.c
- deh_str.h
- deh_text.c
- doom-screensaver.desktop.in
- doom.appdata.xml.in
- doom.desktop.in
- doomkeys.h
- doomtype.h
- gusconf.c
- gusconf.h
- heretic.appdata.xml.in
- heretic.desktop.in
- hexen.appdata.xml.in
- hexen.desktop.in
- i_cdmus.c
- i_cdmus.h
- i_endoom.c
- i_endoom.h
- i_glob.c
- i_glob.h
- i_input.c
- i_input.h
- i_joystick.c
- i_joystick.h
- i_main.c
- i_midipipe.c
- i_midipipe.h
- i_musicpack.c
- i_oplmusic.c
- i_pcsound.c
- i_sdlmusic.c
- i_sdlsound.c
- i_sound.c
- i_sound.h
- i_swap.h
- i_system.c
- i_system.h
- i_timer.c
- i_timer.h
- i_video.c
- i_video.h
- i_videohr.c
- i_videohr.h
- icon.c
- image_decoder.c
- image_decoder.h
- m_argv.c
- m_argv.h
- m_bbox.c
- m_bbox.h
- m_cheat.c
- m_cheat.h
- m_config.c
- m_config.h
- m_controls.c
- m_controls.h
- m_fixed.c
- m_fixed.h
- m_misc.c
- m_misc.h
- Makefile.am
- manifest.xml
- memio.c
- memio.h
- midifile.c
- midifile.h
- mus2mid.c
- mus2mid.h
- musx_decoder.c
- musx_decoder.h
- net_client.c
- net_client.h
- net_common.c
- net_common.h
- net_dedicated.c
- net_dedicated.h
- net_defs.h
- net_gui.c
- net_gui.h
- net_io.c
- net_io.h
- net_loop.c
- net_loop.h
- net_packet.c
- net_packet.h
- net_query.c
- net_query.h
- net_sdl.c
- net_sdl.h
- net_server.c
- net_server.h
- net_structrw.c
- net_structrw.h
- pd_render.cpp
- picodoom.h
- resource.rc.in
- setup-res.rc.in
- sha1.c
- sha1.h
- strife.appdata.xml.in
- strife.desktop.in
- tables.c
- tables.h
- tiny_huff.c
- tiny_huff.h
- v_diskicon.c
- v_diskicon.h
- v_patch.h
- v_video.c
- v_video.h
- w_checksum.c
- w_checksum.h
- w_file.c
- w_file.h
- w_file_memory.c
- w_file_posix.c
- w_file_stdc.c
- w_file_win32.c
- w_main.c
- w_main.h
- w_merge.c
- w_merge.h
- w_wad.c
- w_wad.h
- whddata.h
- z_native.c
- z_zone.c
- z_zone.h
- .gitignore
- calculator.c
- guitest.c
- Makefile.am
- codepage.h
- convert-font
- large.h
- large.png
- Makefile.am
- normal.h
- normal.png
- README
- small.h
- small.png
- .gitignore
- CMakeLists.txt
- Doxyfile
- Makefile.am
- textscreen.h
- txt_button.c
- txt_button.h
- txt_checkbox.c
- txt_checkbox.h
- txt_conditional.c
- txt_conditional.h
- txt_desktop.c
- txt_desktop.h
- txt_dropdown.c
- txt_dropdown.h
- txt_fileselect.c
- txt_fileselect.h
- txt_gui.c
- txt_gui.h
- txt_inputbox.c
- txt_inputbox.h
- txt_io.c
- txt_io.h
- txt_label.c
- txt_label.h
- txt_main.h
- txt_radiobutton.c
- txt_radiobutton.h
- txt_scrollpane.c
- txt_scrollpane.h
- txt_sdl.c
- txt_sdl.h
- txt_separator.c
- txt_separator.h
- txt_spinctrl.c
- txt_spinctrl.h
- txt_strut.c
- txt_strut.h
- txt_table.c
- txt_table.h
- txt_utf8.c
- txt_utf8.h
- txt_widget.c
- txt_widget.h
- txt_window.c
- txt_window.h
- txt_window_action.c
- txt_window_action.h
- win_opendir.c
- win_opendir.h
- .gitignore
- .gitmodules
- .lvimrc
- .travis.sh
- .travis.yml
- AUTHORS
- autogen.sh
- ChangeLog
- CMakeLists.txt
- CODE_OF_CONDUCT.md
- configure.ac
- COPYING.md
- cup.sh
- doom1.whx
- HACKING.md
- m_deathmch.png
- m_game.png
- m_host.png
- m_join.png
- m_name.png
- m_network.png
- m_two.png
- Makefile.am
- NEWS.md
- NOT-BUGS.md
- PHILOSOPHY.md
- pico_extras_import.cmake
- pico_sdk_import.cmake
- README-chocolate.md
- README.md
- README.Music.md
- README.Strife.md
- rpm.spec.in
- TODO.md
- up.sh
# Installation Guide
1. Get the code
git clone https://github.com/kilograham/rp2040-doom
Downloads the entire project code from GitHub to your computer.
cd rp2040-doom
Moves into the project folder you just downloaded.
2. CMake
Medium RecommendedPrerequisites
cmake ..
Analyzes the source code and generates build configuration files (must be run inside the build folder).
cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DPICO_BOARD=vgaboard -DPICO_SDK_PATH=/path/to/pico-sdk -DPICO_EXTRAS_PATH=/path/to/pico-extras ..
Type this command into your terminal and run it.
cmake -DPICO_PLATFORM=host -DPICO_SDK_PATH=/path/to/pico-sdk -DPICO_EXTRAS_PATH=/path/to/pico-extras -DPICO_SDK_PRE_LIST_DIRS=/path/to/pico_host_sdl ..
Type this command into your terminal and run it.
Check that an executable was created inside the build folder, then run it directly (e.g. ./build/app_name).
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
