Pokitto To-Do List (this is a Wiki, you can edit!)
Please feel free to add tasks to the to-do list.
Pokitto library
General Issues
-
A lot of warnings when compiling a pokitto program.- bl_ackrain- See ‘specific issues’ for more information regarding a number of these warnings. - Pharap
- The library uses two SD card libraries, which is very confusing. - bl_ackrain
- Ideally the file API should return proper file objects that dispose of themselves when their destructor is called - thus no manually closing would be necessary. - Pharap
- A lot of macros - the number of them starts to get confusing. - bl_ackrain
- Marco-based settings with a
PokittoSettings.h
file is probably a poor solution anyway. Consider a template-based solution. - Pharap
- Marco-based settings with a
- All the examples mean the library source code takes far longer to download than it ought to. Perhaps the examples should be moved to a separate repo. - Pharap
- Library need some cleaning. - bl_ackrain
- Removing unused files and folders. - bl_ackrain
- Cleaning the code. - bl_ackrain
Specific Issues
- Lack of
const
onconst char *
arguments to certain functions means string literals cannot be properly used with said functions because doing so would implicitly cast away theconst
that all string literals implicitly hold. - Pharap - Use of undersized (16-bit and 8-bit) types where the Pokitto’s natural word size would be more appropriate - Pharap
- Use of of
int
in places where the more correctstd::size_t
should be used - Pharap - No use of C++11 - Pharap
-
enum
s instead ofenum class
es - Pharap - Macros instead of
constexpr
variables - Pharap- Are constexpr values available to assembly by the way? That might be an issue if it doesn’t - carbonacat
-
- Use of C standard libraries (e.g.
<stdint.h>
) instead of C++ standard libraries (e.g.<cstdint>
) - Pharap- Similarly, using
uint8_t
et al instead ofstd::uint8_t
et al - Pharap- I’ve seen some “using std;” in the mbed headers - carbonacat
- A number of functions are returning
int
when they should be returning eitherbool
or anenum class
representing a selection of error codes and a single success value - Pharap
- Similarly, using
Improvements
- Add a button combination to change sound volume, or we could port the rainbow menu from Java. - bl_ackrain
- Add a button combination to change the screen brightness. - bl_ackrain
- Use button polling rather than interrupts. - bl_ackrain
-
README.md
need to be more helpful and more descriptive. - bl_ackrain - Split as much as possible the API into independent blocks, so we can use separate parts without compilation issues / forced static memory allocation - carbonacat
Pokitto documentation
-
First we need to decide the platform that we will use for documentation, Doxygen vs Github pages. - bl_ackrain- We are presently using GitHub pages, which should eventually incorporate Doxygen documentation - PharapWe should set up a thread debating the pros and cons of each, making sure the debate doesn’t drag on too long, and then put it to a vote. (Yay democracy!) - Pharap
- Flesh out the Doxygen documentation and somehow combine it with the GitHub pages guidebook - Pharap
- Publish the schematics and other EDA files - MLXXXp
- Make a nice poster that explain the whole Address Space, including memory, registers, etc - carbonacat
Pokitto website
Issues
-
pokitto.com/games take a long time to load because of all the GIFS. - bl_ackrain
- A possible quick fix - make sure all the
.gif
s are interlaced (run some batch process over them, e.g. imagemagick or something). - Pharap - Something that may help is converting all images to 1:1 pixel density (no resized 2x images), then displaying them with
image-rendering: pixelated
. This should both decrease file size and slightly speed up page rendering. As a test, I resized the “101 Starships” preview.gif
to 220x176, and the filesize shrunk from 280k to 96.1k. - pixelbath
- A possible quick fix - make sure all the
Improvements
- Promote the Discord server. - bl_ackrain
- Make sure the information on the Discord server is somehow copied across to the forum so people who don’t use the Discord server don’t miss out. - Pharap
-
Maybe even consider reducing the use of the Discord server - it is believed by some (e.g. Pharap and Filmote) to cause a division in the userbase - Pharap- While I agree some people are much more active on Discord, I am not in favour of dropping it. We have a alot of crazy informal chit chat there, the forum should not be burdened by that kind of stuff. I understand the concern and something will be done about balancing this out - Jonne
- Secondly, our forums are 40GB already and we pay a pretty penny to maintain them and backup them regularly. Frankly, I do not want to pay for the kind of content we have on our Discord discussions. Its mostly rambling by me. - Jonne
- Perhaps integrate some kind of real-time communication into the forum somehow so Discord isn’t needed? - Pharap
- Create more categories on Discord chat, and custom ICONS. HomineLudens
- It’s hard to have well defined categories. It can be confusing to have to refer to another channel all the time because “there is an issue with some ASM code interacting with C++ and that’s concerning the Pokitto lib specifically used under FemtoIDE” - carbonacat
- Create a new wiki for the tilemap tutorials by @filmote - jonne
- Reorganize wiki categories - jonne
Upcoming community events
- Pokitto magazine 2 - jonne
- Tilejam - jonne
- Template for game reviews - jonne
- POK15 Art contest… eventually - Pharap