{"id":29246752,"url":"https://github.com/AntonioND/libmikmod_nds","last_synced_at":"2025-07-03T23:06:19.460Z","repository":{"id":251517781,"uuid":"837349082","full_name":"AntonioND/libmikmod_nds","owner":"AntonioND","description":"Port of libmikmod to BlocksDS based on the port by Sten Larsson.","archived":false,"fork":false,"pushed_at":"2024-08-04T01:08:04.000Z","size":690,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-01T07:08:05.972Z","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":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AntonioND.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"COPYING.LESSER","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-02T19:01:59.000Z","updated_at":"2025-04-22T06:06:41.000Z","dependencies_parsed_at":"2024-08-03T17:03:35.419Z","dependency_job_id":"99e09368-d2c0-4326-9931-35c8d68c9aca","html_url":"https://github.com/AntonioND/libmikmod_nds","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"c3579ffc02b2c699b5aa3762d1256c7ae2d17aa7"},"previous_names":["antoniond/libmikmod_nds"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AntonioND/libmikmod_nds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonioND%2Flibmikmod_nds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonioND%2Flibmikmod_nds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonioND%2Flibmikmod_nds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonioND%2Flibmikmod_nds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AntonioND","download_url":"https://codeload.github.com/AntonioND/libmikmod_nds/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonioND%2Flibmikmod_nds/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263416471,"owners_count":23463144,"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":[],"created_at":"2025-07-03T23:06:16.664Z","updated_at":"2025-07-03T23:06:19.437Z","avatar_url":"https://github.com/AntonioND.png","language":"C","funding_links":[],"categories":["Development libraries for NDS"],"sub_categories":[],"readme":"# libmikmod 3.3.11.1 for NDS\r\n\r\n## Introduction\r\n\r\nThis is an unofficial Nintendo DS port of libmikmod, a portable sound\r\nlibrary for playing various music modules like MOD, S3M, IT, etc. It runs on the\r\nARM9 and it sends commands to the ARM7 only to update the state of the audio\r\nplayback.\r\n\r\nIt is based on libmikmod 3.3.11.1, commit 0e5b74433880 from its official\r\nrepository: https://sourceforge.net/p/mikmod/mikmod/ci/master/tree/libmikmod/\r\n\r\n## Install\r\n\r\nSimply run this to build and install the library in your BlocksDS environment:\r\n\r\n```bash\r\nmake install\r\n```\r\n\r\n## Examples\r\n\r\nOnce you have installed the library, go to the folder of an example and run:\r\n\r\n```bash\r\nmake\r\n```\r\n\r\nThis will generate a NDS file that you can test with flashcarts or emulators.\r\n\r\n## Using the library\r\n\r\nFor general instructions on using libmikmod see the official manual here:\r\nhttp://mikmod.raphnet.net/doc/libmikmod-3.1.10/docs/mikmod.html\r\n\r\nFor details on using this port see the examples in the `examples` folder of this\r\nrepository. I suggest you use that program as a template for your own project. You\r\ncan do whatever you want with the source code of the examples, but libmikmod\r\nitself is LGPL. In practice this means your project needs to be open source (but\r\nit does not need to be (L)GPL).\r\n\r\n## More information\r\n\r\nTwo drivers are provided; one software mixer and one hardware mixer. The\r\nsoftware driver can use a lot of CPU power depending on the module played. The\r\nhardware driver should use less, but it does not play all modules as good as the\r\nsoftware mixer.\r\n\r\nThe software driver does all mixing on ARM9, and uses only sound channel 0.\r\nUnfortunately it uses TIMER0 and TIMER1 on ARM7 for timing.\r\n\r\nThe hardware driver uses sound channels 0 to x-1, where x is the number of\r\nchannels in the module. When using the hardware driver you need to call the tick\r\nfunction on ARM9 every `md_bpm * 0.4` seconds.\r\n\r\nThe software driver seems to be buggier than the hardware driver, and it\r\noccasionally crashes.\r\n\r\nBoth the hardware and software driver needs to send messages from ARM9 to ARM7.\r\nThe communication itself needs to be done in the application. All messages will\r\nbe 32-bit and always \u003e= `(1 \u003c\u003c 28)`. You should allocate one of the user libnds\r\nFIFO channels for the player messages.\r\n\r\n## Changelog\r\n\r\n- 3.3.11.1 (2024/08/02)\r\n  - Updated to libmikmod 3.3.11.1.\r\n  - Example updated to use modern libnds.\r\n\r\n- 3.2.0ds1 (2007/12/22)\r\n  - Based on libmikmod 3.2.0-beta2\r\n  - Many fixes to the hardware mixer by Andreas Back. It is almost as good as\r\n    the software mixer now!\r\n\r\n- 3.1.11ds1 (2006/11/07)\r\n  - Initial Release\r\n\r\n## Credits\r\n\r\nOriginal Nintendo DS port by Sten Larsson\r\nsten.larsson@gmail.com\r\nhttp://blog.dev-scene.com/flatware\r\n\r\nContributions by Andreas Back\r\nbitstate@gmail.com\r\n\r\nPort to BlocksDS and update to version 3.3.11.1 by Antonio Niño Díaz\r\n\r\nOfficial MikMod homepage\r\nhttp://mikmod.raphnet.net/\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAntonioND%2Flibmikmod_nds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAntonioND%2Flibmikmod_nds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAntonioND%2Flibmikmod_nds/lists"}