PICO-8

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
So, picolove use many shaders, and löve 0.9.1 doesn't have a GLES2 port and the version on the pandora use glshim (so no shaders for now).
Need to use löve 0.10.x, but the engine will not run as-is on this newer version (plus my build seems broken somehow), so it will need some time...
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
i have already ported picolove to love 0.10, check out my gcw repo. and love 0.9x does have a gles port, it was just under another branch on bitbucket called gles2.
Ah yes, the 0.9.0 was on a another branch. I'll look at your 0.10 branch (there is more than the starting mesh with the nil texture?), once I fixed my love 0.10 build.
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,373
with the recently added armhf-support package that notaz released, I tried to start the pico8_dyn binary that's included in the rPi release. Sadly I can't seem to point it to libSDL2-2.0.so.0 eventhough I tried all kinds of shenanigans. Maybe someone more apt here would like to try this? Seems like everything should work well on the pandora and other than SDL2 there are no dependencies.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
I have fixed the spacing of the charaters and managed to launch a couple of carts... By I have a sound issue. I have no sound, and after a short while, it hangs (infinite loop) complaining some music doesn't exist. So it need more work (does PicoLove works flawlessly on x86 Linux?).
picolove1.png picolove2.png
 
Last edited:

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
Fixed my issue with sound and music, and many small things here and there (issue with copy/paste from different forks) and worked for 3h (at least :( ) on the sprites that didn't had the right color, as can be seen on this "Celeste" screenshotpicolove6.png

I got it, at last. And the issue was probably a bug in the SGX driver shaders :(

I change this Löve shader
Code:
vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {
int index=int(Texel(texture, texture_coords).r*255.0+0.5);
return vec4(palette[index]/255.0, 0.0, 0.0, transparent[index]);
}]])
to this one
Code:
vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) {
    vec4 texcolor=Texel(texture, texture_coords);
    int index=int(color.r*255.0+0.5);
    return vec4(palette[index]/255.0, 0.0, 0.0, texcolor.a);
}]])
The should produce the same results... But they don't on the Pandora (Gigahertz model with 4.10 version driver).
But now, Celeste looks good (and is damn hard):
picolove7.png picolove8.png

Now, I'll package it. Not sure If I try to make a front-end to select cartdrige. Without frontend, you put the PNG cartridge in the appdata folder, then you can type "DIR" to have list of the files, and "LOAD 15133" (for example for Celeste) to load and "RUN" to launch.
I may start with a "crude" verison of the package, and add a front-end later...
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
Yeah, I was searching what was wrong with the sound and took some code from https://github.com/gamax92/picolove when in fact it was just the fact that cartridge load was way incomplete (no sfx or music was loaded for example).

About the launcher, yes, on gcw0 I can understand you don't want to boot with the "empty card" but directly with a cartridge, but the Pandora has a keyboard, so it's easier :)
I want to do a launcher that preview the cartridge picture... I'll probably do that when the PicoLove engine is mostly stable and finished (for now, I'm not completely satisfied).
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,373
Why not give picolove a try instead of trying to run the crappy proprietary interpreter ?
https://github.com/ftsf/picolove
https://github.com/gameblabla/picolove-gcw

I tried to get it to run on the GCW-Zero :
It works, it outputs sound but it displays nothing...
Probably due to picolove using GLSL shaders.

On Pandora though, you might have better luck with picolove thanks to glshim.
I don't see how it is crappy, apart from the fact that it is closed source. The official pico-8 runtime has some awesome features. not to belittle ptitSebs work, but the launcher is really missing from the package.

picolove is not pico-8, please make a distinction between the two. Picolove tries to be as compatible as possible, but there is a lot of functionality that will never be incorporated: the editor and splore. Splore is the launcher that gets live updates from the web, which is awesome on it's own, but the editor is what I was truly craving on the pandora.

yeah, now we can develop games in picolove, but it's not nearly the same as using the fun fantasy console with onboards tile,palette,mod and code editor. and much more!
I bet noone will actually code one piece of software with picolove, only use it to play games other people made. and if I needed to use the regular editors, why would I want to use picolove when I could just use straight love2d instead?
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
@gameblabla : so to awnser a few of question / comments:

Why did I changed the palette? I was searching why DuskChild was not working (it was a shader issue in fact), and I search if the palette was wrong. I found an alternate palette (on the net) and chnaged it. And I kept it. You reallt think it's a bit off?

About the RGB565, I agree that it should be faster on most hardware. But you have to be careful with the FBO (well, Canvas in löve) because of the way pixel are handled (there are not RGB most of the time, just an index on the Red field, with value 0-15, so I'm afraid RGB565 break this logic and lose some bits), but yeah, it should help with performances. I'll try to work on that, but not sure it can be make to work easily (if the GCW0 doesn't have RGBA8 FBO, what formats are available?).

I haven't finished with picolove, there are still some game that doesn't display properly but should (most of the memory seems mapped correctly, but it still doesn't works).

*EDIT* I just checked the supported type of FBO by love, and no format is good for this case. I would like to use "I" format, a 8bits where R, G and B all have the same value, but i's not supported. ONly "r8", that can be the closest match, works, but it's slightly different (I can still have love source to use "i" when I see "r8")
 
Last edited:

Stouffa

Member
Joined
May 27, 2008
Messages
179
Age
44
Location
Cork, Ireland
Is there some trick I've not figured out with getting this to run games? I can get the emulator to boot up and I've my downloaded png files in the picolove app data directory, but I can't get the emulator to see them? Do I need to use the built in terminal to navigate to that directory? DIR only seems to show the default files and the nocart file

Sent from my E5823 using Tapatalk
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,373
It is crappy mainly because it is proprietary yes.
I mean, just look at this thread, nobody was able to port it to the Pandora because no softfp binaries were released.


The goal of picolove never really was for editing games and all that crap...
It was made solely to play games.
And you really shouldn't use pico-8 to make your games...

That being said, i agree that the editor and all, might be a great miss for those who expected a full pico-8 port.
But we can't have everything.
If you want an official pico-8 on your device, you will have to wait for the pyra. (the hard float executable should work on it)
Yeah that is not the point I was trying to make. I did not see that picolove was merely a support layer to be able to play the games, that makes a lot of sense. I am also all for porting everything that could be remotely interesting, and agree that usually proprietary software is crap. Still I maintain that the main goal of having a fantasy console like PICO-8 is using the built in tools to have fun with the possibilities it offers, and was merely worried, that people mistake this port for a fully fledged replacement. It might lead people to believing, that the games that are playable are the product. It's rather the opposite, the PICO-8 system as a whole is the actual game. So yeah, a substantial part of the original intent are being lost with picolove. Still playing the games is nicer than not being able to at all.

And hardfloat is already possible on SZ1.74 thanks to notaz latest efforts, but I can't get it to run PICO-8 yet. Still need to compile sdl2 for armhf. If I get it up and running, I'd like to release a compatibility package sans binary, so that license holders will have an easier time running PICO-8 on the pandora.
[doublepost=1468015663,1468015341][/doublepost]
Is there some trick I've not figured out with getting this to run games? I can get the emulator to boot up and I've my downloaded png files in the picolove app data directory, but I can't get the emulator to see them? Do I need to use the built in terminal to navigate to that directory? DIR only seems to show the default files and the nocart file

Sent from my E5823 using Tapatalk
yeah that's what I was afraid of. pico 8 is actually a fantasy console which kinda works like a c64 or some other retro computer. Think of the png files as your cartridges/floppies. You will need to load them in the command line interface that you are presented with, kinda like loading a floppy on a c64. there is a list of commands to get you started here though this is the official manual, not the instructions for picolove. You'll want to use "LOAD NAMEOFGAME", but you will have to change to the directory that you stored the png in first. CD works as a command to change directories.

The actual PICO-8 has a command called SPLORE which will give you an interface for managing and downloading cartridges from a bbs, which I believe picolove has no equivalent for.
 

hitbyambulance

Active Member
Joined
Nov 26, 2005
Messages
629
Location
Seattle, WA
Website
troubletype.org
the PICO-8 is a really fun SDK - i got one of our company's founders interested and developing for it solely because of that. it's quite polished and feels *right* - i don't find the asking price 'absurd' (especially when you can get it with the Voxatron engine for $20).
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
PICO-8 looks very nice. I found the price a little bit too high for my taste, but I can understand it. For those that have the RPi version and want to try it on the Pandora using Hardfloat compatibility layer, I'll push the Pandora SDL2 verison compiled to hardfloat in the Hardfloat thread...
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,373
@ptitSeb I finally got to test it with your armhf sdl2 binary. The engine now starts, I can hear the jingle aswell but sadly the screen freezes instead of showing anything. Might be a driver issue or something like that, so I'll keep trying some more.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,482
Age
47
Location
France, near Lyon
@ptitSeb I finally got to test it with your armhf sdl2 binary. The engine now starts, I can hear the jingle aswell but sadly the screen freezes instead of showing anything. Might be a driver issue or something like that, so I'll keep trying some more.
@xnopasaranx : good news (well, half-good news at least).
Did you tried bith with libGL (so using LIBGL_FB=1) and/or with GLESv2 (so using SDL_VIDEO_GLES2=1 SDL_VIDEO_GL_DRIVER=libGLESv2.so)?
 

___

Advanced Member
Joined
Jan 31, 2006
Messages
3,373
@ptitSeb yeah I tried it without LIBGL_FB=1 before, now exporting that as well, but still no difference :(
the engine seems to start, the screen flashes twice but then freezes seemingly, while the pico8 boot sound plays. it doesn't seem to accept any keyboard input afterwards. I have to reset the pandora and reboot. I remembered that it can't be a driver issue, as the driver has to be 4.10 to support armhf. any other ideas or suggestions what I could try? sooooo close.
 
Top