{"id":29246740,"url":"https://github.com/asiekierka/micro-lua-ds","last_synced_at":"2025-07-03T23:06:18.300Z","repository":{"id":290159672,"uuid":"973540889","full_name":"asiekierka/micro-lua-ds","owner":"asiekierka","description":"Updated port of Micro Lua DS","archived":false,"fork":false,"pushed_at":"2025-04-27T09:20:54.000Z","size":3244,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-27T09:28:35.239Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asiekierka.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-27T07:56:25.000Z","updated_at":"2025-04-27T09:20:58.000Z","dependencies_parsed_at":"2025-04-27T09:28:38.209Z","dependency_job_id":null,"html_url":"https://github.com/asiekierka/micro-lua-ds","commit_stats":null,"previous_names":["asiekierka/micro-lua-ds"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asiekierka/micro-lua-ds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fmicro-lua-ds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fmicro-lua-ds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fmicro-lua-ds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fmicro-lua-ds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asiekierka","download_url":"https://codeload.github.com/asiekierka/micro-lua-ds/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asiekierka%2Fmicro-lua-ds/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.034Z","updated_at":"2025-07-03T23:06:18.272Z","avatar_url":"https://github.com/asiekierka.png","language":"Lua","funding_links":[],"categories":["Applications"],"sub_categories":[],"readme":"# MicroLua\n\nBy the MicroLua's forum members, from the original project by Risike\n\nREADME file by Reylak.\n\nUnofficial BlocksDS port by asie.\n\n## Package content\n\nThis package contains the following files and directories:\n\n* 'doc': MicroLua documentation\n* 'lua': this folder contains all built-in MicroLua scripts. They are bundled inside the `.nds` file, as well.\n* 'MicroLua.nds': here is the binary file for uLua\n* 'README.md': the file you're now reading. You have all my gratitude for reading it! ;)\n* 'CHANGELOG.md': this file presents you with the change history of MicroLua\n* 'COPYING': just a copyright notice from the GNU GPL v3 for MicroLua\n\nThe source repository additionally contains the following folders:\n\n* `Fat` - default NitroFS file system bundled with the `.nds` file,\n* `vendor/lua*` - Lua source code.\n\n## Installation\n\nIt is quite easy: just _copy the binary file 'microlua.nds'_ wherever you wish on your card.\n\nIf you also want to edit your own scripts, _copy the 'lua' folder_ to the **'root'** (and this is really important, you have to put the 'lua' folder to the 'root', i.e. the '/' folder, the one which contains all the others).\n\nFor more detailed instructions, please look at this page: \u003chttps://sourceforge.net/p/microlua/wiki/Installation/\u003e\n\nIf you have troubles while launching uLua, like \"Unable to load libs.lua\", check that the 'lua' folder is at the right place, that is to say in the 'root' (and that the 'libs.lua' file is in '/lua/libs/').\n\n## Features\n\nHere are the main features of MicroLua:\n\n* _Fast drawing_: as MicroLua is based on Brunni's library, the uLibrary, MicroLua provides fast 2D drawing using the 3D GPU. But that also means there will probably not be any 3D drawing with MicroLua. If you are not happy with that, just delete this package and go to see PALib. This also includes alpha transparency, and PNG/GIF transparency (as MicroLua can load PNG, JPEG and GIF image formats)\n* _Even faster drawing_: MicroLua also features Canvas, an object-oriented drawing system with high performances while allowing you to dynamically change drawing attributes after their creation\n* _Full Sprites and Maps systems_: with automated animations, and dynamic maps (you can change the map constitution through your program)\n* _Wifi_: Microlua provides full access to the Wifi connection of the Nintendo DS\n* _Nifi_: MicroLua allows you to make your console communicate with other ones Ad-hoc\n* _Sound system_: based on the Mixmod library, uLua can play MOD and WAV sounds based on a soundbank system\n* _Fat access_: full access to the content of your card; uLua also implements a built-in library to manage INI config files\n* _NitroFS support_: you can make a special MicroLua version to embed your scripts inside the Lua interpreter\n* _Rumble and motion_: if you have the required hardware, you can use uLua to make your NDS shake and detect its movements\n\n\n## User guide\n\nWhen you find a good uLua script (they are actually all good... ;) ), you will have probably either a single file (little script) or a directory. Just _copy what you get into the 'scripts' folder_.\n\nThen, boot your Nintendo DS, launch MicroLua. You can see on the bottom screen a file list: this is the content of your 'scripts'  folder. You can freely naviguate through your card using the D-pad Up and Down; use Right to open a folder, and eventually you can use the A button to launch a script. Note that if you use A on a folder which contains a file named 'index.lua', this file will be launched.\n\nAnd that's all, so enjoy yourself with the greatest uLua scripts! ;)\n\nFor a complete manual of MicroLua, look at the page \u003chttps://sourceforge.net/p/microlua/wiki/Home/\u003e.\n\n## Lua developer guide\n\nIf you intend to make your own uLua scripts, here are some tips. These advices are available on our Wiki, more up-to-date and complete (\u003chttps://sourceforge.net/p/microlua/wiki/Home/\u003e).\n\n### Utilitaries\n\nSome **utilitaries** (Windows only) are available for download on the SourceForge; they include:\n\n * A Lua compiler, which precompiles your scripts for faster execution. However, this is not often useful, and other people will not be able to look at the code\n * A font converter, to use your own fonts in your scripts\n * A map converter, from GBA graphics to NDS\n * A soundbank maker, to make your scripts more vivid with some sound\n\n### Testing code on the computer\n\nIt's so boring to put your script on your uSD card, then in your linker, then boot your DS, then launch MicroLua, then FINALLY test your program and see that it doesn't work because you forgot this little tiny bracket. So you may want to **test your scripts on your computer** (it would be so convenient!). And guess what... It's possible! You can use MicroLua Simulator (MLS), a really good homebrew made by Ced\\_le\\_pingouin. Or you can also test with DeSmuME, a NDS emulator which can make MicroLua run.\n\n### Packaging your scripts\n\nI hope you will make great projects, so you will distribute a folder containing your project files. The default uLua shell provides a useful feature: **it will launch the file named 'index.lua' if you open the folder with the A button**. This way you can make your project look better by \"hiding\" the several files in the directory: the user will only have to press A instead of searching the correct file among the twenty others.\n\n### Good habits are good\n\nLast but no least: please, **do NOT compile your scripts**. It is often useless (as a speed gain), and open source projects are far better (imagine that one day you loose your files). I know there are some bad people outside, who may stole your work, but as long as you publish your projects on the uLua forum, there will be no leeching.\n\nA safe alternative may be to use **NitroFS** that MicroLua provides, which allows you to produce a NDS binary including all your files.\n\n## MicroLua hacker guide\n\nTo compile MicroLua, install BlocksDS with the following dependencies:\n\n    $ wf-pacman -S blocksds-ulibrary toolchain-gcc-arm-none-eabi-zlib toolchain-gcc-arm-none-eabi-libpng16\n\nNext, simply run Make:\n\n    $ make\n\n## Links\n\n* \u003chttp://www.microlua.xooit.fr\u003e: the main MicroLua's site (actually this is a forum). The active community will help you progress and share your scripts ;) Probably THE place you should check everyday\n* \u003chttps://sourceforge.net/projects/microlua/\u003e: MicroLua's project hosting on SourceForge. If you want to have the true latest MicroLua release, go check it! There is also a good Wiki with tons of informations\n* \u003chttp://www.lua.org\u003e: the official Lua website. You can find here all the informations relative to the language; this will probably be useful to you if you intend to make some homebrews with uLua unless you already know by heart the language\n\n\n## Credits and other background informations\n\nAll the thanks will first go to **Risike**, the true owner of the project, the Creator, our God (let's stop here), as the project originally comes from him. He released the first version of MicroLua in 2008, and maintained it until 2009 (v3.0). At this point, he stated that he didn't want to continue this project and released it open source.\nBut we, **the community**, took care of it, and continued the work. MicroLua sources are of course available.\n\nPeople who must be thanked are _Papymouge_, at least for his great job on Wifi, Nifi, its shell... actually for too many things; _Ced-le-pingouin_, for working on the compilation process and for his great **MLS**, _Thomas99_ for its job about improving our Wifi system, _Grahack_ which have so many good (or not) ideas on how to drive uLua, _Ghuntar_, _thomh@ck_, _thermo_\\__nono_, _geeker_ and myself _Reylak_, for this soooo beautiful README file ;) And last but not least, _all the community_ for creating such magnificent homebrews and supporting us!\n\nOne last thing about uLua: some people confuse MicroLua with Lua. _Lua is a language_, basically used on computers either as a stand-alone or as a plugin engine. uLua is meant to be **an adaptation of Lua for the Nintendo DS**. So please, MicroLua is NOT a language; LUA is the language; we have a detailed explanation here: \u003chttps://sourceforge.net/p/microlua/wiki/Lua/\u003e. That's all, folks.\n\nI now just have to thank also you for downloading the sources and maybe improving MicroLua! I hope this way you will enjoy much more MicroLua!\n\n\n\n\u003e Reylak\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasiekierka%2Fmicro-lua-ds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasiekierka%2Fmicro-lua-ds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasiekierka%2Fmicro-lua-ds/lists"}