Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IR Passthrough] On-cart IR using "Walk With Me" cart cannot reset Pokéwalker in Pokémon HeartGold #431

Open
aphirst opened this issue Sep 25, 2018 · 47 comments

Comments

@aphirst
Copy link

aphirst commented Sep 25, 2018

What I have currently available for testing:

  • n3DS, Luma CFW
  • twilightmenu + nds-bootstrap 0.12.1 rev02
  • Physical copy of "Walk With Me" NTR-IMWP-EUR, a game with a built-in IR port
  • (I do not currently possess a "Walk With Me" pedometer, but I have recently ordered one for testing.)
  • Verified Good Dump of Pokémon Heart Gold (German), along with anti-AP xdelta patch applied (though this does not seem to affect the issue)
  • Pokéwalker

What I want to achieve

  • Be able to connect the Pokéwalker to an instance of Heart Gold running through nds-bootstrap, by means of an inserted "Walk With Me" IR-cart

What I've tested

  1. (Unfortunately I don't have my physical copy of Heart Gold currently to hand for testing.)
  2. Choose "connect" on the Pokéwalker while pointing at nothing, LCD display says "No trainer found."
  3. Boot "Pokémon Heart Gold" in nds-bootstrap, attempt to connect the Pokéwalker: LCD text says "No trainer found."
  4. Boot "Walk with Me" from the physical cart, attempt to connect the (obviously incompatible) Pokéwalker: LCD text says "Cannot connect."
  5. Boot "Walk With Me" using nds-bootstrap, attempt to connect to the Pokéwalker: LCD text says "No trainer found."

Apparent conclusions

  • The "walk with me" cart obviously does have a not-utterly-broken IR port since it triggers a distinct error message with the Pokéwalker, presumably due to the handshake being different to the game's intended bundled peripheral.
  • nds-bootstrap does not appear to be properly initialising the "Walk with Me" game cart's built-in IR port

I've asked about this in the NDS(i)Brew Discord server, but after not making much progress, figured it made sense to escalate it to a proper Issue.

If there's anything I could test which might shed light on why IR passthrough isn't working in my case, I'd be only glad to help.

@aphirst
Copy link
Author

aphirst commented Sep 27, 2018

My second copy of "Walk With Me" arrived today, this time with its bundled "actimeter" pedometer peripheral. I can confirm two things:

  1. The IR works perfectly with the real card(s) in conjunction with the "actimeter".
  2. Booting the "Walk With Me" ROM via nds-bootstrap does NOT activate the IR chip on the inserted gamecard, and communication with the "actimeter" is not possible.

This certainly makes it seem as if the problem here lies with nds-bootstrap.

As before, if there's anything I can do to help, please just ask. Additionally, I am willing to donate my spare "Walk With Me" game card if there's a developer in the UK or EU (shipping prices) who reckons it would be key in getting it working.

@RocketRobz
Copy link
Member

After further testing at the NDS(i)Brew Discord server, it turned out to be an issue with TWiLight Menu++, where it resets slot-1 access to read header data from a flashcard, so that TWLMenu++ can init the DLDI driver for the specific flashcard.
The Slot-1 reset is the culprit where it stops IR from working.
In the next TWiLight Menu++ version, direct flashcard access will be an option, so that IR will work again.

@aphirst
Copy link
Author

aphirst commented Sep 27, 2018

I can confirm that the workaround of relaunching the game via "last run ROM" does seem to result in the IR chip remaining active.

There is still potentially an issue remaining. Allow me to describe it by means of a comparison

  • If I run "Walk With Me" via its ROM, I can now connect its "actimeter" peripheral through the WWM cart's IR, register a user on it, and seemingly use it as normal.
  • If I run "Pokémon Heart Gold" via ROM, the Pokéwalker now responds to IR from the WWM IR port, however it does not seem possible to successfully reset the Pokéwalker to be used with a new save game. It is not possible to test "normal" operation of the Pokéwalker without doing this, since it is set up for an old save file, and there is no on-device way to reset this data.

Is anyone able to confirm whether either resetting Pokéwalkers works or doesn't work for them, and which IR-supported cart they're using in their Slot-1? That might indicate whether it's a general issue with nds-bootstrap, or whether it's instead a quirk of using different IR-supporting carts.

@aphirst aphirst changed the title [IR Passthrough] On-cart IR using "Walk With Me" cart nonfunctional [IR Passthrough] On-cart IR using "Walk With Me" cart cannot reset Pokéwalker in Pokémon HeartGold Sep 27, 2018
@RocketRobz RocketRobz reopened this Sep 27, 2018
@aphirst
Copy link
Author

aphirst commented Nov 9, 2018

I was finally able to get my hands again on a Pokémon SoulSilver cart. Japanese, but I'm confident that the region doesn't matter.

The various possible IR tasks are:

  • resetting an old IR pedometer
  • activating a reset pedometer
  • send data to a linked pedometer
  • receiving data from a linked pedometer

I think there's also cart-to-cart stuff in Pokemon Black/White but since I only have one console I'm not in a position to test it.

Pokémon SoulSilver cart (NTR-IPGJ-JPN, NTR-031)

Task \ ROM Walk With Me HeartGold (AP Patched) Heart Gold (Clean)
Reset Old Works Works Works
Activate New Works Works Works
Send (Pokémon) Works Works Works
Receive (steps, Pokémon) Works Works Works

So the first conclusion is: the HG/SS carts do everything the WWM carts do.

Walk With Me cart (NTR-IMWP-EUR, NTR-031)

Task \ ROM Walk With Me HeartGold (AP Patched) Heart Gold (Clean)
Reset Old Works Fails Fails
Activate New Works Fails* Fails*
Send (user data) Works Fails** Fails**
Receive (step counts) Works Fails** Fails**
  • The boxes marked * could only be tested after first using the SS cart to reset my old Pokéwalker which contained old data.
  • The boxes marked ** could only be tested after first using the SS cart to pair the Pokéwalker to the save file.

So the second conclusion is: The WWM carts work fine when loading ROMs of its own game, but fail at all the relevant steps required by the Pokémon games. As mentioned before, the IR does seem to do "something" at that time, since it makes the Pokéwalker respond, displaying an explicit error message instead of merely causing a time-out message, but whatever it does do is clearly false.

I think it's safe to conclude that the Pokémon IR carts are in fact an upgraded or extended version of the carts used for Walk With Me, however it's worth noting that there's no external difference - they all declare "NTR-031. PAT. PEND." on the back, and are all from the same black (rather than grey) plastic.

Future Work

At a bare minimum, it should be made clear to people wanting to use the Pokéwalker feature that these WWM carts unfortunately do not work like the Pokémon carts do. From there, it would be interesting to know exactly what it is that the WWM carts do when receiving IR-related commands from the game code, both on an electronic and an optical level. If there's a slim chance that this could be worked around in a straightforward way, it might be worth at some point pursuing.

@fennectech
Copy link

would it be possible to use the 3ds IR thing?

@autofire372
Copy link

I don't think that's available in DS mode.

@fennectech
Copy link

Could be done through a sysmodule like you do for widescreen.

@fennectech
Copy link

is this fixed? I just bought a wwm cart for tthe IR so i can use my pokewalker some day

@fennectech
Copy link

fennectech commented Jun 1, 2020

I have acquired a compatable cart and a walk with me cart. They are physically different. This is pokemon black on the left. Walk with me on the right. I CAN use the actimeter with walk with me through twilightmenu/pokemon black. I CAN use the pokewalker through twilightmenu / pokemon black
I CAN use the actimeter with twilightmenu/wwm cart. I CANNOT use the pokewalker through twilightmenu/wwm cart
image
image

@fennectech
Copy link

fennectech commented Jun 1, 2020

I would be willing to acquire an IR toy for further testing. From even more testing just about any IR source will trigger the "cannot connect" screen from the actimeter to telecvision remotes and even open flame. So it seems to be a protocol failure

@ec04012
Copy link

ec04012 commented Aug 1, 2020

IR isn't working when I use a HeartGold rom with a White or White 2 cartridge.

IR is only working for me if i enable "last played rom on startup".

Turning "slot-1 microSD access" on or off doesn't fix the issue.

On a previous version (twilightmenu version 11), ir passthrough worked without enabling "last played rom on startup".

@RocketRobz
Copy link
Member

@ec04012 Did you enable the SELECT menu as well?
Going into the DS Classic Menu causes this issue.

@ec04012
Copy link

ec04012 commented Aug 1, 2020

@RocketRobz

Yeah, that worked.

I disabled "DS Classic Menu on startup" and set "DSi/Saturn; SELECT" to SELECT menu.

What's the difference between the classic menu and the select menu? I can't seem to find an explanation of them.

@RocketRobz
Copy link
Member

The DS Classic Menu resets Slot-1 in order to read the header and banner title/icon, which causes IR to not work, as a result.

@nn9dev
Copy link

nn9dev commented Feb 13, 2021

So, from what I've been able to gather from this thread (and please correct me if this is incorrect)

  • You need a Pokemon HG/SS/B/W/B2/W2 cart to use IR Passthrough for the Pokewalker
  • Walk With Me does NOT work for IR Passthrough if using a Pokemon ROM due to physically different hardware
  • The DS Classic menu cannot be used when wanting to use IR Passthrough

So, the question still stands: With the prices of these carts going up EXUBERANTLY (check Amazon, eBay, Mercari, whatever) will we ever have an alternative that would allow us to connect to a Pokewalker that doesn't need a cart? Or is that totally out of the question as all of this runs on the arm9 processor? Furthermore, what project would that question fall under? nds-bootstrap? TWiLight Menu? Or a completely different, new project utilizing some sort of sysmodule or passthrough to the 3DS's IR hardware?

@fennectech
Copy link

fennectech commented Feb 13, 2021 via email

@nn9dev
Copy link

nn9dev commented Feb 14, 2021

I was more looking for the answer to "Will we ever have a future-proof option?" (aka no cart)

@fennectech
Copy link

fennectech commented Feb 14, 2021

In theory. Yes. Without a lot of work (Reverse engineering TWL_FIRM no. If you have the skills to make it so then it could be. But there are more important thigns being worked on RN But this is an open source project so your welcome to add it yourself or pay someone to do the legwork to add it for you :)

@nn9dev
Copy link

nn9dev commented Feb 14, 2021

well, maybe when i get some extra money i'll put up a bounty or something for it, but it's really good to know that it's at least possible. It would honestly be a great step for immortalizing such games fully, but i definitely see how it isn't a number one priority :)

@mrpj924
Copy link

mrpj924 commented Feb 21, 2021

Having some trouble connecting my pokewalker using both my black & white 2 cards & a HG save. They both have functioning ir ports, and as suggested I:
-Disabled DS Classic Menu on startup
-Select to Select Menu
-Disabled Slot1 microSD access
-Tried with & without Last played rom on startup

Working with New3dsxl, twilight menu++ v18.5.0

@nn9dev
Copy link

nn9dev commented Feb 21, 2021

I had a similar issue a few days back. The most recent updates of TWiLight Menu and nds-bootstrap (which both released less than a week ago) made some improvements to the IR functionality. Update those, and also make sure that your Pokéwalker is pointing at the cartridge when you're trying to use it. I ended up using my o3DS due to the cartridge port location, but I assume it shouldn't make too much or a difference on the n3DS. Try updating them both from the TWiLight Menu++ updater app.

@mrpj924
Copy link

mrpj924 commented Feb 22, 2021

I originally installed them yesterday so I think I had installed the newest version, but just to be safe I updated both. I pointed them at the cartridge (on the front for the n3ds) but still no improvement.

@nn9dev
Copy link

nn9dev commented Feb 24, 2021

Interestingly enough, I can't actually get it to work on my n2dsxl which makes me think there might be a hardware change between the n3ds and o3ds that makes the IR passthrough code not work? So this may be something for @RocketRobz to look at, however I know this issue has been on triage for quite some time...

Edit: I'm noticing that the original poster used a n3ds, however there have been a LOT of changes since then. I myself still can't get it to work even after toggling any and every setting related to it on and off. I am BEYOND confused honestly, so I guess yeah, this is left to Robz or whoever else wants to take a crack at it.

@Epsilon635
Copy link

same issue here :( tried it on my DSiXL after it wasn't working on my n3DSXL and still no luck

@Epicpkmn11
Copy link
Member

Epicpkmn11 commented Jul 24, 2021

As of 46ee6ce (and release v0.45.0) IR is working in Pokémon Generation 5, however it doesn't seem to work in Generation 4.

I've tested Pokémon Black 2 (U) and Pokémon Heart Gold (U) both with Pokémon White (J) and Pokémon Heart Gold (U) carts and Black 2 worked with both, Heart Gold worked with neither.

Edit: All testing was done on a DSi (K) with TWiLight Menu++ v21.0.2 and the latest bootstrap nightlies.

@MegaVat30
Copy link

With all listed above, I didn't manage to connect SoulSilver rom to my Pokewalker via Black 1 (EU eng) and HeartGold (EU ger) cards.

Tests were made on New 3DS xl and DSi xl with the latest TWiLightMenu v21.3.0 and Included nds-bootstrap v0.46.0

@JanitorHead
Copy link

Can't get the pokewalker to work neither. Tried with DSi XL with Twilight Menu v21.3.0 and nds-bootstrap v0.46.0 and also nigthly 2ea69cd but nothing.

Used the above settings:
-Disabled DS Classic Menu on startup
-Select to Select Menu
-Disabled Slot1 microSD access
-Tried with & without Last played rom on startup

The test was done with Pokémon Soul Silver (Spain) rom and Pokémon Heart Gold (Spain) cartridge.

@Epicpkmn11
Copy link
Member

On r/NBSBrew, u/honct123 tested Active Health with Carol Vorderman with Pokémon B2/W2 and it doesn't appear to work, so that game likely has the same old IR version as Walk With Me.

@Epicpkmn11
Copy link
Member

IR using a Pokémon cart to connect to the Pokéwalker should be fixed by #1302!

If anyone else wants to test I haven't tested super thoroughly yet, however from what little I've done it seems good. I highly doubt this will fix Walk With Me carts, but a confirmation on that would be good.

@JanitorHead
Copy link

IR using a Pokémon cart to connect to the Pokéwalker should be fixed by #1302!

If anyone else wants to test I haven't tested super thoroughly yet, however from what little I've done it seems good. I highly doubt this will fix Walk With Me carts, but a confirmation on that would be good.

Hi, it's working now on 24902ba

Amazing work!

@Epicpkmn11
Copy link
Member

Does it actually work with a Walk With Me cart? Or just with a Pokémon cart?

@JanitorHead
Copy link

Does it actually work with a Walk With Me cart? Or just with a Pokémon cart?

Oh, sorry, I didn’t specified. I tried with the cart of Pokémon Heart Gold (Spain) and the IR pass throughout works.

I didn’t tried with Walk With Me cart because I don’t have it, maybe someone around here could try.

@CrisPH7
Copy link

CrisPH7 commented Jan 2, 2022

So IR is working again? I thought it was disable to make R4i-SDHC work

@RocketRobz
Copy link
Member

IR is only disabled when launching Slot-1 cards via TWLMenu++. It still works in nds-bootstrap.

@CrisPH7
Copy link

CrisPH7 commented Jan 2, 2022

Ah, I misunderstood what was written,
thanks for clarifying it to me!

@RocketRobz
Copy link
Member

I think it's safe to assume this is fixed.
If it still doesn't work with a Walk With Me card, then the IR hardware is probably different from the Pokemon one.

@fennectech
Copy link

Do you need someone to test?

@Kaisaan
Copy link
Member

Kaisaan commented Feb 22, 2022

Yes.

@RocketRobz
Copy link
Member

Do you need someone to test?

Sure, that would be nice.

@fennectech
Copy link

Shoot me a build.

@RocketRobz
Copy link
Member

The latest one from the release page should work fine.

@fennectech
Copy link

Ill just grab it with TM++ updater

@fennectech
Copy link

“The connection was disrupted. Please try again” when receiving gifts

@fennectech
Copy link

When i use a pokemon black cart all works just fine

@Kaisaan
Copy link
Member

Kaisaan commented Feb 22, 2022

The TWiLight Menu++ Updater app has been discontinued sometime ago. I'd suggest using Universal-Updater to update TWiLight Menu++ and nds-bootstrap.

@fennectech
Copy link

Issue persists on both nightly and release on my WWM cart

@Kaisaan Kaisaan reopened this Feb 22, 2022
@lifehackerhansol lifehackerhansol added this to Low Priority in Enhancements Feb 22, 2022
@fennectech
Copy link

fennectech commented Feb 22, 2022

If you need a WWM cart id be glad to mail you mine if you pay shipping

Also. It has been popped open for the previous photos. But it does work just fine :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Enhancements
  
Low Priority
Development

No branches or pull requests

15 participants