Pages: [1] 2   Go Down

Author Topic: Unnamed Gameboy emulator WIP thread  (Read 1889 times)

Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
Unnamed Gameboy emulator WIP thread
« on: April 02, 2009, 04:39:52 pm »
Already having a thread about it at 0x30, now to open one here to gather more impressions, feedback or whatever~



An older build - doesn't boot Puyo Puyo, crashes in Kirby's Block Ball, no window emulation (Zelda status bar and menu) - is available here: http://magicstone.de/dzd/random/gbemu/new/scr2703-2/GBME_2703-bram.rar (newer Windows build, and maybe a newer experimental DS build coming later)

There's still a host of glitches, crashes and such - counters in ex. Tetris broken, can't interact with many people/enemies from any side besides the left in Zelda LA, Pokemon Green, Red and Blue (JPN) hang up in multiple places in the intro (Gamefreak logo, fight animation, title screen), no enemies or other objects in all Mario Land games, plus broken scrolling in SML 1 and broken scrolling and engine problems in SML 3, logic in Tetris Attack is broken so that blocks neither fall nor are cleared, Tetris DX registers a game over once just one block has been placed, etc., etc. - but I guess I'm getting there. Gotta keep referencing the docs, other emulator's sources, Emutalk's Gameboy emulator programming thread and the like, I guess...
cu xdaniel


Offline Nova

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Unnamed Gameboy emulator WIP thread
« Reply #1 on: April 02, 2009, 07:23:20 pm »
I've been following this since you started it xdaniel and all I have to say is, nice.
Pffft, signatures are for n00bs.

Offline BK-SNS-BT?

  • Newbie
  • *
  • Posts: 13
  • Gender: Male
  • This was a Triumph!
    • View Profile
Re: Unnamed Gameboy emulator WIP thread
« Reply #2 on: April 03, 2009, 08:16:37 pm »
Epic Win. Good to see you again X. Still in touch with Cooliscool?

<iframe src="http://gamercard.xbox.com/JayEmmAre.card" scrolling="no" frameBorder="0" height="140" width="204">JayEmmAre</iframe>

Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
Re: Unnamed Gameboy emulator WIP thread
« Reply #3 on: April 04, 2009, 10:04:02 am »
Well, he contributed some (actually not really working) code for combiner emulation to OZMAV, but I haven't really heard from him besides that. At least he still seems to be active in N64 hacking in general, seeing how he keeps working on Bottles' Glasses.

As for my emulator, I'll be posting a new Windows build in a few hours or something - added a FPS limiter since it was running insanely fast on my laptop, compared to my desktop PC (for whatever reason - Intel in laptop vs. AMD in PC?), will try to get window resizing working properly as well...
cu xdaniel


Offline BK-SNS-BT?

  • Newbie
  • *
  • Posts: 13
  • Gender: Male
  • This was a Triumph!
    • View Profile
Re: Unnamed Gameboy emulator WIP thread
« Reply #4 on: April 04, 2009, 10:59:50 am »
Well, he contributed some (actually not really working) code for combiner emulation to OZMAV, but I haven't really heard from him besides that. At least he still seems to be active in N64 hacking in general, seeing how he keeps working on Bottles' Glasses.

As for my emulator, I'll be posting a new Windows build in a few hours or something - added a FPS limiter since it was running insanely fast on my laptop, compared to my desktop PC (for whatever reason - Intel in laptop vs. AMD in PC?), will try to get window resizing working properly as well...
Thats odd, the speed thing. I hope to test the new build soon!

<iframe src="http://gamercard.xbox.com/JayEmmAre.card" scrolling="no" frameBorder="0" height="140" width="204">JayEmmAre</iframe>

Offline Nova

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Unnamed Gameboy emulator WIP thread
« Reply #5 on: April 04, 2009, 12:09:33 pm »
I'd like to see some source code of this  ;D
Pffft, signatures are for n00bs.

Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
Re: Unnamed Gameboy emulator WIP thread
« Reply #6 on: April 05, 2009, 06:58:35 am »
Binary: http://www.file-upload.net/download-1568547/GBME_0504.rar.html (sorry it's on the next best file hoster I found, can't access my FTP from here)

Source: Why is everyone so fixated on getting the source code? I will release it, but I don't know when. I'm not really seeing the point anymore, since no-one did anything with OZMAV's, for example, besides ZZT "threatening" to fork it.

Anyway, some games are actually playable to an extend, like Zelda LA, Puyo Puyo, Gameboy Wars, Tetris, Kirby's Block Ball, Metroid 2 and some other very early games like Sunsoft Grand Prix or Solomon's Club. Others boot up and work to some point - Puyo Puyo 2, Darkwing Duck, Japanese Pokemon Red, Green and Blue, the Mario Land games, etc. - and again others just hang without explanation or crash on invalid opcodes, like Donkey Kong Land.

Oh, right, almost forgot. If you have a copy of the original Gameboy's boot ROM, put it into your ROM folder, name it "DMG_ROM.bin" and go to "Options" -> "Use DMG bootstrap ROM" in the menu :)
« Last Edit: April 05, 2009, 07:01:02 am by xdaniel »
cu xdaniel


Offline Wareya

  • Full Member
  • ***
  • Posts: 144
  • I'm watching you.
    • View Profile
    • The Aindinium
Re: Unnamed Gameboy emulator WIP thread
« Reply #7 on: April 05, 2009, 12:55:41 pm »
I will release it, but I don't know when. I'm not really seeing the point anymore, since no-one did anything with OZMAV's, for example, besides ZZT "threatening" to fork it.

:(

Offline The Tjalian

  • Full Member
  • ***
  • Posts: 128
  • Gender: Male
    • View Profile
Re: Unnamed Gameboy emulator WIP thread
« Reply #8 on: April 07, 2009, 05:20:33 am »
Binary: http://www.file-upload.net/download-1568547/GBME_0504.rar.html (sorry it's on the next best file hoster I found, can't access my FTP from here)

Source: Why is everyone so fixated on getting the source code? I will release it, but I don't know when. I'm not really seeing the point anymore, since no-one did anything with OZMAV's, for example, besides ZZT "threatening" to fork it.

Anyway, some games are actually playable to an extend, like Zelda LA, Puyo Puyo, Gameboy Wars, Tetris, Kirby's Block Ball, Metroid 2 and some other very early games like Sunsoft Grand Prix or Solomon's Club. Others boot up and work to some point - Puyo Puyo 2, Darkwing Duck, Japanese Pokemon Red, Green and Blue, the Mario Land games, etc. - and again others just hang without explanation or crash on invalid opcodes, like Donkey Kong Land.

Oh, right, almost forgot. If you have a copy of the original Gameboy's boot ROM, put it into your ROM folder, name it "DMG_ROM.bin" and go to "Options" -> "Use DMG bootstrap ROM" in the menu :)


Apparently it makes some people feel 1337 for having the source code, when in actual fact, most people will take one look at it and go "oh ok" and never look at it again. If you want to keep it closed source, keep it closed source. Stupid open source punks really need to put a cork in it.

Anyway, I logged back in just to say this project is awesome, and I'm really impressed with the amount of progress that's been made lately. Keep it up! :D

Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
Re: Unnamed Gameboy emulator WIP thread
« Reply #9 on: April 08, 2009, 09:36:32 am »
While debugging Kirby's apparent non-booting, I fixed a stupid bug in 8 opcodes - they check if bit X is set in whatever byte is in memory at the offset stored in register HL. I had them check if the bit was set in whatever offset was stored in register HL!

This instantly fixed...

- Kirby's Dream Land, Chalvo 55 and Gameboy Wars Turbo not working (the first two now go in-game but hang/crash because of other factors, the latter doesn't go beyond the main menu)
- Puyo Puyo 2 crashing in-game (now seems playable, besides some graphic errors in the menus)
- Pokemon Red/Green/Blue Japanese hanging at various points (now go in-game up to Prof. Oak stopping you from leaving town, however his sprite never appears)
- Kirby's Block Ball not showing enemies in-game (now they, well, show up)
- and probably more...

Facepalm indeed, huh?

EDIT: Small update on Pokemon Blue: saving now works after implementing the MBC1's 32kb RAM mode, and also, if you use another emulator to skip the scripted events that hang the game up (Oak when you try to leave town, Gary when delivering the parcel to Oak just prior to getting the Pokedex), you can see that battles and such work perfectly.

I could get my first Pokemon, leave town and battle Pidgeys, get the Potion from that store clerk guy on Route 1, heal my Pokemon, get Oak's parcel from the shop and deliver it to him, get the Pokedex, use the menus, check the Pokemon and trainer status screens, naturally save and load the game, etc. without too many problems.

That said, there are some rather severe bugs: for one, the game's graphic decompression function doesn't work properly and you only get somewhat scrambled Pokemon and trainer images. The general outline is there, but it seems like only one of three grey-shades decompresses correctly or something. Another notable thing is that, after leveling up once to 6, Squirtle now requires 783627 EXP to reach level 7 - that value is so high, it overflows the screen's layout by one tile, and thus I don't think that even at level 99 you'd ever need more than 99999 EXP to level up.

Well, well, many more bugs to squash...
« Last Edit: April 08, 2009, 10:44:33 am by xdaniel »
cu xdaniel


Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
« Last Edit: April 14, 2009, 07:45:57 pm by xdaniel »
cu xdaniel


Offline The Tjalian

  • Full Member
  • ***
  • Posts: 128
  • Gender: Male
    • View Profile
Re: Unnamed Gameboy emulator WIP thread
« Reply #11 on: April 16, 2009, 11:14:21 am »
Oh wow, a debugger! Awesome stuff :D

Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
Re: Unnamed Gameboy emulator WIP thread
« Reply #12 on: April 19, 2009, 06:55:49 am »
- BG scrolling speed glitches in intro, especially noticable in beach sequence
- No window emulation, thus in-game status bar and Start menu missing
- Some empty lines in text boxes glitched (show a BG tile instead of black)
- Shield only works on sea urchins when hitting them from the left, other directions hurt Link
- Also can't talk to people when trying to from anywhere not the left, overlap Link's sprite too (sprite priority issues?)
- Select button map doesn't show important places' icons
- Dim lighting in mushroom witch's hut doesn't work, flickering between normal and lower brightness
- "It's serious!!" kids in village after beating Tail Cave walk backwards

Zelda LA's status on March 27th, the struck-through things having been fixed since then. I'm not sure about the intro's BG scrolling problems, but the other things are most likely because of the unimplemented sprite-to-sprite priority, meaning that I don't check if a sprite should have priority over another if they overlap.

Besides that, many more games could probably be considered playable: Super Mario Land 1-3, Dr. Mario, Donkey Kong Land 2-3 (DKL1 goes in-game but messes up), Kirby's Block Ball, Contra: The Alien Wars, Metroid 2, Megaman 2 (the other 4 have some weird control problems), Tetris, Tetris DX and Tetris Attack among others, as well as maybe Castlevania 2, Pokemon Red/Blue, Tales of Phantasia: Narikiri Dungeon, Harvest Moon GB, some Ganbare Goemon/Mystical Ninja games, Gameboy Wars 1, 2 and Turbo, and again maybe others.

New build coming soon is here :)

http://magicstone.de/dzd/random/gbemu/new/GBME_1904.rar - More fixes than mentioned above, but also some regression (ex. DKL2-3 aren't showing sprites at the moment, but DKL1 is playable now).



« Last Edit: April 19, 2009, 12:25:15 pm by xdaniel »
cu xdaniel


Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
Re: Unnamed Gameboy emulator WIP thread
« Reply #13 on: April 30, 2009, 12:38:40 pm »
It's been a little while, so let's see...



First of all, quite a few bugs were squashed in the last week, among them the scrolling problems in Zelda LA's intro, the missing icons on its' Select button map, all three Donkey Kong Land games are playable now with some minor graphic problems, Pokemon Red/Blue (US versions btw) seems to run pretty well (just entered Viridian Forest without any problems whatsoever so far) (ahhh, damn, saving is broken... all my Pokemon besides the starter are gone after reloading the ROM and save <.<), controls are working perfectly for Megaman 1-5 now, etc. And finally...

Download: http://magicstone.de/dzd/random/gbemu/new/GBME_3004.rar
« Last Edit: April 30, 2009, 12:45:32 pm by xdaniel »
cu xdaniel


Offline xdaniel

  • Newbie
  • *
  • Posts: 27
  • Gender: Male
    • View Profile
    • DigitalZero Domain
Re: Unnamed Gameboy emulator WIP thread
« Reply #14 on: August 14, 2009, 02:56:12 pm »
http://rapidshare.com/files/267415906/GBME_1408.rar.html

Sorry for the Rapidshit, but - who would've thought - I'm out of proper internet access again and am not having my FTP data with me. Anyone who could provide a proper mirror for this in the meantime? Anyway, the thing's much improved in quite a few aspects, compatibility may have had a hit, tho (I do know that Pokemon Pinball doesn't work properly anymore). Not much else to say, so just try it out and give some feedback while you're at it!
cu xdaniel


Pages: [1] 2   Go Up