#!/bin/sh # # Show a CP437 encoded file, with optional character delay. # cleanup() { sleep 1 stty "$oldtty" screen -X kill screen -X utf8 off exit } usage() { echo "usage: showibm [-d delay] [file ...]" >&2; exit 1; } delay=0 while getopts ":d:" c do case "$c" in d) delay=$OPTARG;; :|'?') usage;; esac done shift $(($OPTIND - 1)) trap 'cleanup' 1 2 3 13 15 screen -X utf8 on screen -X exec !.. l2uof cp437 oldtty=$(stty -g) stty cbreak cat "$@" | perl -e ' $| = 1; my $c; while (read(STDIN, $c, 1)) { print $c; for ($i = 0; $i < '$delay'; $i++) {} } ' cleanup .