Open-source programmable hand-held console, FEZ Game-O


FEZ Game-O is an open-source hand-held programmable console.  With it you can accomplish more in less time as it is programmed using Microsoft's Visual Studio, in C# and Visual Basic (.NET).
I don't know why they've chosen .Net, but IMHO it's an error.And the price… isn't the GCW Zero price around 140$? And it's fully opensource too (and the hardware seems far better).
 
Last edited by a moderator:
From what I understood, it's not the full fledged .Net, just a subset called .Net Micro Framework. (Never heard of that before today…)

IMHO, it's aimed at making you use Windows and Visual Studio to program Arduino-like devices… instead of using that damn Linux with open-source softwares that steal a share of their revenues!
 
Last edited by a moderator:
Nothing wrong with visual studio especially since u can use the free express version like the video says.
 
I just exposed my opinion about why Microsoft made that move.

In my opinion they've seen the popularity of Arduino and though it was a good option to get more people used to Visual Studio. That way, when people will have to write softwares, their first thought will be .Net and the resulting software will be more or less impossible to port on other platforms. I never said that Visual Studio is bad in itself.

I think it's sad to use Visual Studio for µcontrollers. Especially when you already have so many open-source tools, libraries, etc. that are available for Linux, Mac and Windows to program AVR, PIC and many other µcontrollers. I'd rather use OS "agnostic" softwares for programming, especially µControllers.
 
Last edited by a moderator:
Let's use .NET.. on a Cortex-M4 microcontroller? Man I don't even.. I get they want something easy to program and modern and whatever but they're an embedded development company shipping a platform that was clearly designed for embedded, maybe they should focus on teaching people real embedded programming?

I was talking to someone once who wanted to do a game console using a Cortex-M3, I strongly discouraged it because of the severe lack of RAM and the slow external interface to the LCD. The fact that they use an LCD with its own framebuffer just exacerbates this, the whole setup was designed for displays that don't change much but that doesn't apply to a lot of games (especially emulated ones). Notice how the video only shows a few little game demos where most of the screen doesn't need to be updated, although even some of those look like they're running like crap (the Mario ripoff at the end). Nice selling point though, "The console is much more powerful than the Commodore 64." Impressive!

They say you can upload whatever code you'd like but you need to do it over JTAG or SWD. If so that's a really serious design error, ST's Cortex-M series microcontrollers can all be programmed over UART or USB which you would need little or no special hardware to deal with. But it's also possible they just worded this strangely.

They think a lot of emulators will hit this but that will be kind of a pain in the ass too, thanks to the sheer lack of RAM and storage. Best bet is probably to start with some old GP32 emulators then try to trim down the RAM usage like crazy to get them to have footprints closer to the emulators for GBA (note that this even has less RAM than GBA!) Trying to port the GBA emulators themselves would be more work since those don't have software rendering. I guess since the screen probably can't do anywhere close to 60Hz full updates anyway you'd may as well just skip frames by default..

One really interesting thing is that an established company is running a KS for a piddly $5k that they surely didn't need to crowdfund - I'm going to assume that their company isn't so sad. This looks like a good example of someone using KS for advertising rather than funding. For this hardware I bet they're using a motherboard they already designed as a standalone module or eval board or something. Apparently their push of .NET into embedded is nothing new either (groan..)
 
Last edited by a moderator:
I'm predicting they'll produce a model with more RAM later. I think I'll stick to my Pandora :p
 
I'm predicting they'll produce a model with more RAM later. I think I'll stick to my Pandora :p
The RAM is embedded on the microcontroller. I don't even know if the model they use supports external RAM at all, or if it's available while interfacing with the LCD. Even if it is it won't be very fast, and it'd require a major board redesign to support.

Most likely the best that could happen is an upgrade to a higher end model microcontroller with more embedded RAM. That'll only work if they're available in a pin-compatible package. Right now the highest end for this product line is 256KB of SRAM so not a huge improvement.
 
.NET (even a subset) for an open source handheld?

Yeah.

Right...

I would say: something like glBasic + GCW makes more sense than THIS...
 
What's wrong with this industry when being user-programmable makes a device special?

I also object strongly to all that gageteer nonsense on the grounds that even the simplest electrical operations (like turning on an LED) are obfuscated by fancy ribbon cables, special circuit boards and so-on. Yuk.
 
Last edited by a moderator:
What's wrong with this industry when being user-programmable makes a device special?
But that's kind of the problem, it doesn't make it special at all.. If there's a problem it's in user awareness.
 
What's wrong with this industry when being user-programmable makes a device special?
Looks like young ones are so used to gaming consoles, more or less only able to run games available from stores, that many of them can't conceive that you can make softwares for a computer yourself.
I also object strongly to all that gageteer nonsense on the grounds that even the simplest electrical operations (like turning on an LED) are obfuscated by fancy ribbon cables, special circuit boards and so-on. Yuk.
The other problem with that "system" is that GPIO are limited to a certain use by the "framework". While with any other, YOU decide which GPIO do what (excluding if some GPIO are limited to a fixed use - which is not that common IIRC).
 
I just exposed my opinion about why Microsoft made that move.


In my opinion they've seen the popularity of Arduino and though it was a good option to get more people used to Visual Studio. That way, when people will have to write softwares, their first thought will be .Net and the resulting software will be more or less impossible to port on other platforms. I never said that Visual Studio is bad in itself.


I think it's sad to use Visual Studio for µcontrollers. Especially when you already have so many open-source tools, libraries, etc. that are available for Linux, Mac and Windows to program AVR, PIC and many other µcontrollers. I'd rather use OS "agnostic" softwares for programming, especially µControllers.
I think this shows a poor understanding of the .NET Framework and the .NET community both within and outside Microsoft. I can write .NET code today, in a number of languages and compile it for Windows, OSX, Android and iOS using Visual Studio or a number of open source IDEs. The source is available for Microsoft's desktop implementation of the framework (though it's not Open Source) and, because the spec is open, there are fully Open Source alternatives too (like Mono). The .NET Framework and those behind it are much more open and community/developer focused than Microsoft as a whole.

Moving on to the .NET Micro Framework specifically: Firstly, the .NET Micro Framework is completely Open Source (Apache 2.0 license). Secondly, it isn't just a subset of the .NET Framework, instead it contains a subset of the framework and a whole set of additional functionality for working with hardware. It's actually pretty enjoyable to program with, especially when I have access to a decent debugger, intellisense, code highlighting, refactoring tools, unit testing etc etc. So, the framework is Open Source, there are Open Source IDEs to choose from and you can work cross platform. I can't see anything there to be sad about.

I've done a fair bit of Arduino programming for flight controllers and autopilots and frankly the Arduino IDE is as awful as the dumbed down "Sketch" paradigm. 
 
Last edited by a moderator:
Back
Top