Package manager and developer toolkit for Casio Prizm calculators
Project description
PanCalc Tools
Package manager, file converter, and developer toolkit for Casio Prizm calculators (fx-CG50, fx-CG100, and compatible models).
Part of the Pan Devs project.
๐ Quick Start (for Windows only)
Download the PanCalc-Tools-Setup-XX.XX.XX.exe file in the latest release by clicking it to install PanCalc Tools.
Windows may not install it sying that it just protected you from the exe file, but click on the three dots in the download section, click on "conserve" (or something like that), then down in the "Eliminate" button click on the small arrow and click again on conserve. The installation should continue.
Then, accept that it can change your settings/device (when the pop-up window appear, click "yes"), and continue the installation.
It is highly recomended to click/select every box.
And no worries, it is safe.
Click the image below to watch the tutorial (it will be downloaded)
๐ก Tips:
- Use your mouse/trackpad and click to interact.
- Questions? Ask the specialiced AI at https://deepwiki.com/pan-devs/pancalc-tools
- Press Ctrl+S to open the command palette.
- Press Esc to return to the home screen.
- Use โ and โ to move between items.
- Press Space to select/deselect an item.
Features
- ๐ฆ Add-in management โ Install, remove, and verify add-ins from the pan-devs/pancalc-registry with automatic SHA256 + PGP signature verification.
- ๐ฎ Games / Emulators โ Install NES, GB, GBA, SMS, GG ROMs via emulators (Nesizm, etc.). Games tracked in the same tool alongside add-ins.
- ๐ Local Library โ Import your own
.g3a/.g3eadd-ins or game ROMs from local files. No registry needed. Files copied for safekeeping. - ๐ผ๏ธ File conversion โ Convert images (PNG, JPG, BMP, GIF, TIFF, WebP) and
documents (PDF, DOCX) to Casio
.g3pphoto format or plain text. - ๐ค Push to calculator โ Copy converted files to
pthings/fotos/(.g3p) orpthings/textos/(.txt) automatically. - ๐ Calculator browsing โ Browse the full calculator filesystem, identify known add-ins, and inspect storage usage.
- ๐๏ธ Orphan removal โ Detects files not in any registry and removes them,
including companion save files (
.sav,.srm,.state). - ๐ Cryptographic verification โ SHA256 checksums on every download and PGP signature verification against the official Pan Devs key (auto-downloaded, no manual setup required).
- ๐ฅ๏ธ Dual interface โ Full-featured Terminal UI (Textual) and a complete CLI (click) for scripting.
- ๐ PGP key management โ Import, trust, list, and untrust additional keys for advanced users.
Filename Limitations: The Casio calculator cannot read files with spaces or non-English characters (accents, special symbols). Files are automatically sanitized when pushed (spaces โ
_, accents removed, etc.).๐ TXT File Reading: To view TXT files on your calculator, you need to install the "Utilities" add-in from the registry first. This add-in provides a file viewer for text documents on your Casio calculator (and also a JPEG viewer).
Expanded start guide (for other OS and developers/advanced users)
1. Install dependencies
Before installing PanCalc Tools, you need a few things depending on your OS.
๐ช Windows
Python 3.10+
- Go to python.org and download the latest Python 3 installer.
- Important: check the box "Add Python to PATH" at the bottom of the installer screen before clicking Install.
- Open Command Prompt (search "cmd" in the Start menu).
- Type
python --versionto confirm.
Microsoft Visual C++ Redistributable โ needed for PDF/DOCX conversion (pymupdf):
- 64-bit (most users): https://aka.ms/vs/17/release/vc_redist.x64.exe
- 32-bit Python: https://aka.ms/vs/17/release/vc_redist.x86.exe
Download and install, then restart Command Prompt.
Gpg4win โ needed for add-in signature verification:
- Download from gpg4win.org
- Run the installer (default options are fine).
- Confirm it works: open Command Prompt and type
gpg --version.
๐ macOS
Python 3.10+
- Go to python.org and download the latest Python 3 installer.
- Open the downloaded file and follow the steps.
- Open the Terminal app (Cmd+Space โ "Terminal").
- Type
python3 --versionto confirm.
Xcode Command Line Tools โ needed for some dependencies (pymupdf):
xcode-select --install
If you see "already installed", you're good.
GnuPG โ needed for add-in signature verification. Install one of:
- GPG Suite (recommended, includes GUI): gpgtools.org
- Homebrew (if you use it):
brew install gnupg
๐ง Linux
Python 3.10+ โ open a terminal and check:
python3 --version
If you see Python 3.10 or higher, you're ready. If not:
- Ubuntu / Debian / Mint:
sudo apt install python3 python3-pip
- Arch / Manjaro:
sudo pacman -S python python-pip
- Fedora:
sudo dnf install python3 python3-pip
GnuPG โ needed for add-in signature verification. Check if it's installed:
gpg --version
If not found:
- Ubuntu / Debian / Mint:
sudo apt install gnupg - Arch / Manjaro:
sudo pacman -S gnupg - Fedora:
sudo dnf install gnupg2
2. Install PanCalc Tools
Open a terminal (search for "cmd" in Windows) and run:
python -m pip install pancalc-tools
On Linux/macOS, use
python3 -m pipifpythonis not found.
Windows only โ also install pywin32 for automatic calculator eject:
python -m pip install "pancalc-tools[windows]"
Linux users: if you get an
externally-managed-environmenterror, use:python -m pip install --user pancalc-tools
3. Launch the program
Open a terminal (or Command Prompt on Windows) and type:
pcalc
The interactive menu will open.
โ ๏ธ Windows โ if
pcalcis not recognized: Python's Scripts directory may not be in your PATH. Add%APPDATA%\Python\Python3xx\Scriptsto your PATH (replace3xxwith your Python version, e.g.Python314), or use the fallback command:python -m pcalc
4. Connect your calculator
๐ช Windows
- Turn on your Casio calculator.
- Press F1 (USB mass storage mode).
- Connect it with a USB cable.
- It will appear as a new drive in File Explorer (e.g.
D:\orE:\). PanCalc Tools will detect it automatically.
๐ macOS
- Turn on your Casio calculator.
- Press F1 (USB mass storage mode).
- Connect it with a USB cable.
- It will appear as a drive in Finder and be detected automatically.
๐ง Linux
- Turn on your Casio calculator.
- Press F1 (USB mass storage mode).
- Connect it with a USB cable.
- PanCalc Tools will detect it automatically.
If the calculator is not detected, try running
udisksctl mount -b /dev/sdb1(replacesdb1with the correct device โ check withlsblk).
After connecting your calculator, navigate to the Catch option in the pcalc interface to browse its filesystem.
Table of Contents
- Installation
- Terminal UI (TUI)
- CLI Reference
- Local Library
- Games / Emulators
- Orphan Removal
- Architecture
- Changelog
- License & Contributing
Installation
Requirements
- Python 3.10+
- A Casio Prizm calculator connected via USB in mass storage mode (F1)
- GnuPG (gpg) โ for PGP signature verification (see per-OS instructions below)
From PyPI
python -m pip install pancalc-tools
On Windows, also install pywin32 for automatic drive detection and eject:
python -m pip install pancalc-tools[windows]
From source
git clone https://github.com/pan-devs/pancalc-tools.git
cd pancalc-tools
pip install -e .
Installing GnuPG
๐ช Windows
The installer bundles a standalone GnuPG component. If installing via pip:
- Download GnuPG binary from gnupg.org/download
- Extract and place
gpg.exein yourPATH(e.g.C:\Program Files\GnuPG\bin\) - Or run the Gpg4win installer with only the GnuPG component selected
๐ macOS
brew install gnupg # Homebrew
# or install GPG Suite: https://gpgtools.org
๐ง Linux
# Debian / Ubuntu / Mint
sudo apt install gnupg
# Arch / Manjaro
sudo pacman -S gnupg
# Fedora
sudo dnf install gnupg2
Launch
pcalc
Windows: If
pcalcis not recognized, add%APPDATA%\Python\Python3xx\Scriptsto your PATH, or usepython -m pcalc.
Connect calculator
- Turn on your Casio calculator
- Press F1 (USB mass storage mode)
- Connect via USB
- PanCalc Tools detects it automatically
Linux: If not detected, try
udisksctl mount -b /dev/sdb1(check device withlsblk).
Terminal UI
pcalc
Opens the interactive TUI with a sidebar for navigation:
| Button | Action |
|---|---|
| ๐ Home | Dashboard with calculator info & help |
| ๐ Catch | Browse calculator filesystem |
| ๐ฅ Install | Install add-ins from the registry + local |
| ๐ฎ Games | Install/import/remove emulator game ROMs |
| ๐๏ธ Remove | Uninstall add-ins, games, orphans, files |
| ๐ Convert | Convert images/docs to G3P/TXT |
| ๐ค Push | Copy converted files to calculator |
| โ Verify | Check SHA256 of installed add-ins |
| ๐ Registry | Browse add-ins + games with details view |
| ๐ PGP Keys | Manage cryptographic keys |
Additional buttons in specific screens:
| Screen | Button | Action |
|---|---|---|
| Install | ๐ Add Add-in File | Import local .g3a/.g3e to lib |
| Install | ๐๏ธ Remove Local | Remove selected local library items |
| Games | ๐ Add Game File | Import local ROM to library |
| Games | ๐๏ธ Remove Local | Remove selected local library items |
| Home | ๐ Update Registry | Force-refresh from GitHub |
| Home | โ๏ธ Eject | Safely unmount calculator |
CLI Reference
pcalc list / search / info
pcalc list # List all add-ins in the registry
pcalc search calculator # Search by keyword
pcalc info khicas # Show add-in details
pcalc install
pcalc install khicas utilities # Install multiple add-ins
pcalc install --yes khicas # Skip confirmation
pcalc install --overwrite khicas # Overwrite existing files
pcalc remove / rm
pcalc remove khicas # By add-in ID (scans registry)
pcalc rm pthings/fotos/photo.g3p # By relative path
pcalc local
Manage your local library of user-imported files.
pcalc local import myaddin.g3a # Import add-in (copied to library)
pcalc local import game.nes # Import game ROM
pcalc local import --yes file.gba # Skip format validation
pcalc local remove <id> # Remove from library (entry + file)
pcalc local list # List all locally imported items
See LOCAL_LIBRARY.md for details.
pcalc games
Install, import, and remove emulator game ROMs.
pcalc games import game.nes # Import ROM to local library
pcalc games install <id> # Install ROM to calculator
pcalc games remove <id> # Remove ROM from local library
pcalc games list # List available games
See GAMES.md for details.
pcalc verify
pcalc verify # Verify ALL add-ins on calculator
pcalc verify khicas utilities # Verify specific add-ins
Scans the calculator directly โ no local cache needed.
pcalc convert / convpush
pcalc convert photo.png # Image โ G3P
pcalc convert doc.pdf # PDF โ interactive prompt
pcalc convert --g3p doc.pdf # PDF โ G3P only
pcalc convert --txt doc.pdf # PDF โ TXT only
pcalc convert --both doc.pdf # PDF โ G3P + TXT
pcalc convpush # Copy converted files to calculator
Files go to pthings/fotos/ (.g3p) and pthings/textos/ (.txt).
Filenames are sanitized automatically.
pcalc eject / catch
pcalc eject # Safely unmount calculator
pcalc catch # Browse calculator filesystem
pcalc calc # Alias for catch
PGP Keys
pcalc import-key mykey.asc
pcalc list-keys
pcalc trust-key <fingerprint>
pcalc untrust-key <fingerprint>
Input / Output Layout
pancalc-tools/
โโโ convert/ โ Drop files here for conversion
โ โโโ images/ (PNG, JPG, BMP, GIF, TIFF, WebP)
โ โโโ documents/ (PDF, DOCX)
โโโ converted/ โ Converted files appear here
โ โโโ g3p/ (.g3p files)
โ โโโ txt/ (.txt files)
Data Locations
| Data | Location |
|---|---|
| Library (local files) | ~/.local/share/pancalc/library/files/ |
| Library index | ~/.local/share/pancalc/library/library.json |
| Installed DB | ~/.local/share/pancalc/installed.json |
| Registry cache | ~/.cache/pancalc/ |
Security
SHA256 Verification
Every add-in / game in the registry includes a sha256 field. The installer
computes the SHA256 of every downloaded file and aborts on mismatch.
Local library files also have SHA256 โ verified on install.
PGP Signatures
All official registry files are signed with the Pan Devs PGP key. The key is auto-downloaded on first use โ no manual setup required.
- Fingerprint:
C7AD 9689 E894 B261 7EAB CFE2 1A37 0E1B 68A1 94A8 - Algorithm: Ed25519
- Public key:
pandevs.asc
Local library files skip PGP (they came from you, no signature needed).
License
PAN DEVS NON-COMMERCIAL ATTRIBUTION LICENSE v1.0
- Non-commercial use is free with attribution required.
- Commercial use requires a separate paid license.
Contact
pan.devs@proton.me. - AI/ML training on this code is explicitly prohibited.
See LICENSE.md for the full text.
Contributing
Pull requests and issues are welcome. For major changes, please open an issue first to discuss what you'd like to change.
Development setup
git clone https://github.com/pan-devs/pancalc-tools.git
cd pancalc-tools
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Links
- Registry: https://github.com/pan-devs/pancalc-registry
- Issues: https://github.com/pan-devs/pancalc-tools/issues
- Contact: pan.devs@proton.me
- Changelog: CHANGELOG.md
- Architecture: ARCHITECTURE.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pancalc_tools-0.2.4.tar.gz.
File metadata
- Download URL: pancalc_tools-0.2.4.tar.gz
- Upload date:
- Size: 61.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6cb2ebd550df6301594d0aff2bb3901addea3f5cbdd8c0809cb73715fe76929
|
|
| MD5 |
4b9999203df011beb27b5ac495a31c87
|
|
| BLAKE2b-256 |
95edaa63c7e8c358b711e82aa4fe1c69908e0e313792a5b0484fde6767ac46ad
|
Provenance
The following attestation bundles were made for pancalc_tools-0.2.4.tar.gz:
Publisher:
publish.yml on pan-devs/pancalc-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pancalc_tools-0.2.4.tar.gz -
Subject digest:
e6cb2ebd550df6301594d0aff2bb3901addea3f5cbdd8c0809cb73715fe76929 - Sigstore transparency entry: 1816783384
- Sigstore integration time:
-
Permalink:
pan-devs/pancalc-tools@9e9b0d2ce76984b0540cd50215684a308aea5c5f -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/pan-devs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9e9b0d2ce76984b0540cd50215684a308aea5c5f -
Trigger Event:
release
-
Statement type:
File details
Details for the file pancalc_tools-0.2.4-py3-none-any.whl.
File metadata
- Download URL: pancalc_tools-0.2.4-py3-none-any.whl
- Upload date:
- Size: 65.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c25804d38a7337581da13d65409e82b386867ec24c3c52278b4f116f4ab3cb4e
|
|
| MD5 |
f8d0cfaa6cf387384f161065011c7731
|
|
| BLAKE2b-256 |
f404b69bb1707902feac5327696b0dea13d87b4ac4fa631df8ba6bd33aaf3060
|
Provenance
The following attestation bundles were made for pancalc_tools-0.2.4-py3-none-any.whl:
Publisher:
publish.yml on pan-devs/pancalc-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pancalc_tools-0.2.4-py3-none-any.whl -
Subject digest:
c25804d38a7337581da13d65409e82b386867ec24c3c52278b4f116f4ab3cb4e - Sigstore transparency entry: 1816783470
- Sigstore integration time:
-
Permalink:
pan-devs/pancalc-tools@9e9b0d2ce76984b0540cd50215684a308aea5c5f -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/pan-devs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9e9b0d2ce76984b0540cd50215684a308aea5c5f -
Trigger Event:
release
-
Statement type: