jago85 / UltraPIF_Hardware

N64 PIF Replacement Hardware (KiCad)
GNU General Public License v3.0
64 stars 7 forks source link

Boot to game not working #11

Closed vraskin2024 closed 1 month ago

vraskin2024 commented 1 month ago

Hi Jago85! I just installed the UltraPIF into my US N64 and everything works great except for the "Boot to Game" option. The "Reset to Game" option works as intended, but after trying every combination of settings I still have to go through the UltraPIF menu. I was wondering if this was a known software issue or maybe something that could be caused by an incorrect installation? I also have Tim Worthington's N64RGB mod installed if that makes a difference.

Thanks!

jago85 commented 1 month ago

Hi, I have no idea yet what could be the problem. This feature is independent of other hardware mods. It's just a part of the menu code and only checks if it comes from power-on-reset and tries to detect the bootcode type (IPL3) of the inserted cartridge. If it doesn't detect a known bootcode it falls through and shows the menu. If everything else works, I don't know why this particular feature doesn't. Except it doesn't detect a known IPL3 for some reason.

I have several questions:

vraskin2024 commented 1 month ago

Thanks for the quick response!

  1. When powered on, it boots to the menu regardless of what settings are selected. After that the game can be launched with no issues. When reset via the reset button, it behaves correctly based on the "Reset to Game: On/Off" setting. The "Boot to Game: On/ Off" setting does get saved, it just doesn't get applied.

  2. I've tried with several US games, a Japanese game, and an Everdrive.

  3. I'm pretty sure it was on the latest firmware when I got it, but I did a firmware update to the latest version I could find anyway in case that was the issue. Behavior was the same before and after firmware update.

Info: Build = Mar 10 2021 19:17:13 Menu 0.9.0 FPGA 0.6.0 MCU 0.11.0

Reset Source: 1 Flash Total: 15689 KiB Flash Used: 113 KiB (0.72%) Bootcode CRC: 90BB6CB5

DD Test: Name: [blank] ID: [blank] Bootcode CRC: DB1768F5 4KB CRC: F4B32E99 Init PI Set: 00000000 DD Status: 05080508

TV: NTSC CIC: 83xx

  1. I don't see why it would matter, but just in case it makes a difference:
    • I didn't connect the RGB LED board, opting to just keep the regular LED.
    • The RGB Mod I have does require a wire going to the PIF chip - I think to enable in game reset via controller? Since the original PIF is removed as part of the UltraPIF installation, I just wired it to the pad.

Is there maybe an earlier firmware I could try? I couldn't find any online.

jago85 commented 1 month ago

Thx for the additional information.

There is a newer release over there in the UltraPIF_MCU repo. https://github.com/jago85/UltraPIF_MCU/releases/download/v0.11.1/fw_updater_fpga_0-6-0_mcu_0-11-1_menu_0-10-1_bootfiles.zip

I would try to update it, but I don't expect any change in behavior related to this issue.

Reset Source: 1 This value is interesting because it is checked for the Boot-to-game feature. The value must be 0 (RESET_SOURCE_POR) but it actually is 1 (RESET_SOURCE_BUTTON). Is this the case directly after turning the console on? This could be an explanation.

I think I could reproduce an behavior like that by hitting the reset button just the right moment during boot. Does your RGB mod work without the reset connection? The UltraPIF can trigger a reset via controller too. Just hold A+B+Z+R+L for 2 seconds.

vraskin2024 commented 1 month ago

Success! Removing the wire from the N64RGB board to the PIF pad did the trick! Thank you so much! For anyone reading this, both mods play nicely together aside from this. The N64RGB de-blur function still works and the in game reset works via the UltraPIF mod.

Thank you so much for your help!