Pokitto ToDo master list

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
  • 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 on const char * arguments to certain functions means string literals cannot be properly used with said functions because doing so would implicitly cast away the const 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 correct std::size_t should be used - Pharap
  • No use of C++11 - Pharap
    • enums instead of enum classes - 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 of std::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 either bool or an enum class representing a selection of error codes and a single success value - Pharap


  • 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 - Pharap
    • We 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


  • pokitto.com/games take a long time to load because of all the GIFS. - bl_ackrain
    • A possible quick fix - make sure all the .gifs 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


  • 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