Results 1 to 5 of 5



  1. #1
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    26,849

    NoRSX - PS3 2D Graphic Library for PSL1ght Homebrew SDK


    Today PlayStation 3 developer http://devram0.blogspot.com/2012/03/norsx.html has made available NoRSX for developers - a PS3 2D graphic library for the PSL1ght homebrew SDK.

    Download: NoRSX - PS3 2D Graphic Library for PSL1ght Homebrew SDK / NoRSX - PS3 2D Graphic Library for PSL1ght (Full Res) / NoRSX - PS3 2D Graphic Library for PSL1ght (Full Res - GeoHot CFW) / https://github.com/wargio/NoRSX

    To quote: This lib is still under development, but it can give you ~60 fps.. for now it allows you to build Homebrews without configuring tons of things.

    Right now it allows you to use JPG/PNG files, select a defined background, generate rectangles where you want. It works perfectly with images, but text functions are not ready to be released.

    This lib is perfect to build really simple HBs, also if you are not a great dev. my lib can be download the src from my git: https://github.com/wargio/NoRSX

    Here is a simple Wiki where you can find a simple tutorial: https://github.com/wargio/NoRSX/wiki/How-To-Start

    This lib works only with PSL1GHT V2.

    UPDATE 1: I've updated the lib with some cool functions.

    UPDATE 2: I've updated again the lib with a sperimental text! if you want to a text on the screen, you MUST write in UPPERCASE.
    I added also a simple message dialog function.. this is an example:

    NoRSX - PS3 2D Graphic Library for PSL1ght Homebrew SDK

    NoRSX - PS3 2D Graphic Library for PSL1ght Homebrew SDK

    NoRSX - PS3 2D Graphic Library for PSL1ght Homebrew SDK

    More PlayStation 3 News...

  2. #2
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    26,849

    NoRSX PS3 2D Graphic PSL1ght SDK Library Updated, TTF Support


    It's been a few months since his initial release, and today PlayStation 3 developer deroad has updated the NoRSX PS3 2D Graphic Library for the PSL1ght homebrew SDK to include TTF support.

    Download: NoRSX PS3 2D Graphic PSL1ght SDK Library with TTF Support / https://github.com/wargio/NoRSX/zipball/master (Mirror) / https://github.com/wargio/NoRSX

    To quote from his blog: My lib has been updated to allow people to use *.ttf files instead of my old experimental font. You can use any ttf loaded from memory or from hdd and print any kind of text as you want.

    An example

    This is the function that needs to be called to load a font from memory:
    Code:
    Font(u32 Color, u32 Size, const void *MemFont, u32 MemFont_size, Minimum *min);
    so for example if my font is Andale.ttf, and i want to load it from memory, i would call:
    Code:
        #include "Andale_ttf.h" //This file will be created from the Makefile.
                                //just put your Andale.ttf inside the "data" folder
        int main(){
                  NoRSX gfx();
                  Font A(COLOR_WHITE, 40, Andale_ttf, Andale_ttf_size, &gfx);
                     //this will allow you to print on the screen a White
                     //text with the Andale ttf and with a size of 40 pixel.
                     //to print any kind of text i've added a printf function:
                  A.Printf(100,300,"This is an example %i", 10);
                     //This will print on the screen a text at the position (100,300)
                     //on the screen, with written "This is an example 10".
        }
    you can also load ttf loaded from hdd (as I said before). just change the function
    Code:
    Font A(COLOR_WHITE, 40, Andale_ttf, Andale_ttf_size, &gfx);
    with this one:
    Code:
    Font A(COLOR_WHITE, 40, "/dev_hdd0/game/NORSX0000/Andale.ttf", &gfx);
    This will load the font from the hdd. (you can use also the ps3 fonts already included with your ps3 ).

    Now the only thing that i need to implement is make it faster (it needs a spu implementation). once done, the lib will be finally done and I will be able to add more objects and other stupid stuff that now isn't necessary.

    Update: Deroad has released NoRSX v0.1.1, as well as announced NoRSX Emulator for the PC. The new update has lots of performance patches (thanks also to KDSBest) and allows more things. It can directly use the original PS3 fonts if you want by telling the lib to use them. You now are able also to predefine the resolution of you homebrew.

    Added Screen Size Support. now you can choose the resolution of your homebrew (RESOLUTION_1920x1080, RESOLUTION_1280x720, RESOLUTION_720x576, RESOLUTION_720x480), added Performance Patch by KDSBest and Deroad, added PS3 Font Support (LATIN2, JPN, KOR, CGB, KANA) and fixed fonts chroma key.

    The next month will be released a NoRSX PC Emulator, to help people to develop apps with NoRSX also without PS3. Below are some preview pictures of the NoRSX PC Emulator.

    NoRSX Changelog:

    v0.1.1:
    • Added Change Screen Size.
    • Screen Size Supported:
    • RESOLUTION_1920x1080
    • RESOLUTION_1280x720
    • RESOLUTION_720x576
    • RESOLUTION_720x480

    They needs to be initialized as this Example: NoRSX GFX(RESOLUTION_1280x720);

    v0.1.1b:
    • Fixed Screen Size bugs.

    v0.1.1c:
    • Performance Patch by KDSBest (Just for Images).
    • Added DrawIMGtoBitmap function for JPG (I forgot this one!)

    v0.1.1d:
    • Added PS3 Font PATHS

    v0.1.1e:
    • Font Size..

    v0.1.2:
    • Fixed Font ChromaKey. now fonts are better displayed

    Hi everyone! deroad is here (again) to release a good tool to allow people to work with my NoRSX Library on pc. i have ported and coded the ps3 version to PC. What it does? well it has the same functions of the ps3 version.

    NoRSX PC Emulator FAQ:

    Is it a PS3 Emulator? NO IT ISN'T. It's a port.

    Who coded it? Me, Deroad.

    What it does? The same things as the PS3 version.

    Will it updated when NoRSX (PS3 Version) will have an update? Yes, it will be updated with the same updates as the PS3 one.

    What Libs it requires? you need SDL, SDL_image and freetype2.

    What i can do with it? i already have the PS3 version! Well i wrote it, since some time i don't have the PS3 and i need something to allow me to continue to work on this lib. this is why i created it; but for you can be a useful tool to test the graphics of your homebrew if you used NoRSX as the default lib; it will save you lot of time.

    Authors: Deroad, KDSBest (for his performance patches).

    Review by PsDev: I got the honors of testing Deroads (wargio, NoRSX emulator. although at first I had trouble with compiling, that was my own fault as my Linux was outdated and I didn't have the required SDL and freetype2 library. after getting that done I started it and it looked nice, Had a middle png image and fps (frames per second) rate shown and a nice little exit message.

    Once you download you will notice the main.cpp this is what you're gonna use to write your NoRSX programs and that's what the NoRSX Emulator going to run. The way he has coded it is great, it's simple to make your own homebrew, from changing image, font, or rearranging the bitmap to your liking. One bit of code that I enjoyed was this snippet below
    Code:
    NoRSX *GFX = new NoRSX(RESOLUTION_1280x720);
    that line of code basically allows you to set the screen resolution from 720x480, 720x576 and 1280x720. This is great cause you can choose the size of the screen! another simple piece of code is
    Code:
    Font F2("data/Sans.ttf" ,GFX);
            IMG.LoadPNG("data/PsDev.png", &png);
            u32 imgX =(GFX->width/2)-(png.width/2), imgY = (GFX->height/2)-(png.height/2);
    These snippets are the font and image changer. These are located in the Data folder and allow easy change for the middle image(or in your own code to be where ever you choose on bitmap)or the font type, so this emulator is giving good flexibility and have it your way.

    Anyway, in conclusion, I hope you enjoy this emulator as much as I do and make sure to thank deroad (KDS for improvement patches) for his hardwork, because it's really paying off! thanks bye -PsDev

    Download: NoRSX PC Emulator / https://github.com/wargio/NoRSX__PCEMU

    NoRSX PS3 2D Graphic PSL1ght SDK Library Updated, TTF Support

    NoRSX PS3 2D Graphic PSL1ght SDK Library Updated, TTF Support

    NoRSX PS3 2D Graphic PSL1ght SDK Library Updated, TTF Support

    More PlayStation 3 News...
    Attached Images<br><br> Attached Images


  3. #3
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    26,849

    NoRSX for PS3 Updated to v0.1.5, Now a Real PSL1GHT Library

    Following up on his previous revisions, today PlayStation 3 homebrew developer deroad has updated NoRSX to version 0.1.5 which he states is now a real PSL1GHT library.

    Download: https://github.com/wargio/NoRSX/zipball/master / https://github.com/wargio/NoRSX/tarball/master (Mirror) / https://github.com/wargio/NoRSX/downloads

    To quote from his blog: Finally I setup my lib to be built as a real lib. In fact it will build now a libNoRSX.a

    This lib will be installed inside the PORTLIBS directory. It uses also a new header #include <NoRSX.h> (it will include always all the functions)

    I noticed also that all the homebrews built with this lib will be also less heavier then the old one! To install it, just run make. It will build also the example. This has been tested with the latest PSL1GHT version.

    To include this lib, just add into the Makefile the -lNoRSX flag (if you have problems, give a look into the NoRSX Example folder).

    THIS LIB IS JUST FOR PSL1GHT V2

    This doesn't work on v1. but it can be ported easily.

    NoRSX for PS3 Updated to v0.1.5, Now a Real PSL1GHT Library

    More PlayStation 3 News...

  4. #4
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    26,849

    NoRSX PS3 Graphic PSL1ght SDK Library & NoRSX Emulator Updated

    Following up on his last revision, this weekend PlayStation 3 homebrew developer deroad has updated the NoRSX PS3 graphic PSL1ght SDK library to v0.1.8 followed by v0.1.9, v0.2.0 and v0.2.2, v0.2.9 and NoRSX PC emulator to v0.0.4 followed by v0.0.5 with details from the changelog outlined below.

    Download: https://github.com/wargio/NoRSX/zipball/master / https://github.com/wargio/NoRSX/tarball/master (Mirror) / https://github.com/wargio/NoRSX/zipball/master / https://github.com/wargio/NoRSX/tarball/master (Mirror) / https://github.com/wargio/NoRSX/zipball/master / https://github.com/wargio/NoRSX/tarball/master (Mirror) / https://github.com/wargio/NoRSX/archive/master.zip / https://github.com/wargio/NoRSX__PCEMU/zipball/master / https://github.com/wargio/NoRSX__PCEMU/tarball/master (Mirror) / https://github.com/wargio/NoRSX / https://github.com/wargio/NoRSX__PCEMU

    NoRSX Changelog (via pastie.org/private/hpawzlhfvgjovn77wxf36w):

    PC Emulator:

    1) Added PS3 Controller emulator (quite simple. it only has the main buttons but not analogic & axis sensors)
    2) Fixed PNG loading.
    3) Added Animation.cpp and Animation.h to allow any kind of animations
    4) New Bitmap Functions
    5) Fixed some stuff for MSG_dialog

    PS3 Library Changelog:

    1) Added Animation.cpp and Animation.h to allow any kind of animations
    2) New Bitmap Functions

    To be added soon for PS3:

    1) Hardware Surface Transformation. this will allow to write an HD app that works on SD TVs. an example: 720p to 576p. you will work on 720p surface, but you will blit a 576p surface.
    2) fix XMB in-game problems. I know this problem. I need to understand how to use gcmSetSecondVHandler() if anybody knows how it works, I will appreciate.

    NoRSX Changelog:
    Code:
    - 0.0.1 -
        PNG/JPG support
    - 0.0.2 -
        Now it loads everything correctly.
    - 0.0.3 -
        Background support.
        Can generate an object like rectangles
    - 0.0.4 -
        Added Msg dialog.
        Added Sperimental Text (NO FONTS for now).
        Added Partial Image function.
    - 0.0.5 -
        Added Printf to the Sperimental Text function.
        Added Pixel.
    - 0.0.5b -
        Added Circle.
        Added Pixel4.
    - 0.0.5c -
        Added AlphaBlending (15 fps).
    - 0.0.6 -
        Added line.
    - 0.0.7 -
        Added AlphaBlending (30 fps).
    - 0.0.8 -
        Added TTF support (be careful when using it! it's still sperimental).
    - 0.0.9 -
        Now TTF support is perfect!
        Removed old font support.
    - 0.0.9b -
        Added a few options!.
    - 0.1.0 -
        Added Bitmap!.
    - 0.1.0b -
        Fixed Bitmap when exit.
    - 0.1.0c -
        Performance Patch by KDSBest (thanks for them. most of the stuffs that go to 24 FPS, now go to 30 FPS).
    - 0.1.0d -
        Performance Patch by Deroad/Wargio ~40 FPS.
    - 0.1.1 -
        Added Change Screen Size.
        Screen Size Supported:
            RESOLUTION_1920x1080
            RESOLUTION_1280x720
            RESOLUTION_720x576
            RESOLUTION_720x480
            They needs to be initialized as this Example: NoRSX GFX(RESOLUTION_1280x720);
    - 0.1.1b -
        Fixed Screen Size bugs.
    - 0.1.1c -
        Performance Patch by KDSBest (Just for Images).
        Added DrawIMGtoBitmap function for JPG (I forgot this one!)
    - 0.1.1d -
        Added PS3 Font PATHS
    - 0.1.1e -
        Font Size..
    - 0.1.2 -
        Fixed Font ChromaKey. now fonts are better displayed 
    - 0.1.5 -
        Now it's a real lib. to use it you will need to add in the Makefile the -lNoRSX flag
        New Header. now to include NoRSX inside your code, you will need to add the new header <NoRSX.h>
        Added EventHandler. it is included with <NoRSX.h> you don't need to use it. it's already configured by the lib.
    - 0.1.6 -
        Added gradient for background color.
    - 0.1.8 -
        Added Animation.cpp and Animation.h to create animations
        New Bitmap Functions
    - 0.1.9 -
        Added Spu.cpp to use spu stuff
        Added NoRSX error list (incomplete)
    - 0.2.0 -
        Text rendering improved with performance test
        Fixed XMB Flip. Now is much more better.
        Added Printf functions.
    
            just initialize it: init_print(path_to_directory);
            write something to file: print("Hello World!\n");
            close the file: end_print();
    
        Added XMB Status
        Performance Patches for Font functions
    NoRSX Emulator Changelog:
    Code:
    - 0.0.4 -
        Added -I flag to the Makefile
        Fixed PNG loading
        Added Animation.cpp and Animation.h to allow animations
        New Bitmap Functions
    - 0.0.3 - 
        Fixed MsgDialog
        Added PS3 Controller Emulation
            *DELETE     ->BUTTON_START
            *BACKSPACE  ->BUTTON_SELECT
            *UP     ->BUTTON_UP
            *DOWN       ->BUTTON_DOWN
            *LEFT       ->BUTTON_LEFT
            *RIGHT      ->BUTTON_BTN_RIGHT
            *Left ALT   ->BUTTON_SQUARE
            *RSHIFT     ->BUTTON_TRIANGLE
            *ESCAPE     ->BUTTON_CIRCLE
            *RETURN     ->BUTTON_CROSS
            *1      ->BUTTON_R1
            *2      ->BUTTON_R2
            *3      ->BUTTON_R3
            *4      ->BUTTON_L1
            *5      ->BUTTON_L2
            *6      ->BUTTON_L3
    - 0.0.2 -
        Added MSG Dialog
    - 0.0.1 -
        Initial version, based on NoRSX for PS3 version 0.1.1e
    NoRSX v0.2.2 & NoRSX PC Emulator v0.0.5 Changes:

    I have just updated both NoRSX versions (PS3 and PC) have fun!

    PS3 changelog 0.2.2:
    • Added Image Resize Algorithm
    • Fixed various problems

    PC changelog 0.0.5:
    • Rewritten Makefile
    • Added Image Resize
    • Added NoRSX PS3 Version Performance Patches

    How to use Example:
    Code:
    pngData *mypng = new pngData; //define a pngData pointer
    NoRSX *GFX = new NoRSX(); //initialize NoRSX
    Image IMG(GFX); //initialize NoRSX Image Lib
    
    IMG.LoadPNG("path_to_your.png", mypng);
    
    png = IMG.ResizeImage(mypng, 500, 300); //Resize the image to this dimension: width = 500 and height = 300 and take the image from mypng, then return the new pointer to mypng.
    
    IMG.DrawIMG(10,50,png); //draw the png on the screen at x = 10 and y = 50
    JPG support will be added later.

    Update: NoRSX 0.2.9 Fixed XMB Glitch (via devram0.blogspot.com/2013/03/norsx-029-fixed-xmb-glitch.html) - Well, finally i have fixed the XMB glicth. now everything should work without any problem! i suggest to update your NoRSX copy, if you use my lib. have fun

    I have added also Software Rescaling. do not expect great thing on this version. Rescaling is too much slow from virtual SD screen to real HD screen.

    From sinsizer comes some Psl1ght and code examples below, as follows:

    Hi, would be nice if people could post code examples or full programs here. Of cause with detailed explanation and comments. This should be a beginner section were people can learn from ground up.

    I'll start with setup psl1ght and a small program to dump idps with lv2 syscall.

    SDK setup:
    • Download psl1ght sdk: github.com/Estwald/PSDK3v2
    • Extract it to C:\PSDK3v2
    • Extract MinGW.7z included in the zip to C:\PSDK3v2\MinGW
    • Extract ps3dev.7z included in the zip to get C:\PSDK3v2\ps3dev

    Create a new folder in C:\PSDK3v2\project for your new project. In my example I name it "idps".

    In "C:\PSDK3v2\project\idps" we create 2 new folders. One is named "source" and the other "include".
    "source" will contain our *.c sourcefiles and "include" our *.h" headerfiles. For the following simple example we only need one sourcefile.

    To build our finished projects copy one, or all, of the following batch files to your project folder. ("C:\PSDK3v2\project\idps" in my case)

    "Make_SELF.bat" to create an executable file.
    "Make_EBOOT.BIN.bat" to create an eboot.bin
    "MAKE_PKG.bat" to create a pkg.

    You also need a "Makefile", which holds information how all the files should be thrown together.
    You can get one from the "samples" folder and modify it for your needs.

    idps.c dump with lv2 syscall
    Code:
    #include <stdio.h>
    #include <ppu-lv2.h>
    
    int main(void) 
    {
    	uint8_t buffer[16]; 								//create an array of size 16, each field with 8bit width 
    		
    	lv2syscall1(870, buffer);							//call lv2 syscall #870 with 1 argument
    	
    	FILE *fp;									//create a pointer of type FILE
    	fp = fopen("/dev_usb000/idps","w");						//open/create new file "idps" for writing
    	fwrite(buffer, sizeof(uint8_t), sizeof(buffer), fp);                       	//write buffer to file "idps"
    	fclose(fp); 									//close filestream
    
    return 0;
    }
    You can use a simple editor to write code. Save the file with *.c extension in your "source" folder. In your "Makefile" you can set Title, appID, ICON0 etc.. In this example you need to use the flag -llv2 in your Makefile

    ex.:
    LIBS := -llv2

    Now run for example "Make_PKG.bat", copy the pkg to usb an install it on your ps3. Before you run the app, an usb storage device needs to be pluged in to "usb000". Of cause you can change the path to whatever you like.

    lv2 syscalls can be found here: psdevwiki.com/ps3/LV2_Functions_and_Syscalls

    Finally, from zecoxao comes an SRK SRH dumper which dumps your SRK SRH to /dev_usb000/data.bin. Use it in factory service mode. pkg must be run in category view:
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <ppu-lv2.h>
    
    u64 poke (u64 addr, u64 val){
    	lv2syscall2(7,addr,val);
    	return_to_user_prog(u64);
    }
    
    u64 backup_srk_srh(u8 *data)
    {
    	lv2syscall3(0x35E, 0x2014, 0x80, (uint64_t)data);
    	return_to_user_prog(u64);
    }
    
    int main(){
    	//poke addresses here. patches access_control_engine_check_capability on lv2
    	poke(0x800000000000E7F0ULL,0x386000014E800020ULL);
    	//end poke
    	u8 data[0x80]={};
    	backup_srk_srh(data);
    	FILE *file = fopen("/dev_usb000/data.bin","wb");
    	fwrite(data,sizeof(data),1,file);
    	fclose(file);
    	return 0;
    }
    Same requirements as the ones by sinsizer (see above).

    If it triple beeps don't panic.. you haven't bricked anything but DON'T RUN THIS ON A DEX/CONVERT! YOU WILL BRICK!

    Here are also some common tools from gitbrew (with extra hv calls from cobra sources):

    Download: common.zip

    Those are the common tools from gitbrew that can be used with PSL1GHT to do cool things. Now they come with the rest of the hv calls found on cobra usb sources. Well, anyway, have fun with them...

    In related news, flatz told me how to implement the way to generate the vtrm block key in a very simple way, without requiring sherwood_ss_seed or ss_seed_one_more. You can take a look at it in ps3_decrypt_tools. The code is updated and will print out the block key and block iv (iv is always zeroes)

    NoRSX PS3 Graphic PSL1ght SDK Library & NoRSX Emulator Updated

    More PlayStation 3 News...

  5. #5
    Forum Moderator PS3 News's Avatar
    Join Date
    Apr 2005
    Posts
    26,849

    NoRSX 0.3.0 Mandatory PS3 Update for Developers By Deroad Out

    Following up on the previous updates, this weekend PlayStation 3 developer deroad has released a NoRSX 0.3.0 mandatory PS3 update for developers with details below.

    Download: https://github.com/wargio/NoRSX/archive/master.zip / https://github.com/wargio/NoRSX

    To quote: I have updated NoRSX to 0.3.0 THIS IS A MANDATORY UPDATE! Rebuild all your works, because there was a huge memory leak problem!

    There was a problem with Font implementation. i forgot to free va_list and Freetype2 glyph and that caused a really hi memory corruption.

    So please, update to this version!

    NoRSX 0.3.0 Mandatory PS3 Update for Developers By Deroad Out

    More PlayStation 3 News...