You are here

VBA-M Portable 1.8.0 SVN 1206 Development Test 1

42 posts / 0 new
Last post
CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
VBA-M Portable 1.8.0 SVN 1206 Development Test 1

Application: VBA-M
Category: Games
Description: VBA is the best and most popular Gameboy Advance emulator around. Emulates GBA, GBC, SGB, GBA roms! Supports ZIP-ed roms, so that after downloading files from the net you don't even have to un-zip them.

Download VBA-M MFC Portable 1.8.0 SVN 1206 Development Test 1 [1.50MB download / 5MB installed]
(MD5: 977ECB56E10DE3E0B3A3A24130F3EC29)

Download VBA-M WxWidgets Portable 1.8.0 SVN 1149 Development Test 2 [5.21MB download / 6.60MB installed]
(MD5: CE9CB812C0A92A6B82FCC38B4C0397A6)

Release Notes:

1.8.0 SVN 1206 Development Test 1 (2013-11-04): Updated program.
1.8.0 SVN 1149 Development Test 2 (2013-07-12): Fixed UNC Recent Files. Isolated MFC and WxWidgets builds. Properly save settings for WxWidgets build. Recommend installing fresh and placing ROMs and saves after run.
1.8.0 SVN 1149 Development Test 1 (2013-03-22): Updated program.
1.8.0 SVN 1097 Development Test 4 (2012-12-14): Using DirectX Portable. UNC Explicitly Allowed.
1.8.0 SVN 1097 Development Test 3 Rev 3 (2012-11-25): Full Directory Move Support.
1.8.0 SVN 1097 Development Test 3 Rev 2 (2012-11-21): Directory Move OK. Recent ROMs from Data folder will be updated for both VBA-M versions (Wx or MFC) when launching one VBA-M version.
1.8.0 SVN 1097 Development Test 3 (2012-08-25): Using PAL:(Last)PortableAppsBaseDir instead of PAL:(Last)Drive.
1.8.0 SVN 1097 Development Test 3 (2012-07-23): Using PAL 2.2. Will preserve copied DirectX DLLs on install if reinstalling/upgrading on a PC without them.
1.8.0 SVN 1097 Development Test 3 (2012-06-29): Updated, fixed launcher path bugs. Will copy the one needed DirectX DLL on run to App to have all dependencies without having to redistribute them.
1.8.0 SVN 1085 Development Test 2 (2012-02-4): Updated, added WxWidgets, bugfixes, better registry handling. Using PortableApps launcher instead of custom code.
1.8.0 SVN 1025 Development Test 1 (2012-01-13): Initial release

Other Notes:

This is a continuation of the following Development Test:
https://portableapps.com/node/19864

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
I've been working on this

I've been working on this myself, just been working with PAL instead, and actually vba-m does have some dependencies that may not be satisfied like newer d3d runtimes and so forth, so as part of the vba-m team and also being a PortableApps.com developer I've been working on making some changes in vba-m to use mainly opengl and openal as the main dependencies since those can be redistributed

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I think it is possible to

I think it is possible to simply tweak some of the settings to use OpenGL/AL and include the needed DLLs but I'm not sure if the app itself has dependencies, as it runs fine on what I've tried.

John T. Haller
John T. Haller's picture
Offline
Last seen: 2 hours 15 min ago
AdminDeveloperModerator
Joined: 2005-11-28 22:21
OpenGL

OpenGL is problematic in the Windows world as most built-in graphics cards don't seem to support it. So it falls back to software. And is horribly slow.

Sometimes, the impossible can become possible, if you're awesome!

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
That and I cannot get OpenAL

That and I cannot get OpenAL to work on my own PC, but I think this will work on a modern PC (Windows 7) without too much trouble with missing DLLs. I could include OpenAL.dll for good measure. Mine does work with OpenGL but my last PC didn't.

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
the issue with directx in

the issue with directx in most cases since Visual Boy Advance-m compiles using the latest runtime something that needs to be installed by the enduser and can not be redistributed by the developer unfortunetly, and xaudio2 iirc is vista and 7 only dsound may work so that part could be kept

if you want to pop your head in to the vba-m website or the irc channel #vba-m on freenode myself and some of the other developers can try and work something out for a better portable version.

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I was wondering if it would

I was wondering if it would be OK in the case when it does run on a PC that has the required DLLs, to copy them into the App folder so they are there if needed. I have not checked into the feasibility of this as I haven't looked into how deep the DirectX dependencies run, as I figure if it runs too deep that copying 100MB+ of DLLs is a bad idea. But if it just required a few to launch and one could then use the OpenGL (which is its own can of worms in terms of success but I'm sure any modern PC runs well enough).

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
and I quote "something that

and I quote "something that needs to be installed by the enduser and can not be redistributed by the developer " meaning you can not include individual dll files, it's just not allowed in the EULA that the directx 9 runtime is licensed under.

Currently in development is a wxwidgets based interface for vba-m (based off of the current mfc windows interface in which you base your current release) and that supports opengl and sdl for video output, dsound8, OpenAL or sdl for audio which should work better for distribution wise.

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I'll give that one a shot,

I'll give that one a shot, and see if it can run without anything. I know they have at least one build precompiled as I used it once.

I'm starting to use the automatic launcher generator as its much easier than having to code in NSIS. I would have started with the WxWidgets if it wasn't for the registry but I've got that figured out with the Launcher Maker.

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
well I'm working on the

well I'm working on the registry issue, trying to track it down as fast as I can, I'll be releasing a build on vba-m shortly.

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
What will be the build

What will be the build number? I last heard of SVN 1025, could you send me the compiled build or a link to it? I'll try it out then.

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
From my testing on XP SP3,

From my testing on XP SP3, the only DLL that won't be there is D3DX9_43.dll. This is the only dependency throwing things up.

I determined that you cannot use XAudio2, but DirectSound works great, and OpenAL doesn't work on anything I've ever tried (but we can redistribute that). I set the default sound to DirectSound. Now I can set the Video Render to OpenGL but that does not fix the dependency (and I'm not so sure the Direct 3D render for emulation needs the directx install as XP has a d3d9.dll).

Since you've worked on the code, what exactly needs the DLL? If it is just the UI, then it seems making a UI without DirectX dependency would be enough. I've got all settings and stuff portable which was why I started this (all portable releases I tried were messing up my settings and leaving registry).

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
d3d is generally fine but

d3d is generally fine but what needs the dll is not the UI but the render-er and the only way to disable the directx dependency is to unfortunetly disable even the direct3d renderer as well, I'll propose some changes to the rest of the team, but at the moment the wxwidgets version (as soon as I fix the registry issue (which I did find the issue and it's toolkit level so I'm working on that code currently) it'll work well.).

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
Is 1085 the latest build? I

Is 1085 the latest build? I saw on VBA-M.com that you compiled this.

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
well for the wxwidgets

well for the wxwidgets interface it is, the mfc version has been updated to 1086 since my compile was using a vanilla visual studio compiler which has an sse2 bug that sp1 fixed but the wxwidgets interface version works and saves to an ini file in the appdata folder (working on be able to redirect that via commandline and getting some of the mfc features into the wxwidgets build)

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I will probably stick with

I will probably stick with MFC for now. Does the wxwidgets build rely on DirectX?

I am remaking the launchers on all my stuff to use the generator as opposed to being custom, and its a lot easier that way.

For now, I let it store the ini there and move it back, but it would be ideal to simply make it dump in the same folder as the exe.

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
well the wxwidgets interface

well the wxwidgets interface does not rely on directx just sdl and opengl and the sdl dep is just statically built in so all in all it's just dsound and openal which is just needed. I'll continue working on the wxwidgets build and do my own test builds for portableapps.com and once it's going good and testing is going well and bugs fixed, assuming if you want to you then can take care of the wxwidgets interface portabilization

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I'm going to test it, and I

I'm going to test it, and I think I'll make a dual launcher, as in one launcher can handle either build.

One thing, MFC fixed an annoying bug where the ini would load from the same directory but any changes ended up in APPDATA\VBA-M (this build can also actually run OpenGL on my PC unlike 1025). However, the wxwidgets build will only load from USERPROFILE\inifile, which is rather annoying.

Another thing is emulator saves don't seem to be recognized in Wx.

Does the WxWidgets build make use of vba-over.ini?

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
actually it has it built in,

actually it has it built in, one thing about the build process of wxvba-m is that it takes the vba-over file and converts it to a format that it can be used internally, so use of the actual vba-over file isn't really needed but that said if updates are needed it can make use of the file if needed.

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
OK I released an update. I am

OK I released an update. I am considering taking advantage of the "CopyLocalFiles" function, as we cannot redistribute DirectX but copying would not be redistributing and my tests say you can take one DLL and run it on a clean XP SP3 install that has not had DirectX installed on it.

This would be nice for MFC as WxWidgets still has bugs as I've mentioned. I find the newer MFC build to work a lot better for me though, as I could not run it in OpenGL mode on 1022 (froze).

Bennieboj
Bennieboj's picture
Offline
Last seen: 6 months 2 weeks ago
Joined: 2010-09-16 07:28
errors...

I got some errors, here's an example:
Error creating file I:\PortableApps\VisualBoyAdvancePortable\Data\battery\\1560_-_Kirby_And_The_Amazing_Mirror_E.sav

hence the double backslash...

edit: maybe it was because the files (roms, savefiles, ..) where in a the same directory. My old emulator (vba 1.8 beta 3) saved them all in one directory instead of deperating roms and battery...

Yes, I set the working directory!

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
Might be, but I have been

Might be, but I have been unable to replicate this on one where files were placed initially into the app. I did see that there is one case where path could get messed up, but it caused a very different error.

Anyway, haven't released for awhile, but I have a version that I keep tweaking I will release when I'm done messing with the other portable apps I'm trying.

One thing of interest I found: While we cannot legally redistribute DirectX, and many PC's don't have it, it should be OK to copy the files off a PC that have it (after all, installer.ini has a "CopyLocalFiles" function).

I added a custom.nsh to Snes9x and this, that will do this on app close (if they aren't already there and can be copied. These is only 1 DLL for each app needed to use DirectX, and they are rather small.

starrysky
Offline
Last seen: 2 years 9 months ago
Joined: 2013-01-26 19:49
create battery folder

To fix the error similar to "Error creating file X:\PortableApps\VisualBoyAdvancePortable\Data\battery\\foo.sav"

just create a folder named "battery" inside X:\PortableApps\VisualBoyAdvancePortable\Data\

Then the game will save properly and the error message will stop showing up.

Bennieboj
Bennieboj's picture
Offline
Last seen: 6 months 2 weeks ago
Joined: 2010-09-16 07:28
Thanks!

Thanks for the update! Testing now Smile
Edit: everything works great!

Yes, I set the working directory!

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
There is a bug in path

There is a bug in path handling when running the WxWidgets from UNC.

The path handling code doesn't properly handle it.

It should be \\\\UNCDrive\\SHARE\\App

But it is \\UNCDrive\SHARE\\App

I can't seem to fix it without breaking something else.

I have this issue in Netbeans, and the paths are even more complex there.

starrysky
Offline
Last seen: 2 years 9 months ago
Joined: 2013-01-26 19:49
The new MFC version (svn 1149

The new MFC version (svn 1149 dev test 1) asks for User Account Control permission whereas the previous version (svn 1097 dev test 4) did not need it. It also cannot save any game progress until the user manually creates a directory inside \VisualBoyAdvancePortable\Data\ and names it "battery" on the portable drive.

The WxWidgets version seems to work without asking UAC, but by default the save files get stored in C:\Users\USER_NAME\AppData\Local\wxvbam\GAME_TITLE.sav on the local machine's hard drive.

Also, thanks for all the great apps you put together CODYQX4.

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
The UAC is for DirectX

The UAC is for DirectX portable, which doesn't work all the way, but the apps are a proof of concept.

I am having issues with VBA-M due to DirectX Portable, so I may remove usage of DirectX Portable.

It will run for me if I say no to UAC though, but my XAudio2 doesn't.

I'll look into the paths.

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
Obviously there have been

Obviously there have been massive fundamental changes to wxvbam.

Where does it store wxvbam.ini?

It used to work that you put it in %USERPROFILE% to not use the registry.

It doesn't work anymore. I'm certain it still uses the INI as I don't know why the more cross platform build would use the registry exclusively.

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
it's because of how wxwidgets

it's because of how wxwidgets toolkit is designed sadly, when using wxconf or anything to do with settings it automatically defaults to registry on windows, iirc there is a way around this as steve lamerton the toucan developer uses the same functions and has gotten around it, I'll ask him and update the build

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I'll be adding all those

I'll be adding all those folders to DefaultData, but existing users will need to make it themselves.

To clarify DirectX and UAC, you only need Admin rights if you don't have DirectX runtimes locally installed, AND you want to use XAudio2 from DirectX portable.

It will try and get UAC, if not, XAudio2 won't work if not installed locally.

I recommend installing DirectX portable, then using DirectSound on any machines you can't get admin rights on (it will still run using only DirectX Portable without UAC giving you admin rights).

I still need to know how the current WxWidgets settings work. I can't make the app make or take an ini file currently (I don't know if it still supports it or if the path has moved).

PS: I will be removing DirectX Portable stuff from the WxWidgets build, since it doesn't use DirectX. There is no reason for the WxWidgets build to try and use it, only MFC build needs it. Also WxWidgets can't use XAudio2 anyway.

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
again wrong, wxwidgets

again wrong, wxwidgets interface for vba-m supports xaudio2 but mingw/mingw-w64 does not have headers to support xaudio2

your friendly neighbourhood moderator Zach Thibeau

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
There is no option in the UI.

There is no option in the UI. I don't know about the underlying code, but there is no XAudio2 option in the GUI for the WxWidgets build.

Also, there is no Direct3D option for Display in the WxWidgets build.

Zach Thibeau
Zach Thibeau's picture
Offline
Last seen: 5 years 2 days ago
DeveloperModerator
Joined: 2006-05-26 12:08
it's because I didn't enable

it's because I didn't enable those features on compile time, mainly the fact about distribution on PortableApps.com, future releases can at least have d3d enabled but xaudio2 not so much since mingw-w64 hasn't created a compatible header for it yet

your friendly neighbourhood moderator Zach Thibeau

starrysky
Offline
Last seen: 2 years 9 months ago
Joined: 2013-01-26 19:49
Would the WxWidgets version

Would the WxWidgets version work then without the DirectX portable runtimes? That would make it easier to install on smaller thumbdrives without much storage space.I do have the portable DirectX installed and the MFC version does run without UAC permission, but it is a slight annoyance having UAC pop up.

The MFC version can have it's window resized with more easily. The window can be made larger or smaller by dragging the window corner in or out. Selecting a different zoom level from the menu results in instant window resizing.
The WxWidgets version can only make the window larger from the default zoom. Using the option to change the Default Magnification setting requires reloading a ROM or restarting the program. Changing the setting then resetting the current ROM crashes the program. Opening Options>Display says something about no usable rpi plugins found, but changing the Default Magnification level to 1x will allow for the widest range of window sizes by just dragging the window corner outward to a larger size.

The MFC version also makes it a little easier to change around controller and button options and supports easily mapping the turbo function (and screen shot and GS) to a controller button.
Although not really relevent, the MFC version uses black border bars while the WxWidgets version uses white bars on the top/bottom or left/right sides.

I am sure there are a lot of other differences, but this is what I have noticed when trying to determine which version to use. Is one version preferred over the other or is that just a matter of preference and/or what type of system you are running?

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
You can use the WxWidgets

You can use the WxWidgets version without DirectX.

I prefer the MFC version as it feels more polished and stable than the WxWidgets build.

starrysky
Offline
Last seen: 2 years 9 months ago
Joined: 2013-01-26 19:49
I agree

The MFC build does feel nicer. On the previous dev test, the MFC version I was using started having issues with the Xaudio2, giving an error message when loading a ROM the the emulator would run very fast and without sound. The WxWidgets version never gave me an issue.

darksabre76
darksabre76's picture
Offline
Last seen: 1 day 6 hours ago
Developer
Joined: 2011-04-19 23:28
r1206 Released

SVN r1206 has been released with some game fixes.

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I can update, but where is

I can update, but where is the WxWidgets update? They don't have an r1206 for that up.

darksabre76
darksabre76's picture
Offline
Last seen: 1 day 6 hours ago
Developer
Joined: 2011-04-19 23:28
SourceForge... kinda

Looking in SourceForge, the newest WxWidgets version is SVN 1159.

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
Pretty sure the last time I

Pretty sure the last time I tried that build, it didn't work. Hell, the WxWidgets build, though more portable, as at this point much inferior and less stable to the MFC build.

CODYQX4
Offline
Last seen: 3 years 9 months ago
Joined: 2010-04-23 20:39
I updated the MFC build but

I updated the MFC build but not the WxWidgets build, as I think it is broken.

starrysky
Offline
Last seen: 2 years 9 months ago
Joined: 2013-01-26 19:49
r1229 MFC released

r1229 MFC released. It looks like the wxWidgets version is still lagging at r1159, but it comes in 32bit and 64bit.

Log in or register to post comments