Lameboy DS 0.9

Here it comes. Not as many fixes as I expected to put in this release, but did not want to delay it any longer. There is no change to sound core so don’t expect any improvement there.

Remember what I said about no hardware bilinear upscaling in NDS in the last note? Actually I was wrong – you can get it with some simple tricks. So now you can toggle between no scaling / nearest neighbour / bilinear with Y button.

Lamboy DS 0.9


  • fixed: joypad register emulation (fixes Wario Blast)
  • fixed: GBC hdma (fixes Pokemon Crystal graphics)
  • fixed: interrupt flags emulation (fixes Bouble Bobble)
  • fixed: V-blank interrupt timing (fixes Altered Space)
  • fixed: split window emulation (fixes Donkey Kong graphics)
  • fixed: GB timer initialization (fixes Pokemon Pinball)
  • added: fake serial interrupts (fixes many early games)
  • added: RTC emulation
  • added: pseudo bilinear upscaling mode

RTC feature needs more explanation. I tested it with only one game – Pokemon Crystal, so it can be considered beta. The emulated time is always synchronized to NDS RTC and not affected by fast mode. It’s the same behaviour as in VBA and opposite to GNUBoy’s. Also save style is compatible to VBA, with one issue: I think there is no way to check time zone in NDS (as it is not set) so I fixed it to +2h. If your timezone is different you will get timeshift between Lameboy and VBA.

65 replies on “Lameboy DS 0.9”

From the few minutes of testing, both Pokemon Crystal and Pinball seem to be working near perfectly, though I haven’t tested for a long period of time yet. Keep up the great work!

All the games I tried work fine apart from Pokemon Diamond, which is a non-official game boy color game. It gives the error, “sound overflow”. It only works with the non-sound versions of lameboy.

For info on the game, see:

Anyways… Thanks a lot, really appreciate your hard work!

ps, the new scaling options are very good. =)

Hot damn! The new scaling is awesome, and looks much better than I think my method of fake bilinear would have…

I’m curious, how did you end up implementing it?

This is a fantastic update, I love the improved scaling and higher game compatibility. πŸ˜€

I’ve recently enjoyed playing Wario Land 1 to 3, Tetris Dx and a little bit of some other titles, and I’ve been very thankful for that.

I hope you appreciate the donation I’ve sent you, you deserve it for this fantastic emulator. πŸ˜‰

It would be nice to see a GUI in the future, good luck!

The scaling is much better now. πŸ˜€ And w00t for Wario Blast working! I’ll need to get an unhacked clock version of Pokemon Crystal to check out that aspect of the emulator.

This is nitpicking but… In Pokemon Pinball, after you select a version, you see a square of gibberish before it turns normal. This doesn’t make it crash or anything and the game’s playable now. Just… Telling you it’s there. πŸ˜› But everything’s working so it’s nothing to get hung up on! πŸ˜€

Nutki, once again: You’re an NDS programming god! πŸ˜€

I just tried out Pinball Fantasies (don’t ask me why, it seemed to be be interesting and I’m into Pinball) and it just went crazy. It started doing alot of strange noises, graphics would fix and unfix itself. After a while, the emu would display something about reset and the game would turn white. O_O

Not that this game appeals to anyone and it didn’t seem like it was going to be good anyway… But still, a bug report’s a bug report…

I checked almost every day to see if there would be a update for Lameboy! And now one day before my birthday itÒ€ℒs released! πŸ˜€ Talking about a great Birthday gift!

Nutki, once again you did a awesome job with your Gameboy(color) emulator! The updates are really quick compared to most games and applications. And every update has nice improvements or new things added. Keep on rocking man!

After years of being unalbe to play Pokemon Silver due to the stupid faulty battery, I finally can play again! Wondeful update. The scaling is pretty amazing, as well. Incredible work.

Damn, Amazing Penguin still doesn’t work but gr8 updates either way.

That scaling is amazing. I wonder if a similiar trick can be used for Genesis/SNES emulators for downscaling?

Haven’t tried it yet – but I’d be interested in this pseud-bilinear scaling you’ve implemented. Can you document how/what was done πŸ™‚ I’m sure it’d make for a very interesting read!


You are doing a great job! But… i don’t want to sound bad or anything, are you going to release the source : )?
Oh and if i may add a request : D:
can’t we use the lower screen for preference: like the zoom, the keys config and maybe a toggle for speed instead pressing it all the time ;).
Thank you for this great emulator!

:’ ( i just had to play a whole hour again with pokemon crystal because i pressed l AND accidentally r too… I’m so clumsy :’ D
but this is one of the examples for that we need key configs ;D
just had to tell you

Great Update, thanks! The new upscaling mode looks fantastic!
Fortress of Fear is working now, but there is still some bad flickering going on in Megaman 1. Could you have a look on that?

You mention that you were wrong about there being no bilinear filtering available in the DS hardware – by that, do you imply that it DOES have h/w bilinear filtering? If so is the case, would you please give a short reply here as to how this is achieved? I’m very interested…

Hi! Sorry for my english, I’m from spain.
I find a bug in “Super Mario Land 2” at the pumpkin level. (The most Up and Right Level) The emulator restart when I enter in the pumpkin. A lot thanks for your work!

great emu dude. works well on all the games except that dragonball 2 gb (j) is glitchy as hell

This is great πŸ˜€

I have some feature requests:
1. Ability to turn the backlite of the bottom screen off while playing a GB(C) game.
2. Some kind of (settings) GUI for the bottom screen
3. Ability to switch between GB and GBC emulation.
4. Config file for the buttons.

What do you mean with “fake serial interrupts”?
My assumption is that you mean that an interrupt is trigged when a master mode transfer finishes, even if nothing is on the other side. Assuming that’s what you mean, I don’t think the word fake is accurate though.

You’re amazing! I hope that you then have finished this great project work on a new emulator… Nes & Snes first of all *_*

Sorry for the bad english but i’m an italian guy.

One more bug i’ve found:
In “Kid Dracula” there’s no sound at all. And as in Megaman 1, the Screen flickers a little bit.

My #1 feature request is to be able to map the button layout to Y = B and B = A, snes style. Other than that, great job

Great emulator Nutki, so far its run every game ive tried no problems πŸ˜€ RTC works great too.

Awesomeeeee, now I can finally play Pop’N’Music Animated Melody and Disney Tunes. They wouldn’t load previously.

Hmm.. They work great, altough there is some slowdowns sometimes, which isnt a good thing as those games are RHYTHM games D:

Anyways, AWESOME work dude

Great Emulator !!!

Ahh… Final Fantasy Legend on the DS πŸ™‚ Isn’t life great ? πŸ˜€

I’ve tested a few other games, so here’s a bug report.

Alleyway – Game was previously unplayable, is now fixed. (Paddle was stuck on left side)
Gameboy camera – Does not load, not surprisingly.
Konami GB Collection 1 – Works fine, slower on Castlevania and Probotector by 15-20 FPS
Konami GB Collection 2 – Unplayable, resets infinitely .
Konami GB Collection 3 – Works great, slightly slow on Gutang Gutong
Konami GB Collection 4 – Unplayable, blanks a red screen (resetting lcd line)
Pokémon Silver – Works! Clock actually works!
Wario Blast – Works!

Keep up the good work.

Btw, you may have heard that a DS camera is coming out soon, for a Face Training Game in japan, it’s a Slot-2 Camera for DS Lites.
This is probably far-fetch’d, but I wonder if it would actually be possible, to emulate the GB camera through the official Slot-2 Camera? Haha, that would be killer.

Awesome work on the emulator! I have a few suggestions πŸ˜› Can we get the buttons swapped so that B is Y and A is B? It’s definitely more playable in this configuration on the Lite.

Also, I have a lot of games with the .SGB extention, which I think is just a rom with Super Gameboy features. I don’t expect these features to be supported, but is there any way to have the emulator read them into the list of files as they should load fine without emulating these features?

I’ve also noticed some bugs maybe with the fast forward feature (or maybe not) where games start running choppy even though it’s listing 60 fps. Even if you quit a game and reload it’s still choppy until you exit the program and reload everything.

Thanks again!

All I want is just 1 feature: Button mapping. Zeldas are a pain to play on ndsl. Please allow us to change the x and y to start and select. I would be very happy if you simply released an alternate .9 version that changed x,y to start, select. Thanks and have a nice day.

i have an idea for improvement:
some people prefer to use the Ds’s B Button to emulate the GB’s A button, and the Ds’s Y button to emulate the GB’s B Button…
what about additional control options?

anyway, your emulator is awesome. i have much fun with it. keep it up man!


O_O I hope the Y = B, B = A thing will be an optional thing. I like the old, A = A and B= B thing. D: In fact, the Y = B, B = A thing is what I DIDN’T like about nesDS. D:

@Wrecking Crew – why don’t you just tap the touchscreen to open the NES DS menu and press the “B+A Change” option to switch it to A=A and B=B mode?

Custom controls would probably be a good idea if it’s easy to add such a feature, probably through a config file found either on the root of your card or in (root)\DATA for convenience. Of course, if it’s difficult to add the feature, then the time would be better spent on other improvements.

I have a small request that would likely be easy to fulfil.

Currently, the bottom screen just shows a bunch of debugging information and is not very useful, would it at all be possible to turn off the touch screen during gameplay by touching the screen or pressing the R button? This would be useful for saving battery life.

nesDS already allows you to turn off the bottom screen when not in use.

I was unable to find any real instructions!
So for those of you who need instructions, here they are.


Step 1: Download files needed. (Lameboy.nds on this webpage, dlditool-wn32-gui and the right driver corresponding with your media from of course you will need .gb or .gbc (gameboy or gameboy color) roms.

Step 2: Once downloaded extract everything into a folder. Load dlditool. Load the Max Media Dock (Compact Flash) driver as the DLDI File. Then browse for the lameboy.nds binary file. Click patch, and you’re done.

Step 3: Make sure your Compact flash card is formatted and defragmened. Copy lameboy.nds and roms to cf card.

Step 4 (IMPORTANT): You must rename lameboy.nds to bootme.nds on your cf card.

Step 5: Just load Max Media Player with the dock and card inserted. You should get a dos type screen. After that, you can scroll down or up to play roms in the list.

Um, the ReadMe file does have directions, ya know:

== Installation ==
– patch lameboy.nds file with proper flash driver (unless your card firmware
does it for you), see for details
– copy patched lameboy.nds to your flash device
– copy roms to any folder on the flash (default is “lameboy”)

Granted, apparently you must rename it to bootme.nds for the MMD, but otherwise the ReadMe file covers everything else you said.

Max Media Dock owners, if you have an alternative loader set to run as bootme.nds (like DSChannels or DSorganize with the new load.bin) then you can use one of them to run your DS apps. That should neatly work around any problems you have running Lameboy or anything else that otherwise needs to be renamed to bootme.nds to run. I wasn’t actually aware that Lameboy had boot problems with the MMD because I’ve been using DSChannels for so long to run everything.

In any case, I thought it’d be helpful to get this out there for the sake of convenience.

THX, u made me very happy. it runs wonderful (i use a M3 DS Simply with Firmware 1.06).


Dan, you said “@Wrecking Crew – why donÒ€ℒt you just tap the touchscreen to open the NES DS menu and press the Ò€œB+A ChangeÒ€ option to switch it to A=A and B=B mode?”

But I found myself having to do it every time I opened up nesDS. It wouldn’t save the setting for me. :/ So I just stopped using it.

On Top Ranking Tennis you get sound errors when the GB tries to use a sample.

Great piece of software though!

Well done mate

Comments are closed.