Extensible Loader

L-Systems generally start with an empty sequence of characters (containing just a root expression) and expand that by selecting applicable rules using a [P]RNG (which would require an integer seed).

Of course, a grammar could be written that could further expand a file name, but it would still need the seed.

That second option sounds like a good template, as it would show more of the API being used.

I’ll give it a look to see how much space it takes up.

EDIT: Can’t get it to fit. Using this instead:

uint32_t hash( const char *str ){
    uint32_t h = 5381;
    while( *str )
		h = ((h << 5) + h) + *str++;
    return h;
}

Wrote a quick-and-dirty spaceship generator using @Pharap’s palette.
Some are OK. Some are just plain terrible. :laughing:

I’ll use Pokittos for directories, spaceships for bins.

12 13 9 10 8 11

3 Likes

The part-Minecraft part-EGA one?

Aside from the odd brown one they’re pretty good.
I think the hash function might be a bit biased though,
it seems to be picking similar groups of colours.

Yup, that was option C in the poll so I’ve switched to it.

Ah, that’s not the hash. In an attempt to make each ship have a theme/faction color, it picks 3 in a row. The palette was also split in two: One set of colors is for the ships, the other is for the background, to make them stand out.
I’ll spend more time revising the generator after the first release.

I’ve got over 800 bins on my SD card, split into folders of 100 each. I keep browsing the folders just to look at all the ships now. :stuck_out_tongue:

4 Likes

Strange, I ended up voting for B :P

Mainly because the two pinks on Kirby aren’t very well distinguished and the green on Link looked a bit pale,
but looking at it again I think I was being a tad harsh and focusing too much on the negatives…

That said, I’m glad that ended up on top, because it means I was on the right track with my earlier assertions about the Minecraft+EGA pairing being a good combination.

Also, now it makes sense why the term icon reminded me of the computercraft terminals:
Computer

Oh, fair enough.

In that case, you may want to rethink the pairings,
some of them clash prety badly.

I think the colours used for the ships on the red backgrounds are a good mix,
but they clash with the red background too much.
Also the yellow+brown+orange on black works really well.
Purple and red on brown doesn’t work as well :P.

1 Like

Any proto available ? :wink:

1 Like

That’s because I didn’t think the pairings at all. Picking the background color is just a xor with the main color. :laughing:
I’ll definitely give the ships’ shapes and colors a closer look later since tweaking a generator takes almost as much time as designing each ship by hand.

Right now I’m focusing on making the loader releasable. Once that’s done, all the source will be available for others to poke and prod at and maybe someone else will get to the ships before I do.

Soon… hopefully later today.

2 Likes

“Later today” has arrived, and so has a preview build with source under the MIT licence (ie, do whatever you want, if it breaks you get to keep both pieces).

1 Like

I see just glowing unfilled rectagle in the on black screen. Should I clear the SD card first?

Hmm… odd. Could you try formatting the card? FAT can be a bit fragile. :confused:

The same thing after format. The rect is in the middle of the screen. When I any arrow key is pressed, the rect is not visible.

That means it managed to run the bootloader and the kernel (so SD access is OK). It’s crashing in the desktop… and I have no idea why it would do that. I’ve been trying to break it but it just works. I’ll test with a different SD card.
Can you attach the debugger to see what address it’s getting stuck on?
Anybody else getting this error?

System files / other differences in directory tree?

I have formatted the card

Probably not, the desktop.pop only looks inside .loader/desktop/. If something was wrong with that folder, a proper error message would show up (desktop is empty or desktop folder missing).

You do know that SD cards can be very, very different internally? The response times to initialization and other waiting loops can behave quite differently from card to card

That’s why I said I was going to test with another card. Still, this doesn’t make sense because, at that point, the kernel and the desktop have been read from the card successfully. :thinking:

What game is on the Pokitto?

At first there were 100 games. After formatting, none. Just the files from your zip.

I meant in the flash. What game runs if you don’t activate the loader?
Trying to isolate if something different happens during initialization.