Whether it’s your favorite programming language, or your favorite beverage, there’s no denying Java is everywhere. Now, it’s even on the Nintendo 64, thanks to the valiant efforts of [Mike Kohn]. Even better, he’s coded a demo to show off its capabilities!
The project took plenty of work. [Mike] went all the way down to the assembly level to get Java code running on the N64. The project builds on the work that he did previously to get Java running on the PlayStation 2. Notably, both the Sony and Nintendo consoles do have some similarities — both are based on MIPS CPUs.
The demo itself is a work of art. It features the typical “3 billion devices run Java” screen, followed by some truly chunky bass and wailing guitar sounds. It’s followed by all the dancing shapes, sinusoidal text, and bright colors you could shake a stick at.
For those interested in the nitty gritty, [Mike] delves deep into the details of what it took to get everything running. That includes both using the code in an emulator, as well as how to get it going on real Nintendo hardware, something we’ve looked at before.
Wow! When it finally boots in 2-3 days, it must have been great!
Hey, before you where born we used to have mobiles running Java.
And guess what, the mobiles could text and take pictures.
And guess again, they booted instantly.
“Get off my lawn!”
*J2ME
Mobiles?
Do you mean those “sculptures” that hang from a ceiling by thin wires and rotate with air currents?
SybianOS. It’s just all we had.
I hope you mean Symbian, though I’ll admit that makes for an interesting mental image….
Oh Symbian. Remember when I worked for Nokia…
+1 xD
Yeah…. It would cost a lot more if it was sybian…
We had ‘feature phones’ running Qualcomm’s BREW or Binary Runtime Environment for Wireless. It was a knockoff of JAVA so Qualcomm and the telcos could control what apps were available. There were no open source or freeware BREW apps because the development software was not free and both the cell phone service provider and Qualcomm had to approve all BREW apps.
With that level of tightfisted control, BREW was a dead end.
Then there’s how Google kindasorta built JAVA into Android but it can’t actually run any JAVA software. There have been a few announcements of a JAVA Runtime Environment for Android but none have seen a public release.
3 Billion devices run JAVA while various large companies are continually attempting to kill it like they did Flash and Shockwave. Crazy how everyone was so fast to crack their foreheads on the pavement kowtowing to Apple when they refused to allow Flash on iPhone or apps that used Flash at any point in development. Adobe almost immediately ceased development of Flash player for Android and put the Windows version into a barely maintained limbo before ending it.
I will never understand the corporate mindset of control everything, charge for everything, our way is the ONLY way even if its not the best. Either by arrogance or plain stupidity, they somehow ignore all the previous failed attempts. Meanwhile the aftermarket parts realm for vehicles, guns, computer hardware, and anything else designed to be upgraded is steadily growing. Steam and the mod community is another solid example. Though Steam customer support is… well, what it is.
“We had ‘feature phones’ running Qualcomm’s BREW”… who had those?
More importantly, Nokia sold a billion features phones with J2ME (Java 2 Micro Edition) and paid us a few cents of license each, which in turn helped fuel the whole R&D effort for the license-free Java’s (Standard Edition and EE).
It wasn’t hard to load applications (J2ME Midlets), but people had no clue how to do it and there were no app stores. We built app store software at Sun and Oracle and tried to sell it to mobile operators, but there wasn’t much traction as there weren’t many useful apps.
Apple and Google understood how they could own the whole ecosystem themselves by reinventing the platform. The rest is history…
I still have a Google Maps J2ME Midlet, … from Google mind you! It dates from before Android came to light. And yes it worked.
“We had ‘feature phones’ running Qualcomm’s BREW”… who had those?
Everyone on Verizon. It was the most successful mobile app market in the US circa 2004 by a long shot. It was also a pain in the butt to get your app verified and the tools sucked, but at least Verizon had a viable app store. Nokia at that time was such a dissappointent in the US market. Doing great things in Scandanavia. It was probably because of the US network operators. They just never got it. Wasted a LOT of years trying to move forward in mobile data in a market where the network operators controlled everything but had very little interest in data and apps. They just couldn’t see it. They always remarked that they didn’t want to become dumb pipes, but it was inevitable. Cooked into their DNA. Thank God for Apple and Google. (and thank God I don’t have to write J2ME anymore :). Or God forbid Symbian!)
That reminds me of various Java appliances that appeared with the dotcom-hype around the turn of the millennium. They were made of 10% underpowered hardware and 90% hot marketing air and faded away after the stock bubble collapsed.
The Java Ring/Button.
Well it improved some.
https://www.cpushack.com/2016/05/21/azul-systems-vega-3-54-cups-of-coffee/
The JavaStation. Underpowered it putting it nicely. Sexy though! Looked like a purple espresso machine.
Yes, very cool! In fact there were 3 models for the JavaStation. A desktop-looking one, a brick-looking one and the vertical one (the coolest one, code-named “Krups”). I have the 3 models in grey-purple and one in bright yellow.
Although the hardware was underpowered and the JVM software wasn’t fully optimized yet they helped bootstrap the “network computer” concept and later the SunRay (which wasn’t Java at all and just a remote display but was much faster).
Now all we need is a minecraft port for the n64
I can’t wait to see this happen to the PS3so we can get OtherOS back… if that’s possible. :-(
The only way to get OtherOS back on the PS3 (on the more recent firmware) is to hack it (there are ways to do that)
I didn’t know my Playstation Deux ran MIPS!
Does it support custom microcode for the Reality Signal Processor?
can’t wait to play minecraft natively on my Nintendo 64!
Not the end of the world, I’ve spilled coffee on my N64.
Just put it in a bag of rice.
B^)
Misleading. Mike is clear that his Java Grinder project is not a JVM, it’s just a cross compiler that targets the native code for these systems. There’s no Java bytecode running at that point, it’s all native code.
This is one of the biggest crime in history.