Skip to content

Releases: ChartreuseK/PETTERM

PETTERM 0.5.0

29 Sep 08:09
Compare
Choose a tag to compare

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)

PETTERM 0.4.0

05 Aug 04:27
Compare
Choose a tag to compare

A much desired improvement, PETTERM can now handle 600 and 1200 baud.

Usage

  • Off/Rvs key acts as a Ctrl key.
  • Clr/Home opens up the PETTERM menu for changing baudrate and character set modes
  • PET cursor keys work as expected
  • Inst/Del is a backspace key
  • Terminal emulates a limited set of ANSI escape codes which should work for most simple uses.

Hardware changes required

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 4kB 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.3.1:

  • Re-wrote serial recieve routines to use interrupt triggered start bit
    • Now Requires a jumper between pin B and C on the userport header. This is the same as most VIC-20 and C64 serial adapters so little change should be required
  • Allows for significantly faster serial code with less overhead as we don't have to oversample by 3x anymore
  • 600 and 1200 baud works and appears to be stable
    • 80 column PETs maypossibly have rare issues at 1200 baud if too many newlines are sent in a row due to the time needed to scroll the screen.
  • Significantly optimized screen handling code
  • Fixed keyboard arrow keys bug
  • Improved character rendering, all ASCII characters should look as close to correct as possible.
    • ~ is rendered as an inverted T block drawing character,
    • Backtick as top left backwards L block drawing character

PETTERM 0.3.1

11 Jan 23:27
Compare
Choose a tag to compare

The long awaited fixing of 0.3.0 (hopefully)

Changes from 0.3.0:

  • Significantly sped up keyboard scanning, no longer causes missed bits at 300 baud
  • Baud rates >300 no longer can be selected. (They weren't working yet anyways)
  • A simple inverted block cursor, now you can finally see where the cursor is!
  • Slight optimizations

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 4kB of RAM.
  • Requires only a simple two wire serial interface.

Rx (to the PET) should be connected to pin C 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

v0.3.0

01 Mar 05:20
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

PETTERM 0.3.0

DO NOT USE -- Broken receive handling!

This release supports both uppercase only and mixed case terminal support. Limited ANSI is supported, mostly related to cursor movement, as well as clearing the screen.

  • Can work with a 40 column PET with a Graphics layout keyboard (either chicklet or typewriter style).
  • Also supports 80 column PETs with Business keyboard (Separate build _80B)
  • 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 4kB of RAM.
  • Requires only a simple two wire serial interface.

Rx (to the PET) should be connected to pin C of the user-port.
Tx (from the PET) should be connected to pin M of the user-port.

Serial should be TTL level (0-5v, though 3.3v should work as well), with idle being represented by a logical high, and the start bit by a low.

The release zip file contains the program as both a TAP and PRG file. The TAP can be converted to a wav to load from cassette. The PRG can be saved onto a diskette, or added to a TAP file. The program is a standard program, and once loaded onto the PET can be saved again to disk or tape.

Changelog

  • 0.2.0
    • First semi-public release
    • Added configuration menu for baud, mixed case support
  • 0.2.1
    • Added control key support (OFF/RVS key)
    • Added ability to re-open menu (CLR/HOME key)
  • 0.2.2
    • Inverted mixed-case, was backwards compared with real hardware.
  • 0.3.0
    * Re-wrote keyboard shift handling.
    * Added compile time support for 80 column, business layout machines
    * Made _ and | display correctly in PETSCII

v0.2.2

19 Nov 04:13
Compare
Choose a tag to compare
v0.2.2 Pre-release
Pre-release

PETTERM 0.2.2

Initial GitHub release. This release supports both uppercase only and mixed case terminal support. Limited ANSI is supported, mostly related to cursor movement, as well as clearing the screen.

  • Expects a 40 column PET with a Graphics layout keyboard (either chicklet or typewriter style).
  • 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 4kB of RAM.
  • Requires only a simple two wire serial interface.

Rx (to the PET) should be connected to pin C of the user-port.
Tx (from the PET) should be connected to pin M of the user-port.

Serial should be TTL level (0-5v, though 3.3v should work as well), with idle being represented by a logical high, and the start bit by a low.

The release zip file contains the program as both a TAP and PRG file. The TAP can be converted to a wav to load from cassette. The PRG can be saved onto a diskette, or added to a TAP file. The program is a standard program, and once loaded onto the PET can be saved again to disk or tape.

Changelog

  • 0.2.0
    • First semi-public release
    • Added configuration menu for baud, mixed case support
  • 0.2.1
    • Added control key support (OFF/RVS key)
    • Added ability to re-open menu (CLR/HOME key)
  • 0.2.2
    • Inverted mixed-case, was backwards compared with real hardware.