The freemco NES Corelib, a set of functions for NES/Famicom assembly programming
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

freemco NES Corelib

The freemco NES Corelib is a collection of routines and other related files for coding stuff on the NES using assembly language. As far as I know, there's no real "library" for coding NES games in ASM; Every project has their own version of the same code (and rightfully so, as some games need different routines than others).

However, this hasn't been tested on real hardware, as I've got no way to run the code on the console at the moment. Furthermore, this library is nowhere near complete.

If you're not me, good luck using it.



The freemco NES Corelib was originally developed alongside the MMC1 version of Family Picross, as well as (the unfinished) Bumpin' Cars. Further development tends to happen in parallel with other NES games/tools I come up with.


  • Coded by a complete 6502 asm noob!
  • Routines I actually wrote!
  • Routines borrowed from the internet!

To Do

There's a lot of things to do, but here are some main ones:

  • Private version is further along but needs to be cleaned up, updated, and finished before release.
  • No APU/Sound support yet.
  • "VRAM Buffer" routines not yet complete.
  • Missing a lot of functionality.


This code is licensed under the ISC license, like the freemlib for Neo-Geo.


I am open to allowing external contributions, especially if you fix something that wasn't working on real hardware. See for more information.