I Love Gameboy

Showcase your libraries, tools and other projects that help your fellow love users.
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: I Love Gameboy

Post 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.
User avatar
SiENcE
Party member
Posts: 797
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: I Love Gameboy

Post 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).
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: I Love Gameboy

Post 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.
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: I Love Gameboy

Post 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?
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: I Love Gameboy

Post 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. :)
Technicolour
Prole
Posts: 24
Joined: Sat Sep 24, 2011 12:22 am

Re: I Love Gameboy

Post 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.
Delibrete
Prole
Posts: 37
Joined: Mon Dec 05, 2011 11:51 am

Re: I Love Gameboy

Post 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 :P

More info: http://en.wikipedia.org/wiki/Multiple_b ... r_graphics
User avatar
SiENcE
Party member
Posts: 797
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: I Love Gameboy

Post 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
Attachments
Loveboy_(fixed).love
Love Gameboy with draw fix (should run on Jit, 0.7.2 & 0.8.0)
(38.41 KiB) Downloaded 107 times
User avatar
Nixola
Inner party member
Posts: 1949
Joined: Tue Dec 06, 2011 7:11 pm
Location: Italy

Re: I Love Gameboy

Post 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 :cry:
lf = love.filesystem
ls = love.sound
la = love.audio
lp = love.physics
lt = love.thread
li = love.image
lg = love.graphics
Technicolour
Prole
Posts: 24
Joined: Sat Sep 24, 2011 12:22 am

Re: I Love Gameboy

Post 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?
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest