Release Cannonball - The Enhanced C++ Outrun Engine


I'll try this ASAP


OT: maybe, do you know why everything I compile with codeblocks that require "libiconv" always searches for it in /usr/lib ? even if LD_LIBRARY_PATH is set and ALL the others libs are found where I set them to be found ?! this is making me crazy... it's the fourth program that I can't release because of this issue
If a shell script is involved you might want to check that it isn't just an invocation of /bin/sh that eats your LD_LIBRARY_PATH (because it is suid).
 
But aren't the "fixed samples" supposed to fix the PCM, therefore making patching not necessary ?
Hu, I don't think it automaticaly patche.. At least, the rom loader check for patched or unpatched rom, so I think it support both, but you still need to manually patch it.
 
The last time I played was some months ago and the sounds were working right, but now the music seems cut and sometimes even the sounds doesn't play... I tried with and without gles
 
The last time I played was some months ago and the sounds were working right, but now the music seems cut and sometimes even the sounds doesn't play... I tried with and without gles
Really? Strange. You are using what model of Pandora? And what Video parameters (mainly fps 30, 60, original and HiRes ON or OFF).
 
The last time I played was some months ago and the sounds were working right, but now the music seems cut and sometimes even the sounds doesn't play... I tried with and without gles
Really? Strange. You are using what model of Pandora? And what Video parameters (mainly fps 30, 60, original and HiRes ON or OFF).
1Ghz at 800Mhz, 30 fps and only widescreen on, all is off and window scale is 1x... in the sound options I had the "fix samples ON" option, I put it to off to try if something was changing (no luck), but now if I try to turn it on it tells "cant load fixed samples"
 
A Gigahertz model at 30fps and HiRes off should play without any stutering ?!!! Even a CC should. Very strange. Did you reboot your Pandora, just in case.
 
the game is smooth, it's just the music that seems missing some parts, always the same notes... and some random sounds... maybe I'll try to reinstall the midi pnd ? I'm not sure if it uses it, anyway in XCOM the sound is perfect
 
the game is smooth, it's just the music that seems missing some parts, always the same notes... and some random sounds... maybe I'll try to reinstall the midi pnd ? I'm not sure if it uses it, anyway in XCOM the sound is perfect
Nan, midi pnd is not use. It's all in the roms. That's very strange. I don't have any issue with the sound. Any hint in the /tmp/pndrun_cannonball.out file?
 
except for a "too many arguments" in line 140 on cannonball.sh, it's all ok in the log... tomorrow I'll try with a different rom, maybe the one I'm using is not supported anymore
 
Also, note that changing Video settings reset the video, but the bc_cat driver is not reinitialized properly, thus the Texture Streaming ins disabled, so save your settings and quit than relaunch to have Streaming Acceleration again.
I've tried to check this, but I'm just always getting "ERROR: BCIOREQ_BUFFERS failed", even on first start. Would be useful to print out errno there. Anyway strace shows you aren't even trying to open /dev/bccat* files, are you detecting driver versions or something?
I'd like to do kernel update soon (waiting for 3.2.61 release) so it would be good to iron out those bccat issues.

About the general bc_cat reinit issue, the API is rather broken that it doesn't allow you to free the buffers.. bc_cat from TI wiki frees old buffers automatically when new ones are created, but the one included with main pvr driver doesn't, for whatever reason. I guess the wiki behavior should be ported to the one included with main, otherwise it's not very usable.
 
Last edited by a moderator:
Also, note that changing Video settings reset the video, but the bc_cat driver is not reinitialized properly, thus the Texture Streaming ins disabled, so save your settings and quit than relaunch to have Streaming Acceleration again.
I've tried to check this, but I'm just always getting "ERROR: BCIOREQ_BUFFERS failed", even on first start. Would be useful to print out errno there. Anyway strace shows you aren't even trying to open /dev/bccat* files, are you detecting driver versions or something?

I'd like to do kernel update soon (waiting for 3.2.61 release) so it would be good to iron out those bccat issues.


About the general bc_cat reinit issue, the API is rather broken that it doesn't allow you to free the buffers.. bc_cat from TI wiki frees old buffers automatically when new ones are created, but the one included with main pvr driver doesn't, for whatever reason. I guess the wiki behavior should be ported to the one included with main, otherwise it's not very usable.
Oooops. You are right. I'm so confused, I have put a last minute check to try fix the reset issue, and I messed-up the test. That's what's happen when you "fix" things @ 1:00 AM.

I have fixed the version on the repo. THis one works, but only still only the first time the Stream Texture is inited (but maybe the fault is on my side).

I used the sample bc_cat 2.0 from TI to check how it work. And in the bc_cat sources, the driver does seems to free the old buffer, so I was expecting this behavour yes...

On the same subject, do you think we can "enhanced" bc_cat driver so it can also be used to allocate Contigous memory, for creating EGL PIxel Buffer?

0.2.1.22

  • Fixed Streaming Texture init for GLES mode (more speed)
  • Added experimental rotation for GLES mode
 
Last edited by a moderator:
Why does the whole screen rotate in GLES mode ?
Why not. I wanted to use the GLES mode for something. I will try to make that parametrable in the future, and I also want to add some acceleration/brake effect, but I rushed a bit because of the bug in the previous version.

Anyway, the pure SDL version is untouched, and does not rotate or anything, and should be as fast (if not faster) then GLES...

@Linux-SWAT: you don't like it?
 
Last edited by a moderator:
On the same subject, do you think we can "enhanced" bc_cat driver so it can also be used to allocate Contigous memory, for creating EGL PIxel Buffer?
I don't know how pixel buffer is used, but from what I see in bc_cat code the memory is already contiguous.

EDIT: ah you mean specifying your own memory for GL buffer objects.. No idea about that.
 
Last edited by a moderator:
On the same subject, do you think we can "enhanced" bc_cat driver so it can also be used to allocate Contigous memory, for creating EGL PIxel Buffer?
I don't know how pixel buffer is used, but from what I see in bc_cat code the memory is already contiguous.

EDIT: ah you mean specifying your own memory for GL buffer objects.. No idea about that.
Yeah, I need Contigous memory with the Physical address to create PixelBuffer with EGL. Than TI samples uses CMEM for that, but I was hoppping to extend bc_cat driver with some kind of malloc/free function.

With pixelbuffer, I want to try create Offscreen rendering (with GLES1.1, FBO are broken) and also maybe access Depth buffer... My aim is to add also more GLX function to glshim.

I can try to use actual bc_cat function (but I'm afraid the memory allocated is already linked to PVR Texture Streaming and is not really usable for anything else) or the function for the DSP (but it's not really practical).
 
Yeah, I need Contigous memory with the Physical address to create PixelBuffer with EGL. Than TI samples uses CMEM for that, but I was hoppping to extend bc_cat driver with some kind of malloc/free function.
What TI samples are you talking about?

I think you can still try using memory from bc_cat, before glTexBindStreamIMG() is called if shouldn't really be associated with textures, although who knows..

As for CMEM, you can get similar functionality from c64_tools, bad thing about CMEM is that it requires boot the kernel with that memory taken away.
 
Well, the rotation is a bit strange ! More a demo effect as it alters the gameplay ^^.
 
What TI samples are you talking about?
This one specificaly: the sgxperf tool. I want to try construct that NATIVE_PIXMAP_STRUCT that need Contiguous Memory and Physical Adress of it.

I think you can still try using memory from bc_cat, before glTexBindStreamIMG() is called if shouldn't really be associated with textures, although who knows..


As for CMEM, you can get similar functionality from c64_tools, bad thing about CMEM is that it requires boot the kernel with that memory taken away.
Yes, I know, CMEM is not good, that why I was looking at something like the c64_tools, but that was always present and easy to access, like the bc_cat.

Well, the rotation is a bit strange ! More a demo effect as it alters the gameplay ^^.
Yup. That was the aim. For standard gameplay, the SDL version is still there. But I tried a bit, and I kind of like the effect, but it can be distracting, sure.
 
Back
Top