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

PA lib: Difference between revisions

From GameBrew
No edit summary
Update URL of git repository.
 
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = PAlib
|title=PAlib
| image       = [[File:Palibds.png|300px]]
|image=palib4.png
| type       = PC Utility
|description=A Nintendo DS library used to create homebrew games/apps.
| version     = 100707
|author=Mollusk
| licence    = Mixed
|lastupdated=2025/02/28
| author      = Mollusk
|contributor=AntonioND
| website    = http://devkitpro.org/wiki/PAlib
|type=Development
| download    = Media:Palib100707ds.rar
|version=250228
| source     =  
|license=Mixed
|download=https://codeberg.org/SkyLyrac/palib
|downloadraw=https://dlhb.gamebrew.org/dshomebrew2/pallib_100707.rar
|website=https://codeberg.org/SkyLyrac/palib
|source=https://codeberg.org/SkyLyrac/palib
}}
}}
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.


PA_lib is a DS library which based on ndslib. It is aimed towards simple DS development to make DS games and programs in c and C++. It works on Devkitpro, which is a set of toolchains for Gamecube, PSP, DS, GBA etc.  
It was presented in the NEO Coding Compo 2005 (App, 1st place).


The development of PAlib has been suspended and does not work with the latest Devkitarm/Libnds anymore.
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.
 
It was presented in the [https://www.neoflash.com/forum/index.php?topic=563.0 NEO Coding Competition 2005] and in the 1st position.


==Features==
==Features==
Line 24: Line 27:
* Sliders.
* Sliders.
* Checks.
* Checks.
* Sound and mod support.
* Sound effects support.
* MOD/XM/S3M/IT support thanks to Maxmod.
* MP3 support thanks to ASlib
* Stylus and Pad.
* Stylus and Pad.
* Draw function.
* Draw function.
Line 31: Line 36:


==Installation==
==Installation==
To install PAlib unpack this archive to devkitPro/PAlib, no extra environment variables needed.
To install PAlib follow the instructions [https://codeberg.org/SkyLyrac/palib here].


==User guide==
==User guide==
Tutorials can be found [http://code.google.com/p/palib-tutorial-pdf/ here].
Tutorials can be found [http://code.google.com/p/palib-tutorial-pdf here].


[[File:Palibds2.png]]
==Screenshots==
https://dlhb.gamebrew.org/dshomebrew/palib2.png


==Media==
==Media==
'''C/PALib Simple Nintendo DS Platformer''' ([https://www.youtube.com/watch?v=HzqdLHI0SG8 bl0ckeduser]) <br>
<youtube>HzqdLHI0SG8</youtube>
<youtube>HzqdLHI0SG8</youtube>


==Changelog==
==Changelog==
'''PAlib 250228 beta | AntonioND'''
* [Fix] Fix code that sets the LED blink speed.
'''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'''
'''PAlib 100707 QuickFix: The last PAlib release | fincs'''
* [General] Removed the ASlib IPC clear code, it was doing more harm than good.
* [General] Removed the ASlib IPC clear code, it was doing more harm than good.
Line 52: Line 78:
* [Sprite] Fixed PA_DeleteSprite bug (thanks BassAceGold).
* [Sprite] Fixed PA_DeleteSprite bug (thanks BassAceGold).


Please check Readme for more History.
==External links==
* devkitPro wiki - http://devkitpro.org/wiki/PAlib
* Google Code - http://code.google.com/p/palib-tutorial-pdf
* NeoFlash - https://www.neoflash.com/forum/index.php?topic=563.0
 


<br>
[[Category:DS homebrew applications]]
[[Category:PC utilities for DS]]
[[Category:PC utilities for DS]]
[[Category:NEO Coding Compo 2005]]

Latest revision as of 00:14, 9 January 2026

PAlib
General
AuthorMollusk
ContributorAntonioND
TypeDevelopment
Version250228
LicenseMixed
Last Updated2025/02/28
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 250228 beta | AntonioND

  • [Fix] Fix code that sets the LED blink speed.

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: