Release PA2lib (a nintendo ds programming library made to be similar to PAlib)

aerglass

Well-Known Member
OP
Newcomer
Joined
Apr 10, 2022
Messages
51
Trophies
0
Age
42
Location
earth
XP
112
Country
United States
Introducing a modern library for a decade (maybe more) old console that nobody asked for. :D

Here is a small demo of the PA2lib work-in-progress backwards compatibility with PAlib proyects. It is public btw (https://github.com/AerGlass/PA2lib/tree/palib-backwards-compatibility)

Very Sad Update: Due to depretion (school, etc) PA2lib releases will become less frequent (maybe in the future that will change) but on my free time i will try to get PAGfx working in libnds (because nflib does not support graphics stored on RAM, afaik) as working on free software always make feel me better :)


a nintendo ds library designed to be easy to use.
the library is based arround nightfox's lib, adapted to be similar to PAlib

PAlib was a library, designed for easy of use (published as a Player Advanced proyect) It was really REALLY easy to use. Unfortunately, PAlib was badly designed, it breaks compatibility with other libraries (even libnds lol). The devs say that the lib shouldn't exist lol. Even though the devs said that PAlib was useless trash, Tons of great homebrew were created using this lib, Unfortunately PAlib not longer works on the latest devkitARM/libnds. If you ask to the devkitPro devs then they will answer with: "I don't care, learn libnds and adapt your code", if only it was that simple, That is why i created PA2lib and the PA compatibility layer. You can call me the new PAlib maintainer lol.

While PA2lib is work in progress, this library has some feel of PAlib, with the PA compatitibility layer you can even compile extremelly simple PAlib proyects (I am trying to get PAGfx working, and graphics in general working, problably will rewrite the entire lib because everything is a mess lol :D)

Here is the github if you are interested. https://github.com/AerGlass/PA2lib

Enjoy making your games, I will make several stuff in the future (mainly trash because this is the only serious proyect i have ever made lol) cya.
 
Last edited by aerglass,

lifehackerhansol

i write working(?) code
Member
Joined
Oct 2, 2021
Messages
353
Trophies
0
XP
723
Country
Canada
This is an interesting development. I haven't really messed with it yet, but maybe.

Has anyone tried to compile whatever older homebrew that used PAlib against this?
 

aerglass

Well-Known Member
OP
Newcomer
Joined
Apr 10, 2022
Messages
51
Trophies
0
Age
42
Location
earth
XP
112
Country
United States
This is an interesting development. I haven't really messed with it yet, but maybe.

Has anyone tried to compile whatever older homebrew that used PAlib against this?
i tried and it on a prerelease version didn't work, But after some image convertion and small changes to the source code it worked. (The game was simple.) Next version will be more backwards compatible with PAlib proyects. I do still think there is some improvements to some stuff (PA_CreateSprite or PA_LoadSpritePal do not longer need (void*) and generally more easy to use, at least in my opinion)
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,112
Trophies
2
Website
trastindustries.com
XP
24,642
Country
United Kingdom
You might want to lay some background out for this one -- we are getting a few people start on DS homebrew as some kind of retro kick (wow I am old).

PAlib started off as a project on player-advance (a then very popular French language emulation/flash cart/homebrew forum. http://www.playeradvance.org/forum/pap.php appears to still be up/once more be up, http://www.palib.info/forum/ for those wanting something to try on archive sites) to have an easier to use library for common tasks in DS homebrew, one easier to use than devkitpro's libnds. They largely could be said to have succeeded, though like most simplifications it could limit you in some scenarios and was another library to pare back or suffer speed and memory penalties for so its use was somewhat limited.

I don't know what happened to player-advance as it and most other French flash cart/emulation/homebrew sites seem to have vanished (are any other that logic sunrise and gueux-forum still around? dev-fr and nintendomax seem long gone) or died off despite weathering the storm for a long time.
 

aerglass

Well-Known Member
OP
Newcomer
Joined
Apr 10, 2022
Messages
51
Trophies
0
Age
42
Location
earth
XP
112
Country
United States
You might want to lay some background out for this one -- we are getting a few people start on DS homebrew as some kind of retro kick (wow I am old).

PAlib started off as a project on player-advance (a then very popular French language emulation/flash cart/homebrew forum. http://www.playeradvance.org/forum/pap.php appears to still be up/once more be up, http://www.palib.info/forum/ for those wanting something to try on archive sites) to have an easier to use library for common tasks in DS homebrew, one easier to use than devkitpro's libnds. They largely could be said to have succeeded, though like most simplifications it could limit you in some scenarios and was another library to pare back or suffer speed and memory penalties for so its use was somewhat limited.

I don't know what happened to player-advance as it and most other French flash cart/emulation/homebrew sites seem to have vanished (are any other that logic sunrise and gueux-forum still around? dev-fr and nintendomax seem long gone) or died off despite weathering the storm for a long time.
great idea but i don't want to fill my post with unnecessary info lol
 

aerglass

Well-Known Member
OP
Newcomer
Joined
Apr 10, 2022
Messages
51
Trophies
0
Age
42
Location
earth
XP
112
Country
United States
i tried and it on a prerelease version didn't work, But after some image convertion and small changes to the source code it worked. (The game was simple.) Next version will be more backwards compatible with PAlib proyects. I do still think there is some improvements to some stuff (PA_CreateSprite or PA_LoadSpritePal do not longer need (void*) and generally more easy to use, at least in my opinion)
after updating the library quite a lot, I got some fancy results of simple PAlib text homebrew, Surely graphics and other stuff will work in the future! although i have absolutely no idea on how to display PAGfx stuff lol.

Still I have absolutely no idea how to integrate a default font so i just modified the lib to load one
 

aerglass

Well-Known Member
OP
Newcomer
Joined
Apr 10, 2022
Messages
51
Trophies
0
Age
42
Location
earth
XP
112
Country
United States

aerglass

Well-Known Member
OP
Newcomer
Joined
Apr 10, 2022
Messages
51
Trophies
0
Age
42
Location
earth
XP
112
Country
United States
just passing by to say, if devkitPro devs ever rant about supporting PALib, and discouraging its use, you can move your NDS/TWL homebrew stuff to ToolchainGenericDS and have proper GPLv2/GPLv2+ license
thanks i guess. I do not think the devkitPro devs will rant about me "supporting" a obsolete library from 2007 (well, i am, but i am not saying that you should use it). Getting older PAlib proyects to work is already difficult but that is just making it worse.

Current PAlib backwards compatibility is very early and experimental (it does not work under a TON of stuff)

I could make my library into GPL (i would like to) but since it is extremely based arround nightfox's lib i need to put it under a creative commons license or else i will get sued. That is why i was working on a rewrite, which i gave up because it isn't worth it.
 

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,916
Trophies
1
XP
2,258
Country
Chile
I could make my library into GPL (i would like to) but since it is extremely based arround nightfox's lib i need to put it under a creative commons license or else i will get sued. That is why i was working on a rewrite, which i gave up because it isn't worth it.
You could relicense your work to be GPLv2 and keep a copy of the nightfox stuff around that other license. Also TGDS guarantees your work (source, payloads) will be protected through a proper license. (a.k.a no one else will claim you've broken whatever license you've based your work on)

so yeah,
 

aerglass

Well-Known Member
OP
Newcomer
Joined
Apr 10, 2022
Messages
51
Trophies
0
Age
42
Location
earth
XP
112
Country
United States
You could relicense your work to be GPLv2 and keep a copy of the nightfox stuff around that other license. Also TGDS guarantees your work (source, payloads) will be protected through a proper license. (a.k.a no one else will claim you've broken whatever license you've based your work on)

so yeah,
thanks i guess. If the devkitpro devs rant about this then i will move my proyect to toolchaingenericds :) i still am not too sure if it will mess things up with knightfox but yeah, thanks
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: @Psionic Roshambo I found your favorite book https://youtube.com/shorts/MJyLHzISn9E?feature=share