A weird idea has popped in my ill mind. IR blaster is not used in many games. What if make it additional module?
Something in game genie shape. It will pass all signals through, but will respond to IR commands.
Okay, I have the design just about done, all that needs to be added (if I still plan on adding it) is the NAND storage, and some of the power regulation around the raspberry Pi PICO still needs to be fixed or connected.
I will likely downgrade the NAND storage to something around 16GB (Gigabytes), as the Micro SD card slot is always an option if more storage is needed.
I might also consider replacing the USB Micro B port for USB C, I will see if I can make it fit and figure out how to recess the port into the board.
A weird idea has popped in my ill mind. IR blaster is not used in many games. What if make it additional module?
Something in game genie shape. It will pass all signals through, but will respond to IR commands.
I like this idea, maybe note a module for the infrared components specifically, but some accessory port?
Also, I don't think I could condense the infrared components into a sub-board that would fit alongside all the current components I have, although I am not against this idea, would probably require a board re-design, that's all.
I don't know if this is possible, but maybe the infrared components could also be used during GBA mode to communicate with the games that use it, and during GBC/GB emulation (I think some GBC games used infrared, not sure about GB though).
A weird idea has popped in my ill mind. IR blaster is not used in many games. What if make it additional module?
Something in game genie shape. It will pass all signals through, but will respond to IR commands.
Just realised I misinterpreted what you meant.
I actually recon this could be a good idea as a separate thing to this project, as a lot of people already have perfectly functional flashcarts, so what if some module like this could allow these other flashcarts to gain this missing functionality?
Maybe it could include some other things to, stuff that wouldn't fit in the traditional flashcart form factor?
Something like a better WiFi chip so it can connect to modern WiFi connections, maybe some interceptor AP, where some common issues overlooked in flashcarts can be patched by this accessory in real time as it reads the signals. Just some ideas I could think of that would allow this device to make any flashcart great. Also could likely be cheaper than my current design (if just something like an ESP32, and a much cheaper CPLD or FPGA was used, maybe even just the ESP32 alone, it could easily be made much cheaper than what I have done).
Just an idea of course. I hope it's not to far from your original thought of this.
I am working on a new component layout.
Main changes in this new design is as follows:
Replace the Micro USB port with a USB-C port that can be accessed when the flashcart is inserted into the DS.
Added the NAND flash, a 16GB (Gigabyte) eMMC onboard storage (the chip on the back of the flashcart). Size and type is still available to be changed. Only requirements are that it is narrow vertically so a shell could be made to not require a cutout for it.
Make the infrared sensor actually fit propely.
Only problem currently is most of the capacitors need to be added, and the wireing needs to be re-designed as i have learnt how uselss a lot of the capacitors I added were. Less parts means cheaper construction which is better (plus it makes it easier to design).
The onboard storage seems like a crazy and expensive feature! Can a card even handle all that at once?
I get it though if it's not able to support SD cards larger than 32GB, I have my collection split across two 32GB cards and I may need a 3rd at some point in the future!
My mind does wander to a potential DS/DSi mode switch in that spot though; would such a thing even be possible? I assume a hacked console would be necessary to launch into a fake DSi mode card, hence the switch. Being able to play DSiware and DSi Enhanced titles right off a card without worrying about the compatibility of nds-bootstrap would be a dream, if that is even possible.
Is this even possible? I remember people discussing WPA/2 support for DS games but they're just not programmed to support the new connection, and would require rewriting the code ?? Did you have anything in mind to allow the connection?
Added the NAND flash, a 16GB (Gigabyte) eMMC onboard storage (the chip on the back of the flashcart). Size and type is still available to be changed. Only requirements are that it is narrow vertically so a shell could be made to not require a cutout for it.
If eMMC allows for more consistent speeds, transfers or performance, that's an interesting way to store the data, but I have concerns about the eMMC wearing down eventually. At least with SD cards you can always swap them once they die. Hopefully nothing required to function would be actually stored on the eMMC.
The eMMC costs around $27.62 AUD, it will add a fair amount of cost, your right (considering the FPGA only costs around $16.16 AUD). My plan was purely to have it be an optional feature though, so you could just choose not to get the eMMC NAND chip and save the $27.62.
My mind does wander to a potential DS/DSi mode switch in that spot though; would such a thing even be possible? I assume a hacked console would be necessary to launch into a fake DSi mode card, hence the switch. Being able to play DSiware and DSi Enhanced titles right off a card without worrying about the compatibility of nds-bootstrap would be a dream, if that is even possible.
Yes, this actually is possible, and has been done once before. The CycloDS iEvolution flashcart was capable of playing both DS games/homebrew and DSiWare/homebrew. It didn't require a switch, it would do whatever required switching between modes (if that is even required) all on it's own. Apparently the exploit was based on WinterMute's CookHack (I will have to look into how that works more later, and see if a better suited game could be used instead).
I get it though if it's not able to support SD cards larger than 32GB, I have my collection split across two 32GB cards and I may need a 3rd at some point in the future!
Most current flashcarts can actually already support larger than 32GB Micro SD cards. I use a 64GB Micro SD card for my more commonly used flashcarts. All you have to do is format the Micro SD card to Fat32 with 32kb clusters on any Micro SD card up to 2TB.
Is this even possible? I remember people discussing WPA/2 support for DS games but they're just not programmed to support the new connection, and would require rewriting the code ?? Did you have anything in mind to allow the connection?
This is possible, yes, it would just require a lot of work. I am aware of DS games not supporting anything beyond the DS's WiFi protocols (it makes sense not to include unnecessary functions afterall). My 'concept of an idea' was to essentially just re-write or re-use someone else WiFi code and patch that into the DS games. Flashcart kernels already do this anyway for reading or writing data to the flashcart anyway, so it's not that foreign of a concept to implement. The difficult part is just figuring out how to tap into those functions and replace them correctly.
If eMMC allows for more consistent speeds, transfers or performance, that's an interesting way to store the data, but I have concerns about the eMMC wearing down eventually. At least with SD cards you can always swap them once they die. Hopefully nothing required to function would be actually stored on the eMMC.
I have had this thought, and don't worry, nothing crucial is stored on the eMMC unless you choose for it to be. I will likely allow the option of the kernel either being stored on the eMMC or the Micro SD card, there is a separate SPI NAND chip that holds everything critical for functionality (such as the FPGA code, and the boot ROM).
This is possible, yes, it would just require a lot of work. I am aware of DS games not supporting anything beyond the DS's WiFi protocols (it makes sense not to include unnecessary functions afterall). My 'concept of an idea' was to essentially just re-write or re-use someone else WiFi code and patch that into the DS games. Flashcart kernels already do this anyway for reading or writing data to the flashcart anyway, so it's not that foreign of a concept to implement. The difficult part is just figuring out how to tap into those functions and replace them correctly.
I have had this thought, and don't worry, nothing crucial is stored on the eMMC unless you choose for it to be. I will likely allow the option of the kernel either being stored on the eMMC or the Micro SD card, there is a separate SPI NAND chip that holds everything critical for functionality (such as the FPGA code, and the boot ROM).
Glad that the eMMC is just optional, but honestly I don't know if it's just worth the extra price overall unless it just does something way better than an SD.
Also, regarding the wi-fi code, I know there is NoCash's WiFi Boot from unlaunch which could probably come in handy, but there is no source code available.
Glad that the eMMC is just optional, but honestly I don't know if it's just worth the extra price overall unless it just does something way better than an SD.
Also, regarding the wi-fi code, I know there is NoCash's WiFi Boot from unlaunch which could probably come in handy, but there is no source code available.
In the end it would all have to be custom code regardless, but I would probably base it off some ANSI C or ANSI C++ library and just adapt it with the necessary communication protocols to get it to work. It would have to be a very small WiFi driver though, maybe most of the code could be run on the ESP32 (which already has integrated modern WiFi capabilities whilst being very cheap), then all that needs to be sent is a set of basic WiFi control commands and the data.
Yeah, it's essentially just a much faster Micro SD card storage device. They both came from MMC cards anyway.
In the end it would all have to be custom code regardless, but I would probably base it off some ANSI C or ANSI C++ library and just adapt it with the necessary communication protocols to get it to work. It would have to be a very small WiFi driver though, maybe most of the code could be run on the ESP32 (which already has integrated modern WiFi capabilities whilst being very cheap), then all that needs to be sent is a set of basic WiFi control commands and the data.
How would it allow for games to connect though? How would they use the components on the card instead of the console's? And i still don't get what kinda patching would allow to use the updated Wi-Fi support, unless you do some sort of conversion when using the new Wi-Fi chip or something. IDK, I'm not too good with this stuff, but I'm curious
How would it allow for games to connect though? How would they use the components on the card instead of the console's? And i still don't get what kinda patching would allow to use the updated Wi-Fi support, unless you do some sort of conversion when using the new Wi-Fi chip or something. IDK, I'm not too good with this stuff, but I'm curious
The way I would try to do it would break down into a few core things to be implemented or found out, all of which has already been done before, both in the NDS scene and elsewhere.
The core things required are:
Figuring out which ROMs/programs actually use the WiFi capabilities, what the structure of the WiFi 'engine' looks like, how does it change depending on the SDK version or game, etc. Basically reverse engineering and identification of the WiFi 'engine' Nin developed in their official SDK. What would need to be found are if it is stored in a set location in RAM always when it is used, if the ROMs/programs references specific function calls or writes to specific locations in RAM whenever it want's to use it, and if there is a standard interface the ROMs/programs use to try and call upon specific functions of the WiFi 'engine' (hopefully there is and it stayed consistent, that way you don't have to create a custom interface for every wingle WiFi enabled game). This kind of effort is not far off what has already had to have been done for anti-piracy patch creation, at least for developers of the flashcart kernels back when the games were being newly released.
Creating an interface to the ESP32 that is similar to the WiFi 'engine' the ROMs used. It doesn't have to be the same, it just has to be capable of supporting all the same features. You would send commands to the cartridge interposer through the DS cartridge port and receive data through the cartridge port. The ESP32 will be used to interprate these commands to commands the ESP32's native WiFi capabilities can understand. The ESP32 will likely also have to do a bit extra such as converting the outdated security protocols/standards to newer and much more up to date protocols/standards and what not, thankfully the ESP32 has native libraries for handling newer protocols and plent of power to do the decryption and conversion.
Creating a custom WiFi 'engine'. This basically has to be as small as possible and sits in place of the Nin's WiFi 'engine'. In the end it will likely be much less complicated as all it has to do is send commands to the cartridge port to communicate with the ESP32 and ensure that data handeling is done properly due to having to now accept data from the cartridge port for WiFi instead of the dedicated WiFi chip. It won't handel any encryption or decryption though as that is now the ESP32's responsibility.
Have a patcher to apply this new WiFi engine to the ROM in real-time. This would likely be the same as the auto anti-piracy pathers that almost all flashcart kernels have had since forever, so not very complicated and nothing new, with plenty of existing source code to base it off.
I hope this explains what I would to to create something like this. Feel free to ask questions about any further specifics (or point our flaws in my idea as I haven't put any effort into trying something like this).
The eMMC costs around $27.62 AUD, it will add a fair amount of cost, your right (considering the FPGA only costs around $16.16 AUD). My plan was purely to have it be an optional feature though, so you could just choose not to get the eMMC NAND chip and save the $27.62.
Yes, this actually is possible, and has been done once before. The CycloDS iEvolution flashcart was capable of playing both DS games/homebrew and DSiWare/homebrew. It didn't require a switch, it would do whatever required switching between modes (if that is even required) all on it's own. Apparently the exploit was based on WinterMute's CookHack (I will have to look into how that works more later, and see if a better suited game could be used instead).
Most current flashcarts can actually already support larger than 32GB Micro SD cards. I use a 64GB Micro SD card for my more commonly used flashcarts. All you have to do is format the Micro SD card to Fat32 with 32kb clusters on any Micro SD card up to 2TB.
If it does indeed support microSD cards which can store more than 32GB then yeah I don't see the point of having that eMMC with that cost and size.
I have never heard of that DSI flashcart before! Crazy that it was done before and no-one else seemed to be interested, hopefully you can change that!
I did notice that it has to load through My Cooking Coach every time, adding extra wait, so a hacked console only option that skips that step would be nice if possible. I also saw something about it needing different payload and obviously a different rom for each region, are they all covered?
I was thinking about it the other way around, you get the flashcart that just works and the Micro SD card was the optional accessory. eMMC's main benefits would be that it's much faster and less likely to break on you, and would hopefully stop AliExpress sellers from including those junk Micro SD cards that fail within weeks.
It got a lot of interest at the time, it just cost as much as a Supercard DSTWO (not because it needed to), and they dropped support for it before the DS had it's final few games released, meaning it could never achieve perfect game compatibility.
I do notice that it has to load through My Cooking Coach each time which adds extra waiting time, so a Hacked console only option that skips that step would be nice if possible.
I am tempted to have some sort of physical slider or dial (maybe multiple), some hardware interface that let's you change one set of settings, likely boot mode. This would probably tie into that.
From what I could find, PKMN B/W and PKMN B2/W2 are actually region free, so I might try using one of those two for the boot ROM as that is also a 'DSi Enhanced' game. Although the USA/Europe/Australia versions don't work on Japanese/Koren DSi/3DS consoles so that is a limitation, there will need to be at least 3 boot ROMs.
I was thinking about it the other way around, you get the flashcart that just works and the Micro SD card was the optional accessory. eMMC's main benefits would be that it's much faster and less likely to break on you, and would hopefully stop AliExpress sellers from including those junk Micro SD cards that fail within weeks.
It got a lot of interest at the time, it just cost as much as a Supercard DSTWO (not because it needed to), and they dropped support for it before the DS had it's final few games released, meaning it could never achieve perfect game compatibility.
I am tempted to have some sort of physical slider or dial (maybe multiple), some hardware interface that let's you change one set of settings, likely boot mode. This would probably tie into that.
From what I could find, PKMN B/W and PKMN B2/W2 are actually region free, so I might try using one of those two for the boot ROM as that is also a 'DSi Enhanced' game. Although the USA/Europe/Australia versions don't work on Japanese/Koren DSi/3DS consoles so that is a limitation, there will need to be at least 3 boot ROMs.
But do Pokemon Black & White have an exploit that can run on load from a save?
But yeah having a hacked system only entrypoint with a way to change that would negate the need to have an unhacked method work everywhere.
Bad sellers have nothing to do with the cart itself though so I wouldn't worry about that, they'll always find ways to scam regardless. Haven't run into any issues using SD flashcarts.
Post automatically merged:
Also seems like it could be patched on unhacked systems anyways? Saw another post mentioning that on Reddit (but they also could have bad roms)
Not yet, but I don't believe it would be too hard to make one. I believe they read from the save eeprom on startup so they know whether to give you the starting cut-scene or not, so in theory I could just inject some code there to then load the flashcart kernel, bypassing the anti-piracy of the DSi due to just enough of the ROM existing on the flash chip for it to be seen as an official PKMN B2 ROM.
I would likely just merge the DS Phat/Lite exploit and the hacked system exploit into one, as they would both be the same (DS Phat/Lite exploit is the same as compiling and encrypting the ROM like you would if you were the developer of an official DS game, no need to worry about whitelists and spoofing official games here).
Bad sellers have nothing to do with the cart itself though so I wouldn't worry about that, they'll always find ways to scam regardless. Haven't run into any issues using SD flashcarts.
Well, what they offer isn't really a scam, it's just the micro SD cards that are made so cheaply, likely with uses NAND flashes, that die far too quickly that is the problem, the flashcarts themselves are often Ace3DS+/R4iLS clones that will work fine for years. If I could ensure that they won't include these e-waste micro SD cards, then this will never be an issue.
If you are talking about whatever exploit I come up with, Nin has long since stopped updating the anti-flashcart whitelist and anti-flashcart measures, they don't even provide system updates for the 3DS anymore I beleive. This is not something I have to worry about thankfully.
The downside to using Pokemon Black/White for a base for flashcart spoof game is that they are pretty large. 256MB (around 512MB if you are insane enough to want to use Black 2/White 2 for this. ) and unlike the older DS games you probably can't trim them and use mirroring tricks to make them bootable using a stripped down small version of the full game's rom. (by mirroring tricks I mean most newer flashcarts don't store the entire game on it's flash. Maybe just 1.2 to 1.6MB or so depending on the required amount of usable data the rom needs to boot and reach the exploit payload. Typically sections of flash is repeated for all the unneeded parts of the rom to fill out space so game thinks there isn't anything missing. The mirroring tricks might also be used to include needed data for the spoof game to get past the DS Cart White list section 3 checks as well)
TWL/TWL Enhanced titles use digest hash tables and stuff to ensure the NitroFS/Overlay areas aren't manipulated (and SHA1 HMACs in the extended header for the arm binaries too which gets protected from changes via the RSA section at the end of the extended header) so they will not boot correctly when you try those similar mirroring tricks because at that point you have to include the entire rom. Plus your exploit has to exist in the save game for these titles since you can't modify the main rom data for the same reasons so the game has to be in an even more functional state compared to the older DS games where flashcart makers could strip out unneeded data since restrictions on content modification of NitroFS/Overlays was much looser.
So you'll have to source likely pretty expensive eeprom chip with a capacity large enough to house that rom since you can't typically use the main rom the console sees on MicroSD. Maybe the latency of some EMMC is good enough for this.
N-Card is able to get away with using older TSOP48 NAND package for this so (and that flashcart is postively ancient compared to most flashcarts people are familiar with today) NAND might be the way to go if you really want to use a large rom like that for the spoof game.
But if you are going for the standard MicroSD design...yeah you will be better off using a smaller game as the exploit game to make it bootable on non softmodded consoles.
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...
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...
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...
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...
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...
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...
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...
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...
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...
For the first time in 13 years, the Call of Duty series will again return to Nintendo's consoles. Set to launch on the 23rd of October, the latest release, Modern...