Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PA lib

From GameBrew
PAlib
Palib4.png
General
AuthorMollusk
ContributorAntonioND
TypeDevelopment
Version250114
LicenseMixed
Last Updated2025/01/14
Links
Download
Website
Source

PAlib is a DS library that works on top of libnds. It is aimed towards simple DS development to make DS games and programs in c and C++. It used to work with devkitARM, but now it is only compatible with BlocksDS.

It was presented in the NEO Coding Compo 2005 (App, 1st place).

While this library isn't recommended for new projects due to its design flaws, it is still useful to build old projects that were built using it.

Features

  • Sprites functions.
  • Background function.
  • Text functions.
  • An API for buttons.
  • Sliders.
  • Checks.
  • Sound effects support.
  • MOD/XM/S3M/IT support thanks to Maxmod.
  • MP3 support thanks to ASlib
  • Stylus and Pad.
  • Draw function.
  • Variable case text.
  • Retrieve info on DS (user name, birthday, language, time/date, etc).

Installation

To install PAlib follow the instructions here.

User guide

Tutorials can be found here.

Screenshots

palib2.png

Media

C/PALib Simple Nintendo DS Platformer (bl0ckeduser)

Changelog

PAlib 250114 beta | AntonioND

  • [Fix] Flush cache whenever a DMA copy is made so that users of PAlib don't need to worry about it.
  • [ASlib] Flush data cache when a MP3 file is played from RAM so that the developer doesn't need to do it.
  • [DMA_Copy] Use safe BlocksDS libnds DMA functions instead of the old PAlib macros.
  • [Fix] Actually send temperature and battery level to the ARM9 from the ARM7.

PAlib 250107 beta: PAlib lives on | AntonioND

  • [General] PAlib builds and works again, even on DSi consoles.
  • [General] devkitARM build system has been removed in favour of BlocksDS.
  • [General] Repository structure has been refactored so that it's clearer.
  • [ARM7] The ARM7 cores have been slightly refactored for modern libnds and to support DSi. Also, the libnds exception handler for the ARM7 is now enabled by default.
  • [ASlib] Interrupts are now enabled in the VBL handler of ASlib so that it doesn't block multithreading.
  • [Fix] The IPC structure is now allocated at runtime instead of using a hardcoded address, which doesn't work on DSi.
  • [Fix] Several bugs in ASlib have been fixed.

PAlib 100707 QuickFix: The last PAlib release | fincs

  • [General] Removed the ASlib IPC clear code, it was doing more harm than good.
  • [3DSprites] PA_3DCreateSprite now returns the GFX number.
  • [Linux] Fixed a backslash (\) path to use forward slash (/).
  • [Examples] The updating script screwed up some sound examples, it's now fixed.
  • [EFS] EFS support was dropped in favor of libfilesystem.
  • [Editors] PN support is now dropped.
  • [Fix] PAlib now works with devkitARM r31.
  • [Sprite] Fixed PA_DeleteSprite bug (thanks BassAceGold).

External links

Advertising: