xboxscene.org forums

OG Xbox Forums => Software Forums => Development => Topic started by: PedrosPad on February 09, 2005, 03:20:00 AM

Title: OpenDash
Post by: PedrosPad on February 09, 2005, 03:20:00 AM
wink.gif )

I thought I’d start a thread to gather ideas/comments/suggestions on this.

In order to be legal, any OpenDash can’t  be built using the M$ XDK, thus must be built with OpenXDK, Free-XDK, or simply NASM.

A minimum requirement for an XBOX dashboard is to allow the user to select and launch XBEs.  But is this enough to be of any use?  I think most people expect a Dashboard to contain an FTP server also as a minimum.  Since none of the non-M$ XDKs above support networking, this is a challenge.

I’ve read a passing note that SDL does have some networking support – but I’m not sure if this applies to the XBOX port.  Anyone know?

Is anyone able to suggest any open source resources that may aid this project?

One alternative idea is to use a lightweight Linux, with FATX support.  I know ldots Linux based gamesav installers contained a TTY interface, did it also include any FTP support?

Personally, I’ve not seen an XBOX-Linux that can launch XBEs, but please correct me if I’m wrong.

Just thoughts biggrin.gif
Title: OpenDash
Post by: Angerwound on February 09, 2005, 07:50:00 AM
tongue.gif
Title: OpenDash
Post by: PedrosPad on February 09, 2005, 09:09:00 AM
QUOTE(TMaul @ Feb 9 2005, 03:33 PM)
I have currently only got as far as starting work on a simple framebuffer based graphics lib and thats about it.
Title: OpenDash
Post by: DaddyJ on February 09, 2005, 10:46:00 AM
QUOTE(Angerwound)
Could this be another of Pedros infamous threads that will eventually lead to another great project/discovery?  tongue.gif


I sure do hope so.

Title: OpenDash
Post by: PedrosPad on February 09, 2005, 11:55:00 AM
QUOTE(DaddyJ @ Feb 9 2005, 05:52 PM)
QUOTE(Angerwound)
Could this be another of Pedros infamous threads that will eventually lead to another great project/discovery?  tongue.gif
Title: OpenDash
Post by: d0wnlab on February 09, 2005, 12:13:00 PM
I've been planning on doing this with the openXDK.  Last month I ported a number of libraries to the openXDK that will help in the development of a dash.  Unfortunately there is currently a USB input problem with the openXDK limiting further advancement until it's figured out.  Anyone well versed in USB low-level HID development please PM me or post in Development and I'll point the problem your way.

Currently no networking support is available, but it's on the openXDK maintainer (edwardaux)'s todo list.  You'll notice that a dash is also on that list but I think I can beat him to the punch on that one since he's gone until end of March.

If we fix the input bug I'm planning on doing an unofficial binary openXDK release combining that bugfix, c++ support, and the libraries I've ported.  At that point I think a dash can be developed that has good support sans networking.  As soon as networking is available I'll add that too.

I am however a fulltime university student and so my time is both limited and sporatic.
Title: OpenDash
Post by: TMaul on February 09, 2005, 01:33:00 PM
I've got something that scans a given path for default.xbes working ok with the OpenXDK. I was going to take a look at writing a menu system next but now I think it might be worth looking at the input problem. I am working on two other projects tonight but I will be able to find enough time to have a little play with the usb code.
Title: OpenDash
Post by: PedrosPad on February 09, 2005, 02:18:00 PM
QUOTE(d0wnlab @ Feb 9 2005, 07:19 PM)
Unfortunately there is currently a USB input problem with the openXDK limiting further advancement until it's figured out.
Title: OpenDash
Post by: d0wnlab on February 09, 2005, 08:42:00 PM
unfortunately I haven't been able to port the much cleaner USB libs from free-xdk to openxdk.  Nor have I gotten freexdk up and running in order to replace openxdk with it.  However I am thinking about trying this again since the usb libs in freexdk are a proper usb lib ported, whereas in openxdk it's uncommented hack and slash code.

One thing is obvious though: we need to collaborate on this design.  There's like five people here who want to work on this, we should divvy up some tasks and get things working.  I opt "not head developer", too many things on the go and I'd prolly let you all down until i have more time (thinking May-ish prolly)
Title: OpenDash
Post by: PedrosPad on February 09, 2005, 08:57:00 PM
QUOTE(d0wnlab @ Feb 10 2005, 03:48 AM)
Nor have I gotten freexdk up and running in order to replace openxdk with it.
Title: OpenDash
Post by: DaddyJ on February 09, 2005, 09:38:00 PM
QUOTE(PedrosPad)
I'll have a go at a "Hello World" sample app ASAP (aka. next few days).


Thats where I started smile.gif

I'd join any collaberations going on for this project, as stated the dash only needs to support
XBE launching & a FTP server to be useful for distribution purposes.
Title: OpenDash
Post by: PedrosPad on February 10, 2005, 03:11:00 AM
QUOTE(DaddyJ @ Feb 10 2005, 04:44 AM)
as stated the dash only needs to support
Title: OpenDash
Post by: TMaul on February 10, 2005, 05:40:00 AM
I've managed to get the USB code from cromwell to build as a lib under Openxdk. I have some family commitments over the next couple of days but hopefully I can find enough time to make some test code to see if we can actually get it working.
Title: OpenDash
Post by: DaddyJ on February 10, 2005, 07:01:00 AM
QUOTE(TMaul)
I've managed to get the USB code from cromwell to build as a lib under Openxdk. I have some family commitments over the next couple of days but hopefully I can find enough time to make some test code to see if we can actually get it working.


Find it in your heart to share, I'd be glad to run a few tests.....

Hardcoded is easier as first, but if you plan to use a config file, we'd need to do that first.

FTP server in general is not hard to code. I have a few projects going on at the moment, but plan to start looking into this a little harder as soon as 'Another GUI' is released to the public.

Title: OpenDash
Post by: PedrosPad on February 10, 2005, 07:11:00 AM
QUOTE(DaddyJ @ Feb 10 2005, 02:07 PM)
I have a few projects going on at the moment, but plan to start looking into this a little harder as soon as 'Another GUI' is released to the public.
Title: OpenDash
Post by: DaddyJ on February 10, 2005, 07:53:00 AM
QUOTE(PedrosPad)
(What I know and you don't is we're hoping you'll choose to contribute yet another GUI for a new soon-to-be-released XBOX command lne utility.  tongue.gif )


Can you elaborate on this a little?

Edit by Pedro: Wait and see  smile.gif
Title: OpenDash
Post by: Keo-Keo on February 10, 2005, 11:07:00 AM
this really isn't my area but what if we could get python scripts running? Kinda like xbmc? this would make added FTP and new features eaiser.. Just a thought.

As for a linux kernal launching XBE's will never happen.. The linux kernal doesn't support it and won't because it could really hurt the xbox-linux team (leagally).
Title: OpenDash
Post by: Dai_UK on February 10, 2005, 02:56:00 PM
smile.gif

I can confirm that ldots linux used in his uxe installer has tty AND ftp
Title: OpenDash
Post by: Keo-Keo on February 10, 2005, 04:44:00 PM
QUOTE(Dai_UK @ Feb 10 2005, 10:02 PM)
smile.gif
Title: OpenDash
Post by: d0wnlab on February 10, 2005, 08:31:00 PM
smile.gif )

Networking is the biggest roadblock, one thats faced by all legal alternatives (sans linux but again it's not suited for this really) to the XDK.  the openXDK input handling issue is the second biggest.

i don't know if the openXDK also is supported by every bios yet, but it's a lot better as of 0.06 (works with xecuter).
Title: OpenDash
Post by: Keo-Keo on February 10, 2005, 08:41:00 PM
what do you think about my python idea? Stated eariler in the thread.. Make a python reader outta ASM or C (would require openXDK) but as long as it could read python we could easily add fuction to it.. Base it on the way that XBMC did it.. Then port the code to openXDK?
Title: OpenDash
Post by: PedrosPad on February 11, 2005, 01:30:00 AM
QUOTE(Keo-Keo @ Feb 10 2005, 06:13 PM)
As for a linux kernal launching XBE's will never happen.. The linux kernal doesn't support it.
Title: OpenDash
Post by: PedrosPad on February 11, 2005, 02:11:00 AM
QUOTE(d0wnlab @ Feb 11 2005, 03:37 AM)
yeah, linux doesn't really work because its it's own kernel and thus isn't built to interoperate with XBEs.  However until networking works, one could make a dash that can boot a mini linux distro that has ftp server.  Then it's still functional as a legal networked dash just not as nicely integrated as an XDK based dash.
Title: OpenDash
Post by: PedrosPad on February 11, 2005, 02:33:00 AM
QUOTE(d0wnlab @ Feb 11 2005, 03:37 AM)
Personally I'd much rather use the openXDK than freeXDK based on the speed of development and support currently from the authors.  While edwardaux is travelling for three months, I'm sure when he gets back momentum will be in full swing to port networking (as long as we get rid of all the other things on his to do list smile.gif )
Title: OpenDash
Post by: DaddyJ on February 11, 2005, 08:18:00 AM
QUOTE(PedrosPad)
(And XBMC would make a fine 'Open' Dash).  Maybe this would be a better direction of effort?  Opinions?


 tongue.gif  beerchug.gif  tongue.gif
Title: OpenDash
Post by: Keo-Keo on February 11, 2005, 10:44:00 AM
QUOTE(PedrosPad @ Feb 11 2005, 08:36 AM)
Edit: The posts from more Linux-familiar people above imply that I may be underestimating the difficulty of this.  I’m keen to understand why.  My thinking is even if the Linux kernel replaced a ram shadow copy of the true XBOX Kernel (unsure  unsure.gif ), the original ROM based copy would still be assessable somewhere in memory (equally unsure  unsure.gif ).  Can’t the XBELaunch app (written to be self supporting and not rely on the Linux Kernel) simply restore the XBOX Kernel to its rightful location, and then use it to quickboot the XBE?  dry.gif  The XBOX hardware would have already been initialised by the XBOX retail kernel the XBOX booted up with.
Title: OpenDash
Post by: d0wnlab on February 11, 2005, 11:30:00 AM
Lots of things here..

the Linux thing:
I bet computationally it can be done, I mean.. the linux booter replaces the NT kernel with cromwell, so this is just the opposite, except.. I have the feeling that if it can, the linux kernel will protect against cromwell being overwritten. However, iirc the xbox doesn't have hardware protected memory support (or is it just that it isn't turned on by default?  i mean the linux kernel does something to protect processes from each other, and protected memory is virtually the only way to do that efficiently).  If you can write to kernelspace in linux then you can do it. You very well might be sheltered from doing this.  If not, then you could replace the kernel in memory, set the XBOX into whatever state it needs to be in, and call the kernel functions to boot an XBE.

As for the hardware already being initialized, not really.. it will be set into a different state when you boot into linux, so you'll have to be doing *other stuff* (completely unsure here)

That's all out of my reach I'm afraid.. low-level programming like that is still out of my reach.

the XBMC thing:
XBMC core is based on mplayer, which has an SDL driver.  However right now newlib is lacking some low-level libc calls that a lot of the assembly routines attempt to call (I've tried compiling).  This is an eventual goal but some signifigant work will be needed to get it working.  However compiling mplayer = being able to play the movies xbmc supports.  All the application development put into xbmc would have to be redone at whatever level we'd want to implement it.

the python thing:
We could get (possibly) a python interpreter working but it wouldn't add networking support if that was what you were insinuating.. we need low level networking support.

PedrosPad I think you missed my concept a little bit.  My idea was a normal dash that can boot applications written in openXDK, that comes with a seperate app that boots a minilinux distro so one can get an ftp server running too.  You'd have to reboot to get back into the dash and run games, but it's an idea that would allow people to ftp to their xbox, and run a dash, that's legit, and doesn't involve some level of new features in the openXDK or a new linux->NT kernel hack.  It can be done with today's technology.  It's a compromise but there's nothing stopping it from being done today.

replicating the MS XDK API calls: BAD IDEA.  They could legally go after us for this.  Please don't do it.  Feel free to make new APIs and build bigger code, but replicating their APIs can be taken as a hostile action.  As long as we stay completely in our own world (sans xboxkrnl.h, but that's all reverse engineered) we stay out of trouble.  Maybe make something that works _similiar_ so that code porting is easy, but make the same API calls.
Title: OpenDash
Post by: DaddyJ on February 11, 2005, 11:45:00 AM
QUOTE(d0wnlab)
replicating the MS XDK API calls: BAD IDEA.  They could legally go after us for this.  Please don't do it.  Feel free to make new APIs and build bigger code, but replicating their APIs can be taken as a hostile action.


Agreed!!
Title: OpenDash
Post by: PedrosPad on February 11, 2005, 11:52:00 AM
QUOTE(d0wnlab @ Feb 11 2005, 06:36 PM)
the Linux thing:
Title: OpenDash
Post by: PedrosPad on February 11, 2005, 11:58:00 AM
QUOTE(DaddyJ @ Feb 11 2005, 06:51 PM)
QUOTE(d0wnlab)
replicating the MS XDK API calls: BAD IDEA.  They could legally go after us for this.  Please don't do it.  Feel free to make new APIs and build bigger code, but replicating their APIs can be taken as a hostile action.
Title: OpenDash
Post by: d0wnlab on February 11, 2005, 12:07:00 PM
smile.gif.

Title: OpenDash
Post by: fghjj on February 11, 2005, 02:30:00 PM
btw I've been bugtracking the input code a while ago when OpenXDK 0.06 came I'll try to pick it up when time is on my side.
Title: OpenDash
Post by: d0wnlab on February 11, 2005, 02:36:00 PM
please do, I have too but am sorta shooting in the dark :/
Title: OpenDash
Post by: Keo-Keo on February 11, 2005, 03:15:00 PM
QUOTE(d0wnlab @ Feb 11 2005, 06:36 PM)
Lots of things here..
Title: OpenDash
Post by: JimmyGoon on February 11, 2005, 03:31:00 PM
just throwing this out on the table.... Linux (most xbox versions), the mounting XFAT driver doesn't support LBA48

:/
Title: OpenDash
Post by: Keo-Keo on February 11, 2005, 04:12:00 PM
QUOTE(JimmyGoon @ Feb 11 2005, 10:37 PM)
just throwing this out on the table.... Linux (most xbox versions), the mounting XFAT driver doesn't support LBA48
Title: OpenDash
Post by: JimmyGoon on February 11, 2005, 04:43:00 PM
QUOTE(Keo-Keo @ Feb 11 2005, 11:18 PM)
Depends on the distro ;-)
Title: OpenDash
Post by: PedrosPad on February 11, 2005, 04:50:00 PM
QUOTE(d0wnlab @ Feb 11 2005, 07:13 PM)
It'd be _much_ easier to write a simple app that parses directory structures and allows booting XBEs.
Title: OpenDash
Post by: PedrosPad on February 11, 2005, 05:02:00 PM
QUOTE(Keo-Keo @ Feb 11 2005, 10:21 PM)
Great idea with linux.. Somehow patching the kernal in memory with the xbox kernal.. Seems tricky (i wouldn't have the frist clue of this)..
Title: OpenDash
Post by: DaddyJ on February 11, 2005, 05:13:00 PM
wink.gif
Title: OpenDash
Post by: DaddyJ on February 11, 2005, 08:27:00 PM
QUOTE(TMaul)
so we need a function that can do the same thing". Like you say, once we have done that for everything we need port stuff will be a case of simply changing the code to work with our APIs.


Can you maybe list some API we would need, I can port alot of the already created ones I have done, while not the greatest, may prove to be of some use?

Title: OpenDash
Post by: The_Truth on February 11, 2005, 09:11:00 PM
wink.gif

this is one of those times it's best to start at the "source" of the problem wink.gif
Title: OpenDash
Post by: PedrosPad on February 12, 2005, 12:39:00 AM
QUOTE(The_Truth @ Feb 12 2005, 04:17 AM)
Is evox made with MS code or is it illegal because of being compiled by Ms xdk?
Title: OpenDash
Post by: Keo-Keo on February 12, 2005, 01:32:00 AM
QUOTE(JimmyGoon @ Feb 11 2005, 11:49 PM)
Do you know of one that DOES?
Title: OpenDash
Post by: Keo-Keo on February 12, 2005, 01:35:00 AM
QUOTE(PedrosPad @ Feb 12 2005, 12:08 AM)
I'm abandoning this idea for now, but rather than run-time patching the kernel, I was thinking we'd roll-our-own kernel with an added 'launch XBE' kernel call.  Why do in-memory patching when the source is available, and we can simply compile in our own extensions (isn’t that the point of open source uhh.gif ).
Title: OpenDash
Post by: d0wnlab on February 12, 2005, 12:54:00 PM
Yeah.. I don't think it works either anymore.  Anyone try 0.04 release, when sdlDoom was first added?  Thing is.. hal/pad.c hasn't changed since the initial GCC release (iirc), but maybe it's somewhere else.. I dunno.  the USB layer is doing at least part of it's job, because debug calls in pad.c shows the usb calls returning stuff.
Title: OpenDash
Post by: PedrosPad on February 12, 2005, 03:36:00 PM
QUOTE(unipooper @ Feb 12 2005, 07:54 AM)
forgive me if i'm way off guys... as i'm way out of my league. just started playing with openxdk and [Doom]...
Title: OpenDash
Post by: NME on February 13, 2005, 05:55:00 AM
I think this is a great idea!!!

but I dont wanna sound like a party pooper but if the propose of this is so u can host it on a normal site and not xbins so all the n00bs can get it. Then all them n00bs will use it for 1 thing as they wont know how to get apps or emus, that 1 thing is to play copied games which they will say r back ups.
I love the idea of our own dash for softmoders tho if u could get it to run scripts like evo or unleash then it would be a "softmodders auto installer dream!!!"<<<<that should be the name of the dash lol "SAID"

i'm not sure if u could host it even with opendash as i think the newest installer has ms.xbe's, unlesss ur able to patch every dash on the fly so it works with out ms.xbe in the download.

ok e-nuff talk i dont even know what im sayying I dont hav a clue in this area my bad!!

Laters
Title: OpenDash
Post by: cmiz on February 13, 2005, 12:46:00 PM
...ms.xbe?....

do you mean the update.xbe turned into xboxdash.xbe which is used in UXE? that's an exploit and has nothing to do with dashboards.
sorry if i sound like an idiot, i just have no idea what you mean by ms.xbe
Title: OpenDash
Post by: JimmyGoon on February 13, 2005, 01:26:00 PM
For what its worth OpenXDK input has never worked for me in any way shape or form

NTSC xbox version 1.6
Title: OpenDash
Post by: d0wnlab on February 13, 2005, 04:05:00 PM
sad.gif.  I think you'll all like it though.  I'm also working on a scriptable, well coded versatile app but it won't be done for a little while..  However this one does the requisite things laid out earlier by PedrosPad.

The next one will be scriptable, cooler looking, and support all the standard dashboard stuff (or as much as I/other people can figure out and add to it), like formatting flashing( maybe? ), and networking once that is added to the openXDK.  Once I have something releasable I will upload it somewhere and people can start adding to it.

I'll release it in a couple days, but I mean.. input doesn't work yet so really there isn't much to see until that gets working.

Title: OpenDash
Post by: Keo-Keo on February 13, 2005, 05:03:00 PM
QUOTE(d0wnlab @ Feb 13 2005, 11:11 PM)
I'm done a beta app that can navigate through directories and run XBEs.  I hacked it together from an app I was already completed.  It's shitty, I wrote it prior to porting all the cool libs so it still uses SFont and no GL gimmicks sad.gif.  I think you'll all like it though.  I'm also working on a scriptable, well coded versatile app but it won't be done for a little while..  However this one does the requisite things laid out earlier by PedrosPad.
Title: OpenDash
Post by: NME on February 13, 2005, 06:48:00 PM
when i said ms.xbe i meant files that ms had signed that we can boot up for any xbox and exploit to run unsign stuff. sorry if i was not clear in my head i was =)
Title: OpenDash
Post by: PedrosPad on February 14, 2005, 03:21:00 AM
QUOTE(d0wnlab @ Feb 13 2005, 11:11 PM)
I'm done a beta app that can navigate through directories and run XBEs.
Title: OpenDash
Post by: NME on February 15, 2005, 03:56:00 PM
sorry i like this open dash thing dont want it to sink into the rest of the "i mucked up my xbox post!!!!!"  


BUMP!!!!

wish i could code to help but dont hav a clue
Title: OpenDash
Post by: PedrosPad on February 15, 2005, 04:06:00 PM
QUOTE(NME @ Feb 15 2005, 11:02 PM)
sorry i like this open dash thing dont want it to sink into the rest of the "i mucked up my xbox post!!!!!" 
Title: OpenDash
Post by: d0wnlab on February 15, 2005, 05:35:00 PM
What bios are you using PedrosPad?

That.. and.. it seems like launching from certain dashes also doesn't work.  The only dash that I know for certain loads the XBEs properly is Evox.  Unsure why.

I'm not in any rush to release my app since input doesn't work yet, and instead am looking into all that.  Naturally I have 3 assignments and two midterms between now and Thursday sad.gif.. after that is reading week and I'm taking a nice vacation and will be working a bit on the more mature openXDK dashboard, but that's gonna take awhile.  Once i have anything worth posting I will, though.  It's gonna be rad, more rad than you might be expecting from the openXDK.

that and another library release before the end of the week, I'm basing a lot of my configuration on libxml so expect to see that for the openXDK real soon.

edit: oh yeah, I forgot to mention.. that MSVC version of openXDK might be the key to all of this because I think input might have worked back then?  Maybe we could look at that? (this was pre-sourceforge CVS I believe, last time I checked I couldn't view versions older than 0.04 iirc).  However in the long run a proper usb library should be ported because this hack and slash code is pretty ugly and we could do _so_ much more with a proper USB library.
Title: OpenDash
Post by: nangsyde on February 16, 2005, 03:44:00 AM
QUOTE(d0wnlab @ Feb 16 2005, 12:41 AM)
What bios are you using PedrosPad?

That.. and.. it seems like launching from certain dashes also doesn't work.  The only dash that I know for certain loads the XBEs properly is Evox.  Unsure why.


Over here it also works well on unleashx, but pointing people towards evox seems safest 'cause it's the closest to a "stable" release of a dash we have on the xbox - i.e. no new releases buggering up openxdk stuff working
Title: OpenDash
Post by: TMaul on February 16, 2005, 03:59:00 AM
QUOTE(d0wnlab @ Feb 16 2005, 12:41 AM)
< snip >
Title: OpenDash
Post by: d0wnlab on February 16, 2005, 10:55:00 AM
hey TMaul, try taking the Makefile.xbox from one of the source SDL library tarballs linked to in my sig and changing the source files, command-line defines. and include directories.  That goes for anyone attempting to build a library.  edwardaux set that up and it works great.

I'm attempting to mod the free-xdk usb lib to work with openXDK.  It's going.. ungood.  But I'm working on it.  They used the linux usb drivers and wrote a linux kernel emulation layer for all the calls needed, which is pretty damned cool.
Title: OpenDash
Post by: PedrosPad on February 16, 2005, 03:08:00 PM
QUOTE(d0wnlab @ Feb 16 2005, 12:41 AM)
QUOTE(PedrosPad @ Feb 15 2005, 11:12 PM)
This afternoon I've downloaded all the OpenXDK bits, Cygwin, etc., built the OpenXDK libraries, and some of the OpenXDK sample XBEs (none of which actually work yet  uhh.gif  ).  I'm looking into why now.
Title: OpenDash
Post by: ipodder2003 on February 16, 2005, 03:40:00 PM
I will also gladly help test anyone's dash.  Just PM me if you'd like... my xbox is V1.0 K3944.  It's been the subject of 3 other testings already biggrin.gif
Title: OpenDash
Post by: JimmyGoon on February 16, 2005, 04:22:00 PM
I would love to test as well! Send me anything to test!

PM Me or AIM : "jimmygoon" no quotes
Title: OpenDash
Post by: d0wnlab on February 16, 2005, 07:08:00 PM
QUOTE(TMaul @ Feb 16 2005, 10:50 PM)
d0wnlab: Thanks again for the makefile hint. It seems to have fixed my linking problem so I can actually start to debug whats going on with the cromwell usb stuff.
Title: OpenDash
Post by: d0wnlab on February 17, 2005, 01:40:00 AM
okay so that was some wishful thinking.. anyways I'm going to sleep.

it's crashing on me somewhere in the startup routines.  Where depends on what xbox I use unfortunately.  My 1.4 crashes before my friend's 1.0 (iirc might be wrong on this version).

anyways here it is.  it compiles as a lib, which you need to copy to the lib directory of the openxdk
and you also should copy the entire include directory to /usr/local/openxdk/include/usb2 (I called it that just to differentiate between it all).. oh, and right now you will have to edit boot.h AFTER compiling and installing the library, just a little hack I was using just comment out the line "extern void XSleep(u32 ticks)".  Its required right now for the library to compile, but will conflict with the openxdk when compiling an app.

anyways the test app should link and compile properly, and spit out some debugging info.,  I'll look into it more tomorrow..

cromwell usb layer: http://th0mas.sixbit.org/cromwell.tgz
test-usb.tgz : http://th0mas.sixbit.org/test-usb.tgz
Title: OpenDash
Post by: Keo-Keo on February 17, 2005, 03:30:00 AM
I'm starting work on the linux FTP and telnet stuff.. What i'm going to do strip down ltools remove all the UDE UXE etc scripts add a choice of DHCP and static chocies at boot.. Unfortually this is acts as a live cd so these options can't be saved and will require a choice everytime it's ran.

http://project2k.net...ash/initrdview/
this is the mounted initrd which shows all the scripts i'll be doing all the editing to this folder and you can get the initrd from http://project2k.net/opendash/

I need to add G support should be rolled out this week..

Title: OpenDash
Post by: PedrosPad on February 17, 2005, 03:49:00 AM
QUOTE(Keo-Keo @ Feb 17 2005, 10:36 AM)
I'm starting work on the linux FTP and telnet stuff.. What i'm going to do strip down ltools remove all the UDE UXE etc scripts add a choice of DHCP and static chocies at boot.. Unfortually this is acts as a live cd so these options can't be saved and will require a choice everytime it's ran.
Title: OpenDash
Post by: Keo-Keo on February 17, 2005, 04:02:00 AM
QUOTE(PedrosPad @ Feb 17 2005, 10:55 AM)
Sounds very welcome – We mustn't forget about this OpenDash vital component smile.gif
Title: OpenDash
Post by: d0wnlab on February 17, 2005, 10:54:00 AM
QUOTE(TMaul @ Feb 17 2005, 10:57 AM)
As I have only just woken up I have not yet had chance to build your port of the code, and probably won't until tonight. I have a 1.2/1.3 xbox and with my port of the code I get a failure in hdc-pci.c at this point
Title: OpenDash
Post by: PedrosPad on February 17, 2005, 02:40:00 PM
QUOTE(d0wnlab @ Feb 16 2005, 12:41 AM)
oh yeah, I forgot to mention.. that MSVC version of openXDK might be the key to all of this because I think input might have worked back then?  Maybe we could look at that?
Title: OpenDash
Post by: PedrosPad on February 19, 2005, 01:58:00 PM
QUOTE(TMaul @ Feb 17 2005, 10:18 PM)
QUOTE(PedrosPad @ Feb 17 2005, 09:46 PM)
A couple of thoughts regarding the usb/joystick problems and the toolset shift from MSVC to gcc....
Title: OpenDash
Post by: DaddyJ on February 19, 2005, 03:27:00 PM
QUOTE(PedrosPad)
Admittedly still based on the assumption that the sdlJoystick.xbe OpenXDK sample once worked  unsure.gif , I still believe this theory still has some distance, but I’m now wondering if instead of a soft-mod, the required environment was in fact created by a specific mod-chip BIOS.  Anyone got any ideas what BIOSes were in fashion around the time sdlJoystick was released?


Wasnt it around m6 or m7?

Just a thought, I was talking to a few of my buddies about your post, and they seem to think that you can get better results with having all 4 ports plugged in??? dont ask , long story.... Also on a whim, do you have access to a dvd dongle, have that plugged into port 3, may also increase your chances....

I know it seems weird, and they could be just yanking my chain, but have never served me wrong in the past.

Post back with any results you may find,

Title: OpenDash
Post by: fghjj on February 19, 2005, 03:35:00 PM
I think edwardeaux (openxdk god) used EvolutionX M7 bios. But the whole openxdk/bios issue was that debug based (hacked) bioses initialized the video framebuffer at a slightly other address then retail based bioses. And writing directly to a random address sometimes causes corruption smile.gif So, I think the input problem isnt bios related, but more like a small hardware difference. But we need to debug to see if that's true. I'm also unsure what EvoX does to the xbe and what other dashes don't smile.gif I heard the program attaches the so-called debug TSR to the xbe by patching it before lauching it, but I certainly don't know the details of that process (beyond my knowledge currently).
Title: OpenDash
Post by: PedrosPad on February 19, 2005, 04:00:00 PM
QUOTE(fghjj @ Feb 19 2005, 10:41 PM)
I'm also unsure what EvoX does to the xbe and what other dashes don't smile.gif I heard the program attaches the so-called debug TSR to the xbe by patching it before lauching it, but I certainly don't know the details of that process (beyond my knowledge currently).
Title: OpenDash
Post by: RiceCake on February 19, 2005, 09:42:00 PM
Oh god damn gotta bring in some more of that 'pretty compatible' clunker Linux code stuff smile.gif...

Either way would be nice. I'm pretty sure all those fanboys out there who use Linux would like this.

If it's scripted right I oughta look into a Linux-install subsystem, or maybe even a simple TSOP flasher...
Title: OpenDash
Post by: Tomilius on February 19, 2005, 10:38:00 PM
Best of luck! This is my kind of project. I always was, and still am, too lazy to learn (Visual) C++ well enough to even bother with the XDK.

I didn't really formally learn C either... just kind of pushed until things worked with free-xdk.

But if this isn't already known, PBL had issues with, I believe, more than 2 USB devices hooked up? I had not the experience to fix this problem and was barely able to troubleshoot it... But I'm pretty sure those were the circumstances in which, at least, PBL would stall for a great length of time for me. Can't remember much else.

I'm pretty much a newbie, but when time allows, I'd be glad to help however I can. smile.gif Great idea, PedrosPad. It may have resparked my interest in the Xbox.
Title: OpenDash
Post by: PedrosPad on February 20, 2005, 01:22:00 AM
QUOTE(DaddyJ @ Feb 19 2005, 10:33 PM)
Just a thought, I was talking to a few of my buddies about your post, and they seem to think that you can get better results with having all 4 ports plugged in??? dont ask , long story.... Also on a whim, do you have access to a dvd dongle, have that plugged into port 3, may also increase your chances....
Title: OpenDash
Post by: Keo-Keo on February 20, 2005, 01:54:00 AM
was there ever a solution found for a 1.6 with the video issues? If the xbox gets a DHCP address the user won't know what the address is if they can't see it.. I guess you could look through the router for a client list.. But i'd like to also like the video to work.. Another solution would to set the hostname of the xbox to "xbox" you can just place that on there if the xbox is in the local network..

If anyone interested in making a update script/feature script (allows you to download ne w featers like gamebackup samba http (for remote)) I might just look how the gentoox magic script works and emulate that and host all the updates on my server.. (or perhaps SF.net)

EDIT : Spelling.. Hehe bare with me. i didn't catch everything but fixed it to where is readble..
Title: OpenDash
Post by: d0wnlab on February 20, 2005, 12:41:00 PM
QUOTE(PedrosPad @ Feb 20 2005, 08:28 AM)
Tried with 4 joysticks last night – a mixture of 1st and 3rd party pads, and tried all sorts of permutations - still no good results.
Title: OpenDash
Post by: DaddyJ on February 20, 2005, 12:57:00 PM
QUOTE(d0wnlab)
The numbering is 2 3 0 1 from left to right, not 0 1 2 3.  I did some debugging awhile ago on the pad.c in openXDK and found that out..


That makes since, considering the backwards MCH controller.

Title: OpenDash
Post by: Keo-Keo on February 21, 2005, 09:53:00 PM
beerchug.gif
Title: OpenDash
Post by: PedrosPad on February 23, 2005, 02:56:00 AM
QUOTE(d0wnlab @ Feb 17 2005, 08:46 AM)
it's crashing on me somewhere in the startup routines.  Where depends on what xbox I use unfortunately.  My 1.4 crashes before my friend's 1.0 (iirc might be wrong on this version).
Title: OpenDash
Post by: PedrosPad on February 23, 2005, 03:24:00 AM
biggrin.gif
Title: OpenDash
Post by: Keo-Keo on February 24, 2005, 12:02:00 AM
Some info on the linux side..

I tried adding a samba server to the new linux but it was too big for the ramdisk.. The ram disk supports 4096k while my ramdisk image was 6093k. I'm not sure what determines the 4096k i think it might be xcromwell bootloader since i didn't seen anything the the postlinux boot up in mkaing the ramdisk.

I quicky came accross ls command with allow you to map a program IE

ls -s /mnt/E/samba/ /mnt/usr/bin/

so when linux goes to look for samba in the bin folder it load it from the Xbox's hard drive..  Allowing me to get my ramdisk back down to 1mbish though i havn't tested the ls all the way on the xbox seems to work just fine on my pc for now..

If i can get samba working this would be great for XBMC users who have many xbox's networked over their house with video's stored on them.. You could launch this baby and have samba server working from the xbox it self! YEA BABY!. YEA!
Title: OpenDash
Post by: d0wnlab on February 25, 2005, 02:06:00 PM
smile.gif

Interesting developments.. I'll get back into pushing further with the cromwell usb library.  Thing is, I bet you're right that the USB code for the openXDK does only work in finicky situations.  This is a bad thing, and is due to the code being largely a hack.  I'm pushing further with my dash-app too, it's almost able to be released (had some time to do some more prettification) but I mean, without input there isn't much that can be done sad.gif

Keo-Keo, what you've done sounds great!!  Just a quick question, I've yet to try what you've done, but do you think you could set it up that a certain key combination could reboot the xbox?  That way you don't always have to telnet in and reboot it to get back to the dash..  no idea if this is possible or already implemented.

(oh, and I think you might mean 'ln' not 'ls'.  ls just lists files, but 'ln' makes symbolic links which is what you're talking about smile.gif )

Title: OpenDash
Post by: Keo-Keo on February 25, 2005, 09:34:00 PM
Yea your right (ln).. hehe.. :-)

What you said umm maybe not sure.. I havn't seen any linux that reboots.. If linux could reboot (not just halt the system for you to reboot it) Then it should be possible a keycombo would launch a shell script.. But i'd have to ask Chimp on this since he's the only one i've seen with mini linux and xpad fuctions.

I'll try to pop out some tests of samba.. I think it would be great addon. :-D
Title: OpenDash
Post by: PedrosPad on February 26, 2005, 07:27:00 AM
QUOTE(Keo-Keo @ Feb 26 2005, 04:40 AM)
Yea your right (ln).. hehe.. :-)
Title: OpenDash
Post by: Trevante on February 26, 2005, 07:09:00 PM
QUOTE(Keo-Keo @ Feb 21 2005, 09:59 PM)
I have a beta of the linux app working now..
Title: OpenDash
Post by: Keo-Keo on February 27, 2005, 12:38:00 AM
QUOTE(PedrosPad @ Feb 26 2005, 02:33 PM)
IIRC GentooX has a linux reboot command.
Title: OpenDash
Post by: PedrosPad on February 28, 2005, 02:56:00 AM
QUOTE(Keo-Keo @ Feb 27 2005, 07:44 AM)
QUOTE(PedrosPad @ Feb 26 2005, 02:33 PM)

Title: OpenDash
Post by: Keo-Keo on February 28, 2005, 01:34:00 PM
QUOTE(Hexstr @ Feb 28 2005, 03:40 PM)
uhhm almost all linux distro's will reboot.  all you have to do is type '/sbin/shutdown -r now' and it will reboot '-h' is halt.
Title: OpenDash
Post by: PedrosPad on March 02, 2005, 05:13:00 PM
QUOTE(PedrosPad @ Feb 23 2005, 10:02 AM)
My instinct is telling me to build the known-to-work pure free-xdk PBL app, and tool it up with some additional debugging statements to output the results it gets from the USB controller during initialisation.
Title: OpenDash
Post by: Keo-Keo on March 03, 2005, 04:36:00 PM
I've given up on trying to remake ltools mini linux.. I have the stripped down VER working with out the UXE scripts and a redone linuxrc..

I've decided just to compile a custome kernal just for OpenDash.. (i was going to have to add SMB support and Keyboard with Xpad support unless i wanna steal gentoox's kernal.. WHICH I MIGHT!!! hahaha.. ) I have much learning to do on compileing the new kernal.. But i hope to churn somthing useable out (SMB SUPPORT!) Well good luck guys!
Title: OpenDash
Post by: PedrosPad on March 04, 2005, 02:16:00 AM
QUOTE(PedrosPad @ Mar 3 2005, 12:19 AM)
QUOTE(PedrosPad @ Feb 23 2005, 10:02 AM)
My instinct is telling me to build the known-to-work pure free-xdk PBL app, and tool it up with some additional debugging statements to output the results it gets from the USB controller during initialisation.
Title: OpenDash
Post by: d0wnlab on March 04, 2005, 12:15:00 PM
you shouldn't have to make manual changes to the header files to change the directory order.. just specify a bunch of -I(relative path to directory) statements on the commandline and that should do it for you just fine.  IE if you add -I../include it will look there before checking the standard header files (or at least, it should..) also try adding -no-cygwin on the command line if it isn't there, because we want to link against our own newlib etc..

Title: OpenDash
Post by: PedrosPad on March 04, 2005, 02:53:00 PM
sad.gif

Some of the PBL sources #include <boot.h>, for example, which only exists in the std gcc header folders, but boot.h contains #include <sys/type.h> (yes, *.h files including others dry.gif )- but there is no /sys/ folder relative to the gcc boot.h file, but there *is* one, say, 2 folders down in the free-xdk folders - which obviously it fails to find  mad.gif .  All very puzzling.  Copying the *.h file and editing the *.c files was in desperation, not my first approach.

I wondered if it was standard Linux development practice to mount the /sys/ folder under the gcc include folder or some such. uhh.gif
Title: OpenDash
Post by: d0wnlab on March 04, 2005, 09:45:00 PM
that's a good point.. Pedros do you know what environment free-xdk is known to work under? I didn't bother trying to get it to work for too long because it has *no* documentation whatsoever and just seems, I dunno, worse than openXDK in a lot of respects.

Considering freeXDK uses an old cromwell usb library, why don't you try doing what you're doing with PBL with cromwell instead?  (add debugging info, etc..)  It might be a better solution, I dunno.
Title: OpenDash
Post by: PedrosPad on March 05, 2005, 02:19:00 AM
QUOTE(d0wnlab @ Mar 5 2005, 04:51 AM)
Pedros do you know what environment free-xdk is known to work under?
Title: OpenDash
Post by: PedrosPad on March 05, 2005, 03:37:00 PM
QUOTE(dus @ Mar 5 2005, 12:08 PM)
I got the sources for PBL 1.4.1 and downloaded the cvs modules of free-xdk. After some trial and error and a bit of luck I managed to compile PBL 1.4.1 under a linux system (fedora core 2). Well at least it produced a xbe file, I have no clue if it works...
Title: OpenDash
Post by: PedrosPad on March 06, 2005, 04:24:00 AM
QUOTE(PedrosPad @ Mar 5 2005, 10:43 PM)
I'm puzzled.  Why doesn't the PBL makefile have a gcc switch "-Ixboxlibc/include/"?  Why didn't the original authors need this? uhh.gif
Title: OpenDash
Post by: d0wnlab on March 07, 2005, 11:54:00 PM
I just spent another couple hours pushing through the cromwell source on my xbox that can get the furthest.  It's still crashing in the USB booting code and it's going kinda annoyingly bad.  Even if we get it working the interface sucks for anything but a dash (I don't think multiple controllers are supported?  they seem to not be via the API..) but that's all extensible I guess.. *sigh* I'm going to bed..
Title: OpenDash
Post by: d0wnlab on March 08, 2005, 10:49:00 AM
smile.gif.

and here's one of my other project right now (will also work on openXDK, hopefully four player multiplayer tetrinet-style)

user posted image
Title: OpenDash
Post by: PedrosPad on March 08, 2005, 11:52:00 AM
QUOTE(d0wnlab @ Mar 8 2005, 05:55 PM)
well, here's some pics of what I have working dash-wise

View Post

Title: OpenDash
Post by: Keo-Keo on March 08, 2005, 12:01:00 PM
if you want i could give you shell acess to my fc2 server will some space.. you can compile the stuff and host it there too..
Title: OpenDash
Post by: PedrosPad on March 09, 2005, 08:02:00 AM
QUOTE(PedrosPad @ Mar 8 2005, 06:58 PM)
My update:
Title: OpenDash
Post by: kennelbound on March 09, 2005, 10:59:00 PM
I don't know CVS, but in an attempt to try and find a solution to the input issue, I tried downloading the latest CVS build from sf.
 I found, when using their CVS browser, the USB code from the MS version.

I'm a java dev, so I'm not much for lower level stuff, but might that help us get a little closer to having controllers?
Title: OpenDash
Post by: d0wnlab on March 10, 2005, 09:39:00 AM
sad.gif

still no worky, but at least we know the official openXDK was doing precisely what we're doing now.  That, and if they only have nine files building we're ahead of them (since we have the whole lib building).

Title: OpenDash
Post by: PedrosPad on March 10, 2005, 03:28:00 PM
QUOTE(TMaul @ Mar 10 2005, 09:45 PM)
Just got a build of padtest.xbe thats linked against my port of the cromwell usb code run on a 1.0 as 1.0 boxes seem to have no problems with the existing code.
Title: OpenDash
Post by: Carcharius on March 10, 2005, 03:38:00 PM
TMaul forgot to mention that it was my 1.0 box which ran the code he is talking about.

On another note - the video problems (no frambuffer or failing to launch when launching from anything other than evox) are fixed.

I'm just in the process of coding up a new video library for openxdk.

Carcharius
Title: OpenDash
Post by: d0wnlab on March 10, 2005, 03:48:00 PM
beerchug.gif
Title: OpenDash
Post by: PedrosPad on March 11, 2005, 02:36:00 AM
QUOTE(PedrosPad @ Mar 9 2005, 03:08 PM)
Built like a charm using dus's instructions under Ret Hat 9 on VMWare 4.5.  biggrin.gif
Title: OpenDash
Post by: kennelbound on March 11, 2005, 11:16:00 AM
Any chance of getting the USB code posted?  Maybe a howto or two (unless you've simply updated the current files with the cromwell code?)

I have a 1.0 box, and since I'm kinda stuck until I have controllers, I'd like to get ahold of it.

I am, unfortunately, a Java dev, so working with C is confusing enough.  But through the use of a bunch of tutorials online, I have Pong, free and legal (except controllers).  For a starter project a lot more went into this than I imagined, but I digress.

If you need a location to post, pm me the file and I'll post it on my website.
Title: OpenDash
Post by: kennelbound on March 11, 2005, 12:05:00 PM
CODE
ftp -in <open $1
user $2 $3
bin
cd $4
put $5
bye
echo "The current build was FTP'ed to the xbox."


usage is obviously:
CODE
uploader


now all I have to run is make, then go run into the other room to test.
Title: OpenDash
Post by: fghjj on March 11, 2005, 08:11:00 PM
smile.gif
In EvoX you can also run your fresh .xbe:
CODE

ftp -n 1.2.3.4 <[login upload blah]
quote MKD /E/foo;;;;;evox doesnt seem to like normal ftp mkdir
quote execute E:\foo\bar.xbe
!

btw. I actually haven't done anything else on this then setting up a nice makefile rotfl.gif
Title: OpenDash
Post by: kennelbound on March 13, 2005, 02:53:00 PM
I've got Pong finished minus the controller input.  I coded in some AI so that you can play one player, and right now I've got the computer playing itself.

Everyone seems to be away for the weekend, because up until friday there were several posts a day.  There's only been one post this weekend however.

Weird.

Anyhow, just wanted to see if anybody's gotten any further with the cromwell stuff.
Title: OpenDash
Post by: d0wnlab on March 13, 2005, 03:01:00 PM
sad.gif

once it is done though I will have a 4 player tetris game ala tetrinet-style pretty much done, plus a tron game, plus the XBE-selector (I'm refraining from calling it a dash cuz it's lacking the other significant dash qualities).

One thing too is that Craig Edwards will be back from holidays at the end of this month, and will be able to shed new light if we haven't figured it out yet, although it seems pretty definite that it's a USB xbox version issue.. Maybe someone could also ask the xbox-linux devs about that too since it is their port.

Title: OpenDash
Post by: kennelbound on March 13, 2005, 05:35:00 PM
I talked to one of the guys from the cromwell dev team.  They seemed reluctant to help, as you can only use the .xbe's if you modify your xbox.  So I doubt we'll see to much help from that direction.

More likely Craig will be the one to help us out.  Who knows.  I suppose I'll start working on my next app while I wait.
Title: OpenDash
Post by: BluhDeBluh on March 17, 2005, 04:01:00 PM
QUOTE(kennelbound @ Mar 14 2005, 12:41 AM)
They seemed reluctant to help, as you can only use the .xbe's if you modify your xbox. 
Title: OpenDash
Post by: kennelbound on March 17, 2005, 09:00:00 PM
Well an exploit IS a type of mod, which is illegal in the US (according to the DCMA.)  So in the US having and OS dashboard built with Open or FreeXDKs will be useless, for legal purposes anyhow.

Title: OpenDash
Post by: d0wnlab on March 19, 2005, 06:45:00 PM
I don't know how correct that is kennelbound.  For one, linux booting via mods has been available for quite some time and is (afaik) legally distributed.  You can download font exploits and other software exploits to boot linux directly from the sf.net page.  afaik, legally.  the only thing illegal about modchips is that if they come with a modified MS bios.  again, AFAIK, and IANAL, and AFAIK YANAL (just had to say that) and any other 5 letter acronyms I can think of.
Title: OpenDash
Post by: kennelbound on March 19, 2005, 10:11:00 PM
DCMA states that anything which prohibits copy protection software/hardware/etc to operate is illegal.  That's why, in the US and anywhere that has DCMA-like laws it is illegal to do anything with your xbox which would allow it to run unmodified code.  Including exploits.

This is only as far as I understand the law.  I am not a lawyer, so I could be mistaken.
Title: OpenDash
Post by: Keo-Keo on March 20, 2005, 12:39:00 AM
QUOTE(kennelbound @ Mar 19 2005, 11:17 PM)
DCMA states that anything which prohibits copy protection software/hardware/etc to operate is illegal.  That's why, in the US and anywhere that has DCMA-like laws it is illegal to do anything with your xbox which would allow it to run unmodified code.  Including exploits.
Title: OpenDash
Post by: d0wnlab on March 20, 2005, 11:12:00 AM
QUOTE
http://www.copyright.gov/title17/92chap12.html#1201


(f) Reverse Engineering. - (1) Notwithstanding the provisions of subsection (a)(1)(A), a person who has lawfully obtained the right to use a copy of a computer program may circumvent a technological measure that effectively controls access to a particular portion of that program for the sole purpose of identifying and analyzing those elements of the program that are necessary to achieve interoperability of an independently created computer program with other programs, and that have not previously been readily available to the person engaging in the circumvention, to the extent any such acts of identification and analysis do not constitute infringement under this title.


my interpretation: to run homebrew software ("an independently created computer program.. that have not previously been readily available to the person engaging in the circumvention") you "may circumvent a technological measure that effectively controls access to a particular portion of that program".

So modding to play LEGAL homebrew games would be legal.  (since only in legal games do " not constitute infringement under this title") .  So, really, by creating an openXDK dash and games, we are actually turning the modding of xboxes from an illegal thing to a legal thing (aside from running linux, running any XDK based software was illegal).

Not to be rude, but let's quote the DMCA from now on to back up what we say about the DMCA.  I'm not saying this to be mean kennelbound (or Keo-Keo), but truthfully most of us are unsure of precisely what the DMCA says and only by quoting it will this conversation have merit.

Title: OpenDash
Post by: kennelbound on March 20, 2005, 11:28:00 AM
Man, I just got served.

:-)

Thanks for the correction.  Now if I could only get working USB...
Title: OpenDash
Post by: Keo-Keo on March 20, 2005, 11:54:00 PM
QUOTE(d0wnlab @ Mar 20 2005, 12:18 PM)
straight from the horses mouth: (DMCA section 1201(f)) - exceptions.
Title: OpenDash
Post by: d0wnlab on March 21, 2005, 11:21:00 AM
QUOTE(Keo-Keo @ Mar 21 2005, 07:00 AM)
I do agree but your talking about reverse engineering while i was talking about modding.. Which has little to do with reverse engineering.. To run the unsiged code from the expoit wasn't created from reverse engineered code (i don't belive)..
Title: OpenDash
Post by: Carcharius on March 23, 2005, 06:53:00 AM
QUOTE(TMaul @ Mar 22 2005, 10:13 PM)
Slightly OT, but is there an IRC channel for the openxdk?
Title: OpenDash
Post by: d0wnlab on March 23, 2005, 11:43:00 PM
smile.gif )