# Martin Korth is back



## corenting (Mar 7, 2012)

Martin Korth, the author of the famous No$GBA emulator is back ! He has released a new Super Nintendo emulator. This emulator is written in assembler. The author claims that this emulator is very accurate and can run on slow computers.




Source

This release is old (24 February) but I think it's good to his return, because he may work on No$GBA again...


----------



## shakirmoledina (Mar 7, 2012)

ah a genius he was working single handedly on an emu that worked really fast
i hope he comes back to do no$


----------



## WiiUBricker (Mar 7, 2012)

Remember guys, it's illegal to share v1.1 since you have to donate if you want it.
I always thought Martin is an epic coder. He simly knows his stuff. I'm sure he could make a good SNES emulator for the DS in no time. Hm.. I think I'll ask him if he has any plans to do this.


----------



## OJClock (Mar 7, 2012)

Coded in assembly?
Damn, that's impressive
Props to Mr. Korth


----------



## corenting (Mar 7, 2012)

WiiBricker said:


> Remember guys, it's illegal to share v1.1 since you have to donate if you want it.
> I always thought Martin is an epic coder. He simly knows his stuff. I'm sure he could make a good SNES emulator for the DS in no time. Hm.. I think I'll ask him if he has any plans to do this.



Yeah I think he is a good coder too. No$GBA is not updated but it's still one of the best emulator... I really hope him to update No$GBA or even release other emulators.


----------



## RupeeClock (Mar 7, 2012)

Wow, he's back? That's fantastic.
I hope he does have an interest in continuing no$gba because it looks to have more potential than Desmume.

I gotta check out this SNES emulator too, very interested to hear that it's both accurate AND friendly on slow-systems. Most likely because it's written in Assembly, that ain't easy.

Edit: It fails the SNES Test Program Electronics test, good emulators should be able to pass it.
But it successfully runs even weird software like Hong Kong 97


----------



## MasterPenguin (Mar 7, 2012)

Am I the only one that feels that this is worthless?


----------



## RupeeClock (Mar 7, 2012)

MasterPenguin said:


> Am I the only one that feels that this is worthless?


This is a lot more significant than you think.


----------



## MasterPenguin (Mar 7, 2012)

RupeeClock said:


> MasterPenguin said:
> 
> 
> > Am I the only one that feels that this is worthless?
> ...



Explain?


----------



## RupeeClock (Mar 7, 2012)

MasterPenguin said:


> Explain?



ZSNES was originally written in x86 Assembly code, with reprogramming C and C++.
Snes9X is programmed in C++
They are high-level emulators.

BSNES is also written in C++ but it is a low-level emulator, which means it emulates the machine much more closely to its internal design instead of attempting to recreate the response from the machine.

no$sns is written 100% in Assembly however, meaning that it works specifically for the machine it is written for, in this case Windows.
Assembly being a low-level programming language means it is "close to the hardware" making it able to use the hardware much more effectively than C++ which uses high-level and low-level programming.

In a nutshell, no$sns being written in Assembly means it has very low system requirements.
Martin Korth states that "on 1GHz computers, most games can run 5-10 times faster as on real hardware"

I'm gonna go test some framerates quick, just uncap the framerate on the same ROM and see how it goes.



> System: Core2Duo [email protected] - ATI HD4850
> ROM tested - Mega Man 7 (E)
> How tested: Idle on title screen, frameskip uncapped
> no$sns - Approx 1750% - 2200% fullspeed on intro, 1380% during rain on demo in Cloudman's stage
> ...



...I can't actually get any info out of these emulators, dang.


----------



## MasterPenguin (Mar 7, 2012)

But that still, is relatively worthless.

Emulator for "slower" computers -> ZSNES. Covered that base.
Emulators for "faster" computers -> Snes9X. Covered that base.
Emulator for "perfect" emulation -> BSNES. Covered that base.

I've used the terms loosely for obvious reasons. From what I see, it's goals are to be bsnes but faster. For any average user, that's pretty much worthless. All games are already covered, whether its actually emulated perfectly or not. There's nothing new being added to the ballpark.


----------



## Rydian (Mar 7, 2012)

Other than higher-than-ZSNES-compatibility-on-a-netbook, I also have to question the significance of this.  Yes it's more accurate than ZSNES, but so is SNES9x.  Yes SNES9x has higher system requirements than ZSNES, but considering it runs on phones and even the PSP, any modern computer can run it full speed.  Yes it's got lower requirements than BSNES, but even BSNES's requirements aren't unreasonable, unless you're on a netbook... but this has less compatibility than BSNES.


----------



## corenting (Mar 7, 2012)

Yeah it's may not be useful, but it's still cool to see a good "Nintendo-friendly" coder back


----------



## Rydian (Mar 7, 2012)

Oh yeah I'm not saying this is a bad thing by far, I'm just noting it's quite unlikely to carve out any sort of niche.  I mean, the fact that it's in assembly kills off it's porting chances so it's already limited to the PC, and ZSNES/SNES9x/BSNES have already covered to various groups there.


----------



## MasterPenguin (Mar 7, 2012)

Rydian said:


> Oh yeah I'm not saying this is a bad thing by far, I'm just noting it's quite unlikely to carve out any sort of niche.  I mean, the fact that it's in assembly kills off it's porting chances so it's already limited to the PC, and ZSNES/SNES9x/BSNES have already covered to various groups there.



Pretty much what I'm getting at, and your previous post.


----------



## WiiUBricker (Mar 7, 2012)

Not sure but do the other emulators have a debug feature like no$sns?


----------



## Rydian (Mar 7, 2012)

BSNES's debugger is laevateinn... so I don't think I have to speak for it's accuracy.

EDIT: That is to say, "laevateinn" is the name of the debugger, which is a separate download on the site.
http://byuu.org/bsnes/
http://code.google.com/p/bsnes/downloads/list


----------



## DiscostewSM (Mar 7, 2012)

As cool as this is, I don't see any reason to use it over some of the other emulators, both in terms of just playing games or testing homebrew. Had this been years ago, it would be one thing, but computers right now are fast enough that the need for low requirements isn't there. It would be nice for something like the Raspberri Pi, but that isn't running Windows, which NO$SNS requires. As far as homebrew, there is some interest in programming for the SNES, but what could I do there that I can't already do for the GBA?


----------



## Rydian (Mar 7, 2012)

Well there's other reasons for coding an emulator, such as to learn more about the systems involved, and having another debugger to mess around with is probably nice.


----------



## Hyro-Sama (Mar 7, 2012)

I can't even get No$GBA to run any games. What's so good about this new emu?


----------



## RupeeClock (Mar 8, 2012)

Rydian said:


> Well there's other reasons for coding an emulator, such as to learn more about the systems involved, and having another debugger to mess around with is probably nice.


Yeah, coding a SNES emulator as such in Assembly is quite significant! Of worth, may be another thing to discuss
All this only happened whilst BSNES just hit 100% compatibility with the SNES library however.


----------



## ShinyLatios (Mar 8, 2012)

Hyro-Sama said:


> I can't even get No$GBA to run any games. What's so good about this new emu?


its literally drag and drop installation, place some games in a folder and play. how are you unable to play No$Gba =.=

Better play around with this as well, I like debuggers


----------



## Coto (Mar 8, 2012)

My childhood hero! haha

This guy knows a lot, and I expect someday to see this emu ported to lower-end machines. NDS, PSP and Ipods-. Also, the merit this guy has, is to have completely (and working) different systems developed on nomadic language, and that's hard to do. So yeah, good to see you back MK.


----------



## RupeeClock (Mar 8, 2012)

Coto said:


> My childhood hero! haha
> 
> This guy knows a lot, and I expect someday to see this emu ported to lower-end machines. NDS, PSP and Ipods-. Also, the merit this guy has, is to have completely (and working) different systems developed on nomadic language, and that's hard to do. So yeah, good to see you back MK.


That being said, this emulator CAN'T be ported because it works by using Assembly code, it will only work on Windows OS, ever.
If he were to produce such an emulator for NDS, PSP and iPods he would have to do it from scratch, and I doubt that he would.

Thinking about it, even if you did succeed in developing a High-level SNES emulator for the NDS in its equivalent of Assembly code, it might not perform that well.
There are issues such as the NDS vertical resolution being lower than the SNES vertical resolution as well as the general lack of processing power, the DS has a measly 67Mhz ARM processor compared to a desktop with a 1GHz processor.
Although the SNES processor is only 3.58Mhz itself, maybe 67Mhz actually IS enough? Doubt it however.


----------



## Coto (Mar 8, 2012)

Uhm... yes and no. If you were to know the target's arquitecture, being registers, memory maps, opcodes, etc you *could* do it. Luckily ASM has some "standard" instructions (mnemonics..) which re-used by a good coder, it could be "ported", not as easily as C, but once you got it working the base code should be working on the other place too.

I bet Martin Korth figured out this long ago..


----------



## the_randomizer (Mar 8, 2012)

Converting ASM code into code understood by an ARM7/9 CPU would be a pain in the butt to be sure. If only Snes9x could be ported to the DS, I'd be one happy camper, but I'm not gonna hold my breath.


----------



## Rydian (Mar 8, 2012)

Coto said:


> Uhm... yes and no. If you were to know the target's arquitecture, being registers, memory maps, opcodes, etc you *could* do it. Luckily ASM has some &quot;standard&quot; instructions (mnemonics..) which re-used by a good coder, it could be &quot;ported&quot;, not as easily as C, but once you got it working the base code should be working on the other place too.
> 
> I bet Martin Korth figured out this long ago..


He'd be manually rewriting a bulk of it.  That's not "port" territory, that's "another emulator" territory.


----------

