Sooo another question if anyone knows, can the MIGFlash access DLC if it's been downloaded onto the Switch? I know it can't backup the DLC, but can it access it if it's been downloaded through the real cart?
So before I pull the trigger, the MIGFlash can't dump DLC, but it can at least be used to access the DLC as long as it's already been downloaded? Can anyone 100% confirm that?
This guy seems to have communication with UnlockSwitch, and when he messaged them asking about the firmware their response was "We're not providing a solution for this".
Does this mean they cannot provide firmware right now, or they have abandoned plans to release the firmware? Can anyone with communication with them check this?
This guy seems to have communication with UnlockSwitch, and when he messaged them asking about the firmware their response was "We're not providing a solution for this".
Does this mean they cannot provide firmware right now, or they have abandoned plans to release the firmware? Can anyone with communication with them check this?
I don't believe they ever confirmed to be releasing fw. From what I understand, they are relying on the community for that. Specifically, the open mig team has claimed to be developing fw. Someone may be able to correct me though
I don't believe they ever confirmed to be releasing fw. From what I understand, they are relying on the community for that. Specifically, the open mig team has claimed to be developing fw. Someone may be able to correct me though
This guy seems to have communication with UnlockSwitch, and when he messaged them asking about the firmware their response was "We're not providing a solution for this".
Does this mean they cannot provide firmware right now, or they have abandoned plans to release the firmware? Can anyone with communication with them check this?
Im wondering where he get these info. I have directly contact with the UnlockSwitch team. I know that they have the software; i have seen this.
I have also seen the part of the code that OpenMig sends to the UnlockSwitch team as proof..
The reason why there is a media silence is because they are working very hard behind the scenes for the , Firmware and Software update utilities, Programmer updates and the special devkit unit.
Im wondering where he get these info. I have directly contact with the UnlockSwitch team. I know that they have the software; i have seen this.
I have also seen the part of the code that OpenMig sends to the UnlockSwitch team as proof..
The reason why there is a media silence is because they are working very hard behind the scenes for the , Firmware and Software update utilities, Programmer updates and the special devkit unit.
lol. "seen part of the code"... If you saw some of the code, how did you verify it works? if you only saw a piece- you clearly didn't compile it, run it on a cart, and verify that it correctly functions by 'tricking' the switch into believing the flashcart is valid.
Im wondering where he get these info. I have directly contact with the UnlockSwitch team. I know that they have the software; i have seen this.
I have also seen the part of the code that OpenMig sends to the UnlockSwitch team as proof..
The reason why there is a media silence is because they are working very hard behind the scenes for the , Firmware and Software update utilities, Programmer updates and the special devkit unit.
You will forgive me if I am skeptical of anything claimed by someone who has served as UnlockSwitch’s principal cheerleader on X and on several occasions referred to UnlockSwitch using words like “us,” we,” and “our.”
You will forgive me if I am skeptical of anything claimed by someone who has served as UnlockSwitch’s principal cheerleader on X and on several occasions referred to UnlockSwitch using words like “us,” we,” and “our.”
Great point, this guy's entire feed is reposts of UnlockSwitch posts and he speaks very similarly to the official account. One tweet here even seems to imply that they have admin controls of the UnlockSwitch Discord.
For now this assurance that the firmware exists can probably be taken as seriously as the messages that already exist from UnlockSwitch, and my points from post #1700 still stand.
Does anyone have a link to where I can get the mig flash with the button to change the games? I have the MiG X currently and running my finger over the cart is really unreliable in terms of actually changing games
Great point, this guy's entire feed is reposts of UnlockSwitch posts and he speaks very similarly to the official account. One tweet here even seems to imply that they have admin controls of the UnlockSwitch Discord.
I have the control in hands of the official discord server that will be published soon.
People can be skeptical about me, us, or anything.. but be patient. It lookslike people are thinking everything is easy to grab the sources codes, edit it to make it more secure of banwaves etc..
If anything the more reports that come out about the MIG and ban waves make this product LESS desirable. Once the almost certain ban for running non-personal backups is more widely known, there goes a large portion of the potential userbase.
The v2 flashcart I most recently got in has some differences compared to the initial release of the v2. I guess we can call this new one v2.1 and I will focus on redesigning my PCB around this one as it has some good improvements, namely with moving some capacitors and resistors off of far edges of the board. In the attached photos the v2 is on the left and v2.1 is on the right.
The v2 flashcart I most recently got in has some differences compared to the initial release of the v2. I guess we can call this new one v2.1 and I will focus on redesigning my PCB around this one as it has some good improvements, namely with moving some capacitors and resistors off of far edges of the board. In the attached photos the v2 is on the left and v2.1 is on the right.View attachment 472275View attachment 472276
I was unable to reach either them or UnlockSwitch via Twitter DM, and given my thoughts in post #1700 I am considering the firmware from either team to be snake oil until they can prove otherwise. As little as a picture of their IDE would make me believe that they are at least working on it.
For anyone that knows how to work with software, I tried to prompt ChatGPT for assistance with writing a firmware for the Dumper board. Below is the response. I've also attached an example code file that it gave me.
To assist you in writing the firmware for the ESP32-S2 MCU that will allow your board to function correctly, we'll need to address several key areas:
Understanding the Role of Each Component in Your System
Establishing Communication Between the ESP32-S2 and the FPGA
Programming the FPGA Using the ESP32-S2
Implementing the Cartridge Communication Protocol
Facilitating Data Transfer Over USB
Let's break down each of these steps to provide a clear path forward.
1. Understanding the Role of Each Component in Your System
Components and Their Roles:
Memory Cartridge: Provides data using a custom SPI-like protocol over an 8-bit data bus.
iCE40 UltraPlus FPGA: Acts as a bridge, translating the cartridge's communication protocol to standard SPI.
ESP32-S2 MCU: Programs the FPGA and may handle additional data processing or communication tasks.
SD to USB Chip: Converts SD card interface signals to USB, enabling data to be read over USB.
System Workflow:
The cartridge communicates with the FPGA using its custom protocol.
The FPGA translates this protocol to standard SPI.
The FPGA communicates the data to both the ESP32-S2 MCU and the SD to USB chip.
The SD to USB chip allows the data to be accessed over USB.
2. Establishing Communication Between the ESP32-S2 and the FPGA
Pin Connections Between ESP32-S2 and FPGA:
Programming Pins:
CRESET (FPGA Reset): Connected to GP5 of the ESP32-S2.
CDONE (Configuration Done): Connected to GP6 of the ESP32-S2.
SPI Interface Pins:
SPI_SO (Slave Out): Connected to GP13.
SPI_SI (Slave In): Connected to GP11.
SPI_SCK (Clock): Connected to GP12.
SPI_SS (Chip Select): Connected to GP10.
Steps to Establish Communication:
Configure GPIO Pins:
Set up GP5 as an output to control CRESET.
Set up GP6 as an input to monitor CDONE.
Initialize SPI Interface:
Use the ESP32-S2's SPI master driver to set up SPI communication on the specified pins.
Configure SPI parameters (mode, clock speed, etc.) compatible with the FPGA's requirements.
3. Programming the FPGA Using the ESP32-S2
FPGA Configuration Steps:
Hold FPGA in Reset:
Drive CRESET (connected to GP5) low to reset the FPGA.
Prepare for Configuration:
Ensure SPI_SS (Chip Select) is high.
Initialize the SPI interface.
Release FPGA from Reset:
Drive CRESET high to start the configuration process.
Load Bitstream:
Send the FPGA configuration bitstream over SPI.
The bitstream can be stored in the ESP32-S2's flash memory or fetched over a network if connected.
Monitor Configuration Status:
Read CDONE (connected to GP6) to verify successful configuration.
Implementing the Configuration in Firmware:
SPI Communication:
Use the ESP-IDF's SPI master driver to handle data transmission.
Send the bitstream in chunks, ensuring adherence to timing requirements.
Error Handling:
Implement checks for configuration errors.
Retry configuration if CDONE does not indicate success.
4. Implementing the Cartridge Communication Protocol
Understanding the Protocol:
SPI-like Bus with 8-bit Width:
Data lines DAT7..0.
Commands are 16 bytes, followed by a 4-byte CRC-32.
Communication Flow:
Host (FPGA) initiates transfer by pulling CS low.
Commands are sent, followed by CRC.
Bus direction changes implicitly; cartridge responds.
Cartridge sends acknowledgment and response data, followed by CRC.
Implementing Protocol Translation in FPGA:
FPGA Responsibilities:
Translate the cartridge's SPI-like protocol to standard SPI.
Communicate with the SD to USB chip and potentially the ESP32-S2.
ESP32-S2's Role (If Any):
If the FPGA requires commands or data from the ESP32-S2 during operation, implement a communication protocol (e.g., SPI, I2C, UART) between them.
If the ESP32-S2 is to process or forward data, handle the data accordingly.
5. Facilitating Data Transfer Over USB
Options for USB Communication:
Using the SD to USB Chip:
Since the SD to USB chip is connected to the FPGA and designed to interface over USB, the primary data transfer can occur through this chip.
No additional firmware on the ESP32-S2 is required for basic USB functionality in this case.
Using the ESP32-S2 as a USB Device (Optional):
The ESP32-S2 has built-in USB OTG capabilities.
You can implement USB device functionality in the ESP32-S2 to provide additional features or interfaces.
Implementing USB Communication in Firmware (If Needed):
Using ESP-IDF USB Stack:
Initialize the USB peripheral using the ESP-IDF USB library.
Implement USB classes (e.g., CDC, MSC, HID) as per your application's requirements.
Data Handling:
If the ESP32-S2 is to act as a USB mass storage device or any other USB class, implement the necessary protocols.
Ensure data integrity and proper synchronization with the FPGA.
Putting It All Together: Step-by-Step Guide
Set Up the Development Environment:
Install the latest version of ESP-IDF for the ESP32-S2.
Install necessary toolchains and drivers.
Create a New ESP-IDF Project:
Use the idf.py tool to create and manage your project.
Configure GPIOs and SPI Interface:
Define GPIO numbers for CRESET, CDONE, and SPI pins in your code.
Initialize the GPIO and SPI peripherals in your app_main() function.
Implement FPGA Programming Logic:
Write functions to control CRESET and monitor CDONE.
Write a function to load the FPGA bitstream over SPI.
Store and Access the FPGA Bitstream:
Add the FPGA bitstream file to your project's file system (e.g., SPIFFS, FATFS).
Use file I/O APIs to read the bitstream data during programming.
Handle Errors and Edge Cases:
Implement timeouts and retries for the FPGA programming process.
Log error messages using the ESP-IDF logging system.
Test the FPGA Programming:
Connect your hardware and flash the firmware to the ESP32-S2.
Use debugging tools (e.g., serial console, logic analyzer) to verify signals.
Implement Additional Communication (If Required):
If the ESP32-S2 needs to communicate with the FPGA post-configuration, implement the necessary protocols.
Ensure synchronization between the ESP32-S2 and FPGA for data integrity.
Implement USB Functionality (Optional):
If you choose to use the ESP32-S2's USB capabilities, initialize the USB stack.
Implement the desired USB class and handle data transfer appropriately.
Additional Tips and Resources
Consult FPGA Documentation:
Review the Lattice iCE40 UltraPlus FPGA documentation for details on the SPI configuration protocol.
Pay attention to timing requirements and signal integrity considerations.
Leverage Example Projects:
Look for example projects or existing code that demonstrates FPGA programming over SPI using an MCU.
Adapt relevant portions to your project.
Use the ESP32 Community:
The ESP32 community forums and GitHub repositories are valuable resources for troubleshooting and guidance.
Debugging:
Use an oscilloscope or logic analyzer to monitor SPI signals and ensure correct operation.
Implement verbose logging to aid in debugging issues during development.
Summary
To proceed with your project:
Program the FPGA using the ESP32-S2 via SPI.
Ensure the FPGA correctly translates the cartridge protocol to SPI.
Allow the SD to USB chip to handle USB communication, or implement USB functionality on the ESP32-S2 if additional features are needed.
By following these steps and utilizing the resources provided, you'll be well on your way to developing the firmware needed to make your board operational.
It wasn't too long ago we saw our first glimpse of Courage Reborn, another Twilight Princess PC port in the works based on last year's decompilation efforts. With...
After much speculation, Nintendo has finally followed their competitors in announcing price increases for their hardware.
You can find a breakdown of what's changing...
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
Airing last night with very little in the way of warning, a brand new Nintendo Direct was aired. Running for 15 minutes in total, it took a moment to celebrate the...
Known more widely for their unusual stock price in modern times, GameStop has seen a steady decline as the go-to retail space for US gamers. In what feels like an...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
As a part of their Financial Results Briefing for the previous year, Nintendo president Shuntaro Furukawa took to the floor to answer key questions around the Switch...
Earlier this year, Sony announced major price increases for the PS5, PS5 Pro, and PlayStation Portal. Now the company is raising prices again, this time for...
We are once again here to tell you about a game leaking before its release, but for once, it's not one published by Nintendo. The game files for Microsoft's upcoming...
Continuing with the great news of Pokémon Platinum getting a native unofficial PC port just a few days ago, today, yet another classic title from the franchise has...
It wasn't too long ago we saw our first glimpse of Courage Reborn, another Twilight Princess PC port in the works based on last year's decompilation efforts. With...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
After much speculation, Nintendo has finally followed their competitors in announcing price increases for their hardware.
You can find a breakdown of what's changing...
Airing last night with very little in the way of warning, a brand new Nintendo Direct was aired. Running for 15 minutes in total, it took a moment to celebrate the...
Known more widely for their unusual stock price in modern times, GameStop has seen a steady decline as the go-to retail space for US gamers. In what feels like an...
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
Earlier this year, Sony announced major price increases for the PS5, PS5 Pro, and PlayStation Portal. Now the company is raising prices again, this time for...
As a part of their Financial Results Briefing for the previous year, Nintendo president Shuntaro Furukawa took to the floor to answer key questions around the Switch...
The latest in a growing number of native PC ports, Paper Mario ReCut got its first pre-release build earlier this week. Based on the N64 recompilation toolchain, the...
A whole hour of PlayStation content is on the way, thanks to the latest State of Play showcase. Headlining the stream will be Marvel's Wolverine, alongside a...