UFMOD

uFMOD
Original authorsAsterix and Quantum[1]
Release26 January 2006 (2006-01-26)[2]
Stable release
1.25.2a / 12 October 2020 (2020-10-12)
Written inAssembler
Operating systemMicrosoft Windows, Linux, FreeBSD, KolibriOS
Available in3 languages
List of languages
English, Spanish, Russian
TypeGame middleware
Game development tool
Digital audio workstation
LicenseFreeware
Websiteufmod.sourceforge.io[1]
Repository

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 μ.

The uFMOD source code can be compiled using FASM.[3]

Audio libraries supported
Operating SystemAudio Libraries
Microsoft WindowsWinMM, DirectSound, OpenAL
LinuxOSS, ALSA, OpenAL
FreeBSDOSS
KolibriOSInfinity Sound Audio Library

The uFMOD library was ported to several programming languages and development environments:

The AOCRYPT cryptographic engine uses uFMOD to ensure a specific executable file size.[7] The patcher dUP2[8] 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,[9] a PC remake of the ZX Spectrum original.
  • Four-in-a-row,[10] an open source game for Windows and Linux.
  • Shooter 2D,[6] an open source shooter implemented for the Independent Games Developers Contests (IGDC).
  • Diamond Fighters,[11] a freeware 2D arcade for Linux.

References

  1. 1 2 Záleta, Martin (2011). Grafické demo v 128kB (Thesis) (in Czech). Brno University of Technology. p. 32. hdl:11012/55888.
  2. ↑ "The Unofficial XM File Format Specification: FastTracker II, ADPCM and StrippedModule Subformats", Quantum, 2006
  3. ↑ "Is NASM dead?", Narkive Newsgroup Archive, 2006
  4. ↑ "PureBasic: User-Libs", PureArea, 2007-09-02
  5. ↑ "Play .XM .MOD audio files in Delphi without DLLs", StackOverflow, 2014-01-18
  6. 1 2 "Development of the game in 115 kb", Sudo Null, perfect.daemon, 2014
  7. ↑ Оловянишников, А. Р.; Симаков, Е. Е. (2021). "Разработка алгоритма и программного обеспечения для шифрования данных". Young Scientist (in Russian). 2 (43): 46–52. ISSN 2077-8295. Retrieved 2021-05-29.
  8. ↑ Manuel Rey Vilar (2014). "Aprende el Arte de la Ingeniería Inversa" (PDF) (in Spanish). University of Almería. p. 354. Archived from the original (PDF) on 2022-01-21. Retrieved 2021-05-28.
  9. ↑ J. Roberts; K. Saunders; S. Lamb (2015). "Lunar Jetman Remake". Indie Retro News.
  10. ↑ "Four-in-a-row", FreeBasic Portal, 2012
  11. ↑ Andru (2008-07-16). "Diamond Fighters". Linux.org.ru (in Russian).