{"id":19090129,"url":"https://github.com/freem/freemlib-neogeo","last_synced_at":"2025-08-24T22:31:09.276Z","repository":{"id":17837685,"uuid":"20747090","full_name":"freem/freemlib-neogeo","owner":"freem","description":"library(-ish) and utils for programming the Neo-Geo","archived":false,"fork":false,"pushed_at":"2023-04-21T21:06:10.000Z","size":860,"stargazers_count":31,"open_issues_count":11,"forks_count":4,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-29T02:43:37.908Z","etag":null,"topics":["assembly","neo-geo","neogeo"],"latest_commit_sha":null,"homepage":"https://freem.github.io/freemlib-neogeo/","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2014-06-11T22:55:59.000Z","updated_at":"2024-11-10T23:37:42.000Z","dependencies_parsed_at":"2024-11-09T03:02:13.604Z","dependency_job_id":"6d117afc-605d-48fb-bded-4dc3521c0724","html_url":"https://github.com/freem/freemlib-neogeo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/freem/freemlib-neogeo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreemlib-neogeo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreemlib-neogeo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreemlib-neogeo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreemlib-neogeo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freem","download_url":"https://codeload.github.com/freem/freemlib-neogeo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreemlib-neogeo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260528422,"owners_count":23022939,"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":["assembly","neo-geo","neogeo"],"created_at":"2024-11-09T03:02:00.965Z","updated_at":"2025-06-18T09:36:30.468Z","avatar_url":"https://github.com/freem.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"freemlib for Neo-Geo\n====================\nThe freemlib for Neo-Geo is a set of functions and tools for those who want to\ndevelop for the system in assembly language. Adapting the functions into a library\nfor use with C is planned, but I won't be doing so myself until the codebase is\nbetter developed and battle tested.\n\nStatus\n------\nThe primary goal right now is to get the library coded, as well as provide\nexamples that use the library. Overall, the tasks can be broken down as follows:\n\n(All percentage completions are estimates as of 2023/04/02. No project is ever truly finished. :wink:)\n\n### Library ###\nThese elements form the core of the freemlib for Neo-Geo.\n\n* **Animation** \u0026ndash; Sprite animation. 0%.\n* **Backgrounds** \u0026ndash; Routines for background sprites. 0%.\n* **Collision** \u0026ndash; Most every game needs some sort of collision. 0%.\n* **Fix** \u0026ndash; Fix layer functionality. Still needs work, ~23%?\n* **Memory Card** \u0026ndash; Handle Memory Cards (also Neo-Geo CD Backup Memory). 5%, needs testing.\n* **Palette** \u0026ndash; Palette functionality. ~10%.\n* **Sound** \u0026ndash; Fully-featured (FM, SSG, both ADPCM types, CD/DA) Z80 sound engine. 4%.\n* **Sprites** \u0026ndash; General sprite functionality. ~15%?, with restructuring to come.\n* **System** \u0026ndash; Various system functions. 1%.\n\nAm I missing anything? Please let me know. (Input routines for non-standard controllers\nand for other purposes might be provided later.)\n\n### Tools ###\nVarious tools to help you produce content for the Neo-Geo. Special consideration\nshould be made for Linux (and OS X) compatibility whenever possible.\n\n#### Available and/or Finished ####\n* **NeoFixFormat** \u0026ndash; Fix format tiles plugin for YY-CHR.NET. 100%, unless a bug comes up.\n* **Sailor VROM** \u0026ndash; V ROM/.PCM file builder and manager. 25%, but usable. ([Lua version available](https://github.com/freem/freemlib-neogeo/tree/master/tools/sailorvrom/lua))\n* **4BPP SMS/GG/WSC to Neo-Geo \".c0\" Format tool** \u0026ndash; 100% for the time being. ([project repository](https://github.com/freem/NeoSpriteConv))\n\n#### WIP ###\n* **FM Studio** \u0026ndash; On-console utility for testing and developing FM sounds. 1% (earliest stages of development)\n* and others not listed here...\n * A tool for Fix layer layout, similar to Shiru's NES Screen Tool. 10%\n * A tool for animation data (various tools exist already, I'm aware.) 0%\n * A tool for converting Tiled map data. 0%\n * Various sound tools (ADPCM-A/B conversion; tools exist, but need unification.) ?%\n\n### Documentation ###\nThe black sheep of any programming project, but also necessary because who the hell\nis going to read a bunch of ASM to figure out the library? My main problem is that\nI only really want to write it once.\n\n* **Library Docs (text)** \u0026ndash; The straight dope. See `doc/` folder.\n* **Library Docs (HTML)** \u0026ndash; The pretty version. Still very WIP.\n* **Neo-Geo Programming Guide** \u0026ndash; think of the Nerdy Nights (NES) tutorials,\nbut for Neo-Geo. The examples kind of cover this, but aren't nearly as accessible...\n\nNavigation\n----------\n* `cdfiles/` \u0026ndash; Files required for Neo-Geo CD games (aside from `IPL.TXT`)\n* `doc/` \u0026ndash; Documentation (both general and freemlib related)\n* `examples/` \u0026ndash; freemlib Usage Examples\n* `src_68k/` \u0026ndash; Main freemlib library code.\n* `src_z80/` \u0026ndash; freemlib sound engine code.\n* `tools/` \u0026ndash; Various tools.\n\nYou should read `doc/usage.txt` for how to setup a project with the freemlib.\n\nFiling Bugs/Issues\n------------------\nPlease use the [GitHub bug tracker](https://github.com/freem/freemlib-neogeo/issues)\nto file any errors, issues, and/or feature requests.\n\nLicense\n-------\nThe freemlib for Neo-Geo is licensed under the [ISC License](http://opensource.org/licenses/ISC).\nFull terms may be found in the \"LICENSE\" file.\nTools may be licensed differently from the main library, see each project for licensing details.\n\nContact\n-------\nThe best way to reach me about this project is via IRC:\n* irc.libera.chat \u0026ndash; #neogeodev\n\nbut if IRC isn't your thing, you might want to try one (or more) of these options:\n* [Yaronet forums](https://www.yaronet.com/sections/417-programmation-homebrew-sur-neo-geo)\n* via e-mail: ajk187 at gmail (bad for attachments; contact me first without them\nif you want to send any)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreem%2Ffreemlib-neogeo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreem%2Ffreemlib-neogeo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreem%2Ffreemlib-neogeo/lists"}