I can spend upwards of 20-30 min when I'm bored watching those two go at it.
I just put on Brawl and watch
Luigi go all "Za warudo!" on Mario.
Quote:
Too bad it's not a screensaver.
I wonder what it would take to get an NES emulator as a .scr.
tepples wrote:
I wonder what it would take to get an NES emulator as a .scr.
You know, that sound like a good idea. And if you could put some pre-recorded game in it, that would be even better. Worst case, you put a list of game that have some interesting demo and that would be cool.
Who will port an emulator to a scr?
Basically an scr is just an executable so the port shouldn't be that complicated. Just if you want to be able to set some customs properties then you have to code more things.
tepples wrote:
I wonder what it would take to get an NES emulator as a .scr.
I have been playing with the FceUltra code during lunch time and I was able to make it work as a screen saver. I may try to make one while I'm at it, it just that I don't know much about the code base yet. Maybe I should talk to the FceUltra team regarding this project.
Note: Tepple, since the few posts we did are completely off topic, maybe we should move them to a new thread in the general forum?
nothing is special about .scr it's just renamed .exe and to support the configuration dialog and some other modes windows passes a command line option like /c if i'm not mistaking. all you'd need to do is make it quit after you press a key if you want to act as a screensaver
Anyone ever use the Pac-Man/Ms. Pac-Man emulator screensaver? Same idea, except you could press a certain key to hook the input and actually play it.
I did a little bit of work on it but for now not real result.
Converting the application to receive the parameters that the scr expect is the simplest part. My issue right now is the video code for putting it in full screen doesn't work like I'm expecting and I lack some experience with the Directx framework + pure win32 coding.
So I guess I won't go that far with this one unless I read more DirectX stuff
I created a NES screen saver about 1.5 years ago based off my emulator UberNES that is pretty much exactly what you guys are talking about. The webpage for it is
http://www.ubernes.com/nesscreensaver.html if you'd like to check it out.
A little background: like most emulators, UberNES can record gameplay movies. What is unusual/unique about UberNES is that users can upload their particularly awesome/interesting movies to an online movie gallery for everyone to see - all of this is built directly into the emulator. Also of note is that movies can contain author-defined "checkpoints" which are essentially save states included in the movie file which allow the viewer to skip ahead to interesting parts of the movie. Once the online gallery contained a decent number of movies, I thought it would be pretty neat to have a screen saver pull movies directly from online and play randomly for a short amount of time before skipping to the next, utilizing the checkpoints to keep the playback varied. I think it turned out fairly well - the office I work at has certainly lost a lot of productivity due to mindless screen saver watching!
Banshaku: I experienced a lot of headaches getting full-screen mode to work properly for my screen saver. The problem is that changing the display mode to full screen causes Windows to fire a lot of messages, some of which will caused the default screen saver message handler to abort, e.g. WM_MOUSEMOVE. To get around this problem, before going to full-screen mode, I swapped the default screen saver message handler to a simple one that just did default windows message handling. I then give the full-screen transition about 2-3 seconds to complete (and fire all of the screen saver-killing messages) before switching my message handler back to the default screen save handler and continuing on my merry way. Hope that helps!
Luke wrote:
I created a NES screen saver about 1.5 years ago based off my emulator UberNES that is pretty much exactly what you guys are talking about. The webpage for it is
http://www.ubernes.com/nesscreensaver.html if you'd like to check it out.
I will be more than happy to check it. Thanks for the link!
Luke wrote:
I experienced a lot of headaches getting full-screen mode to work properly for my screen saver.
In my case it's more because I'm not the owner of the code and doesn't know the code base at all. I had to figure out how they tried to go into full screen and it was not obvious.
Now that they're already one, I may give up on porting one existing emulator as a screen saver. My only concern is you said that your screensaver seems to call back home to get some data. This is a nice feature but in some work environment, some IT staff may not like it too much thought.
I hope that we can use it without the online feature.
Banshaku wrote:
Now that they're already one, I may give up on porting one existing emulator as a screen saver. My only concern is you said that your screensaver seems to call back home to get some data. This is a nice feature but in some work environment, some IT staff may not like it too much thought.
I hope that we can use it without the online feature.
I should have been more specific; the screen saver itself just scans a user-specified directory for movie files and plays them at random. Online movie downloading is optional and user-controlled through the screen saver configuration dialog - you don't need to use the feature, but I really recommend it!
Luke wrote:
I should have been more specific; the screen saver itself just scans a user-specified directory for movie files and plays them at random. Online movie downloading is optional and user-controlled through the screen saver configuration dialog - you don't need to use the feature, but I really recommend it!
Great! Thanks to clarify it.
I remember that one user of this board (it was in another thread) wanted a screen saver with the FDS bios intro which contains Mario and Luigi doing I don't remember what. If you emulator does run FDS, I think he will be happy to hear about that
edit:
I tested it and I like it. This is exactly what I would have love to make but why make it when it already exists?
Only one issue though (small one). If you use it on a dual monitor, the output is a little bit on one screen and the rest on the other one. Except for that, working fine.
Luke wrote:
I created a NES screen saver about 1.5 years ago based off my emulator UberNES that is pretty much exactly what you guys are talking about. The webpage for it is
http://www.ubernes.com/nesscreensaver.html if you'd like to check it out.
If this could run the actual bios/rom without having to load pre-recorded ubernes movies, I'd be all over it!
It's still a neat program, though.
Guido Anchovy wrote:
If this could run the actual bios/rom without having to load pre-recorded ubernes movies, I'd be all over it!
It's still a neat program, though.
The screen saver at first sight seems to only run movies so you would have to run the bios in the main emulator, record a movie for the length of the bios animation and it would repeat forever. I just don't know yet if it runs the bios or not. I will do a check and let you know.
edit:
I tested it and unfortunately, the fds bios doesn't go the that specific screen. Since the emulator doesn't support fds files, it dies on the battery error screen.
Guido Anchovy wrote:
If this could run the actual bios/rom without having to load pre-recorded ubernes movies, I'd be all over it!
I like the idea of screen saver also being able to (optionally) open NES games and run them in simple "demo mode", i.e. without providing any user input/movie input. Originally I thought that would be too boring which is why it requires movie files but I can see the appeal of such a feature when used in conjunction with a "take over" button that user can press to take over for the movie/demo mode and start playing the game themselves. (I'd also add a "give up" button that yields control back to the movie/demo mode.) I'll try to get those features implemented in the next version!
Luke wrote:
Guido Anchovy wrote:
If this could run the actual bios/rom without having to load pre-recorded ubernes movies, I'd be all over it!
I like the idea of screen saver also being able to (optionally) open NES games and run them in simple "demo mode", i.e. without providing any user input/movie input. Originally I thought that would be too boring which is why it requires movie files but I can see the appeal of such a feature when used in conjunction with a "take over" button that user can press to take over for the movie/demo mode and start playing the game themselves. (I'd also add a "give up" button that yields control back to the movie/demo mode.) I'll try to get those features implemented in the next version!
That would be a nice idea too but we may lost productivity if used at work
There is only one thing for now that I would like you to fix if you have a chance, the dual monitor issues. At home I only use one so it's not an issue but would be nice to fix it. Maybe if the screen saver could be shown on the main monitor, already that would be better than in the middle of both screens at the same time. Even better, show a different movie on each screen but I guess this one would be a pain to make since once you allow 2 screens, someone will ask to add the feature because he uses 3 of them etc
Banshaku wrote:
There is only one thing for now that I would like you to fix if you have a chance, the dual monitor issues. At home I only use one so it's not an issue but would be nice to fix it. Maybe if the screen saver could be shown on the main monitor, already that would be better than in the middle of both screens at the same time. Even better, show a different movie on each screen but I guess this one would be a pain to make since once you allow 2 screens, someone will ask to add the feature because he uses 3 of them etc
That is a good suggestion. Rendering two movies simultaneously would probably be nicest but would also require a bit more architecturalish code changes than I'd like to undertake at the moment.
(As an aside, how would you treat audio in this configuration? One game goes to left speaker, one to the right speaker? What if stereo sound isn't supported?) I think a good, easy compromise would be an option to alternate monitors between movies. I'll see what I can do!
Luke wrote:
That is a good suggestion. Rendering two movies simultaneously would probably be nicest but would also require a bit more architecturalish code changes than I'd like to undertake at the moment.
(As an aside, how would you treat audio in this configuration? One game goes to left speaker, one to the right speaker? What if stereo sound isn't supported?) I think a good, easy compromise would be an option to alternate monitors between movies. I'll see what I can do!
In a scenario with more than one monitor, if you do show more than one movie, the sound will be an issue like you said. In that case, I would:
- disable the sound or
- Select witch monitor as sound priority
The second option seem strange unless you can specify that on monitor X, always the game you like the most play and this is the monitor that you want sound from.
But for now, if it can alternate between monitors or you can select to be on only one monitor, this is already more than enough
You know what I would love to see? A dual-screen Darius/Darius II emulator screensaver.
beautiful~
BMF54123 wrote:
You know what I would love to see? A dual-screen Darius/Darius II emulator screensaver.
I agree. That would make a nice one. Only issue (?) is you can only run it with dual monitors
I posted a new version of the screen saver today that implements almost all of the features discussed in this thread including multiple-monitor support, ability to "take over" the current game/movie being displayed, and ability to play NES games in their native demo mode rather than requiring UberNES movies.
Here is the screen saver homepage:
http://www.ubernes.com/nesscreensaver.html
And just for fun here is a page with some YouTube demo videos:
http://www.ubernes.com/nesscreensavervideos.html
Cheers!
I had a chance to test it tonight and in general I like it. The fact that you can enter at any time in one of the 1 to N movies shown on the screen is a very fun option. Maybe I shouldn't bring that at work
It died on me once thought. I would like to know the meaning of the red icons for the movie (could it be the cause of the crash?). I didn't saw the meaning on the site (yet).
The red movie icons just mean that screen saver cannot find the ROM for the given movie. I'm sorry that it crashed for you, I will continue to work on it this weekend!
Ok, good to know for the movie. I will check which rom is missing then add them and see if it's still fail.
I think in both case, I was playing in one of the games shown on the screen. I had 4 of them at the same time, using direct draw, NTSC filter. I set dual CPU. I use system pool for buffer. I don't scroll any text. I don't think I did any other settings.
I'd like to request an option to get rid of the black grid that separates the game windows when you have more than one. I'd also like an option to show/hide the top and bottom 8 scanlines in the screensaver settings.
Edit: I just recorded a bunch of umf files of me playing Super Mario Bros. I started recording at each level's intro (World ?-? screen) and stopped at every death or at the very end of each level. (after the flagpole fanfare) It's not stellar play, just me messing around, and I did most levels up to somewhere in World 7 where I got a game over. Some levels there isn't a video for, because I screwed up with the recording. If there's interest I'll try to do one for each level, and upload them. It's kind of cool to have the screensaver play random Super Mario Bros. levels.
Kasumi wrote:
It's kind of cool to have the screensaver play random Super Mario Bros. levels.
The way I understand it, the movie has many "checkpoint" in it. So if you had only SMB in your screen saver with the full movie of the game, it would show random part of the game every 1 minute (or the setting you set). Is it what you're looking for?
It's not. That statement wasn't a feature request. I already recorded a bunch of separated level plays and I was just wondering if anyone else would be interested in them.
Kasumi wrote:
I'd like to request an option to get rid of the black grid that separates the game windows when you have more than one. I'd also like an option to show/hide the top and bottom 8 scanlines in the screensaver settings.
Thanks for trying out the screen saver! I'm not happy with how cumbersome the GUI is for the video stuff so while I'm redoing that I will try to get these features added. The grid spacing will be very easy to add, but the show top/bottom scanlines will be a tougher nut to crack for tedious implementation reasons.
Banshaku's post is correct in that a single SMB movie with checkpoints at each level could be displayed as a big wall of SMB levels just the same as having a single movie for each level; six of one a half dozen of the other. Along those lines, a "no-warp" play-through of SMB would be a really nice addition to the online movie gallery to go along with the speed runs already there.
The screen saver is nice but it dies on me too often, even when I'm not playing games in it so I had to remove it.
If you can create a debug version that could catch and write logs about the possible error, I could always try it.
A new version of the screen saver was just posted
here. The crashes reported by Banshaku have been fixed (thanks for the help again Banshaku!), the grid spacing is now configurable, and movies can be repeated in a grid which lets user fill out an entire screen's worth of movies even if the CPU cannot emulate a unique game for each spot in the grid. Thanks again for the feedback and suggestions!
One suggestion: make a package with the DLL dependencies or in a different file. I re-installed my os recently and it ask for specific DLL (MSVCP71.DLL, maybe will ask for another one once I have this one). I checked on the net but I cannot find any VS C++ redistributable for VS2003. They are only available for 2005/2008. Maybe they came with dot net 1.1 framework but I didn't re-installed or have no intention to do it.
Good catch! The screen saver has just been updated so that is not dependent on the VS 2003 C++ runtime DLLs. (I had mistakenly set my "Code generation" settings to "Multi-threaded DLL" rather than "Multi-threaded".) Hopefully that will fix the issue!
Nice work Luke! One question it says on your website you support downloading movies from your online database even if you don't have the ROMs. Does the movie file include the ROM or are you actually storing the movies as AVI files or whatever?
RetroRalph wrote:
Nice work Luke! One question it says on your website you support downloading movies from your online database even if you don't have the ROMs. Does the movie file include the ROM or are you actually storing the movies as AVI files or whatever?
Thanks RetroRalph! What I meant on the website is that the screen saver is completely decoupled from UberNES emulator; users still have to have the proper ROMs for movie emulation/playback but they do not need to use UberNES to download movies or do anything else. The website text is a little confusing and should be changed.
Just saw this now! Really great!
Sorry for the bump again, but I'd like to mention that the screen saver was updated again today. The main additions are that the movie wall can be "scrolled", a host of new graphical effects have been added (e.g screen curvature), and performance is a bit faster and more robust.
Here is a demo video and
here is the main screen saver web page. If anyone has any suggestions or comments I'd love to hear them. Thanks!
DUDE!! That is really awesome Luke!! This thing kicks ass! Nice work!!!!!!!
Hmm, it doesn't let me create a "Game List" for some reason.
I get this error:
Quote:
---------------------------
No ROMs Found
---------------------------
No valid NES ROMs were found in the specified directory. ROMs are required for movie and demo mode playback.
---------------------------
OK
---------------------------
Even though the selected directory is full of .NES files. o_X
EDIT: I even tried copying SMB in a completely different directory (C:\ubernes\roms) to see if it would make a difference but nope.
yeah, i got this same error as well, was just about to post this bug. i downloaded ubernes emulator to see if it could recognize the games and it has no problems. A bug??
D'Oh!
Sorry about that, guys. The bugs should now be fixed (direct download:
http://www.ubernes.com/data/files/NintendoSaver2010.zip). Thanks a lot for telling me about this problem!
Thanks for fixing it, but I have another problem.
When I press "Preview" nothing comes up and the screensaver doesn't work. In the small preview window game is being emulated though.
Any idea what might be wrong? I tried switching to DirectDraw and using a custom screen mode but didn't work either.
I'm using Windows 7 in a dual monitor setup.
Thanks to thefox's superhuman patience, the bugs he was referring to in the previous post have been fixed.
thefox wrote:
Thanks for fixing it, but I have another problem.
When I press "Preview" nothing comes up and the screensaver doesn't work. In the small preview window game is being emulated though.
Any idea what might be wrong? I tried switching to DirectDraw and using a custom screen mode but didn't work either.
I'm using Windows 7 in a dual monitor setup.
I have the identical problem except I'm running XP. I tried downloading the latest and I still can't preview it. The screen goes black for a moment and then goes right back to my desktop.
Luke wrote:
...the bugs he was referring to in the previous post have been fixed.
The latest version does not fix the preview bug for me.
which is better to use, GDI or DirectDraw?
UPDATE: When I use GDI for the graphics I only ever see games playing in my left monitor (identified by Windows as monitor "2" under the "Settings" tab) no matter what I set the movie tile width or game resolution to. When I use DirectDraw everything works perfectly and I see games on both monitors. DirectDraw also seems faster. Just FYI.
I think i may have found another bug. Can someone verify?
When I go to the settings window and click on the "Input" tab and I try to define the keys (e.g. by clicking on the "Up" push-button), it says, "Please press the keyboard button you wish to map to the NES button Up...".
But no matter what keys I press the Status always changes to "Timed out".
Pz!
Jonathon
Ok, so it looks like the input bugs are definitely fixed and the preview bugs are
probably fixed. The GDI bugs that jwdonal has been getting will be a tougher nut to crack as I cannot replicate them on my multiple monitor set-ups.
jwdonal wrote:
which is better to use, GDI or DirectDraw?
UPDATE: When I use GDI for the graphics I only ever see games playing in my left monitor (identified by Windows as monitor "2" under the "Settings" tab) no matter what I set the movie tile width or game resolution to. When I use DirectDraw everything works perfectly and I see games on both monitors. DirectDraw also seems faster. Just FYI.
I have the same problem, kinda. Games show in both screens when using GDI but they're not tiled correctly. So I'm using DirectDraw, which is fine. I have also encountered couple of other bugs but I'll report those later.
OK, one bug before I go to sleep: after the screensaver has been on for a while the screen freezes, i.e. same frame is displayed from there on. Haven't bothered to try out yet how long it takes for it to freeze.
thefox wrote:
OK, one bug before I go to sleep: after the screensaver has been on for a while the screen freezes, i.e. same frame is displayed from there on. Haven't bothered to try out yet how long it takes for it to freeze.
Nice!! I've got the exact same bug. I already emailed Luke about it. Good to hear I'm not the only one. I think it may have something to do with when my monitor tries to go into sleep/standby mode. The length of time it takes the screensaver to freeze is *very* consistent. I bet you could put a stopwaatch by it and it would be exactly the same every time - although I haven't had time to try this myself yet. Oh, and if the screensaver freezes my monitors will not go into standby mode, this is why I think they are related. Also, my monitors are set to go into standby exactly 5 min after the screensaver comes on - and 5 min is about how long it takes the screensaver to freeze.
Fox, do you have your monitors set to go into standby mode? Would be very interesting if you did....
EDIT: Haha, I just thought, why don't I just turn off my standby mode temporarily and see if the screensaver stops freezing - DUH. I'll try it and let you know.
jwdonal wrote:
Fox, do you have your monitors set to go into standby mode? Would be very interesting if you did....
Yeah, I do. Should go into standby after 10 minutes of inactivity (and screensaver comes up after 5 minutes), so yeah I guess the bug must be there.
And guess what? I turned off the standby mode on my monitors and the screensaver has not frozen once in over 2 hours. Haha, I think we've got this one figured out.
Pz!
Jonathon
Ok, so it seems like the dust has settled and all of the bugs mentioned here (and a few that weren't!) have been fixed, with the latest binary available
here. Thanks for bearing with me!
I just finally tried this thing out. It is AMAZING. Only thing is though it could probably use a faster emulator, maybe rip stuff out of LoopyNES or something.
I, too, have to say that this is absolutely brilliant! It's my new screensaver now
(although I wouldn't actually need one).
However if I activate the movie-wall the screensaver is running very slow, either my PC isn't fast enough or you could speed up your emulator.
When I saw this program I thought of having a screensaver that works for all systems (not only NES) by just starting a predefined emulator with a given movie file and ROM. I don't know if any current emulator supports this but it would be cool. However if you created a SNES screensaver I would download it instantly, too
I recently posted a new version of the screen saver that addresses the speed issue. After lots of code optimization the emulation core is nearly twice as fast as before. Not sure whether to be proud of the improvement or embarrassed at how inefficient the code used to be.
There is also a new "playlist" function that makes it easy to do fun things like tile your screen with all 6 Mega Man games. The web page is still
here or you can just
download it directly if you want.
Thanks for the update! It's nice you were able to optimize the emulation so much.
However nearly everything I set as software up/scaler slows the whole thing down to crawling speed. I can use the hardware settings like "fit to entire screen" without problems, only the software based scaling routines seem to be very slow. Is there anything you (or I) can do about this?
I will look at all of the upscaling and graphics effects code again, but I think I have already optimized that code to the best of my abilities. In the meantime, here are some options you can try to speed things up:
- The biggest thing is turning off all of the post-processing effects.
- You can also experiment with GDI/DirectDraw/Direct2D output; I have seen each graphics API perform better than the others on different machines so it might take a little trial and error to find the one that works best for you.
- The faster software upscaler is nearest neighbor.
- The movie wall window has an option to restrict the number of unique NES instances running. Lowering that will almost certainly improve performance, but games may be duplicated to fill out the contents of the wall.
Please let me know if you are able to get it running better or if you have any other questions.
You are right, after I turned off the screen curvature everything seems to run smooth. That's a bit surprising as up to now I always had this option turned on. Well maybe it's because of the software upscaling. Anyhow I'm now using DirectDraw with "fit to entire screen" and hqx as upscaler with x3 software scale. All the time I have only been using one movie, no movie wall.
Anyway thanks for the help!
Oh and could you please start working on a similar SNES screensaver?
I think I would even donate something if you created that, too. And there are some rather skilled players who already made some cool videos - I mean for the current NES.
Wow! Had no idea about this screensaver. Works excellent for me. Thanks alot... I'll spread the word about it to all my NES-friends.
Sorry again for the bump (has it really been 4 years?!?), but I released another new version of the screen saver this morning. The big news is that this release includes a Mac port along with the standard Windows version! The Mac version ended up taking a hilarious amount of time longer then I expected which partially explains the long gap between releases.
Both versions feature new multi-player support - you can now have separate game "cursors" on the movie wall for each device connected to your PC. Previously, you only had one game cursor and it was always mapped to your keyboard. So with this feature you can e.g. have 4 people playing 4 different NES games simultaneously. Hardly practical but that's never been the point of this software.
There's also some other new features and some significant stability improvements.
You can check out the official website
here, or directly download the
Mac version or
Windows version.
Luke wrote:
Sorry again for the bump (has it really been 4 years?!?), but I released another new version of the screen saver this morning. The big news is that this release includes a Mac port along with the standard Windows version! The Mac version ended up taking a hilarious amount of time longer then I expected which partially explains the long gap between releases.
Both versions feature new multi-player support - you can now have separate game "cursors" on the movie wall for each device connected to your PC. Previously, you only had one game cursor and it was always mapped to your keyboard. So with this feature you can e.g. have 4 people playing 4 different NES games simultaneously. Hardly practical but that's never been the point of this software.
There's also some other new features and some significant stability improvements.
You can check out the official website
here, or directly download the
Mac version or
Windows version.
Thank you! I've been looking forward to a MAC version