Toggle 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
(Created page with "{{Infobox homebrew | title = PAlib | image = 300px | type = PC Utilities | version = 100707 | licence = Mixed | author = Moll...")
 
No edit summary
 
(31 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 Utilities
|description=A Nintendo DS library used to create homebrew games/apps.
| version     = 100707
|author=Mollusk
| licence    = Mixed
|lastupdated=2025/01/14
| author      = Mollusk
|contributor=AntonioND
| website    = http://devkitpro.org/wiki/PAlib
|type=Development
| download    = Media:Palib100707ds.rar
|version=250114
| source     =  
|license=Mixed
|download=https://github.com/AntonioND/palib
|downloadraw=https://dlhb.gamebrew.org/dshomebrew2/pallib_100707.rar
|website=https://github.com/AntonioND/palib
|source=https://github.com/AntonioND/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 NEO Flash Coding Competition 2005 and in the 1st position.


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


==Installation==
==Installation==
To install PAlib unpack this archive to devkitPro/PAlib, no extra environment variables needed.
To install PAlib follow the instructions [https://github.com/AntonioND/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 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.
*[3DSprites] PA_3DCreateSprite now returns the GFX number.
* [3DSprites] PA_3DCreateSprite now returns the GFX number.
*[Linux] Fixed a backslash (\) path to use forward slash (/).
* [Linux] Fixed a backslash (\) path to use forward slash (/).
*[Examples] The updating script screwed up some sound examples, it's now fixed.
* [Examples] The updating script screwed up some sound examples, it's now fixed.
*[EFS] EFS support was dropped in favor of libfilesystem.
* [EFS] EFS support was dropped in favor of libfilesystem.
*[Editors] PN support is now dropped.
* [Editors] PN support is now dropped.
*[Fix] PAlib now works with devkitARM r31.
* [Fix] PAlib now works with devkitARM r31.
*[Sprite] Fixed PA_DeleteSprite bug (thanks BassAceGold).
* [Sprite] Fixed PA_DeleteSprite bug (thanks BassAceGold).
 
==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


Please check Readme for more History.


[[Category:Homebrew applications]]
[[Category:PC utilities for DS]]
[[Category:NEO Coding Compo 2005]]

Latest revision as of 14:26, 14 January 2025

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: