Page 1 of 4

Posted: Wed Sep 17, 2008 7:52 pm
by tepples
In [url=http://nesdev.com/bbs/viewtopic.php?p=37244#37244]this post[/url], Guido Anchovy wrote: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.
Too bad it's not a screensaver.
I wonder what it would take to get an NES emulator as a .scr.

Posted: Wed Sep 17, 2008 8:00 pm
by Banshaku
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.

Posted: Wed Sep 17, 2008 11:51 pm
by Banshaku
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?

Posted: Sat Sep 20, 2008 9:08 am
by Coldberg
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

Posted: Sat Sep 20, 2008 7:06 pm
by BMF54123
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. :)

Posted: Sat Sep 20, 2008 8:38 pm
by Banshaku
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 :)

Posted: Mon Oct 06, 2008 6:23 pm
by Luke
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! :D

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!

Posted: Mon Oct 06, 2008 6:58 pm
by Banshaku
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.

Posted: Mon Oct 06, 2008 7:05 pm
by Luke
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! :)

Posted: Mon Oct 06, 2008 7:12 pm
by Banshaku
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.

Posted: Tue Oct 07, 2008 6:48 pm
by Guido Anchovy
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.

Posted: Tue Oct 07, 2008 7:44 pm
by Banshaku
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.

Posted: Wed Oct 08, 2008 7:51 pm
by Luke
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! :D

Posted: Wed Oct 08, 2008 8:07 pm
by Banshaku
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! :D
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 :)

Posted: Wed Oct 08, 2008 9:04 pm
by Luke
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! :)