Skip to content

PETTERM 0.5.0

Latest
Compare
Choose a tag to compare
@ChartreuseK ChartreuseK released this 29 Sep 08:09
· 94 commits to master since this release

PETTERM can now handle 2400 baud, along with much improved ANSI terminal compatibility.
Requires 8kB of RAM, for 4kB PET's please use the previous version for now.

Usage

  • Off/Rvs key acts as a Ctrl key.
  • Clr/Home opens up the PETTERM menu for changing baud rate and character set modes
  • PET cursor keys work as expected
  • Inst/Del is a backspace key
  • Additional shifted keys to improve *nix usability:
    • Shift-@ = ~
    • Shift-' = `
    • Shift-[ = {
    • Shift-] = }
    • Shift-^ (up arrow) = |
  • Run/Stop sends Ctrl-C
  • Other keys can be sent by their control code:
    • Tab = Ctrl-I
    • Esc = Ctrl-[ (For Alt/Meta, send Esc then the key)
  • Terminal emulates ANSI escape codes (supports all required by ansi TERMCAP/TERMINFO)

Hardware changes required

If coming from a version prior to 0.4.0, a connection between pin C and B of the user-port is required. Adapters meant for VIC-20 or C64 use should already have this present.
This change is required for all baud rates in this version.

Features

  • Can work with a 40 or 80 column PETs with either the graphics or business keyboard.
  • Can be loaded from tape or disk.
  • Works on all versions of BASIC including the oldest PET 2001s with BASIC 1.
  • Can work with as low as 8kB of RAM.
  • Requires only a simple two wire serial interface.

Rx (to the PET) should be connected to pin C AND pin B of the user-port.
Tx (from the PET) should be connected to pin M of the user-port.
Don't forget the ground connection to either pin N or Pin 1

Files:

  • petterm40G - 40 column PETs with graphics keyboard (eg 2001, some 4032)
  • petterm40B - 40 column PETs with buisness keyboard
  • petterm80G - 80 column PETs with graphics keyboard
  • petterm80B - 80 column PETs with buisness keyboard

PRG files are the native programs, can be added to a tape or disk image
TAP files are tape images

Changes from 0.4.0

  • Re-written, vastly more complete ANSI escape code handler
  • NOW REQUIRES a PET with at least 8kB of RAM (For 4k PETs stick with the 0.4 series 0.3.1)
    This was a consequence of the new escape code parser being much larger
  • Improved keyboard and serial handling allowing for 2400 baud.
  • Optimizations for screen/ansi handling
  • More improved character rendering (backtick and curly braces)
  • Added extra shift codes to keyboard
    Shift-@ = ~ Shift-' = ` Shift-[ = { Shift-] = }
    Shift-^ (up arrow) = |

If connecting to a *nix shell, set the following environment variables:

     TERM=ansi
     COLUMNS=40
     LINES=25
     LANG=C

These should work well for most programs, PETTERM should support every escape sequence used by the ansi TERMCAP/TERMINFO
Tested with:

  • ls, vim, nano, elinks (web-browsing on the PET!),
  • top (not recommended even at 2400 as it buffers quite a bit of text between keypress checks)
  • minicom (for nesting your serial terminals of course)
    alpine (a bit cramped at 40 columns)