Jump to content

Question for the people who emulate Nintendo DS through hyperspin


noiseordinance

Recommended Posts

It wouldn't be so bad if it just had fricking mouse support. That's taking a big dump on PC users (you know, the majority of emulator users), almost as bad as the NullDC devs moving to Reicast for phone gamers. Navigating an emu menu with a joystick/arrow keys is terrible, especially with a multi-emulator where you want various configs.

Link to comment
Share on other sites

  • Replies 56
  • Created
  • Last Reply
Figured it'd be a RGUI option. I actually use the old RetroArch and just update the libretro cores as they come out. Can't stand that RGUI they switched to, reminds me of trying to navigate a clunky DOS menu like something out of 1988. Not very PC friendly like the old Phoenix GUI that takes two seconds to set up per-system configs. It's also missing a bunch of useful hotkey binds last I checked. Seems catered to mobile or console users.

Sounds like it'd be best just to stick with Desmume standalone then, thanks for the info.

I couldn't fit all the binds in one screenshot, but I think at this point they've added everything you could bind via Phoenix:

rguiinputoptsk4jdr.png

There's a toggle for bind mode so you can do both pad and keyboard binds from there now too.

I think RGUI is nice for making quick changes while staying in full screen, though mouse support could be a nice addition.

The decreased display lag with hard sync on, perfect scrolling at 120hz with swap interval 2 and nicer looking non-integer scaling using the pixellate filter make the libretro version far better for me :cool:. Stand alone ain't too bad though.

Link to comment
Share on other sites

Wow I'm surprised they finally added all those hotkey options. Well damn, guess I should update sometime then but I'm really gonna miss the ease of using Phoenix UI. I don't notice any kind of display or vsync lag with the old version though but I'm only using a regular 60hz monitor.

They look to be behind on Mednafen though as 0.9.34 actually just came out. The Medna author has really gotten into gear lately and doing a lot of work, can't wait to see PS1 save state support finally.

Link to comment
Share on other sites

360 controller ....

map all standard buttons

map anolog stick to mouse control

map second anolog stick to emulator functions for switching top/bottom screen and aspect

(up/down stick changes the aspect and size - left right changes from both screens to full screen top/bottom)

apply a custom (mario pointing hand ! as mouse cursor)

how about that ?

Does anybody know if this ca be done on the fly? (the custom mouse cursor thing). I would like to use a custom mouse cursor for NDS and then change it back when exiting.

Link to comment
Share on other sites

Does anybody know if this ca be done on the fly? (the custom mouse cursor thing). I would like to use a custom mouse cursor for NDS and then change it back when exiting.

I guess with AHK, but I don't know how, haven't searched really.

btw, I don't know why you want to play DS in retroarch so bad. It's still missing so many things that IMO is not worth it, stay with x432r desmume, it has more benefits than the Retroarch core.

Link to comment
Share on other sites

Does anybody know if this ca be done on the fly? (the custom mouse cursor thing). I would like to use a custom mouse cursor for NDS and then change it back when exiting.

I am not allowed to say anything about that, but I am sure that the next hyperlaunch update could have something to say on that...

Link to comment
Share on other sites

  • 4 weeks later...

Does any one else experience an issue when exiting a Nintendo DS game, then launching another Nintendo DS game? When I do so, the first time it the emulator launches fullscreen, as expected; however, if I attempt to launch another game, it opens in window mode? I am using DeSume X432R.

Link to comment
Share on other sites

Does any one else experience an issue when exiting a Nintendo DS game, then launching another Nintendo DS game? When I do so, the first time it the emulator launches fullscreen, as expected; however, if I attempt to launch another game, it opens in window mode? I am using DeSume X432R.

Yes, KrillCaz, out of desperation I mapped a button to alt+enter. I guess it must do with the X432R version, they are very similar, but seems not enough to use the same module. We are all here waiting for the module gurus to help for a few months, the N64 module with the ROM load bug has been on the queue for months, so go figure.

Link to comment
Share on other sites

Dogway, I discovered a temporary fix which will solve the issue until the module is updated. Go to your DeSmume directory folder, open the DeSmume.ini configuration file, then make sure both of these options equal '0', like so.

WindowFullScreen=0

WindowMaximized=0

After that, save the file, right click the .ini configuration file located in the DeSmume directory, click 'properties', select 'Read Only', then click okay. After a little observing, I realized that it temporarily overwrites that particular setting when you initially launch a game, and it reverts when you close DeSmume. This, however, should solve the problem. Whenever you need to change a setting; you will need to first unselect 'Read Only'.

Link to comment
Share on other sites

That is an expected behaviour. The module is writing (or should be writing) some settings to the emulator's settings file. One of them being fullscreen, but that is only temporally, so you never lose your original settings.

If you set the file to read only, it won't be possible to configure per game settings on the module side either. I'm going to fix the module when I have time, in one or 2 weeks ahead, but only for the per game settings, I have no idea about the fullscreen issue.

Link to comment
Share on other sites

The current module works perfectly fine for the official DeSmume builds. The .ini configuration file for the unofficial X432R fork is slightly different; which is more than likely why this is happening. I'm going to try to pinpoint exactly what in the DeSmume.ahk file is causing this to happen, and edit it accordingly.

Link to comment
Share on other sites

Yes, that was something I was thinking to do.

The fullscreen var is being read from the modules .ini file, not the emu's. The issue is what comes next, which might differ to main desmume branch.

If Fullscreen = true
{	WinGetPos, x, y, w, h, ahk_class DeSmuME ; Getting original position of the emu, so we know when it goes Fullscreen
	Sleep, 500
Loop { ; looping so we know when to destroy the GUI
	Sleep, 200
	WinGetPos, x2, y2, w2, h2, ahk_class DeSmuME
	;ToolTip, x=%x%`ny=%y%`nw=%w%`nh=%h%`nx2=%x2%`ny2=%y2%`nw2=%w2%`nh2=%h2%
	If ( x != x2 ) ; x changes when emu goes fullscreen, so we will break here and destroy the GUI
		Break
}
Sleep, 200 ; Need a moment for the emu to finish going Fullscreen, otherwise we see the background briefly
}

I'm also thinking on fixing the per game rotation setting which doesn't seems to work either, and add a new feature to configure gap size per game too.

Link to comment
Share on other sites

The current module works perfectly fine for the official DeSmume builds. The .ini configuration file for the unofficial X432R fork is slightly different; which is more than likely why this is happening. I'm going to try to pinpoint exactly what in the DeSmume.ahk file is causing this to happen, and edit it accordingly.

What is the advantage of the fork so it would justify having support for it over the official emulator?

The fullscreen var is being read from the modules .ini file, not the emu's. The issue is what comes next, which might differ to main desmume branch.

I'm also thinking on fixing the per game rotation setting which doesn't seems to work either, and add a new feature to configure gap size per game too.

Both works with the official emulator. The fullscreen var needs to be always read from the module settings, and after that, if it differs from the option set on the emulator it should be changed by code added on the module. This is the way it works for all modules.

The official emulator did not supported a fullscreen option, but the module takes care of that by its own. If the fork do things differently, for sure this should be modified for an special fork module.

About the screen gap, the module only recalculates it if you are using a bezel image, as on this case, you would need to define the screen gap based on the current bezel screen area that you are using. It couldn't be fixed.

If you use the emulator on fullscreen, you just need to set the screen gap to whatever you want on the emulator options.

And again, the rotate works perfectly using the official module. I don't know the changes to the config files that the fork that you use would make.

If there are substantial advancements on this fork I could place on my TODO list the creation of an specific module for it, but I will not get into the trouble if that fork does not deserve.

So, the question is still the same, why go for the fork instead of the official emulator?

Link to comment
Share on other sites

Thanks for help and confirmate that official branch works.

I don't quite get what's the point of the current screen gap configuration, as you state it has to do with bezels which IMO is a marginal feature. My use is fullscreen and black all around (pillar boxes?), so probably absolute screen gap values (?). The intention is to read the module's ini to read per game screen gap, and take that to the emu's ini. It's rather easy to do but I need the 1 or few hours to take a look, which I don't have now. I did something similar with the PSP module, and works fine.

You will find hundreds of examples if you google, and then you will start to wonder not why use X432R, but why you were not using it earlier.

Anyways, here's the official web (ok, not official, but pseudo-).

I read Japanese so ask if you got any questions.

Let me know how the acceptance of the fork goes, so I can save those hours on another thing, probably.

Thanks for help.

Link to comment
Share on other sites

Hello !

Awesome work on HD !

But if someone knows ..how to make white background to black?

Its killing my eyes

desmume-x432r.jpg

without enhanced mod background is black ,but when i switch it on ,it became white.. and i haven't found way to change to black..

Nvidia 560ti 337.88 drivers (latest)

DeSmuME X432R 2014-05-25-1 <----- using this

--------

nvm

ok found a way ..

it seems that screen gap option gets greyed the moment i switch to lcd layout horizontal..

i have to change to black before switching to horizontal .thanks

Link to comment
Share on other sites

  • 1 month later...

Any news on the module side for the fork?

On another note, I was just testing Mario Kart DS with latest fork revision, and there's no way to run it smooth with the fork enhancements, it runs at about 35fps on my up-to-date system. The only way to run it at 60fps is via soft rasterizer, so no shiny graphics for Mario Kart. What this indicates is that a per-game settings should be configurable via the .ini file, currently only vertical and rotate is possible (broken for the fork), I also want to add gap size, layout and some graphic options, mainly rasterizer or full fledged hardware enhancements, it would go like this:

[Apollo Justice - Ace Attorney (Europe) (Es,It)]
LCDsLayout = 0
Rotation = 0
Raster = false
ScreenGap = 64

I would also like if possible to add more options mainly controls, but not sure on how to do that without basically remaking the module. I thought on simply making ini files named after the game title, and if the ini is found, then replace, otherwise use a default ini. I didn't like how the buttons were mapped for Mario Kart, that's why.

btw, after I finish with the module if there's an ongoing project I want to join to make all the wheels for the Nintendo DS, at least for the games I own which are about 130. It's the system that looks ugliest on my HS.

Link to comment
Share on other sites

Ok, finished module, if there's help needed for the wheel art I'm ears. I'm going to do them regardless, but thought to be a good idea to share resources.

I am not allowed to say anything about that, but I am sure that the next hyperlaunch update could have something to say on that...

Also an ETA for this? (change cursor for emu). Roughly... say within 2 months, or maybe talking half a year?

Link to comment
Share on other sites

I haven't, now looking it seems to not be very actively developed.

What I care most for NDS emulation is compatibility and graphic enhancement, and I think the latter is an exclusive feature of X432R. Once you try it you can't go back really. Something I miss is make second screen a bit smaller, I can live with that though.

Link to comment
Share on other sites

X432R should be available in the RetroArch core at some point. The patch for it was added at this commit, but there isn't a core option or any other way to enable it yet that I can find as of lordashram's 7/30 test build, so I don't think it's ready. None of the commits past 7/30 suggest it's been enabled since that build either.

AndresSM added most of the screen orientation options from stand alone Desmume as a core option awhile back. Including a quick switch single screen mode where you press R3 to swap between them. He fixed it so the aspect is correct when switching orientation modes too. Screen gap modes aren't in there, but could probably be added if requested. I don't use them because they make the screens so small.

Link to comment
Share on other sites

Well, that's good news, although so far X432R works quite well for me, despite the module not being entirely optimized. For me it's currently not a big problem unless it's not included in the 1.1 version, for me that's the priority, still one month to go.

I don't think a "single screen" option is useful. I haven't seen a game (and these days I'm running through a lot of them) that only uses one screen through the whole of it. And even if it was how would you know without seeing the hidden screen? A more useful option should be to make main screen bigger, like say 70% vs 30% since many games only use the below screen for maps, and stats.

Screen Gap is useful for some games where correlation between up and down screens is important, namely Yoshi's Island DS, Yoshi Touch & Go, Big Bang Mini, the dragon quest remakes, sonic colors, etc.

I enabled these options for the X432R module which IMO are necessary (if one were to port this to a RA core). I have "mantain aspect ratio" and filter enabled by default.

MainScreenSize (50%, 70%...)

Renderer (these are the HW graphic enhancements)

Raster (raster mode for hungry games like Mario Kart, you can pair this with the above setting for more quality, check pseudo official page)

vertical (this is rotation)

ScreenGap

LCDsLayout (put screens side to side, or one above the other, I think 1,2,3,4 could work here, so no need for swap options)

Link to comment
Share on other sites

A few more things I observed. The emulator loses focus after loading screen (it happened also when I didn't have a loading screen) it simply loses focus and HyperSpin keeps playing video, until I "click" over the DS. This doesn't happen always so it's strange.

I added this to a script outside module but doesn't make a change

WinActivate ahk_class DeSmuME

ControlFocus ahk_class DeSmuME

I think I know how to make a temporary cursor appear for the stylus. I made a "pen-like" cursor, I just need to brush up the code a tiny bit. So wait a few more for this. edit: ended code for temporary change of cursor.

Sometimes for unknown reasons desmume (my card/drivers?) run slow, and this isn't reflected on FPS stats. Not even simple soft raster mode and JIT make it go decent. I restarted and everything went fine. I wonder if my card doesn't like switching monitors (or monitor/TV in this case), so just keep an eye on that. A restart restores condition.

Link to comment
Share on other sites

  • 4 weeks later...

Question, I downloaded a nds cursor ani file so that my mouse icon looks like a stylus. I put the file in the cursor file as default but I'm not seeing the stylus cursor, rather I still see the same old cursor. Know what I'm missing? I put the file in the folder that was on the hyperlaunch wiki page. I haven't installed anything with the cursor, I simply just have the file in its proper location. I don't know much about changing cursors. Thanks for any input

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...