Jump to content


Photo

Pbkit


  • Please log in to reply
45 replies to this topic

#1 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 24 December 2006 - 09:59 AM

pbKit is a project for openxdk library users and its objective is to bring graphic hardware acceleration. 'pb' is 'Push Buffer' (GPU commands buffer).

Here is the link to the project changelog (bookmark it and check it often) :
http://minilgos.pers...t/changelog.txt

May 2007 openxdk pre-compiled libraries (for Cygwin) :
http://minilgos.pers....fr/openxdk.zip (1.8 Mb, .a+.h, +480i patch)
(1st version directly compatible with pbKit -no need to patch openxdk-)

Other links :
http://minilgos.pers.../archivelog.txt
http://minilgos.pers...pbkit/inner.txt
http://minilgos.pers...pbkit/outer.txt
http://minilgos.pers...enxdk_patch.zip (no longer needed)http://minilgos.pers.../pbkit_core.zip
http://minilgos.pers...pbkit_demos.zip

EDIT:
Thanks to Maturion you can download all this from sourceforge.net now!
Look for openxdk project, all packages download link, click left side of table.

Edited by openxdkman, 28 March 2009 - 11:00 PM.


#2 _zlinky

_zlinky

    X-S Member

  • Members
  • Pip
  • 75 posts

Posted 26 December 2006 - 12:43 PM

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


#3 ugenn

ugenn

    X-S Member

  • Members
  • Pip
  • 86 posts
  • Location:Fucking, Austria
  • Xbox Version:unk
  • 360 version:unknown

Posted 27 December 2006 - 12:05 AM

Seems like something really great in the making.

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

#4 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 27 December 2006 - 09:33 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.

Edited by openxdkman, 27 December 2006 - 09:34 AM.


#5 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 02 January 2007 - 02:28 PM

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...

#6 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 04 January 2007 - 03:08 PM

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)

Edited by openxdkman, 04 January 2007 - 03:11 PM.


#7 old engineer

old engineer

    X-S X-perience

  • Moderator
  • PipPip
  • 405 posts
  • Location:U.K
  • Interests:Xbox Development
  • Xbox Version:v1.0
  • 360 version:v1 (xenon)

Posted 05 January 2007 - 09:25 AM

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

rolleyes.gif

#8 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 05 January 2007 - 04:20 PM

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).


#9 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 05 January 2007 - 05:31 PM

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...

Edited by openxdkman, 05 January 2007 - 05:32 PM.


#10 Sirmatto

Sirmatto

    X-S X-perience

  • Members
  • PipPip
  • 413 posts
  • Location:Puyallup, WA
  • Xbox Version:v1.0
  • 360 version:v3.0 (falcon)

Posted 07 January 2007 - 05:07 AM

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.

#11 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 07 January 2007 - 08:33 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.

Edited by openxdkman, 07 January 2007 - 08:44 AM.


#12 PedrosPad

PedrosPad

    X-S Freak

  • Moderator
  • PipPipPipPipPip
  • 1,859 posts
  • Location:UK
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 08 January 2007 - 11: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.

Edited by PedrosPad, 08 January 2007 - 11:24 AM.


#13 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 08 January 2007 - 07:22 PM

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)



#14 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 09 January 2007 - 06:13 PM

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...

Edited by openxdkman, 09 January 2007 - 06:14 PM.


#15 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 10 January 2007 - 12:37 PM

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.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users