What's new

Nes

mudlord

Banned
I think the biggest problem for the experienced people is finding TIME!

Exactly.

I hate not having time to do things, but once I do, I just stick there till its done :p . Thats the issue with me: I can be a major code junkie sometimes. Like with my emulator. I wanted to code something new. So, I sat down, wrote up some Win32 and OGL code, mixed with some DirectInput and SDL, and viola.

Same thing with Rice Video and VBA-M: I wanted to code something and now look :p.

Still, I need to add my config system before its done, but its mostly usuable. Not bad for the EXE size being under 70KB :p
 

TRS

Member
Hi all,

This thread made me start a NES-emulator! I was thinking of programming an emulator for a long (and I mean a very long) time but never got to it. (guess I was afraid of starting).

Anyway, I'm using C#, .NET 3.5. I know this is not the platform to achieve maximum speed but I figured emulating a CPU running @~1.8MHz this should not be a problem.

Right now I have 192 out of 256 opcodes implemented (including illegal opcodes).

I did read somewhere that illegal opcodes should not be emulated as those opcodes only exist because of bad contacts during dumping the cartridge. Can anyone confirm this?

I just wanted to do it as accurate as possible so that's why I am implementing the opcodes.

Tnx & greetings,

TRS
 

Exophase

Emulator Developer
I did read somewhere that illegal opcodes should not be emulated as those opcodes only exist because of bad contacts during dumping the cartridge. Can anyone confirm this?

These instructions do exist on the CPU, a good number of them are genuinely safe and useful, and they are in fact used in games. They just weren't documented by the vendor and probably weren't done deliberately. Later revisions of 6502 do remove them though.
 

mudlord

Banned
and here is the emu i was working on:
http://vba-m.ngemu.com/personalpage/downloads/munes_final.zip

Props go to NerveGas for the highly portable core.

I am waiting to hear death threats on how inaccurate emulators are the spawn of Satan. I know some vocal people will yell at me over it. Frankly, I don't care. Yell at me all you want that I lost the plot. My plan wasn't cycle accuracy: just size and speed. Sorry about the bottleneck with converting 16-bit to 24-bit RGB colour and rendering to a texture....
 

AamirM

New member
Hi,

Great work mudlord. Got a feature request though. Can you add an option to run the emulator as fast as it can (fast forward, turbo mode etc..)?

stay safe,

AamirM
 

hap

New member
Fast forward is a useful feature, but only at a fixed speed, like *4. The download link only works for retroemu.com members btw.
 

I.S.T.

New member
and here is the emu i was working on:
http://vba-m.ngemu.com/personalpage/downloads/munes_final.zip

Props go to NerveGas for the highly portable core.

I am waiting to hear death threats on how inaccurate emulators are the spawn of Satan. I know some vocal people will yell at me over it. Frankly, I don't care. Yell at me all you want that I lost the plot. My plan wasn't cycle accuracy: just size and speed. Sorry about the bottleneck with converting 16-bit to 24-bit RGB colour and rendering to a texture....

Hey, as long as it gets sound right(Something most emulators no matter what they emulate don't do. :(), you won't hear any complaints from me. ;)
 

mudlord

Banned
Seth, there is no badware in it.

You are looking at a false positive there.

If any one has a better compressor than ANDpakk2, I would love to hear it :). UPX doesn't compress that well...
 

smcd

Active member
I trust ya man, I was just pointing it out. :) For 64k style exe, maybe look at dwing's upack? It would likely compress to around the same size as andpakk2, and it unpacks a wee bit faster too
 
Last edited:

synch

New member
Seth, there is no badware in it.

You are looking at a false positive there.

If any one has a better compressor than ANDpakk2, I would love to hear it :). UPX doesn't compress that well...

ANDpakk2 and kkrunchy are the two top ones, that I know of.
 

mudlord

Banned
kkrunchy changes the exe ImageBase, which isn't good for Win9x compatibility.

Though, I uploaded the final compo version of the emu at RetroEmu.com. So you need to head there to download it.....
 

synch

New member
kkrunchy changes the exe ImageBase, which isn't good for Win9x compatibility.

Though, I uploaded the final compo version of the emu at RetroEmu.com. So you need to head there to download it.....

You can bypass that limitation. There's a proper explanation on the kkrunchy official webpage.
 

TRS

Member
Hi all,

Not sure if there's anyone left who cares, but I posted long time ago I was starting a NES emulator. Well, since I don't have a lot of spare time, progress was very slow but now it has developped into a working emulator.

I programmed the emulator as low level as I could, the goal was never to achieve maximum speed, but merely a test of my own technical skills. Trying to understand what is going on inside the NES and to translate it to program code.

To illustrate: The CPU core executes on cycle basis. I've split up each opcode into individual chunks of what I think is done in one clock-pulse. So to execute an opcode which normally takes 5 clock-cycles, the CPU-core is called 5 times.

Of course this isn't the fastest way to emulate, but hey, the NES isn't that fast and even using this approach (the PPU is emulated the same way) I can achieve reasonable framerates.

I've programmed in C# (.NET 3.5) and use XNA3.0 for graphics.

My todo-list is still long:
  • Save/load states
  • Sound
  • More mappers (Only mapper 0-3 are implemented)
  • Configureable controls
  • Better UI (was/is least important, just there to ease testing)
  • Better framerate calculation
  • ....

Some screens (framerates are very low due to running the emulator in a virtual machine with hardware 3D support on a laptop with poor 3D hardware):
zelda.jpg
zelda2n.jpg

walldemo.jpg
metalgeard.jpg

megamano.jpg
egyptz.jpg

castlevania.jpg
castlevania2.jpg

athleticworld.jpg
adventuresofdinoriki.jpg

adventuresofdinoriki2.jpg
 

smcd

Active member
Looks pretty cool! Maybe someday I'll get unlazy and finish chip-8 and do a NES or GB emulator :p
 

Cyberman

Moderator
Moderator
Not bad. The NES is the most complicated of these (my view).
Now it might be cool to make a GBA GB (not color) emulator LOL.
You probably could pack 100+ gb games in a single GBA cartridge LOL.
(using compression since you have 256K of WRAM and 32K IRAM).
 

Aphex123

New member
Hey, this is a great thread and has helped me alot. Here is small contribution to Nes emu authors.

Here's a compilation of 9 different palettes :)
Code:
u8 nes_Ntsc_Palette[9][64*3] =
{
	// Palette from FCEU (Released under the GNU General Public License)
    0x74,0x74,0x74, 0x24,0x18,0x8C, 0x00,0x00,0xA8, 0x44,0x00,0x9C, 
    0x8C,0x00,0x74, 0xA8,0x00,0x10, 0xA4,0x00,0x00, 0x7C,0x08,0x00, 
    0x40,0x2C,0x00, 0x00,0x44,0x00, 0x00,0x50,0x00, 0x00,0x3C,0x14, 
    0x18,0x3C,0x5C, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
    0xBC,0xBC,0xBC, 0x00,0x70,0xEC, 0x20,0x38,0xEC, 0x80,0x00,0xF0, 
    0xBC,0x00,0xBC, 0xE4,0x00,0x58, 0xD8,0x28,0x00, 0xC8,0x4C,0x0C, 
    0x88,0x70,0x00, 0x00,0x94,0x00, 0x00,0xA8,0x00, 0x00,0x90,0x38, 
    0x00,0x80,0x88, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
    0xFC,0xFC,0xFC, 0x3C,0xBC,0xFC, 0x5C,0x94,0xFC, 0x40,0x88,0xFC,
    0xF4,0x78,0xFC, 0xFC,0x74,0xB4, 0xFC,0x74,0x60, 0xFC,0x98,0x38,
    0xF0,0xBC,0x3C, 0x80,0xD0,0x10, 0x4C,0xD7,0x48, 0x58,0xF8,0x98, 
    0x00,0xE8,0xD8, 0x78,0x78,0x78, 0x00,0x00,0x00, 0x00,0x00,0x00,
    0xFC,0xFC,0xFC, 0xA8,0xE4,0xFC, 0xC4,0xD4,0xFC, 0xD4,0xC8,0xFC,
    0xFC,0xC4,0xFC, 0xFC,0xC4,0xD8, 0xFC,0xBC,0xB0, 0xFC,0xD8,0xA8,
    0xFC,0xE4,0xA0, 0xE0,0xFC,0xA0, 0xA8,0xF0,0xBC, 0xB0,0xFC,0xCC, 
    0x9C,0xFC,0xF0, 0xC4,0xC4,0xC4, 0x00,0x00,0x00, 0x00,0x00,0x00,

	// Palette by AspiringSquire
	0x60,0x60,0x60, 0x00,0x21,0x7b, 0x00,0x00,0x9c, 0x31,0x00,0x8b,
	0x59,0x00,0x6f, 0x6f,0x00,0x31, 0x64,0x00,0x00, 0x4f,0x11,0x00,
	0x2f,0x19,0x00, 0x27,0x29,0x00, 0x00,0x44,0x00, 0x00,0x39,0x37,
	0x00,0x39,0x4f, 0x00,0x00,0x00, 0x0c,0x0c,0x0c, 0x0c,0x0c,0x0c,
	0xae,0xae,0xae, 0x10,0x56,0xce, 0x1b,0x2c,0xff, 0x60,0x20,0xec,
	0xa9,0x00,0xbf, 0xca,0x16,0x54, 0xca,0x1a,0x08, 0x9e,0x3a,0x04,
	0x67,0x51,0x00, 0x43,0x61,0x00, 0x00,0x7c,0x00, 0x00,0x71,0x53,
	0x00,0x71,0x87, 0x0c,0x0c,0x0c, 0x0c,0x0c,0x0c, 0x0c,0x0c,0x0c,
	0xff,0xff,0xff, 0x44,0x9e,0xfe, 0x5c,0x6c,0xff, 0x99,0x66,0xff,
	0xd7,0x60,0xff, 0xff,0x62,0x95, 0xff,0x64,0x53, 0xf4,0x94,0x30,
	0xc2,0xac,0x00, 0x90,0xc4,0x14, 0x52,0xd2,0x28, 0x20,0xc6,0x92,
	0x18,0xba,0xd2, 0x4c,0x4c,0x4c, 0x0c,0x0c,0x0c, 0x0c,0x0c,0x0c,
	0xff,0xff,0xff, 0xa3,0xcc,0xff, 0xa4,0xb4,0xff, 0xc1,0xb6,0xff,
	0xe0,0xb7,0xff, 0xff,0xc0,0xc5, 0xff,0xbc,0xab, 0xff,0xd0,0x9f,
	0xfc,0xe0,0x90, 0xe2,0xea,0x98, 0xca,0xf2,0xa0, 0xa0,0xea,0xe2,
	0xa0,0xe2,0xfa, 0xb6,0xb6,0xb6, 0x0c,0x0c,0x0c, 0x0c,0x0c,0x0c,

	// Palette by BMF54123
	0x68,0x68,0x68, 0x00,0x12,0x99, 0x1a,0x08,0xaa, 0x51,0x02,0x9a,
	0x7e,0x00,0x69, 0x8e,0x00,0x1c, 0x7e,0x03,0x01, 0x51,0x18,0x00,
	0x1f,0x37,0x00, 0x01,0x4e,0x00, 0x00,0x5a,0x00, 0x00,0x50,0x1c,
	0x00,0x40,0x61, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xb9,0xb9,0xb9, 0x0c,0x5c,0xd7, 0x50,0x35,0xf0, 0x89,0x19,0xe0,
	0xbb,0x0c,0xb3, 0xce,0x0c,0x61, 0xc0,0x2b,0x0e, 0x95,0x4d,0x01,
	0x61,0x6f,0x00, 0x1f,0x8b,0x00, 0x01,0x98,0x0c, 0x00,0x93,0x4b,
	0x00,0x81,0x9b, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xff,0xff,0xff, 0x63,0xb4,0xff, 0x9b,0x91,0xff, 0xd3,0x77,0xff,
	0xef,0x6a,0xff, 0xf9,0x68,0xc0, 0xf9,0x7d,0x6c, 0xed,0x9b,0x2d,
	0xbd,0xbd,0x16, 0x7c,0xda,0x1c, 0x4b,0xe8,0x47, 0x35,0xe5,0x91,
	0x3f,0xd9,0xdd, 0x60,0x60,0x60, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xff,0xff,0xff, 0xac,0xe7,0xff, 0xd5,0xcd,0xff, 0xed,0xba,0xff,
	0xf8,0xb0,0xff, 0xfe,0xb0,0xec, 0xfd,0xbd,0xb5, 0xf9,0xd2,0x8e,
	0xe8,0xeb,0x7c, 0xbb,0xf3,0x82, 0x99,0xf7,0xa2, 0x8a,0xf5,0xd0,
	0x92,0xf4,0xf1, 0xbe,0xbe,0xbe, 0x00,0x00,0x00, 0x00,0x00,0x00,

	// Captured with a TV-Tuner card by BMF (http://bmf.rustedmagick.com) 
	0x52,0x52,0x52, 0x00,0x00,0x80, 0x08,0x00,0x8A, 0x2C,0x00,0x7E,
	0x4A,0x00,0x4E, 0x50,0x00,0x06, 0x44,0x00,0x00, 0x26,0x08,0x00,
	0x0A,0x20,0x00, 0x00,0x2E,0x00, 0x00,0x32,0x00, 0x00,0x26,0x0A,
	0x00,0x1C,0x48, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xA4,0xA4,0xA4, 0x00,0x38,0xCE, 0x34,0x16,0xEC, 0x5E,0x04,0xDC,
	0x8C,0x00,0xB0, 0x9A,0x00,0x4C, 0x90,0x18,0x00, 0x70,0x36,0x00,
	0x4C,0x54,0x00, 0x0E,0x6C,0x00, 0x00,0x74,0x00, 0x00,0x6C,0x2C,
	0x00,0x5E,0x84, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xFF,0xFF,0xFF, 0x4C,0x9C,0xFF, 0x7C,0x78,0xFF, 0xA6,0x64,0xFF,
	0xDA,0x5A,0xFF, 0xF0,0x54,0xC0, 0xF0,0x6A,0x56, 0xD6,0x86,0x10,
	0xBA,0xA4,0x00, 0x76,0xC0,0x00, 0x46,0xCC,0x1A, 0x2E,0xC8,0x66,
	0x34,0xC2,0xBE, 0x3A,0x3A,0x3A, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xFF,0xFF,0xFF, 0xB6,0xDA,0xFF, 0xC8,0xCA,0xFF, 0xDA,0xC2,0xFF,
	0xF0,0xBE,0xFF, 0xFC,0xBC,0xEE, 0xFA,0xC2,0xC0, 0xF2,0xCC,0xA2,
	0xE6,0xDA,0x92, 0xCC,0xE6,0x8E, 0xB8,0xEE,0xA2, 0xAE,0xEA,0xBE,
	0xAE,0xE8,0xE2, 0xB0,0xB0,0xB0, 0x00,0x00,0x00, 0x00,0x00,0x00,

	// Palette by Matthew Conte
    0x80,0x80,0x80, 0x00,0x00,0xBB, 0x37,0x00,0xBF, 0x84,0x00,0xA6,
    0xBB,0x00,0x6A, 0xB7,0x00,0x1E, 0xB3,0x00,0x00, 0x91,0x26,0x00,
    0x7B,0x2B,0x00, 0x00,0x3E,0x00, 0x00,0x48,0x0D, 0x00,0x3C,0x22,
    0x00,0x2F,0x66, 0x00,0x00,0x00, 0x05,0x05,0x05, 0x05,0x05,0x05,
    0xC8,0xC8,0xC8, 0x00,0x59,0xFF, 0x44,0x3C,0xFF, 0xB7,0x33,0xCC,
    0xFF,0x33,0xAA, 0xFF,0x37,0x5E, 0xFF,0x37,0x1A, 0xD5,0x4B,0x00,
    0xC4,0x62,0x00, 0x3C,0x7B,0x00, 0x1E,0x84,0x15, 0x00,0x95,0x66,
    0x00,0x84,0xC4, 0x11,0x11,0x11, 0x09,0x09,0x09, 0x09,0x09,0x09,
    0xFF,0xFF,0xFF, 0x00,0x95,0xFF, 0x6F,0x84,0xFF, 0xD5,0x6F,0xFF,
    0xFF,0x77,0xCC, 0xFF,0x6F,0x99, 0xFF,0x7B,0x59, 0xFF,0x91,0x5F,
    0xFF,0xA2,0x33, 0xA6,0xBF,0x00, 0x51,0xD9,0x6A, 0x4D,0xD5,0xAE,
    0x00,0xD9,0xFF, 0x66,0x66,0x66, 0x0D,0x0D,0x0D, 0x0D,0x0D,0x0D,
    0xFF,0xFF,0xFF, 0x84,0xBF,0xFF, 0xBB,0xBB,0xFF, 0xD0,0xBB,0xFF,
    0xFF,0xBF,0xEA, 0xFF,0xBF,0xCC, 0xFF,0xC4,0xB7, 0xFF,0xCC,0xAE,
    0xFF,0xD9,0xA2, 0xCC,0xE1,0x99, 0xAE,0xEE,0xB7, 0xAA,0xF7,0xEE,
    0xB3,0xEE,0xFF, 0xDD,0xDD,0xDD, 0x11,0x11,0x11, 0x11,0x11,0x11,

	// Palette by Chris Covell
    0x80,0x80,0x80, 0x00,0x3d,0xa6, 0x00,0x12,0xb0, 0x44,0x00,0x96,
	0xa1,0x00,0x5e, 0xc7,0x00,0x28, 0xba,0x06,0x00, 0x8c,0x17,0x00,
	0x5c,0x2f,0x00, 0x10,0x45,0x00, 0x05,0x4a,0x00, 0x00,0x47,0x2e,
	0x00,0x41,0x66, 0x00,0x00,0x00, 0x05,0x05,0x05, 0x05,0x05,0x05,
	0xc7,0xc7,0xc7, 0x00,0x77,0xff, 0x21,0x55,0xff, 0x82,0x37,0xfa,
	0xeb,0x2f,0xb5, 0xff,0x29,0x50, 0xff,0x22,0x00, 0xd6,0x32,0x00,
	0xc4,0x62,0x00, 0x35,0x80,0x00, 0x05,0x8f,0x00, 0x00,0x8a,0x55,
	0x00,0x99,0xcc, 0x21,0x21,0x21, 0x09,0x09,0x09, 0x09,0x09,0x09,
	0xff,0xff,0xff, 0x0f,0xd7,0xff, 0x69,0xa2,0xff, 0xd4,0x80,0xff,
	0xff,0x45,0xf3, 0xff,0x61,0x8b, 0xff,0x88,0x33, 0xff,0x9c,0x12,
	0xfa,0xbc,0x20, 0x9f,0xe3,0x0e, 0x2b,0xf0,0x35, 0x0c,0xf0,0xa4,
	0x05,0xfb,0xff, 0x5e,0x5e,0x5e, 0x0d,0x0d,0x0d, 0x0d,0x0d,0x0d,
	0xff,0xff,0xff, 0xa6,0xfc,0xff, 0xb3,0xec,0xff, 0xda,0xab,0xeb,
	0xff,0xa8,0xf9, 0xff,0xab,0xb3, 0xff,0xd2,0xb0, 0xff,0xef,0xa6,
	0xff,0xf7,0x9c, 0xd7,0xe8,0x95, 0xa6,0xed,0xaf, 0xa2,0xf2,0xda,
	0x99,0xff,0xfc, 0xdd,0xdd,0xdd, 0x11,0x11,0x11, 0x11,0x11,0x11,

	// Palette by loopy
	0x75,0x75,0x75, 0x27,0x1b,0x8f, 0x00,0x00,0xab, 0x47,0x00,0x9f,
	0x8f,0x00,0x77, 0xab,0x00,0x13, 0xa7,0x00,0x00, 0x7f,0x0b,0x00,
	0x43,0x2f,0x00, 0x00,0x47,0x00, 0x00,0x51,0x00, 0x00,0x3f,0x17,
	0x1b,0x3f,0x5f, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xbc,0xbc,0xbc, 0x00,0x73,0xef, 0x23,0x3b,0xef, 0x83,0x00,0xf3,
	0xbf,0x00,0xbf, 0xe7,0x00,0x5b, 0xdb,0x2b,0x00, 0xcb,0x4f,0x0f,
	0x8b,0x73,0x00, 0x00,0x97,0x00, 0x00,0xab,0x00, 0x00,0x93,0x3b,
	0x00,0x83,0x8b, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xff,0xff,0xff, 0x3f,0xbf,0xff, 0x5f,0x97,0xff, 0xa7,0x8b,0xfd,
	0xf7,0x7b,0xff, 0xff,0x77,0xb7, 0xff,0x77,0x63, 0xff,0x9b,0x3b,
	0xf3,0xbf,0x3f, 0x83,0xd3,0x13, 0x4f,0xdf,0x4b, 0x58,0xf8,0x98,
	0x00,0xeb,0xdb, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xff,0xff,0xff, 0xab,0xe7,0xff, 0xc7,0xd7,0xff, 0xd7,0xcb,0xff,
	0xff,0xc7,0xff, 0xff,0xc7,0xdb, 0xff,0xbf,0xb3, 0xff,0xdb,0xab,
	0xff,0xe7,0xa3, 0xe3,0xff,0xa3, 0xab,0xf3,0xbf, 0xb3,0xff,0xcf,
	0x9f,0xff,0xf3, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,

	// Palette by Sardu 
	0x7f,0x7f,0x7f, 0x00,0x00,0xff, 0x00,0x00,0xbf, 0x47,0x2b,0xbf,
	0x97,0x00,0x87, 0xab,0x00,0x23, 0xab,0x13,0x00, 0x8b,0x17,0x00,
	0x53,0x30,0x00, 0x00,0x78,0x00, 0x00,0x6b,0x00, 0x00,0x5b,0x00,
	0x00,0x43,0x58, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xbf,0xbf,0xbf, 0x00,0x78,0xf8, 0x00,0x58,0xf8, 0x6b,0x47,0xff,
	0xdb,0x00,0xcd, 0xe7,0x00,0x5b, 0xf8,0x38,0x00, 0xe7,0x5f,0x13,
	0xaf,0x7f,0x00, 0x00,0xb8,0x00, 0x00,0xab,0x00, 0x00,0xab,0x47,
	0x00,0x8b,0x8b, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xf8,0xf8,0xf8, 0x3f,0xbf,0xff, 0x6b,0x88,0xff, 0x98,0x78,0xf8,
	0xf8,0x78,0xf8, 0xf8,0x58,0x98, 0xf8,0x78,0x58, 0xff,0xa3,0x47,
	0xf8,0xb8,0x00, 0xb8,0xf8,0x18, 0x5b,0xdb,0x57, 0x58,0xf8,0x98,
	0x00,0xeb,0xdb, 0x78,0x78,0x78, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xff,0xff,0xff, 0xa7,0xe7,0xff, 0xb8,0xb8,0xf8, 0xd8,0xb8,0xf8,
	0xf8,0xb8,0xf8, 0xfb,0xa7,0xc3, 0xf0,0xd0,0xb0, 0xff,0xe3,0xab,
	0xfb,0xdb,0x7b, 0xd8,0xf8,0x78, 0xb8,0xf8,0xb8, 0xb8,0xf8,0xd8,
	0x00,0xff,0xff, 0xf8,0xd8,0xf8, 0x00,0x00,0x00, 0x00,0x00,0x00,


	// Palette by RP2C03B 
	0x78,0x78,0x78, 0x00,0x38,0x98, 0x00,0x00,0xd8, 0x78,0x58,0xd8,
	0x98,0x00,0x78, 0xb8,0x00,0x78, 0xb8,0x38,0x00, 0x98,0x58,0x00,
	0x78,0x58,0x00, 0x38,0x58,0x00, 0x00,0x78,0x38, 0x00,0x98,0x00,
	0x00,0x58,0x58, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xb8,0xb8,0xb8, 0x00,0x78,0xd8, 0x00,0x58,0xff, 0x98,0x00,0xff,
	0xb8,0x00,0xff, 0xff,0x00,0x98, 0xff,0x00,0x00, 0xd8,0x78,0x00,
	0x98,0x78,0x00, 0x38,0x98,0x00, 0x00,0x98,0x00, 0x00,0xb8,0x78,
	0x00,0x98,0x98, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xff,0xff,0xff, 0x78,0xb8,0xff, 0x98,0x98,0xff, 0xd8,0x78,0xff,
	0xff,0x00,0xff, 0xff,0x78,0xff, 0xff,0x98,0x00, 0xff,0xb8,0x00,
	0xd8,0xd8,0x00, 0x78,0xd8,0x00, 0x00,0xff,0x00, 0x58,0xff,0xd8,
	0x00,0xff,0xff, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
	0xff,0xff,0xff, 0xb8,0xd8,0xff, 0xd8,0xb8,0xff, 0xff,0xb8,0xff,
	0xff,0x98,0xff, 0xff,0xb8,0xb8, 0xff,0xd8,0x98, 0xff,0xff,0x58,
	0xff,0xff,0x78, 0xb8,0xff,0x58, 0x98,0xff,0x78, 0x58,0xff,0xd8,
	0x98,0xd8,0xff, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
};

\:D/
 

Top