Homebrew RetroArch - A new multi-system emulator

Status
Not open for further replies.

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I'd report a very, very small graphics-related anomaly (FF6 cursor in-menu), but, I don't want to pester anyone....seeing as you guys went through hell fixing the last issues.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Okay, but I really need to stop being such a bother,

I couldn't take a direct screenshot yet, but I simulated the effect seen when changing characters/moving the menu in FF6 to the left. Not sure why this happens. The cursor sometimes has a similar repeating glitch.

ff6glitch.jpg
 

LibretroRetroArc

Well-Known Member
Member
Joined
Aug 24, 2012
Messages
748
Trophies
0
XP
1,258
Country
Netherlands
Okay, but I really need to stop being such a bother,

I couldn't take a direct screenshot yet, but I simulated the effect seen when changing characters/moving the menu in FF6 to the left

ff6glitch.jpg

Yeah, that is definitely serious and I think I have a hunch what could be causing that (speedhack-related).

EDIT: Never mind, can already reproduce it here
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Okay, but I really need to stop being such a bother,

I couldn't take a direct screenshot yet, but I simulated the effect seen when changing characters/moving the menu in FF6 to the left

ff6glitch.jpg

Yeah, that is definitely serious and I think I have a hunch what could be causing that (speedhack-related).

EDIT: Never mind, can already reproduce it here

Oh, good, I thought I was going insane and thought it was only my end. I didn't know it was that serious of an issue; but you shouldn't have to sacrifice performance to neutralize it, do you?
 

LibretroRetroArc

Well-Known Member
Member
Joined
Aug 24, 2012
Messages
748
Trophies
0
XP
1,258
Country
Netherlands
Okay, but I really need to stop being such a bother,

I couldn't take a direct screenshot yet, but I simulated the effect seen when changing characters/moving the menu in FF6 to the left

ff6glitch.jpg

Yeah, that is definitely serious and I think I have a hunch what could be causing that (speedhack-related).

EDIT: Never mind, can already reproduce it here

Oh, good, I thought I was going insane and thought it was only my end. I didn't know it was that serious of an issue; but you shouldn't have to sacrifice performance to neutralize it, do you?

Unfortunately, that looks what it's going to have to take -

PPU.FullClipping (a speedhack I came up with for this game in particular) set to FALSE gives FF3/FF6 around a ~10/~20fps speedup. With this set to TRUE again, it would knock that off again. So I could 'fix it' overnight but it would cause a performance downgrade for that game.

Anyway, I think I have an alternative speedhack that could work for this issue - but it requires me figuring out the RAM value that flags the 'menu screen on/off' - if that can be figured out, I could disable the speedhack when the menu gets activated, and turn it back on when we exit the menu.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Crap, that's what I was afraid of. The game works really well in this version, heck, it no longer slows down when the mosaic effect is show prior to battling. It's a shame there isn't a solution that fixes the menu while keeping the framerate boost. Bollocks.
 

LibretroRetroArc

Well-Known Member
Member
Joined
Aug 24, 2012
Messages
748
Trophies
0
XP
1,258
Country
Netherlands
Crap, that's what I was afraid of. The game works really well in this version, heck, it no longer slows down when the mosaic effect is show prior to battling. It's a shame there isn't a solution that fixes the menu while keeping the framerate boost. Bollocks.

Well, there could be, but it requires me finding a 'flag' in the RAM map of that game - if the menu is brought up, that flag should be changed to 1, and if the menu is brought down, it should be set to 0.

Unfortunately, I can find nothing like this in any Action Replay/romhacking RAM map.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Crap, that's what I was afraid of. The game works really well in this version, heck, it no longer slows down when the mosaic effect is show prior to battling. It's a shame there isn't a solution that fixes the menu while keeping the framerate boost. Bollocks.

Well, there could be, but it requires me finding a 'flag' in the RAM map of that game - if the menu is brought up, that flag should be changed to 1, and if the menu is brought down, it should be set to 0.

Unfortunately, I can find nothing like this in any Action Replay/romhacking RAM map.

Ah, bugger. That's what I get for bringing it up. Maybe OV2 should look into it.
 

LibretroRetroArc

Well-Known Member
Member
Joined
Aug 24, 2012
Messages
748
Trophies
0
XP
1,258
Country
Netherlands
Crap, that's what I was afraid of. The game works really well in this version, heck, it no longer slows down when the mosaic effect is show prior to battling. It's a shame there isn't a solution that fixes the menu while keeping the framerate boost. Bollocks.

Well, there could be, but it requires me finding a 'flag' in the RAM map of that game - if the menu is brought up, that flag should be changed to 1, and if the menu is brought down, it should be set to 0.

Unfortunately, I can find nothing like this in any Action Replay/romhacking RAM map.

Ah, bugger. That's what I get for bringing it up. Maybe OV2 should look into it.

OK- found a ROM hacker/TASer on the channel that pinpointed me to the address in RAM that corresponds to 'menu on/off' and I made this speedhack patch -

I've only tested it on PC so far and performance seems pretty much comparable. Tell me if this still performs the same for you on Wii.

http://www.multiupload.nl/2TB1FYH5B7

I'll silently update the previous post(s) as well.
 
  • Like
Reactions: 1 person

yaketyJack

Well-Known Member
Newcomer
Joined
May 19, 2011
Messages
50
Trophies
1
XP
563
Country
Puerto Rico
Hi LibretroRetroArch,

Since you seem so proactive lately, I was wondering if you have seen some of the bugs/suggestions I wrote a while back. Since you never responded, I am not sure if you ever saw them. Please let me know if some of these are possible to fix (I know you are already working on the resolution/scan line but I left it there :-).

Here it is again:

1. I have a sega genesis controller adapter ( so it plugs in the GC ports) and use the genesis six button controller for an authentic experience. Every button works on VC titles and other emulators. On retroarch, two of the buttons dont work. I found out that these two buttons are assigned to the analog triggers in GC controller. Is there a way for the emulator to register these two analogue buttons ( even thhough they are digital on the sega genesis controller)?

2. There are a couple of bugs in the gba core. In metroid fusion, the pixel blur effect when you kill enemies is not displayed at all, for example.

3. Easier controller setup. It is hard to tell what buttons are used by the emulator and setting up the controller is very tricky. Could we just press a button on the controller itself to set the input to that button? (for example, "CPS button A?" and we press whichever button we want on the controller to assign it to that)
------------
4. Pixel-perfect Aspect ratio. The other console emulators for Wii have correct pixel size ( essential for playing on CRT tv) , but on RetroArch, the pixels are not square and change sizes as they move. If I turn on bi-linear filtering, everything looks blurry, but at least pixel sizes are correct. Is it possible to display pixels correctly, without filtering? I know this is really tricky since you support so many cores, but starting with just the cps2 would be a great start ;-)

5. Scan lines. If the pixel sizes are correct and scanlines are added (just an overlay with horizontal lines, like the menu?), it would be an almost exact replica of the original systems on modern hdtv's. Being able to adjust scanline transparency would be ideal.


Thanks again!

-Joseph
 

LibretroRetroArc

Well-Known Member
Member
Joined
Aug 24, 2012
Messages
748
Trophies
0
XP
1,258
Country
Netherlands
1. I have a sega genesis controller adapter ( so it plugs in the GC ports) and use the genesis six button controller for an authentic experience. Every button works on VC titles and other emulators. On retroarch, two of the buttons dont work. I found out that these two buttons are assigned to the analog triggers in GC controller. Is there a way for the emulator to register these two analogue buttons ( even thhough they are digital on the sega genesis controller)?


Well, we just bind Genesis Plus GX controls to the following 'buttons' -

static struct bind_conv binds[] = {
{ RETRO_DEVICE_ID_JOYPAD_B, INPUT_B },
{ RETRO_DEVICE_ID_JOYPAD_A, INPUT_C },
{ RETRO_DEVICE_ID_JOYPAD_X, INPUT_Y },
{ RETRO_DEVICE_ID_JOYPAD_Y, INPUT_A },
{ RETRO_DEVICE_ID_JOYPAD_START, INPUT_START },
{ RETRO_DEVICE_ID_JOYPAD_L, INPUT_X },
{ RETRO_DEVICE_ID_JOYPAD_R, INPUT_Z },
{ RETRO_DEVICE_ID_JOYPAD_UP, INPUT_UP },
{ RETRO_DEVICE_ID_JOYPAD_DOWN, INPUT_DOWN },
{ RETRO_DEVICE_ID_JOYPAD_LEFT, INPUT_LEFT },
{ RETRO_DEVICE_ID_JOYPAD_RIGHT, INPUT_RIGHT },
{ RETRO_DEVICE_ID_JOYPAD_SELECT, INPUT_MODE },
};

What you could try is remapping the controls in Settings so that the buttons correspond correctly.

Anyway, I'll introduce emulator-specific button labels in a next release - so that it becomes easier to map them.

2. There are a couple of bugs in the gba core. In metroid fusion, the pixel blur effect when you kill enemies is not displayed at all, for example.

I really need some good and scrutinizing eyes on VBA Next in general - no doubt there are tons of oversights that happened when I first started speed hacking that one (it's been well over a year and a half by now since I started that project) - it's definitely a delicate process and needs to be closely looked at with a keen eye.

I'll check out this issue for instance.
 

yaketyJack

Well-Known Member
Newcomer
Joined
May 19, 2011
Messages
50
Trophies
1
XP
563
Country
Puerto Rico
1. I have a sega genesis controller adapter ( so it plugs in the GC ports) and use the genesis six button controller for an authentic experience. Every button works on VC titles and other emulators. On retroarch, two of the buttons dont work. I found out that these two buttons are assigned to the analog triggers in GC controller. Is there a way for the emulator to register these two analogue buttons ( even thhough they are digital on the sega genesis controller)?


Well, we just bind Genesis Plus GX controls to the following 'buttons' -

static struct bind_conv binds[] = {
{ RETRO_DEVICE_ID_JOYPAD_B, INPUT_B },
{ RETRO_DEVICE_ID_JOYPAD_A, INPUT_C },
{ RETRO_DEVICE_ID_JOYPAD_X, INPUT_Y },
{ RETRO_DEVICE_ID_JOYPAD_Y, INPUT_A },
{ RETRO_DEVICE_ID_JOYPAD_START, INPUT_START },
{ RETRO_DEVICE_ID_JOYPAD_L, INPUT_X },
{ RETRO_DEVICE_ID_JOYPAD_R, INPUT_Z },
{ RETRO_DEVICE_ID_JOYPAD_UP, INPUT_UP },
{ RETRO_DEVICE_ID_JOYPAD_DOWN, INPUT_DOWN },
{ RETRO_DEVICE_ID_JOYPAD_LEFT, INPUT_LEFT },
{ RETRO_DEVICE_ID_JOYPAD_RIGHT, INPUT_RIGHT },
{ RETRO_DEVICE_ID_JOYPAD_SELECT, INPUT_MODE },
};

What you could try is remapping the controls in Settings so that the buttons correspond correctly.

Anyway, I'll introduce emulator-specific button labels in a next release - so that it becomes easier to map them.


2. There are a couple of bugs in the gba core. In metroid fusion, the pixel blur effect when you kill enemies is not displayed at all, for example.

I really need some good and scrutinizing eyes on VBA Next in general - no doubt there are tons of oversights that happened when I first started speed hacking that one (it's been well over a year and a half by now since I started that project) - it's definitely a delicate process and needs to be closely looked at with a keen eye.

I'll check out this issue for instance.


Thanks for the quick response :-)

I tried a while back to adjust those buttons in settings, but the emulator does not register the digital input. I was actually trying to use it with the CPS2 core, since the 6-button genesis controller is way useful with it ;-)

The problem is that the emulators do not recognize my X and Z buttons on the genesis controller. It is because the adapter I have assigns them as Gamecube triggers L and R (which are analogue). You can see the adapter's mappings here: http://www.raphnet-tech.com/products/genesis_to_wii/index.php?category=

I am guessing that your emulator is waiting for an analogue response to pressing these buttons but is receiving a digital response instead. Is it because a digital button sends a 100% analogue press but the emulator is expecting less and cuts off or something?

I know this is a bit confusing, sorry!
-Joseph
 

LibretroRetroArc

Well-Known Member
Member
Joined
Aug 24, 2012
Messages
748
Trophies
0
XP
1,258
Country
Netherlands
Thanks for the quick response :-)

I tried a while back to adjust those buttons in settings, but the emulator does not register the digital input. I was actually trying to use it with the CPS2 core, since the 6-button genesis controller is way useful with it ;-)

The problem is that the emulators do not recognize my X and Z buttons on the genesis controller. It is because the adapter I have assigns them as Gamecube triggers L and R (which are analogue). You can see the adapter's mappings here: http://www.raphnet-t...x.php?category=

I am guessing that your emulator is waiting for an analogue response to pressing these buttons but is receiving a digital response instead. Is it because a digital button sends a 100% analogue press but the emulator is expecting less and cuts off or something?

I know this is a bit confusing, sorry!
-Joseph

well - it expects that the value it returns from a button press on either L or R trigger is at least above 127 before it 'registers' a key press for those buttons -

state |= (PAD_TriggerL(port) > 127) ? GX_GC_L_TRIGGER : 0;
state |= (PAD_TriggerR(port) > 127) ? GX_GC_R_TRIGGER : 0;

I would have to see what kind of value is being reported by PAD_TriggerL/PAD_TriggerR when you press those buttons on your Genesis pad.

If you have a PC with a private IP address and it is in the same LAN / network as your Wii, you could perform some tests for me. Just let me know if you do and if you can tell me your private (NOT PUBLIC!!!) IP address of your computer - I'll make you a special build so that you can netlog with it.
 

yaketyJack

Well-Known Member
Newcomer
Joined
May 19, 2011
Messages
50
Trophies
1
XP
563
Country
Puerto Rico
Thanks for the quick response :-)

I tried a while back to adjust those buttons in settings, but the emulator does not register the digital input. I was actually trying to use it with the CPS2 core, since the 6-button genesis controller is way useful with it ;-)

The problem is that the emulators do not recognize my X and Z buttons on the genesis controller. It is because the adapter I have assigns them as Gamecube triggers L and R (which are analogue). You can see the adapter's mappings here: http://www.raphnet-t...x.php?category=

I am guessing that your emulator is waiting for an analogue response to pressing these buttons but is receiving a digital response instead. Is it because a digital button sends a 100% analogue press but the emulator is expecting less and cuts off or something?

I know this is a bit confusing, sorry!
-Joseph

well - it expects that the value it returns from a button press on either L or R trigger is at least above 127 before it 'registers' a key press for those buttons -

state |= (PAD_TriggerL(port) > 127) ? GX_GC_L_TRIGGER : 0;
state |= (PAD_TriggerR(port) > 127) ? GX_GC_R_TRIGGER : 0;

I would have to see what kind of value is being reported by PAD_TriggerL/PAD_TriggerR when you press those buttons on your Genesis pad.

If you have a PC with a private IP address and it is in the same LAN / network as your Wii, you could perform some tests for me. Just let me know if you do and if you can tell me your private (NOT PUBLIC!!!) IP address of your computer - I'll make you a special build so that you can netlog with it.


I could definitely test this for you, but am a bit wary of sending out ip addresses. Is there a way to get a debug onscreen so that it just displays the values? That could be a handy tool for testing in general, maybe you could put it under "advanced options" or something. Let me know if this is possible and I will test it out...

I tried looking in all the config files but could not find the code you mention above, I assume it must be a part of the compiled source.

-Joseph
 

LibretroRetroArc

Well-Known Member
Member
Joined
Aug 24, 2012
Messages
748
Trophies
0
XP
1,258
Country
Netherlands
Thanks for the quick response :-)

I tried a while back to adjust those buttons in settings, but the emulator does not register the digital input. I was actually trying to use it with the CPS2 core, since the 6-button genesis controller is way useful with it ;-)

The problem is that the emulators do not recognize my X and Z buttons on the genesis controller. It is because the adapter I have assigns them as Gamecube triggers L and R (which are analogue). You can see the adapter's mappings here: http://www.raphnet-t...x.php?category=

I am guessing that your emulator is waiting for an analogue response to pressing these buttons but is receiving a digital response instead. Is it because a digital button sends a 100% analogue press but the emulator is expecting less and cuts off or something?

I know this is a bit confusing, sorry!
-Joseph

well - it expects that the value it returns from a button press on either L or R trigger is at least above 127 before it 'registers' a key press for those buttons -

state |= (PAD_TriggerL(port) > 127) ? GX_GC_L_TRIGGER : 0;
state |= (PAD_TriggerR(port) > 127) ? GX_GC_R_TRIGGER : 0;

I would have to see what kind of value is being reported by PAD_TriggerL/PAD_TriggerR when you press those buttons on your Genesis pad.

If you have a PC with a private IP address and it is in the same LAN / network as your Wii, you could perform some tests for me. Just let me know if you do and if you can tell me your private (NOT PUBLIC!!!) IP address of your computer - I'll make you a special build so that you can netlog with it.


I could definitely test this for you, but am a bit wary of sending out ip addresses. Is there a way to get a debug onscreen so that it just displays the values? That could be a handy tool for testing in general, maybe you could put it under "advanced options" or something. Let me know if this is possible and I will test it out...

I tried looking in all the config files but could not find the code you mention above, I assume it must be a part of the compiled source.

-Joseph

You do get the difference between a private and a public IP address, right? I'm not able to do 'anything' with a private IP address - the only reason I need it so a special custom version of RetroArch gets instrumented with it and you'll be able to see debug messages on your home PC.

Also, I don't think it's very practical to add onscreen debug logs for this to the 'Debug Log' option - this is not an everyday request nor is it something that others want to be burdened with. Not to mention - me going out of my way like this to try to support unofficial 3rd party controller converters is not something that should be taken for granted either.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: