Openxdk Status ...
Posted 16 December 2008 - 11:09 PM
Can someone please clarify if SDL_Mixer is implemented properly, possibly show an example that you KNOW to work.
If it's not implemented yet, can someone please tell me if it's ever likely to be ??
Posted 17 December 2008 - 11:39 AM
Yes, it's stable and usable. But for SDL I don't know at all (I don't use it).
I wonder if anyone is currently working on openxdk (next gen is attracting!)
Backup of original site openxdk.org (it's gone now), thanks to maturion :
(the sourceforge link leads to an obsolete project page of course...)
Lastest stable version I know about (May 2007) :
I've included a 480i patch from Zagon
(He was asking to get it included in official repository, but I'm not sure anyone with the rights is reading this forum anymore. I don't have the rights myself)
Last official change I've heard about was the one made by Carcharius for pbkit compatibility (May 2007). I don't plan to use SDL since I have pbkit for direct GPU low level access :
(I don't know SDL at all... If I ever find time to work on sound I will probably handle sound at lowest level)
If anyone wants to create patches, I will be happy to include them in the archive I keep online.
I downloaded CVS source to be sure. No changes since 2006 (when it turned stable with the help of rpc's). Then, just one change in May 2007 for pbkit (no mandatory lock up of GPU Irq 3, so pbkit demos can use it).
Edited by openxdkman, 28 March 2009 - 10:26 PM.
Posted 17 December 2008 - 01:04 PM
I'm not that familiar with SDL either, I've just run out of patience trying to link SDL_Mixer, I get endless _undefined it's getting on my tits.
I wouldn't have a clue how to implement sound myself without using SDL, and I can't get SDL_Mixer or SDL_Audio to work, not even a little bit ...
I guess I should give up ??
Posted 22 December 2008 - 09:07 AM
(you need chimes.wav 121252 bytes, PCM, 48Khz, 16 bits)
Makefile (you need true tabulations at beginning of indented lines) :
# update this variable to wherever you installed the OpenXDK libraries
PREFIX = /usr/local/openxdk
CC = gcc
CPP = cpp
CXBE = $(PREFIX)/bin/cxbe
SDLFLAGS = -DENABLE_XBOX -DDISABLE_CDROM
CC_FLAGS = -c -g -std=gnu99 -ffreestanding -nostdlib -fno-builtin -fno-exceptions -mno-cygwin -march=i386 $(SDLFLAGS)
INCLUDE = -I$(PREFIX)/i386-pc-xbox/include -I$(PREFIX)/include -I$(PREFIX)/include/SDL
CLINK = -nostdlib
ALIGN = -Wl,--file-alignment,0x20 -Wl,--section-alignment,0x20
SHARED = -shared
ENTRYPOINT = -Wl,--entry,_WinMainCRTStartup
STRIP = -Wl,--strip-all
LD_FLAGS = $(CLINK) $(ALIGN) $(SHARED) $(ENTRYPOINT) $(STRIP)
LD_DIRS = -L$(PREFIX)/i386-pc-xbox/lib -L$(PREFIX)/lib
#LD_LIBS = $(LD_DIRS) -lSDL -lopenxdk -lhal -lusb -lc -lxboxkrnl
LD_LIBS = $(LD_DIRS) -lSDL -lm -lopenxdk -lhal -lc -lusb -lc -lxboxkrnl -lc -lhal -lxboxkrnl -lhal -lopenxdk -lc
$(CC) -c $< $(CC_FLAGS) $(INCLUDE)
$(CC) -o $@ $< $(LD_LIBS) $(LD_FLAGS)
$(CXBE) -TITLE:"$@" -DUMPINFO:"default.cxbe" -OUT:"default.xbe" $@ > /dev/null
rm -f *.o *.exe *.dll *.xbe *.cxbe
//"D:" stands for ".", it seems.
void readFromFile(char *buffer, int size)
//"d:/" is considered as "./"
XCreateFile(&handle, "d:/chimes.wav", GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL);
int newLocation, read;
XSetFilePointer(handle, 0x3A*0+64, &newLocation, FILE_BEGIN);
XReadFile(handle, buffer, size, &read);
#define BUF_SIZE 4096
void mycallback(void *pac97device, void *data)
if (left==0) return;
if (current==NULL) return;
XAudioProvideSamples(current, BUF_SIZE, false);
current += BUF_SIZE;
left -= BUF_SIZE;
XAudioProvideSamples(current, left, true);
current = NULL;
bufferSize = 121188; //chimes.wav=64 bytes of header and 121188 bytes of data
buffer = (char *)malloc(bufferSize);
XAudioInit(16, 2, mycallback, NULL);
// lets give it something to play...
XAudioProvideSamples(current, BUF_SIZE, false); current += BUF_SIZE; left -= BUF_SIZE;
// and now play...
debugPrint("Hit B to exit program. Hit repeatedly A. Y starts playback.\n");
//Let's check for joypad events
//(assuming tester is hitting A button all the time)
for(i=0; i<4; i++)
debugPrint("Pressed A on Pad %d - %d\n", i+1, g_Pads[i].CurrentButtons.ucAnalogButtons[XPAD_A]);
debugPrint("Pressed B on Pad %d - %d\n", i+1, g_Pads[i].CurrentButtons.ucAnalogButtons[XPAD_B]);
debugPrint("Pressed X on Pad %d - %d\n", i+1, g_Pads[i].CurrentButtons.ucAnalogButtons[XPAD_X]);
debugPrint("Pressed Y on Pad %d - %d\n", i+1, g_Pads[i].CurrentButtons.ucAnalogButtons[XPAD_Y]);
debugPrint("End of test. Rebooting...\n");
Edited by openxdkman, 22 December 2008 - 09:50 AM.
Posted 22 December 2008 - 12:05 PM
I am not sure, but I think it would be the best to start a new sourceforge project and to upload all patches that were made in the last years to this new project.
Edited by Maturion, 22 December 2008 - 12:07 PM.
Posted 18 February 2009 - 10:56 PM
Kudos go to edwardaux aka Craig for setting me up as a project admin.
Posted 20 February 2009 - 10:26 AM
Please grab Zagon's patch, that allows 480i display, from the Zagon directory in the May 2007 pre-compiled archive (link is at top of this thread)
Feel free to add pbkit module and samples if you like (as separate samples).
My job is still eating up all my free time, so I'm a bit out of homebrew projects at the moment... (I barely manage to take the time to follow up progresses of homebrew possibilities on different platforms and keep my modified consoles in good shapes...)
Edited by openxdkman, 20 February 2009 - 10:31 AM.
Posted 20 February 2009 - 10:41 AM
That should help to build up a future tcp/ip stack.
(you can retrieve link from the changelog.txt file at top of thread)
I predict all my archives to be gone this summer (my ISP as been purchased by another one and will plug out servers this summer). I won't reupload those that are hosted in official repository.
Edited by openxdkman, 20 February 2009 - 10:44 AM.
Posted 22 February 2009 - 10:37 AM
For those who wonder how to download :
sourceforge.net (not .com)
search for 'openxdk'
new fresh downloads are ready there behind the green button
Thanks a lot for putting pbkit there. I feel relieved.
In the full package list, click the first column instead of the last column (download) to really see all existing packages.
Edited by openxdkman, 22 February 2009 - 10:41 AM.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users