Page 4 of 7
Re: I Love Gameboy
Posted: Mon Apr 16, 2012 8:36 pm
by coffee
SiENcE wrote:Hey,
i added a lua bitwise operation lib and a fix to run it on 0.7.2.
But, i only get a nearly corrrect screen on 0.8.0.
On 0.7.2 is something wrong.
My feedback: in 0.7.2 is terribly slow and show almost only black. Official 0.8 is too slow. JIT runs at normal GB speed but I don't see any visual improvement. slime's suggestion seems too work better for me since your bitwise brings back the grey dark palette.
Re: I Love Gameboy
Posted: Mon Apr 16, 2012 8:47 pm
by SiENcE
Don't mix it.
I added bitwise operations for all users who don't want to use luajit. Of couse it's slower
The visual thing is different for that. I think this needs to be fixed in the gameboy renderer and not by drawing the framebuffer (canvas).
Re: I Love Gameboy
Posted: Mon Apr 16, 2012 9:14 pm
by coffee
SiENcE wrote:Don't mix it.
I added bitwise operations for all users who don't want to use luajit. Of couse it's slower
The visual thing is different for that. I think this needs to be fixed in the gameboy renderer and not by drawing the framebuffer (canvas).
Ah ok, sorry. I thought your bitwise would also help fix a bit. Yeah, it's a lot slower (and have that pesky compatibility warnings)! For the first time I actually saw the difference with vanilla/JIT. The problem should be really inside GB renderer because seems have to due with the edges of moving/scrolling objects. However didn't understand how Techicolor screenshots seems so flawless.
Re: I Love Gameboy
Posted: Tue Apr 17, 2012 6:15 am
by bartbes
Technicolour wrote:
Code: Select all
love.graphics.setColor( Colour, Colour, Colour, 255 )
love.graphics.point( n + 0.5, YCo + 0.5 )
Maybe the .5 offset's the problem? Could people that are affected try it without that? Perhaps even flooring and/or rounding coordinates?
Re: I Love Gameboy
Posted: Tue Apr 17, 2012 9:11 am
by coffee
bartbes wrote:Technicolour wrote:
Code: Select all
love.graphics.setColor( Colour, Colour, Colour, 255 )
love.graphics.point( n + 0.5, YCo + 0.5 )
Maybe the .5 offset's the problem? Could people that are affected try it without that? Perhaps even flooring and/or rounding coordinates?
Tried simply to remove that 0.5 value. Didn't worked for me. Maybe that final point operation is already dealing with some miscalculated value with some some register/opcode routine. Perhaps somewhere calculating PointX or PointY. Anyway if any of you have some modified gmb_gpu file that you want me to test I gadly do it. Just post it.
Re: I Love Gameboy
Posted: Tue Apr 17, 2012 11:53 pm
by Technicolour
Hi, would someone who is having the screen ghosting mind trying this out. Comment out lines 533 and 540 in gmb_gpu.lua and try running that. This makes it so it re-drawns the entire screen every frame and thus will likely result in considerable slow down. If this fixes the issue then we can assume it's an issue with canvas persistence or something. Cheers.
Re: I Love Gameboy
Posted: Wed Apr 18, 2012 8:46 am
by Delibrete
Technicolour wrote:Hi, would someone who is having the screen ghosting mind trying this out. Comment out lines 533 and 540 in gmb_gpu.lua and try running that. This makes it so it re-drawns the entire screen every frame and thus will likely result in considerable slow down. If this fixes the issue then we can assume it's an issue with canvas persistence or something. Cheers.
Here you go:
http://www.youtube.com/watch?v=eULVcK7B ... e=youtu.be
It seems to work fine for me, and my computer isn't very high end.
*edit
I don't know if this is possible but I assume it is, but the idea of 'double buffering' could be useful here. Double buffering is where you have two buffers (canvases) where one buffer is used to draw all of the game graphics and the other buffer displays them. This generally makes rendering a lot smoother. But I mean, so far it seems to run smoothly for me and I'm not getting any problems with it. I just wish you could save and there are sounds
More info:
http://en.wikipedia.org/wiki/Multiple_b ... r_graphics
Re: I Love Gameboy
Posted: Wed Apr 18, 2012 11:04 am
by SiENcE
Hey,
i fixed it, by using imagedata.
It runs now on LÖVE 0.7.2 & 0.8.0 (slow) and LÖVE Jit (really fast).
Have fun.
I named it Loveboy ;-)
cheers
SiENcE
Re: I Love Gameboy
Posted: Wed Apr 18, 2012 12:48 pm
by Nixola
Sience, I just tried your version on my netbook... I tried to run Pokemon Crystal, that I couldn't ever run on other emulators, it runs but it says "This GamePak is designed only for use on the Game Boy Color."... I was so happy when I saw that it ran, at the beginning
Re: I Love Gameboy
Posted: Wed Apr 18, 2012 12:59 pm
by Technicolour
That's awesome Science, If you don't mind I'll copy over your imagedata sollution over to my most recent version, it seems Canvas is just more trouble than it's worth in this situation.
Due to the interest I'm gonna add Colour support, sound support and saving support.
Oh, and small question to anyone who might know, is it possible to do conditional requires?