DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ e

⟦cfcd86727⟧

    Length: 42480 (0xa5f0)
    Names: »emulator«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« 
        └─⟦2109abc41⟧ 
            └─ ⟦this⟧ »./X.V10R4/libibm/doc/emulator« 

Hex Dump

0x0000…0020 2e 52 50 0a 2e 54 4c 0a 45 4d 55 4c 41 54 4f 52 53 20 49 4e 20 57 4f 52 4b 53 54 41 54 49 4f 4e   ┆.RP .TL EMULATORS IN WORKSTATION┆
0x0020…0040 20 55 4e 49 58 0a 2e 41 55 0a 42 79 20 44 61 76 69 64 20 4f 2e 20 42 75 6e 64 79 0a 52 65 73 65   ┆ UNIX .AU By David O. Bundy Rese┆
0x0040…0060 61 72 63 68 20 53 79 73 74 65 6d 20 50 72 6f 67 72 61 6d 6d 65 72 20 66 6f 72 20 41 43 49 53 2f   ┆arch System Programmer for ACIS/┆
0x0060…0080 49 42 4d 0a 2e 41 4c 0a 2e 41 49 0a 49 6e 73 74 69 74 75 74 65 20 66 6f 72 20 52 65 73 65 61 72   ┆IBM .AL .AI Institute for Resear┆
0x0080…00a0 63 68 20 69 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 53 63 68 6f 6c 61 72 73 68 69   ┆ch in Information and Scholarshi┆
0x00a0…00c0 70 0a 42 72 6f 77 6e 20 55 6e 69 76 65 72 73 69 74 79 0a 50 72 6f 76 69 64 65 6e 63 65 2c 20 52   ┆p Brown University Providence, R┆
0x00c0…00e0 68 6f 64 65 20 49 73 6c 61 6e 64 20 30 32 39 31 32 0a 2e 41 42 0a 54 68 69 73 20 70 61 70 65 72   ┆hode Island 02912 .AB This paper┆
0x00e0…0100 20 65 78 70 6c 61 69 6e 73 20 74 68 65 20 6e 65 65 64 20 66 6f 72 20 61 6e 64 20 64 65 73 69 67   ┆ explains the need for and desig┆
0x0100…0120 6e 20 6f 66 20 45 6d 75 6c 61 74 6f 72 73 20 69 6e 0a 57 6f 72 6b 73 74 61 74 69 6f 6e 20 55 4e   ┆n of Emulators in Workstation UN┆
0x0120…0140 49 58 2e 0a 54 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 6f 66 20 74 68 69 73 20 65 6d 75 6c   ┆IX. The development of this emul┆
0x0140…0160 61 74 6f 72 20 70 61 63 6b 61 67 65 20 75 6e 64 65 72 20 55 4e 49 58 20 77 61 73 20 64 72 69 76   ┆ator package under UNIX was driv┆
0x0160…0180 65 6e 20 62 79 20 74 68 65 0a 66 61 63 74 20 74 68 61 74 20 74 68 65 20 65 78 69 73 74 69 6e 67   ┆en by the fact that the existing┆
0x0180…01a0 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69 6e 65 20 61 6e 64 20 63 6f 6e 73 6f 6c 65 20 64 72 69   ┆ line discipline and console dri┆
0x01a0…01c0 76 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 6f 20 6e 6f 74 0a 73 75 70 70 6f 72 74 20 74 68 65   ┆ver interface do not support the┆
0x01c0…01e0 20 63 6f 6d 70 6c 65 78 69 74 69 65 73 20 6f 66 20 74 6f 64 61 79 27 73 20 6e 65 77 20 77 6f 72   ┆ complexities of today's new wor┆
0x01e0…0200 6b 73 74 61 74 69 6f 6e 73 2e 0a 54 68 65 20 63 6f 6d 70 6c 65 78 69 74 69 65 73 20 61 72 65 20   ┆kstations. The complexities are ┆
0x0200…0220 74 68 61 74 20 74 6f 64 61 79 27 73 20 77 6f 72 6b 73 74 61 74 69 6f 6e 73 20 64 6f 20 6e 6f 74   ┆that today's workstations do not┆
0x0220…0240 20 63 6f 6e 73 69 73 74 20 6f 66 20 64 75 6d 62 0a 68 61 72 64 63 6f 70 79 20 74 65 72 6d 69 6e   ┆ consist of dumb hardcopy termin┆
0x0240…0260 61 6c 73 20 6f 72 20 63 68 61 72 61 63 74 65 72 20 6f 72 69 65 6e 74 65 64 20 63 6f 6e 73 6f 6c   ┆als or character oriented consol┆
0x0260…0280 65 73 20 62 75 74 0a 65 6c 61 62 6f 72 61 74 65 20 62 69 74 6d 61 70 70 65 64 20 64 69 73 70 6c   ┆es but elaborate bitmapped displ┆
0x0280…02a0 61 79 73 20 77 69 74 68 20 61 6e 20 61 73 73 6f 72 74 6d 65 6e 74 0a 6f 66 20 73 69 7a 65 73 2c   ┆ays with an assortment of sizes,┆
0x02a0…02c0 20 64 65 6e 73 69 74 69 65 73 2c 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 61 6e 64 20 70 72   ┆ densities, capabilities, and pr┆
0x02c0…02e0 6f 74 6f 63 6f 6c 73 2e 0a 57 6f 72 6b 73 74 61 74 69 6f 6e 73 20 61 6c 73 6f 20 69 6e 63 6c 75   ┆otocols. Workstations also inclu┆
0x02e0…0300 64 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 6b 65 79 62 6f 61 72 64 73 0a 61 6e 64 20 6d   ┆de sophisticated keyboards and m┆
0x0300…0320 69 63 65 20 74 68 61 74 20 61 72 65 20 73 65 70 61 72 61 74 65 20 66 72 6f 6d 20 74 68 65 20 74   ┆ice that are separate from the t┆
0x0320…0340 65 72 6d 69 6e 61 6c 20 68 61 72 64 77 61 72 65 0a 61 6e 64 20 6e 65 65 64 20 61 20 64 69 66 66   ┆erminal hardware and need a diff┆
0x0340…0360 65 72 65 6e 74 20 64 65 76 69 63 65 20 64 72 69 76 65 72 2e 0a 54 6f 20 66 75 72 74 68 65 72 20   ┆erent device driver. To further ┆
0x0360…0380 63 6f 6d 70 6c 69 63 61 74 65 20 74 68 69 6e 67 73 2c 20 77 65 20 63 61 6e 20 68 61 6e 67 20 61   ┆complicate things, we can hang a┆
0x0380…03a0 20 6d 6f 75 73 65 20 6f 66 66 20 61 6e 79 20 73 65 72 69 61 6c 0a 70 6f 72 74 20 73 75 70 70 6f   ┆ mouse off any serial port suppo┆
0x03a0…03c0 72 74 65 64 20 62 79 20 74 68 65 20 77 6f 72 6b 73 74 61 74 69 6f 6e 20 61 6e 64 20 65 78 70 65   ┆rted by the workstation and expe┆
0x03c0…03e0 63 74 20 74 68 65 73 65 20 6d 69 63 65 20 74 6f 20 69 6e 74 65 72 61 63 74 20 77 69 74 68 20 74   ┆ct these mice to interact with t┆
0x03e0…0400 68 65 0a 63 6f 6e 73 6f 6c 65 2e 20 20 4c 61 73 74 6c 79 2c 20 79 6f 75 20 63 61 6e 20 68 61 76   ┆he console.  Lastly, you can hav┆
0x0400…0420 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 63 6f 6e 73 6f 6c 65 20 6f 72 20 6d 6f 75 73 65   ┆e more than one console or mouse┆
0x0420…0440 20 6f 6e 20 74 68 65 20 0a 77 6f 72 6b 73 74 61 74 69 6f 6e 20 73 69 6d 75 6c 74 61 6e 65 6f 75   ┆ on the  workstation simultaneou┆
0x0440…0460 73 6c 79 2e 0a 54 68 65 20 63 68 61 6c 6c 65 6e 67 65 20 69 73 20 74 6f 20 64 65 76 65 6c 6f 70   ┆sly. The challenge is to develop┆
0x0460…0480 20 61 20 70 61 63 6b 61 67 65 20 74 6f 20 77 68 69 63 68 20 69 74 20 69 73 20 65 61 73 79 20 74   ┆ a package to which it is easy t┆
0x0480…04a0 6f 20 61 64 64 20 65 78 69 73 74 69 6e 67 20 61 6e 64 0a 6e 65 77 20 64 65 76 69 63 65 73 2e 20   ┆o add existing and new devices. ┆
0x04a0…04c0 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 73 68 6f 75 6c 64 20 62 65 20 66 6c 65 78 69 62 6c 65   ┆ This package should be flexible┆
0x04c0…04e0 20 65 6e 6f 75 67 68 20 74 6f 20 68 61 6e 64 6c 65 20 61 6e 79 0a 63 6f 6d 62 69 6e 61 74 69 6f   ┆ enough to handle any combinatio┆
0x04e0…0500 6e 20 61 6e 64 20 6e 75 6d 62 65 72 20 6f 66 20 64 65 76 69 63 65 73 20 61 74 20 74 68 65 20 73   ┆n and number of devices at the s┆
0x0500…0520 61 6d 65 20 74 69 6d 65 2e 0a 2e 41 45 0a 2e 4e 48 0a 48 69 73 74 6f 72 79 0a 2e 50 50 0a 49 6e   ┆ame time. .AE .NH History .PP In┆
0x0520…0540 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 55 4e 49 58 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 64 72   ┆ traditional UNIX the console dr┆
0x0540…0560 69 76 65 72 20 74 61 6b 65 73 20 63 68 61 72 61 63 74 65 72 20 69 6e 70 75 74 0a 66 72 6f 6d 20   ┆iver takes character input from ┆
0x0560…0580 61 20 68 61 72 64 63 6f 70 79 20 74 65 72 6d 69 6e 61 6c 2c 20 73 65 6e 64 20 69 74 20 74 6f 20   ┆a hardcopy terminal, send it to ┆
0x0580…05a0 74 68 65 20 73 65 6c 65 63 74 65 64 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69 6e 65 20 74 6f 20   ┆the selected line discipline to ┆
0x05a0…05c0 64 6f 0a 61 6e 79 20 66 69 6c 74 65 72 69 6e 67 2c 20 61 6e 64 20 74 68 65 6e 20 65 63 68 6f 20   ┆do any filtering, and then echo ┆
0x05c0…05e0 74 68 65 20 63 68 61 72 61 63 74 65 72 20 62 61 63 6b 20 74 6f 0a 74 68 65 20 63 6f 6e 73 6f 6c   ┆the character back to the consol┆
0x05e0…0600 65 20 62 79 20 70 61 73 73 69 6e 67 20 69 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 68 61 72 64   ┆e by passing it back to the hard┆
0x0600…0620 77 61 72 65 20 77 69 74 68 0a 61 70 70 72 6f 70 72 69 61 74 65 20 70 61 72 69 74 79 2e 0a 54 68   ┆ware with appropriate parity. Th┆
0x0620…0640 65 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69 6e 65 20 66 69 6c 74 65 72 20 70 65 72 66 6f 72 6d   ┆e line discipline filter perform┆
0x0640…0660 73 20 61 6e 79 20 73 70 65 63 69 61 6c 20 66 75 6e 63 74 69 6f 6e 73 20 64 65 70 65 6e 64 69 6e   ┆s any special functions dependin┆
0x0660…0680 67 20 6f 6e 0a 74 68 65 20 64 61 74 61 20 70 61 73 73 65 64 20 28 65 2e 67 2e 20 6f 6e 20 72 65   ┆g on the data passed (e.g. on re┆
0x0680…06a0 63 65 69 76 69 6e 67 20 61 20 64 65 6c 65 74 65 20 63 68 61 72 61 63 74 65 72 0a 74 68 65 20 6c   ┆ceiving a delete character the l┆
0x06a0…06c0 69 6e 65 20 64 69 73 63 69 70 6c 69 6e 65 20 73 65 6e 64 73 20 61 20 73 69 67 6e 61 6c 20 74 6f   ┆ine discipline sends a signal to┆
0x06c0…06e0 20 74 68 65 20 70 72 6f 63 65 73 73 0a 72 75 6e 6e 69 6e 67 20 6f 6e 20 74 68 65 20 63 6f 6e 73   ┆ the process running on the cons┆
0x06e0…0700 6f 6c 65 29 2e 0a 2e 50 50 0a 45 76 65 6e 74 75 61 6c 6c 79 20 6e 6f 6e 2d 68 61 72 64 63 6f 70   ┆ole). .PP Eventually non-hardcop┆
0x0700…0720 79 20 63 6f 6e 73 6f 6c 65 73 20 77 69 74 68 20 6d 6f 72 65 20 69 6e 74 65 6c 6c 69 67 65 6e 63   ┆y consoles with more intelligenc┆
0x0720…0740 65 20 61 70 70 65 61 72 65 64 2c 0a 77 68 69 63 68 20 63 6f 75 6c 64 0a 64 65 63 69 70 68 65 72   ┆e appeared, which could decipher┆
0x0740…0760 20 73 70 65 63 69 61 6c 20 63 68 61 72 61 63 74 65 72 20 73 65 71 75 65 6e 63 65 73 20 66 6f 72   ┆ special character sequences for┆
0x0760…0780 20 64 69 73 70 6c 61 79 69 6e 67 0a 63 68 61 72 61 63 74 65 72 73 20 77 69 74 68 20 64 69 66 66   ┆ displaying characters with diff┆
0x0780…07a0 65 72 65 6e 74 0a 61 74 74 72 69 62 75 74 65 73 20 6f 72 20 61 74 20 61 6e 79 20 6c 6f 63 61 74   ┆erent attributes or at any locat┆
0x07a0…07c0 69 6f 6e 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2e 0a 55 4e 49 58 20 77 61 73 20 65 78 70 61   ┆ion on the screen. UNIX was expa┆
0x07c0…07e0 6e 64 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 69 73 20 77 69 74 68 20 74 68 65 20 64 65 76   ┆nded to handle this with the dev┆
0x07e0…0800 65 6c 6f 70 6d 65 6e 74 20 6f 66 20 74 68 65 0a 74 65 72 6d 63 61 70 20 70 61 63 6b 61 67 65 20   ┆elopment of the termcap package ┆
0x0800…0820 77 68 69 63 68 0a 64 65 73 63 72 69 62 65 73 20 61 6e 79 20 70 61 72 74 69 63 75 6c 61 72 20 63   ┆which describes any particular c┆
0x0820…0840 6f 6e 73 6f 6c 65 20 77 69 74 68 69 6e 20 61 20 63 65 72 74 61 69 6e 20 73 65 74 20 6f 66 0a 63   ┆onsole within a certain set of c┆
0x0840…0860 61 70 61 62 69 6c 69 74 69 65 73 20 61 6e 64 20 68 6f 77 20 6f 70 65 72 61 74 69 6f 6e 73 20 61   ┆apabilities and how operations a┆
0x0860…0880 72 65 20 70 65 72 66 6f 72 6d 65 64 0a 6f 6e 20 74 68 61 74 20 63 6f 6e 73 6f 6c 65 2e 20 20 41   ┆re performed on that console.  A┆
0x0880…08a0 6c 6c 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 72 65 70 72 65 73 65 6e 74   ┆ll this information is represent┆
0x08a0…08c0 65 64 20 69 6e 20 66 69 78 65 64 20 72 75 6c 65 73 20 69 6e 20 61 0a 74 65 72 6d 63 61 70 20 64   ┆ed in fixed rules in a termcap d┆
0x08c0…08e0 61 74 61 20 62 61 73 65 20 66 6f 72 20 65 61 73 79 20 61 63 63 65 73 73 2e 0a 2e 50 50 0a 42 79   ┆ata base for easy access. .PP By┆
0x08e0…0900 20 67 69 76 69 6e 67 20 74 68 65 20 75 73 65 72 20 61 20 73 6f 66 74 77 61 72 65 20 70 61 63 6b   ┆ giving the user a software pack┆
0x0900…0920 61 67 65 20 77 68 69 63 68 20 72 65 61 64 73 20 69 6e 20 61 6e 79 20 70 61 72 74 69 63 75 6c 61   ┆age which reads in any particula┆
0x0920…0940 72 0a 74 65 72 6d 69 6e 61 6c 27 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68   ┆r terminal's information from th┆
0x0940…0960 65 20 74 68 65 20 74 65 72 6d 63 61 70 20 64 61 74 61 20 62 61 73 65 20 61 6e 64 20 70 65 72 66   ┆e the termcap data base and perf┆
0x0960…0980 6f 72 6d 73 20 61 6e 79 0a 72 65 71 75 65 73 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 61 73 65   ┆orms any requested function base┆
0x0980…09a0 64 20 6f 6e 20 74 68 61 74 20 74 65 72 6d 69 6e 61 6c 27 73 20 63 61 70 61 62 69 6c 69 74 69 65   ┆d on that terminal's capabilitie┆
0x09a0…09c0 73 2c 20 74 68 65 20 75 73 65 72 20 69 73 20 6e 6f 77 0a 72 65 6c 69 65 76 65 64 20 66 72 6f 6d   ┆s, the user is now relieved from┆
0x09c0…09e0 20 6b 6e 6f 77 69 6e 67 20 77 68 61 74 20 68 61 72 64 77 61 72 65 20 68 65 2f 73 68 65 20 69 73   ┆ knowing what hardware he/she is┆
0x09e0…0a00 20 63 6f 64 69 6e 67 20 74 6f 2e 0a 54 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 6e 6c 79   ┆ coding to. The application only┆
0x0a00…0a20 20 6e 65 65 64 73 20 74 6f 20 6b 6e 6f 77 20 77 68 61 74 20 66 75 6e 63 74 69 6f 6e 73 20 61 72   ┆ needs to know what functions ar┆
0x0a20…0a40 65 20 61 76 61 69 6c 61 62 6c 65 0a 69 6e 20 74 68 65 20 74 65 72 6d 63 61 70 20 74 6f 6f 6c 62   ┆e available in the termcap toolb┆
0x0a40…0a60 6f 78 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 77 6f 72 6b 20 6f 6e 20 61 6e 79 20 74 65 72 6d 69   ┆ox in order to work on any termi┆
0x0a60…0a80 6e 61 6c 2e 0a 2e 50 50 0a 54 68 65 20 63 6f 6d 69 6e 62 61 74 69 6f 6e 20 6f 66 20 74 68 65 20   ┆nal. .PP The cominbation of the ┆
0x0a80…0aa0 74 65 72 6d 63 61 70 20 64 61 74 61 20 62 61 73 65 20 61 6e 64 20 6c 69 6e 65 20 64 69 73 63 69   ┆termcap data base and line disci┆
0x0aa0…0ac0 70 6c 69 6e 65 20 66 69 6c 74 65 72 69 6e 67 20 77 61 73 0a 73 75 66 66 69 63 69 65 6e 74 20 62   ┆pline filtering was sufficient b┆
0x0ac0…0ae0 75 74 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 6f 64 61 79 27 73 20 6e 65 77 20   ┆ut does not support today's new ┆
0x0ae0…0b00 63 6f 6d 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 62 69 74 6d 61 70 20 64 69 73 70 6c 61 79 73   ┆complications of bitmap displays┆
0x0b00…0b20 20 61 6e 64 0a 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 6b 65 79 62 6f 61 72 64 73 2f 6d 69 63   ┆ and sophisticated keyboards/mic┆
0x0b20…0b40 65 2e 0a 2e 4e 48 0a 54 6f 64 61 79 73 20 57 6f 72 6b 73 74 61 74 69 6f 6e 73 0a 2e 50 50 0a 54   ┆e. .NH Todays Workstations .PP T┆
0x0b40…0b60 68 65 20 66 69 72 73 74 20 70 72 6f 62 6c 65 6d 20 69 73 20 74 68 61 74 20 62 69 74 6d 61 70 20   ┆he first problem is that bitmap ┆
0x0b60…0b80 64 69 73 70 6c 61 79 73 20 61 72 65 20 6e 6f 74 20 63 68 61 72 61 63 74 65 72 20 6f 72 69 65 6e   ┆displays are not character orien┆
0x0b80…0ba0 74 65 64 20 73 6f 20 79 6f 75 0a 63 61 6e 20 6e 6f 74 20 73 65 6e 64 20 61 20 63 68 61 72 61 63   ┆ted so you can not send a charac┆
0x0ba0…0bc0 74 65 72 20 74 6f 20 74 68 65 20 64 69 73 70 6c 61 79 20 61 6e 64 20 68 61 76 65 20 69 74 20 61   ┆ter to the display and have it a┆
0x0bc0…0be0 70 70 65 61 72 20 6f 6e 20 74 68 65 0a 73 63 72 65 65 6e 2e 20 20 53 65 63 6f 6e 64 2c 20 62 69   ┆ppear on the screen.  Second, bi┆
0x0be0…0c00 74 6d 61 70 20 64 69 73 70 6c 61 79 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 63 61 70 61 62 69   ┆tmap displays do not have capabi┆
0x0c00…0c20 6c 69 74 69 65 73 20 74 68 61 74 20 66 69 74 20 69 6e 74 6f 0a 74 68 65 20 6e 6f 72 6d 61 6c 20   ┆lities that fit into the normal ┆
0x0c20…0c40 74 65 72 6d 63 61 70 20 64 61 74 61 20 62 61 73 65 20 28 65 2e 67 2e 20 74 68 65 72 65 20 69 73   ┆termcap data base (e.g. there is┆
0x0c40…0c60 20 6e 6f 20 63 68 61 72 61 63 74 65 72 20 73 65 71 75 65 6e 63 65 20 74 6f 20 74 65 6c 6c 20 74   ┆ no character sequence to tell t┆
0x0c60…0c80 68 65 0a 64 69 73 70 6c 61 79 20 77 68 65 72 65 20 74 6f 20 70 75 74 20 61 20 63 68 61 72 61 63   ┆he display where to put a charac┆
0x0c80…0ca0 74 65 72 29 2e 20 20 4c 61 73 74 6c 79 20 74 68 65 20 6e 65 77 20 6b 65 79 62 6f 61 72 64 73 20   ┆ter).  Lastly the new keyboards ┆
0x0ca0…0cc0 61 6e 64 20 6d 69 63 65 20 61 72 65 0a 73 65 70 61 72 61 74 65 64 20 66 72 6f 6d 20 74 68 65 20   ┆and mice are separated from the ┆
0x0cc0…0ce0 64 69 73 70 6c 61 79 20 61 6e 64 20 64 6f 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 73 63 69 69 20   ┆display and do not return ascii ┆
0x0ce0…0d00 63 68 61 72 61 63 74 65 72 73 2c 20 62 75 74 20 63 6f 64 65 73 0a 77 68 69 63 68 20 6d 75 73 74   ┆characters, but codes which must┆
0x0d00…0d20 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 61 74   ┆ be translated to determine what┆
0x0d20…0d40 20 61 63 74 69 6f 6e 20 68 61 73 20 74 61 6b 65 6e 20 70 6c 61 63 65 0a 28 75 70 20 61 6e 64 20   ┆ action has taken place (up and ┆
0x0d40…0d60 64 6f 77 6e 20 6b 65 79 20 74 72 61 6e 73 69 74 69 6f 6e 73 2c 20 65 74 63 2e 29 2e 0a 2e 50 50   ┆down key transitions, etc.). .PP┆
0x0d60…0d80 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 69 6e 74 65 67 72 61 74 65 20 74 68 69 73 0a 69 6e 74 6f   ┆ In order to integrate this into┆
0x0d80…0da0 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 73 79 73 74 65 6d 2c 20 69 74 20 77 61 73 20 64 65 74   ┆ the existing system, it was det┆
0x0da0…0dc0 65 72 6d 69 6e 65 64 20 74 68 61 74 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 77 61 73 20 6e 65   ┆ermined that an extension was ne┆
0x0dc0…0de0 65 64 65 64 0a 74 6f 20 74 68 65 20 6e 6f 72 6d 61 6c 20 63 6f 6e 73 6f 6c 65 2f 6c 69 6e 65 20   ┆eded to the normal console/line ┆
0x0de0…0e00 64 69 73 63 69 70 6c 69 6e 65 20 73 74 72 75 63 74 75 72 65 2e 0a 2e 50 50 0a 42 65 66 6f 72 65   ┆discipline structure. .PP Before┆
0x0e00…0e20 20 6c 69 73 74 69 6e 67 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 65   ┆ listing the requirements of the┆
0x0e20…0e40 20 65 6d 75 6c 61 74 6f 72 20 70 61 63 6b 61 67 65 2c 0a 49 20 77 69 6c 6c 20 65 78 70 6c 61 69   ┆ emulator package, I will explai┆
0x0e40…0e60 6e 20 61 6e 64 20 63 6f 6d 70 61 72 65 20 77 68 61 74 0a 61 20 6c 69 6e 65 20 64 69 73 63 69 70   ┆n and compare what a line discip┆
0x0e60…0e80 6c 69 6e 65 20 61 6e 64 20 61 6e 20 65 6d 75 6c 61 74 6f 72 20 61 72 65 20 61 6e 64 20 77 68 61   ┆line and an emulator are and wha┆
0x0e80…0ea0 74 20 65 61 63 68 20 69 73 20 75 73 65 64 20 66 6f 72 2e 0a 54 68 69 73 20 77 69 6c 6c 20 68 65   ┆t each is used for. This will he┆
0x0ea0…0ec0 6c 70 20 69 6e 20 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 20 77 68 79 20 74 68 65 0a 2e 75 6c 0a   ┆lp in understanding why the .ul ┆
0x0ec0…0ee0 65 6d 75 6c 61 74 6f 72 20 70 61 63 6b 61 67 65 0a 77 61 73 20 6e 65 65 64 65 64 2e 0a 2e 4e 48   ┆emulator package was needed. .NH┆
0x0ee0…0f00 0a 57 68 61 74 20 69 73 20 61 20 4c 69 6e 65 20 44 69 73 63 69 70 6c 69 6e 65 3f 0a 2e 50 50 0a   ┆ What is a Line Discipline? .PP ┆
0x0f00…0f20 41 0a 2e 75 6c 0a 6c 69 6e 65 20 64 69 73 63 69 70 6c 69 6e 65 0a 61 63 74 73 20 6c 69 6b 65 20   ┆A .ul line discipline acts like ┆
0x0f20…0f40 61 20 66 69 6c 74 65 72 20 62 65 74 77 65 65 6e 20 74 68 65 20 75 73 65 72 0a 61 6e 64 20 63 6f   ┆a filter between the user and co┆
0x0f40…0f60 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 68 61 72 64 77 61 72 65 20 6f 6e 20 74 68 65 20 77 6f 72 6b   ┆mmunication hardware on the work┆
0x0f60…0f80 73 74 61 74 69 6f 6e 2e 0a 41 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69 6e 65 20 69 73 20 61 20   ┆station. A line discipline is a ┆
0x0f80…0fa0 66 6f 72 6d 20 6f 66 20 68 69 67 68 65 72 20 6c 65 76 65 6c 20 73 6f 66 74 77 61 72 65 20 63 6f   ┆form of higher level software co┆
0x0fa0…0fc0 6e 74 72 6f 6c 6c 65 72 20 66 6f 72 0a 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 6c 69 6e 65 73   ┆ntroller for communication lines┆
0x0fc0…0fe0 2e 20 20 45 73 73 65 6e 74 69 61 6c 6c 79 2c 20 61 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69 6e   ┆.  Essentially, a line disciplin┆
0x0fe0…1000 65 20 77 69 6c 6c 20 62 75 66 66 65 72 20 74 68 65 20 75 73 65 72 0a 66 72 6f 6d 20 68 61 6e 64   ┆e will buffer the user from hand┆
0x1000…1020 6c 69 6e 67 20 74 68 65 20 64 61 74 61 20 73 74 72 65 61 6d 20 72 65 73 70 6f 6e 73 69 62 69 6c   ┆ling the data stream responsibil┆
0x1020…1040 69 74 69 65 73 20 66 72 6f 6d 2f 74 6f 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 6c 69 6e 65   ┆ities from/to communication line┆
0x1040…1060 73 2e 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 73 74 20 73 75 6d 6d 61 72 69 7a 65 73   ┆s. The following list summarizes┆
0x1060…1080 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 74 68 65 20 73 74 61 6e 64 61 72 64   ┆ the functions that the standard┆
0x1080…10a0 0a 74 65 72 6d 69 6e 61 6c 2d 6f 72 69 65 6e 74 65 64 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69   ┆ terminal-oriented line discipli┆
0x10a0…10c0 6e 65 73 20 68 61 6e 64 6c 65 3a 0a 2e 52 53 0a 2e 49 50 20 31 2e 0a 49 6e 70 75 74 20 6c 69 6e   ┆nes handle: .RS .IP 1. Input lin┆
0x10c0…10e0 65 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 61 6e 64 20 69 6e 70 75 74 20 65 64 69 74 69   ┆es are collected and input editi┆
0x10e0…1100 6e 67 20 69 73 20 70 72 6f 76 69 64 65 64 2e 0a 54 68 65 20 65 64 69 74 65 64 20 6c 69 6e 65 20   ┆ng is provided. The edited line ┆
0x1100…1120 69 73 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 69 74 20 69 73 20 63 6f 6d   ┆is made available when it is com┆
0x1120…1140 70 6c 65 74 65 64 20 62 79 20 61 20 6e 65 77 6c 69 6e 65 20 6f 72 0a 77 68 65 6e 20 61 6e 20 45   ┆pleted by a newline or when an E┆
0x1140…1160 4f 54 20 28 65 6e 64 20 6f 66 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 29 0a 69 73 20 64 65 74 65   ┆OT (end of transmission) is dete┆
0x1160…1180 63 74 65 64 2e 20 20 41 20 6c 69 6e 65 20 77 69 6c 6c 20 62 65 20 62 75 66 66 65 72 65 64 20 75   ┆cted.  A line will be buffered u┆
0x1180…11a0 70 20 74 6f 20 32 35 36 20 63 68 61 72 61 63 74 65 72 73 2e 0a 2e 49 50 20 32 2e 0a 41 6e 79 20   ┆p to 256 characters. .IP 2. Any ┆
0x11a0…11c0 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 73 20 63 61 6e 20 62 65 20 6d 61 70 70 65 64 20 74   ┆input characters can be mapped t┆
0x11c0…11e0 6f 20 73 70 65 63 69 61 6c 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 6c 69 6e 65 20 65 64 69   ┆o special functions for line edi┆
0x11e0…1200 74 69 6e 67 20 6f 72 0a 69 6e 74 65 72 72 75 70 74 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 2e 49   ┆ting or interrupt generation. .I┆
0x1200…1220 50 20 33 2e 0a 49 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 62 75 66 66 65 72   ┆P 3. Input characters are buffer┆
0x1220…1240 65 64 20 69 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 63 61 6e 20 6e 6f 74 20 72 65 61 64 20 74   ┆ed if the process can not read t┆
0x1240…1260 68 65 20 64 61 74 61 0a 66 61 73 74 65 72 20 74 68 61 6e 20 69 74 20 69 73 20 72 65 63 65 69 76   ┆he data faster than it is receiv┆
0x1260…1280 65 64 2e 0a 2e 49 50 20 34 2e 0a 4f 75 74 70 75 74 20 70 72 6f 63 65 73 73 69 6e 67 20 6c 69 6b   ┆ed. .IP 4. Output processing lik┆
0x1280…12a0 65 20 64 65 6c 61 79 20 67 65 6e 65 72 61 74 69 6f 6e 2c 20 74 61 62 20 65 78 70 61 6e 73 69 6f   ┆e delay generation, tab expansio┆
0x12a0…12c0 6e 2c 0a 65 72 61 73 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 73   ┆n, erasing characters from the s┆
0x12c0…12e0 63 72 65 65 6e 20 6f 6e 20 69 6e 70 75 74 20 65 64 69 74 69 6e 67 2c 20 65 63 68 6f 69 6e 67 20   ┆creen on input editing, echoing ┆
0x12e0…1300 6f 66 20 63 6f 6e 74 72 6f 6c 0a 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 6f 74 68 65 72 20   ┆of control characters and other ┆
0x1300…1320 75 6e 70 72 69 6e 74 61 62 6c 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 73 70 65 63 69 61   ┆unprintable characters in specia┆
0x1320…1340 6c 20 66 6f 72 6d 61 74 73 2c 20 61 6e 64 20 6f 74 68 65 72 0a 66 75 6e 63 74 69 6f 6e 73 20 73   ┆l formats, and other functions s┆
0x1340…1360 75 63 68 20 61 73 20 6d 61 70 70 69 6e 67 20 6c 6f 77 65 72 20 63 61 73 65 20 63 68 61 72 61 63   ┆uch as mapping lower case charac┆
0x1360…1380 74 65 72 73 20 74 6f 20 75 70 70 65 72 20 63 61 73 65 20 66 6f 72 20 74 65 72 6d 69 6e 61 6c 73   ┆ters to upper case for terminals┆
0x1380…13a0 0a 74 68 61 74 20 6f 6e 6c 79 20 68 61 6e 64 6c 65 20 75 70 70 65 72 20 63 61 73 65 2e 0a 2e 49   ┆ that only handle upper case. .I┆
0x13a0…13c0 50 20 35 2e 0a 46 6c 6f 77 20 63 6f 6e 74 72 6f 6c 20 66 6f 72 20 6f 75 74 70 75 74 20 70 72 6f   ┆P 5. Flow control for output pro┆
0x13c0…13e0 63 65 73 73 69 6e 67 2e 20 20 54 68 69 73 20 63 6f 6e 73 69 73 74 20 6f 66 20 63 6f 6e 74 72 6f   ┆cessing.  This consist of contro┆
0x13e0…1400 6c 6c 69 6e 67 20 74 68 65 20 66 6c 6f 77 0a 62 65 74 77 65 65 6e 20 74 68 65 20 70 72 6f 63 65   ┆lling the flow between the proce┆
0x1400…1420 73 73 20 73 65 6e 64 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 74 68 65 20 64 69   ┆ss sending characters and the di┆
0x1420…1440 73 70 6c 61 79 2e 20 20 54 68 65 20 6c 69 6e 65 0a 64 69 73 63 69 70 6c 69 6e 65 20 77 69 6c 6c   ┆splay.  The line discipline will┆
0x1440…1460 20 62 75 66 66 65 72 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 6f   ┆ buffer data from the process to┆
0x1460…1480 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2f 64 69 73 70 6c 61 79 20 61 6e 64 0a 73 75 73 70 65 6e   ┆ the terminal/display and suspen┆
0x1480…14a0 64 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 66 20 64 61 74 61 20 69 73 20 61 72 72 69 76 69 6e   ┆d the process if data is arrivin┆
0x14a0…14c0 67 20 66 61 73 74 65 72 20 74 68 65 6e 20 74 68 65 20 64 69 73 70 6c 61 79 20 63 61 6e 20 73 68   ┆g faster then the display can sh┆
0x14c0…14e0 6f 77 0a 69 74 2e 0a 2e 49 50 20 36 2e 0a 41 20 75 73 65 72 20 63 61 6e 20 63 6f 6e 74 72 6f 6c   ┆ow it. .IP 6. A user can control┆
0x14e0…1500 20 74 68 65 20 6f 75 74 70 75 74 20 66 6c 6f 77 20 62 79 20 74 79 70 69 6e 67 20 73 70 65 63 69   ┆ the output flow by typing speci┆
0x1500…1520 61 6c 20 63 6f 6e 74 72 6f 6c 0a 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 66 6c 75 73 68 20 74   ┆al control characters to flush t┆
0x1520…1540 68 65 20 6f 75 74 70 75 74 2c 20 61 6e 64 20 73 74 6f 70 2f 73 74 61 72 74 20 74 68 65 20 6f 75   ┆he output, and stop/start the ou┆
0x1540…1560 74 70 75 74 2e 0a 2e 49 50 20 37 2e 0a 4f 74 68 65 72 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69   ┆tput. .IP 7. Other line discipli┆
0x1560…1580 6e 65 73 20 61 6c 6c 6f 77 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 69 6e 70 75 74 2f 6f 75 74 70   ┆nes allow some or all input/outp┆
0x1580…15a0 75 74 20 70 72 6f 63 65 73 73 69 6e 67 20 74 6f 20 62 65 0a 65 78 63 6c 75 64 65 64 20 73 6f 20   ┆ut processing to be excluded so ┆
0x15a0…15c0 74 68 61 74 20 63 68 61 72 61 63 74 65 72 20 62 79 20 63 68 61 72 61 63 74 65 72 20 69 6e 70 75   ┆that character by character inpu┆
0x15c0…15e0 74 20 6f 72 20 72 61 77 20 64 61 74 61 20 63 61 6e 20 62 65 20 61 63 63 65 70 74 65 64 2e 0a 2e   ┆t or raw data can be accepted. .┆
0x15e0…1600 49 50 20 38 2e 0a 4f 74 68 65 72 20 6c 69 6e 65 20 64 69 73 63 69 70 6c 69 6e 65 73 20 6b 6e 6f   ┆IP 8. Other line disciplines kno┆
0x1600…1620 77 20 61 62 6f 75 74 20 63 65 72 74 61 69 6e 20 70 72 6f 74 6f 63 6f 6c 73 20 74 68 61 74 20 6d   ┆w about certain protocols that m┆
0x1620…1640 61 79 20 63 6f 6d 65 20 69 6e 0a 6f 6e 20 6e 65 74 77 6f 72 6b 65 64 20 63 6f 6d 6d 75 6e 69 63   ┆ay come in on networked communic┆
0x1640…1660 61 74 69 6f 6e 20 6c 69 6e 65 73 2e 0a 2e 52 45 0a 2e 50 50 0a 4c 69 6e 65 20 64 69 73 63 69 70   ┆ation lines. .RE .PP Line discip┆
0x1660…1680 6c 69 6e 65 20 66 69 6c 74 65 72 69 6e 67 20 69 73 20 76 65 72 79 20 70 6f 77 65 72 66 75 6c 0a   ┆line filtering is very powerful ┆
0x1680…16a0 61 6e 64 20 69 6d 70 6f 72 74 61 6e 74 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6d 70 6c   ┆and important but does not compl┆
0x16a0…16c0 65 74 65 6c 79 20 73 61 74 69 73 66 79 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f   ┆etely satisfy the requirements o┆
0x16c0…16e0 66 0a 74 6f 64 61 79 27 73 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 64 65 76 69 63 65 73 2e 20   ┆f today's input/output devices. ┆
0x16e0…1700 20 54 68 65 20 6d 61 6a 6f 72 0a 64 65 66 69 63 69 65 6e 63 79 20 69 73 20 74 68 61 74 20 77 65   ┆ The major deficiency is that we┆
0x1700…1720 20 6e 65 65 64 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 6d 6f 72 65 20 74 68 61 6e 20 63 68 61   ┆ need to deal with more than cha┆
0x1720…1740 72 61 63 74 65 72 20 64 61 74 61 0a 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 2e 0a 2e 4e 48 0a 57 68   ┆racter data manipulation. .NH Wh┆
0x1740…1760 61 74 20 69 73 20 61 6e 20 45 6d 75 6c 61 74 6f 72 3f 0a 2e 50 50 0a 42 69 74 6d 61 70 20 74 65   ┆at is an Emulator? .PP Bitmap te┆
0x1760…1780 72 6d 69 6e 61 6c 73 20 61 72 65 20 62 69 74 20 61 64 64 72 65 73 73 61 62 6c 65 20 61 6e 64 0a   ┆rminals are bit addressable and ┆
0x1780…17a0 64 6f 20 6e 6f 74 20 64 65 61 6c 20 77 69 74 68 20 63 68 61 72 61 63 74 65 72 73 20 62 75 74 20   ┆do not deal with characters but ┆
0x17a0…17c0 77 69 74 68 20 74 75 72 6e 69 6e 67 20 6f 6e 2f 6f 66 66 20 61 6e 64 20 6d 6f 76 69 6e 67 0a 62   ┆with turning on/off and moving b┆
0x17c0…17e0 69 74 73 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2e 20 20 54 6f 20 72 65 70 72 65 73 65 6e 74   ┆its on the screen.  To represent┆
0x17e0…1800 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e 20 74 68 65 20 73 63 72 65 65   ┆ a single character on the scree┆
0x1800…1820 6e 20 61 20 62 69 74 6d 61 70 0a 74 65 72 6d 69 6e 61 6c 20 6d 75 73 74 20 68 61 76 65 20 61 20   ┆n a bitmap terminal must have a ┆
0x1820…1840 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 61 74 20 64 69 66 66 65 72 65 6e 74 20 6c 6f 63 61   ┆number of bits at different loca┆
0x1840…1860 74 69 6f 6e 73 20 74 75 72 6e 65 64 20 6f 6e 2f 6f 66 66 2e 0a 54 6f 20 73 63 72 6f 6c 6c 20 61   ┆tions turned on/off. To scroll a┆
0x1860…1880 20 62 69 74 6d 61 70 20 73 63 72 65 65 6e 20 79 6f 75 20 6d 75 73 74 20 6d 6f 76 65 20 61 6c 6c   ┆ bitmap screen you must move all┆
0x1880…18a0 20 74 68 65 20 62 69 74 73 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 20 75 70 20 61 0a 6c 69 6e   ┆ the bits on the screen up a lin┆
0x18a0…18c0 65 20 61 6e 64 20 74 75 72 6e 20 6f 66 66 20 74 68 65 20 62 69 74 73 20 6f 6e 20 74 68 65 20 62   ┆e and turn off the bits on the b┆
0x18c0…18e0 6f 74 74 6f 6d 20 6c 69 6e 65 20 77 69 74 68 20 61 6c 6c 20 74 68 69 73 20 64 65 70 65 6e 64 69   ┆ottom line with all this dependi┆
0x18e0…1900 6e 67 20 6f 6e 0a 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 66 6f 6e 74 20 75 73 65 64 20   ┆ng on the size of the font used ┆
0x1900…1920 65 74 63 2e 2e 20 20 53 6f 6d 65 20 62 69 74 6d 61 70 20 74 65 72 6d 69 6e 61 6c 73 20 77 69 6c   ┆etc..  Some bitmap terminals wil┆
[…truncated at 200 lines…]