{"id":27068313,"url":"https://github.com/a740g/ansi-print-64","last_synced_at":"2026-02-03T18:34:34.337Z","repository":{"id":115303040,"uuid":"590676289","full_name":"a740g/ANSI-Print-64","owner":"a740g","description":"ANSI Escape Sequence Emulation Library for QB64-PE","archived":false,"fork":false,"pushed_at":"2025-01-07T23:23:44.000Z","size":2722,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-05T07:39:23.944Z","etag":null,"topics":["ansi","ansi-colors","ansiart","library","qb64","qb64-pe","qbasic","quickbasic","retro","text-mode"],"latest_commit_sha":null,"homepage":"","language":"QuickBASIC","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a740g.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2023-01-19T00:02:10.000Z","updated_at":"2025-01-07T23:23:47.000Z","dependencies_parsed_at":"2024-03-29T23:34:16.892Z","dependency_job_id":"df643ee3-e768-42c9-a44a-8de0ca8ff08a","html_url":"https://github.com/a740g/ANSI-Print-64","commit_stats":null,"previous_names":["a740g/ansiprint"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/a740g/ANSI-Print-64","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a740g%2FANSI-Print-64","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a740g%2FANSI-Print-64/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a740g%2FANSI-Print-64/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a740g%2FANSI-Print-64/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a740g","download_url":"https://codeload.github.com/a740g/ANSI-Print-64/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a740g%2FANSI-Print-64/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29052635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: 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":["ansi","ansi-colors","ansiart","library","qb64","qb64-pe","qbasic","quickbasic","retro","text-mode"],"created_at":"2025-04-05T20:37:04.419Z","updated_at":"2026-02-03T18:34:34.309Z","avatar_url":"https://github.com/a740g.png","language":"QuickBASIC","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ANSI ESCAPE SEQUENCE EMULATOR\n\nThis is an [ANSI Escape Sequence](https://en.wikipedia.org/wiki/ANSI_escape_code) Emulator library written entirely in [QB64-PE](https://github.com/QB64-Phoenix-Edition/QB64pe).\n\n![Screenshot](screenshots/screenshot1.png)\n![Screenshot](screenshots/screenshot2.png)\n![Screenshot](screenshots/screenshot3.png)\n![Screenshot](screenshots/screenshot4.png)\n\n## FEATURES\n\n- No dependency on third party libraries\n- Works on Windows, Linux \u0026 macOS\n- Works in 32bpp graphics mode emulating text mode colors and true color extensions\n- Supports most common ANSI escape sequences and even some obscure ones\n  - All relevant [ANSI Escape Sequences](https://en.wikipedia.org/wiki/ANSI_escape_code)\n  - All relevant [ANSI.SYS Escape Sequences](https://en.wikipedia.org/wiki/ANSI.SYS)\n  - [PabloDraw](https://github.com/cwensley/pablodraw) 24bpp color escape sequence\n- Supports embedded [ANSI music](docs/ansimtech.txt) - WIP\n- Supports [ANSImation](http://www.roysac.com/ansianim.html) content\n- Support querying width and height of the content in characters - WIP\n- Easy plug-\u0026-play API - OK\n- Loads and renders [ANS](https://en.wikipedia.org/wiki/ANSI_art), ASC, DIZ, NFO and TXT files\n- Includes a demo viewer to show how to use the library\n\n## USAGE\n\n- Clone the repository to a directory of your choice\n- Open Terminal and change to the directory using an appropriate OS command\n- Run `git submodule update --init --recursive` to initialize, fetch and checkout git submodules\n- Open *ANSIPrint64.bas* in the QB64-PE IDE and press `F5` to compile and run\n- To use the library in your project add the [Toolbox64](https://github.com/a740g/Toolbox64) repository as a [Git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules)\n\n## API\n\n```VB\n' Easy top-level API (call and forget style)\nSUB ANSI_Print (sANSI AS STRING)\n\n' Core library functions (if more control is required)\nSUB ANSI_InitializeEmulator\nSUB ANSI_ResetEmulator\nSUB ANSI_SetEmulationSpeed (nCPS AS LONG)\nFUNCTION ANSI_PrintCharacter%% (ch AS _UNSIGNED _BYTE)\nFUNCTION ANSI_PrintString%% (s AS STRING)\n\n' Library support functions\nSUB ANSI_SetTextCanvasColor (c AS _UNSIGNED LONG, isBackground AS LONG, isLegacy AS LONG)\nFUNCTION ANSI_GetTextCanvasWidth\u0026\nFUNCTION ANSI_GetTextCanvasHeight\u0026\nSUB ANSI_ClearTextCanvasArea (l AS LONG, t AS LONG, r AS LONG, b AS LONG)\n```\n\n## FAQ\n\nWhat can I do with this?\n\n- Anything you want! Use it in games, demos or for writing pretty text mode user interfaces and output.\n\nCan you implement feature x / y?\n\n- With the limited time I have between my day job, home and family, there is only so much I can do. I do maintain a list of TODO (see below). However, those do not have any set deadlines. If you need something implemented, submit a GitHub issue about it or do it yourself and submit a PR.\n\nI found a bug. How can I help?\n\n- Let me know using GitHub issues or fix it yourself and submit a PR!\n\nCan this be used in a game / demo?\n\n- Absolutely. The demo code included in a good example.\n\n## NOTES\n\n- This requires the latest version of [QB64-PE](https://github.com/QB64-Phoenix-Edition/QB64pe)\n- The renderer is designed for QB64's 32BPP graphics Window. Legacy `SCREEN`s will not work\n- This is WIP. So, expect things to change and break. There are some bugs and quirks that needs to be worked out\n- When you clone a repository that contains submodules, the submodules are not automatically cloned by default\n- You will need to use the `git submodule update --init --recursive` to initialize, fetch and checkout git submodules\n\n## BIBLIOGRAPHY\n\n- [ANSI Escape Sequences](https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797) by Christian Petersen\n- [ANSI escape code](https://en.wikipedia.org/wiki/ANSI_escape_code) from Wikipedia\n- [ANSI.SYS](https://en.wikipedia.org/wiki/ANSI.SYS) from Wikipedia\n- [Console Virtual Terminal Sequences](https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences) by Microsoft\n- [ANSI.SYS Documentation](https://learn.microsoft.com/en-us/previous-versions/tn-archive/cc722862(v=technet.10)) by Microsoft\n- [ANSI.SYS Documentation and Reference](http://www.roysac.com/learn/ansisys.html) by Carsten Cumbrowski\n- [ANSIPLUS Escape Sequences](http://www.sweger.com/ansiplus/EscSeq.html) by Kristofer Sweger\n- [NANSI.SYS Documentation](docs/nansi.txt) by Daniel Kegel\n- [NNANSI.COM Documentation](docs/nnansi.txt) by Tom Almy\n- [ANSI Color Codes](https://talyian.github.io/ansicolors/) by Jimmy Tang\n- [SAUCE – Standard Architecture for Universal Comment Extensions](https://www.acid.org/info/sauce/sauce.htm) by Olivier \"Tasmaniac\" Reubens / ACiD\n- [ANSI Music](docs/ansimtech.txt) by unknown\n- Various resources and information from \u003chttps://16colo.rs/\u003e, \u003chttp://www.roysac.com/\u003e and \u003chttps://int10h.org/\u003e\n\n## ASSETS\n\n[Icon](https://www.iconarchive.com/artist/designcontest.html) by DesignContest\n\n## CREDITS\n\n[Rick Christy (grymmjack)](https://github.com/grymmjack) for pointing out issues and helping me with invaluable resources. This project includes some of his [artwork](https://16colo.rs/artist/grymmjack) for testing. Thanks Rick!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa740g%2Fansi-print-64","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa740g%2Fansi-print-64","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa740g%2Fansi-print-64/lists"}