So far for Tackle Box FX, we have taken the approach of just let the sketch grow. ProjectABE handles sketches larger than 28kb just fine. However, I found it seems once a sketch crosses 32kb, ProjectABE fails to boot properly. You never see the “FM” logo at start, and it takes about 30 seconds or so for the Arduboy skin to show. Then from there the game never loads, just a blank white screen.
I’ve not looked into this in any depth yet. I plan to tonight. But starting the topic now in case anyone else has seen this? How are other games working with large sketches in the short term?
Ping @FManga in case you are aware of this. I’ll take a look tonight and see if I can figure anything out.
All those repeating 5’s are the dummy data padding out the sketch. After that there is more data. So it feels like maybe ProjectAbe isn’t able to get out to the data at the end of the sketch. I’m looking through ProjectABE’s source right now.
I edited www/app.js in my local ProjectABE installation and made the above change in the two places an Atcore is instantiated. This is by no means a good change for ProjectABE in general. But to enable big sketches in this short term period of waiting on FX to flesh out, it will do.
If you hadn’t figured it out I would have said contact FManga and tell him you want to try Mr. Blinky’s flash mod (since that’s what the FX is essentially based on).
Personally I’m half and half about bringing FManga in.
On the one hand he’s very skilled and turning ProjectABE into an FX emulator would be good,
but on the other hand we do have to draw the line somewhere,
otherwise we’ll end up with half the forum in TeamFalcon.
My main interest is finding a good dev workflow for FX. At least in these early days. We got lucky that the fix was so easy. But it’s possible other issues that are harder to fix come up. Also if we really start hacking on ProjectABE without FManga being aware, it’s a little strange.
IMO, the focus should be on making FX games as good as they can be, and if that means inviting more people, I think that’s the right way to go. But that’s just my opinion.
If someone isn’t comfortable with the idea that someone could start significantly modifying a copy of their code without telling them then they shouldn’t choose an open source licence.
Perhaps, but the line still has to be drawn somewhere.
12 people, 15 people, 20 people…
Wherever it’s drawn there has to be a cut off point,
otherwise there’s not much point keeping it all secret in the first place.
For what it’s worth, @filmote, @luxregina and I have discussed whether or not to ask for Keyboard_Camper to be accepted into TeamFalcon because he was our original beta tester.
I wouldn’t be surprised if some people think MLXXP should be involved because he’s the maintainer of the Arduboy2 library,
and of course there are lots of other good contributors that currently aren’t involved.
I set the flash limit to 256kb. My sketch is nowhere near that big (I’m at about 36kb), so no idea if problems will emerge. But it’s working great for my current sketch.
Supports the ?url=<url to hex> param just like the main one.
That’s perfectly ok for our ATmega32U4 if you try to upload a larger hex file (and we forget about that the bootloader is overwritten) that it larger than 32K it would wrap arround and overwrite the vector area again.
Maybe external flash support could be added to projectABE in the future. But until then we need to rely on the devkits.
Just to be clear, the flash size hack is just that, a hack. It’s just enough to allow writing a sketch that is too large for the Arduboy but still be able to run it on something. The change is not a good one, and the sketch that is too big is ultimately worthless. But for a very short term thing, it’s better than nothing.
I started looking into this. From what I understand, I’ll have to make ProjectABE run the bootloader for things to work (right now it just runs the sketch), so it isn’t just a matter of adding support for one more chip. That means implementing the SPM instruction on the CPU, which wasn’t needed so far.
I’ll have to think about how to put things in the newly emulated flash as well. Drop in a hex and an image for development?
If that sounds about right to you all, I hope to get to it this weekend.