Giter Site home page Giter Site logo

hpgl2tek's Introduction

hpgl2tek: For making graphics and animations on Tektronix storage tube systems

A simulated Tektronix 4010 terminal showing the graphic the Makefile makes: a kind of Hershey fonts "sampler" that says "McTeague et al. US Pat. 3,956,662 Cathode ray storage tube having a target dielectric provided with particulate segments of collector electrode extending therethrough".

This repository contains a collection of Python programs useful for displaying vector graphics on Tektronix 4010-series terminals and on 4050-series computers with the R12 "fast graphics" ROM expansion. One program facilitates the creation of old-fashioned frame-by-frame animations composed of many individual vector graphics frames (which you must film with a camera pointed at the screen). For further documentation and information about software dependencies, please see comments within the programs, which are these:

Converts HPGL files for display on some old Tektronix computers and terminals. This program can compose multiple HPGL files into a single output file after scaling and transforming their contents in various ways. All of this same functionality is available to other programs when this file is used as a module.

Creates HPGL files that contain text rendered in Hershey fonts. The Hershey fonts are free rudimentary vector fonts made by the U.S. Navy in 1967 for use with vector CRT displays. They're still useful in that application, and they're also useful for plotters.

Creates animations for rendering on suitably-equipped Tektronix computers. Reads in a file that uses a hastily-cobbled language to describe a multi-frame vector graphics animation via compositions of lines and moving HPGL file elements. Output may go to an MP4 file for viewing on a modern computer or to a ZIP file containing files that can be used by a Tektronix 4050-series computer with the R12 "fast graphics" ROM pack. (The files must be placed on a tape cartridge or the McGraw 4050 Flash Drive tape drive emulator.)

Chop up an animation ZIP archive to something Flash-drive compatible. The 4050 Flash Drive is an extremely useful device, but it seems like it may have issues handling file numbers greater than 250 or so. (Or this could be the Tek instead.) Some ZIP files have animations with more frames than that, so this file breaks those down into separate zip files that have been renumbered, counting up from 1. No ZIP file will have more than 226 files inside of it.

Utilities for displaying a slideshow of vector graphics files on a Tektronix 4010-series terminal (including the 4006-1) attached to certain configurations of the RC2014 kit computer.

Demo

The included Makefile exercises hpgl2tek.py and text.py to generate a vector graphic suitable for rendering on a Tektronix 4010-compatible terminal. On a modern Unix-alike, you can experience it by opening up an xterm in Tektronix mode (xterm -t -fg green) and typing make show.

Nobody owns hpgl2tek

This collection of utility programs, software libraries, and documentation distributed alongside them are released into the public domain without any warranty. See the LICENSE file for details.

Acknowledgements

It would not have been possible for me to write this software without the help of the following people and resources:

-- Tom Stepleton, 22 May 2024, London

hpgl2tek's People

Contributors

stepleton avatar

Stargazers

Andy Piper avatar

Watchers

 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.