While I think it's your project and it's ultimately up to you, I think UART bootloader would open the door for more people to get their hands dirty. Also makes iterating easier, especially for most of us with no FPGA lying around...

As I said, the UART boot functionality is already present in a stock gamepad.While I think it's your project and it's ultimately up to you, I think UART bootloader would open the door for more people to get their hands dirty. Also makes iterating easier, especially for most of us with no FPGA lying around...
I was hoping that your work could contribute to the longevity of the gamepad battery. By no longer going into standby mode when the console is turned off, but also turning off completely and no longer trying to communicate with the console. Nowadays this is only possible by building in a switch into the gamepad.Little status update... since the latest developments in gamepad world, I'm standing at crossroads. Maybe will take a break from this stuff.
Basically, my idea was to provide a simple UART bootloader so other people could also mess with the gamepad without having to wait for melonpad. Then it turns out this functionality already exists in the gamepad's boot ROM, so I don't even need to make that.
However I did start wondering about what I could do on the gamepad, now that "loading code" is a mostly solved problem.
Keep going with melonpad as originally intended?
Make a full-fledged custom firmware? Someone suggested a moonlight port for the gamepad. That could be an interesting idea, and could also be in combination with stock gamepad functionality (ie. connecting to a WiiU, etc). Said CFW could also integrate melonpad's intended functionality and serve as a little homebrew boot menu.
I was also thinking of something to port as a technical demo of sorts. blargSNES? I'm not positive the gamepad would be fast enough for blargSNES, but I guess I can try... maybe the fun DMA stuff could be used to accelerate video rendering somehow.
But I think what I want to do in the near future is reverse-engineer the last big chunk of gamepad hardware, the camera controller and h264 codec. It will be a requirement if we are to do any sort of CFW. Besides, who would say no to some good reverse-engineering work?
There was also the idea of extending gamepad functionality, like for example adding a SD card. It's an interesting idea from the technical challenge standpoint. We have interfaces like SPI and SDIO, but we'd need to find an unused GPIO to act as a select line for the SD card.
So? What does the community think?



What kind of processing power is inside the gamepad? I'm assuming it's just some kind of high-bandwidth microcontroller for receiving 720p signals to the screen and audio clips/sound effects over a 2.4GHz receiver. I'm just curious if it's powerful enough to say, run emulators like Game Boy or NES without the Wii U.Hey hey, sorry for the silence here... been focusing on other things (like melonDS)...
Anyway, it seems that there's a bit of interest in gamepad homebrew/development, especially with the new UART stuff, so that's nice.
There was the idea of a simple app that could be loaded over UART and allow changing a gamepad's region, maybe even uploading a different language pack (that you'd have to get from Nintendo's servers)...
I'll keep you informed whenever I find time and motivation for this. It could also serve as a bit of a practical example of programming for the gamepad.

Ah, the 5GHz makes sense for bandwidth reasons, and also makes sense as to why the gamepad has to be so close to the system.It's an ARM9 CPU that runs at 108 MHz, with 4 MB of RAM. As far as graphics are concerned, you get a H264 codec and 2D blit DMA. The wifi card is 5 GHz.
I think emulating the GameBoy or NES would be feasible. I kinda want to try SNES, but I'm not sure it can pull that off.
It's an ARM9 CPU that runs at 108 MHz, with 4 MB of RAM. As far as graphics are concerned, you get a H264 codec and 2D blit DMA. The wifi card is 5 GHz.
I think emulating the GameBoy or NES would be feasible. I kinda want to try SNES, but I'm not sure it can pull that off.
I actually do own some VC games from the 3DS / Wii U shop so it could be fun to try, but if you ever do, Consider do whatever is easiest to work on / you want to do moreI think emulating the GameBoy or NES would be feasible. I kinda want to try SNES, but I'm not sure it can pull that off.
DSi is sightly faster but don't capable to do SNES emulation, even old 3DS too.It's an ARM9 CPU that runs at 108 MHz, with 4 MB of RAM. As far as graphics are concerned, you get a H264 codec and 2D blit DMA. The wifi card is 5 GHz.
I think emulating the GameBoy or NES would be feasible. I kinda want to try SNES, but I'm not sure it can pull that off.




Omg omgA little demo of the work in progress...
View attachment 525717
So far:
This is a frankenstein mix of lolSNES and blargSNES. It's running CPU and APU emulation. The demo in the video also renders one 4bpp BG layer, all on the ARM9, as a test. CPU usage hovers around 50%, which is honestly a decent starting point.
The ARM9 has better performance than the wifi CPU (Cortex-M3). Not only is it a tad faster (108MHz vs 90MHz), it also has caches, and the wifi CPU doesn't.
There is also room for optimization on the CPU/SPC700 front: the gamepad's ARM9 has a MMU, which could be very handy for fastmem purposes. Maybe we could even get a basic type of JIT going...
As far as PPU emulation is concerned, neither of our CPUs will be able to handle the load alone, but they can share the load, something like 50/50 could work well.
The output looks tiny on the gamepad's screen. It's 256x224. I plan on making it bigger, the screen could fit 2x the resolution perfectly. We'll see if I can do this without too much performance penalty... I might even use DMA to do it. We've seen the gamepad has pretty fast DMA...
-
This is intended to be a little demo of what the gamepad can do (and a fun challenge). Not terribly user-friendly as the ROM needs to be written to FLASH memory somehow...
But who knows, it might also give me ideas for lolSNES. A while ago I had tried seeing if I could make an improved version for the DSi, leveraging the DSP to do rendering. Similarly, the DSP there isn't powerful enough to render a full screen, but a similar load balancing scheme might work too.
Thing is, the DSi's ARM9 doesn't have a MMU, and the memory bus is slow. However, we do have the ability to use the ARM7 to emulate the APU, so there's that.
Then there's the fact the DS(i) screen can't quite fit the SNES video output entirely...
They’re actually did say that would be a cool idea to try. No guarantees though since ultimately development is development after all.hi, do you see possible to install something like Moonlight into the gamepad?
or allowing the wifi streaming?