It seems that while the u-boot is missing most commands, you can connect sunxi-tools to it by hooking up the USB while holding the reset button down, and then use AllWinner's debug protocol to poke it.
I wonder --- if the SoC has no customisations, could run the ROM on another similar device?
Google is mostly relying on machine learning and can translate between many languages due to it, but better results can be obtained using one of the translators developed by the Japanese themselves which attempt to do actual parsing.
There are also various other apps (largely developed by the anime/visual novel community) that might work better at extracting meaning, although that's more in the direction of quick dictionary lookups.
Usual technique for working with Allwinner hardware, basically - there should be similar instructions on the English-language linux-sunxi wiki. I'm not aware of any other device with an R16 chip and the image is usually customised for the specific hardware, but it might be possile to modify it.
I did a non-committing pre-order at a local retailer (Webhallen, Sweden - I love this feature of theirs, I think it is quite unique) the day it was announced because.. why not. They didn't have an idea what the price would be but later adjusted it down to the eventual local MSRP level.
Picked it up yesterday figuring that I could likely sell it (with a profit) in case I didn't end up enjoying it. But I think I'll hang on to it - or maybe turn it into a christmas gift for someone. It's a really neat little thing. The software has obviously been crafted with a loving attention to detail.
And the games themselves have more depth that I thought - having only experienced them briefly in various desktop OS emulators before, with lots of annoying small issues (like not having an ideal controller, sound issues, no easy/natural way to play them on the TV with nearly instant bootup time, etc).
Also, those ROMs I've heard (ahem) are floating around on the net tend not to come with these fantastic user manuals:
My favorite modification to its software would be some controller button combination shortcut to the reset button. Having to reach to the actual device to switch games is so annoying.
Surely Nintendo could have come up with a combination that was not used in any of the included 30 games? For a company that was so focused on user experience early on, they really dropped the ball with that button design, btw. Start, Select and a primary action button ("A")? Anyway, that mishap meant there was room for a rescue now in 2016, to use some unused combination of those peculiar buttons to do the reset. But alas, no.
Other nice things to have that would hopefully be doable:
- putting the game manuals on the actual device for viewing on the TV
- the audio is a bit harsh; it sounds like it needs some filtering, maybe just some dead simple high-pass (edit: err, low-pass) filter would do it
> - the audio is a bit harsh; it sounds like it needs some filtering, maybe just some dead simple high-pass filter would do it
Could you clarify what was meant by harsh?
The HDMI PHY[1] differentially encodes either I2S or S/PDIF (from SoC). This is a lossless digital-to-digital translation, which suggests that audio being a bit harsh is either a consequence of precise emulation of the NES APU[2] or something wonky with the speakers you're using.
I made the assumption that by harsh you meant dissonant sounds of a relatively high audio frequency, which would make sense given how the 2A03 APU synthesizes audio, but wouldn't make sense if you're suggesting that a dead simple high-pass filter would resolve the issue.
I bailed out halfway into my CS/EE university program (to start working in software instead) a very long time ago in part so I wouldn't have to finish the signal theory/processing course, so please bear with me.
"I made the assumption that by harsh you meant dissonant sounds of a relatively high audio frequency"
Yes, that's what I'm hearing. Here is a comparison video where you can listen to the difference between the original NES (via an ADC, presumably) and the NES Classic Mini:
An IIR low-pass filter can be implemented with a delay measured in tens of microseconds.
With regard to naming of high-pass/low-pass filters, it might help to think of the opposite names (low-cut/high-cut). Pass is the opposite of cut/reject.
I have no idea as I'm not a programmer, I'm pretty much a hardware/EE guy. When I built mine it was less than 50 cents in discrete components and can definitely be done with SMT components to save space. I don't see why not though; I can get some pretty precise filtering using LADSPA plugins in software mixing apps.
Ahh, makes sense now. The emulator sounds like it does an outstanding job of functionally reproducing the APU, but clearly doesn't capture the analog LPF contributions of the original architecture[1] (2nd and 4th pages apply).
An improvement to the NES Classic will necessarily have to come in software as a DSP LPF either within the emulator application or at the OS level (someone mentioned seeing alsa during boot??). Nevertheless, a passive analog hack is definitely not going to be applicable.
>I do maintain that whoever named them made a mistake.
Nah, they're named fine, you're just doing the incorrect mental-shortcut that I used to do: because there's 'low' and 'filter', you're ignoring 'pass'. The lows or the highs (respectively) pass-through the filter.
Based on data from [1], the 30 included NES ROMs amount to < 5.3 MiB total. Increase that by roughly an order of magnitude to account for complexity, and it shouldn't take much to tuck 30 SNES ROMs + emulator + OS into that NAND.
I don't think they'll do this. Not because it's technically infeasible, but because of their alternatives.
The Classic NES makes sense as a business strategy, because NES Virtual Console games don't really sell well: people don't think individual NES games on the Virtual Console are worth the money Nintendo wants to charge for them (~$5). So the Classic NES—a fancy, "value-added" shovel-ware package—is the best way Nintendo have to make money from that old IP. If people aren't willing to buy the games themselves, they'll still pay for a cheap bit of hardware with those same games on it. (Consumer psychology is weird sometimes.)
A "Classic SNES" doesn't make as much sense: SNES titles on the Virtual Console do sell, often for much higher prices. There's no business reason to turn them into a shovelware package.
On the Wii U eShop, at least (don't know about the Wii or 3DS shops), you can sort titles by "most downloaded." Many SNES (and GBA) games rank highly—often as highly as Nintendo's new releases. Virtually none of the NES titles do, even when discounted.
I wonder if the boot image contains any GPLv3 software. Could this this allow us to make Nintendo release the OS in a way that allows us to upload custom ROMs (I've heard that there is a home brew community) as well as custom roms (so that we are not limited to 30 games).
GPLv2 vs GPLv3 probably doesn't matter here; Allwinner-based platforms don't tend to be locked down and this seems to be no exception based on the information available so far.
I really wish Nintendo or Sega would come out with an official retro WiFi appliance that allows one to buy classic games from an "App Store" and play multiplayer player games over the network. They have the extensive catalog of retro games to make money (NES/SNES/N64 or Master system/Genesis) and it wouldn't take that much hardware to do it.
Yea but it involves finding and purchasing a (most likely) used Wii. I'm a casual gamer and never heard of virtual console. A dedicated retro console would fare better and be cheaper IMO, just like this one (without any such features) which sold out in seconds on Amazon.
The Wii U and 3DS both support Virtual Console for a variety of old Nintendo consoles (more for the Wii U), and the Switch presumably will too. Though, Nintendo being Nintendo, transferring purchases between consoles is rarely possible.
As a casual gamer who likes playing the games of my childhood. I'd prefer a dedicated retro rig that (due to minimal requirements) could be the same form factor as an Amazon FireTv stick without dealing with the "hacky" nature of the emu scene or purchasing a full blown console.
They could just put an OrangePi Zero in a case and kick it out the door, all they would need to do is slap a HDMI header on there, the PHY is the same. The Allwinner chip they chose is very similar to the H3 chip it appears.
47 comments
[ 2.6 ms ] story [ 119 ms ] threadhttps://translate.google.com/translate?sl=ja&tl=en&js=y&prev...
It seems that while the u-boot is missing most commands, you can connect sunxi-tools to it by hooking up the USB while holding the reset button down, and then use AllWinner's debug protocol to poke it.
I wonder --- if the SoC has no customisations, could run the ROM on another similar device?
> (Hereinafter, abbreviated as Famicom Mini guy of GBA attention because it is not)
> By those who exploded before launch was in and out
There are also various other apps (largely developed by the anime/visual novel community) that might work better at extracting meaning, although that's more in the direction of quick dictionary lookups.
Not that there wasn't any emulator on Android before, but having one more good choice doesn't hurt.
Picked it up yesterday figuring that I could likely sell it (with a profit) in case I didn't end up enjoying it. But I think I'll hang on to it - or maybe turn it into a christmas gift for someone. It's a really neat little thing. The software has obviously been crafted with a loving attention to detail.
And the games themselves have more depth that I thought - having only experienced them briefly in various desktop OS emulators before, with lots of annoying small issues (like not having an ideal controller, sound issues, no easy/natural way to play them on the TV with nearly instant bootup time, etc).
Also, those ROMs I've heard (ahem) are floating around on the net tend not to come with these fantastic user manuals:
https://www.nintendo.co.jp/clv/manuals/en/index.html
(I just wish they would have included them in some neat Nintendo-ish way in the main menu UX.)
Surely Nintendo could have come up with a combination that was not used in any of the included 30 games? For a company that was so focused on user experience early on, they really dropped the ball with that button design, btw. Start, Select and a primary action button ("A")? Anyway, that mishap meant there was room for a rescue now in 2016, to use some unused combination of those peculiar buttons to do the reset. But alas, no.
Other nice things to have that would hopefully be doable:
- putting the game manuals on the actual device for viewing on the TV
- the audio is a bit harsh; it sounds like it needs some filtering, maybe just some dead simple high-pass (edit: err, low-pass) filter would do it
Could you clarify what was meant by harsh?
The HDMI PHY[1] differentially encodes either I2S or S/PDIF (from SoC). This is a lossless digital-to-digital translation, which suggests that audio being a bit harsh is either a consequence of precise emulation of the NES APU[2] or something wonky with the speakers you're using.
I made the assumption that by harsh you meant dissonant sounds of a relatively high audio frequency, which would make sense given how the 2A03 APU synthesizes audio, but wouldn't make sense if you're suggesting that a dead simple high-pass filter would resolve the issue.
[1] http://www.epmi.com.tw/sayapro03.php?id=78
[2] https://en.wikipedia.org/wiki/Ricoh_2A03
"I made the assumption that by harsh you meant dissonant sounds of a relatively high audio frequency"
Yes, that's what I'm hearing. Here is a comparison video where you can listen to the difference between the original NES (via an ADC, presumably) and the NES Classic Mini:
https://www.youtube.com/watch?v=Z9EyI3mVhi4
Anyway, to me it sounds that by just filtering away some high frequencies you would get a better approximation of the original.
Edit: Oh wait, I see what I did; I mixed up high-pass filter with low-pass filter (again). Doh. I do maintain that whoever named them made a mistake.
With regard to naming of high-pass/low-pass filters, it might help to think of the opposite names (low-cut/high-cut). Pass is the opposite of cut/reject.
An improvement to the NES Classic will necessarily have to come in software as a DSP LPF either within the emulator application or at the OS level (someone mentioned seeing alsa during boot??). Nevertheless, a passive analog hack is definitely not going to be applicable.
[1] http://www.freeinfosociety.com/electronics/schemview.php?id=...
Not that the assumption was incorrect...
(See https://news.ycombinator.com/item?id=12938817)
https://www.youtube.com/user/KM65536/videos
Nah, they're named fine, you're just doing the incorrect mental-shortcut that I used to do: because there's 'low' and 'filter', you're ignoring 'pass'. The lows or the highs (respectively) pass-through the filter.
Based on data from [1], the 30 included NES ROMs amount to < 5.3 MiB total. Increase that by roughly an order of magnitude to account for complexity, and it shouldn't take much to tuck 30 SNES ROMs + emulator + OS into that NAND.
[1] http://tuxnes.sourceforge.net/nesmapper.txt
The Classic NES makes sense as a business strategy, because NES Virtual Console games don't really sell well: people don't think individual NES games on the Virtual Console are worth the money Nintendo wants to charge for them (~$5). So the Classic NES—a fancy, "value-added" shovel-ware package—is the best way Nintendo have to make money from that old IP. If people aren't willing to buy the games themselves, they'll still pay for a cheap bit of hardware with those same games on it. (Consumer psychology is weird sometimes.)
A "Classic SNES" doesn't make as much sense: SNES titles on the Virtual Console do sell, often for much higher prices. There's no business reason to turn them into a shovelware package.
http://data.nintendo.co.jp/oss/NintendoEntertainmentSystemNE...
Containing:
http://pastebin.com/9SzB2ZFp
https://www.reddit.com/r/nesclassicmods/
r16-uboot-fc3061df4dbd4153819b2d2f141d82b88fea51cf.tar.gz
Notice the commit hash.