EDIT: sorry, i had broken the moarnes directory on my server for a few hours today. images and download link should work again now.
hi, all. thought i'd make a post about a project i was working pretty heavily on a couple months ago. it's basically on hold indefinitely, as ive gotted more interested in my OS project and my x86 PC emulator. (i have ADD. bad.) thought i'd post it up anyway in case anybody wanted to waste a few minutes playing some great old games.
i took on writing a NES emulator as my first try writing any sort of emulator. it's not perfect at all, but it plays many games very well. the sound engine needs some work, but many games sound pretty decent. most games with the following mapper number work, some not as well as others: 0, 1, 2, 3, 4, 7, 9, 13, and 66.
here are a handful of screenshots:
here is a download link with a win32 binary and sdl.dll. (works even back on win95 and NT4 boxes) http://24.107.65.240/moarnes/moarnes-0.10.28.10.zip
it compiles in linux and runs on most systems, but there is a bug where some machines (mostly 64-bit, so probably a data type size issue) segfault on the program's audio subsystem somewhere. if anybody on linux does want to try, i can post a binary for that too, just ask.
controls are not customizable, but they are:
arrow keys
Z = B button
X = A button
enter = start
right shift = select
F = toggle fullscreen on/off
esc = exit the emulator
start playing something by simply specifying the the NES ROM on the command line, like: moarnes.exe megaman2.nes
or of course, you can do what i do and just associate .nes files with the exe in windows.
you can also put -gg followed by a game genie code after the file name, as many codes as you want, each with it's own -gg in front.
dont expect the next Nestopia, but i do most of my NES emu playing with it so it's generally quite playable.
want to test my NES emulator?
want to test my NES emulator?
Last edited by miker00lz on Thu Dec 23, 2010 2:38 am, edited 1 time in total.
Re: want to test my NES emulator?
What palette are you using? Rescue Rangers looks weird. Maybe you could check Nintendulator source to see how it does the hue/brightness for NTSC. How are you implementing the color emphasis?
EDIT (now that I tried it briefly): Not bad, the bad dump of SMB1 would seem to indicate either scrolling problem or an issue with sprite zero hit timing causing the status bar flicker. I'll say it definitely runs much faster than what I came up with the first time I wrote an emulator.
EDIT (now that I tried it briefly): Not bad, the bad dump of SMB1 would seem to indicate either scrolling problem or an issue with sprite zero hit timing causing the status bar flicker. I'll say it definitely runs much faster than what I came up with the first time I wrote an emulator.
Re: want to test my NES emulator?
thanks. can't remember exactly which palette i used by name, but it was one of the palettes on nesdev.parodius.com but this is from my source:Hangin10 wrote:What palette are you using? Rescue Rangers looks weird. Maybe you could check Nintendulator source to see how it does the hue/brightness for NTSC. How are you implementing the color emphasis?
EDIT (now that I tried it briefly): Not bad, the bad dump of SMB1 would seem to indicate either scrolling problem or an issue with sprite zero hit timing causing the status bar flicker. I'll say it definitely runs much faster than what I came up with the first time I wrote an emulator.
Code: Select all
const unsigned long paletteNES[64] = {
0x808080, 0x0000BB, 0x3700BF, 0x8400A6,
0xBB006A, 0xB7001E, 0xB30000, 0x912600,
0x7B2B00, 0x003E00, 0x00480D, 0x003C22,
0x002F66, 0x000000, 0x050505, 0x050505,
0xC8C8C8, 0x0059FF, 0x443CFF, 0xB733CC,
0xFF33AA, 0xFF375E, 0xFF371A, 0xD54B00,
0xC46200, 0x3C7B00, 0x1E8415, 0x009566,
0x0084C4, 0x111111, 0x090909, 0x090909,
0xFFFFFF, 0x0095FF, 0x6F84FF, 0xD56FFF,
0xFF77CC, 0xFF6F99, 0xFF7B59, 0xFF915F,
0xFFA233, 0xA6BF00, 0x51D96A, 0x4DD5AE,
0x00D9FF, 0x666666, 0x0D0D0D, 0x0D0D0D,
0xFFFFFF, 0x84BFFF, 0xBBBBFF, 0xD0BBFF,
0xFFBFEA, 0xFFBFCC, 0xFFC4B7, 0xFFCCAE,
0xFFD9A2, 0xCCE199, 0xAEEEB7, 0xAAF7EE,
0xB3EEFF, 0xDDDDDD, 0x111111, 0x111111};
as far as the speed, it was really really bad until i rewrote the PPU engine.
i am able to play full speed on a 500 MHz pentium 3, but it starts getting choppy on anything slower than that.