Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freem/freemlib-neogeo
library(-ish) and utils for programming the Neo-Geo
https://github.com/freem/freemlib-neogeo
assembly neo-geo neogeo
Last synced: about 2 months ago
JSON representation
library(-ish) and utils for programming the Neo-Geo
- Host: GitHub
- URL: https://github.com/freem/freemlib-neogeo
- Owner: freem
- License: isc
- Created: 2014-06-11T22:55:59.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-22T18:47:48.000Z (almost 2 years ago)
- Last Synced: 2023-03-22T20:36:19.754Z (almost 2 years ago)
- Topics: assembly, neo-geo, neogeo
- Language: Assembly
- Homepage: https://freem.github.io/freemlib-neogeo/
- Size: 836 KB
- Stars: 27
- Watchers: 10
- Forks: 5
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
freemlib for Neo-Geo
====================
The freemlib for Neo-Geo is a set of functions and tools for those who want to
develop for the system in assembly language. Adapting the functions into a library
for use with C is planned, but I won't be doing so myself until the codebase is
better developed and battle tested.Status
------
The primary goal right now is to get the library coded, as well as provide
examples that use the library. Overall, the tasks can be broken down as follows:(All percentage completions are estimates as of 2023/04/02. No project is ever truly finished. :wink:)
### Library ###
These elements form the core of the freemlib for Neo-Geo.* **Animation** – Sprite animation. 0%.
* **Backgrounds** – Routines for background sprites. 0%.
* **Collision** – Most every game needs some sort of collision. 0%.
* **Fix** – Fix layer functionality. Still needs work, ~23%?
* **Memory Card** – Handle Memory Cards (also Neo-Geo CD Backup Memory). 5%, needs testing.
* **Palette** – Palette functionality. ~10%.
* **Sound** – Fully-featured (FM, SSG, both ADPCM types, CD/DA) Z80 sound engine. 4%.
* **Sprites** – General sprite functionality. ~15%?, with restructuring to come.
* **System** – Various system functions. 1%.Am I missing anything? Please let me know. (Input routines for non-standard controllers
and for other purposes might be provided later.)### Tools ###
Various tools to help you produce content for the Neo-Geo. Special consideration
should be made for Linux (and OS X) compatibility whenever possible.#### Available and/or Finished ####
* **NeoFixFormat** – Fix format tiles plugin for YY-CHR.NET. 100%, unless a bug comes up.
* **Sailor VROM** – V ROM/.PCM file builder and manager. 25%, but usable. ([Lua version available](https://github.com/freem/freemlib-neogeo/tree/master/tools/sailorvrom/lua))
* **4BPP SMS/GG/WSC to Neo-Geo ".c0" Format tool** – 100% for the time being. ([project repository](https://github.com/freem/NeoSpriteConv))#### WIP ###
* **FM Studio** – On-console utility for testing and developing FM sounds. 1% (earliest stages of development)
* and others not listed here...
* A tool for Fix layer layout, similar to Shiru's NES Screen Tool. 10%
* A tool for animation data (various tools exist already, I'm aware.) 0%
* A tool for converting Tiled map data. 0%
* Various sound tools (ADPCM-A/B conversion; tools exist, but need unification.) ?%### Documentation ###
The black sheep of any programming project, but also necessary because who the hell
is going to read a bunch of ASM to figure out the library? My main problem is that
I only really want to write it once.* **Library Docs (text)** – The straight dope. See `doc/` folder.
* **Library Docs (HTML)** – The pretty version. Still very WIP.
* **Neo-Geo Programming Guide** – think of the Nerdy Nights (NES) tutorials,
but for Neo-Geo. The examples kind of cover this, but aren't nearly as accessible...Navigation
----------
* `cdfiles/` – Files required for Neo-Geo CD games (aside from `IPL.TXT`)
* `doc/` – Documentation (both general and freemlib related)
* `examples/` – freemlib Usage Examples
* `src_68k/` – Main freemlib library code.
* `src_z80/` – freemlib sound engine code.
* `tools/` – Various tools.You should read `doc/usage.txt` for how to setup a project with the freemlib.
Filing Bugs/Issues
------------------
Please use the [GitHub bug tracker](https://github.com/freem/freemlib-neogeo/issues)
to file any errors, issues, and/or feature requests.License
-------
The freemlib for Neo-Geo is licensed under the [ISC License](http://opensource.org/licenses/ISC).
Full terms may be found in the "LICENSE" file.
Tools may be licensed differently from the main library, see each project for licensing details.Contact
-------
The best way to reach me about this project is via IRC:
* irc.libera.chat – #neogeodevbut if IRC isn't your thing, you might want to try one (or more) of these options:
* [Yaronet forums](https://www.yaronet.com/sections/417-programmation-homebrew-sur-neo-geo)
* via e-mail: ajk187 at gmail (bad for attachments; contact me first without them
if you want to send any)