Git Product home page Git Product logo

ttyemu's Introduction

Terminal emulator for ASR-33.

screenshot

Features:

  • Pygame and Tkinter frontends.

  • Backends for pty (Linux/Mac) and ssh (Paramiko library)

  • Limits output to an authentic 10 characters per second. Hit F5 to make it go faster (toggle on tkinter frontend, hold on pygame)

  • Sound (with the pygame frontend)! If it's too loud, hit F7 to close the lid.

  • Scrolling (with page up and down - tkinter frontend has a scrollbar)

  • Output a form feed to clear everything

Various bugs and to-dos:

  • No user interface to select between frontends and backends. For now, edit the script.

  • Speed throttling (whether through the backend or throttle.py) does not work well on Linux. It works on WSL, and the last time I checked this technique worked on macOS. You'll still get the 10-chars-per-second output, but interrupting long outputs won't work.

  • Most of the fun termios functions (echoprt, echok, kill, reprint, discard) don't work on WSL

  • Add tty-37 support (half lines, reverse line feed, and lowercase). For now, the forced uppercase can be disabled by editing the upper() function

  • Add backends for wslbridge and msys/cygwin.

  • Improve graphics, better font, allow "ink spread" for overstruck bold.

  • Simulate classical 'stty lcase' line discipline for input of upper/lowercase letters and `{|}~ (part or all of this are broken in modern OSes)

  • Discard and regenerate scrollback to limit memory usage. The AbstractLine class I created should be useful for this, but nothing is hooked up.

ttyemu's People

Contributors

hughpyle avatar random832 avatar

Stargazers

Alexandros Diamantidis avatar Jim Carpenter avatar  avatar Paul G avatar PRince404 avatar  avatar  avatar Michael R. Furman avatar  avatar Matthew W Hume avatar  avatar Ian Stanley avatar  avatar Paula Ash avatar Steve Hagins avatar Maciej Adamowski avatar Corey Darr avatar Christopher Albert avatar Lars Brinkhoff avatar Richard Thomson avatar Lawrence Woodman avatar William Gill avatar  avatar

Watchers

Lawrence Woodman avatar Lars Brinkhoff avatar James Cloos avatar  avatar viv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.