SkillAgentSearch skills...

Natu

Toolkit for writing Game Boy Advance games in Nim

Install / Use

/learn @exelotl/Natu
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"><img width="200" src="https://user-images.githubusercontent.com/569607/85204175-8293f180-b30a-11ea-9fb0-66a502f740ba.png" alt="Natu GBA Logo"></p>

Natu is a package for making Game Boy Advance games in Nim.

Originally a wrapper for libtonc, we are now growing in our own direction: ditching some old conventions to be more Nim-friendly, and adding more libraries.

Features

  • Full GBA memory map + flag definitions
  • BIOS routines
  • Interrupt manager
  • A powerful text system (TTE)
  • Surfaces (draw to tiles like a canvas)
  • Efficient copy routines
  • Sin/Cos/Div LUTs + other math functions
  • Fixed-point numbers, 2D vector types
  • Random number generator
  • Hardware sprites, affine matrix helpers
  • Color/palette utilities
  • Button states (hit, down, released)
  • mGBA logging functions
  • Maxmod bindings for music/sfx
  • Posprintf wrapper for string formatting

Usage

For docs and setup instructions go to natu.exelo.tl

The examples can be found at git.sr.ht/~exelotl/natu-examples

Happy coding! And if you need any help you can reach me (exelotl) on the gbadev discord, #natu irc channel on EFnet, or ask a question on the natu mailing list.

Thanks

tonc + libtonc by cearn
maxmod sound system by mukunda johnson
libugba's interrupt handler by AntonioND ACSL's malloc/free by pgimeno mGBA by endrift
posprintf by dan posluns
natu logo by hot_pengu, based on pixel art by iamrifki

<br> <p align="right"><img width="40" src="https://user-images.githubusercontent.com/569607/85335282-a440d480-b4d4-11ea-9f7f-a48ae4726525.png" alt="Natu" title="noot noot!">&nbsp;</p>

Related Skills

View on GitHub
GitHub Stars240
CategoryContent
Updated16d ago
Forks6

Languages

Nim

Security Score

85/100

Audited on Mar 23, 2026

No findings