The Daily Click ::. Downloads ::. Application ::. FamiScreen

Author: Nobuyuki Submitted: 1st July, 2004 Favourites:0
Genre: Application Downloads: 159

FamiScreen is unlike anything you've seen before. Not like any screensaver, but not quite an emulator, FamiScreen has the unique ability to run the hardware specifications of the NES's 6502 processor, and play your old favorites on the screen while you idle. Now, not only can you play the classics on your PC, but you can have them play themselves (and prevent phosphor burn-in on CRTs in the process)!

* 3 ROMs folders
* Customizable APU emulation via MIDI
* Removable HUD
* Bilinear filtering and Edge Optimization ("eagle") modes
* 1x-3x Zoom factors
* Ability to play single ROM every time
* Ability to play random ROMs every time
* Ability to select a random ROM every x seconds

FamiScreen comes with 5 public domain ROMs to test. To install, simply extract all files to your windows folder, and enter display properties. Don't forget to select your own ROMs folder!

Concept/Programming -- Nobuyuki
6502 Core -- Tobias Strömstedt
FastBlit -- David Finch
Based off BNES by Don Jarett.
Some code ported from NESTER by Ken Friece.
Special thanks: Mike Counts, Pkeod, YOU! :3

Review This Download (79kb )

Posted by Buster 2nd July, 2004

This is pretty cool, I've got some wierd roms in my folder that I just found out about. Casino boy... What the hell is Casino boy!
Posted by Bloom 2nd July, 2004

I'm disappointed. I have an emulator for my Playstation that's cooler than this. Now the idea of auto-play is intriguing (Now, not only can you play the classics on your PC, but you can have them play themselves,) if only it could be applied...
Posted by 2nd July, 2004

Did you do this with jamagic?
Posted by Kris 2nd July, 2004

looks good, what's it made in... VB?
Posted by Kris 2nd July, 2004

damnit nobu, it doesn't remove itself from memory when it closes. i just found about 10 copies of it still lying around in the task manager
Posted by Peblo 2nd July, 2004

You didn't include the classic line "I will not tell you how to obtain nes roms" emulator developers always put in there.
Posted by Nobuyuki 2nd July, 2004

it should remove itself from memory, if it doesn't it looks like I'm gonna have to recode the way it unloads (I call mnuFileExit_click to kill the thing, which has a custom END routine which involves calling END, which should kick in VB's garbage collection, but if it doesn't there's little I can do save recoding the routine in a different sub...) Also, I expected at least one person to say "emulator x is better", well guy, it's too bad emulator X doesn't apply here since it doesn't do the features this one intended! To answer anyone else younger than 18: No I will not make one of these for SNES or any other console, but you can if you want to dig into C++ hell :)
Posted by Nobuyuki 2nd July, 2004

hmm, kris: what OS are you using? Windows 2000 seems to end the process OK under normal mouseMove event.
Posted by Kris 2nd July, 2004

XP Pro!
Posted by Kris 2nd July, 2004

+ SP1
Posted by Kris 2nd July, 2004

can't you just use the exitprocess api?
Posted by Nobuyuki 2nd July, 2004

which process am I to exit? Doesn't that require an hWnd? (I don't know which process is refusing to die on your system)
Posted by Kris 2nd July, 2004

it ends the process that calls the function, so you dont need a hwnd or process ID
Posted by Mike from Tri-World Creations 2nd July, 2004

People in VB... when closing a app if its a MDI Host do Sub MDIForm_Unload() End End Sub if its a normal form do Sub Form_Unload() End End Sub
Posted by Simon Colmer 2nd July, 2004

Posted by Jamesbuc 2nd July, 2004

How come none of your stuff ever seems to work for me Nobuyuki. The screensaver never worked. The NEKO Gamestation didnt work. :( must be windows xp
Posted by Kris 2nd July, 2004

have you got the VB runtime libraries?
Posted by Nobuyuki 2nd July, 2004

kris: what I could do in a later version is to throw in ExitProcess() after the END statement, that way I don't destroy vb's garbage collector for those people who's systems it works on (which I assume is 99% of people) -- I still have not been able to reproduce your situation. Are you calling the screensaver from display properties, or a normal "wait" API?
Posted by Broomie 2nd July, 2004

This is cool, thumbs up to Nobu!
Posted by RapidFlash 2nd July, 2004

Wow... you actually did this thing. Cool.
Posted by Kris 3rd July, 2004

sounds good to me nobu. I was calling it from the preview because I have my screensaver set to wait 15 mintes
Posted by Crystal Clear (H.E.S) 3rd July, 2004

I get an Error message when trying to acces the preview/settings: Run-Time error '76' PATH NOT FOUND
Posted by ChrisB 3rd July, 2004

Looks nice, but it runs for a few seconds then quits (Win 2000). Which is a shame, because I'd really like to use this.
Posted by ChrisB 3rd July, 2004

My problem is intermittent, not constant. But it happens enough to be annoying... Can you make the screen centred? That would look a lot better. And how can NES games run at 25fps when I can get filtered 32x games to run at near-perfect speed? :S
Posted by Nobuyuki 3rd July, 2004

1. Crystal Clear: Try deleting FamiScreen.cfg, or editing it so it doesn't have a bad path. I don't know how it got one but it's possible it's trying to load a path with no ROMs in it, or something I haven't accounted for in this version. 2. Branch: Intermittent disappearing of the screensaver is something I don't know why it does, but it maybe related to the code I used to randomize a game. I've been told it's less than graceful (I.E. In certain cases, it could throw itself into a recursive emulation loop). Dunno how or why this happens, but the solution would be pretty simple: After X minutes, the screensaver simply runs again. Since this error doesn't happen a lot to me (and I have every single NES ROM to test), I'm guessing one of your ROMs is the culprit. so... 3. Next version I will definately make a badroms.lst available which should grow on its own every time FamiScreen crashes on a ROM, or you can manually add ROMs you don't want it to load. Also I will add vertical screen centering for people using weird zoom modes. As for fps rate, all optimizations were made in the compiler to get the highest speed possible. It runs 60fps at 3x+Eagle on my 1.5ghz P4. It has autoframeskip, too, so if you're reaching only 45fps I don't know what to tell you. Maybe VB's speed hacks are biased towards intel chips. Have a nice day! And thanks for continued support everyone ;)
Posted by ChrisB 3rd July, 2004

I don't think it's a case of bad ROMs, it happens with every ROM I try (including the ones that came with FamiScreen). It makes no difference whether I enable/disable sound, randomisation, graphics mode etc.
Posted by Nobuyuki 3rd July, 2004

very strange. I might throw the source code out to you if you want, chris... Dunno if you do VB :3
Posted by Hikari 4th July, 2004

Impressive that you managed to code an emulator/screensaver, but I don't see it play by itsself. is there anything i should swich on before that happens orso? with most games that I have (I actually have the cardriges aswell so don't say i download illegal roms) it just stays on the title screen and sometimes plays the demo that comes with the game. But that one is the same every time while I think you mean to say that it can actually play the games (or maybe just give random keypresses)
Posted by ChrisB 4th July, 2004

I have VB 5, but if you're using .net then I wouldn't be able to do much.
Posted by Nobuyuki 4th July, 2004

I made this carp in VB6 and I believe it uses some VB6 only things like string parsing statements and convertors or something but I dunno cause I forgot... but umm, you could try it or something just show up in #k&p more often. @hikari: It plays the attract mode. You can set keys to play it yourself in the settings, but it could only play games for you if you were to record NES movies in its native format (not yet available for playback). Since that's the beyond the scope of my intention (to give your computer screen an "inactive retro arcade" look), I don't think that feature's gonna happen.
Posted by Ted Boomerang 5th July, 2004

Awsome, Nobu! I do have the same problem as Kris, though. The thing doesn't end the application. That and the bad ROM problem. Other than that, a unique concept. My Applause :D
Posted by Crystal Clear (H.E.S) 11th July, 2004

Nobu: i cant find the "FamiScreen.cfg" file? I run-Winzip it automatically installs the Screensaver in the Windows Directory, i checked the Windows directory and its not there?
Posted by Crystal Clear (H.E.S) 11th July, 2004

Got it working, i unzipped it Via Winzip-Classic Interface which installed ALL the files into the windows directory, when using the Winzip-wizzard it only installs the *.Scr file, anyway Great job Nobu, this is gonna be my screensaver for a long time :D. *Thumbs Up*





Worth A Click