What's new

Game Boy

Sagon

New member
You increment LY each VBlank, that's not correct, you should inc it in general after each 114 cycles, which should be counted while LCD is on and mode is VBlank. This bug is first i've found, there are several other including fix for joust and other, but they are not significant, and i don't want to spoil all fun :p
 

ShizZy

Emulator Developer
Ahhh yes, I've also got the stuff for the fixes for Paradious, Crazy Burger, and a few others :p I didn't put them in for less clutter, but when I get it pretty bug free I'll add them. But thanks, I'll try that. If you see anything else, let me know. Btw... HBlank happens after every 114 cycles... it's the third phase for each scanline and each scanline is 114 cycles. (in my emu)
 

zenogais

New member
Hey all, Its been a while since I posted something, and for good reason :p It appears I've had a little hard-drive crash, but I'm back now and luckily I didn't lose too much of my programming files. I've got to reinstall Visual Studio etc, but I should be able to get back to working on NeoGameBoy once I've taken care of this. Talk to you all when I have something to show or I need help troubleshooting my code.
 

zenogais

New member
I just got visual studio reinstalled, so now I'm back on the road to development. Can anyone tell me how much timing I'll need to get basic display on from my video system?
 
Last edited by a moderator:

aprentice

Moderator
zenogais said:
I just got visual studio reinstalled, so now I'm back on the road to development. Can anyone tell me how much timing I'll need to get basic display on from my video system?

opps, hit edit post instead of quote, my mistake :p
well, you need phase timing, theres about 114 cycles per scanline, not much to it :p
 

HyperHacker

Raving Lunatic
I'd love to work on mine, but I'm STILL waiting on fixing my computer. More specifically, I'm waiting for my new video card and power supply to arrive so I can assemble them together with the motherboard and CPU I bought. They were due to arrive today, but yeah. <_< Looks like a boring weekend ahead...
 

Sagon

New member
I've been busy last week, however i've added MBC 1,2,3,5 and it works fine. Now working on optimization, maybe soon i'll release first beta.
 

HyperHacker

Raving Lunatic
Well I finally got around to working on mine again. I fixed several 'crashes' which turned out to just be sprites and/or the window covering the entire screen. :p Working on two things at once, trying to get tiles to display properly in that queer signed mode (check out Mario Land) and trying to make sprites not cover the entire screen.
 

HyperHacker

Raving Lunatic
Jeez, I can only imagine what you think looks crappy. ;) I mean I'm glad to have it getting that far, but I wouldn't call a glitched-up title screen and a game that doesn't run right 'good'. Just progress.

Fun trying to play though. If you jump, it freezes. If you move left sometimes your lives go waaaaaay up. :blink: I bet it has to do with the fact that my logical rotation instructions don't work. Gotta fix that. :p

Tetris runs, but you can't see the blocks and it crashes at random. Hehe.
 

HyperHacker

Raving Lunatic
That's how mine was, it turned out to be a sprite problem. When I implemented sprites/windowing I didn't do the scanline/pixel check properly, so they would cover the entire screen and make it look like it crashed.

Of course I do have to work out some CPU bugs. That's always the worst part.
 

Lordus

New member
I was following this thread for a while and it inspired me ...
As i just finished making my first game in J2ME (for mobile phones) and always wanted to get into emulation programming, i thought to give it a try now.
I know Java is maybe not the best choice for this and neither are mobile phones, as their power is not quite up for the task, but well...
finally, yesterday i got my first screen showing up :bounce:
and by now i think its working quite well, every game i tried so far worked without glitches. Still have a lot of optimizing to do though - on my mobile, which is an older one, it works at like 3fps atm.

Ja2meBoy_01.png
Ja2meBoy_02.png
Ja2meBoy_03.png
 

ShizZy

Emulator Developer
Nice...

HyperHacker, does mario require sprites to work? I don't have any sprite support yet...
 

Cyberman

Moderator
Moderator
Lordus said:
I was following this thread for a while and it inspired me ...
As i just finished making my first game in J2ME (for mobile phones) and always wanted to get into emulation programming, i thought to give it a try now.
Woo Hoo another emulation addict.. err :D
Lordus said:
I know Java is maybe not the best choice for this and neither are mobile phones, as their power is not quite up for the task, but well...
finally, yesterday i got my first screen showing up :bounce:
and by now i think its working quite well, every game i tried so far worked without glitches. Still have a lot of optimizing to do though - on my mobile, which is an older one, it works at like 3fps atm.
Oh shizzle sticks LOL. Yes Java is a poor choice unless you have a VERY powerful processor. However you might be able to find a devkit for the phone platform that is not Java based. Java code should be fairly portable. You should get a boost of about 5-10X the performance by going to C or C++. The reasons for this are Java engines are essentially an emulator in reality. The majority of which are interpreted. This makes in highly portable but at the same time also makes it slow because the system processes data then performs an operation. Not exactly speedy. So in summary it's going to be slow, even on a powerful CPU. You could try it on your desktop machine and see how fast it is on that to gauge performance.
Lordus said:
Looking pretty good really. It's better than mine, oh wait I didn't make one ;) hehehe anyhow nice job there.

As a possibility you might want to find a better Java Engine for your phone with JIT dynamic recompilation. Your biggest issue is having enough RAM space to run such an animal. JIT isn't as bad as recompiling the whole Java binary though. You probably should look into frame limiting too as I noticed your static image is a bit too fast for the GameBoy (LOL)

Cyb
 
Last edited:

HyperHacker

Raving Lunatic
Mario will run without sprites, but it always has one on the screen (that little mushroom on the title screen is a sprite), so if your sprite implementation is broken like mine was you'll only see a blank screen.
 

Lordus

New member
Thx Cyberman. I know C/C++ would be the better alternative and there are actually Gameboy emus for phones with SymbianOS that run in fullspeed (even a SNES emu, that claims to run fullspeed, didnt test it though), but i wanted to try the whole thing in Java to make it more compatible. As you see in the phone emulator running my emu, it is perfectly playable this way. On my real phone i never expect it to be playable, i mostly wanted to make an emu at all ,and see, that it can be done on this limited platform.
Profiling it, i can see, that most of the time is spent in the actual method to draw the screen with j2me, as a new image is created out of the pixeldata every frame. that is not acceptable speedwise, so i will try to tweak that and gain some speed from that.
Sound is the other issue. it is emulated, but not interfaced with j2me yet.
dont know if i will be able to do that at all, maybe some monotone sounds, but no real interpretation. there is a j2me nes emu though with sound, maybe i can look into that...
frame limiting is actually implemented, the screens were taken with a version though that had a 'bug' in showing the fps, as the emulation loop as well as the 'canvas-loop' were updating the screen, which also caused some flickering, anyway this is solved now.
The memory to work with is really a pain ... Zelda wouldnt work on my phone for example, as the heap size is too small to load the rom, just smaller games work. You really needed a high end phone to make something of this, but i am sure, not too far in the future this might actually be playable on real phones.
Actually i ported javaboy now, to compare its speed with my emu and its a bit slower, but well, it was not designed for j2me.
I am thinking of porting a C64 emu and maybe GameGear emu now, or to do one from scratch. We'll see.
Anyway, i am really enjoying this working in emulation, will see what will become of it.
My ultimate goal is to make a working Saturn emu :ph34r: (not in J2ME of course :p )
but thats quite a way to go.
 

Top