All Projects → freem → freemlib-neogeo

freem / freemlib-neogeo

Licence: ISC License
library(-ish) and utils for programming the Neo-Geo

Programming Languages

assembly
5116 projects
C++
36643 projects - #6 most used programming language

Labels

Projects that are alternatives of or similar to freemlib-neogeo

NGDK
SDK for Neo Geo
Stars: ✭ 48 (+84.62%)
Mutual labels:  neogeo
neospriteviewer
A Neo Geo Sprite Tile Viewer
Stars: ✭ 18 (-30.77%)
Mutual labels:  neogeo
neosdconv
A command line tool to convert Neo Geo roms into the format needed for NeoSD
Stars: ✭ 17 (-34.62%)
Mutual labels:  neogeo

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 2015/11/13. No project is ever truly finished. 😉)

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)
  • 4BPP SMS/GG/WSC to Neo-Geo ".c0" Format tool – 100% for the time being. (project repository)

WIP

  • FM Studio – On-console utility for testing and developing FM sounds. 1% (earliest stages of development)
  • NeoGeoTracker – On-console tracker and sound driver testbench. 0% (mockups and planning stage, might take a while)
  • and others not listed here...
  • A tool for Fix layer layout, similar to Shiru's NES Screen Tool. 0%
  • A tool for animation data (various tools exist already, I'm aware.) 0%
  • A tool for converting Tiled map data. 0%
  • PC version of NeoGeoTracker. 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 to file any errors, issues, and/or feature requests.

License

The freemlib for Neo-Geo is licensed under the ISC License. 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:

  • chat.freenode.org – #neogeodev
  • irc.clearimagery.net – #ssc

but if IRC isn't your thing, you might want to try one (or more) of these options:

  • Yaronet forums
  • via e-mail: ajk187 at gmail (bad for attachments; contact me first without them if you want to send any)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].