xboxscene.org forums

Pages: [1] 2 3

Author Topic: Pbkit  (Read 383 times)

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« on: December 24, 2006, 02:35:00 AM »

pbKit is a project for openxdk library users and its objective is to bring graphic hardware acceleration.

Here is the link to the project changelog (bookmark it and check it often) :
http://home.tele2.fr/~fr-51785/pbkit/changelog.txt

May 2007 openxdk pre-compiled libraries :
http://home.tele2.fr/~fr-51785/openxdk.zip
 (1st official version compatible with pbKit)

Other links :
http://home.tele2.fr/~fr-51785/pbkit/archivelog.txt
http://home.tele2.fr/~fr-51785/pbkit/inner.txt
http://home.tele2.fr/~fr-51785/pbkit/outer.txt
http://home.tele2.fr/~fr-51785/pbkit/openxdk_patch.zip
http://home.tele2.fr/~fr-51785/pbkit/pbkit_core.zip
http://home.tele2.fr/~fr-51785/pbkit/pbkit_demos.zip

This post has been edited by openxdkman: Jul 8 2007, 09:53 AM
Logged

_zlinky

  • Archived User
  • Jr. Member
  • *
  • Posts: 56
Pbkit
« Reply #1 on: December 26, 2006, 05:19:00 AM »

I wish you the best on this.  I'd like to contribute, but I'm too busy with other things right now.
Logged

ugenn

  • Archived User
  • Newbie
  • *
  • Posts: 31
Pbkit
« Reply #2 on: December 26, 2006, 04:41:00 PM »

Seems like something really great in the making.

Any plans for getting hw accel to work into the xorg /
dri drivers for xbox-linux?
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #3 on: December 27, 2006, 02:09:00 AM »

I've sent all my study results to d0wnlab (open dash author) who is fond of linux (I'm not). Anyway, I'm sure anyone will be able to insert the push buffer engine src in existing mesa, dri, whatever src skeletons. I'm not using linux and I don't plan to work on it. My hobby is to create code for os-less pc's (pc0). But I'm interested in porting to xb1 and ps2 too, but not for added os'es, just the raw consoles.
I want people to be able to do things by just pushing a power on button. Nothing more. Without harddisk weakness leading to damaged configuration (whatever is the reason) leading to huge time waste.

This post has been edited by openxdkman: Dec 27 2006, 10:10 AM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #4 on: January 02, 2007, 07:04:00 AM »

You can play with push buffer engine now (see changelog).
But unless you are a NVidia employee, you won't be able to draw a thing.
My first attempts to draw something failed, but I will work on it until it works...
The hardest (first) step, to be able to reach inner registers, is done. Be happy...
Let's the knowledge hunt begin...
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #5 on: January 04, 2007, 07:44:00 AM »

I have tears in my eyes...
IT DRAWS! IT DRAWS! IT DRAWS!!! (Theory : 1 rectangle fill in 1 GPU cycle, whatever is rectangle size!!!)

Demo 01 - Hardware accelerated Pong ...is on its way!!!
(probably with optional wiimote support thru PC, and VBlank synchronization over 3 frame buffers of course : will be a nice starter kit!)

Expect a release in a few days (will be QUICK!).

6 months ago I made the insane bet I could do it... I still don't believe it... I did it.

The way to legal professional 3D & Video homebrew is now wide open on xb1, guys! (and girls?)...
(I feel it will be a GREAT and long adventure... Especially when we will compare pbKit stuff with xn/a stuff)

This post has been edited by openxdkman: Jan 4 2007, 03:47 PM
Logged

old engineer

  • Archived User
  • Full Member
  • *
  • Posts: 155
Pbkit
« Reply #6 on: January 05, 2007, 01:25:00 AM »

This is great to hear, keep us informed and congrat's for getting this far this soon!

 rolleyes.gif
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #7 on: January 05, 2007, 08:56:00 AM »

Thx. Pong src is coming very soon. I'm finishing the Vblank synced triple buffering technic rotations.
I realize there might be trouble for people using an interlaced signal. (I'm using 480p on HDTV).
Openxdk will autodetect things nicely, but my screen swapping may happen twice faster than needed if the IRQ3 interrupt fires for each half frame. So if it's your case, just report the issue and I will try to adapt code for your specific configuration (describe it).
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #8 on: January 05, 2007, 10:07:00 AM »

I've released a "puck motion" test program (controlled by right stick of joypad for now). See changelog.
You can create your own 2D programs now.
(but antialiasing and some hardware accelerated copy function are still missing for total fun)

I made two functions to toggle between new and old framebuffers for debugging purpose.
But since openxdk&sdl framebuffer is not really allocated, they overlap a bit but not totally.
Can be used to keep an eye on static debug text while 2D or 3D smooth scene is running.

Now I will focus on pong game itself (will be quick) and the wiimote support...

This post has been edited by openxdkman: Jan 5 2007, 06:08 PM
Logged

Sirmatto

  • Archived User
  • Full Member
  • *
  • Posts: 134
Pbkit
« Reply #9 on: January 06, 2007, 09:43:00 PM »

Amazing, you've turned the OpenXDK from something of a concept, almost to an complete alternative to the XDK.  I look forward to reading more progress.  You should consider setting up a blogish type webpage...it would be much easier to read and would display your progress a lot better.
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #10 on: January 07, 2007, 01:09:00 AM »

My final objective is to support my own free operating system for pc0, xb1 & ps2. I'm doing pbKit because it's missing. Once it's done I will reuse it in my operating system source and I will spend my time only doing strong technical support (for companies or individuals, optional, not free) in order to make a living from it (pc0=pc without harddisk, in other words, a nc).
I will leave the zip files where they are and if openxdk.org or ps2dev.org domain owners want to grab it and put it in svn or cvs and accept new contributers I will let them do, gladly. I won't have time to maintain a blog.
A website exists presenting this operating system, but I won't advertise it here (since OS is not finished yet and commercial ads are not allowed).

I strongly suggest you just bookmark the changelog.txt directly and check it often. The growing list of demo and what they demonstrate will immediately tell you what can be done with current pbKit version.

That fact that my work is noticed only by serious developpers pleases me.

This post has been edited by openxdkman: Jan 7 2007, 09:20 AM
Logged

PedrosPad

  • Archived User
  • Hero Member
  • *
  • Posts: 1277
Pbkit
« Reply #11 on: January 08, 2007, 03:00:00 AM »

QUOTE(openxdkman @ Jan 7 2007, 09:40 AM) View Post

My final objective is to support my own free operating system for pc0, xb1 & ps2. I'm doing pbKit because it's missing. Once it's done I will reuse it in my operating system source and I will spend my time only doing strong technical support (for companies or individuals, optional, not free) in order to make a living from it (pc0=pc without harddisk, in other words, a nc).
<snip />
A website exists presenting this operating system, but I won't advertise it here (since OS is not finished yet and commercial ads are not allowed).

Very interesting work indeed. beerchug.gif

I dreamt of producing something similar - a custom XBOX1 kernel that simply contained a networking stack, a Flash content player, and a root URL in Flash memory.

(Bunnie's Chumby is a more refined implementation of the same idea.)

My interest was find a use for the mountain of legacy XBOX1's.  Sure, an XBOX1 booting to an XBMC which included a full Web Browser is more capable, but I wanted something my ageing granny could plug-in-and-go with.
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #12 on: January 08, 2007, 11:58:00 AM »

Thx.
Yes... XBMC... a kind of species in danger... I keep it in a corner of my head. But will take time...
For now I must finish pbKit. I've finished Pong for ps2 with all wiimote support (by accelerometer or IR camera). So, tomorrow I just port the game to xb1 and I release both Pong versions & mse2eth. Tonight, I need a break...

Then will come the antialiasing adventure... It involves pixel shaders... Quite the big chunk of mystery...
(I must also see if I can do a pixel copy function so people wanting to do just 2D sprites can start working)

Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #13 on: January 09, 2007, 10:49:00 AM »

Demo 01-Harware accelerated Pong is released!

Optional wiimote support. You can either use inp2eth (accelerometers) or mse2eth (IR camera, needs 2 sources, please don't use candles!)

There is an issue at the moment. You will see only a few letters in the main menu, but you should be able to understand the menu entries. Menu text can be found in readme.txt file.
Issue doesn't affect gameplay at all. Have fun!

This issue affects menu and all future demos, I will work on it now...

This post has been edited by openxdkman: Jan 9 2007, 06:50 PM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Pbkit
« Reply #14 on: January 10, 2007, 05:13:00 AM »

Mmm... I was a bit naive about the legend saying 1 GPU command is executed in 1 GPU cycle...
(though you may claim you trigger it with 1 CPU cycle when you write last parameter of command)

I just forgot we are in unified memory model, so beloved by developpers who wrote articles in the xbox360-ps3 war... But, especially in the case of xbox1 which has ony one data bus, it's obvious that even if GPU has inner data caches, many commands sent by CPU toward GPU through DMA must not last too long. There must be some break time, because GPU itself needs DMA access to read data from frame buffers, add pixels to the data and send back data to frame buffer (later with 3D, that will be pixel buffer + depth stencil buffer). So time on the data bus must be shared between commands stream sent by CPU and data stream read and written by GPU...

So, I'm slowly thinking that the NON unified memory model of PC graphic cards (VRAM) and PS1/PS2/PS3 is maybe more interesting even if it's more complicated for developpers...

At least that gives me a clue about the current issue in pbKit... I need to add automatic DMA "breaks" when FIFO is full (can't be emptied by GPU since data bus is too busy with commands sending)... At least it's my best guess at the moment.

Logged
Pages: [1] 2 3