PythonExtra/README.md

2.3 KiB

PythonExtra - A community MicroPython for CASIO calculators

Original MicroPython README: README-MicroPython.md.

This is a MicroPython port for fx-CG 50, fx-9860G III and related CASIO calculators.

Build instructions

Requires the fxSDK. Go to ports/fxcg50 or ports/fx9860g3 and run make. If it doesn't build, first try to use the dev branches for fxSDK, gint, fxlibc and JustUI. Rebuilds don't always work especially when checking out other commits (maybe my fault), so try to delete build if you think that's related.

Most of the code is in ports/sh and is shared between the platforms.


TODO list

Bugs to fix:

  • Fix not world switching during filesystem accesses (very unstable)
  • Fix the console not garbage collecting its lines (enable and test the feature)
  • Fix not resetting the shell when importing a file from command-line
  • Fix current working directory not changing during a module import (for relative imports)
  • Fix accumulated events being processed when the program "ends" (if we can detect that)

Python features:

  • Compare features with existing implementations and other brands
  • Get filesystem access (open etc) with the POSIX interface
  • Get a decent amount of RAM not just the fixed 32 kiB that's hardcoded so far

UI:

  • Better input system in the shell (don't use VT-100 escapes, then move cursor and handle history)
  • Add an option for fixed-width font which also sets $COLUMNS properly so that MicroPython paginates (requires better getenv/setenv support in fxlib)
  • Use unicode-fonts to provide Unicode support
    • Extend it with a fixed-width uf8x9 which maybe changes some glyphs (like i and l; the usual fixed-width unambiguous styles)
    • Try and provide a font smaller than 5x7 for more compact shell on mono
  • A decent keymap that can input all relevant characters into the shell

Test cases:

  • Chute tridimensionnelle (Working on G35+eII)
  • Bad Apple
  • Island of the Dead Kings
  • Synchro-Donjon
  • Flappy bird (Working on G35+eII)

Future wishes:

  • Build for fx-9860G II (requires manual filesystem support)
  • Lephe's secret ideas (complete previous list to unlock)