I was busy this weekend

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
James
Posts: 429
Joined: Sat Jan 22, 2005 8:51 am
Location: Chicago, IL
Contact:

I was busy this weekend

Post by James » Tue Sep 02, 2008 10:31 am

After a long hiatus, I spent some time with my emulator this weekend. In addition to fixing some nagging bugs, I've completely modularized the emulator so that multiple instances can run at the same time. This change has allowed me to start revamping the user interface.

It's not a lot, but here's what I've done so far. On the title screen, the user is presented with a live view of each game. These are all running in real time. The user is able to scroll through the list to the game they want to play and then select it using their keyboard/joystick/whatever.

Here's a shot of the title screen. Hard to see in the screen shot, but the selected game has a brighter border around it. The unselected games are about 50% darker to help the selected game stand out.

Image

When a game is selected, it is scaled to fill the entire screen. The unselected games are paused.

Image

So, there's still a ton to do, but figured I'd post a couple of screen shots. I welcome any opinions/suggestions/etc. you might have (my wife isn't nearly as interested as you might be :)).

James

User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg » Wed Sep 03, 2008 2:08 pm

Nice to finally see an implementation of this concept! Could you have it show the last few/next few seconds of play for any saved games for the particular game?

Nessie
Posts: 134
Joined: Mon Sep 20, 2004 11:13 am
Location: Sweden
Contact:

Post by Nessie » Wed Sep 03, 2008 2:16 pm

Great idea, I can't wait to test it!

User avatar
James
Posts: 429
Joined: Sat Jan 22, 2005 8:51 am
Location: Chicago, IL
Contact:

Post by James » Wed Sep 03, 2008 2:24 pm

blargg wrote:Nice to finally see an implementation of this concept! Could you have it show the last few/next few seconds of play for any saved games for the particular game?
no save states in nemulator yet :(

...but, this is on my to-do list. I had envisioned having a restore menu with a list and screenshot of the last-x saves, but no reason that those couldn't be live views as well. Good idea.
Nessie wrote:Great idea, I can't wait to test it!
Thanks! Just wrapped up the rom searching and scrolling code this morning (previously, I just had 9 static roms loaded, now I dynamically populate 'pages' of roms). I have some threading, input, and audio issues to resolve, but I'll try to release a preview build sometime soon.

User avatar
Dwedit
Posts: 4435
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Wed Sep 03, 2008 2:36 pm

For a savestate to have live views, I'd think you'd make a savestate about 6 seconds early, then record input for those frames. That way you can show the last 6 seconds of gameplay prior to the final state.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
James
Posts: 429
Joined: Sat Jan 22, 2005 8:51 am
Location: Chicago, IL
Contact:

Post by James » Wed Sep 03, 2008 8:52 pm

Ok -- if you want to get hands-on with this, you can download a pre-release copy at http://nemulator.com/nemulator.zip. A couple of notes:

- don't be surprised if it crashes or otherwise fails to work
- no audio
- roms must be located in c:\roms
- must be in a true color (24-/32- bit video mode)
- games that fail to load (e.g., unsupported mapper) just show a blue screen
- don't know about cpu requirements. runs at full speed on my 3GHz Core 2 Duo

Keyboard controls:

TITLE SCREEN
- Navigate with arrow keys and page up/down
- Use Enter to start a game

IN-GAME
- Arrows key
- Z/X = B/A
- Select = [
- Start = ]
- Return to Title Screen = ESC

Have fun. Let me know what you think.

James

User avatar
James
Posts: 429
Joined: Sat Jan 22, 2005 8:51 am
Location: Chicago, IL
Contact:

Post by James » Thu Sep 04, 2008 9:15 am

youtube video (in case you don't want to download/don't use windows):

http://www.youtube.com/watch?v=h1vEDKr6F5Y

tepples
Posts: 22361
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Thu Sep 04, 2008 10:22 am

Looks neat. I don't know whether it reminds me more of the Wii Menu or the old PlayStation 1 demo discs with 12 simultaneous gameplay videos.

User avatar
B00daW
Posts: 586
Joined: Thu Jan 03, 2008 1:48 pm

Post by B00daW » Thu Sep 04, 2008 12:24 pm

Get cracking on Wii dev!

http://www.wiibrew.org

User avatar
James
Posts: 429
Joined: Sat Jan 22, 2005 8:51 am
Location: Chicago, IL
Contact:

Post by James » Fri Jan 02, 2009 1:52 pm

Just wanted to post an updated screen shot as I've been doing some work on this lately. The graphics code has been moved from DirectDraw to Direct3D. Have a few more code fixes and then some polishing up to do before I release the new binary.

Image

James

User avatar
James
Posts: 429
Joined: Sat Jan 22, 2005 8:51 am
Location: Chicago, IL
Contact:

Post by James » Sun Feb 01, 2009 11:46 pm

Posted another preview video on Youtube:

http://www.youtube.com/watch?v=VJUs99_lPDE

User avatar
oRBIT2002
Posts: 642
Joined: Sun Mar 19, 2006 3:06 am
Location: Gothenburg/Sweden

Post by oRBIT2002 » Mon Feb 02, 2009 1:47 am

Looks very nice. However, how does your CPU like this? Since I guess you're running like 12-15 emulators at the same time?

User avatar
James
Posts: 429
Joined: Sat Jan 22, 2005 8:51 am
Location: Chicago, IL
Contact:

Post by James » Mon Feb 02, 2009 7:54 am

oRBIT2002 wrote:Looks very nice. However, how does your CPU like this? Since I guess you're running like 12-15 emulators at the same time?
Thanks! re: cpu -- yes and no.

So, at most, 31 games will be on-screen at a time: 21 for the main 'panel', 7 for the favorites, and up to 3 additional during scrolling. Games that appear in both are only emulated once and emulation runs on multiple threads. On my desktop (3.00GHz Core 2 Duo w/ Geforce 9800 GTX), I can run all 31 at about 110-120fps. My laptop (1.06GHz C2D, Intel GMA 950) only manages around 12 fps. The youtube video is running at around 30-40 fps (video capture kills the frame rate).

I spent a lot of time optimizing the emulation core, particularly the PPU code, a couple of years ago, and that seems to have paid off. Plus, nemulator performs scanline-based emulation, so it's relatively easy on the CPU.

tepples
Posts: 22361
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Feb 02, 2009 1:39 pm

James wrote:The youtube video is running at around 30-40 fps (video capture kills the frame rate).
Does your PC have a TV output? If so, you could try using an external DVD recorder so that video capture uses no CPU power.

User avatar
Zepper
Formerly Fx3
Posts: 3248
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper » Tue Feb 03, 2009 5:31 pm

When you select a game to play, are the others keep running on background, making the things overloaded? Yup, it crashes here, does not work.

Post Reply