Homebrew VBA GX Update

mallocup77

Active Member
Newcomer
Joined
Aug 28, 2015
Messages
29
Trophies
0
Age
37
XP
112
Country
I've always been using this emulator, thanks for supporting it!

I'm trying to figure out some things though. I can't seem to make colorization and SGB borders work properly. I have a "default.png" border in "/vbagx/borders" but it never loads. And I always get monochromatic colours even if "GB mono colorization" is on, and no matter what type of hardware I choose. Colours and borders only work with when settings are for "Auto/SGB" for hardware and "from game" for SGB border, or "from .png" if the game has been previously loaded (when loading SGB game pak).

What I'm looking forward to have is borders and colours when a SGB game pak is loaded (which I already have), and colorization and the default SGB border when a regular GB is loaded (which I don't).

Example: Loading Street Fighter gives me borders and colours.
Loading Super Mario Land only gives me a grey scale colour palette, and no default border. I'd like to have the special default palette and the default SGB border (also changing from "monochrome screen" to "green screen" doesn't work, I always get grey scale screen).

What am I doing wrong?
Do these things have to do with video settings somehow? Help?

edit: got the default border to work, turns out it must be in root of SD card. I have a bunch of borders in sd/vbgagx/borders and thought it was running from there, didn't see that VBA GX was creating png borders in root. Would be great if the game has no border, VBA GX could run the default border automatically!
 
Last edited by mallocup77,

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,456
Country
Venezuela
I have a "default.png" border in "/vbagx/borders" but it never loads.
edit: got the default border to work, turns out it must be in root of SD card. I have a bunch of borders in sd/vbgagx/borders and thought it was running from there, didn't see that VBA GX was creating png borders in root. Would be great if the game has no border, VBA GX could run the default border automatically!
It is a current issue, it was fixed in the last Zopenko version, but probably left out accidentally since the last modification wasn't in the 1st post of the original Zopenko thread.

This was fixed in the last release:
- Wiimote's button 2 now works on the Settings>Emulation button
- emulation settings saving (every setting inside Emulation was not being saved to preferences)
- feature to automatically point to the "last game loaded"
- border folder saving location, no longer saves on root
- added the option to change the border folder on the settings menu
- under the hardware options you can choose: Auto, GB, GBC, SGB, GBA and SGB2

(also changing from "monochrome screen" to "green screen" doesn't work, I always get grey scale screen)
That setting would only apply to GB games (not GBC) and only when using Game Boy in Hardware.
 
Last edited by niuus,

HeavyMetalLoser

Well-Known Member
Member
Joined
Nov 28, 2016
Messages
105
Trophies
0
Age
30
XP
512
Country
United States
By the way, when playing Gameboy games whenever the screen scrolls there's a sort of shimmer effect over the entire screen. I don't know if it's a problem with the emulator itself or if it's because of my TV or settings.

I'm running VBAGX 2.3.5
My Wii is connected to a 28-32 inch Vizio HDTV (Don't know the exact size.)
I'm using component cables and the Wii is set to output 480p.
Video Mode is set to "Automatic."
Rendering is set to "Unfiltered."
Scaling is set to "Maintain Aspect Ratio."
"GB Fixed Pixel Ratio" is Disabled.
"GB Mono Colorization" is off.
 

Ranzor

New Member
Newbie
Joined
Dec 18, 2016
Messages
2
Trophies
0
Age
46
XP
52
Country
Brazil
I've been trying to play WarioWare: Twisted! with this, but haven't been able to use the motion controls so far.
The rom seems good, and I've turned "Match Wii Controls" on, but I move the controller on the main menu and nothing happens.
Can anybody help me out with this?
 

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,456
Country
Venezuela
I'm assuming that isn't happening to you on my build (which was also from the latest source?)

Take your elf, and use addr2line to get the offending line # by plunking in the addresses from the STACK DUMP line with all the --> in between

eg:

C:\devkitPro\devkitPPC\bin\powerpc-eabi-addr2line.exe -e C:\vbagx_wii.elf 8001cd0d 8001c0d3 80014348

This will spit out something you can actually use.
It turns out you can avoid the DSI crash if you enter a game (say, Tetris) first, and after that, you can go into Settings. If you exit the emulator, you'll have to repeat the cycle. Weird.
 

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,456
Country
Venezuela
I've been trying to play WarioWare: Twisted! with this, but haven't been able to use the motion controls so far.
The rom seems good, and I've turned "Match Wii Controls" on, but I move the controller on the main menu and nothing happens.
Can anybody help me out with this?
Hold B Button while it is calibrating, so it locks the emulated gyroscope.

The list of supported games for that feature is here, for anyone interested.
http://wiibrew.org/wiki/Visual_Boy_Advance_GX/Match_Wii_Controls

By the way, when playing Gameboy games whenever the screen scrolls there's a sort of shimmer effect over the entire screen. I don't know if it's a problem with the emulator itself or if it's because of my TV or settings.

I'm running VBAGX 2.3.5
My Wii is connected to a 28-32 inch Vizio HDTV (Don't know the exact size.)
I'm using component cables and the Wii is set to output 480p.
Video Mode is set to "Automatic."
Rendering is set to "Unfiltered."
Scaling is set to "Maintain Aspect Ratio."
"GB Fixed Pixel Ratio" is Disabled.
"GB Mono Colorization" is off.
If by shimmer you mean that light "screen trembling", Filter (Soft) helps. 240p completely removes it and looks fantastic, though that mostly works only on CRT TVs.
 

HeavyMetalLoser

Well-Known Member
Member
Joined
Nov 28, 2016
Messages
105
Trophies
0
Age
30
XP
512
Country
United States
240p doesn't work on my TV, it misreads it as 480i which creates this horrible abomination of an image. I suspect the Framemeister might be able to fix this, but I'd rather find a solution that doesn't involve importing a device that already costs over $300.
 

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,456
Country
Venezuela
240p doesn't work on my TV, it misreads it as 480i which creates this horrible abomination of an image. I suspect the Framemeister might be able to fix this, but I'd rather find a solution that doesn't involve importing a device that already costs over $300.
And that's why i sometimes use the filter whenever the LED TV is involved, though the light trembling doesn't bother me that much, to be honest. I play most of the time on my PVM anyways.

BTW, the following changes were introduced when compiling from the Github code, compared to the last Zopenko release (strikethrough = resolved):

- Wiimote's button 2 now works on the Settings>Emulation button
- emulation settings saving (every setting inside Emulation was not being saved to preferences)
- feature to automatically point to the "last game loaded"
- border folder saving location, no longer saves on root

- added the option to change the border folder on the settings menu
- under the hardware options you can choose: Auto, GB, GBC, SGB, GBA and SGB2

Bugs:
- Selection bar is out of the filebrowser box (Choose Game screen).
 
Last edited by niuus,

Ranzor

New Member
Newbie
Joined
Dec 18, 2016
Messages
2
Trophies
0
Age
46
XP
52
Country
Brazil
Hold B Button while it is calibrating, so it locks the emulated gyroscope.

The list of supported games for that feature is here, for anyone interested.
http://wiibrew.org/wiki/Visual_Boy_Advance_GX/Match_Wii_Controls

Thanks, but that calibration screen isn't showing up. When I load the rom, the intro begins, I press Start, and it goes directly to the menu screen where the motion controls don't work and I can't cycle through the options. Am I doing it wrong?
 

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,456
Country
Venezuela
Thanks, but that calibration screen isn't showing up. When I load the rom, the intro begins, I press Start, and it goes directly to the menu screen where the motion controls don't work and I can't cycle through the options. Am I doing it wrong?
Sorry man, not a game i have personally played (even though i have it in my collection from years ago). I'll give it a check.

EDIT1: so, the game with the calibration screen is Yoshi Topsy Turvy, which works perfect with the Wiimote. Twisted did not. I even compared it to a previous version (2.3.4). Maybe it's broken?
 
Last edited by niuus,

Chaos Rush

Well-Known Member
Member
Joined
Jan 11, 2010
Messages
170
Trophies
0
XP
429
Country
United States
What version of devkitPro and libogc is used to compile this? I'm using devkitPro 1.6.0 and libogc 1.8.7, and when I try compiling using Programmer's Notepad I get this as the output:
Code:
> "make"
"make" -f Makefile.wii -lgcc -lg
make[1]: Entering directory `/c/devkitPro/vbagx-master'
linking ... vbagx_wii.elf
c:/devkitPro/portlibs/ppc/lib\libmxml.a(mxml-file.o): In function `mxml_get_entity':
/Users/davem/projects/portlibs/mxml-2.6/mxml-file.c:1369: undefined reference to `__ctype_ptr__'
/Users/davem/projects/portlibs/mxml-2.6/mxml-file.c:1369: undefined reference to `__ctype_ptr__'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld.exe: c:/devkitPro/libogc/lib/wii\libogc.a(gu_psasm.o): In function `ps_guMtxConcat':
(.text+0x2e): error: R_PPC_SDAREL16 against `Unit01' not a multiple of 16
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld.exe: final link failed: Bad value
collect2.exe: error: ld returned 1 exit status
make[2]: *** [/c/devkitPro/vbagx-master/executables/vbagx_wii.elf] Error 1
make[1]: *** [build_wii] Error 2
make[1]: Leaving directory `/c/devkitPro/vbagx-master'
"make": *** [wii] Error 2

I don't even get why this shows up:
/Users/davem/projects/portlibs/mxml-2.6/mxml-file.c:1369: undefined reference to `__ctype_ptr__'
I don't know anyone named "davem" lol, nor do I have any directory that matches that.


Really I only want to just make one change: render the screen at 256x240 in 240p mode like NES and SNES does, rather than 320x240. This way SGB borders won't have black bars at the sides and the picture will match how games would appear on the Super Game Boy exactly.
 

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
What version of devkitPro and libogc is used to compile this? I'm using devkitPro 1.6.0 and libogc 1.8.7, and when I try compiling using Programmer's Notepad I get this as the output:
Code:
> "make"
"make" -f Makefile.wii -lgcc -lg
make[1]: Entering directory `/c/devkitPro/vbagx-master'
linking ... vbagx_wii.elf
c:/devkitPro/portlibs/ppc/lib\libmxml.a(mxml-file.o): In function `mxml_get_entity':
/Users/davem/projects/portlibs/mxml-2.6/mxml-file.c:1369: undefined reference to `__ctype_ptr__'
/Users/davem/projects/portlibs/mxml-2.6/mxml-file.c:1369: undefined reference to `__ctype_ptr__'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld.exe: c:/devkitPro/libogc/lib/wii\libogc.a(gu_psasm.o): In function `ps_guMtxConcat':
(.text+0x2e): error: R_PPC_SDAREL16 against `Unit01' not a multiple of 16
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld.exe: final link failed: Bad value
collect2.exe: error: ld returned 1 exit status
make[2]: *** [/c/devkitPro/vbagx-master/executables/vbagx_wii.elf] Error 1
make[1]: *** [build_wii] Error 2
make[1]: Leaving directory `/c/devkitPro/vbagx-master'
"make": *** [wii] Error 2

I don't even get why this shows up:
I don't know anyone named "davem" lol, nor do I have any directory that matches that.


Really I only want to just make one change: render the screen at 256x240 in 240p mode like NES and SNES does, rather than 320x240. This way SGB borders won't have black bars at the sides and the picture will match how games would appear on the Super Game Boy exactly.

You might need to recompile the mxml library instead of using the precompiled ported one on SourceForge if you're using the most recent devkitPPC. I had to do that with libtremor, too.
 

blubberdiblub

New Member
Newbie
Joined
Oct 27, 2007
Messages
3
Trophies
1
Age
44
Location
Berlin
XP
261
Country
Gambia, The
You might need to recompile the mxml library instead of using the precompiled ported one on SourceForge if you're using the most recent devkitPPC. I had to do that with libtremor, too.

How did you manage to recompile mxml? configure succeeds for me (and seems to find pthreads alright), but make fails due to not being able to find some pthread type:

Code:
powerpc-eabi-gcc -Os -g  -Wall    -c mxml-private.c
mxml-private.c:131:8: error: unknown type name 'pthread_key_t'
 static pthread_key_t _mxml_key = -1; /* Thread local storage key */
        ^~~~~~~~~~~~~
mxml-private.c:132:8: error: unknown type name 'pthread_once_t'
 static pthread_once_t _mxml_key_once = PTHREAD_ONCE_INIT;
        ^~~~~~~~~~~~~~
mxml-private.c:132:40: error: 'PTHREAD_ONCE_INIT' undeclared here (not in a function)
 static pthread_once_t _mxml_key_once = PTHREAD_ONCE_INIT;
                                        ^~~~~~~~~~~~~~~~~

I have pthread-related headers here:
Code:
/opt/devkitpro/devkitPPC/powerpc-eabi/include/sys/_pthreadtypes.h
/opt/devkitpro/devkitPPC/powerpc-eabi/include/pthread.h

However, I'm not sure whether they're actually found and used during the build.

I ran configure like this and it went through without complaining:
Code:
./configure --build=x86_64-linux-gnu --host=powerpc-eabi --prefix=/opt/devkitpro/libogc

Maybe I'm doing that wrong?
 

blubberdiblub

New Member
Newbie
Joined
Oct 27, 2007
Messages
3
Trophies
1
Age
44
Location
Berlin
XP
261
Country
Gambia, The
Look in the config.h file and see if "HAVE_PTHREAD_H" is defined. If it is try "#undef"-ing it.

Thank you, that works :)

It strikes me as a bit strange that configure detects pthread support (due to the existing headers, I assume?) when it can't be used. I wonder how this comes to be. Is configure's detection mistaken? Or is there something missing in the header files? Or should the files not be there in the first place?
 

GreyWolf

Well-Known Member
Member
Joined
Mar 2, 2015
Messages
5,399
Trophies
0
Age
54
XP
1,516
Country
United States
I'm not sure. There might be something in devkitPro that's making autoconf think there's POSIX thread support when there's not. Everything I've seen on Wii homebrew seems to use LWP threading.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=pkYA4rALqEE