{"id":13606739,"url":"https://github.com/fabiangreffrath/crispy-doom","last_synced_at":"2025-04-12T08:32:08.383Z","repository":{"id":14675990,"uuid":"17395051","full_name":"fabiangreffrath/crispy-doom","owner":"fabiangreffrath","description":"Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.","archived":false,"fork":true,"pushed_at":"2025-04-11T12:32:37.000Z","size":29594,"stargazers_count":835,"open_issues_count":69,"forks_count":131,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-04-11T14:12:17.794Z","etag":null,"topics":["640x480","accurate","chocolate-doom","crispy","demo-compatible","doom","faithful","fps","free-software","game","gplv2","jumping","limit-removing","mouselook","sdl2","source-port","uncapped-framerate","vanilla-doom"],"latest_commit_sha":null,"homepage":"https://fabiangreffrath.github.io/crispy-homepage","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"chocolate-doom/chocolate-doom","license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabiangreffrath.png","metadata":{"files":{"readme":"README.Music.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"COPYING.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-03-04T08:17:34.000Z","updated_at":"2025-04-10T18:36:22.000Z","dependencies_parsed_at":"2023-01-16T20:01:36.105Z","dependency_job_id":null,"html_url":"https://github.com/fabiangreffrath/crispy-doom","commit_stats":{"total_commits":6966,"total_committers":112,"mean_commits":62.19642857142857,"dds":0.6757105943152455,"last_synced_commit":"4a0e93b7f0db2cb772b74f454fcf2178522b4761"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiangreffrath%2Fcrispy-doom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiangreffrath%2Fcrispy-doom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiangreffrath%2Fcrispy-doom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiangreffrath%2Fcrispy-doom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabiangreffrath","download_url":"https://codeload.github.com/fabiangreffrath/crispy-doom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248540064,"owners_count":21121285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["640x480","accurate","chocolate-doom","crispy","demo-compatible","doom","faithful","fps","free-software","game","gplv2","jumping","limit-removing","mouselook","sdl2","source-port","uncapped-framerate","vanilla-doom"],"created_at":"2024-08-01T19:01:11.945Z","updated_at":"2025-04-12T08:32:03.374Z","avatar_url":"https://github.com/fabiangreffrath.png","language":"C","funding_links":[],"categories":["C","FPS"],"sub_categories":[],"readme":"Doom has a memorable and atmospheric soundtrack. Like many games of\nthe era, it is MIDI-based. Chocolate Doom includes a number of\ndifferent options for music playback, detailed below.\n\n# Native MIDI playback\n\nMost modern operating systems have some kind of built-in support for\nMIDI playback; some have very good quality MIDI playback (Mac OS X for\nexample). To use this, choose “Native MIDI” in the sound configuration\ndialog in the setup tool.\n\n# Timidity\n\nTimidity is a software-based MIDI synthesizer, and a version of it is\nincluded in the SDL2_mixer library used by Chocolate Doom. To use\nTimidity for MIDI playback, first download a sound font. An example of\na good quality sound font is the eawpats font, which can be downloaded\nfrom the idgames archive as sounds/eawpats.zip:\n\n  https://www.doomworld.com/idgames/sounds/eawpats\n\nHaving installed a sound font, select “Native MIDI” in the sound\nconfiguration dialog in the setup tool, and use the “Timidity\nconfiguration file” widget below to enter the path to the Timidity\nconfiguration file (normally named timidity.cfg).\n\n# Gravis Ultrasound (GUS)\n\nThe Gravis Ultrasound (GUS) was a PC sound card popular in the ’90s,\nnotable for having wavetable synthesis that provided MIDI playback\nthat was superior to most other cards of the era. Chocolate Doom\nincludes a “pseudo-GUS emulation” feature that simulates the GUS\n(using Timidity, under the hood).\n\nTo use this feature you need a copy of the GUS patch files that were\ndistributed with the original GUS patches. If you have Doom 3: BFG\nEdition, these patches are included with its version of classic Doom,\nand are automatically detected. Otherwise, they can be downloaded\nfrom the idgames archive as music/dgguspat.zip:\n\n  https://www.doomworld.com/idgames/music/dgguspat\n\nHaving downloaded the patches, select “GUS (emulated)” in the sound\nconfiguration dialog in the setup tool, and use the “GUS patch path”\nwidget to enter the path to the directory containing the patch files.\n\nFor the music not to sound weird, you will almost certainly want to\nload gusgonna.wad (sounds/gusgonna.zip in the idgames archive) when\nyou run the game, to work around a bug in vanilla Doom's instrument\nmappings parser:\n\n  https://www.doomworld.com/idgames/sounds/gusgonna\n\nBy default a GUS card with 1024KB is simulated; to simulate a 256KB,\n512KB or 768KB card instead, change the gus_ram_kb option in\nchocolate-doom.cfg.\n\n# OPL (Soundblaster / Adlib)\n\nMost people playing Doom in the ’90s had Soundblaster-compatible sound\ncards, which used the Yamaha OPL series of chips for FM-based MIDI\nsynthesis. Chocolate Doom includes the ability to emulate these chips\nfor a retro experience. OPL emulation is the default MIDI playback,\nbut can be selected in the setup tool as “OPL (Adlib/SB)”.\n\nMost modern computers do not include an OPL chip any more, as CPUs are\nfast enough to do decent software MIDI synthesis. However, no software\nemulator sounds exactly like a real (hardware) OPL chip, and a few\ncards do have real hardware OPL. If you have such a card, here’s how\nto configure Chocolate Doom to use it.\n\n## Sound cards with OPL chips\n\nIf you have an ISA sound card, it almost certainly includes an OPL\nchip. Modern computers don’t have slots for ISA cards though, so you\nmust be running a pretty old machine.\n\nIf you have a PCI sound card, you probably don’t have an OPL chip.\nHowever, there are some exceptions to this. The following cards are\nknown to include “legacy” OPL support:\n\n  * C-Media CMI8738 (*)\n  * Forte Media FM801\n  * Cards based on the Yamaha YMF724 (*)\n\nOther cards that apparently have OPL support but have not been tested:\n\n  * S3 SonicVibes\n  * AZTech PCI 168 (AZT 3328 chipset)\n  * ESS Solo-1 sound cards (ES1938, ES1946, ES1969 chipset)\n  * Conexant Riptide Audio/Modem combo cards\n  * Cards based on the Crystal Semiconductors CS4281\n  * Cards based on the Avance Logic ALS300\n  * Cards based on the Avance Logic ALS4000\n\nIf you desperately want hardware OPL music, you may be able to find\none of these cards for sale cheap on eBay.\n\nFor the cards listed above with (\\*) next to them, OPL support is\ndisabled by default and must be explictly enabled in software. See\nsections below for operating system-specific instructions on how you\nmay be able to do this.\n\nIf your machine is not a PC, you don’t have an OPL chip, and you will\nhave to use the software OPL.\n\n## Operating System support\n\nIf you’re certain that you have a sound card with hardware OPL, you\nmay need to take extra steps to configure your operating system to\nallow access to it. To do hardware OPL, Chocolate Doom must access\nthe chip directly, which is usually not possible in modern operating\nsystems unless you are running as the superuser (root/Administrator).\n\n### Microsoft Windows\n\nOn modern Windows systems it is not possible to directly access the\nOPL chip, even when running as Administrator. Fortunately, it is\npossible to use the “ioperm.sys” driver developed for Cygwin (look for\niopermsys-0.2.1.tar.bz2):\n\n  http://openwince.sourceforge.net/ioperm/\n\nIt is not necessary to have Cygwin installed to use this. Copy the\nioperm.sys file into the same directory as the Chocolate Doom\nexecutable and it should be automatically loaded.\n\nYou can confirm that hardware OPL is working by checking for this\nmessage in stdout.txt:\n\n    OPL_Init: Using driver 'Win32'.\n\nIf you have a C-Media CMI8738, you may need to enable the `FM_EN`\nflag in Windows Device Manager to access hardware OPL output. See\n[this](http://www.vogons.org/viewtopic.php?f=46\u0026t=36445) thread on\nvogons.org for some more information.\n\n### Linux\n\nIf you are using a system based on the Linux kernel, you can access\nthe OPL chip directly, but you must be running as root. You can\nconfirm that hardware OPL is working, by checking for this message on\nstartup:\n\n    OPL_Init: Using driver 'Linux'.\n\nIf you are using one of the PCI cards in the list above with a (*)\nnext to it, you may need to manually enable FM legacy support. Add\nthe following to your /etc/modprobe.conf file to do this:\n\n    options snd-ymfpci fm_port=0x388\n    options snd-cmipci fm_port=0x388\n\n### OpenBSD/NetBSD\n\nYou must be running as root to access the hardware OPL directly. You\ncan confirm that hardware OPL is working by checking for this message\non startup:\n\n    OPL_Init: Using driver 'OpenBSD'.\n\nThere is no native OPL backend for FreeBSD yet. Sorry!\n\n# Other options\n\nIf you have some other favorite MIDI playback option that isn’t\nlisted above, you can set a hook to invoke an external command for\nMIDI playback using the ‘snd_musiccmd’ configuration file option. For\nexample, set:\n\n    snd_musiccmd    \"aplaymidi -p 128:0\"\n\nin your chocolate-doom.cfg file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabiangreffrath%2Fcrispy-doom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabiangreffrath%2Fcrispy-doom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabiangreffrath%2Fcrispy-doom/lists"}