PythonExtra/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

52 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2022-10-29 20:56:10 +02:00
# PythonExtra - A community MicroPython for CASIO calculators
*Original MicroPython README: [`README-MicroPython.md`](README-MicroPython.md).*
This is a MicroPython port for fx-CG 50, fx-9860G III and related CASIO calculators.
2022-10-30 11:07:33 +01:00
**Build instructions**
2022-11-10 22:35:41 +01:00
Requires the [fxSDK](/Lephenixnoir/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](/Lephenixnoir/fxSDK), [gint](/Lephenixnoir/gint), [fxlibc](/Lephenixnoir/fxlib) and [JustUI](/Lephenixnoir/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.
2022-10-30 11:07:33 +01:00
Most of the code is in `ports/sh` and is shared between the platforms.
2022-10-29 20:56:10 +02:00
---
**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)
2022-10-29 20:56:10 +02:00
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)
2022-10-29 20:56:10 +02:00
- 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](/Lephenixnoir/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
2022-10-29 21:48:01 +02:00
- A decent keymap that can input all relevant characters into the shell
2022-10-29 20:56:10 +02:00
Test cases:
2022-11-23 13:56:48 +01:00
- [x] Chute tridimensionnelle (Working on G35+eII)
- [ ] Bad Apple
- [ ] Island of the Dead Kings
- [ ] Synchro-Donjon
2022-11-23 16:27:27 +01:00
- [x] Flappy bird (Working on G35+eII)
2022-10-29 20:56:10 +02:00
Future wishes:
- Build for fx-9860G II (requires manual filesystem support)
- Lephe's secret ideas (complete previous list to unlock)