Generations Revisited

Generations Revisited

One of the things that you learn about me pretty early on is that I am prone to doing nonsense things.  One of those recent things has been trying to get the Citra 3DS emulator up and running to see how well Monster Hunter games work on it.  One of the things that I have wanted for awhile is for the ability to play the older handheld monster hunter games with a proper controller and on a larger non-handheld screen.  Yes I realize this literally goes against everything about the 3DS as a console platform, but I secretly wish that Nintendo would release something similar to the PSTV that is essentially a 2DS that hooks up to your television.  Similarly…  I pretty much exclusively play the switch in docked mode with a pro controller so maybe the whole handheld experience is lost on me.

Citra is an emulator that tries really hard to skirt that line between legal and illegal by forcing users to dump significant amounts of base information from a 3DS unit running a custom firmware.  I am not going to talk about this process, nor am I going to talk about the other ways around this process, but suffice to say that installing Citra is just the first step in many along this path that most assuredly leads to madness.  I’ve seen some stuff…  that is all I can say about that.  Which is made even more insane when you realize that I have a 2DS XL and a 3DS XL with the Monster Hunter Generations Cartridge that I can play easily any time I want to boot it up.

Generations Revisited

Emulation has always intrigued me…  especially once you enter the realm of 3D games because generally speaking if you have enough horsepower you can run the games in a way nicer state than you can on the original device.  For example I am running Citra at 3 times the resolution of a native 3DS at 1200×720 which graphically still looks a little dated by way sharper than things do on the handheld itself.  This also allows me to do things like take screenshots…  which is something I find myself sorely missing when I am playing on the actual proper handheld systems.  There was in theory a way to do this through MiiVerse that has now been shuttered, and the only other way I believe is through a capture card that generally costs about $200 to get installed.  In theory there is a custom firmware option as well, but I am sorta afraid to do that on my primary system.

The trickiest bit of the configuration that I had was getting Citra to recognize my Xbox One controller inputs.  There is a standard push key to configure button type interface, but for whatever reason it was not actually recognizing input.  After some googling I found a work around which was to take someone else’s direct-input controller config and paste it into my configuration file.  For the curious this file lives in “C:\Users\[YourUserName]\AppData\Roaming\Citra” or more quickly you can just type %appdata% into the run prompt to get at least to the roaming directory.  Inside of the Config directory there should be a file labelled “qt-config.ini” and at the top of that is a controls block.

[Controls]
pad_a=65
pad_b=83
pad_x=90
pad_y=88
pad_l=81
pad_r=87
pad_zl=49
pad_zr=50
pad_start=77
pad_select=78
pad_home=66
pad_dup=84
pad_ddown=71
pad_dleft=70
pad_dright=72
pad_cup=73
pad_cdown=75
pad_cleft=74
pad_cright=76
pad_circle_up=16777235
pad_circle_down=16777237
pad_circle_left=16777234
pad_circle_right=16777236
pad_circle_modifier=68
pad_circle_modifier_scale=0.4000000059604645
button_a=”button:1,engine:sdl,joystick:0″
button_b=”button:0,engine:sdl,joystick:0″
button_x=”button:3,engine:sdl,joystick:0″
button_y=”button:2,engine:sdl,joystick:0″
button_up=”joystick:0,engine:sdl,direction:up,hat:0″
button_down=”joystick:0,engine:sdl,direction:down,hat:0″
button_left=”joystick:0,engine:sdl,direction:left,hat:0″
button_right=”joystick:0,engine:sdl,direction:right,hat:0″
button_l=”button:4,engine:sdl,joystick:0″
button_r=”button:5,engine:sdl,joystick:0″
button_start=”button:7,engine:sdl,joystick:0″
button_select=”button:6,engine:sdl,joystick:0″
button_zl=”engine:keyboard,code:49″
button_zr=”engine:keyboard,code:50″
button_home=”engine:keyboard,code:66″
circle_pad=”engine:sdl,axis_y:1,joystick:0,axis_x:0″
c_stick=”engine:sdl,axis_y:4,joystick:0,axis_x:3″
motion_device=”engine:motion_emu,update_period:100,sensitivity:0.01,tilt_clamp:90.0″
touch_device=engine:emu_window

Simply paste over this configuration and you should be good to go.  You might want to tweak the sensitivities in game a bit because right now my Xbox One controller is way the hell more responsible than a stock 3DS.

Generations Revisited

All in all I am pretty happy with the results and while sure… I could be playing Monster Hunter World on the PS4 instead of messing around with Citra and Monster Hunter Generations…  that is not the way my brain works.  Sure the menus are all very pixelated and sure the textures look wonky at times…  but the base 3D models look so much smoother than they do on the console.  I have no clue why I suddenly feel the desire to play all the things when it comes to Monster Hunter…  but I am likely going to try and get the PSP game running on my PSTV to see how that one handles as well.  The risk of a post like this is that I am likely going to start getting a bunch of comments asking me how I did this and if I can send them files…  the answer is a big nope.  I am existing in a weird grey area in that I have all of the components needed to make this work naturally.

You know how all of those videos will say “this is for educational purposes only”, in truth that is sorta why I think I mess around with stuff like this.  I know soon I will get bored and wander off as the next shiny thing attracts my attention, because I am no longer playing Monster Hunter Online or Phantasy Star Online 2…  things I had to go through a bunch of work to make functional.  I think I like doing these silly ventures because it feels like I accomplished something interesting.  Its the core part of my brain that used to always keep changing Linux Distros on a second machine here at the house, because ultimately I guess I have a strong tinkerer instinct.

Let Us Know What You Think!

This site uses Akismet to reduce spam. Learn how your comment data is processed.