Original Post

I am currently working on packaging up a complete, portable Virtual Boy development environment (“VBDE”) for Windows. Only download, unzip and start working, no installation, no hassle. It comes in the form of an editor (Notepad++) with shortcuts for compiling, running with Reality Boy or Mednafen and flashing to a FlashBoy. Also included will be example code which can be used as a starting base for new projects.

VBDE currently consists of:
– Cygwin with gccVB 2.95
– a portable Notepad++, with a few plugins and custom shortcuts
– a collection of development tools
– example code

Thank yous go to thunderstruck for helping me with tying this thing together. πŸ™‚

I got this working on my machine, but still need to do some tests to see if it really is portable. πŸ˜› If so, I will make a preview version available soon.

Hopefully, this project will finally end all the confusion newcomers to VB programming have to face and make setting up a development environment as easy as downloading and unzipping. Also, I hope the included example/base code can be used to hold a standardized library. A point to collect all the useful bits and bytes which are currently scattered in countless private versions of libgccvb, to give developers the best possible tools at hand to create amazing new homebrews for out beloved Virtual Boy.

66 Replies

I was fixing some stuff on a tool I’m working on today. Therefore I created a little demo in the latest vbde to try stuff out. Somehow I couldn’t get the paralax to work. Everything would always stay at p=0. It took forever to figure out what is going on. Finally I noticed that the world.h of the new vbde says:

#define WORLD_GSET(n,gx,gp,gy) WAM[(n << 4) + 1] = gx; WAM[(n << 4) + 3] = gy instead of: #define WORLD_GSET(n,gx,gp,gy) WAM[(n << 4) + 1] = gx; WAM[(n << 4) + 2] = gp; WAM[(n << 4) + 3] = gy; So if you use the latest vbde you will need to fix this.

Thanks for the feedback! I have fixed that for the next version.

You should skip those obsolete (i.e. deprecated) macros and do it the new way:

WA[n].gx = foo; WA[n].gy = bar; WA[n].gp = baz;

And so on. I’m sure there are many better ways to load World attributes, but for quick’n’dirty projects, this will do the trick.

RunnerPack wrote:
You should skip those obsolete (i.e. deprecated) macros and do it the new way:

WA[n].gx = foo; WA[n].gy = bar; WA[n].gp = baz;

And so on. I’m sure there are many better ways to load World attributes, but for quick’n’dirty projects, this will do the trick.

I know. I like using the old ones when I’m in a hurry. I would either remove them or fix them though. Having something broken there only produces trouble, especially for someone who is new to vb development.

Speaking of VBDE’s libgccvb, why doesn’t it have a bgmap.h? There were some useful macros there, BGM_PAL* if nothing else.

HorvatM wrote:
Speaking of VBDE’s libgccvb, why doesn’t it have a bgmap.h? There were some useful macros there, BGM_PAL* if nothing else.

Can you point me to a copy of libgccvb which contains that file? The copy I used as a base for VBDE’s apparently didn’t have that file and I couldn’t find it in any of the homebrews I looked at.

It’s in the gccVB 1.0 distribution.

HorvatM wrote:
It’s in the gccVB 1.0 distribution.

Thanks! I’ll add it.

This one has taken me a while, but I am finally wrapping it all up for a proper release of VBDE. So here’s the new Preview 5:

http://www.planetvb.com/content/vbde_preview5.7z

This release brings back Cygwin to allow for the latest gccVB patches. Sadly, we couldn’t get a working native Windows build.

The good news is, I have recently been working with jorgeche to get the VBJaEngine integrated into VBDE. It’s all working perfectly smooth now including a nice, complete Grit workflow. The engine saw a large overhaul and the new version surely rocks! Along with it, we’re working on a platformer demo which will showcase the engine usage and (a few of) its capabilities. Both the new engine version and the platformer demo are still heavily in the works and will be released in 2015, though, so these are not included yet. Please be patient. If anyone wants to help out with development, you’re welcome. πŸ™‚

Furthermore, VBDE now works from anywhere, it no longer needs to be placed in C:/vbde.

Note that *.vbh was renamed to “header”. Also, the PVB Framework was merged into the barebone sample.

There should be many more changes, but it’s been almost a year since the last release and it’s become a bit too late today for me to check. πŸ˜‰

If you are planning to include VirtualBox into a later release I could go ahead and adapt it to the new structure. Just in case someone actually wants to use it.

thunderstruck wrote:
If you are planning to include VirtualBox into a later release I could go ahead and adapt it to the new structure. Just in case someone actually wants to use it.

Yes, that would be great!

I saw the news article about the VBDE release, but no corresponding forum post… so I’m assuming discussion is still here?

I’ve been really busy with work, life, other projects, etc… so I’ve been slacking a bit on VB stuff. And I got a new laptop a while back, so getting around to setting up my VB dev environment again has been sorta my barrier to getting back into it. I’m pretty excited to try out this “ready to go” modern gcc on it (I was previously bouncing back and forth between compiler versions).

BTW, in this VBDE release, what’s the status of the various 4.4.2 fixes and outstanding issues that have been discussed?

DogP

Hey Pat, great to see you back and still interested in VB development!

The gccVB included in this VBDE release has been compiled for Cygwin by jorgeche, so I am not 100% sure the following info is correct, so please correct me if this info is wrong or incomplete, Jorge. πŸ™‚ But to my best knowledge, it includes the latest 4.4.2 patches by blitter and jweinberg, plus some fixes to the vb.ld.

The following should be all applied patches, according to the VBJaEngine repo:

binutils-2.20.1-vb.patch
binutils-2.20-vb_blitter-20101122.patch
binutils-2.20-vb_blitter-20130904.patch
gcc-4.4.2-vb.patch
gcc-4.4.2-vb_blitter-20101123.patch
gcc-4.4.2-vb_jweinberg-20110908.patch
newlib-1.17.0-vb.patch

I also split libgccvb into to c and header files, which, in combination with a new default makefile, allows for the -02 and -03 code optimization flags.

Concerning the outstanding issues… they’re still outstanding as far as I know.

  • This reply was modified 9 years ago by KR155E.

I just downloaded the VBDE to have a look at it. I’m not sure when I’ll have time to try some coding but what I did notice is that at least 1 file is not portable yet.

The lightExplorer.ini has it’s path’s fixed. it should be:

[startContext]
loadOnStartup=1
currItem=Favorites,..\\..\\
[LightExplorer]
useSystemIcons=1
[Favorites]
VBDE=..\\..\\
Samples | libgccvb | barebone=..\\..\\samples\\libgccvb\\barebone\\
Samples | libgccvb | demos=..\\..\\samples\\libgccvb\\demos\\
Samples | libgccvb | Game of Life=..\\..\\samples\\libgccvb\\game-of-life\\
Samples | VBJaEngine | Barebone=..\\..\\samples\\vbjaengine\\barebone\\
Samples | VBJaEngine | Platformer Demo=..\\..\\samples\\vbjaengine\\platform-demo\\
Libs | libgccvb=..\\..\\libs\\libgccvb\\
Libs | VBJaEngine=..\\..\\libs\\vbjaengine\\

(Backslash would not show up here, I had to unescape it)

Once those changes are made the package can be extracted anywhere and Notepad++ will find the Favorite folders.

Thank you DrWho198!

I thought that Notepad++ could not be made fully portable so that some settings like bookmarks or theme would not show up when VBDE was not in C:\vbde. But I had another look after your post and managed to change all hardcoded paths to relative paths.

So the next VBDE release will be 100% portable. πŸ™‚

Hey Krisse, I had a look at the pro version of vbde a while ago. VBDE certainly came a long way since I’ve sent you my batch files 4 years ago. Even though I like intellij as an IDE it just wouldn’t work right for me. The code completion often didn’t work and I had some other issues. I assume that’s because it is a java IDE after all.

However, I went ahead and made my own version of vbde pro using CodeLite as an IDE. While the code-completion an the like all work great it has some shortcomings as well. It is for example harder to ship a pre-configured version and I have some absolute paths in some of the config files. If you are interested I can tell you what I did and share the result.

Attachments:

Hey thunder! After a little while, I too was very annoyed with the problems you described, and disabled the C++ plugin in my copy of VBDE Pro. That plugin is an older third party plugin and obviously has its problems – like completely breaking code completion. That’s very sad, since IntelliJ is such a fantastic IDE. πŸ™

I haven’t heard of CodeLite before, must be pretty new? Anyway, it looks nice! I’d like to check it out as an alternative to IntelliJ.

KR155E wrote:
Hey thunder! After a little while, I too was very annoyed with the problems you described, and disabled the C++ plugin in my copy of VBDE Pro. That plugin is an older third party plugin and obviously has its problems – like completely breaking code completion. That’s very sad, since IntelliJ is such a fantastic IDE. πŸ™

I haven’t heard of CodeLite before, must be pretty new? Anyway, it looks nice! I’d like to check it out as an alternative to IntelliJ.

It has been around since 2006 in various forms. I didn’t know it either though. After giving up on IntelliJ I figured that there has to be an free IDE for c development. CodeLite is the best thing I found.
The code-completion works very well, even if you have multiple projects that contain the same files. There are more plugins that could be useful. On top, CodeLite is open source so you could just create your own vbde branch.

So far I enabled the external tools that exist in the IntelliJ version. So building, emulation and so on works.
I could easily compile and run your platformer demo (which looks amazing btw). I’m in the middle of porting the Snatcher code to the new vbde build system now.

I just started using the new vbde. One things that bothered me was that I couldn’t pin the shortcut to my taskbar. So I quickly programmed a Launcher.

Nice, I’ll include your lauchner with the next VBDE release!

 

Write a reply

You must be logged in to reply to this topic.