Okay, so helping VirtualChris with his VB game has sparked an interest to get started with trying out a bit of VB homebrewing myself. π But the wiki doesn’t contain any Linux instructions, and only a precompiled version of gccVB for Windows.
So then I found a zip of the source version here on PlanetVB, but it seems to contain VB versions of a whole bunch of rather important files. And I can spot a “make all install” in the make_v810.sh file.
So my main question is… Is it safe to install? Since I’m running a working Linux system with its own versions of these things, do I run any risk of it overwriting anything important?
(I’d be more than happy than supplement the wiki page with Linux instructions once I get it working. π )
The simplest way to get started on Linux is to install wine and download vbde. You can extract vbde right in the drive_c folder of .wine and startup the programmers notepad under the editors folder. Im writing this from memory so folder names might not be exact. There is an item or two more to setup but I dont remember it being difficult to do.
I can’t speak for that ancient version of GCC since I’ve never bothered with it, but the executables for gccVB 4 are prefixed with “v810-” so they don’t interfere with the system version. In any case, the make_v810.sh script installs everything to /opt/gccvb so it’s contained in its own directory, but that’s easily changed by editing the script yourself.
There’s a bit of an effort to stabilize gccVB 4 (It’s functional, but has a few outstanding issues) so that’s probably why it’s not in the Tools area yet. If you’re feeling adventurous you can search the forums for the patches and build it yourself…
blitter wrote:
I can’t speak for that ancient version of GCC since I’ve never bothered with it, but the executables for gccVB 4 are prefixed with “v810-” so they don’t interfere with the system version. In any case, the make_v810.sh script installs everything to /opt/gccvb so it’s contained in its own directory, but that’s easily changed by editing the script yourself.There’s a bit of an effort to stabilize gccVB 4 (It’s functional, but has a few outstanding issues) so that’s probably why it’s not in the Tools area yet. If you’re feeling adventurous you can search the forums for the patches and build it yourself…
What are you referring to as “ancient”? The compiler included in VBDE is gcc 4 (See: http://www.planetvb.com/modules/newbb/viewtopic.php?post_id=18197#forumpost18197).
I am also confused about gccVB 4 not being in the Tools section, but the real question is: why isn’t VBDE in there?
Im pretty sure blitter was referring to the “precompiled version” that DaVince mentioned which is 2.95. But he can correct me if I am wrong. However I would like to note that the version with VBDE as I and blitter have pointed out in other posts doesn’t compile with the most optimal code for whatever reasons. Whether its the patches or something inherant in gccvb 4 is probably still an outstanding question. I setup a windows vm and installed cygwin just to compile with the 2.95 version because the compiled code was roughly 5 times faster than with the newer version. Things like using “inline” on a function which should cause the compiler to inject the function inline still produce normal function jump and return code in VBDE. Of course I don’t know enough about gcc to even guess at where to look for that kind of stuff.
Thanks for the info! It looks like I stumble across some issues trying to build the 2.95 source, so I guess going the Wine + VBDE route is the path of least resistance right now? That performance hit doesn’t sound too good, though… (And native is just nicer in general..)
There’s a bit of an effort to stabilize gccVB 4 (It’s functional, but has a few outstanding issues) so that’s probably why it’s not in the Tools area yet. If you’re feeling adventurous you can search the forums for the patches and build it yourself…
I guess you’re talking about this? I cloned the Git repo and at least now I understand what libgccVB is for. And that I need v810-gcc, which fails to compile (at least the version included in the gccVB 2.95 source).
As for the performance hit it only really affected me because I was writing code for wireframe graphics and therefore did not utilize the VIP at all. I was craming a lot more instructions into a game frame than would be done for a regular game using the VIP and sprites. So I was processing every pixel with the CPU without any help from the VIP. I still code and compile everything in VBDE first and then just recompile when I’m about finished with the 2.95 version to get the performance boost. There are some syntax/structural differences that you need to account for between the GCC versions to do that but I usually keep my code pretty simple so it was easy to adjust for those.
All right. My games usually don’t become very complex either so that should be enough, then. π
Is vbde_preview4 the latest version?
Edit: Okay, VBDE is nothing short of amazing. I open the lnk file with Wine, and bam, development environment where the example game (that was already open) compiles and runs right away.
Again, thanks for the help. Maybe the wiki is due for an update in general on getting things running? π
- This reply was modified 10 years, 1 month ago by DaVince.
DaVince wrote:
I guess you’re talking about this? I cloned the Git repo and at least now I understand what libgccVB is for. And that I need v810-gcc, which fails to compile (at least the version included in the gccVB 2.95 source).
Was referring to the compiler suite, but since it’s mentioned, the libgccvb headers I use are based on a really old set. I basically only use them for the equates and const mappings– setting up the column table is done in my crt0.s and the remaining functionality I rewrite to fit whatever project I’m working on.
Greg Stevens wrote:
Im pretty sure blitter was referring to the “precompiled version” that DaVince mentioned which is 2.95. But he can correct me if I am wrong. However I would like to note that the version with VBDE as I and blitter have pointed out in other posts doesn’t compile with the most optimal code for whatever reasons. Whether its the patches or something inherant in gccvb 4 is probably still an outstanding question. I setup a windows vm and installed cygwin just to compile with the 2.95 version because the compiled code was roughly 5 times faster than with the newer version. Things like using “inline” on a function which should cause the compiler to inject the function inline still produce normal function jump and return code in VBDE. Of course I don’t know enough about gcc to even guess at where to look for that kind of stuff.
By default I don’t think gccvb 4 builds with any optimizations. Building with -O3 or sometimes -Os can generate really performant code. However like we’ve mentioned there are still some outstanding bugs. gccvb 4 also has the ability to strip out code that isn’t used, resulting in a smaller .text section and therefore more room for other goodies in .data and .rodata.