{{Infobox software | title = uFMOD | logo = UFMOD logo.png | screenshot = uFMOD-screenshots.png | author = Asterix and Quantum<ref name="128k">{{cite thesis | url=http://hdl.handle.net/11012/55888 | last=Záleta | first=Martin | title=Grafické demo v 128kB | language=cs | publisher=Brno University of Technology | page=32 | date=2011 | hdl=11012/55888 }}</ref> | released = {{Start date and age|2006|01|26|df=yes/no}}<ref>[https://sourceforge.net/projects/ufmod/files/XM%20file%20format%20specification/XM_file_format.pdf "The Unofficial XM File Format Specification: FastTracker II, ADPCM and StrippedModule Subformats"], ''Quantum'', 2006</ref> | latest release version = 1.25.2a | latest release date = {{Start date and age|2020|10|12|df=yes/no}} | programming language = Assembler | operating system = Microsoft Windows, Linux, FreeBSD, KolibriOS | language = English, Spanish, Russian | language count = 3 | genre = Game middleware<br />Game development tool<br />Digital audio workstation | license = Freeware | website = {{URL|https://ufmod.sourceforge.io/}}<ref name="128k"/> | qid = Q106428088 }} '''uFMOD''' (or '''μFMOD''') is a freeware audio player library written in x86 assembly language. It is used to load and play audio files in XM format.
In the library name, the lowercase '''u''' letter is the micro symbol '''μ'''. {{cn|date=May 2026}}
The uFMOD source code can be compiled using FASM.<ref>[https://web.archive.org/web/20210409211025/https://alt.lang.asm.narkive.com/J52uGHuw/nasm-dead "Is NASM dead?"], Narkive Newsgroup Archive, 2006</ref>
{| class="wikitable" |+ Audio libraries supported |- ! Operating System !! Audio Libraries |- | Microsoft Windows || WinMM, DirectSound, OpenAL |- | Linux || OSS, ALSA, OpenAL |- | FreeBSD || OSS |- | KolibriOS || Infinity Sound Audio Library |}
The uFMOD library was ported to several programming languages and development environments:
{{columns-list|colwidth=20em| * C# * Visual Basic * Dev-C++ * PureBasic<ref>[http://www.purearea.net/pb/english/userlibs.php "PureBasic: User-Libs"], PureArea, 2007-09-02</ref> * FreeBASIC * BlitzMax * Emergence BASIC * Delphi<ref>[https://stackoverflow.com/questions/21208745/play-xm-mod-audio-files-in-delphi-without-dlls "Play .XM .MOD audio files in Delphi without DLLs"], StackOverflow, 2014-01-18</ref> * Free Pascal<ref name="115kb">[https://sudonull.com/post/103632-Development-of-the-game-in-115-kb-hacks-bugs-and-annoyance "Development of the game in 115 kb"], Sudo Null, ''perfect.daemon'', 2014</ref> * Tcl/Tk }}
The ''AOCRYPT'' cryptographic engine uses uFMOD to ensure a specific executable file size.<ref>{{cite journal |last1=Оловянишников |first1=А. Р. |last2=Симаков |first2=Е. Е. |title=Разработка алгоритма и программного обеспечения для шифрования данных |language=ru |date=2021 |journal=Young Scientist |issn=2077-8295 |volume=2 |issue=43 |pages=46–52 |url=https://moluch.ru/young/archive/43/2296/ |access-date=2021-05-29}}</ref> The patcher ''dUP2''<ref>{{cite web | url=http://www.adminso.es/recursos/Proyectos/PFM/2014_15/PFM_ingenieria_inversa/PFM_ingenieria_inversa.pdf | author=Manuel Rey Vilar | title=Aprende el Arte de la Ingeniería Inversa | language=es | publisher=University of Almería | page=354 | year=2014 | access-date=2021-05-28 | archive-date=2022-01-21 | archive-url=https://web.archive.org/web/20220121014850/http://www.adminso.es/recursos/Proyectos/PFM/2014_15/PFM_ingenieria_inversa/PFM_ingenieria_inversa.pdf | url-status=dead }}</ref> uses uFMOD to play background music.
== Games using uFMOD == Due to its small size, the uFMOD is used in compact video games to play background music, for example:
* '''Lunar Jetman Remake''',<ref>{{cite web |url=http://www.indieretronews.com/2015/01/lunar-jetman-remake-zx-spectrum.html |title=Lunar Jetman Remake |publisher=Indie Retro News |date=2015 |author=J. Roberts |author2=K. Saunders |author3=S. Lamb }}</ref> a PC remake of the ZX Spectrum original. * '''Four-in-a-row''',<ref>[https://users.freebasic-portal.de/freebasicru/four.html "Four-in-a-row"], FreeBasic Portal, 2012</ref> an open source game for Windows and Linux. * '''Shooter 2D''',<ref name="115kb"/> an open source shooter implemented for the ''Independent Games Developers Contests'' (IGDC). * '''Diamond Fighters''',<ref>{{cite web |url=https://www.linux.org.ru/news/games/2941121 |title=Diamond Fighters |website=Linux.org.ru |date=2008-07-16 |lang=ru |author=Andru }}</ref> a freeware 2D arcade for Linux.
== References == {{reflist}}
==External links== * [https://ufmod.sourceforge.io/ Project home page] * [https://board.flatassembler.net/topic.php?t=5528 Flat Assembler topic]
{{Authority control}} Category:Audio libraries Category:Video game music technology