{"id":33232744,"url":"https://github.com/jnmartin84/64doom","last_synced_at":"2026-04-04T18:45:05.207Z","repository":{"id":28872635,"uuid":"32396905","full_name":"jnmartin84/64doom","owner":"jnmartin84","description":"Source port of the original Doom to the Nintendo 64","archived":false,"fork":false,"pushed_at":"2024-03-17T12:52:25.000Z","size":65295,"stargazers_count":93,"open_issues_count":11,"forks_count":14,"subscribers_count":8,"default_branch":"rdpq","last_synced_at":"2025-11-27T15:16:00.468Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jnmartin84.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-03-17T14:03:40.000Z","updated_at":"2025-11-25T00:29:28.000Z","dependencies_parsed_at":"2022-09-05T07:50:22.141Z","dependency_job_id":"59ca140f-95fb-454a-ad96-ece8200fbbe3","html_url":"https://github.com/jnmartin84/64doom","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jnmartin84/64doom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnmartin84%2F64doom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnmartin84%2F64doom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnmartin84%2F64doom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnmartin84%2F64doom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jnmartin84","download_url":"https://codeload.github.com/jnmartin84/64doom/tar.gz/refs/heads/rdpq","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnmartin84%2F64doom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31409470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-16T18:00:23.574Z","updated_at":"2026-04-04T18:45:05.199Z","avatar_url":"https://github.com/jnmartin84.png","language":"C++","readme":"---------------\r\n-64DOOM README-\r\n---------------\r\n\r\n\r\nUpdated 2023/05/21\r\n\r\n\r\n-------------------------\r\n-git repository contents-\r\n-------------------------\r\n\r\n`README.md` is this file\r\n\r\n`src` directory contains all 64Doom C source, header files, menu graphics and Makefile used to build 64Doom\r\n\r\n`doc` directory contains many text files including\r\n\r\n`  ORIGINAL_README.TXT` is the original `README.TXT` from the 1990s DOOM open source release\r\n  \r\n`  DOOMLIC.TXT` is the DOOM open source license documentation\r\n  \r\n`  CREDITS.TXT` which provides attribution for various components and code contributors\r\n  \r\n`  LICENSE_generic-hashtable.TXT`, `README_generic-hashtable.TXT` required attribution for Hashtable implementation used\r\n  \r\n`  GPLV3.TXT` is a copy of the GPL V3 License as required\r\n\r\n--------------\r\n-how to build-\r\n--------------\r\nSetup libdragon UNSTABLE branch: https://github.com/DragonMinded/libdragon/wiki/Installing-libdragon\r\n\r\nGet a copy of a supported version of Doom (Doom shareware, retail, Ultimate Doom, Doom II, Plutonia, TNT).\r\n\r\nExport two environment variables:\r\n\r\n`IWAD_DIRECTORY` -- the path of the directory that contains your IWAD file\r\n\r\n`IWAD_PREFIX` -- the actual IWAD filename prefix (one of `DOOM1`, `DOOM`, `DOOMU`, `DOOM2`, `PLUTONIA`, `TNT` - these are case sensitive. Must be uppercase and your wad filename must be uppercase i.e. `DOOM2.WAD`)\r\n\r\nAnd run make.\r\n\r\nResult is `$(IWAD_PREFIX).z64` ready to copy to dev cart or run in emulator.\r\n\r\nExample for building DOOM2 from repo directory, with IWAD files located in your home directory under `IWADS`:\r\n\r\n`cd src`\r\n\r\n`env IWAD_DIRECTORY=\"~/IWADS\" IWAD_PREFIX=\"DOOM2\" make`\r\n\r\nresulting in `DOOM2.z64`\r\n\r\nIf you want to build for a different game version, be sure to run make clean first. Environment variables must be set for make clean as well.\r\n\r\n`env IWAD_DIRECTORY=\".\" IWAD_PREFIX=\".\" make clean`\r\n\r\n\r\n-----------\r\n-SAVEGAMES-\r\n-----------\r\n\r\n64Doom uses the Controller Pak to save and load your game progress from the Save Game / Load Game menu options.\r\n\r\nOne savegame slot is presented, mapped to a single note on the Controller Pak.\r\n\r\nThe name of the note is the same as the game version (`$IWAD_PREFIX`) you are playing.\r\n\r\nWhen you save or load a game, you will see a message in the Doom HUD if it is successful:\r\n\r\n`SAVED GAME TO MEMPAK`\r\n\r\n`LOADED GAME FROM MEMPAK`\r\n\r\nSavegames are compressed using the lzfx library. However, the compressed saves are still large relative to the capacity of a fully-formatted Controller Pak. \r\n\r\nIn the event that there is not enough free space on the Controller Pak to save the game, you will see a message in the Doom HUD:\r\n\r\n`NOT ENOUGH SPACE FOR SAVE (NEED #, HAVE #)`\r\n\r\nIt is very likely you will see this message if you have notes from other games on your Controller Pak, so it is desirable to play with a dedicated, initially empty\r\nController Pak. \r\n\r\nIt is possible that there are rare occasions where this may happen even with an empty Controller Pak. \r\n\r\nIf it does, kill some more enemies, pick up some more items, try again. :-)\r\n\r\n----------\r\n-CONTROLS-\r\n----------\r\n\r\nD-PAD UP / ANALOG STICK UP :: move forward\r\n\r\nD-PAD DOWN / ANALOG STICK DOWN :: move backward\r\n\r\nD-PAD LEFT / ANALOG STICK LEFT :: turn left\r\n\r\nD-PAD RIGHT / ANALOG STICK RIGHT :: turn right\r\n\r\nL TRIGGER :: strafe left\r\n\r\nR TRIGGER :: strafe right\r\n\r\nC LEFT :: switch to previous weapon\r\n\r\nC RIGHT :: switch to next weapon\r\n\r\nC UP :: toggle auto-map\r\n\r\nC DOWN :: ENTER key\r\n\r\nZ :: toggle run on/off (defaults to on)\r\n\r\nA :: shoot\r\n\r\nB :: use (open doors, flip switches)\r\n\r\nSTART :: ESCAPE key\r\n\r\n\r\nEnjoy.\r\n","funding_links":[],"categories":["Programming"],"sub_categories":["C"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjnmartin84%2F64doom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjnmartin84%2F64doom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjnmartin84%2F64doom/lists"}