Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (491)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (555)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  Holy Shit! Mario 64 works on Java  (Read 20050 times)
0 Members and 1 Guest are viewing this topic.
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Posted 2009-11-21 00:54:29 »

As so happens someone somewhere wrote an n64 emulator known as Project64, then dooglamoo ported it to java. I thought it'd be an interesting experiment to see if it could be run in a browser. So i've spent some time porting it to LWJGL and making it work as an applet.

Which gives you Super Mario 64 in your browser, complete with ingame saving so you can come back to it later and continue where you left off. Pretty impressive huh?



You can play [size=16pt]here[/size]

note - its still pretty experimental and sound is borked, also reports of flickering on ATI cards (crappy drivers?).

p.s. sorry for the title it was a reference to the Holy shit! They made the flash version of DOOM!! post Wink

Offline xinaesthetic

Senior Member


Medals: 1



« Reply #1 - Posted 2009-11-21 01:05:03 »

note - its still pretty experimental and sound is borked, also reports of flickering on ATI cards (crappy drivers?).
You can add to that a report from me of flickering on an nVidia 8600M GT in Vista, driver 190.89
Offline i30817

Junior Member





« Reply #2 - Posted 2009-11-21 02:03:06 »

How do they do the dynarec that the original does?
(whatever - to - 86x assembly)
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline CommanderKeith
« Reply #3 - Posted 2009-11-21 02:23:33 »

That is amazing! Great work with the port to LWJGL.

I saw some pretty serious flicker as well, it seemed like there were 2 versions of the game running - one that ran fine and another that would display white frames or old previousluy shown frames. As soon as you see it happening you'll probably know what the reason is straight away.

Offline ewjordan

Junior Member





« Reply #4 - Posted 2009-11-21 02:26:32 »

Crashing Safari and Firefox on OS X:

1  
2  
3  
4  
5  
11/20/09 9:22:49 PM Safari[3812] *** Assertion failure in -[NSMenu removeItem:], /SourceCache/AppKit/AppKit-949.54/Menus.subproj/NSMenu.m:702 
11/20/09 9:22:49 PM Safari[3812] *** CPerformer: ignoring exception 'Invalid parameter not satisfying: item != nil' raised during perform of selector 'sharedDelegate' on target 'ApplicationDelegate' with args '(null)'
11/20/09 9:22:49 PM Safari[3812] *** Assertion failure in -[NSMenu removeItem:], /SourceCache/AppKit/AppKit-949.54/Menus.subproj/NSMenu.m:702
11/20/09 9:22:53 PM [0x0-0x17b17b].com.apple.Safari[3812] Invalid memory access of location 0x1 eip=0x2b50a12e
11/20/09 9:22:59 PM com.apple.launchd[164] ([0x0-0x17b17b].com.apple.Safari[3812]) Exited abnormally: Bus error

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #5 - Posted 2009-11-21 02:28:47 »

That is amazing! Great work with the port to LWJGL.

I saw some pretty serious flicker as well, it seemed like there were 2 versions of the game running - one that ran fine and another that would display white frames or old previousluy shown frames. As soon as you see it happening you'll probably know what the reason is straight away.

ah could explain the flickering will have a look at that, thx for the observation.
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #6 - Posted 2009-11-21 02:41:10 »

@CommanderKeith I've added a small fix, it might fix the flickering, could you try again? thanks


Crashing Safari and Firefox on OS X:
eww that looks like a nasty error.
Offline CommanderKeith
« Reply #7 - Posted 2009-11-21 02:48:02 »

Nice, that did the trick! Graphics are 100% smooth.

Wish I had those secret magic codes to fix my bugs so quickly  Cool

Offline JL235

JGO Coder


Medals: 10



« Reply #8 - Posted 2009-11-21 03:19:07 »

Graphics don't flicker for me, it all runs fine. However the sound is a complete mess. That's where the flickering occures for me.

Offline TheAnalogKid

JGO Coder


Projects: 2



« Reply #9 - Posted 2009-11-21 03:22:07 »

Graphics don't flicker for me, it all runs fine. However the sound is a complete mess. That's where the flickering occures for me.
Same thing here. Great job kapta! That's so cool!

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline i30817

Junior Member





« Reply #10 - Posted 2009-11-21 05:23:48 »

That fixed the flickering for me too.  Cool

So it was actually two apps?

And you might want to tell him you've ported his software to use LWJGL if he doesn't already know.
Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #11 - Posted 2009-11-21 06:12:13 »

Very very cool. Well done. Smiley Works better than the best Mac OS X N64 emulator.

See my work:
OTC Software
Offline lhkbob

JGO Knight


Medals: 32



« Reply #12 - Posted 2009-11-21 06:15:09 »

Worked without nasty exceptions on Mac OS X on Safari for me.  Way to go!

Offline xinaesthetic

Senior Member


Medals: 1



« Reply #13 - Posted 2009-11-21 10:29:19 »

Well done, the flickering seems to be fixed now, but I'm still having problems with the sound as well (didn't mention that before).
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #14 - Posted 2009-11-21 11:50:55 »

NICE!

that is amazing.

did yuo port the emulator or the game?

by that I mean, how much effort would it take you to change it to another game?
Offline xinaesthetic

Senior Member


Medals: 1



« Reply #15 - Posted 2009-11-21 12:32:18 »

I presume the emulator was ported.

Incidentally, I tried dooglamoo; it didn't seem to load Mario by default so I loaded a Zelda rom I had lying around, and it had similar problems with audio.
Offline gouessej
« Reply #16 - Posted 2009-11-21 12:36:49 »

It works fine, it is a bit slow on my machine but quite playable. I get this when I leave the game:
Quote
java.lang.InterruptedException
   at java.lang.Object.wait(Native Method)
   at java.lang.Thread.join(Thread.java:1143)
   at java.lang.Thread.join(Thread.java:1196)
   at jario64.AppletMain.stopLWJGL(Unknown Source)
   at jario64.AppletMain.access$0(Unknown Source)
   at jario64.AppletMain$2.removeNotify(Unknown Source)
   at java.awt.Container.removeNotify(Container.java:2591)
   at java.awt.Container.removeNotify(Container.java:2591)
   at java.awt.Container.removeNotify(Container.java:2591)
   at java.awt.Container.removeAll(Container.java:1197)
   at sun.plugin.viewer.frame.XNetscapeEmbeddedFrame.windowClosing(XNetscapeEmbeddedFrame.java:31)
   at java.awt.Window.processWindowEvent(Window.java:1845)
   at java.awt.Window.processEvent(Window.java:1803)
   at java.awt.Component.dispatchEventImpl(Component.java:4501)
   at java.awt.Container.dispatchEventImpl(Container.java:2081)
   at java.awt.Window.dispatchEventImpl(Window.java:2458)
   at java.awt.Component.dispatchEvent(Component.java:4331)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Clear up
org.lwjgl.LWJGLException: X Error - disp: 0x811cbe8 serial: 18460 error: BadValue (integer parameter out of range for operation) request_code: 145 minor_code: 9
   at org.lwjgl.opengl.LinuxDisplay.globalErrorHandler(LinuxDisplay.java:284)
   at org.lwjgl.opengl.GL11.nglClear(Native Method)
   at org.lwjgl.opengl.GL11.glClear(GL11.java:584)
   at lwjglgfx.OpenGlGdp.OGL_ClearDepthBuffer(Unknown Source)
   at lwjglgfx.rdp.Gdp.gDPFillRectangle(Unknown Source)
   at lwjglgfx.opcodes.Rdpfuncs2$12.exec(Unknown Source)
   at lwjglgfx.rsp.Gsp.RSP_ProcessDList(Unknown Source)
   at lwjglgfx.OpenGl.display(Unknown Source)
   at lwjglgfx.GLN64jPlugin.processDList(Unknown Source)
   at jario64.Rsp.runRsp(Unknown Source)
   at jario64.Memory.swNonMemory(Unknown Source)
   at jario64.Memory.storeWord(Unknown Source)
   at jario64.Cpu$45.run(Unknown Source)
   at jario64.Cpu.executeInstruction(Unknown Source)
   at jario64.Cpu.access$16(Unknown Source)
   at jario64.Cpu$64.run(Unknown Source)
   at jario64.Cpu$3.run(Unknown Source)
   at jario64.Cpu.startInterpreterCPU(Unknown Source)
   at jario64.Cpu.startEmulation(Unknown Source)
   at jario64.Main.startRom(Unknown Source)
   at jario64.Main.initApplet(Unknown Source)
   at jario64.AppletMain$1.run(Unknown Source)
Exception in thread "pool-1-thread-1" java.lang.IllegalMonitorStateException
   at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:127)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1175)
   at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:431)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:369)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
   at java.lang.Thread.run(Thread.java:619)

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #17 - Posted 2009-11-21 13:11:07 »

Graphics don't flicker for me, it all runs fine. However the sound is a complete mess. That's where the flickering occures for me.

Unfortunately can't do much about the sound, It uses the original JavaSound Implementation which is a pretty poorly implemented. It'd probably run alot smoother using OpenAL but currently the sound code is a mess and i don't have the time or experience with OpenAL to port that part. However do note its only dooglamoo's first attempt at the sound plugin so may improve in the future.

I presume the emulator was ported.

you presume correctly.

how much effort would it take you to change it to another game?

very little effort.

I get this when I leave the game:

Ah, doesn't look too serious, but thats one long exception paste Smiley
Offline TheAnalogKid

JGO Coder


Projects: 2



« Reply #18 - Posted 2009-11-21 13:22:40 »

Yes, it seems to be a bit slow or the frame rate a bit low. Can I display the fps? Doesn't seem to be a CPU issue since mine was used between 50% and 60%.

Othen then that, I hope Nintendo nevers learns about that, especially with the virtual console on wii.

Offline zammbi

JGO Coder


Medals: 4



« Reply #19 - Posted 2009-11-21 13:29:59 »

Works fine here.
I also have the sounds problem.

Not sure if its the game itself, or that the game isn't made for a keyboard but I found its controls annoying to play heh.

Current project - Rename and Sort
Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #20 - Posted 2009-11-21 21:01:31 »

Yes, it seems to be a bit slow or the frame rate a bit low. Can I display the fps? Doesn't seem to be a CPU issue since mine was used between 50% and 60%.

Othen then that, I hope Nintendo nevers learns about that, especially with the virtual console on wii.
Well, he can always provide access to the emulator with no legal issues, the only problem is if he continues to keep a direct link to Mario 64. Otherwise people can go download the ROM from one of a bagillion sites and then just load it in manually.

See my work:
OTC Software
Offline DzzD
« Reply #21 - Posted 2009-11-22 20:50:49 »

wow

work very well ( seems a little slow ) but not that much very playable with a nice experience ( CPU :  80% on one and 40% on the other ).

I got a sound issue : like if I was underwater

but wow Shocked really impressive for an emulator

Offline JL235

JGO Coder


Medals: 10



« Reply #22 - Posted 2009-11-23 21:21:45 »

I forgot to say before, I was very impressed by this. It really goes to show what is possible with Java.

Offline DoubleBarrel

Senior Newbie





« Reply #23 - Posted 2009-11-23 22:23:21 »

Wow I love this   Cheesy
Is this only a demo of the game? I can t progress to anywhere in the game in terms of storyline ... Sad
With regards to technicalities I have to repeat what have been already said ... cool gameplay (most of) but poor sound.
Thanks for your work man  Cool

And Java Goes On
Offline steveyO
« Reply #24 - Posted 2009-11-23 23:01:49 »

Holy f'in Shit..  Thats impressive to say the least!!
No flicker,, just sound probs as mentioned by others..

https://play.google.com/store/apps/details?id=com.bullsquared.alggame Annoying Little Gits (Android)
www.bullsquared.com   Play java (applet) games! www.chessclockpro.com Free Online Chess Clock
Offline CyanPrime
« Reply #25 - Posted 2009-11-24 00:34:03 »

Wow! This is fantastic!
I put it on my blog for you, too ^_^
http://prime.programming-designs.com/?p=40#more-40
Offline ewjordan

Junior Member





« Reply #26 - Posted 2009-11-24 16:42:02 »

Worked without nasty exceptions on Mac OS X on Safari for me.  Way to go!

Might be a Java version thing or a graphics card issue, then, I'll look into it a little later today.
Offline ChrisM

JGO Coder


Medals: 1
Projects: 1


END OF LINE.


« Reply #27 - Posted 2009-11-24 17:39:08 »

Very impressive, posted about it on my blog.  I wish the guys who did the PS1 emulator back in JavaOne 2006 would release their code as their emulator was smoking hot.  I believe they were running 3 PS1 games at 30FPS at the same time on their laptop.  Crazy!

Offline TheAnalogKid

JGO Coder


Projects: 2



« Reply #28 - Posted 2009-11-24 18:01:48 »

Too bad the sound is crappy. But what's so great is that it seems to run better than with Project64, apart the sound. If I remember correctly there was flickering issues on Project64.

Offline i30817

Junior Member





« Reply #29 - Posted 2009-11-26 19:14:20 »

Its probably a good idea to ditch the game loading/download now and just popup a filechooser for people to play their (legally dumped of course) games.

Would make startup faster even right?
Pages: [1] 2
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Nickropheliac (15 views)
2014-08-31 22:59:12

TehJavaDev (23 views)
2014-08-28 18:26:30

CopyableCougar4 (29 views)
2014-08-22 19:31:30

atombrot (41 views)
2014-08-19 09:29:53

Tekkerue (38 views)
2014-08-16 06:45:27

Tekkerue (35 views)
2014-08-16 06:22:17

Tekkerue (24 views)
2014-08-16 06:20:21

Tekkerue (34 views)
2014-08-16 06:12:11

Rayexar (72 views)
2014-08-11 02:49:23

BurntPizza (48 views)
2014-08-09 21:09:32
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!