{"id":15170185,"url":"https://github.com/mobluse/python82-scripts","last_synced_at":"2026-02-11T20:06:36.737Z","repository":{"id":242414373,"uuid":"809485449","full_name":"mobluse/python82-scripts","owner":"mobluse","description":"Scripts for the Python82 App in TI-82 Advanced Edition Python Graphing Calculator","archived":false,"fork":false,"pushed_at":"2024-10-29T01:38:03.000Z","size":91,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-02T04:40:14.664Z","etag":null,"topics":["arcade-game","game","micropython","numworks","python","python82","ti-82-advanced-edition-python","ti82py"],"latest_commit_sha":null,"homepage":"https://education.ti.com/fr/software/details/fr/32C1DE09CF514AF1B9B543DECD270F75/ti-82-advanced-edition-python-os","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mobluse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-02T20:22:56.000Z","updated_at":"2024-10-29T01:38:07.000Z","dependencies_parsed_at":"2024-09-04T20:01:09.021Z","dependency_job_id":"4287dbd7-8f1a-42c2-bd06-ccdb945a5728","html_url":"https://github.com/mobluse/python82-scripts","commit_stats":null,"previous_names":["mobluse/python82-scripts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mobluse/python82-scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobluse%2Fpython82-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobluse%2Fpython82-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobluse%2Fpython82-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobluse%2Fpython82-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mobluse","download_url":"https://codeload.github.com/mobluse/python82-scripts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mobluse%2Fpython82-scripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29343683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T18:58:20.535Z","status":"ssl_error","status_checked_at":"2026-02-11T18:56:44.814Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arcade-game","game","micropython","numworks","python","python82","ti-82-advanced-edition-python","ti82py"],"created_at":"2024-09-27T08:00:45.176Z","updated_at":"2026-02-11T20:06:36.721Z","avatar_url":"https://github.com/mobluse.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# python82-scripts\nHere are scripts for the Python82 App in the *TI-82 Advanced Edition Python* graphing calculator. They have been tested with V5.6.3.0017 of the Python82 App. \nThe Python82 programs have uppercase names with a maximum of 8 characters, because that is a limitation in the calculator. For some programs there are also\nversions for CPython (i.e. ordinary Python3) and [Snek](https://sneklang.org/doc/snek.html). They have been tested with Python 3.6.9 and 3.11.2 in Linux, and \nPython 3.12.4 in Windows, and Snek 1.9 in Linux and Windows. The CPython program name ends in _C, and the Snek, ends in _s. In Windows I installed curses for \nCPython using `pip install windows-curses`. In Windows for the Snek version you need to comment the lines with `stdscr.refresh()`, see `flappbat_sw.py`.\n\nI have made a library, AtCo, for each python-type language that contains the differences between the pythons so that the main program can be the same.\n\nIn the Python82 App \"\\x1B[%d;%dm\"%(fg,bg) for changing color doesn't follow the standard for\n[ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code)/[VT100/xterm](https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences)\nescape codes since the color codes are 0-15 in TI-82 Python, and in the standard they are different and have different codes for foreground and \nbackground, respectively, and then you don't need to place them in order, and can change foreground and background independently. Color 8 in Python82, \nbrightest gray, doesn't exist as a one number colorcode in ANSI/VT100/xterm and for that I used the remaining colorcode: bright green. \nI also discovered that \"\\x1B[%d;%dH\"%(row,col) works for positioning the cursor, but that is standard ANSI/VT100/xterm. In Python82 home is at (0, 0), \nbut in the standard, at (1, 1). Also \"\\x1B[2J\" works for clearing the screen, but it also moves the cursor to home, which is non-standard; it should \nstay where it was. \"\\x1B[J\", \"\\x1B[0J\", and \"\\x1B[1J\" are ignored. I also discovered that \"\\x1B[K\" and \"\\x1B[0K\" work as they should; they clear from cursor \nto end of line, but \"\\x1B[1K\" and \"\\x1B[2K\" do the same as \"\\x1B[0K\", which is non-standard. In the ANSI/VT100/xterm standard \"\\x1B[2J\" and \"\\x1B[K\" use\nthe current foreground and background colors, but in Python82 they first change the current colors to black on bright white. \"\\n\" and \"\\b\" work as in the Python3\nshell, but \"\\t\" only types two spaces and doesn't jump to tab stops. \"\\r\" is ignored, but in the Python3 shell move the cursor to the beginning of the \ncurrent line. Do you know what terminal standard TI follows?\n\nIt would be better if the escape codes followed the standard because then students would learn useful and true things and it would be easier to \nget the programs to run in Python or Micropython on other platforms. I don't mean Texas Instruments have to implement all ANSI/VT100/xterm escape codes fully, \nbut those that work should work according to the standard (xterm). But if TI doesn't have time to update them, it's better to keep them as now than to \nremove them completely, because that would make the calculator less useful. Does Python82 support more escape codes? The program COLORS.py can be used to\ndiscover working Escape codes and Control codes.\n\nOne script, FLAPPBAT.py (i.e. Flappy Bat), is an arcade game where you flash illuminate a bat and its food and control the height of a bat using Enter/Entrer\nseveral times to eat moths. The bat and moth move also when it is dark.\nYou need to avoid hitting the lava on the floor and in the ceiling of the cave.\nThis game could be improved to have several moths on screen at the same time at different heights.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobluse%2Fpython82-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmobluse%2Fpython82-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobluse%2Fpython82-scripts/lists"}