NESSIE v1.02: How can I make the speed faster

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

NESSIE v1.02: How can I make the speed faster

Post by Hamtaro126 »

I am using ROSASM and NESSIE to make my own version of NESSIE. But the speed of the emulator in gameplay is terrible. it is 2 times slower than any other emulator I tried. If you can give me a hand for the code, then I would appreciate it!
User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku »

If someone gives you "a hand" with the code, is it your version or a version for you?

Besides, how do you expect someone to optimize a hand written assembly program 100%+?
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 »

kyuusaku wrote:If someone gives you "a hand" with the code, is it your version or a version for you?

Besides, how do you expect someone to optimize a hand written assembly program 200%?
1: I will have 4 versions:

''Enhanced graphics capability'', 8 palette slots for sprites, (May also change all code to use 2bpp to 3 or 4bpp)

''Enhanced Mapper modifications'' Using a different format called ENF - Can be an alternative to using the same old mapper sets. Example: INES #2 can use $6000 as a new feature

''Mixed'' (All of the Above)

and

''Regular'' (i)NES version

I have the enhanced graphics feature pre-made, using 8 palette slots (No 4-Attribute color limit), but the change in the GFX code is not yet made.

2: Because Nessie hates my (Slow) CPU, Sure, Could by a new CPU in my computer, But it's EXPENSIVE! And the original creator of the emulator never showed up again.

(If you find a newer URL, Please put it here.)
User avatar
BMF54123
Posts: 410
Joined: Mon Aug 28, 2006 2:52 am
Contact:

Post by BMF54123 »

jargon, is that you?
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 »

BMF54123 wrote:jargon, is that you?
If you're talking about me: No, Just plain ol' H126

If not even talking about me: I don't know
Nessie
Posts: 134
Joined: Mon Sep 20, 2004 11:13 am
Location: Sweden
Contact:

Post by Nessie »

Hamtaro126 wrote:And the original creator of the emulator never showed up again.
I'm still here. :)
The terrible performance likely comes from the fact that Nessie runs the ppu one cycle at a time in a loop as soon as a $200x ppu register is accessed. If you could replace that with common optimizations such as predicting sprite #0 / overflow flags, tile caching etc, you could probably improve performance significantly.

I'm afraid there's not any simple fix to boost performance, you'd have to write quite a lot of code to do it - that's why I didn't do it myself.
The source code is pretty chaotic though, it was my first program with more than 500 lines of code!

Martin
User avatar
Disch
Posts: 1848
Joined: Wed Nov 10, 2004 6:47 pm

Post by Disch »

I never understood the point of making an "enhanced emulator" do this kind of thing. I mean if you want this kind of thing, why not just use the SNES? SNES has even fewer restrictions than what was mentioned here, is faster, and has lots more RAM.

Anyway I've voiced my opposal to projects like this in the past. No need to repeat myself, I guess.
Xkeeper
Posts: 90
Joined: Fri Feb 29, 2008 10:35 am

Post by Xkeeper »

Disch wrote:I never understood the point of making an "enhanced emulator" do this kind of thing. I mean if you want this kind of thing, why not just use the SNES? SNES has even fewer restrictions than what was mentioned here, is faster, and has lots more RAM.

Anyway I've voiced my opposal to projects like this in the past. No need to repeat myself, I guess.
I think some ideas are nice (like a ROM that has the ability to run in an "enhanced mode" but works fine without it or on the real thing) ...

It offers a way to create a "graphical" or "musical" overhaul without having to port the entire game to something else, so more effort can be spent on new things and not getting the physics right again.

... I guess in short, I think it's better to focus on something like this as an optional addon (like a new video card for a PC) rather than making a game rely on the upgrades.


Also, can we stick Hamtaro999 in a hamster ball and punt him off a cliff yet? Please?
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Disch wrote:I mean if you want this kind of thing, why not just use the SNES? SNES has even fewer restrictions than what was mentioned here, is faster, and has lots more RAM.
I've been told it's a pain to get 'hello world' working on the SPC700. At least I failed when I tried years ago.

In addition, wouldn't it be easier to enhance commercial games by hacking their CHR and the emulator than by also hacking their PRG and writing a new sound engine from scratch? With the amount of rearranging needed to port a commercial game from the NES to the Super NES, it'd be a female dog to encapsulate the changes in an IPS so that the changes can be distributed to the public.

And there are some "enhanced mode" features that could still be made to work with authentic NES hardware, such as mapper audio (on a Famicom or on an NES with a jumper board in the exp slot).
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 »

tepples wrote:
Disch wrote:I mean if you want this kind of thing, why not just use the SNES? SNES has even fewer restrictions than what was mentioned here, is faster, and has lots more RAM.
I've been told it's a pain to get 'hello world' working on the SPC700. At least I failed when I tried years ago.

In addition, wouldn't it be easier to enhance commercial games by hacking their CHR and the emulator than by also hacking their PRG and writing a new sound engine from scratch? With the amount of rearranging needed to port a commercial game from the NES to the Super NES, it'd be a female dog to encapsulate the changes in an IPS so that the changes can be distributed to the public.

And there are some "enhanced mode" features that could still be made to work with authentic NES hardware, such as mapper audio (on a Famicom or on an NES with a jumper board in the exp slot).
@Tepples, Nessie: Thanks for the support.

@Anyone: And I really like to make a SNES version of Hebereke (The original) in SNES using Super Mario All Stars's ''6502 Emulation'' **engine, But that would require a giant disassembly and remake project. But is very Impossible for me!

**I want to mention, The SMD/Genesis version of Lemmings has a Hebereke cameo, And compared to the NES. That so-called ''Sega VGM'' tune used in the cameo would be Kickass in SNES (N)SPC format for the above (optional) project!
User avatar
BMF54123
Posts: 410
Joined: Mon Aug 28, 2006 2:52 am
Contact:

Post by BMF54123 »

Hamtaro126 wrote:@Anyone: And I really like to make a SNES version of Hebereke (The original) in SNES using Super Mario All Stars's ''6502 Emulation'' **engine, But that would require a giant disassembly and remake project. But is very Impossible for me!
What are you talking about? SMAS has no "6502 emulation." The games were rewritten to work with the 65c816 (not a difficult feat, since it's basically the same CPU) and the SNES's PPU/APU. A lot of the original code was left intact, even.

On a side note, you really need to pick one or two reasonable projects and stick with them. You're never going to learn anything or gain anyone's respect if you come here every other day with an insane new project idea, especially when you expect others to do the bulk of the work for you. It got tiresome a long time ago.

Of course, you've been told this probably hundreds of times over the past few years, so I don't know why I even bother anymore...
Xkeeper
Posts: 90
Joined: Fri Feb 29, 2008 10:35 am

Post by Xkeeper »

BMF: I want to hook an NES up to a toilet and make it so you have to beat SMB1 to make it flush, can you help plz
User avatar
Hamtaro126
Posts: 783
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 »

BMF54123 wrote:
Hamtaro126 wrote:@Anyone: And I really like to make a SNES version of Hebereke (The original) in SNES using Super Mario All Stars's ''6502 Emulation'' **engine, But that would require a giant disassembly and remake project. But is very Impossible for me!
What are you talking about? SMAS has no "6502 emulation." The games were rewritten to work with the 65c816 (not a difficult feat, since it's basically the same CPU) and the SNES's PPU/APU. A lot of the original code was left intact, even.

On a side note, you really need to pick one or two reasonable projects and stick with them. You're never going to learn anything or gain anyone's respect if you come here every other day with an insane new project idea, especially when you expect others to do the bulk of the work for you. It got tiresome a long time ago.

Of course, you've been told this probably hundreds of times over the past few years, so I don't know why I even bother anymore...
If I can use your DDP hack(Pass the project on to Me, It will never be finished much if it stays on your Hard Drive until it is lost). and spice it up/Modify it a little to make it similar to the original (The animations, 1ups if possible.)

And after that, I am hacking the final SMB2 to a more SMB3-look.

There is also a Hebereke hack called Hebereke: Dark Edition. Finishing it up after it is translated and released by someone in RHDN, and after the above hacks

-Hamtaro126
User avatar
BMF54123
Posts: 410
Joined: Mon Aug 28, 2006 2:52 am
Contact:

Post by BMF54123 »

I've told you before, I'm not "passing on" the project. If I want it finished, I'll do it myself, the way I see fit. Why must you keep bothering me about this?
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

For enhancing existing NES games, it's probably easiest to hack an emulator to specifically improve one game. But if you just want to develop on a system like the NES, but hate some of the limits you have with the NES, the SNES really is the way to go. The SPC will be an issue for sound, but the rest of it is pretty nice. As Disch said you have lots of RAM, VRAM, faster cpu, better graphics, DMA, etc. Anything you would want to do on NES or just barely couldn't do on NES you can do with SNES.

SNES is probably easier except for the SPC issue. It's a shame because I think the SPC issue is the main reason you don't see more SNES homebrew. It's a better system than the NES for it too thanks to the large amount of Copiers and Flash Cartridges out there. Atleast that's my opinion.
Post Reply