home *** CD-ROM | disk | FTP | other *** search
view JSON data
|
view as text
|
open on a Mac
|
open on a PC
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: 28
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news or mail text
| default
| |
99%
| file
| C source text
| default
| |
98%
| file
| C source, ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/rfc822
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 6a 70 | 6e 40 74 65 64 64 79 2e |From: jp|n@teddy.|
|00000010| 55 55 43 50 20 28 4a 6f | 68 6e 20 50 2e 20 4e 65 |UUCP (Jo|hn P. Ne|
|00000020| 6c 73 6f 6e 29 0a 4e 65 | 77 73 67 72 6f 75 70 73 |lson).Ne|wsgroups|
|00000030| 3a 20 63 6f 6d 70 2e 73 | 6f 75 72 63 65 73 2e 6d |: comp.s|ources.m|
|00000040| 69 73 63 0a 53 75 62 6a | 65 63 74 3a 20 4d 69 63 |isc.Subj|ect: Mic|
|00000050| 72 6f 47 6e 75 20 66 6f | 72 20 4d 53 44 4f 53 0a |roGnu fo|r MSDOS.|
|00000060| 4d 65 73 73 61 67 65 2d | 49 44 3a 20 3c 34 32 31 |Message-|ID: <421|
|00000070| 35 40 6e 63 6f 61 73 74 | 2e 55 55 43 50 3e 0a 44 |5@ncoast|.UUCP>.D|
|00000080| 61 74 65 3a 20 32 30 20 | 41 75 67 20 38 37 20 30 |ate: 20 |Aug 87 0|
|00000090| 31 3a 35 33 3a 32 38 20 | 47 4d 54 0a 53 65 6e 64 |1:53:28 |GMT.Send|
|000000a0| 65 72 3a 20 61 6c 6c 62 | 65 72 79 40 6e 63 6f 61 |er: allb|ery@ncoa|
|000000b0| 73 74 2e 55 55 43 50 0a | 4f 72 67 61 6e 69 7a 61 |st.UUCP.|Organiza|
|000000c0| 74 69 6f 6e 3a 20 47 65 | 6e 52 61 64 2c 20 49 6e |tion: Ge|nRad, In|
|000000d0| 63 2e 2c 20 43 6f 6e 63 | 6f 72 64 2c 20 4d 61 73 |c., Conc|ord, Mas|
|000000e0| 73 2e 0a 4c 69 6e 65 73 | 3a 20 31 32 35 30 0a 41 |s..Lines|: 1250.A|
|000000f0| 70 70 72 6f 76 65 64 3a | 20 61 6c 6c 62 65 72 79 |pproved:| allbery|
|00000100| 40 6e 63 6f 61 73 74 2e | 55 55 43 50 0a 58 2d 41 |@ncoast.|UUCP.X-A|
|00000110| 72 63 68 69 76 65 3a 20 | 63 6f 6d 70 2e 73 6f 75 |rchive: |comp.sou|
|00000120| 72 63 65 73 2e 6d 69 73 | 63 2f 38 37 30 38 2f 32 |rces.mis|c/8708/2|
|00000130| 38 0a 0a 0a 4d 69 63 72 | 6f 47 6e 75 2c 20 49 20 |8...Micr|oGnu, I |
|00000140| 61 6d 20 67 69 76 69 6e | 67 20 75 70 2c 20 61 6e |am givin|g up, an|
|00000150| 64 20 70 6f 73 74 69 6e | 67 20 74 68 69 73 20 74 |d postin|g this t|
|00000160| 6f 20 74 68 65 20 77 6f | 72 6c 64 2e 20 20 54 68 |o the wo|rld. Th|
|00000170| 69 73 20 69 73 20 61 6e | 0a 75 70 64 61 74 65 20 |is is an|.update |
|00000180| 74 6f 20 74 68 65 20 4d | 69 63 72 6f 47 6e 75 20 |to the M|icroGnu |
|00000190| 31 2e 30 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |1.0 dist|ribution|
|000001a0| 20 74 68 61 74 20 73 75 | 70 70 6f 72 74 73 20 49 | that su|pports I|
|000001b0| 42 4d 2f 4d 53 44 4f 53 | 0a 6f 70 65 72 61 74 69 |BM/MSDOS|.operati|
|000001c0| 6f 6e 2e 20 20 54 68 69 | 73 20 69 73 20 61 20 73 |on. Thi|s is a s|
|000001d0| 68 65 6c 6c 20 61 72 63 | 68 69 76 65 2c 20 73 75 |hell arc|hive, su|
|000001e0| 69 74 61 62 6c 65 20 66 | 6f 72 20 65 78 74 72 61 |itable f|or extra|
|000001f0| 63 74 69 6f 6e 20 75 6e | 64 65 72 0a 55 4e 49 58 |ction un|der.UNIX|
|00000200| 2e 20 20 49 74 20 77 69 | 6c 6c 20 65 78 74 72 61 |. It wi|ll extra|
|00000210| 63 74 20 74 74 79 2f 69 | 62 6d 62 69 6f 73 20 61 |ct tty/i|bmbios a|
|00000220| 6e 64 20 73 79 73 2f 6d | 73 64 6f 73 20 64 69 72 |nd sys/m|sdos dir|
|00000230| 65 63 74 6f 72 69 65 73 | 2e 20 20 54 68 65 0a 73 |ectories|. The.s|
|00000240| 6f 75 72 63 65 20 69 73 | 20 76 65 72 69 66 69 65 |ource is| verifie|
|00000250| 64 20 74 6f 20 77 6f 72 | 6b 20 75 6e 64 65 72 20 |d to wor|k under |
|00000260| 4d 69 63 72 6f 73 6f 66 | 74 20 43 20 34 2e 30 0a |Microsof|t C 4.0.|
|00000270| 0a 54 68 69 73 20 76 65 | 72 73 69 6f 6e 20 6f 66 |.This ve|rsion of|
|00000280| 20 4d 53 44 4f 53 20 6d | 67 20 75 73 65 73 20 42 | MSDOS m|g uses B|
|00000290| 49 4f 53 20 63 61 6c 6c | 73 20 65 78 63 6c 75 73 |IOS call|s exclus|
|000002a0| 69 76 65 6c 79 2e 20 20 | 54 68 69 73 20 6d 61 6b |ively. |This mak|
|000002b0| 65 73 20 69 74 20 61 0a | 62 69 74 20 6d 6f 72 65 |es it a.|bit more|
|000002c0| 20 70 6f 72 74 61 62 6c | 65 2c 20 61 74 20 74 68 | portabl|e, at th|
|000002d0| 65 20 65 78 70 65 6e 73 | 65 20 6f 66 20 73 70 65 |e expens|e of spe|
|000002e0| 65 64 2e 20 20 4f 62 76 | 69 6f 75 73 20 61 72 65 |ed. Obv|ious are|
|000002f0| 61 73 20 66 6f 72 0a 65 | 6e 68 61 6e 63 65 6d 65 |as for.e|nhanceme|
|00000300| 6e 74 3a 20 20 73 75 70 | 70 6f 72 74 20 73 63 72 |nt: sup|port scr|
|00000310| 65 65 6e 20 66 6f 72 6d | 61 74 73 20 6f 74 68 65 |een form|ats othe|
|00000320| 72 20 74 68 61 6e 20 38 | 30 20 78 20 32 35 20 28 |r than 8|0 x 25 (|
|00000330| 61 6c 6c 20 69 74 20 77 | 6f 75 6c 64 0a 74 61 6b |all it w|ould.tak|
|00000340| 65 20 69 73 20 63 6f 64 | 65 20 74 6f 20 72 65 63 |e is cod|e to rec|
|00000350| 6f 67 6e 69 7a 65 20 61 | 20 64 69 66 66 65 72 65 |ognize a| differe|
|00000360| 6e 74 20 73 63 72 65 65 | 6e 20 73 69 7a 65 29 2e |nt scree|n size).|
|00000370| 20 20 54 68 69 73 20 63 | 6f 64 65 0a 69 6d 70 6c | This c|ode.impl|
|00000380| 65 6d 65 6e 74 73 20 74 | 69 6d 65 6f 75 74 20 70 |ements t|imeout p|
|00000390| 72 6f 6d 70 74 73 2c 20 | 74 68 65 20 41 4c 54 20 |rompts, |the ALT |
|000003a0| 6b 65 79 20 61 73 20 6d | 65 74 61 2c 20 66 75 6e |key as m|eta, fun|
|000003b0| 63 74 69 6f 6e 20 6b 65 | 79 73 2c 20 64 69 73 70 |ction ke|ys, disp|
|000003c0| 6c 61 79 0a 6f 66 20 38 | 20 62 69 74 20 64 61 74 |lay.of 8| bit dat|
|000003d0| 61 2c 20 65 6e 74 65 72 | 69 6e 67 20 38 20 62 69 |a, enter|ing 8 bi|
|000003e0| 74 20 64 61 74 61 20 28 | 75 73 65 20 41 4c 54 2d |t data (|use ALT-|
|000003f0| 44 44 44 20 74 6f 20 65 | 6e 74 65 72 20 61 20 22 |DDD to e|nter a "|
|00000400| 66 75 6e 6e 79 22 0a 63 | 68 61 72 61 63 74 65 72 |funny".c|haracter|
|00000410| 2e 29 0a 0a 4e 6f 74 65 | 20 74 68 61 74 20 74 68 |.)..Note| that th|
|00000420| 65 72 65 20 69 73 20 6f | 6e 65 20 61 73 73 65 6d |ere is o|ne assem|
|00000430| 62 6c 79 20 6c 61 6e 67 | 75 61 67 65 20 66 69 6c |bly lang|uage fil|
|00000440| 65 20 28 73 69 6e 63 65 | 20 74 68 65 20 4d 53 43 |e (since| the MSC|
|00000450| 20 34 2e 30 20 6c 69 62 | 72 61 72 79 0a 69 73 20 | 4.0 lib|rary.is |
|00000460| 66 6c 61 77 65 64 29 2c | 20 62 75 74 20 49 20 68 |flawed),| but I h|
|00000470| 61 76 65 20 69 6e 63 6c | 75 64 65 64 20 74 68 65 |ave incl|uded the|
|00000480| 20 75 75 65 6e 63 6f 64 | 65 64 20 6f 62 6a 65 63 | uuencod|ed objec|
|00000490| 74 20 66 69 6c 65 20 66 | 6f 72 20 74 68 6f 73 65 |t file f|or those|
|000004a0| 20 77 69 74 68 6f 75 74 | 0a 61 6e 20 61 73 73 65 | without|.an asse|
|000004b0| 6d 62 6c 65 72 2e 0a 0a | 0a 4a 6f 68 6e 20 50 2e |mbler...|.John P.|
|000004c0| 20 4e 65 6c 73 6f 6e 0a | 20 20 20 64 65 63 76 61 | Nelson.| decva|
|000004d0| 78 21 67 65 6e 72 61 64 | 21 74 65 64 64 79 21 6a |x!genrad|!teddy!j|
|000004e0| 70 6e 0a 20 20 20 73 65 | 69 73 6d 6f 21 6d 69 74 |pn. se|ismo!mit|
|000004f0| 2d 65 64 64 69 65 21 67 | 65 6e 72 61 64 21 74 65 |-eddie!g|enrad!te|
|00000500| 64 64 79 21 6a 70 6e 0a | 20 20 20 41 52 50 41 21 |ddy!jpn.| ARPA!|
|00000510| 74 61 6c 63 6f 74 74 21 | 70 61 6e 64 61 21 74 65 |talcott!|panda!te|
|00000520| 64 64 79 21 6a 70 6e 0a | 0a 2d 2d 2d 2d 2d 2d 2d |ddy!jpn.|.-------|
|00000530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 20 |--------|------- |
|00000540| 63 75 74 20 68 65 72 65 | 20 2d 2d 2d 2d 2d 2d 2d |cut here| -------|
|00000550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000560| 2d 2d 2d 2d 2d 0a 23 21 | 20 2f 62 69 6e 2f 73 68 |-----.#!| /bin/sh|
|00000570| 0a 23 20 54 68 69 73 20 | 69 73 20 61 20 73 68 65 |.# This |is a she|
|00000580| 6c 6c 20 61 72 63 68 69 | 76 65 2c 20 6d 65 61 6e |ll archi|ve, mean|
|00000590| 69 6e 67 3a 0a 23 20 31 | 2e 20 52 65 6d 6f 76 65 |ing:.# 1|. Remove|
|000005a0| 20 65 76 65 72 79 74 68 | 69 6e 67 20 61 62 6f 76 | everyth|ing abov|
|000005b0| 65 20 74 68 65 20 23 21 | 20 2f 62 69 6e 2f 73 68 |e the #!| /bin/sh|
|000005c0| 20 6c 69 6e 65 2e 0a 23 | 20 32 2e 20 53 61 76 65 | line..#| 2. Save|
|000005d0| 20 74 68 65 20 72 65 73 | 75 6c 74 69 6e 67 20 74 | the res|ulting t|
|000005e0| 65 78 74 20 69 6e 20 61 | 20 66 69 6c 65 2e 0a 23 |ext in a| file..#|
|000005f0| 20 33 2e 20 45 78 65 63 | 75 74 65 20 74 68 65 20 | 3. Exec|ute the |
|00000600| 66 69 6c 65 20 77 69 74 | 68 20 2f 62 69 6e 2f 73 |file wit|h /bin/s|
|00000610| 68 20 28 6e 6f 74 20 63 | 73 68 29 20 74 6f 20 63 |h (not c|sh) to c|
|00000620| 72 65 61 74 65 20 74 68 | 65 20 66 69 6c 65 73 3a |reate th|e files:|
|00000630| 0a 23 09 73 79 73 0a 23 | 09 74 74 79 0a 23 20 54 |.#.sys.#|.tty.# T|
|00000640| 68 69 73 20 61 72 63 68 | 69 76 65 20 63 72 65 61 |his arch|ive crea|
|00000650| 74 65 64 3a 20 54 68 75 | 20 4a 75 6c 20 33 30 20 |ted: Thu| Jul 30 |
|00000660| 31 33 3a 32 36 3a 31 33 | 20 31 39 38 37 0a 65 78 |13:26:13| 1987.ex|
|00000670| 70 6f 72 74 20 50 41 54 | 48 3b 20 50 41 54 48 3d |port PAT|H; PATH=|
|00000680| 2f 62 69 6e 3a 24 50 41 | 54 48 0a 69 66 20 74 65 |/bin:$PA|TH.if te|
|00000690| 73 74 20 21 20 2d 64 20 | 27 73 79 73 27 0a 74 68 |st ! -d |'sys'.th|
|000006a0| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 63 |en..echo| shar: c|
|000006b0| 72 65 61 74 69 6e 67 20 | 64 69 72 65 63 74 6f 72 |reating |director|
|000006c0| 79 20 22 27 73 79 73 27 | 22 0a 09 6d 6b 64 69 72 |y "'sys'|"..mkdir|
|000006d0| 20 27 73 79 73 27 0a 66 | 69 0a 69 66 20 74 65 73 | 'sys'.f|i.if tes|
|000006e0| 74 20 21 20 2d 64 20 27 | 73 79 73 2f 6d 73 64 6f |t ! -d '|sys/msdo|
|000006f0| 73 27 0a 74 68 65 6e 0a | 09 65 63 68 6f 20 73 68 |s'.then.|.echo sh|
|00000700| 61 72 3a 20 63 72 65 61 | 74 69 6e 67 20 64 69 72 |ar: crea|ting dir|
|00000710| 65 63 74 6f 72 79 20 22 | 27 73 79 73 2f 6d 73 64 |ectory "|'sys/msd|
|00000720| 6f 73 27 22 0a 09 6d 6b | 64 69 72 20 27 73 79 73 |os'"..mk|dir 'sys|
|00000730| 2f 6d 73 64 6f 73 27 0a | 66 69 0a 65 63 68 6f 20 |/msdos'.|fi.echo |
|00000740| 73 68 61 72 3a 20 65 78 | 74 72 61 63 74 69 6e 67 |shar: ex|tracting|
|00000750| 20 22 27 73 79 73 2f 6d | 73 64 6f 73 2f 74 74 79 | "'sys/m|sdos/tty|
|00000760| 69 6f 2e 63 27 22 20 27 | 28 31 36 36 34 20 63 68 |io.c'" '|(1664 ch|
|00000770| 61 72 61 63 74 65 72 73 | 29 27 0a 69 66 20 74 65 |aracters|)'.if te|
|00000780| 73 74 20 2d 66 20 27 73 | 79 73 2f 6d 73 64 6f 73 |st -f 's|ys/msdos|
|00000790| 2f 74 74 79 69 6f 2e 63 | 27 0a 74 68 65 6e 0a 09 |/ttyio.c|'.then..|
|000007a0| 65 63 68 6f 20 73 68 61 | 72 3a 20 77 69 6c 6c 20 |echo sha|r: will |
|000007b0| 6e 6f 74 20 6f 76 65 72 | 2d 77 72 69 74 65 20 65 |not over|-write e|
|000007c0| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 22 27 73 |xisting |file "'s|
|000007d0| 79 73 2f 6d 73 64 6f 73 | 2f 74 74 79 69 6f 2e 63 |ys/msdos|/ttyio.c|
|000007e0| 27 22 0a 65 6c 73 65 0a | 63 61 74 20 3c 3c 20 5c |'".else.|cat << \|
|000007f0| 53 48 41 52 5f 45 4f 46 | 20 3e 20 27 73 79 73 2f |SHAR_EOF| > 'sys/|
|00000800| 6d 73 64 6f 73 2f 74 74 | 79 69 6f 2e 63 27 0a 2f |msdos/tt|yio.c'./|
|00000810| 2a 0a 20 2a 20 4e 61 6d | 65 3a 09 4d 69 63 72 6f |*. * Nam|e:.Micro|
|00000820| 45 4d 41 43 53 0a 20 2a | 09 09 4d 53 44 4f 53 20 |EMACS. *|..MSDOS |
|00000830| 74 65 72 6d 69 6e 61 6c | 20 49 2f 4f 20 28 4d 53 |terminal| I/O (MS|
|00000840| 43 20 34 2e 30 29 0a 20 | 2a 0a 20 2a 20 54 68 65 |C 4.0). |*. * The|
|00000850| 20 66 75 6e 63 74 69 6f | 6e 73 20 69 6e 20 74 68 | functio|ns in th|
|00000860| 69 73 20 66 69 6c 65 0a | 20 2a 20 6e 65 67 6f 74 |is file.| * negot|
|00000870| 69 61 74 65 20 77 69 74 | 68 20 74 68 65 20 6f 70 |iate wit|h the op|
|00000880| 65 72 61 74 69 6e 67 20 | 73 79 73 74 65 6d 20 66 |erating |system f|
|00000890| 6f 72 0a 20 2a 20 6b 65 | 79 62 6f 61 72 64 20 63 |or. * ke|yboard c|
|000008a0| 68 61 72 61 63 74 65 72 | 73 2c 20 61 6e 64 20 77 |haracter|s, and w|
|000008b0| 72 69 74 65 20 63 68 61 | 72 61 63 74 65 72 73 20 |rite cha|racters |
|000008c0| 74 6f 0a 20 2a 20 74 68 | 65 20 64 69 73 70 6c 61 |to. * th|e displa|
|000008d0| 79 0a 20 2a 0a 20 2a 20 | 54 68 69 73 20 76 65 72 |y. *. * |This ver|
|000008e0| 73 69 6f 6e 20 67 6f 65 | 73 20 61 6c 6f 6e 67 20 |sion goe|s along |
|000008f0| 77 69 74 68 20 74 74 79 | 2f 69 62 6d 62 69 6f 73 |with tty|/ibmbios|
|00000900| 2f 74 74 79 2e 63 2e 0a | 20 2a 20 54 65 72 6d 69 |/tty.c..| * Termi|
|00000910| 6e 61 6c 20 73 69 7a 65 | 20 69 73 20 64 65 74 65 |nal size| is dete|
|00000920| 72 6d 69 6e 65 64 20 74 | 68 65 72 65 2c 20 72 61 |rmined t|here, ra|
|00000930| 74 68 65 72 20 74 68 61 | 6e 20 68 65 72 65 2e 0a |ther tha|n here..|
|00000940| 20 2a 2f 0a 23 69 6e 63 | 6c 75 64 65 09 22 64 65 | */.#inc|lude."de|
|00000950| 66 2e 68 22 0a 0a 23 69 | 6e 63 6c 75 64 65 09 3c |f.h"..#i|nclude.<|
|00000960| 73 79 73 2f 74 79 70 65 | 73 2e 68 3e 0a 23 69 6e |sys/type|s.h>.#in|
|00000970| 63 6c 75 64 65 09 3c 66 | 63 6e 74 6c 2e 68 3e 0a |clude.<f|cntl.h>.|
|00000980| 23 69 6e 63 6c 75 64 65 | 09 3c 73 69 67 6e 61 6c |#include|.<signal|
|00000990| 2e 68 3e 0a 0a 73 74 61 | 74 69 63 20 69 6e 74 20 |.h>..sta|tic int |
|000009a0| 74 74 79 61 63 74 69 76 | 65 70 20 3d 20 46 41 4c |ttyactiv|ep = FAL|
|000009b0| 53 45 3b 09 09 2f 2a 20 | 74 65 72 6d 69 6e 61 6c |SE;../* |terminal|
|000009c0| 20 69 6e 20 65 64 69 74 | 6f 72 20 6d 6f 64 65 3f | in edit|or mode?|
|000009d0| 09 2a 2f 0a 0a 69 6e 74 | 09 6e 72 6f 77 3b 09 09 |.*/..int|.nrow;..|
|000009e0| 09 09 2f 2a 20 54 65 72 | 6d 69 6e 61 6c 20 73 69 |../* Ter|minal si|
|000009f0| 7a 65 2c 20 72 6f 77 73 | 2e 09 09 2a 2f 0a 69 6e |ze, rows|...*/.in|
|00000a00| 74 09 6e 63 6f 6c 3b 09 | 09 09 09 2f 2a 20 54 65 |t.ncol;.|.../* Te|
|00000a10| 72 6d 69 6e 61 6c 20 73 | 69 7a 65 2c 20 63 6f 6c |rminal s|ize, col|
|00000a20| 75 6d 6e 73 2e 09 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |umns..*/|../*. * |
|00000a30| 54 68 69 73 20 66 75 6e | 63 74 69 6f 6e 20 67 65 |This fun|ction ge|
|00000a40| 74 73 20 63 61 6c 6c 65 | 64 20 6f 6e 63 65 2c 20 |ts calle|d once, |
|00000a50| 74 6f 20 73 65 74 20 75 | 70 0a 20 2a 20 74 68 65 |to set u|p. * the|
|00000a60| 20 74 65 72 6d 69 6e 61 | 6c 20 63 68 61 6e 6e 65 | termina|l channe|
|00000a70| 6c 2e 20 20 54 68 69 73 | 20 69 73 20 65 73 73 65 |l. This| is esse|
|00000a80| 6e 74 69 61 6c 6c 79 20 | 61 20 6e 6f 2d 6f 70 0a |ntially |a no-op.|
|00000a90| 20 2a 20 6f 6e 20 6d 73 | 64 6f 73 2c 20 73 69 6e | * on ms|dos, sin|
|00000aa0| 63 65 20 49 2f 4f 20 77 | 69 6c 6c 20 61 6c 6c 20 |ce I/O w|ill all |
|00000ab0| 62 65 20 64 6f 6e 65 20 | 76 69 61 20 62 69 6f 73 |be done |via bios|
|00000ac0| 20 63 61 6c 6c 73 2e 0a | 20 2a 2f 0a 74 74 6f 70 | calls..| */.ttop|
|00000ad0| 65 6e 28 29 0a 7b 0a 09 | 69 66 20 28 74 74 79 61 |en().{..|if (ttya|
|00000ae0| 63 74 69 76 65 70 29 0a | 09 09 72 65 74 75 72 6e |ctivep).|..return|
|00000af0| 3b 0a 0a 09 73 69 67 6e | 61 6c 28 53 49 47 49 4e |;...sign|al(SIGIN|
|00000b00| 54 2c 20 53 49 47 5f 49 | 47 4e 29 3b 0a 0a 09 6e |T, SIG_I|GN);...n|
|00000b10| 72 6f 77 20 3d 20 32 35 | 3b 09 09 09 2f 2a 20 69 |row = 25|;.../* i|
|00000b20| 6e 69 74 69 61 6c 20 67 | 75 65 73 73 20 2a 2f 0a |nitial g|uess */.|
|00000b30| 09 6e 63 6f 6c 20 3d 20 | 38 30 3b 0a 0a 09 74 74 |.ncol = |80;...tt|
|00000b40| 79 61 63 74 69 76 65 70 | 20 3d 20 54 52 55 45 3b |yactivep| = TRUE;|
|00000b50| 0a 7d 0a 0a 2f 2a 0a 20 | 2a 20 54 68 69 73 20 66 |.}../*. |* This f|
|00000b60| 75 6e 63 74 69 6f 6e 20 | 67 65 74 73 20 63 61 6c |unction |gets cal|
|00000b70| 6c 65 64 20 6a 75 73 74 | 0a 20 2a 20 62 65 66 6f |led just|. * befo|
|00000b80| 72 65 20 77 65 20 67 6f | 20 62 61 63 6b 20 68 6f |re we go| back ho|
|00000b90| 6d 65 20 74 6f 20 74 68 | 65 20 73 68 65 6c 6c 2e |me to th|e shell.|
|00000ba0| 20 41 6e 6f 74 68 65 72 | 0a 20 2a 20 4d 53 44 4f | Another|. * MSDO|
|00000bb0| 53 20 6e 6f 5f 6f 70 2e | 0a 20 2a 2f 0a 74 74 63 |S no_op.|. */.ttc|
|00000bc0| 6c 6f 73 65 28 29 0a 7b | 0a 09 69 66 28 21 74 74 |lose().{|..if(!tt|
|00000bd0| 79 61 63 74 69 76 65 70 | 29 0a 09 09 72 65 74 75 |yactivep|)...retu|
|00000be0| 72 6e 3b 0a 09 74 74 79 | 61 63 74 69 76 65 70 20 |rn;..tty|activep |
|00000bf0| 3d 20 46 41 4c 53 45 3b | 0a 7d 0a 0a 2f 2a 2a 2a |= FALSE;|.}../***|
|00000c00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c40| 2a 2f 0a 2f 2a 20 74 74 | 70 75 74 63 2c 20 74 74 |*/./* tt|putc, tt|
|00000c50| 67 65 74 63 20 26 20 74 | 79 70 65 61 68 65 61 64 |getc & t|ypeahead|
|00000c60| 20 68 61 76 65 20 62 65 | 65 6e 20 64 65 6c 65 74 | have be|en delet|
|00000c70| 65 64 20 66 72 6f 6d 20 | 74 68 69 73 20 66 69 6c |ed from |this fil|
|00000c80| 65 2c 20 61 6e 64 20 2a | 2f 0a 2f 2a 20 6d 6f 76 |e, and *|/./* mov|
|00000c90| 65 64 20 69 6e 74 6f 20 | 74 68 65 20 74 74 79 20 |ed into |the tty |
|00000ca0| 73 70 65 63 69 66 69 63 | 20 63 6f 64 65 2e 20 20 |specific| code. |
|00000cb0| 54 68 65 72 65 20 69 73 | 20 6e 6f 20 6f 70 65 72 |There is| no oper|
|00000cc0| 61 74 69 6e 67 2d 73 79 | 73 74 65 6d 20 20 2a 2f |ating-sy|stem */|
|00000cd0| 0a 2f 2a 20 67 65 6e 65 | 72 69 63 20 77 61 79 20 |./* gene|ric way |
|00000ce0| 74 6f 20 64 6f 20 74 68 | 65 73 65 20 20 20 20 20 |to do th|ese |
|00000cf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d10| 20 20 20 20 20 2a 2f 0a | 2f 2a 2a 2a 2a 2a 2a 2a | */.|/*******|
|00000d20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000d30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000d40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000d50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0a 0a |********|*****/..|
|00000d60| 2f 2a 0a 20 2a 20 46 6c | 75 73 68 20 6f 75 74 70 |/*. * Fl|ush outp|
|00000d70| 75 74 2e 20 20 54 68 69 | 73 20 66 75 6e 63 74 69 |ut. Thi|s functi|
|00000d80| 6f 6e 20 69 73 20 61 20 | 6e 6f 2d 6f 70 0a 20 2a |on is a |no-op. *|
|00000d90| 2f 0a 74 74 66 6c 75 73 | 68 28 29 0a 7b 0a 7d 0a |/.ttflus|h().{.}.|
|00000da0| 0a 2f 2a 0a 20 2a 20 70 | 61 6e 69 63 3a 20 20 70 |./*. * p|anic: p|
|00000db0| 72 69 6e 74 20 65 72 72 | 6f 72 20 61 6e 64 20 64 |rint err|or and d|
|00000dc0| 69 65 2c 20 6c 65 61 76 | 69 6e 67 20 63 6f 72 65 |ie, leav|ing core|
|00000dd0| 20 66 69 6c 65 2e 0a 20 | 2a 2f 0a 70 61 6e 69 63 | file.. |*/.panic|
|00000de0| 28 73 29 0a 63 68 61 72 | 20 2a 73 3b 0a 7b 0a 09 |(s).char| *s;.{..|
|00000df0| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|00000e00| 22 25 73 5c 72 5c 6e 22 | 2c 20 73 29 3b 0a 09 65 |"%s\r\n"|, s);..e|
|00000e10| 78 69 74 28 31 29 3b 0a | 7d 0a 0a 0a 2f 2a 0a 2a |xit(1);.|}.../*.*|
|00000e20| 2a 20 54 68 69 73 20 73 | 68 6f 75 6c 64 20 63 68 |* This s|hould ch|
|00000e30| 65 63 6b 20 74 68 65 20 | 73 69 7a 65 20 6f 66 20 |eck the |size of |
|00000e40| 74 68 65 20 77 69 6e 64 | 6f 77 2c 20 61 6e 64 20 |the wind|ow, and |
|00000e50| 72 65 73 65 74 20 69 66 | 20 6e 65 65 64 65 64 2e |reset if| needed.|
|00000e60| 0a 2a 2f 0a 0a 73 65 74 | 74 74 79 73 69 7a 65 28 |.*/..set|ttysize(|
|00000e70| 29 0a 7b 0a 09 6e 72 6f | 77 20 3d 20 32 35 3b 0a |).{..nro|w = 25;.|
|00000e80| 09 6e 63 6f 6c 20 3d 20 | 38 30 3b 0a 7d 0a 0a 53 |.ncol = |80;.}..S|
|00000e90| 48 41 52 5f 45 4f 46 0a | 69 66 20 74 65 73 74 20 |HAR_EOF.|if test |
|00000ea0| 31 36 36 34 20 2d 6e 65 | 20 22 60 77 63 20 2d 63 |1664 -ne| "`wc -c|
|00000eb0| 20 3c 20 27 73 79 73 2f | 6d 73 64 6f 73 2f 74 74 | < 'sys/|msdos/tt|
|00000ec0| 79 69 6f 2e 63 27 60 22 | 0a 74 68 65 6e 0a 09 65 |yio.c'`"|.then..e|
|00000ed0| 63 68 6f 20 73 68 61 72 | 3a 20 65 72 72 6f 72 20 |cho shar|: error |
|00000ee0| 74 72 61 6e 73 6d 69 74 | 74 69 6e 67 20 22 27 73 |transmit|ting "'s|
|00000ef0| 79 73 2f 6d 73 64 6f 73 | 2f 74 74 79 69 6f 2e 63 |ys/msdos|/ttyio.c|
|00000f00| 27 22 20 27 28 73 68 6f | 75 6c 64 20 68 61 76 65 |'" '(sho|uld have|
|00000f10| 20 62 65 65 6e 20 31 36 | 36 34 20 63 68 61 72 61 | been 16|64 chara|
|00000f20| 63 74 65 72 73 29 27 0a | 66 69 0a 66 69 0a 65 63 |cters)'.|fi.fi.ec|
|00000f30| 68 6f 20 73 68 61 72 3a | 20 65 78 74 72 61 63 74 |ho shar:| extract|
|00000f40| 69 6e 67 20 22 27 73 79 | 73 2f 6d 73 64 6f 73 2f |ing "'sy|s/msdos/|
|00000f50| 66 69 6c 65 69 6f 2e 63 | 27 22 20 27 28 34 35 34 |fileio.c|'" '(454|
|00000f60| 34 20 63 68 61 72 61 63 | 74 65 72 73 29 27 0a 69 |4 charac|ters)'.i|
|00000f70| 66 20 74 65 73 74 20 2d | 66 20 27 73 79 73 2f 6d |f test -|f 'sys/m|
|00000f80| 73 64 6f 73 2f 66 69 6c | 65 69 6f 2e 63 27 0a 74 |sdos/fil|eio.c'.t|
|00000f90| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00000fa0| 77 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |will not| over-wr|
|00000fb0| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|00000fc0| 65 20 22 27 73 79 73 2f | 6d 73 64 6f 73 2f 66 69 |e "'sys/|msdos/fi|
|00000fd0| 6c 65 69 6f 2e 63 27 22 | 0a 65 6c 73 65 0a 63 61 |leio.c'"|.else.ca|
|00000fe0| 74 20 3c 3c 20 5c 53 48 | 41 52 5f 45 4f 46 20 3e |t << \SH|AR_EOF >|
|00000ff0| 20 27 73 79 73 2f 6d 73 | 64 6f 73 2f 66 69 6c 65 | 'sys/ms|dos/file|
|00001000| 69 6f 2e 63 27 0a 2f 2a | 0a 20 2a 20 4e 61 6d 65 |io.c'./*|. * Name|
|00001010| 3a 09 4d 69 63 72 6f 45 | 4d 41 43 53 0a 20 2a 20 |:.MicroE|MACS. * |
|00001020| 09 09 4d 53 44 4f 53 20 | 66 69 6c 65 20 49 2f 4f |..MSDOS |file I/O|
|00001030| 20 28 4d 53 43 34 2e 30 | 29 0a 20 2a 2f 0a 23 69 | (MSC4.0|). */.#i|
|00001040| 6e 63 6c 75 64 65 09 22 | 64 65 66 2e 68 22 0a 0a |nclude."|def.h"..|
|00001050| 23 69 66 6e 64 65 66 20 | 46 5f 4f 4b 0a 23 64 65 |#ifndef |F_OK.#de|
|00001060| 66 69 6e 65 20 46 5f 4f | 4b 09 30 0a 23 64 65 66 |fine F_O|K.0.#def|
|00001070| 69 6e 65 20 58 5f 4f 4b | 09 31 0a 23 64 65 66 69 |ine X_OK|.1.#defi|
|00001080| 6e 65 20 57 5f 4f 4b 09 | 32 0a 23 64 65 66 69 6e |ne W_OK.|2.#defin|
|00001090| 65 20 52 5f 4f 4b 09 34 | 0a 23 65 6e 64 69 66 0a |e R_OK.4|.#endif.|
|000010a0| 0a 2f 2a 0a 20 2a 20 4d | 6f 76 65 20 62 79 74 65 |./*. * M|ove byte|
|000010b0| 73 2c 20 6f 76 65 72 6c | 61 70 73 20 4f 4b 20 28 |s, overl|aps OK (|
|000010c0| 64 61 76 65 62 29 2e 0a | 20 2a 0a 20 2a 20 4d 53 |daveb)..| *. * MS|
|000010d0| 2f 43 20 31 2e 30 20 70 | 72 6f 76 69 64 65 73 20 |/C 1.0 p|rovides |
|000010e0| 22 6d 65 6d 63 70 79 22 | 2c 20 72 61 74 68 65 72 |"memcpy"|, rather|
|000010f0| 20 74 68 61 6e 20 62 63 | 6f 70 79 2e 0a 20 2a 2f | than bc|opy.. */|
|00001100| 0a 62 63 6f 70 79 28 20 | 66 72 6f 6d 2c 20 74 6f |.bcopy( |from, to|
|00001110| 2c 20 63 6e 74 20 29 0a | 63 68 61 72 20 2a 66 72 |, cnt ).|char *fr|
|00001120| 6f 6d 3b 0a 63 68 61 72 | 20 2a 74 6f 3b 0a 69 6e |om;.char| *to;.in|
|00001130| 74 20 63 6e 74 3b 0a 7b | 0a 09 6d 65 6d 63 70 79 |t cnt;.{|..memcpy|
|00001140| 28 74 6f 2c 20 66 72 6f | 6d 2c 20 63 6e 74 29 3b |(to, fro|m, cnt);|
|00001150| 0a 7d 0a 0a 0a 73 74 61 | 74 69 63 09 46 49 4c 45 |.}...sta|tic.FILE|
|00001160| 09 2a 66 66 70 3b 0a 0a | 2f 2a 0a 20 2a 20 4f 70 |.*ffp;..|/*. * Op|
|00001170| 65 6e 20 61 20 66 69 6c | 65 20 66 6f 72 20 72 65 |en a fil|e for re|
|00001180| 61 64 69 6e 67 2e 0a 20 | 2a 2f 0a 66 66 72 6f 70 |ading.. |*/.ffrop|
|00001190| 65 6e 28 66 6e 29 0a 63 | 68 61 72 09 2a 66 6e 3b |en(fn).c|har.*fn;|
|000011a0| 0a 7b 0a 09 69 66 20 28 | 28 66 66 70 3d 66 6f 70 |.{..if (|(ffp=fop|
|000011b0| 65 6e 28 66 6e 2c 20 22 | 72 62 22 29 29 20 3d 3d |en(fn, "|rb")) ==|
|000011c0| 20 4e 55 4c 4c 29 0a 09 | 09 72 65 74 75 72 6e 20 | NULL)..|.return |
|000011d0| 28 46 49 4f 46 4e 46 29 | 3b 0a 09 72 65 74 75 72 |(FIOFNF)|;..retur|
|000011e0| 6e 20 28 46 49 4f 53 55 | 43 29 3b 0a 7d 0a 0a 2f |n (FIOSU|C);.}../|
|000011f0| 2a 0a 20 2a 20 4f 70 65 | 6e 20 61 20 66 69 6c 65 |*. * Ope|n a file|
|00001200| 20 66 6f 72 20 77 72 69 | 74 69 6e 67 2e 0a 20 2a | for wri|ting.. *|
|00001210| 20 52 65 74 75 72 6e 20 | 54 52 55 45 20 69 66 20 | Return |TRUE if |
|00001220| 61 6c 6c 20 69 73 20 77 | 65 6c 6c 2c 20 61 6e 64 |all is w|ell, and|
|00001230| 0a 20 2a 20 46 41 4c 53 | 45 20 6f 6e 20 65 72 72 |. * FALS|E on err|
|00001240| 6f 72 20 28 63 61 6e 6e | 6f 74 20 63 72 65 61 74 |or (cann|ot creat|
|00001250| 65 29 2e 0a 20 2a 2f 0a | 66 66 77 6f 70 65 6e 28 |e).. */.|ffwopen(|
|00001260| 66 6e 29 0a 63 68 61 72 | 09 2a 66 6e 3b 0a 7b 0a |fn).char|.*fn;.{.|
|00001270| 09 69 66 20 28 28 66 66 | 70 3d 66 6f 70 65 6e 28 |.if ((ff|p=fopen(|
|00001280| 66 6e 2c 20 22 77 62 22 | 29 29 20 3d 3d 20 4e 55 |fn, "wb"|)) == NU|
|00001290| 4c 4c 29 20 7b 0a 09 09 | 65 77 70 72 69 6e 74 66 |LL) {...|ewprintf|
|000012a0| 28 22 43 61 6e 6e 6f 74 | 20 6f 70 65 6e 20 66 69 |("Cannot| open fi|
|000012b0| 6c 65 20 66 6f 72 20 77 | 72 69 74 69 6e 67 22 29 |le for w|riting")|
|000012c0| 3b 0a 09 09 72 65 74 75 | 72 6e 20 28 46 49 4f 45 |;...retu|rn (FIOE|
|000012d0| 52 52 29 3b 0a 09 7d 0a | 09 72 65 74 75 72 6e 20 |RR);..}.|.return |
|000012e0| 28 46 49 4f 53 55 43 29 | 3b 0a 7d 0a 0a 2f 2a 0a |(FIOSUC)|;.}../*.|
|000012f0| 20 2a 20 43 6c 6f 73 65 | 20 61 20 66 69 6c 65 2e | * Close| a file.|
|00001300| 0a 20 2a 20 53 68 6f 75 | 6c 64 20 6c 6f 6f 6b 20 |. * Shou|ld look |
|00001310| 61 74 20 74 68 65 20 73 | 74 61 74 75 73 2e 0a 20 |at the s|tatus.. |
|00001320| 2a 2f 0a 66 66 63 6c 6f | 73 65 28 29 0a 7b 0a 09 |*/.ffclo|se().{..|
|00001330| 28 56 4f 49 44 29 20 66 | 63 6c 6f 73 65 28 66 66 |(VOID) f|close(ff|
|00001340| 70 29 3b 0a 09 72 65 74 | 75 72 6e 20 28 46 49 4f |p);..ret|urn (FIO|
|00001350| 53 55 43 29 3b 0a 7d 0a | 0a 2f 2a 0a 20 2a 20 57 |SUC);.}.|./*. * W|
|00001360| 72 69 74 65 20 61 20 6c | 69 6e 65 20 74 6f 20 74 |rite a l|ine to t|
|00001370| 68 65 20 61 6c 72 65 61 | 64 79 0a 20 2a 20 6f 70 |he alrea|dy. * op|
|00001380| 65 6e 65 64 20 66 69 6c | 65 2e 20 54 68 65 20 22 |ened fil|e. The "|
|00001390| 62 75 66 22 20 70 6f 69 | 6e 74 73 20 74 6f 20 74 |buf" poi|nts to t|
|000013a0| 68 65 0a 20 2a 20 62 75 | 66 66 65 72 2c 20 61 6e |he. * bu|ffer, an|
|000013b0| 64 20 74 68 65 20 22 6e | 62 75 66 22 20 69 73 20 |d the "n|buf" is |
|000013c0| 69 74 73 20 6c 65 6e 67 | 74 68 2c 20 6c 65 73 73 |its leng|th, less|
|000013d0| 0a 20 2a 20 74 68 65 20 | 66 72 65 65 20 6e 65 77 |. * the |free new|
|000013e0| 6c 69 6e 65 2e 20 52 65 | 74 75 72 6e 20 74 68 65 |line. Re|turn the|
|000013f0| 20 73 74 61 74 75 73 2e | 0a 20 2a 20 43 68 65 63 | status.|. * Chec|
|00001400| 6b 20 6f 6e 6c 79 20 61 | 74 20 74 68 65 20 6e 65 |k only a|t the ne|
|00001410| 77 6c 69 6e 65 2e 0a 20 | 2a 2f 0a 66 66 70 75 74 |wline.. |*/.ffput|
|00001420| 6c 69 6e 65 28 62 75 66 | 2c 20 6e 62 75 66 29 0a |line(buf|, nbuf).|
|00001430| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 09 62 75 |register| char.bu|
|00001440| 66 5b 5d 3b 0a 7b 0a 09 | 72 65 67 69 73 74 65 72 |f[];.{..|register|
|00001450| 20 69 6e 74 09 69 3b 0a | 0a 09 66 6f 72 20 28 69 | int.i;.|..for (i|
|00001460| 3d 30 3b 20 69 3c 6e 62 | 75 66 3b 20 2b 2b 69 29 |=0; i<nb|uf; ++i)|
|00001470| 0a 09 09 70 75 74 63 28 | 62 75 66 5b 69 5d 26 30 |...putc(|buf[i]&0|
|00001480| 78 46 46 2c 20 66 66 70 | 29 3b 0a 09 70 75 74 63 |xFF, ffp|);..putc|
|00001490| 28 27 5c 72 27 2c 20 66 | 66 70 29 3b 09 2f 2a 20 |('\r', f|fp);./* |
|000014a0| 4d 53 44 4f 53 20 77 61 | 6e 74 73 20 5c 72 5c 6e |MSDOS wa|nts \r\n|
|000014b0| 20 6c 69 6e 65 20 73 65 | 70 65 72 61 74 6f 72 73 | line se|perators|
|000014c0| 20 2a 2f 0a 09 70 75 74 | 63 28 27 5c 6e 27 2c 20 | */..put|c('\n', |
|000014d0| 66 66 70 29 3b 0a 09 69 | 66 20 28 66 65 72 72 6f |ffp);..i|f (ferro|
|000014e0| 72 28 66 66 70 29 20 21 | 3d 20 46 41 4c 53 45 29 |r(ffp) !|= FALSE)|
|000014f0| 20 7b 0a 09 09 65 77 70 | 72 69 6e 74 66 28 22 57 | {...ewp|rintf("W|
|00001500| 72 69 74 65 20 49 2f 4f | 20 65 72 72 6f 72 22 29 |rite I/O| error")|
|00001510| 3b 0a 09 09 72 65 74 75 | 72 6e 20 28 46 49 4f 45 |;...retu|rn (FIOE|
|00001520| 52 52 29 3b 0a 09 7d 0a | 09 72 65 74 75 72 6e 20 |RR);..}.|.return |
|00001530| 28 46 49 4f 53 55 43 29 | 3b 0a 7d 0a 0a 2f 2a 0a |(FIOSUC)|;.}../*.|
|00001540| 20 2a 20 52 65 61 64 20 | 61 20 6c 69 6e 65 20 66 | * Read |a line f|
|00001550| 72 6f 6d 20 61 20 66 69 | 6c 65 2c 20 61 6e 64 20 |rom a fi|le, and |
|00001560| 73 74 6f 72 65 20 74 68 | 65 20 62 79 74 65 73 0a |store th|e bytes.|
|00001570| 20 2a 20 69 6e 20 74 68 | 65 20 73 75 70 70 6c 69 | * in th|e suppli|
|00001580| 65 64 20 62 75 66 66 65 | 72 2e 20 53 74 6f 70 20 |ed buffe|r. Stop |
|00001590| 6f 6e 20 65 6e 64 20 6f | 66 20 66 69 6c 65 20 6f |on end o|f file o|
|000015a0| 72 20 65 6e 64 20 6f 66 | 0a 20 2a 20 6c 69 6e 65 |r end of|. * line|
|000015b0| 2e 20 44 6f 6e 27 74 20 | 67 65 74 20 75 70 73 65 |. Don't |get upse|
|000015c0| 74 20 62 79 20 66 69 6c | 65 73 20 74 68 61 74 20 |t by fil|es that |
|000015d0| 64 6f 6e 27 74 20 68 61 | 76 65 20 61 6e 20 65 6e |don't ha|ve an en|
|000015e0| 64 20 6f 66 0a 20 2a 20 | 6c 69 6e 65 20 6f 6e 20 |d of. * |line on |
|000015f0| 74 68 65 20 6c 61 73 74 | 20 6c 69 6e 65 3b 20 74 |the last| line; t|
|00001600| 68 69 73 20 73 65 65 6d | 20 74 6f 20 62 65 20 63 |his seem| to be c|
|00001610| 6f 6d 6d 6f 6e 20 6f 6e | 20 43 50 2f 4d 2d 38 36 |ommon on| CP/M-86|
|00001620| 20 61 6e 64 0a 20 2a 20 | 4d 53 2d 44 4f 53 20 28 | and. * |MS-DOS (|
|00001630| 74 68 65 20 73 75 73 70 | 65 63 74 65 64 20 63 75 |the susp|ected cu|
|00001640| 6c 70 72 69 74 20 69 73 | 20 56 41 58 2f 56 4d 53 |lprit is| VAX/VMS|
|00001650| 20 6b 65 72 6d 69 74 2c | 20 62 75 74 20 74 68 69 | kermit,| but thi|
|00001660| 73 0a 20 2a 20 68 61 73 | 20 6e 6f 74 20 62 65 65 |s. * has| not bee|
|00001670| 6e 20 63 6f 6e 66 69 72 | 6d 65 64 2e 20 49 66 20 |n confir|med. If |
|00001680| 74 68 69 73 20 69 73 20 | 73 75 66 66 69 63 69 65 |this is |sufficie|
|00001690| 6e 74 6c 79 20 72 65 73 | 65 61 72 63 68 65 64 0a |ntly res|earched.|
|000016a0| 20 2a 20 69 74 20 6d 61 | 79 20 62 65 20 70 6f 73 | * it ma|y be pos|
|000016b0| 73 69 62 6c 65 20 74 6f | 20 70 75 6c 6c 20 74 68 |sible to| pull th|
|000016c0| 69 73 20 6b 6c 75 64 67 | 65 29 2e 20 44 65 6c 65 |is kludg|e). Dele|
|000016d0| 74 65 20 61 6e 79 20 43 | 52 0a 20 2a 20 66 6f 6c |te any C|R. * fol|
|000016e0| 6c 6f 77 65 64 20 62 79 | 20 61 6e 20 4c 46 2e 20 |lowed by| an LF. |
|000016f0| 54 68 69 73 20 69 73 20 | 6d 61 69 6e 6c 79 20 66 |This is |mainly f|
|00001700| 6f 72 20 72 75 6e 6f 66 | 66 20 64 6f 63 75 6d 65 |or runof|f docume|
|00001710| 6e 74 73 2c 0a 20 2a 20 | 62 6f 74 68 20 6f 6e 20 |nts,. * |both on |
|00001720| 56 4d 53 20 61 6e 64 20 | 6f 6e 20 55 6c 74 72 69 |VMS and |on Ultri|
|00001730| 78 20 28 74 68 65 79 20 | 67 65 74 20 63 6f 70 69 |x (they |get copi|
|00001740| 65 64 20 6f 76 65 72 20 | 66 72 6f 6d 0a 20 2a 20 |ed over |from. * |
|00001750| 56 4d 53 20 73 79 73 74 | 65 6d 73 20 77 69 74 68 |VMS syst|ems with|
|00001760| 20 44 45 43 6e 65 74 29 | 2e 0a 20 2a 2f 0a 66 66 | DECnet)|.. */.ff|
|00001770| 67 65 74 6c 69 6e 65 28 | 62 75 66 2c 20 6e 62 75 |getline(|buf, nbu|
|00001780| 66 29 0a 72 65 67 69 73 | 74 65 72 20 63 68 61 72 |f).regis|ter char|
|00001790| 09 62 75 66 5b 5d 3b 0a | 7b 0a 09 72 65 67 69 73 |.buf[];.|{..regis|
|000017a0| 74 65 72 20 69 6e 74 09 | 63 3b 0a 09 72 65 67 69 |ter int.|c;..regi|
|000017b0| 73 74 65 72 20 69 6e 74 | 09 69 3b 0a 0a 09 69 20 |ster int|.i;...i |
|000017c0| 3d 20 30 3b 0a 09 66 6f | 72 20 28 3b 3b 29 20 7b |= 0;..fo|r (;;) {|
|000017d0| 0a 09 09 63 20 3d 20 67 | 65 74 63 28 66 66 70 29 |...c = g|etc(ffp)|
|000017e0| 3b 0a 09 09 69 66 20 28 | 63 20 3d 3d 20 27 5c 72 |;...if (|c == '\r|
|000017f0| 27 29 20 7b 09 09 2f 2a | 20 44 65 6c 65 74 65 20 |') {../*| Delete |
|00001800| 61 6e 79 20 6e 6f 6e 2d | 73 74 72 61 79 09 2a 2f |any non-|stray.*/|
|00001810| 0a 09 09 09 63 20 3d 20 | 67 65 74 63 28 66 66 70 |....c = |getc(ffp|
|00001820| 29 3b 09 09 2f 2a 20 63 | 61 72 72 69 61 67 65 20 |);../* c|arriage |
|00001830| 72 65 74 75 72 6e 73 2e | 09 2a 2f 0a 09 09 09 69 |returns.|.*/....i|
|00001840| 66 20 28 63 20 21 3d 20 | 27 5c 6e 27 29 20 7b 0a |f (c != |'\n') {.|
|00001850| 09 09 09 09 69 66 20 28 | 69 20 3e 3d 20 6e 62 75 |....if (|i >= nbu|
|00001860| 66 2d 31 29 20 7b 0a 09 | 09 09 09 09 65 77 70 72 |f-1) {..|....ewpr|
|00001870| 69 6e 74 66 28 22 46 69 | 6c 65 20 68 61 73 20 6c |intf("Fi|le has l|
|00001880| 6f 6e 67 20 6c 69 6e 65 | 22 29 3b 0a 09 09 09 09 |ong line|");.....|
|00001890| 09 72 65 74 75 72 6e 20 | 28 46 49 4f 45 52 52 29 |.return |(FIOERR)|
|000018a0| 3b 0a 09 09 09 09 7d 0a | 09 09 09 09 62 75 66 5b |;.....}.|....buf[|
|000018b0| 69 2b 2b 5d 20 3d 20 27 | 5c 72 27 3b 0a 09 09 09 |i++] = '|\r';....|
|000018c0| 7d 0a 09 09 7d 0a 09 09 | 69 66 20 28 63 3d 3d 45 |}...}...|if (c==E|
|000018d0| 4f 46 20 7c 7c 20 63 3d | 3d 27 5c 6e 27 29 09 09 |OF || c=|='\n')..|
|000018e0| 2f 2a 20 45 6e 64 20 6f | 66 20 6c 69 6e 65 2e 09 |/* End o|f line..|
|000018f0| 09 2a 2f 0a 09 09 09 62 | 72 65 61 6b 3b 0a 09 09 |.*/....b|reak;...|
|00001900| 69 66 20 28 69 20 3e 3d | 20 6e 62 75 66 2d 31 29 |if (i >=| nbuf-1)|
|00001910| 20 7b 0a 09 09 09 65 77 | 70 72 69 6e 74 66 28 22 | {....ew|printf("|
|00001920| 46 69 6c 65 20 68 61 73 | 20 6c 6f 6e 67 20 6c 69 |File has| long li|
|00001930| 6e 65 22 29 3b 0a 09 09 | 09 72 65 74 75 72 6e 20 |ne");...|.return |
|00001940| 28 46 49 4f 45 52 52 29 | 3b 0a 09 09 7d 0a 09 09 |(FIOERR)|;...}...|
|00001950| 62 75 66 5b 69 2b 2b 5d | 20 3d 20 63 3b 0a 09 7d |buf[i++]| = c;..}|
|00001960| 0a 09 69 66 20 28 63 20 | 3d 3d 20 45 4f 46 29 20 |..if (c |== EOF) |
|00001970| 7b 09 09 09 09 2f 2a 20 | 45 6e 64 20 6f 66 20 66 |{..../* |End of f|
|00001980| 69 6c 65 2e 09 09 2a 2f | 0a 09 09 69 66 20 28 66 |ile...*/|...if (f|
|00001990| 65 72 72 6f 72 28 66 66 | 70 29 20 21 3d 20 46 41 |error(ff|p) != FA|
|000019a0| 4c 53 45 29 20 7b 0a 09 | 09 09 65 77 70 72 69 6e |LSE) {..|..ewprin|
|000019b0| 74 66 28 22 46 69 6c 65 | 20 72 65 61 64 20 65 72 |tf("File| read er|
|000019c0| 72 6f 72 22 29 3b 0a 09 | 09 09 72 65 74 75 72 6e |ror");..|..return|
|000019d0| 20 28 46 49 4f 45 52 52 | 29 3b 0a 09 09 7d 0a 09 | (FIOERR|);...}..|
|000019e0| 09 69 66 20 28 69 20 3d | 3d 20 30 29 09 09 09 2f |.if (i =|= 0).../|
|000019f0| 2a 20 44 6f 6e 27 74 20 | 67 65 74 20 75 70 73 65 |* Don't |get upse|
|00001a00| 74 20 69 66 09 2a 2f 0a | 09 09 09 72 65 74 75 72 |t if.*/.|...retur|
|00001a10| 6e 20 28 46 49 4f 45 4f | 46 29 3b 09 2f 2a 20 6e |n (FIOEO|F);./* n|
|00001a20| 6f 20 6e 65 77 6c 69 6e | 65 20 61 74 20 45 4f 46 |o newlin|e at EOF|
|00001a30| 2e 09 2a 2f 0a 09 7d 0a | 09 62 75 66 5b 69 5d 20 |..*/..}.|.buf[i] |
|00001a40| 3d 20 30 3b 0a 09 72 65 | 74 75 72 6e 20 28 46 49 |= 0;..re|turn (FI|
|00001a50| 4f 53 55 43 29 3b 0a 7d | 0a 0a 23 69 66 64 65 66 |OSUC);.}|..#ifdef|
|00001a60| 09 42 41 43 4b 55 50 0a | 2f 2a 0a 20 2a 20 52 65 |.BACKUP.|/*. * Re|
|00001a70| 6e 61 6d 65 20 74 68 65 | 20 66 69 6c 65 20 22 66 |name the| file "f|
|00001a80| 6e 61 6d 65 22 20 69 6e | 74 6f 20 61 20 62 61 63 |name" in|to a bac|
|00001a90| 6b 75 70 20 63 6f 70 79 | 2e 0a 20 2a 20 4f 6e 20 |kup copy|.. * On |
|00001aa0| 55 6e 69 78 20 74 68 65 | 20 62 61 63 6b 75 70 20 |Unix the| backup |
|00001ab0| 68 61 73 20 74 68 65 20 | 73 61 6d 65 20 6e 61 6d |has the |same nam|
|00001ac0| 65 20 61 73 20 74 68 65 | 0a 20 2a 20 6f 72 69 67 |e as the|. * orig|
|00001ad0| 69 6e 61 6c 20 66 69 6c | 65 2c 20 77 69 74 68 20 |inal fil|e, with |
|00001ae0| 61 20 22 7e 22 20 6f 6e | 20 74 68 65 20 65 6e 64 |a "~" on| the end|
|00001af0| 20 2d 20 75 6e 66 6f 72 | 74 75 6e 61 74 65 6c 79 | - unfor|tunately|
|00001b00| 0a 20 2a 20 74 68 69 73 | 20 64 6f 65 73 20 6e 6f |. * this| does no|
|00001b10| 74 20 6d 61 70 20 77 65 | 6c 6c 20 74 6f 20 4d 53 |t map we|ll to MS|
|00001b20| 2d 44 4f 53 20 2d 20 74 | 68 65 20 6f 6c 64 20 2e |-DOS - t|he old .|
|00001b30| 62 61 6b 20 63 6f 6e 76 | 65 6e 74 69 6f 6e 0a 20 |bak conv|ention. |
|00001b40| 2a 20 69 73 20 75 73 65 | 64 2e 0a 20 2a 2f 0a 66 |* is use|d.. */.f|
|00001b50| 62 61 63 6b 75 70 66 69 | 6c 65 28 66 6e 61 6d 65 |backupfi|le(fname|
|00001b60| 29 0a 63 68 61 72 09 2a | 66 6e 61 6d 65 3b 0a 7b |).char.*|fname;.{|
|00001b70| 0a 09 72 65 67 69 73 74 | 65 72 20 63 68 61 72 09 |..regist|er char.|
|00001b80| 2a 6e 6e 61 6d 65 2c 20 | 2a 70 74 72 3b 0a 09 63 |*nname, |*ptr;..c|
|00001b90| 68 61 72 20 2a 73 74 72 | 63 68 72 28 29 3b 0a 0a |har *str|chr();..|
|00001ba0| 09 69 66 20 28 28 6e 6e | 61 6d 65 3d 6d 61 6c 6c |.if ((nn|ame=mall|
|00001bb0| 6f 63 28 73 74 72 6c 65 | 6e 28 66 6e 61 6d 65 29 |oc(strle|n(fname)|
|00001bc0| 2b 33 2b 31 29 29 20 3d | 3d 20 4e 55 4c 4c 29 0a |+3+1)) =|= NULL).|
|00001bd0| 09 09 72 65 74 75 72 6e | 20 28 41 42 4f 52 54 29 |..return| (ABORT)|
|00001be0| 3b 0a 09 28 76 6f 69 64 | 29 20 73 74 72 63 70 79 |;..(void|) strcpy|
|00001bf0| 28 6e 6e 61 6d 65 2c 20 | 66 6e 61 6d 65 29 3b 0a |(nname, |fname);.|
|00001c00| 09 69 66 20 28 70 74 72 | 20 3d 20 73 74 72 63 68 |.if (ptr| = strch|
|00001c10| 72 28 6e 6e 61 6d 65 2c | 20 27 2e 27 29 29 0a 09 |r(nname,| '.'))..|
|00001c20| 20 20 20 20 73 74 72 63 | 70 79 28 70 74 72 2c 20 | strc|py(ptr, |
|00001c30| 22 2e 62 61 6b 22 29 0a | 09 65 6c 73 65 0a 09 20 |".bak").|.else.. |
|00001c40| 20 20 20 73 74 72 63 61 | 74 28 70 74 72 2c 20 22 | strca|t(ptr, "|
|00001c50| 2e 62 61 6b 22 29 0a 0a | 09 69 66 20 28 73 74 72 |.bak")..|.if (str|
|00001c60| 63 6d 70 28 66 6e 61 6d | 65 2c 20 6e 6e 61 6d 65 |cmp(fnam|e, nname|
|00001c70| 29 20 3d 3d 20 30 29 20 | 7b 0a 09 09 66 72 65 65 |) == 0) |{...free|
|00001c80| 28 6e 6e 61 6d 65 29 3b | 0a 09 09 72 65 74 75 72 |(nname);|...retur|
|00001c90| 6e 20 46 41 4c 53 45 3b | 0a 09 7d 0a 0a 09 28 76 |n FALSE;|..}...(v|
|00001ca0| 6f 69 64 29 20 75 6e 6c | 69 6e 6b 28 6e 6e 61 6d |oid) unl|ink(nnam|
|00001cb0| 65 29 3b 09 09 2f 2a 20 | 49 67 6e 6f 72 65 20 65 |e);../* |Ignore e|
|00001cc0| 72 72 6f 72 73 2e 09 2a | 2f 0a 09 28 76 6f 69 64 |rrors..*|/..(void|
|00001cd0| 29 20 72 65 6e 61 6d 65 | 28 66 6e 61 6d 65 2c 20 |) rename|(fname, |
|00001ce0| 6e 6e 61 6d 65 29 3b 0a | 09 66 72 65 65 28 6e 6e |nname);.|.free(nn|
|00001cf0| 61 6d 65 29 3b 0a 09 72 | 65 74 75 72 6e 20 28 54 |ame);..r|eturn (T|
|00001d00| 52 55 45 29 3b 0a 7d 0a | 23 65 6e 64 69 66 0a 0a |RUE);.}.|#endif..|
|00001d10| 2f 2a 0a 20 2a 20 54 68 | 65 20 73 74 72 69 6e 67 |/*. * Th|e string|
|00001d20| 20 22 66 6e 22 20 69 73 | 20 61 20 66 69 6c 65 20 | "fn" is| a file |
|00001d30| 6e 61 6d 65 2e 0a 20 2a | 20 50 65 72 66 6f 72 6d |name.. *| Perform|
|00001d40| 20 61 6e 79 20 72 65 71 | 75 69 72 65 64 20 63 61 | any req|uired ca|
|00001d50| 73 65 20 61 64 6a 75 73 | 74 6d 65 6e 74 73 2e 20 |se adjus|tments. |
|00001d60| 41 6c 6c 20 73 75 73 74 | 65 6d 73 0a 20 2a 20 77 |All sust|ems. * w|
|00001d70| 65 20 64 65 61 6c 20 77 | 69 74 68 20 73 6f 20 66 |e deal w|ith so f|
|00001d80| 61 72 20 68 61 76 65 20 | 63 61 73 65 20 69 6e 73 |ar have |case ins|
|00001d90| 65 6e 73 69 74 69 76 65 | 20 66 69 6c 65 20 73 79 |ensitive| file sy|
|00001da0| 73 74 65 6d 73 2e 0a 20 | 2a 20 57 65 20 7a 61 70 |stems.. |* We zap|
|00001db0| 20 65 76 65 72 79 74 68 | 69 6e 67 20 74 6f 20 6c | everyth|ing to l|
|00001dc0| 6f 77 65 72 20 63 61 73 | 65 2e 20 54 68 65 20 70 |ower cas|e. The p|
|00001dd0| 72 6f 62 6c 65 6d 20 77 | 65 20 61 72 65 20 74 72 |roblem w|e are tr|
|00001de0| 79 69 6e 67 0a 20 2a 20 | 74 6f 20 73 6f 6c 76 65 |ying. * |to solve|
|00001df0| 20 69 73 20 67 65 74 74 | 69 6e 67 20 32 20 62 75 | is gett|ing 2 bu|
|00001e00| 66 66 65 72 73 20 68 6f | 6c 64 69 6e 67 20 74 68 |ffers ho|lding th|
|00001e10| 65 20 73 61 6d 65 20 66 | 69 6c 65 20 69 66 0a 20 |e same f|ile if. |
|00001e20| 2a 20 79 6f 75 20 76 69 | 73 69 74 20 6f 6e 65 20 |* you vi|sit one |
|00001e30| 6f 66 20 74 68 65 6d 20 | 77 69 74 68 20 74 68 65 |of them |with the|
|00001e40| 20 22 63 61 70 73 20 6c | 6f 63 6b 22 20 6b 65 79 | "caps l|ock" key|
|00001e50| 20 64 6f 77 6e 2e 0a 20 | 2a 20 4f 6e 20 55 4e 49 | down.. |* On UNI|
|00001e60| 58 20 66 69 6c 65 20 6e | 61 6d 65 73 20 61 72 65 |X file n|ames are|
|00001e70| 20 64 75 61 6c 20 63 61 | 73 65 2c 20 73 6f 20 77 | dual ca|se, so w|
|00001e80| 65 20 6c 65 61 76 65 0a | 20 2a 20 65 76 65 72 79 |e leave.| * every|
|00001e90| 74 68 69 6e 67 20 61 6c | 6f 6e 65 2e 0a 20 2a 2f |thing al|one.. */|
|00001ea0| 0a 2f 2a 41 52 47 53 55 | 53 45 44 2a 2f 0a 61 64 |./*ARGSU|SED*/.ad|
|00001eb0| 6a 75 73 74 63 61 73 65 | 28 66 6e 29 0a 72 65 67 |justcase|(fn).reg|
|00001ec0| 69 73 74 65 72 20 63 68 | 61 72 09 2a 66 6e 3b 0a |ister ch|ar.*fn;.|
|00001ed0| 7b 0a 09 72 65 67 69 73 | 74 65 72 20 69 6e 74 09 |{..regis|ter int.|
|00001ee0| 63 3b 0a 0a 09 77 68 69 | 6c 65 20 28 28 63 20 3d |c;...whi|le ((c =|
|00001ef0| 20 2a 66 6e 29 20 21 3d | 20 30 29 20 7b 0a 09 09 | *fn) !=| 0) {...|
|00001f00| 69 66 20 28 63 3e 3d 27 | 41 27 20 26 26 20 63 3c |if (c>='|A' && c<|
|00001f10| 3d 27 5a 27 29 0a 09 09 | 09 2a 66 6e 20 3d 20 63 |='Z')...|.*fn = c|
|00001f20| 20 2b 20 27 61 27 20 2d | 20 27 41 27 3b 0a 09 09 | + 'a' -| 'A';...|
|00001f30| 2b 2b 66 6e 3b 0a 09 7d | 0a 7d 0a 0a 0a 0a 23 69 |++fn;..}|.}....#i|
|00001f40| 66 64 65 66 09 53 54 41 | 52 54 55 50 0a 23 69 6e |fdef.STA|RTUP.#in|
|00001f50| 63 6c 75 64 65 20 3c 73 | 79 73 2f 74 79 70 65 73 |clude <s|ys/types|
|00001f60| 2e 68 3e 0a 23 64 65 66 | 69 6e 65 20 53 54 41 52 |.h>.#def|ine STAR|
|00001f70| 54 55 50 4e 41 4d 45 20 | 22 2e 6d 67 22 0a 2f 2a |TUPNAME |".mg"./*|
|00001f80| 0a 20 2a 20 66 69 6e 64 | 20 74 68 65 20 75 73 65 |. * find| the use|
|00001f90| 72 73 20 73 74 61 72 74 | 75 70 20 66 69 6c 65 2c |rs start|up file,|
|00001fa0| 20 61 6e 64 20 72 65 74 | 75 72 6e 20 69 74 27 73 | and ret|urn it's|
|00001fb0| 20 6e 61 6d 65 2e 20 43 | 68 65 63 6b 20 66 6f 72 | name. C|heck for|
|00001fc0| 0a 20 2a 20 69 66 20 4d | 47 53 54 41 52 54 55 50 |. * if M|GSTARTUP|
|00001fd0| 20 69 73 20 64 65 66 69 | 6e 65 64 2c 20 74 68 65 | is defi|ned, the|
|00001fe0| 6e 20 75 73 65 20 74 68 | 61 74 2e 20 20 20 4f 74 |n use th|at. Ot|
|00001ff0| 68 65 72 77 69 73 65 2c | 20 6c 6f 6f 6b 0a 20 2a |herwise,| look. *|
|00002000| 20 66 6f 72 20 2e 6d 67 | 20 69 6e 20 74 68 65 20 | for .mg| in the |
|00002010| 63 75 72 72 65 6e 74 20 | 64 69 72 65 63 74 6f 72 |current |director|
|00002020| 79 2c 20 74 68 65 6e 20 | 69 6e 20 74 68 65 20 72 |y, then |in the r|
|00002030| 6f 6f 74 20 64 69 72 65 | 63 74 6f 72 79 2e 0a 20 |oot dire|ctory.. |
|00002040| 2a 2f 0a 63 68 61 72 20 | 2a 0a 73 74 61 72 74 75 |*/.char |*.startu|
|00002050| 70 66 69 6c 65 28 29 20 | 0a 7b 0a 09 72 65 67 69 |pfile() |.{..regi|
|00002060| 73 74 65 72 20 63 68 61 | 72 09 2a 66 69 6c 65 3b |ster cha|r.*file;|
|00002070| 0a 09 73 74 61 74 69 63 | 20 63 68 61 72 09 74 65 |..static| char.te|
|00002080| 6d 70 5b 4e 46 49 4c 45 | 4e 5d 3b 0a 09 63 68 61 |mp[NFILE|N];..cha|
|00002090| 72 09 09 2a 67 65 74 65 | 6e 76 28 29 3b 0a 0a 09 |r..*gete|nv();...|
|000020a0| 69 66 20 28 28 66 69 6c | 65 20 3d 20 67 65 74 65 |if ((fil|e = gete|
|000020b0| 6e 76 28 22 4d 47 53 54 | 41 52 54 55 50 22 29 29 |nv("MGST|ARTUP"))|
|000020c0| 20 21 3d 20 4e 55 4c 4c | 20 29 0a 09 09 7b 0a 09 | != NULL| )...{..|
|000020d0| 09 69 66 20 28 61 63 63 | 65 73 73 28 66 69 6c 65 |.if (acc|ess(file|
|000020e0| 2c 20 46 5f 4f 4b 20 29 | 20 3d 3d 20 30 29 0a 09 |, F_OK )| == 0)..|
|000020f0| 09 20 20 20 20 72 65 74 | 75 72 6e 20 66 69 6c 65 |. ret|urn file|
|00002100| 3b 0a 09 09 72 65 74 75 | 72 6e 20 4e 55 4c 4c 3b |;...retu|rn NULL;|
|00002110| 0a 09 09 7d 0a 09 69 66 | 20 28 61 63 63 65 73 73 |...}..if| (access|
|00002120| 20 28 53 54 41 52 54 55 | 50 4e 41 4d 45 2c 20 46 | (STARTU|PNAME, F|
|00002130| 5f 4f 4b 29 20 3d 3d 20 | 30 29 0a 09 09 72 65 74 |_OK) == |0)...ret|
|00002140| 75 72 6e 20 53 54 41 52 | 54 55 50 4e 41 4d 45 3b |urn STAR|TUPNAME;|
|00002150| 0a 09 73 74 72 63 70 79 | 28 74 65 6d 70 2c 20 22 |..strcpy|(temp, "|
|00002160| 2f 22 29 3b 0a 09 73 74 | 72 63 61 74 28 74 65 6d |/");..st|rcat(tem|
|00002170| 70 2c 20 53 54 41 52 54 | 55 50 4e 41 4d 45 29 3b |p, START|UPNAME);|
|00002180| 0a 09 69 66 20 28 61 63 | 63 65 73 73 20 28 74 65 |..if (ac|cess (te|
|00002190| 6d 70 2c 20 46 5f 4f 4b | 29 20 3d 3d 20 30 29 0a |mp, F_OK|) == 0).|
|000021a0| 09 09 72 65 74 75 72 6e | 20 74 65 6d 70 3b 0a 09 |..return| temp;..|
|000021b0| 72 65 74 75 72 6e 20 4e | 55 4c 4c 3b 0a 7d 0a 23 |return N|ULL;.}.#|
|000021c0| 65 6e 64 69 66 0a 53 48 | 41 52 5f 45 4f 46 0a 69 |endif.SH|AR_EOF.i|
|000021d0| 66 20 74 65 73 74 20 34 | 35 34 34 20 2d 6e 65 20 |f test 4|544 -ne |
|000021e0| 22 60 77 63 20 2d 63 20 | 3c 20 27 73 79 73 2f 6d |"`wc -c |< 'sys/m|
|000021f0| 73 64 6f 73 2f 66 69 6c | 65 69 6f 2e 63 27 60 22 |sdos/fil|eio.c'`"|
|00002200| 0a 74 68 65 6e 0a 09 65 | 63 68 6f 20 73 68 61 72 |.then..e|cho shar|
|00002210| 3a 20 65 72 72 6f 72 20 | 74 72 61 6e 73 6d 69 74 |: error |transmit|
|00002220| 74 69 6e 67 20 22 27 73 | 79 73 2f 6d 73 64 6f 73 |ting "'s|ys/msdos|
|00002230| 2f 66 69 6c 65 69 6f 2e | 63 27 22 20 27 28 73 68 |/fileio.|c'" '(sh|
|00002240| 6f 75 6c 64 20 68 61 76 | 65 20 62 65 65 6e 20 34 |ould hav|e been 4|
|00002250| 35 34 34 20 63 68 61 72 | 61 63 74 65 72 73 29 27 |544 char|acters)'|
|00002260| 0a 66 69 0a 66 69 0a 65 | 63 68 6f 20 73 68 61 72 |.fi.fi.e|cho shar|
|00002270| 3a 20 65 78 74 72 61 63 | 74 69 6e 67 20 22 27 73 |: extrac|ting "'s|
|00002280| 79 73 2f 6d 73 64 6f 73 | 2f 67 6f 6f 64 6d 61 6b |ys/msdos|/goodmak|
|00002290| 65 2e 6d 61 6b 27 22 20 | 27 28 31 39 30 36 20 63 |e.mak'" |'(1906 c|
|000022a0| 68 61 72 61 63 74 65 72 | 73 29 27 0a 69 66 20 74 |haracter|s)'.if t|
|000022b0| 65 73 74 20 2d 66 20 27 | 73 79 73 2f 6d 73 64 6f |est -f '|sys/msdo|
|000022c0| 73 2f 67 6f 6f 64 6d 61 | 6b 65 2e 6d 61 6b 27 0a |s/goodma|ke.mak'.|
|000022d0| 74 68 65 6e 0a 09 65 63 | 68 6f 20 73 68 61 72 3a |then..ec|ho shar:|
|000022e0| 20 77 69 6c 6c 20 6e 6f | 74 20 6f 76 65 72 2d 77 | will no|t over-w|
|000022f0| 72 69 74 65 20 65 78 69 | 73 74 69 6e 67 20 66 69 |rite exi|sting fi|
|00002300| 6c 65 20 22 27 73 79 73 | 2f 6d 73 64 6f 73 2f 67 |le "'sys|/msdos/g|
|00002310| 6f 6f 64 6d 61 6b 65 2e | 6d 61 6b 27 22 0a 65 6c |oodmake.|mak'".el|
|00002320| 73 65 0a 63 61 74 20 3c | 3c 20 5c 53 48 41 52 5f |se.cat <|< \SHAR_|
|00002330| 45 4f 46 20 3e 20 27 73 | 79 73 2f 6d 73 64 6f 73 |EOF > 's|ys/msdos|
|00002340| 2f 67 6f 6f 64 6d 61 6b | 65 2e 6d 61 6b 27 0a 23 |/goodmak|e.mak'.#|
|00002350| 20 4d 61 6b 65 66 69 6c | 65 20 66 6f 72 20 4d 69 | Makefil|e for Mi|
|00002360| 63 72 6f 45 4d 41 43 53 | 20 66 6f 72 20 4d 53 44 |croEMACS| for MSD|
|00002370| 4f 53 20 28 4d 69 63 72 | 6f 73 6f 66 74 20 43 20 |OS (Micr|osoft C |
|00002380| 34 2e 30 29 2e 0a 23 20 | 74 68 69 73 20 6d 61 6b |4.0)..# |this mak|
|00002390| 65 66 69 6c 65 20 64 65 | 73 69 67 6e 65 64 20 66 |efile de|signed f|
|000023a0| 6f 72 20 61 20 62 65 74 | 74 65 72 20 22 6d 61 6b |or a bet|ter "mak|
|000023b0| 65 22 20 74 68 61 6e 20 | 6d 69 63 72 6f 73 6f 66 |e" than |microsof|
|000023c0| 74 73 21 0a 23 20 41 6e | 79 77 61 79 2c 20 74 68 |ts!.# An|yway, th|
|000023d0| 69 73 20 75 73 65 73 20 | 74 68 65 20 22 63 6f 6d |is uses |the "com|
|000023e0| 70 61 63 74 22 20 6d 6f | 64 65 6c 20 28 73 6d 61 |pact" mo|del (sma|
|000023f0| 6c 6c 20 63 6f 64 65 2c | 20 62 69 67 20 64 61 74 |ll code,| big dat|
|00002400| 61 29 2e 0a 0a 53 59 53 | 09 3d 20 6d 73 64 6f 73 |a)...SYS|.= msdos|
|00002410| 0a 54 54 59 09 3d 20 69 | 62 6d 62 69 6f 73 0a 0a |.TTY.= i|bmbios..|
|00002420| 23 20 43 44 45 46 53 20 | 67 65 74 73 20 64 65 66 |# CDEFS |gets def|
|00002430| 69 6e 65 73 2c 20 61 6e | 64 20 67 65 74 73 20 70 |ines, an|d gets p|
|00002440| 61 73 73 65 64 20 74 6f | 20 6c 69 6e 74 2e 20 43 |assed to| lint. C|
|00002450| 46 4c 41 47 53 20 67 65 | 74 73 20 66 6c 61 67 73 |FLAGS ge|ts flags|
|00002460| 2c 20 61 6e 64 20 64 6f | 65 73 6e 27 74 0a 23 20 |, and do|esn't.# |
|00002470| 67 65 74 20 70 61 73 73 | 65 64 20 74 6f 20 6c 69 |get pass|ed to li|
|00002480| 6e 74 2e 0a 43 44 45 46 | 53 09 3d 20 2d 44 44 50 |nt..CDEF|S.= -DDP|
|00002490| 52 4f 4d 50 54 20 2d 44 | 53 54 41 52 54 55 50 0a |ROMPT -D|STARTUP.|
|000024a0| 23 43 46 4c 41 47 53 09 | 3d 20 2d 5a 69 20 2d 4f |#CFLAGS.|= -Zi -O|
|000024b0| 64 20 2d 4d 63 20 24 28 | 43 44 45 46 53 29 0a 43 |d -Mc $(|CDEFS).C|
|000024c0| 46 4c 41 47 53 09 3d 20 | 2d 4d 63 20 24 28 43 44 |FLAGS.= |-Mc $(CD|
|000024d0| 45 46 53 29 0a 0a 4f 42 | 4a 31 20 3d 09 62 61 73 |EFS)..OB|J1 =.bas|
|000024e0| 69 63 2e 6f 62 6a 20 62 | 75 66 66 65 72 2e 6f 62 |ic.obj b|uffer.ob|
|000024f0| 6a 20 63 69 6e 66 6f 2e | 6f 62 6a 20 64 69 73 70 |j cinfo.|obj disp|
|00002500| 6c 61 79 2e 6f 62 6a 20 | 65 63 68 6f 2e 6f 62 6a |lay.obj |echo.obj|
|00002510| 20 65 78 74 65 6e 64 2e | 6f 62 6a 0a 4f 42 4a 32 | extend.|obj.OBJ2|
|00002520| 20 3d 09 66 69 6c 65 2e | 6f 62 6a 20 6b 62 64 2e | =.file.|obj kbd.|
|00002530| 6f 62 6a 20 6c 69 6e 65 | 2e 6f 62 6a 20 6d 61 69 |obj line|.obj mai|
|00002540| 6e 2e 6f 62 6a 20 6d 61 | 74 63 68 2e 6f 62 6a 20 |n.obj ma|tch.obj |
|00002550| 72 61 6e 64 6f 6d 2e 6f | 62 6a 20 72 65 67 69 6f |random.o|bj regio|
|00002560| 6e 2e 6f 62 6a 0a 4f 42 | 4a 33 20 3d 09 73 65 61 |n.obj.OB|J3 =.sea|
|00002570| 72 63 68 2e 6f 62 6a 20 | 73 79 6d 62 6f 6c 2e 6f |rch.obj |symbol.o|
|00002580| 62 6a 20 76 65 72 73 69 | 6f 6e 2e 6f 62 6a 20 77 |bj versi|on.obj w|
|00002590| 69 6e 64 6f 77 2e 6f 62 | 6a 20 70 61 72 61 67 72 |indow.ob|j paragr|
|000025a0| 61 70 2e 6f 62 6a 20 70 | 72 65 66 69 78 2e 6f 62 |ap.obj p|refix.ob|
|000025b0| 6a 0a 4f 42 4a 34 20 3d | 09 77 6f 72 64 2e 6f 62 |j.OBJ4 =|.word.ob|
|000025c0| 6a 20 66 69 6c 65 69 6f | 2e 6f 62 6a 20 73 70 61 |j fileio|.obj spa|
|000025d0| 77 6e 2e 6f 62 6a 20 74 | 74 79 69 6f 2e 6f 62 6a |wn.obj t|tyio.obj|
|000025e0| 20 74 74 79 2e 6f 62 6a | 20 74 74 79 6b 62 64 2e | tty.obj| ttykbd.|
|000025f0| 6f 62 6a 20 70 6f 6c 6c | 6b 62 64 2e 6f 62 6a 0a |obj poll|kbd.obj.|
|00002600| 4f 42 4a 20 3d 09 24 28 | 4f 42 4a 31 29 20 24 28 |OBJ =.$(|OBJ1) $(|
|00002610| 4f 42 4a 32 29 20 24 28 | 4f 42 4a 33 29 20 24 28 |OBJ2) $(|OBJ3) $(|
|00002620| 4f 42 4a 34 29 0a 0a 4f | 53 52 43 53 20 3d 20 66 |OBJ4)..O|SRCS = f|
|00002630| 69 6c 65 69 6f 2e 63 20 | 73 70 61 77 6e 2e 63 20 |ileio.c |spawn.c |
|00002640| 74 74 79 69 6f 2e 63 20 | 74 74 79 2e 63 20 74 74 |ttyio.c |tty.c tt|
|00002650| 79 6b 62 64 2e 63 0a 53 | 52 43 53 20 3d 09 62 61 |ykbd.c.S|RCS =.ba|
|00002660| 73 69 63 2e 63 20 62 75 | 66 66 65 72 2e 63 20 63 |sic.c bu|ffer.c c|
|00002670| 69 6e 66 6f 2e 63 20 64 | 69 73 70 6c 61 79 2e 63 |info.c d|isplay.c|
|00002680| 20 65 63 68 6f 2e 63 20 | 65 78 74 65 6e 64 2e 63 | echo.c |extend.c|
|00002690| 20 66 69 6c 65 2e 63 20 | 6b 62 64 2e 63 20 5c 0a | file.c |kbd.c \.|
|000026a0| 09 6c 69 6e 65 2e 63 20 | 6d 61 69 6e 2e 63 20 6d |.line.c |main.c m|
|000026b0| 61 74 63 68 2e 6f 20 72 | 61 6e 64 6f 6d 2e 63 20 |atch.o r|andom.c |
|000026c0| 72 65 67 69 6f 6e 2e 63 | 20 73 65 61 72 63 68 2e |region.c| search.|
|000026d0| 63 20 73 79 6d 62 6f 6c | 2e 63 20 76 65 72 73 69 |c symbol|.c versi|
|000026e0| 6f 6e 2e 63 20 5c 0a 09 | 77 69 6e 64 6f 77 2e 63 |on.c \..|window.c|
|000026f0| 20 77 6f 72 64 2e 63 20 | 70 61 72 61 67 72 61 70 | word.c |paragrap|
|00002700| 2e 63 20 70 72 65 66 69 | 78 2e 63 0a 4f 49 4e 43 |.c prefi|x.c.OINC|
|00002710| 53 20 3d 09 74 74 79 64 | 65 66 2e 68 20 73 79 73 |S =.ttyd|ef.h sys|
|00002720| 64 65 66 2e 68 0a 49 4e | 43 53 20 3d 09 64 65 66 |def.h.IN|CS =.def|
|00002730| 2e 68 0a 0a 6d 67 2e 65 | 78 65 3a 09 09 24 28 4f |.h..mg.e|xe:..$(O|
|00002740| 42 4a 29 0a 23 09 09 24 | 28 43 43 29 20 24 28 43 |BJ).#..$|(CC) $(C|
|00002750| 46 4c 41 47 53 29 20 2d | 6f 20 6d 67 20 24 28 4f |FLAGS) -|o mg $(O|
|00002760| 42 4a 29 20 24 28 4c 49 | 42 53 29 0a 09 09 40 65 |BJ) $(LI|BS)...@e|
|00002770| 63 68 6f 20 24 28 4f 42 | 4a 31 29 2b 20 3e 20 20 |cho $(OB|J1)+ > |
|00002780| 5f 5f 6c 69 6e 6b 5f 5f | 2e 74 6d 70 0a 09 09 40 |__link__|.tmp...@|
|00002790| 65 63 68 6f 20 24 28 4f | 42 4a 32 29 2b 20 3e 3e |echo $(O|BJ2)+ >>|
|000027a0| 20 5f 5f 6c 69 6e 6b 5f | 5f 2e 74 6d 70 0a 09 09 | __link_|_.tmp...|
|000027b0| 40 65 63 68 6f 20 24 28 | 4f 42 4a 33 29 2b 20 3e |@echo $(|OBJ3)+ >|
|000027c0| 3e 20 5f 5f 6c 69 6e 6b | 5f 5f 2e 74 6d 70 0a 09 |> __link|__.tmp..|
|000027d0| 09 40 65 63 68 6f 20 24 | 28 4f 42 4a 34 29 20 20 |.@echo $|(OBJ4) |
|000027e0| 3e 3e 20 5f 5f 6c 69 6e | 6b 5f 5f 2e 74 6d 70 0a |>> __lin|k__.tmp.|
|000027f0| 09 09 40 65 63 68 6f 20 | 24 40 2f 4e 4f 49 2f 43 |..@echo |$@/NOI/C|
|00002800| 4f 20 3e 3e 20 5f 5f 6c | 69 6e 6b 5f 5f 2e 74 6d |O >> __l|ink__.tm|
|00002810| 70 0a 09 09 40 65 63 68 | 6f 20 6d 67 3b 20 20 20 |p...@ech|o mg; |
|00002820| 20 20 20 3e 3e 20 5f 5f | 6c 69 6e 6b 5f 5f 2e 74 | >> __|link__.t|
|00002830| 6d 70 0a 09 09 6c 69 6e | 6b 20 40 5f 5f 6c 69 6e |mp...lin|k @__lin|
|00002840| 6b 5f 5f 2e 74 6d 70 0a | 09 09 40 64 65 6c 20 5f |k__.tmp.|..@del _|
|00002850| 5f 6c 69 6e 6b 5f 5f 2e | 74 6d 70 0a 0a 0a 24 28 |_link__.|tmp...$(|
|00002860| 4f 42 4a 29 3a 09 09 64 | 65 66 2e 68 20 73 79 73 |OBJ):..d|ef.h sys|
|00002870| 64 65 66 2e 68 20 74 74 | 79 64 65 66 2e 68 0a 0a |def.h tt|ydef.h..|
|00002880| 73 79 73 64 65 66 2e 68 | 3a 09 73 79 73 2f 24 28 |sysdef.h|:.sys/$(|
|00002890| 53 59 53 29 2f 73 79 73 | 64 65 66 2e 68 09 23 20 |SYS)/sys|def.h.# |
|000028a0| 55 70 64 61 74 65 20 6c | 69 6e 6b 73 2c 20 69 66 |Update l|inks, if|
|000028b0| 20 6e 65 65 64 65 64 2e | 0a 09 09 63 6f 70 79 20 | needed.|...copy |
|000028c0| 73 79 73 2f 24 28 53 59 | 53 29 2f 73 79 73 64 65 |sys/$(SY|S)/sysde|
|000028d0| 66 2e 68 0a 0a 74 74 79 | 64 65 66 2e 68 3a 09 74 |f.h..tty|def.h:.t|
|000028e0| 74 79 2f 24 28 54 54 59 | 29 2f 74 74 79 64 65 66 |ty/$(TTY|)/ttydef|
|000028f0| 2e 68 0a 09 09 63 6f 70 | 79 20 74 74 79 2f 24 28 |.h...cop|y tty/$(|
|00002900| 54 54 59 29 2f 74 74 79 | 64 65 66 2e 68 0a 0a 66 |TTY)/tty|def.h..f|
|00002910| 69 6c 65 69 6f 2e 63 3a | 09 73 79 73 2f 24 28 53 |ileio.c:|.sys/$(S|
|00002920| 59 53 29 2f 66 69 6c 65 | 69 6f 2e 63 0a 09 09 63 |YS)/file|io.c...c|
|00002930| 6f 70 79 20 73 79 73 2f | 24 28 53 59 53 29 2f 66 |opy sys/|$(SYS)/f|
|00002940| 69 6c 65 69 6f 2e 63 0a | 0a 73 70 61 77 6e 2e 63 |ileio.c.|.spawn.c|
|00002950| 3a 09 73 79 73 2f 24 28 | 53 59 53 29 2f 73 70 61 |:.sys/$(|SYS)/spa|
|00002960| 77 6e 2e 63 0a 09 09 63 | 6f 70 79 20 73 79 73 2f |wn.c...c|opy sys/|
|00002970| 24 28 53 59 53 29 2f 73 | 70 61 77 6e 2e 63 0a 0a |$(SYS)/s|pawn.c..|
|00002980| 74 74 79 2e 63 3a 09 09 | 74 74 79 2f 24 28 54 54 |tty.c:..|tty/$(TT|
|00002990| 59 29 2f 74 74 79 2e 63 | 0a 09 09 63 6f 70 79 20 |Y)/tty.c|...copy |
|000029a0| 74 74 79 2f 24 28 54 54 | 59 29 2f 74 74 79 2e 63 |tty/$(TT|Y)/tty.c|
|000029b0| 0a 0a 74 74 79 69 6f 2e | 63 3a 09 73 79 73 2f 24 |..ttyio.|c:.sys/$|
|000029c0| 28 53 59 53 29 2f 74 74 | 79 69 6f 2e 63 0a 09 09 |(SYS)/tt|yio.c...|
|000029d0| 63 6f 70 79 20 73 79 73 | 2f 24 28 53 59 53 29 2f |copy sys|/$(SYS)/|
|000029e0| 74 74 79 69 6f 2e 63 0a | 0a 74 74 79 6b 62 64 2e |ttyio.c.|.ttykbd.|
|000029f0| 63 3a 09 74 74 79 2f 24 | 28 54 54 59 29 2f 74 74 |c:.tty/$|(TTY)/tt|
|00002a00| 79 6b 62 64 2e 63 0a 09 | 09 63 6f 70 79 20 74 74 |ykbd.c..|.copy tt|
|00002a10| 79 2f 24 28 54 54 59 29 | 2f 74 74 79 6b 62 64 2e |y/$(TTY)|/ttykbd.|
|00002a20| 63 0a 0a 70 6f 6c 6c 6b | 62 64 2e 61 73 6d 09 74 |c..pollk|bd.asm.t|
|00002a30| 74 79 2f 24 28 54 54 59 | 29 2f 70 6f 6c 6c 6b 62 |ty/$(TTY|)/pollkb|
|00002a40| 64 2e 61 73 6d 0a 09 09 | 63 6f 70 79 20 74 74 79 |d.asm...|copy tty|
|00002a50| 2f 24 28 54 54 59 29 2f | 70 6f 6c 6c 6b 62 64 2e |/$(TTY)/|pollkbd.|
|00002a60| 61 73 6d 0a 0a 70 6f 6c | 6c 6b 62 64 2e 6f 62 6a |asm..pol|lkbd.obj|
|00002a70| 3a 09 70 6f 6c 6c 6b 62 | 64 2e 61 73 6d 0a 09 09 |:.pollkb|d.asm...|
|00002a80| 6d 61 73 6d 20 70 6f 6c | 6c 6b 62 64 2c 70 6f 6c |masm pol|lkbd,pol|
|00002a90| 6c 6b 62 64 2f 6d 6c 3b | 0a 0a 63 6c 65 61 6e 3a |lkbd/ml;|..clean:|
|00002aa0| 3b 09 09 2d 64 65 6c 20 | 24 28 4f 42 4a 29 20 24 |;..-del |$(OBJ) $|
|00002ab0| 28 4f 53 52 43 53 29 20 | 24 28 4f 49 4e 43 53 29 |(OSRCS) |$(OINCS)|
|00002ac0| 0a 53 48 41 52 5f 45 4f | 46 0a 69 66 20 74 65 73 |.SHAR_EO|F.if tes|
|00002ad0| 74 20 31 39 30 36 20 2d | 6e 65 20 22 60 77 63 20 |t 1906 -|ne "`wc |
|00002ae0| 2d 63 20 3c 20 27 73 79 | 73 2f 6d 73 64 6f 73 2f |-c < 'sy|s/msdos/|
|00002af0| 67 6f 6f 64 6d 61 6b 65 | 2e 6d 61 6b 27 60 22 0a |goodmake|.mak'`".|
|00002b00| 74 68 65 6e 0a 09 65 63 | 68 6f 20 73 68 61 72 3a |then..ec|ho shar:|
|00002b10| 20 65 72 72 6f 72 20 74 | 72 61 6e 73 6d 69 74 74 | error t|ransmitt|
|00002b20| 69 6e 67 20 22 27 73 79 | 73 2f 6d 73 64 6f 73 2f |ing "'sy|s/msdos/|
|00002b30| 67 6f 6f 64 6d 61 6b 65 | 2e 6d 61 6b 27 22 20 27 |goodmake|.mak'" '|
|00002b40| 28 73 68 6f 75 6c 64 20 | 68 61 76 65 20 62 65 65 |(should |have bee|
|00002b50| 6e 20 31 39 30 36 20 63 | 68 61 72 61 63 74 65 72 |n 1906 c|haracter|
|00002b60| 73 29 27 0a 66 69 0a 66 | 69 0a 65 63 68 6f 20 73 |s)'.fi.f|i.echo s|
|00002b70| 68 61 72 3a 20 65 78 74 | 72 61 63 74 69 6e 67 20 |har: ext|racting |
|00002b80| 22 27 73 79 73 2f 6d 73 | 64 6f 73 2f 6d 61 6b 65 |"'sys/ms|dos/make|
|00002b90| 66 69 6c 65 27 22 20 27 | 28 32 32 35 38 20 63 68 |file'" '|(2258 ch|
|00002ba0| 61 72 61 63 74 65 72 73 | 29 27 0a 69 66 20 74 65 |aracters|)'.if te|
|00002bb0| 73 74 20 2d 66 20 27 73 | 79 73 2f 6d 73 64 6f 73 |st -f 's|ys/msdos|
|00002bc0| 2f 6d 61 6b 65 66 69 6c | 65 27 0a 74 68 65 6e 0a |/makefil|e'.then.|
|00002bd0| 09 65 63 68 6f 20 73 68 | 61 72 3a 20 77 69 6c 6c |.echo sh|ar: will|
|00002be0| 20 6e 6f 74 20 6f 76 65 | 72 2d 77 72 69 74 65 20 | not ove|r-write |
|00002bf0| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 20 22 27 |existing| file "'|
|00002c00| 73 79 73 2f 6d 73 64 6f | 73 2f 6d 61 6b 65 66 69 |sys/msdo|s/makefi|
|00002c10| 6c 65 27 22 0a 65 6c 73 | 65 0a 63 61 74 20 3c 3c |le'".els|e.cat <<|
|00002c20| 20 5c 53 48 41 52 5f 45 | 4f 46 20 3e 20 27 73 79 | \SHAR_E|OF > 'sy|
|00002c30| 73 2f 6d 73 64 6f 73 2f | 6d 61 6b 65 66 69 6c 65 |s/msdos/|makefile|
|00002c40| 27 0a 23 20 4d 61 6b 65 | 66 69 6c 65 20 66 6f 72 |'.# Make|file for|
|00002c50| 20 4d 69 63 72 6f 45 4d | 41 43 53 20 66 6f 72 20 | MicroEM|ACS for |
|00002c60| 4d 53 44 4f 53 20 28 4d | 69 63 72 6f 73 6f 66 74 |MSDOS (M|icrosoft|
|00002c70| 20 43 20 34 2e 30 29 2e | 0a 23 20 54 68 69 73 20 | C 4.0).|.# This |
|00002c80| 6d 61 6b 65 66 69 6c 65 | 20 64 65 73 69 67 6e 65 |makefile| designe|
|00002c90| 64 20 66 6f 72 20 6d 69 | 63 72 6f 73 6f 66 74 20 |d for mi|crosoft |
|00002ca0| 34 2e 30 20 6d 61 6b 65 | 2c 20 77 68 69 63 68 20 |4.0 make|, which |
|00002cb0| 69 73 20 61 20 73 74 75 | 70 69 64 20 70 72 6f 67 |is a stu|pid prog|
|00002cc0| 72 61 6d 2e 0a 23 20 41 | 6e 79 77 61 79 2c 20 74 |ram..# A|nyway, t|
|00002cd0| 68 69 73 20 75 73 65 73 | 20 74 68 65 20 22 63 6f |his uses| the "co|
|00002ce0| 6d 70 61 63 74 22 20 6d | 6f 64 65 6c 20 28 73 6d |mpact" m|odel (sm|
|00002cf0| 61 6c 6c 20 63 6f 64 65 | 2c 20 62 69 67 20 64 61 |all code|, big da|
|00002d00| 74 61 29 2e 0a 0a 53 59 | 53 3d 4d 53 44 4f 53 0a |ta)...SY|S=MSDOS.|
|00002d10| 54 54 59 3d 49 42 4d 42 | 49 4f 53 0a 0a 23 20 43 |TTY=IBMB|IOS..# C|
|00002d20| 44 45 46 53 20 67 65 74 | 73 20 64 65 66 69 6e 65 |DEFS get|s define|
|00002d30| 73 2c 20 61 6e 64 20 67 | 65 74 73 20 70 61 73 73 |s, and g|ets pass|
|00002d40| 65 64 20 74 6f 20 6c 69 | 6e 74 2e 20 43 46 4c 41 |ed to li|nt. CFLA|
|00002d50| 47 53 20 67 65 74 73 20 | 66 6c 61 67 73 2c 20 61 |GS gets |flags, a|
|00002d60| 6e 64 20 64 6f 65 73 6e | 27 74 0a 23 20 67 65 74 |nd doesn|'t.# get|
|00002d70| 20 70 61 73 73 65 64 20 | 74 6f 20 6c 69 6e 74 2e | passed |to lint.|
|00002d80| 0a 43 44 45 46 53 3d 2d | 44 44 50 52 4f 4d 50 54 |.CDEFS=-|DDPROMPT|
|00002d90| 20 2d 44 53 54 41 52 54 | 55 50 0a 23 43 46 4c 41 | -DSTART|UP.#CFLA|
|00002da0| 47 53 3d 2d 5a 69 20 2d | 4f 64 20 2d 4d 63 20 24 |GS=-Zi -|Od -Mc $|
|00002db0| 28 43 44 45 46 53 29 0a | 43 46 4c 41 47 53 3d 2d |(CDEFS).|CFLAGS=-|
|00002dc0| 4d 63 20 24 28 43 44 45 | 46 53 29 0a 0a 4f 42 4a |Mc $(CDE|FS)..OBJ|
|00002dd0| 31 3d 42 41 53 49 43 2e | 4f 42 4a 20 42 55 46 46 |1=BASIC.|OBJ BUFF|
|00002de0| 45 52 2e 4f 42 4a 20 43 | 49 4e 46 4f 2e 4f 42 4a |ER.OBJ C|INFO.OBJ|
|00002df0| 20 44 49 53 50 4c 41 59 | 2e 4f 42 4a 20 45 43 48 | DISPLAY|.OBJ ECH|
|00002e00| 4f 2e 4f 42 4a 20 45 58 | 54 45 4e 44 2e 4f 42 4a |O.OBJ EX|TEND.OBJ|
|00002e10| 0a 4f 42 4a 32 3d 46 49 | 4c 45 2e 4f 42 4a 20 4b |.OBJ2=FI|LE.OBJ K|
|00002e20| 42 44 2e 4f 42 4a 20 4c | 49 4e 45 2e 4f 42 4a 20 |BD.OBJ L|INE.OBJ |
|00002e30| 4d 41 49 4e 2e 4f 42 4a | 20 4d 41 54 43 48 2e 4f |MAIN.OBJ| MATCH.O|
|00002e40| 42 4a 20 52 41 4e 44 4f | 4d 2e 4f 42 4a 20 52 45 |BJ RANDO|M.OBJ RE|
|00002e50| 47 49 4f 4e 2e 4f 42 4a | 0a 4f 42 4a 33 3d 53 45 |GION.OBJ|.OBJ3=SE|
|00002e60| 41 52 43 48 2e 4f 42 4a | 20 53 59 4d 42 4f 4c 2e |ARCH.OBJ| SYMBOL.|
|00002e70| 4f 42 4a 20 56 45 52 53 | 49 4f 4e 2e 4f 42 4a 20 |OBJ VERS|ION.OBJ |
|00002e80| 57 49 4e 44 4f 57 2e 4f | 42 4a 20 50 41 52 41 47 |WINDOW.O|BJ PARAG|
|00002e90| 52 41 50 2e 4f 42 4a 20 | 50 52 45 46 49 58 2e 4f |RAP.OBJ |PREFIX.O|
|00002ea0| 42 4a 0a 4f 42 4a 34 3d | 57 4f 52 44 2e 4f 42 4a |BJ.OBJ4=|WORD.OBJ|
|00002eb0| 20 46 49 4c 45 49 4f 2e | 4f 42 4a 20 53 50 41 57 | FILEIO.|OBJ SPAW|
|00002ec0| 4e 2e 4f 42 4a 20 54 54 | 59 49 4f 2e 4f 42 4a 20 |N.OBJ TT|YIO.OBJ |
|00002ed0| 54 54 59 2e 4f 42 4a 20 | 54 54 59 4b 42 44 2e 4f |TTY.OBJ |TTYKBD.O|
|00002ee0| 42 4a 20 50 4f 4c 4c 4b | 42 44 2e 4f 42 4a 0a 4f |BJ POLLK|BD.OBJ.O|
|00002ef0| 42 4a 3d 24 28 4f 42 4a | 31 29 20 24 28 4f 42 4a |BJ=$(OBJ|1) $(OBJ|
|00002f00| 32 29 20 24 28 4f 42 4a | 33 29 20 24 28 4f 42 4a |2) $(OBJ|3) $(OBJ|
|00002f10| 34 29 0a 0a 4f 53 52 43 | 53 3d 46 49 4c 45 49 4f |4)..OSRC|S=FILEIO|
|00002f20| 2e 43 20 53 50 41 57 4e | 2e 43 20 54 54 59 49 4f |.C SPAWN|.C TTYIO|
|00002f30| 2e 43 20 54 54 59 2e 43 | 20 54 54 59 4b 42 44 2e |.C TTY.C| TTYKBD.|
|00002f40| 43 0a 4f 49 4e 43 53 3d | 54 54 59 44 45 46 2e 48 |C.OINCS=|TTYDEF.H|
|00002f50| 20 53 59 53 44 45 46 2e | 48 0a 49 4e 43 53 3d 44 | SYSDEF.|H.INCS=D|
|00002f60| 45 46 2e 48 0a 0a 49 3d | 24 28 4f 49 4e 43 53 29 |EF.H..I=|$(OINCS)|
|00002f70| 20 24 28 49 4e 43 53 29 | 0a 0a 2e 43 2e 4f 42 4a | $(INCS)|...C.OBJ|
|00002f80| 3a 0a 09 63 6c 20 2d 63 | 20 24 28 43 46 4c 41 47 |:..cl -c| $(CFLAG|
|00002f90| 53 29 20 24 2a 2e 43 0a | 0a 23 20 55 70 64 61 74 |S) $*.C.|.# Updat|
|00002fa0| 65 20 6c 69 6e 6b 73 2c | 20 69 66 20 6e 65 65 64 |e links,| if need|
|00002fb0| 65 64 2e 0a 0a 53 59 53 | 44 45 46 2e 48 3a 20 53 |ed...SYS|DEF.H: S|
|00002fc0| 59 53 5c 24 28 53 59 53 | 29 5c 53 59 53 44 45 46 |YS\$(SYS|)\SYSDEF|
|00002fd0| 2e 48 0a 09 09 43 4f 50 | 59 20 53 59 53 5c 24 28 |.H...COP|Y SYS\$(|
|00002fe0| 53 59 53 29 5c 53 59 53 | 44 45 46 2e 48 0a 0a 54 |SYS)\SYS|DEF.H..T|
|00002ff0| 54 59 44 45 46 2e 48 3a | 09 54 54 59 5c 24 28 54 |TYDEF.H:|.TTY\$(T|
|00003000| 54 59 29 5c 54 54 59 44 | 45 46 2e 48 0a 09 09 43 |TY)\TTYD|EF.H...C|
|00003010| 4f 50 59 20 54 54 59 5c | 24 28 54 54 59 29 5c 54 |OPY TTY\|$(TTY)\T|
|00003020| 54 59 44 45 46 2e 48 0a | 0a 46 49 4c 45 49 4f 2e |TYDEF.H.|.FILEIO.|
|00003030| 43 3a 09 53 59 53 5c 24 | 28 53 59 53 29 5c 46 49 |C:.SYS\$|(SYS)\FI|
|00003040| 4c 45 49 4f 2e 43 0a 09 | 09 43 4f 50 59 20 53 59 |LEIO.C..|.COPY SY|
|00003050| 53 5c 24 28 53 59 53 29 | 5c 46 49 4c 45 49 4f 2e |S\$(SYS)|\FILEIO.|
|00003060| 43 0a 0a 53 50 41 57 4e | 2e 43 3a 09 53 59 53 5c |C..SPAWN|.C:.SYS\|
|00003070| 24 28 53 59 53 29 5c 53 | 50 41 57 4e 2e 43 0a 09 |$(SYS)\S|PAWN.C..|
|00003080| 09 43 4f 50 59 20 53 59 | 53 5c 24 28 53 59 53 29 |.COPY SY|S\$(SYS)|
|00003090| 5c 53 50 41 57 4e 2e 43 | 0a 0a 54 54 59 2e 43 3a |\SPAWN.C|..TTY.C:|
|000030a0| 09 09 54 54 59 5c 24 28 | 54 54 59 29 5c 54 54 59 |..TTY\$(|TTY)\TTY|
|000030b0| 2e 43 0a 09 09 43 4f 50 | 59 20 54 54 59 5c 24 28 |.C...COP|Y TTY\$(|
|000030c0| 54 54 59 29 5c 54 54 59 | 2e 43 0a 0a 54 54 59 49 |TTY)\TTY|.C..TTYI|
|000030d0| 4f 2e 43 3a 09 53 59 53 | 5c 24 28 53 59 53 29 5c |O.C:.SYS|\$(SYS)\|
|000030e0| 54 54 59 49 4f 2e 43 0a | 09 09 43 4f 50 59 20 53 |TTYIO.C.|..COPY S|
|000030f0| 59 53 5c 24 28 53 59 53 | 29 5c 54 54 59 49 4f 2e |YS\$(SYS|)\TTYIO.|
|00003100| 43 0a 0a 54 54 59 4b 42 | 44 2e 43 3a 09 54 54 59 |C..TTYKB|D.C:.TTY|
|00003110| 5c 24 28 54 54 59 29 5c | 54 54 59 4b 42 44 2e 43 |\$(TTY)\|TTYKBD.C|
|00003120| 0a 09 09 43 4f 50 59 20 | 54 54 59 5c 24 28 54 54 |...COPY |TTY\$(TT|
|00003130| 59 29 5c 54 54 59 4b 42 | 44 2e 43 0a 0a 50 4f 4c |Y)\TTYKB|D.C..POL|
|00003140| 4c 4b 42 44 2e 4f 42 4a | 3a 20 50 4f 4c 4c 4b 42 |LKBD.OBJ|: POLLKB|
|00003150| 44 2e 41 53 4d 0a 09 09 | 4d 41 53 4d 20 50 4f 4c |D.ASM...|MASM POL|
|00003160| 4c 4b 42 44 2c 50 4f 4c | 4c 4b 42 44 2f 6d 6c 3b |LKBD,POL|LKBD/ml;|
|00003170| 0a 0a 42 41 53 49 43 2e | 4f 42 4a 3a 20 42 41 53 |..BASIC.|OBJ: BAS|
|00003180| 49 43 2e 43 20 24 28 49 | 29 0a 0a 42 55 46 46 45 |IC.C $(I|)..BUFFE|
|00003190| 52 2e 4f 42 4a 3a 20 42 | 55 46 46 45 52 2e 43 20 |R.OBJ: B|UFFER.C |
|000031a0| 24 28 49 29 0a 0a 43 49 | 4e 46 4f 2e 4f 42 4a 3a |$(I)..CI|NFO.OBJ:|
|000031b0| 20 43 49 4e 46 4f 2e 43 | 20 24 28 49 29 0a 0a 44 | CINFO.C| $(I)..D|
|000031c0| 49 53 50 4c 41 59 2e 4f | 42 4a 3a 20 44 49 53 50 |ISPLAY.O|BJ: DISP|
|000031d0| 4c 41 59 2e 43 20 24 28 | 49 29 0a 0a 45 43 48 4f |LAY.C $(|I)..ECHO|
|000031e0| 2e 4f 42 4a 3a 20 45 43 | 48 4f 2e 43 20 24 28 49 |.OBJ: EC|HO.C $(I|
|000031f0| 29 0a 0a 45 58 54 45 4e | 44 2e 4f 42 4a 3a 20 45 |)..EXTEN|D.OBJ: E|
|00003200| 58 54 45 4e 44 2e 43 20 | 24 28 49 29 0a 0a 46 49 |XTEND.C |$(I)..FI|
|00003210| 4c 45 2e 4f 42 4a 3a 20 | 46 49 4c 45 2e 43 20 24 |LE.OBJ: |FILE.C $|
|00003220| 28 49 29 0a 0a 4b 42 44 | 2e 4f 42 4a 3a 20 4b 42 |(I)..KBD|.OBJ: KB|
|00003230| 44 2e 43 20 24 28 49 29 | 0a 0a 4c 49 4e 45 2e 4f |D.C $(I)|..LINE.O|
|00003240| 42 4a 3a 20 4c 49 4e 45 | 2e 43 20 24 28 49 29 0a |BJ: LINE|.C $(I).|
|00003250| 0a 4d 41 49 4e 2e 4f 42 | 4a 3a 20 4d 41 49 4e 2e |.MAIN.OB|J: MAIN.|
|00003260| 43 20 24 28 49 29 0a 0a | 4d 41 54 43 48 2e 4f 42 |C $(I)..|MATCH.OB|
|00003270| 4a 3a 20 4d 41 54 43 48 | 2e 43 20 24 28 49 29 0a |J: MATCH|.C $(I).|
|00003280| 0a 52 41 4e 44 4f 4d 2e | 4f 42 4a 3a 20 52 41 4e |.RANDOM.|OBJ: RAN|
|00003290| 44 4f 4d 2e 43 20 24 28 | 49 29 0a 0a 52 45 47 49 |DOM.C $(|I)..REGI|
|000032a0| 4f 4e 2e 4f 42 4a 3a 20 | 52 45 47 49 4f 4e 2e 43 |ON.OBJ: |REGION.C|
|000032b0| 20 24 28 49 29 0a 0a 53 | 45 41 52 43 48 2e 4f 42 | $(I)..S|EARCH.OB|
|000032c0| 4a 3a 20 53 45 41 52 43 | 48 2e 43 20 24 28 49 29 |J: SEARC|H.C $(I)|
|000032d0| 0a 0a 53 59 4d 42 4f 4c | 2e 4f 42 4a 3a 20 53 59 |..SYMBOL|.OBJ: SY|
|000032e0| 4d 42 4f 4c 2e 43 20 24 | 28 49 29 0a 0a 56 45 52 |MBOL.C $|(I)..VER|
|000032f0| 53 49 4f 4e 2e 4f 42 4a | 3a 20 56 45 52 53 49 4f |SION.OBJ|: VERSIO|
|00003300| 4e 2e 43 20 24 28 49 29 | 0a 0a 57 49 4e 44 4f 57 |N.C $(I)|..WINDOW|
|00003310| 2e 4f 42 4a 3a 20 57 49 | 4e 44 4f 57 2e 43 20 24 |.OBJ: WI|NDOW.C $|
|00003320| 28 49 29 0a 0a 50 41 52 | 41 47 52 41 50 2e 4f 42 |(I)..PAR|AGRAP.OB|
|00003330| 4a 3a 20 50 41 52 41 47 | 52 41 50 2e 43 20 24 28 |J: PARAG|RAP.C $(|
|00003340| 49 29 0a 0a 50 52 45 46 | 49 58 2e 4f 42 4a 3a 20 |I)..PREF|IX.OBJ: |
|00003350| 50 52 45 46 49 58 2e 43 | 20 24 28 49 29 0a 0a 57 |PREFIX.C| $(I)..W|
|00003360| 4f 52 44 2e 4f 42 4a 3a | 20 57 4f 52 44 2e 43 20 |ORD.OBJ:| WORD.C |
|00003370| 24 28 49 29 0a 0a 46 49 | 4c 45 49 4f 2e 4f 42 4a |$(I)..FI|LEIO.OBJ|
|00003380| 3a 20 46 49 4c 45 49 4f | 2e 43 20 24 28 49 29 0a |: FILEIO|.C $(I).|
|00003390| 0a 53 50 41 57 4e 2e 4f | 42 4a 3a 20 53 50 41 57 |.SPAWN.O|BJ: SPAW|
|000033a0| 4e 2e 43 20 24 28 49 29 | 0a 0a 54 54 59 49 4f 2e |N.C $(I)|..TTYIO.|
|000033b0| 4f 42 4a 3a 20 54 54 59 | 49 4f 2e 43 20 24 28 49 |OBJ: TTY|IO.C $(I|
|000033c0| 29 0a 0a 54 54 59 2e 4f | 42 4a 3a 20 54 54 59 2e |)..TTY.O|BJ: TTY.|
|000033d0| 43 20 24 28 49 29 0a 0a | 54 54 59 4b 42 44 2e 4f |C $(I)..|TTYKBD.O|
|000033e0| 42 4a 3a 20 54 54 59 4b | 42 44 2e 43 20 24 28 49 |BJ: TTYK|BD.C $(I|
|000033f0| 29 0a 0a 4d 47 2e 45 58 | 45 3a 09 24 28 4f 42 4a |)..MG.EX|E:.$(OBJ|
|00003400| 29 0a 09 09 65 63 68 6f | 20 24 28 4f 42 4a 31 29 |)...echo| $(OBJ1)|
|00003410| 2b 20 3e 20 20 5f 5f 6c | 69 6e 6b 5f 5f 2e 74 6d |+ > __l|ink__.tm|
|00003420| 70 0a 09 09 65 63 68 6f | 20 24 28 4f 42 4a 32 29 |p...echo| $(OBJ2)|
|00003430| 2b 20 3e 3e 20 5f 5f 6c | 69 6e 6b 5f 5f 2e 74 6d |+ >> __l|ink__.tm|
|00003440| 70 0a 09 09 65 63 68 6f | 20 24 28 4f 42 4a 33 29 |p...echo| $(OBJ3)|
|00003450| 2b 20 3e 3e 20 5f 5f 6c | 69 6e 6b 5f 5f 2e 74 6d |+ >> __l|ink__.tm|
|00003460| 70 0a 09 09 65 63 68 6f | 20 24 28 4f 42 4a 34 29 |p...echo| $(OBJ4)|
|00003470| 20 20 3e 3e 20 5f 5f 6c | 69 6e 6b 5f 5f 2e 74 6d | >> __l|ink__.tm|
|00003480| 70 0a 09 09 65 63 68 6f | 20 24 40 2f 4e 4f 49 2f |p...echo| $@/NOI/|
|00003490| 43 4f 20 3e 3e 20 5f 5f | 6c 69 6e 6b 5f 5f 2e 74 |CO >> __|link__.t|
|000034a0| 6d 70 0a 09 09 65 63 68 | 6f 20 6d 67 3b 20 20 20 |mp...ech|o mg; |
|000034b0| 20 20 20 3e 3e 20 5f 5f | 6c 69 6e 6b 5f 5f 2e 74 | >> __|link__.t|
|000034c0| 6d 70 0a 09 09 6c 69 6e | 6b 20 40 5f 5f 6c 69 6e |mp...lin|k @__lin|
|000034d0| 6b 5f 5f 2e 74 6d 70 0a | 09 09 64 65 6c 20 5f 5f |k__.tmp.|..del __|
|000034e0| 6c 69 6e 6b 5f 5f 2e 74 | 6d 70 0a 0a 23 43 4c 45 |link__.t|mp..#CLE|
|000034f0| 41 4e 3a 0a 23 09 09 64 | 65 6c 20 24 28 4f 42 4a |AN:.#..d|el $(OBJ|
|00003500| 29 20 24 28 4f 53 52 43 | 53 29 20 24 28 4f 49 4e |) $(OSRC|S) $(OIN|
|00003510| 43 53 29 0a 53 48 41 52 | 5f 45 4f 46 0a 69 66 20 |CS).SHAR|_EOF.if |
|00003520| 74 65 73 74 20 32 32 35 | 38 20 2d 6e 65 20 22 60 |test 225|8 -ne "`|
|00003530| 77 63 20 2d 63 20 3c 20 | 27 73 79 73 2f 6d 73 64 |wc -c < |'sys/msd|
|00003540| 6f 73 2f 6d 61 6b 65 66 | 69 6c 65 27 60 22 0a 74 |os/makef|ile'`".t|
|00003550| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00003560| 65 72 72 6f 72 20 74 72 | 61 6e 73 6d 69 74 74 69 |error tr|ansmitti|
|00003570| 6e 67 20 22 27 73 79 73 | 2f 6d 73 64 6f 73 2f 6d |ng "'sys|/msdos/m|
|00003580| 61 6b 65 66 69 6c 65 27 | 22 20 27 28 73 68 6f 75 |akefile'|" '(shou|
|00003590| 6c 64 20 68 61 76 65 20 | 62 65 65 6e 20 32 32 35 |ld have |been 225|
|000035a0| 38 20 63 68 61 72 61 63 | 74 65 72 73 29 27 0a 66 |8 charac|ters)'.f|
|000035b0| 69 0a 66 69 0a 65 63 68 | 6f 20 73 68 61 72 3a 20 |i.fi.ech|o shar: |
|000035c0| 65 78 74 72 61 63 74 69 | 6e 67 20 22 27 73 79 73 |extracti|ng "'sys|
|000035d0| 2f 6d 73 64 6f 73 2f 73 | 79 73 64 65 66 2e 68 27 |/msdos/s|ysdef.h'|
|000035e0| 22 20 27 28 36 36 35 20 | 63 68 61 72 61 63 74 65 |" '(665 |characte|
|000035f0| 72 73 29 27 0a 69 66 20 | 74 65 73 74 20 2d 66 20 |rs)'.if |test -f |
|00003600| 27 73 79 73 2f 6d 73 64 | 6f 73 2f 73 79 73 64 65 |'sys/msd|os/sysde|
|00003610| 66 2e 68 27 0a 74 68 65 | 6e 0a 09 65 63 68 6f 20 |f.h'.the|n..echo |
|00003620| 73 68 61 72 3a 20 77 69 | 6c 6c 20 6e 6f 74 20 6f |shar: wi|ll not o|
|00003630| 76 65 72 2d 77 72 69 74 | 65 20 65 78 69 73 74 69 |ver-writ|e existi|
|00003640| 6e 67 20 66 69 6c 65 20 | 22 27 73 79 73 2f 6d 73 |ng file |"'sys/ms|
|00003650| 64 6f 73 2f 73 79 73 64 | 65 66 2e 68 27 22 0a 65 |dos/sysd|ef.h'".e|
|00003660| 6c 73 65 0a 63 61 74 20 | 3c 3c 20 5c 53 48 41 52 |lse.cat |<< \SHAR|
|00003670| 5f 45 4f 46 20 3e 20 27 | 73 79 73 2f 6d 73 64 6f |_EOF > '|sys/msdo|
|00003680| 73 2f 73 79 73 64 65 66 | 2e 68 27 0a 2f 2a 0a 20 |s/sysdef|.h'./*. |
|00003690| 2a 20 4e 61 6d 65 3a 09 | 4d 69 63 72 6f 45 4d 41 |* Name:.|MicroEMA|
|000036a0| 43 53 0a 20 2a 09 09 4d | 53 44 4f 53 20 73 79 73 |CS. *..M|SDOS sys|
|000036b0| 74 65 6d 20 68 65 61 64 | 65 72 20 66 69 6c 65 20 |tem head|er file |
|000036c0| 28 4d 53 43 34 2e 30 29 | 0a 20 2a 2f 0a 0a 23 64 |(MSC4.0)|. */..#d|
|000036d0| 65 66 69 6e 65 20 50 43 | 43 09 09 09 09 2f 2a 20 |efine PC|C..../* |
|000036e0| 5b 5d 20 64 6f 65 73 6e | 74 20 77 6f 72 6b 20 09 |[] doesn|t work .|
|000036f0| 09 2a 2f 0a 23 64 65 66 | 69 6e 65 09 4b 42 4c 4f |.*/.#def|ine.KBLO|
|00003700| 43 4b 09 31 30 32 34 09 | 09 09 2f 2a 20 4b 69 6c |CK.1024.|../* Kil|
|00003710| 6c 20 67 72 6f 77 2e 09 | 09 09 2a 2f 0a 23 64 65 |l grow..|..*/.#de|
|00003720| 66 69 6e 65 09 47 4f 4f | 44 09 30 09 09 09 2f 2a |fine.GOO|D.0.../*|
|00003730| 20 47 6f 6f 64 20 65 78 | 69 74 20 73 74 61 74 75 | Good ex|it statu|
|00003740| 73 2e 09 09 2a 2f 0a 0a | 74 79 70 65 64 65 66 20 |s...*/..|typedef |
|00003750| 69 6e 74 09 52 53 49 5a | 45 3b 09 09 09 2f 2a 20 |int.RSIZ|E;.../* |
|00003760| 54 79 70 65 20 66 6f 72 | 20 66 69 6c 65 2f 72 65 |Type for| file/re|
|00003770| 67 69 6f 6e 20 73 69 7a | 65 73 09 2a 2f 0a 74 79 |gion siz|es.*/.ty|
|00003780| 70 65 64 65 66 20 73 68 | 6f 72 74 09 4b 45 59 3b |pedef sh|ort.KEY;|
|00003790| 09 09 09 2f 2a 20 54 79 | 70 65 20 66 6f 72 20 69 |.../* Ty|pe for i|
|000037a0| 6e 74 65 72 6e 61 6c 20 | 6b 65 79 73 74 72 6f 6b |nternal |keystrok|
|000037b0| 65 73 09 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 4d 61 63 |es.*/../|*. * Mac|
|000037c0| 72 6f 73 20 75 73 65 64 | 20 62 79 20 74 68 65 20 |ros used| by the |
|000037d0| 62 75 66 66 65 72 20 6e | 61 6d 65 20 6d 61 6b 69 |buffer n|ame maki|
|000037e0| 6e 67 20 63 6f 64 65 2e | 0a 20 2a 20 53 74 61 72 |ng code.|. * Star|
|000037f0| 74 20 61 74 20 74 68 65 | 20 65 6e 64 20 6f 66 20 |t at the| end of |
|00003800| 74 68 65 20 66 69 6c 65 | 20 6e 61 6d 65 2c 20 73 |the file| name, s|
|00003810| 63 61 6e 20 74 6f 20 74 | 68 65 20 6c 65 66 74 0a |can to t|he left.|
|00003820| 20 2a 20 75 6e 74 69 6c | 20 42 44 43 31 20 28 6f | * until| BDC1 (o|
|00003830| 72 20 42 44 43 32 2c 20 | 69 66 20 64 65 66 69 6e |r BDC2, |if defin|
|00003840| 65 64 29 20 69 73 20 72 | 65 61 63 68 65 64 2e 20 |ed) is r|eached. |
|00003850| 54 68 65 20 62 75 66 66 | 65 72 0a 20 2a 20 6e 61 |The buff|er. * na|
|00003860| 6d 65 20 73 74 61 72 74 | 73 20 6a 75 73 74 20 74 |me start|s just t|
|00003870| 6f 20 74 68 65 20 72 69 | 67 68 74 20 6f 66 20 74 |o the ri|ght of t|
|00003880| 68 61 74 20 6c 6f 63 61 | 74 69 6f 6e 2c 20 61 6e |hat loca|tion, an|
|00003890| 64 0a 20 2a 20 73 74 6f | 70 73 20 61 74 20 65 6e |d. * sto|ps at en|
|000038a0| 64 20 6f 66 20 73 74 72 | 69 6e 67 20 28 6f 72 20 |d of str|ing (or |
|000038b0| 61 74 20 74 68 65 20 6e | 65 78 74 20 42 44 43 33 |at the n|ext BDC3|
|000038c0| 20 63 68 61 72 61 63 74 | 65 72 2c 0a 20 2a 20 69 | charact|er,. * i|
|000038d0| 66 20 64 65 66 69 6e 65 | 64 29 2e 20 42 44 43 32 |f define|d). BDC2|
|000038e0| 20 61 6e 64 20 42 44 43 | 33 20 61 72 65 20 6d 61 | and BDC|3 are ma|
|000038f0| 69 6e 6c 79 20 66 6f 72 | 20 56 4d 53 2e 0a 20 2a |inly for| VMS.. *|
|00003900| 2f 0a 23 64 65 66 69 6e | 65 09 42 44 43 31 09 27 |/.#defin|e.BDC1.'|
|00003910| 2f 27 0a 23 64 65 66 69 | 6e 65 09 42 44 43 32 09 |/'.#defi|ne.BDC2.|
|00003920| 27 5c 5c 27 0a 53 48 41 | 52 5f 45 4f 46 0a 69 66 |'\\'.SHA|R_EOF.if|
|00003930| 20 74 65 73 74 20 36 36 | 35 20 2d 6e 65 20 22 60 | test 66|5 -ne "`|
|00003940| 77 63 20 2d 63 20 3c 20 | 27 73 79 73 2f 6d 73 64 |wc -c < |'sys/msd|
|00003950| 6f 73 2f 73 79 73 64 65 | 66 2e 68 27 60 22 0a 74 |os/sysde|f.h'`".t|
|00003960| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00003970| 65 72 72 6f 72 20 74 72 | 61 6e 73 6d 69 74 74 69 |error tr|ansmitti|
|00003980| 6e 67 20 22 27 73 79 73 | 2f 6d 73 64 6f 73 2f 73 |ng "'sys|/msdos/s|
|00003990| 79 73 64 65 66 2e 68 27 | 22 20 27 28 73 68 6f 75 |ysdef.h'|" '(shou|
|000039a0| 6c 64 20 68 61 76 65 20 | 62 65 65 6e 20 36 36 35 |ld have |been 665|
|000039b0| 20 63 68 61 72 61 63 74 | 65 72 73 29 27 0a 66 69 | charact|ers)'.fi|
|000039c0| 0a 66 69 0a 65 63 68 6f | 20 73 68 61 72 3a 20 64 |.fi.echo| shar: d|
|000039d0| 6f 6e 65 20 77 69 74 68 | 20 64 69 72 65 63 74 6f |one with| directo|
|000039e0| 72 79 20 22 27 73 79 73 | 2f 6d 73 64 6f 73 27 22 |ry "'sys|/msdos'"|
|000039f0| 0a 65 63 68 6f 20 73 68 | 61 72 3a 20 64 6f 6e 65 |.echo sh|ar: done|
|00003a00| 20 77 69 74 68 20 64 69 | 72 65 63 74 6f 72 79 20 | with di|rectory |
|00003a10| 22 27 73 79 73 27 22 0a | 69 66 20 74 65 73 74 20 |"'sys'".|if test |
|00003a20| 21 20 2d 64 20 27 74 74 | 79 27 0a 74 68 65 6e 0a |! -d 'tt|y'.then.|
|00003a30| 09 65 63 68 6f 20 73 68 | 61 72 3a 20 63 72 65 61 |.echo sh|ar: crea|
|00003a40| 74 69 6e 67 20 64 69 72 | 65 63 74 6f 72 79 20 22 |ting dir|ectory "|
|00003a50| 27 74 74 79 27 22 0a 09 | 6d 6b 64 69 72 20 27 74 |'tty'"..|mkdir 't|
|00003a60| 74 79 27 0a 66 69 0a 69 | 66 20 74 65 73 74 20 21 |ty'.fi.i|f test !|
|00003a70| 20 2d 64 20 27 74 74 79 | 2f 69 62 6d 62 69 6f 73 | -d 'tty|/ibmbios|
|00003a80| 27 0a 74 68 65 6e 0a 09 | 65 63 68 6f 20 73 68 61 |'.then..|echo sha|
|00003a90| 72 3a 20 63 72 65 61 74 | 69 6e 67 20 64 69 72 65 |r: creat|ing dire|
|00003aa0| 63 74 6f 72 79 20 22 27 | 74 74 79 2f 69 62 6d 62 |ctory "'|tty/ibmb|
|00003ab0| 69 6f 73 27 22 0a 09 6d | 6b 64 69 72 20 27 74 74 |ios'"..m|kdir 'tt|
|00003ac0| 79 2f 69 62 6d 62 69 6f | 73 27 0a 66 69 0a 65 63 |y/ibmbio|s'.fi.ec|
|00003ad0| 68 6f 20 73 68 61 72 3a | 20 65 78 74 72 61 63 74 |ho shar:| extract|
|00003ae0| 69 6e 67 20 22 27 74 74 | 79 2f 69 62 6d 62 69 6f |ing "'tt|y/ibmbio|
|00003af0| 73 2f 74 74 79 2e 63 27 | 22 20 27 28 36 34 37 33 |s/tty.c'|" '(6473|
|00003b00| 20 63 68 61 72 61 63 74 | 65 72 73 29 27 0a 69 66 | charact|ers)'.if|
|00003b10| 20 74 65 73 74 20 2d 66 | 20 27 74 74 79 2f 69 62 | test -f| 'tty/ib|
|00003b20| 6d 62 69 6f 73 2f 74 74 | 79 2e 63 27 0a 74 68 65 |mbios/tt|y.c'.the|
|00003b30| 6e 0a 09 65 63 68 6f 20 | 73 68 61 72 3a 20 77 69 |n..echo |shar: wi|
|00003b40| 6c 6c 20 6e 6f 74 20 6f | 76 65 72 2d 77 72 69 74 |ll not o|ver-writ|
|00003b50| 65 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |e existi|ng file |
|00003b60| 22 27 74 74 79 2f 69 62 | 6d 62 69 6f 73 2f 74 74 |"'tty/ib|mbios/tt|
|00003b70| 79 2e 63 27 22 0a 65 6c | 73 65 0a 63 61 74 20 3c |y.c'".el|se.cat <|
|00003b80| 3c 20 5c 53 48 41 52 5f | 45 4f 46 20 3e 20 27 74 |< \SHAR_|EOF > 't|
|00003b90| 74 79 2f 69 62 6d 62 69 | 6f 73 2f 74 74 79 2e 63 |ty/ibmbi|os/tty.c|
|00003ba0| 27 0a 2f 2a 0a 20 2a 20 | 4d 69 63 72 6f 45 4d 41 |'./*. * |MicroEMA|
|00003bb0| 43 53 0a 20 2a 20 20 20 | 49 42 4d 2d 50 43 20 61 |CS. * |IBM-PC a|
|00003bc0| 6e 64 20 63 6f 6d 70 61 | 74 69 62 6c 65 20 42 49 |nd compa|tible BI|
|00003bd0| 4f 53 20 62 61 73 65 64 | 20 64 69 73 70 6c 61 79 |OS based| display|
|00003be0| 20 64 72 69 76 65 72 2e | 0a 20 2a 20 20 20 2d 20 | driver.|. * - |
|00003bf0| 74 68 69 73 20 77 69 6c | 6c 20 74 65 6e 64 20 74 |this wil|l tend t|
|00003c00| 6f 20 62 65 20 61 20 62 | 69 74 20 73 6c 6f 77 65 |o be a b|it slowe|
|00003c10| 72 20 74 68 61 6e 20 61 | 20 64 72 69 76 65 72 20 |r than a| driver |
|00003c20| 74 68 61 74 0a 20 2a 20 | 20 20 20 20 77 72 69 74 |that. * | writ|
|00003c30| 65 73 20 64 69 72 65 63 | 74 6c 79 20 74 6f 20 74 |es direc|tly to t|
|00003c40| 68 65 20 6d 65 6d 6f 72 | 79 20 6d 61 70 70 65 64 |he memor|y mapped|
|00003c50| 20 73 63 72 65 65 6e 2c | 20 62 75 74 20 77 69 74 | screen,| but wit|
|00003c60| 68 0a 20 2a 20 20 20 20 | 20 74 68 65 20 6c 61 72 |h. * | the lar|
|00003c70| 67 65 20 23 20 6f 66 20 | 64 69 73 70 6c 61 79 20 |ge # of |display |
|00003c80| 61 64 61 70 74 65 72 73 | 20 66 6c 6f 61 74 69 6e |adapters| floatin|
|00003c90| 67 20 61 72 6f 75 6e 64 | 2c 20 49 27 64 0a 20 2a |g around|, I'd. *|
|00003ca0| 20 20 20 20 20 72 61 74 | 68 65 72 20 6c 65 74 20 | rat|her let |
|00003cb0| 74 68 65 20 62 69 6f 73 | 20 64 6f 20 74 68 65 20 |the bios| do the |
|00003cc0| 77 6f 72 6b 2e 0a 20 2a | 20 0a 20 2a 20 20 20 20 |work.. *| . * |
|00003cd0| 20 49 20 44 4f 20 72 65 | 63 6f 6d 6d 65 6e 64 20 | I DO re|commend |
|00003ce0| 46 41 4e 53 49 2d 43 4f | 4e 53 4f 4c 45 20 77 68 |FANSI-CO|NSOLE wh|
|00003cf0| 69 63 68 20 73 69 67 6e | 69 66 69 63 61 6e 74 6c |ich sign|ificantl|
|00003d00| 79 20 73 70 65 65 64 73 | 0a 20 2a 20 20 20 20 20 |y speeds|. * |
|00003d10| 75 70 20 64 69 73 70 6c | 61 79 20 62 69 6f 73 20 |up displ|ay bios |
|00003d20| 63 61 6c 6c 73 2c 20 68 | 6f 77 65 76 65 72 2e 0a |calls, h|owever..|
|00003d30| 20 2a 2f 0a 23 69 6e 63 | 6c 75 64 65 09 22 64 65 | */.#inc|lude."de|
|00003d40| 66 2e 68 22 0a 23 69 6e | 63 6c 75 64 65 09 3c 64 |f.h".#in|clude.<d|
|00003d50| 6f 73 2e 68 3e 0a 0a 23 | 64 65 66 69 6e 65 09 42 |os.h>..#|define.B|
|00003d60| 45 4c 09 30 78 30 37 09 | 09 09 2f 2a 20 42 45 4c |EL.0x07.|../* BEL|
|00003d70| 20 63 68 61 72 61 63 74 | 65 72 2e 09 09 2a 2f 0a | charact|er...*/.|
|00003d80| 0a 65 78 74 65 72 6e 09 | 69 6e 74 09 74 74 72 6f |.extern.|int.ttro|
|00003d90| 77 3b 0a 65 78 74 65 72 | 6e 09 69 6e 74 09 74 74 |w;.exter|n.int.tt|
|00003da0| 63 6f 6c 3b 0a 65 78 74 | 65 72 6e 09 69 6e 74 09 |col;.ext|ern.int.|
|00003db0| 74 74 74 6f 70 3b 0a 65 | 78 74 65 72 6e 09 69 6e |tttop;.e|xtern.in|
|00003dc0| 74 09 74 74 62 6f 74 3b | 0a 65 78 74 65 72 6e 09 |t.ttbot;|.extern.|
|00003dd0| 69 6e 74 09 74 74 68 75 | 65 3b 0a 0a 73 74 61 74 |int.tthu|e;..stat|
|00003de0| 69 63 20 69 6e 74 20 62 | 69 6f 63 6f 6c 20 3d 20 |ic int b|iocol = |
|00003df0| 30 3b 0a 0a 69 6e 74 09 | 74 63 65 65 6f 6c 20 3d |0;..int.|tceeol =|
|00003e00| 20 32 3b 09 09 09 2f 2a | 20 43 6f 73 74 73 20 61 | 2;.../*| Costs a|
|00003e10| 72 65 20 73 65 74 20 6c | 61 74 65 72 20 2a 2f 0a |re set l|ater */.|
|00003e20| 69 6e 74 09 74 63 69 6e | 73 6c 20 3d 20 35 3b 0a |int.tcin|sl = 5;.|
|00003e30| 69 6e 74 09 74 63 64 65 | 6c 6c 20 3d 20 35 3b 0a |int.tcde|ll = 5;.|
|00003e40| 0a 73 74 61 74 69 63 09 | 69 6e 74 20 69 6e 73 64 |.static.|int insd|
|00003e50| 65 6c 20 3d 20 54 52 55 | 45 3b 09 2f 2a 20 44 6f |el = TRU|E;./* Do|
|00003e60| 20 77 65 20 68 61 76 65 | 20 62 6f 74 68 20 69 6e | we have| both in|
|00003e70| 73 65 72 74 20 26 20 64 | 65 6c 65 74 65 20 6c 69 |sert & d|elete li|
|00003e80| 6e 65 3f 20 2a 2f 0a 73 | 74 61 74 69 63 20 69 6e |ne? */.s|tatic in|
|00003e90| 74 20 72 65 6e 64 69 74 | 69 6f 6e 20 3d 30 78 30 |t rendit|ion =0x0|
|00003ea0| 37 3b 0a 0a 69 6e 74 09 | 74 74 70 75 74 63 28 29 |7;..int.|ttputc()|
|00003eb0| 3b 0a 0a 2f 2a 0a 20 2a | 20 49 6e 69 74 69 61 6c |;../*. *| Initial|
|00003ec0| 69 7a 65 20 74 68 65 20 | 74 65 72 6d 69 6e 61 6c |ize the |terminal|
|00003ed0| 20 77 68 65 6e 20 74 68 | 65 20 65 64 69 74 6f 72 | when th|e editor|
|00003ee0| 0a 20 2a 20 67 65 74 73 | 20 73 74 61 72 74 65 64 |. * gets| started|
|00003ef0| 20 75 70 2e 0a 20 2a 2f | 0a 74 74 69 6e 69 74 28 | up.. */|.ttinit(|
|00003f00| 29 20 7b 0a 7d 0a 0a 2f | 2a 0a 20 2a 20 43 6c 65 |) {.}../|*. * Cle|
|00003f10| 61 6e 20 75 70 20 74 68 | 65 20 74 65 72 6d 69 6e |an up th|e termin|
|00003f20| 61 6c 2c 20 69 6e 20 61 | 6e 74 69 63 69 70 61 74 |al, in a|nticipat|
|00003f30| 69 6f 6e 20 6f 66 0a 20 | 2a 20 61 20 72 65 74 75 |ion of. |* a retu|
|00003f40| 72 6e 20 74 6f 20 74 68 | 65 20 63 6f 6d 6d 61 6e |rn to th|e comman|
|00003f50| 64 20 69 6e 74 65 72 70 | 72 65 74 65 72 2e 0a 20 |d interp|reter.. |
|00003f60| 2a 2f 0a 74 74 74 69 64 | 79 28 29 20 7b 0a 7d 0a |*/.tttid|y() {.}.|
|00003f70| 0a 2f 2a 0a 20 2a 20 4d | 6f 76 65 20 74 68 65 20 |./*. * M|ove the |
|00003f80| 63 75 72 73 6f 72 20 74 | 6f 20 74 68 65 20 73 70 |cursor t|o the sp|
|00003f90| 65 63 69 66 69 65 64 0a | 20 2a 20 6f 72 69 67 69 |ecified.| * origi|
|00003fa0| 6e 20 30 20 72 6f 77 20 | 61 6e 64 20 63 6f 6c 75 |n 0 row |and colu|
|00003fb0| 6d 6e 20 70 6f 73 69 74 | 69 6f 6e 2e 0a 20 2a 2f |mn posit|ion.. */|
|00003fc0| 0a 74 74 6d 6f 76 65 28 | 72 6f 77 2c 20 63 6f 6c |.ttmove(|row, col|
|00003fd0| 29 20 7b 0a 20 20 20 20 | 74 74 63 6f 6c 20 3d 20 |) {. |ttcol = |
|00003fe0| 63 6f 6c 3b 0a 20 20 20 | 20 74 74 72 6f 77 20 3d |col;. | ttrow =|
|00003ff0| 20 72 6f 77 3b 0a 20 20 | 20 20 5f 6d 6f 76 65 28 | row;. | _move(|
|00004000| 72 6f 77 2c 20 63 6f 6c | 29 3b 0a 7d 0a 0a 5f 6d |row, col|);.}.._m|
|00004010| 6f 76 65 28 72 6f 77 2c | 20 63 6f 6c 29 20 7b 0a |ove(row,| col) {.|
|00004020| 20 20 20 20 75 6e 69 6f | 6e 20 52 45 47 53 20 72 | unio|n REGS r|
|00004030| 67 3b 0a 0a 20 20 20 20 | 62 69 6f 63 6f 6c 20 3d |g;.. |biocol =|
|00004040| 20 63 6f 6c 3b 0a 20 20 | 20 20 72 67 2e 68 2e 61 | col;. | rg.h.a|
|00004050| 68 20 3d 20 32 3b 09 09 | 2f 2a 20 73 65 74 20 63 |h = 2;..|/* set c|
|00004060| 75 72 73 6f 72 20 70 6f | 73 69 74 69 6f 6e 20 66 |ursor po|sition f|
|00004070| 75 6e 63 74 69 6f 6e 20 | 63 6f 64 65 20 2a 2f 0a |unction |code */.|
|00004080| 20 20 20 20 72 67 2e 68 | 2e 64 6c 20 3d 20 63 6f | rg.h|.dl = co|
|00004090| 6c 3b 0a 20 20 20 20 72 | 67 2e 68 2e 64 68 20 3d |l;. r|g.h.dh =|
|000040a0| 20 72 6f 77 3b 0a 20 20 | 20 20 72 67 2e 68 2e 62 | row;. | rg.h.b|
|000040b0| 68 20 3d 20 30 3b 09 09 | 2f 2a 20 73 65 74 20 73 |h = 0;..|/* set s|
|000040c0| 63 72 65 65 6e 20 70 61 | 67 65 20 6e 75 6d 62 65 |creen pa|ge numbe|
|000040d0| 72 20 2a 2f 0a 20 20 20 | 20 69 6e 74 38 36 28 30 |r */. | int86(0|
|000040e0| 78 31 30 2c 20 26 72 67 | 2c 20 26 72 67 29 3b 0a |x10, &rg|, &rg);.|
|000040f0| 7d 0a 0a 2f 2a 0a 20 2a | 20 45 72 61 73 65 20 74 |}../*. *| Erase t|
|00004100| 6f 20 65 6e 64 20 6f 66 | 20 6c 69 6e 65 2e 0a 20 |o end of| line.. |
|00004110| 2a 2f 0a 74 74 65 65 6f | 6c 28 29 20 7b 0a 20 20 |*/.tteeo|l() {. |
|00004120| 20 20 75 6e 69 6f 6e 20 | 52 45 47 53 20 72 67 3b | union |REGS rg;|
|00004130| 0a 0a 20 20 20 20 72 67 | 2e 68 2e 61 68 20 3d 20 |.. rg|.h.ah = |
|00004140| 39 3b 09 2f 2a 20 77 72 | 69 74 65 20 63 68 61 72 |9;./* wr|ite char|
|00004150| 61 63 74 65 72 2f 72 65 | 6e 64 69 74 69 6f 6e 20 |acter/re|ndition |
|00004160| 2a 2f 0a 20 20 20 20 72 | 67 2e 68 2e 62 68 20 3d |*/. r|g.h.bh =|
|00004170| 20 30 3b 0a 20 20 20 20 | 72 67 2e 78 2e 63 78 20 | 0;. |rg.x.cx |
|00004180| 3d 20 6e 63 6f 6c 2d 62 | 69 6f 63 6f 6c 3b 0a 20 |= ncol-b|iocol;. |
|00004190| 20 20 20 72 67 2e 68 2e | 61 6c 20 3d 20 27 20 27 | rg.h.|al = ' '|
|000041a0| 3b 0a 20 20 20 20 72 67 | 2e 68 2e 62 6c 20 3d 20 |;. rg|.h.bl = |
|000041b0| 72 65 6e 64 69 74 69 6f | 6e 3b 0a 0a 20 20 20 20 |renditio|n;.. |
|000041c0| 69 6e 74 38 36 28 30 78 | 31 30 2c 20 26 72 67 2c |int86(0x|10, &rg,|
|000041d0| 20 26 72 67 29 3b 0a 7d | 0a 0a 2f 2a 0a 20 2a 20 | &rg);.}|../*. * |
|000041e0| 45 72 61 73 65 20 74 6f | 20 65 6e 64 20 6f 66 20 |Erase to| end of |
|000041f0| 70 61 67 65 2e 0a 20 2a | 2f 0a 74 74 65 65 6f 70 |page.. *|/.tteeop|
|00004200| 28 29 20 7b 0a 20 20 20 | 20 74 74 64 65 6c 6c 28 |() {. | ttdell(|
|00004210| 74 74 72 6f 77 2c 20 6e | 72 6f 77 2c 20 6e 72 6f |ttrow, n|row, nro|
|00004220| 77 20 2d 20 74 74 72 6f | 77 29 3b 0a 7d 0a 0a 2f |w - ttro|w);.}../|
|00004230| 2a 0a 20 2a 20 4d 61 6b | 65 20 61 20 6e 6f 69 73 |*. * Mak|e a nois|
|00004240| 65 2e 0a 20 2a 2f 0a 74 | 74 62 65 65 70 28 29 20 |e.. */.t|tbeep() |
|00004250| 7b 0a 20 20 20 20 75 6e | 69 6f 6e 20 52 45 47 53 |{. un|ion REGS|
|00004260| 20 72 67 3b 0a 0a 20 20 | 20 20 72 67 2e 68 2e 61 | rg;.. | rg.h.a|
|00004270| 68 20 3d 20 31 34 3b 09 | 2f 2a 20 77 72 69 74 65 |h = 14;.|/* write|
|00004280| 20 74 74 79 20 2a 2f 0a | 20 20 20 20 72 67 2e 68 | tty */.| rg.h|
|00004290| 2e 61 6c 20 3d 20 42 45 | 4c 3b 0a 0a 20 20 20 20 |.al = BE|L;.. |
|000042a0| 69 6e 74 38 36 28 30 78 | 31 30 2c 20 26 72 67 2c |int86(0x|10, &rg,|
|000042b0| 20 26 72 67 29 3b 0a 7d | 0a 0a 2f 2a 0a 20 2a 20 | &rg);.}|../*. * |
|000042c0| 49 6e 73 65 72 74 20 6e | 63 68 75 6e 6b 20 62 6c |Insert n|chunk bl|
|000042d0| 61 6e 6b 20 6c 69 6e 65 | 28 73 29 20 6f 6e 74 6f |ank line|(s) onto|
|000042e0| 20 74 68 65 0a 20 2a 20 | 73 63 72 65 65 6e 2c 20 | the. * |screen, |
|000042f0| 73 63 72 6f 6c 6c 69 6e | 67 20 74 68 65 20 6c 61 |scrollin|g the la|
|00004300| 73 74 20 6c 69 6e 65 20 | 6f 6e 20 74 68 65 0a 20 |st line |on the. |
|00004310| 2a 20 73 63 72 65 65 6e | 20 6f 66 66 20 74 68 65 |* screen| off the|
|00004320| 20 62 6f 74 74 6f 6d 2e | 0a 20 2a 2f 0a 74 74 69 | bottom.|. */.tti|
|00004330| 6e 73 6c 28 72 6f 77 2c | 20 62 6f 74 2c 20 6e 63 |nsl(row,| bot, nc|
|00004340| 68 75 6e 6b 29 20 7b 0a | 20 20 20 20 75 6e 69 6f |hunk) {.| unio|
|00004350| 6e 20 52 45 47 53 20 72 | 67 3b 0a 20 20 20 20 0a |n REGS r|g;. .|
|00004360| 20 20 20 20 69 66 20 28 | 72 6f 77 20 3d 3d 20 62 | if (|row == b|
|00004370| 6f 74 29 20 7b 09 09 2f | 2a 20 43 61 73 65 20 6f |ot) {../|* Case o|
|00004380| 66 20 6f 6e 65 20 6c 69 | 6e 65 20 69 6e 73 65 72 |f one li|ne inser|
|00004390| 74 20 69 73 20 09 2a 2f | 0a 09 74 74 6d 6f 76 65 |t is .*/|..ttmove|
|000043a0| 28 72 6f 77 2c 20 30 29 | 3b 09 09 2f 2a 09 73 70 |(row, 0)|;../*.sp|
|000043b0| 65 63 69 61 6c 09 09 09 | 2a 2f 0a 09 74 74 65 65 |ecial...|*/..ttee|
|000043c0| 6f 6c 28 29 3b 0a 09 72 | 65 74 75 72 6e 3b 0a 20 |ol();..r|eturn;. |
|000043d0| 20 20 20 7d 0a 0a 20 20 | 20 20 72 67 2e 68 2e 61 | }.. | rg.h.a|
|000043e0| 68 20 3d 20 37 3b 09 2f | 2a 20 73 63 72 6f 6c 6c |h = 7;./|* scroll|
|000043f0| 20 64 6f 77 6e 20 2a 2f | 0a 20 20 20 20 72 67 2e | down */|. rg.|
|00004400| 68 2e 62 68 20 3d 20 30 | 78 30 37 3b 0a 20 20 20 |h.bh = 0|x07;. |
|00004410| 20 72 67 2e 68 2e 61 6c | 20 3d 20 6e 63 68 75 6e | rg.h.al| = nchun|
|00004420| 6b 3b 0a 20 20 20 20 72 | 67 2e 68 2e 63 68 20 3d |k;. r|g.h.ch =|
|00004430| 20 72 6f 77 3b 0a 20 20 | 20 20 72 67 2e 68 2e 63 | row;. | rg.h.c|
|00004440| 6c 20 3d 20 30 3b 0a 20 | 20 20 20 72 67 2e 68 2e |l = 0;. | rg.h.|
|00004450| 64 68 20 3d 20 62 6f 74 | 3b 0a 20 20 20 20 72 67 |dh = bot|;. rg|
|00004460| 2e 68 2e 64 6c 20 3d 20 | 6e 63 6f 6c 20 2d 20 31 |.h.dl = |ncol - 1|
|00004470| 3b 0a 0a 20 20 20 20 69 | 6e 74 38 36 28 30 78 31 |;.. i|nt86(0x1|
|00004480| 30 2c 20 26 72 67 2c 20 | 26 72 67 29 3b 0a 7d 0a |0, &rg, |&rg);.}.|
|00004490| 0a 2f 2a 0a 20 2a 20 44 | 65 6c 65 74 65 20 6e 63 |./*. * D|elete nc|
|000044a0| 68 75 6e 6b 20 6c 69 6e | 65 28 73 29 20 66 72 6f |hunk lin|e(s) fro|
|000044b0| 6d 20 22 72 6f 77 22 2c | 20 72 65 70 6c 61 63 69 |m "row",| replaci|
|000044c0| 6e 67 20 74 68 65 0a 20 | 2a 20 62 6f 74 74 6f 6d |ng the. |* bottom|
|000044d0| 20 6c 69 6e 65 20 6f 6e | 20 74 68 65 20 73 63 72 | line on| the scr|
|000044e0| 65 65 6e 20 77 69 74 68 | 20 61 20 62 6c 61 6e 6b |een with| a blank|
|000044f0| 20 6c 69 6e 65 2e 20 0a | 20 2a 2f 0a 0a 74 74 64 | line. .| */..ttd|
|00004500| 65 6c 6c 28 72 6f 77 2c | 20 62 6f 74 2c 20 6e 63 |ell(row,| bot, nc|
|00004510| 68 75 6e 6b 29 0a 7b 0a | 20 20 20 20 75 6e 69 6f |hunk).{.| unio|
|00004520| 6e 20 52 45 47 53 20 72 | 67 3b 0a 0a 20 20 20 20 |n REGS r|g;.. |
|00004530| 69 66 20 28 72 6f 77 20 | 3d 3d 20 62 6f 74 29 20 |if (row |== bot) |
|00004540| 7b 09 09 2f 2a 20 4f 6e | 65 20 6c 69 6e 65 20 73 |{../* On|e line s|
|00004550| 70 65 63 69 61 6c 20 63 | 61 73 65 09 2a 2f 0a 09 |pecial c|ase.*/..|
|00004560| 74 74 6d 6f 76 65 28 72 | 6f 77 2c 20 30 29 3b 0a |ttmove(r|ow, 0);.|
|00004570| 09 74 74 65 65 6f 6c 28 | 29 3b 0a 09 72 65 74 75 |.tteeol(|);..retu|
|00004580| 72 6e 3b 0a 20 20 20 20 | 7d 0a 20 20 20 20 72 67 |rn;. |}. rg|
|00004590| 2e 68 2e 61 68 20 3d 20 | 36 3b 09 2f 2a 20 73 63 |.h.ah = |6;./* sc|
|000045a0| 72 6f 6c 6c 20 75 70 20 | 2a 2f 0a 20 20 20 20 72 |roll up |*/. r|
|000045b0| 67 2e 68 2e 62 68 20 3d | 20 30 78 30 37 3b 0a 20 |g.h.bh =| 0x07;. |
|000045c0| 20 20 20 72 67 2e 68 2e | 61 6c 20 3d 20 6e 63 68 | rg.h.|al = nch|
|000045d0| 75 6e 6b 3b 0a 20 20 20 | 20 72 67 2e 68 2e 63 68 |unk;. | rg.h.ch|
|000045e0| 20 3d 20 72 6f 77 3b 0a | 20 20 20 20 72 67 2e 68 | = row;.| rg.h|
|000045f0| 2e 63 6c 20 3d 20 30 3b | 0a 20 20 20 20 72 67 2e |.cl = 0;|. rg.|
|00004600| 68 2e 64 68 20 3d 20 62 | 6f 74 3b 0a 20 20 20 20 |h.dh = b|ot;. |
|00004610| 72 67 2e 68 2e 64 6c 20 | 3d 20 6e 63 6f 6c 20 2d |rg.h.dl |= ncol -|
|00004620| 20 31 3b 0a 0a 20 20 20 | 20 69 6e 74 38 36 28 30 | 1;.. | int86(0|
|00004630| 78 31 30 2c 20 26 72 67 | 2c 20 26 72 67 29 3b 0a |x10, &rg|, &rg);.|
|00004640| 7d 0a 0a 2f 2a 0a 20 2a | 20 53 77 69 74 63 68 20 |}../*. *| Switch |
|00004650| 74 6f 20 66 75 6c 6c 20 | 73 63 72 65 65 6e 20 73 |to full |screen s|
|00004660| 63 72 6f 6c 6c 2e 20 54 | 68 69 73 20 69 73 0a 20 |croll. T|his is. |
|00004670| 2a 20 75 73 65 64 20 62 | 79 20 22 73 70 61 77 6e |* used b|y "spawn|
|00004680| 2e 63 22 20 6a 75 73 74 | 20 62 65 66 6f 72 65 20 |.c" just| before |
|00004690| 69 73 20 73 75 73 70 65 | 6e 64 73 20 74 68 65 0a |is suspe|nds the.|
|000046a0| 20 2a 20 65 64 69 74 6f | 72 2c 20 61 6e 64 20 62 | * edito|r, and b|
|000046b0| 79 20 22 64 69 73 70 6c | 61 79 2e 63 22 20 77 68 |y "displ|ay.c" wh|
|000046c0| 65 6e 20 69 74 20 69 73 | 20 67 65 74 74 69 6e 67 |en it is| getting|
|000046d0| 20 72 65 61 64 79 0a 20 | 2a 20 74 6f 20 65 78 69 | ready. |* to exi|
|000046e0| 74 2e 0a 20 2a 2f 0a 74 | 74 6e 6f 77 69 6e 64 6f |t.. */.t|tnowindo|
|000046f0| 77 28 29 0a 7b 0a 7d 0a | 0a 2f 2a 0a 20 2a 20 53 |w().{.}.|./*. * S|
|00004700| 65 74 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 77 |et the c|urrent w|
|00004710| 72 69 74 69 6e 67 20 63 | 6f 6c 6f 72 20 74 6f 20 |riting c|olor to |
|00004720| 74 68 65 0a 20 2a 20 73 | 70 65 63 69 66 69 65 64 |the. * s|pecified|
|00004730| 20 63 6f 6c 6f 72 2e 20 | 57 61 74 63 68 20 66 6f | color. |Watch fo|
|00004740| 72 20 63 6f 6c 6f 72 20 | 63 68 61 6e 67 65 73 20 |r color |changes |
|00004750| 74 68 61 74 20 61 72 65 | 0a 20 2a 20 6e 6f 74 20 |that are|. * not |
|00004760| 67 6f 69 6e 67 20 74 6f | 20 64 6f 20 61 6e 79 74 |going to| do anyt|
|00004770| 68 69 6e 67 20 28 74 68 | 65 20 63 6f 6c 6f 72 20 |hing (th|e color |
|00004780| 69 73 20 61 6c 72 65 61 | 64 79 20 72 69 67 68 74 |is alrea|dy right|
|00004790| 29 0a 20 2a 20 61 6e 64 | 20 64 6f 6e 27 74 20 73 |). * and| don't s|
|000047a0| 65 6e 64 20 61 6e 79 74 | 68 69 6e 67 20 74 6f 20 |end anyt|hing to |
|000047b0| 74 68 65 20 64 69 73 70 | 6c 61 79 2e 0a 20 2a 20 |the disp|lay.. * |
|000047c0| 54 68 65 20 72 61 69 6e | 62 6f 77 20 76 65 72 73 |The rain|bow vers|
|000047d0| 69 6f 6e 20 64 6f 65 73 | 20 74 68 69 73 20 69 6e |ion does| this in|
|000047e0| 20 70 75 74 6c 69 6e 65 | 2e 73 20 6f 6e 20 61 0a | putline|.s on a.|
|000047f0| 20 2a 20 6c 69 6e 65 20 | 62 79 20 6c 69 6e 65 20 | * line |by line |
|00004800| 62 61 73 69 73 2c 20 73 | 6f 20 64 6f 6e 27 74 20 |basis, s|o don't |
|00004810| 62 6f 74 68 65 72 20 73 | 65 6e 64 69 6e 67 0a 20 |bother s|ending. |
|00004820| 2a 20 6f 75 74 20 74 68 | 65 20 63 6f 6c 6f 72 20 |* out th|e color |
|00004830| 73 68 69 66 74 2e 0a 20 | 2a 2f 0a 74 74 63 6f 6c |shift.. |*/.ttcol|
|00004840| 6f 72 28 63 6f 6c 6f 72 | 29 20 72 65 67 69 73 74 |or(color|) regist|
|00004850| 65 72 20 69 6e 74 20 63 | 6f 6c 6f 72 3b 20 7b 0a |er int c|olor; {.|
|00004860| 20 20 20 20 69 66 20 28 | 63 6f 6c 6f 72 20 21 3d | if (|color !=|
|00004870| 20 74 74 68 75 65 29 20 | 7b 0a 09 69 66 20 28 63 | tthue) |{..if (c|
|00004880| 6f 6c 6f 72 20 3d 3d 20 | 43 54 45 58 54 29 20 7b |olor == |CTEXT) {|
|00004890| 09 09 2f 2a 20 4e 6f 72 | 6d 61 6c 20 76 69 64 65 |../* Nor|mal vide|
|000048a0| 6f 2e 09 2a 2f 0a 09 20 | 20 20 20 72 65 6e 64 69 |o..*/.. | rendi|
|000048b0| 74 69 6f 6e 20 3d 20 30 | 78 30 37 3b 0a 09 7d 20 |tion = 0|x07;..} |
|000048c0| 65 6c 73 65 20 69 66 20 | 28 63 6f 6c 6f 72 20 3d |else if |(color =|
|000048d0| 3d 20 43 4d 4f 44 45 29 | 20 7b 09 2f 2a 20 52 65 |= CMODE)| {./* Re|
|000048e0| 76 65 72 73 65 20 76 69 | 64 65 6f 2e 09 2a 2f 0a |verse vi|deo..*/.|
|000048f0| 09 20 20 20 20 72 65 6e | 64 69 74 69 6f 6e 20 3d |. ren|dition =|
|00004900| 20 30 78 37 30 3b 0a 09 | 7d 0a 09 74 74 68 75 65 | 0x70;..|}..tthue|
|00004910| 20 3d 20 63 6f 6c 6f 72 | 3b 09 09 09 2f 2a 20 53 | = color|;.../* S|
|00004920| 61 76 65 20 74 68 65 20 | 63 6f 6c 6f 72 2e 09 2a |ave the |color..*|
|00004930| 2f 0a 20 20 20 20 7d 0a | 7d 0a 0a 2f 2a 0a 20 2a |/. }.|}../*. *|
|00004940| 20 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 69 73 | This ro|utine is|
|00004950| 20 63 61 6c 6c 65 64 20 | 62 79 20 74 68 65 0a 20 | called |by the. |
|00004960| 2a 20 22 72 65 66 72 65 | 73 68 20 74 68 65 20 73 |* "refre|sh the s|
|00004970| 63 72 65 65 6e 22 20 63 | 6f 6d 6d 61 6e 64 20 74 |creen" c|ommand t|
|00004980| 6f 20 74 72 79 20 61 6e | 64 20 72 65 73 69 7a 65 |o try an|d resize|
|00004990| 0a 20 2a 20 74 68 65 20 | 64 69 73 70 6c 61 79 2e |. * the |display.|
|000049a0| 20 54 68 65 20 6e 65 77 | 20 73 69 7a 65 2c 20 77 | The new| size, w|
|000049b0| 68 69 63 68 20 6d 75 73 | 74 20 62 65 20 64 65 61 |hich mus|t be dea|
|000049c0| 64 73 74 6f 70 70 65 64 | 0a 20 2a 20 74 6f 20 6e |dstopped|. * to n|
|000049d0| 6f 74 20 65 78 63 65 65 | 64 20 74 68 65 20 4e 52 |ot excee|d the NR|
|000049e0| 4f 57 20 61 6e 64 20 4e | 43 4f 4c 20 6c 69 6d 69 |OW and N|COL limi|
|000049f0| 74 73 2c 20 69 74 20 73 | 74 6f 72 65 64 0a 20 2a |ts, it s|tored. *|
|00004a00| 20 62 61 63 6b 20 69 6e | 74 6f 20 22 6e 72 6f 77 | back in|to "nrow|
|00004a10| 22 20 61 6e 64 20 22 6e | 63 6f 6c 22 2e 20 44 69 |" and "n|col". Di|
|00004a20| 73 70 6c 61 79 20 63 61 | 6e 20 61 6c 77 61 79 73 |splay ca|n always|
|00004a30| 20 64 65 61 6c 0a 20 2a | 20 77 69 74 68 20 61 20 | deal. *| with a |
|00004a40| 73 63 72 65 65 6e 20 4e | 52 4f 57 20 62 79 20 4e |screen N|ROW by N|
|00004a50| 43 4f 4c 2e 20 4c 6f 6f | 6b 20 69 6e 20 22 77 69 |COL. Loo|k in "wi|
|00004a60| 6e 64 6f 77 2e 63 22 20 | 74 6f 0a 20 2a 20 73 65 |ndow.c" |to. * se|
|00004a70| 65 20 68 6f 77 20 74 68 | 65 20 63 61 6c 6c 65 72 |e how th|e caller|
|00004a80| 20 64 65 61 6c 73 20 77 | 69 74 68 20 61 20 63 68 | deals w|ith a ch|
|00004a90| 61 6e 67 65 2e 0a 20 2a | 2f 0a 74 74 72 65 73 69 |ange.. *|/.ttresi|
|00004aa0| 7a 65 28 29 20 7b 0a 09 | 73 65 74 74 74 79 73 69 |ze() {..|setttysi|
|00004ab0| 7a 65 28 29 3b 0a 7d 0a | 0a 2f 2a 20 63 61 6c 63 |ze();.}.|./* calc|
|00004ac0| 75 6c 61 74 65 20 74 68 | 65 20 63 6f 73 74 20 6f |ulate th|e cost o|
|00004ad0| 66 20 64 6f 69 6e 67 20 | 73 74 72 69 6e 67 20 73 |f doing |string s|
|00004ae0| 20 2a 2f 0a 63 68 61 72 | 63 6f 73 74 20 28 73 29 | */.char|cost (s)|
|00004af0| 20 63 68 61 72 20 2a 73 | 3b 20 7b 0a 20 20 20 20 | char *s|; {. |
|00004b00| 72 65 74 75 72 6e 20 73 | 74 72 6c 65 6e 28 73 29 |return s|trlen(s)|
|00004b10| 3b 0a 7d 0a 0a 74 74 70 | 75 74 63 28 63 29 0a 75 |;.}..ttp|utc(c).u|
|00004b20| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 63 3b 0a |nsigned |char c;.|
|00004b30| 7b 0a 20 20 20 20 75 6e | 69 6f 6e 20 52 45 47 53 |{. un|ion REGS|
|00004b40| 20 72 67 3b 0a 0a 20 20 | 20 20 69 66 20 28 63 20 | rg;.. | if (c |
|00004b50| 3d 3d 20 27 5c 62 27 29 | 20 7b 0a 09 69 66 20 28 |== '\b')| {..if (|
|00004b60| 62 69 6f 63 6f 6c 2d 31 | 20 3e 20 30 29 20 7b 0a |biocol-1| > 0) {.|
|00004b70| 09 20 20 20 20 5f 6d 6f | 76 65 28 74 74 72 6f 77 |. _mo|ve(ttrow|
|00004b80| 2c 20 62 69 6f 63 6f 6c | 2d 31 29 3b 0a 09 7d 0a |, biocol|-1);..}.|
|00004b90| 09 72 65 74 75 72 6e 3b | 0a 20 20 20 20 7d 0a 20 |.return;|. }. |
|00004ba0| 20 20 20 72 67 2e 68 2e | 61 68 20 3d 20 39 3b 09 | rg.h.|ah = 9;.|
|00004bb0| 2f 2a 20 77 72 69 74 65 | 20 63 68 61 72 61 63 74 |/* write| charact|
|00004bc0| 65 72 2f 72 65 6e 64 69 | 74 69 6f 6e 20 2a 2f 0a |er/rendi|tion */.|
|00004bd0| 20 20 20 20 72 67 2e 68 | 2e 62 68 20 3d 20 30 3b | rg.h|.bh = 0;|
|00004be0| 0a 20 20 20 20 72 67 2e | 78 2e 63 78 20 3d 20 31 |. rg.|x.cx = 1|
|00004bf0| 3b 0a 20 20 20 20 72 67 | 2e 68 2e 61 6c 20 3d 20 |;. rg|.h.al = |
|00004c00| 63 3b 0a 20 20 20 20 72 | 67 2e 68 2e 62 6c 20 3d |c;. r|g.h.bl =|
|00004c10| 20 72 65 6e 64 69 74 69 | 6f 6e 3b 0a 0a 20 20 20 | renditi|on;.. |
|00004c20| 20 69 6e 74 38 36 28 30 | 78 31 30 2c 20 26 72 67 | int86(0|x10, &rg|
|00004c30| 2c 20 26 72 67 29 3b 0a | 0a 20 20 20 20 69 66 20 |, &rg);.|. if |
|00004c40| 28 62 69 6f 63 6f 6c 2b | 31 20 3e 3d 20 6e 63 6f |(biocol+|1 >= nco|
|00004c50| 6c 29 0a 09 5f 6d 6f 76 | 65 28 74 74 72 6f 77 20 |l).._mov|e(ttrow |
|00004c60| 2b 20 31 2c 20 30 29 3b | 0a 20 20 20 20 65 6c 73 |+ 1, 0);|. els|
|00004c70| 65 0a 09 5f 6d 6f 76 65 | 28 74 74 72 6f 77 2c 20 |e.._move|(ttrow, |
|00004c80| 62 69 6f 63 6f 6c 20 2b | 20 31 29 3b 0a 7d 0a 0a |biocol +| 1);.}..|
|00004c90| 73 74 72 75 63 74 20 6e | 61 70 0a 20 20 20 20 7b |struct n|ap. {|
|00004ca0| 0a 20 20 20 20 6c 6f 6e | 67 20 6e 61 70 76 61 6c |. lon|g napval|
|00004cb0| 75 65 3b 0a 20 20 20 20 | 6c 6f 6e 67 20 62 61 73 |ue;. |long bas|
|00004cc0| 65 74 69 6d 65 3b 0a 20 | 20 20 20 7d 3b 0a 0a 74 |etime;. | };..t|
|00004cd0| 74 77 61 69 74 28 29 0a | 20 20 20 20 7b 0a 20 20 |twait().| {. |
|00004ce0| 20 20 73 74 72 75 63 74 | 20 6e 61 70 20 74 69 6d | struct| nap tim|
|00004cf0| 65 72 3b 0a 20 20 20 20 | 6e 61 70 73 74 61 72 74 |er;. |napstart|
|00004d00| 28 32 30 30 2c 20 26 74 | 69 6d 65 72 29 3b 0a 20 |(200, &t|imer);. |
|00004d10| 20 20 20 77 68 69 6c 65 | 20 28 6e 61 70 63 68 6b | while| (napchk|
|00004d20| 28 26 74 69 6d 65 72 29 | 20 3d 3d 20 30 29 0a 09 |(&timer)| == 0)..|
|00004d30| 69 66 20 28 74 79 70 65 | 61 68 65 61 64 28 29 29 |if (type|ahead())|
|00004d40| 0a 09 20 20 20 20 72 65 | 74 75 72 6e 20 30 3b 0a |.. re|turn 0;.|
|00004d50| 20 20 20 20 72 65 74 75 | 72 6e 20 31 3b 0a 20 20 | retu|rn 1;. |
|00004d60| 20 20 7d 0a 0a 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | }../**|********|
|00004d70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004d80| 2a 2f 0a 2f 2a 20 4d 53 | 44 4f 53 20 74 69 6d 65 |*/./* MS|DOS time|
|00004d90| 20 66 75 6e 63 74 69 6f | 6e 73 20 20 20 20 2a 2f | functio|ns */|
|00004da0| 0a 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./******|********|
|00004db0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0a 0a |********|*****/..|
|00004dc0| 23 64 65 66 69 6e 65 20 | 67 65 74 74 69 6d 65 28 |#define |gettime(|
|00004dd0| 5f 61 29 20 28 28 28 28 | 6c 6f 6e 67 29 28 5f 61 |_a) ((((|long)(_a|
|00004de0| 2e 78 2e 63 78 29 29 20 | 3c 3c 20 31 36 29 2b 5f |.x.cx)) |<< 16)+_|
|00004df0| 61 2e 78 2e 64 78 29 0a | 73 6c 65 65 70 28 61 6d |a.x.dx).|sleep(am|
|00004e00| 6f 75 6e 74 29 0a 20 20 | 20 20 7b 0a 20 20 20 20 |ount). | {. |
|00004e10| 77 68 69 6c 65 20 28 61 | 6d 6f 75 6e 74 2d 2d 29 |while (a|mount--)|
|00004e20| 0a 09 6e 61 70 28 31 30 | 30 29 3b 0a 20 20 20 20 |..nap(10|0);. |
|00004e30| 7d 0a 0a 2f 2a 20 6e 61 | 70 20 69 6e 20 75 6e 69 |}../* na|p in uni|
|00004e40| 74 73 20 6f 66 20 31 30 | 30 74 68 73 20 6f 66 20 |ts of 10|0ths of |
|00004e50| 73 65 63 6f 6e 64 73 20 | 76 69 61 20 62 75 73 79 |seconds |via busy|
|00004e60| 20 6c 6f 6f 70 73 2e 20 | 2a 2f 0a 6e 61 70 28 61 | loops. |*/.nap(a|
|00004e70| 6d 6f 75 6e 74 29 0a 20 | 20 20 20 7b 0a 20 20 20 |mount). | {. |
|00004e80| 20 73 74 72 75 63 74 20 | 6e 61 70 20 74 69 6d 3b | struct |nap tim;|
|00004e90| 0a 20 20 20 20 6e 61 70 | 73 74 61 72 74 28 61 6d |. nap|start(am|
|00004ea0| 6f 75 6e 74 2c 20 26 74 | 69 6d 29 3b 0a 20 20 20 |ount, &t|im);. |
|00004eb0| 20 77 68 69 6c 65 28 6e | 61 70 63 68 6b 28 26 74 | while(n|apchk(&t|
|00004ec0| 69 6d 29 20 3d 3d 20 30 | 29 0a 09 3b 0a 20 20 20 |im) == 0|)..;. |
|00004ed0| 20 7d 0a 0a 6e 61 70 73 | 74 61 72 74 28 61 6d 6f | }..naps|tart(amo|
|00004ee0| 75 6e 74 2c 73 61 76 29 | 0a 69 6e 74 20 61 6d 6f |unt,sav)|.int amo|
|00004ef0| 75 6e 74 3b 0a 72 65 67 | 69 73 74 65 72 20 73 74 |unt;.reg|ister st|
|00004f00| 72 75 63 74 20 6e 61 70 | 20 2a 73 61 76 3b 0a 20 |ruct nap| *sav;. |
|00004f10| 20 20 20 7b 0a 20 20 20 | 20 75 6e 69 6f 6e 20 52 | {. | union R|
|00004f20| 45 47 53 20 69 6e 72 65 | 67 73 2c 20 6f 75 74 72 |EGS inre|gs, outr|
|00004f30| 65 67 73 3b 0a 20 20 20 | 20 69 6e 74 20 68 75 6e |egs;. | int hun|
|00004f40| 64 73 2c 20 73 65 63 73 | 3b 0a 0a 20 20 20 20 69 |ds, secs|;.. i|
|00004f50| 6e 72 65 67 73 2e 68 2e | 61 68 20 3d 20 30 78 32 |nregs.h.|ah = 0x2|
|00004f60| 63 3b 09 09 09 2f 2a 20 | 67 65 74 20 74 69 6d 65 |c;.../* |get time|
|00004f70| 20 2a 2f 0a 20 20 20 20 | 69 6e 74 38 36 28 30 78 | */. |int86(0x|
|00004f80| 32 31 2c 20 26 69 6e 72 | 65 67 73 2c 20 26 6f 75 |21, &inr|egs, &ou|
|00004f90| 74 72 65 67 73 29 3b 0a | 0a 20 20 20 20 2f 2a 20 |tregs);.|. /* |
|00004fa0| 67 6c 69 74 63 68 20 69 | 6e 20 68 61 72 64 77 61 |glitch i|n hardwa|
|00004fb0| 72 65 20 52 54 43 20 28 | 74 69 6d 65 20 77 61 72 |re RTC (|time war|
|00004fc0| 70 29 20 6d 61 6b 65 73 | 20 74 68 69 73 20 6e 65 |p) makes| this ne|
|00004fd0| 63 65 73 73 61 72 79 20 | 2a 2f 0a 20 20 20 20 69 |cessary |*/. i|
|00004fe0| 6e 72 65 67 73 20 3d 20 | 6f 75 74 72 65 67 73 3b |nregs = |outregs;|
|00004ff0| 0a 20 20 20 20 69 6e 72 | 65 67 73 2e 68 2e 64 6c |. inr|egs.h.dl|
|00005000| 20 3d 20 30 3b 09 09 2f | 2a 20 73 65 63 6f 6e 64 | = 0;../|* second|
|00005010| 73 20 63 6f 75 6e 74 65 | 72 20 6d 61 79 20 62 65 |s counte|r may be|
|00005020| 20 73 6c 6f 77 20 74 6f | 20 69 6e 63 72 65 6d 65 | slow to| increme|
|00005030| 6e 74 20 2a 2f 0a 20 20 | 20 20 69 66 20 28 69 6e |nt */. | if (in|
|00005040| 72 65 67 73 2e 68 2e 64 | 68 20 3e 20 30 29 0a 09 |regs.h.d|h > 0)..|
|00005050| 2d 2d 69 6e 72 65 67 73 | 2e 68 2e 64 68 3b 09 09 |--inregs|.h.dh;..|
|00005060| 2f 2a 20 70 61 72 61 6e | 6f 69 61 20 2a 2f 0a 20 |/* paran|oia */. |
|00005070| 20 20 20 69 66 20 28 69 | 6e 72 65 67 73 2e 68 2e | if (i|nregs.h.|
|00005080| 63 6c 20 3e 20 30 29 0a | 09 2d 2d 69 6e 72 65 67 |cl > 0).|.--inreg|
|00005090| 73 2e 68 2e 63 6c 3b 09 | 09 2f 2a 20 6d 6f 72 65 |s.h.cl;.|./* more|
|000050a0| 20 70 61 72 61 6e 6f 69 | 61 20 2a 2f 0a 20 20 20 | paranoi|a */. |
|000050b0| 20 2f 2a 20 65 6e 64 20 | 6f 66 20 67 6c 69 74 63 | /* end |of glitc|
|000050c0| 68 20 68 61 6e 64 6c 69 | 6e 67 20 2a 2f 0a 0a 20 |h handli|ng */.. |
|000050d0| 20 20 20 73 61 76 2d 3e | 62 61 73 65 74 69 6d 65 | sav->|basetime|
|000050e0| 20 3d 20 67 65 74 74 69 | 6d 65 28 69 6e 72 65 67 | = getti|me(inreg|
|000050f0| 73 29 3b 09 2f 2a 20 69 | 6e 20 63 61 73 65 20 6f |s);./* i|n case o|
|00005100| 66 20 77 72 61 70 61 72 | 6f 75 6e 64 20 2a 2f 0a |f wrapar|ound */.|
|00005110| 0a 20 20 20 20 2f 2a 20 | 63 6f 6e 76 65 72 74 20 |. /* |convert |
|00005120| 68 75 6e 64 72 65 64 74 | 68 73 20 6f 66 20 73 65 |hundredt|hs of se|
|00005130| 63 6f 6e 64 73 20 74 6f | 20 66 75 74 75 72 65 20 |conds to| future |
|00005140| 74 69 6d 65 20 73 74 72 | 75 63 74 75 72 65 20 2a |time str|ucture *|
|00005150| 2f 0a 20 20 20 20 73 65 | 63 73 20 3d 20 6f 75 74 |/. se|cs = out|
|00005160| 72 65 67 73 2e 68 2e 64 | 68 3b 0a 20 20 20 20 68 |regs.h.d|h;. h|
|00005170| 75 6e 64 73 20 3d 20 6f | 75 74 72 65 67 73 2e 68 |unds = o|utregs.h|
|00005180| 2e 64 6c 20 2b 20 61 6d | 6f 75 6e 74 3b 0a 0a 20 |.dl + am|ount;.. |
|00005190| 20 20 20 77 68 69 6c 65 | 20 28 68 75 6e 64 73 20 | while| (hunds |
|000051a0| 3e 3d 20 31 30 30 29 20 | 7b 0a 09 68 75 6e 64 73 |>= 100) |{..hunds|
|000051b0| 20 2d 3d 20 31 30 30 3b | 0a 09 2b 2b 73 65 63 73 | -= 100;|..++secs|
|000051c0| 3b 0a 20 20 20 20 7d 0a | 20 20 20 20 6f 75 74 72 |;. }.| outr|
|000051d0| 65 67 73 2e 68 2e 64 6c | 20 3d 20 68 75 6e 64 73 |egs.h.dl| = hunds|
|000051e0| 3b 0a 20 20 20 20 77 68 | 69 6c 65 20 28 73 65 63 |;. wh|ile (sec|
|000051f0| 73 20 3e 3d 20 36 30 29 | 20 7b 0a 09 73 65 63 73 |s >= 60)| {..secs|
|00005200| 20 2d 3d 20 36 30 3b 0a | 09 2b 2b 6f 75 74 72 65 | -= 60;.|.++outre|
|00005210| 67 73 2e 68 2e 63 6c 3b | 09 09 09 2f 2a 20 69 6e |gs.h.cl;|.../* in|
|00005220| 63 72 65 6d 65 6e 74 20 | 6d 69 6e 75 74 65 73 20 |crement |minutes |
|00005230| 2a 2f 0a 20 20 20 20 7d | 0a 20 20 20 20 6f 75 74 |*/. }|. out|
|00005240| 72 65 67 73 2e 68 2e 64 | 68 20 3d 20 73 65 63 73 |regs.h.d|h = secs|
|00005250| 3b 0a 0a 20 20 20 20 2f | 2a 20 63 68 65 63 6b 20 |;.. /|* check |
|00005260| 66 6f 72 20 6d 69 6e 75 | 74 65 20 61 6e 64 20 68 |for minu|te and h|
|00005270| 6f 75 72 20 77 72 61 70 | 61 72 6f 75 6e 64 20 2a |our wrap|around *|
|00005280| 2f 0a 20 20 20 20 69 66 | 20 28 6f 75 74 72 65 67 |/. if| (outreg|
|00005290| 73 2e 68 2e 63 6c 20 3e | 3d 20 36 30 29 0a 09 7b |s.h.cl >|= 60)..{|
|000052a0| 0a 09 6f 75 74 72 65 67 | 73 2e 68 2e 63 6c 20 2d |..outreg|s.h.cl -|
|000052b0| 3d 20 36 30 3b 0a 09 2b | 2b 6f 75 74 72 65 67 73 |= 60;..+|+outregs|
|000052c0| 2e 68 2e 63 68 3b 09 09 | 09 2f 2a 20 69 6e 63 72 |.h.ch;..|./* incr|
|000052d0| 65 6d 65 6e 74 20 68 6f | 75 72 73 20 2a 2f 0a 09 |ement ho|urs */..|
|000052e0| 7d 0a 20 20 20 20 69 66 | 20 28 6f 75 74 72 65 67 |}. if| (outreg|
|000052f0| 73 2e 68 2e 63 68 20 3e | 3d 20 32 34 29 0a 09 7b |s.h.ch >|= 24)..{|
|00005300| 0a 09 6f 75 74 72 65 67 | 73 2e 68 2e 63 68 20 2d |..outreg|s.h.ch -|
|00005310| 3d 20 32 34 3b 0a 09 7d | 0a 20 20 20 20 73 61 76 |= 24;..}|. sav|
|00005320| 2d 3e 6e 61 70 76 61 6c | 75 65 20 3d 20 67 65 74 |->napval|ue = get|
|00005330| 74 69 6d 65 28 6f 75 74 | 72 65 67 73 29 3b 0a 20 |time(out|regs);. |
|00005340| 20 20 20 7d 0a 0a 6e 61 | 70 63 68 6b 28 73 61 76 | }..na|pchk(sav|
|00005350| 29 0a 72 65 67 69 73 74 | 65 72 20 73 74 72 75 63 |).regist|er struc|
|00005360| 74 20 6e 61 70 20 2a 73 | 61 76 3b 0a 20 20 20 20 |t nap *s|av;. |
|00005370| 7b 0a 20 20 20 20 75 6e | 69 6f 6e 20 52 45 47 53 |{. un|ion REGS|
|00005380| 20 69 6e 72 65 67 73 2c | 20 6f 75 74 72 65 67 73 | inregs,| outregs|
|00005390| 3b 0a 20 20 20 20 6c 6f | 6e 67 20 63 75 72 72 65 |;. lo|ng curre|
|000053a0| 6e 74 3b 0a 0a 20 20 20 | 20 69 6e 72 65 67 73 2e |nt;.. | inregs.|
|000053b0| 68 2e 61 68 20 3d 20 30 | 78 32 63 3b 09 09 09 2f |h.ah = 0|x2c;.../|
|000053c0| 2a 20 67 65 74 20 74 69 | 6d 65 20 2a 2f 0a 20 20 |* get ti|me */. |
|000053d0| 20 20 69 6e 74 38 36 28 | 30 78 32 31 2c 20 26 69 | int86(|0x21, &i|
|000053e0| 6e 72 65 67 73 2c 20 26 | 6f 75 74 72 65 67 73 29 |nregs, &|outregs)|
|000053f0| 3b 0a 0a 20 20 20 20 63 | 75 72 72 65 6e 74 20 3d |;.. c|urrent =|
|00005400| 20 67 65 74 74 69 6d 65 | 28 6f 75 74 72 65 67 73 | gettime|(outregs|
|00005410| 29 3b 0a 0a 20 20 20 20 | 69 66 28 73 61 76 2d 3e |);.. |if(sav->|
|00005420| 6e 61 70 76 61 6c 75 65 | 20 3e 20 73 61 76 2d 3e |napvalue| > sav->|
|00005430| 62 61 73 65 74 69 6d 65 | 29 0a 09 7b 0a 09 69 66 |basetime|)..{..if|
|00005440| 20 28 63 75 72 72 65 6e | 74 20 3e 3d 20 73 61 76 | (curren|t >= sav|
|00005450| 2d 3e 6e 61 70 76 61 6c | 75 65 20 7c 7c 20 63 75 |->napval|ue || cu|
|00005460| 72 72 65 6e 74 20 3c 20 | 73 61 76 2d 3e 62 61 73 |rrent < |sav->bas|
|00005470| 65 74 69 6d 65 29 0a 09 | 20 20 20 20 72 65 74 75 |etime)..| retu|
|00005480| 72 6e 20 31 3b 0a 09 7d | 0a 20 20 20 20 65 6c 73 |rn 1;..}|. els|
|00005490| 65 20 69 66 20 28 63 75 | 72 72 65 6e 74 20 3e 3d |e if (cu|rrent >=|
|000054a0| 20 73 61 76 2d 3e 6e 61 | 70 76 61 6c 75 65 20 26 | sav->na|pvalue &|
|000054b0| 26 20 63 75 72 72 65 6e | 74 20 3c 20 73 61 76 2d |& curren|t < sav-|
|000054c0| 3e 62 61 73 65 74 69 6d | 65 29 0a 09 72 65 74 75 |>basetim|e)..retu|
|000054d0| 72 6e 20 31 3b 0a 20 20 | 20 20 72 65 74 75 72 6e |rn 1;. | return|
|000054e0| 20 30 3b 0a 20 20 20 20 | 7d 0a 0a 53 48 41 52 5f | 0;. |}..SHAR_|
|000054f0| 45 4f 46 0a 69 66 20 74 | 65 73 74 20 36 34 37 33 |EOF.if t|est 6473|
|00005500| 20 2d 6e 65 20 22 60 77 | 63 20 2d 63 20 3c 20 27 | -ne "`w|c -c < '|
|00005510| 74 74 79 2f 69 62 6d 62 | 69 6f 73 2f 74 74 79 2e |tty/ibmb|ios/tty.|
|00005520| 63 27 60 22 0a 74 68 65 | 6e 0a 09 65 63 68 6f 20 |c'`".the|n..echo |
|00005530| 73 68 61 72 3a 20 65 72 | 72 6f 72 20 74 72 61 6e |shar: er|ror tran|
|00005540| 73 6d 69 74 74 69 6e 67 | 20 22 27 74 74 79 2f 69 |smitting| "'tty/i|
|00005550| 62 6d 62 69 6f 73 2f 74 | 74 79 2e 63 27 22 20 27 |bmbios/t|ty.c'" '|
|00005560| 28 73 68 6f 75 6c 64 20 | 68 61 76 65 20 62 65 65 |(should |have bee|
|00005570| 6e 20 36 34 37 33 20 63 | 68 61 72 61 63 74 65 72 |n 6473 c|haracter|
|00005580| 73 29 27 0a 66 69 0a 66 | 69 0a 65 63 68 6f 20 73 |s)'.fi.f|i.echo s|
|00005590| 68 61 72 3a 20 65 78 74 | 72 61 63 74 69 6e 67 20 |har: ext|racting |
|000055a0| 22 27 74 74 79 2f 69 62 | 6d 62 69 6f 73 2f 52 45 |"'tty/ib|mbios/RE|
|000055b0| 41 44 4d 45 27 22 20 27 | 28 34 36 38 20 63 68 61 |ADME'" '|(468 cha|
|000055c0| 72 61 63 74 65 72 73 29 | 27 0a 69 66 20 74 65 73 |racters)|'.if tes|
|000055d0| 74 20 2d 66 20 27 74 74 | 79 2f 69 62 6d 62 69 6f |t -f 'tt|y/ibmbio|
|000055e0| 73 2f 52 45 41 44 4d 45 | 27 0a 74 68 65 6e 0a 09 |s/README|'.then..|
|000055f0| 65 63 68 6f 20 73 68 61 | 72 3a 20 77 69 6c 6c 20 |echo sha|r: will |
|00005600| 6e 6f 74 20 6f 76 65 72 | 2d 77 72 69 74 65 20 65 |not over|-write e|
|00005610| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 22 27 74 |xisting |file "'t|
|00005620| 74 79 2f 69 62 6d 62 69 | 6f 73 2f 52 45 41 44 4d |ty/ibmbi|os/READM|
|00005630| 45 27 22 0a 65 6c 73 65 | 0a 63 61 74 20 3c 3c 20 |E'".else|.cat << |
|00005640| 5c 53 48 41 52 5f 45 4f | 46 20 3e 20 27 74 74 79 |\SHAR_EO|F > 'tty|
|00005650| 2f 69 62 6d 62 69 6f 73 | 2f 52 45 41 44 4d 45 27 |/ibmbios|/README'|
|00005660| 0a 70 6f 6c 6c 6b 62 64 | 2e 61 73 6d 20 69 73 20 |.pollkbd|.asm is |
|00005670| 72 65 71 75 69 72 65 64 | 20 62 65 63 61 75 73 65 |required| because|
|00005680| 20 74 68 65 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 | the Mic|rosoft C|
|00005690| 20 63 6f 6d 70 69 6c 65 | 72 20 6c 69 62 72 61 72 | compile|r librar|
|000056a0| 79 20 68 61 73 20 6e 6f | 0a 77 61 79 20 74 6f 20 |y has no|.way to |
|000056b0| 67 65 74 20 74 68 65 20 | 27 5a 27 20 66 6c 61 67 |get the |'Z' flag|
|000056c0| 20 62 61 63 6b 20 66 72 | 6f 6d 20 74 68 65 20 74 | back fr|om the t|
|000056d0| 74 79 20 62 69 6f 73 20 | 22 70 6f 6c 6c 22 20 66 |ty bios |"poll" f|
|000056e0| 75 6e 63 74 69 6f 6e 2e | 20 20 54 68 69 73 20 69 |unction.| This i|
|000056f0| 73 0a 61 20 72 65 61 6c | 20 62 6f 74 63 68 2c 20 |s.a real| botch, |
|00005700| 73 69 6e 63 65 20 49 20 | 72 65 70 6f 72 74 65 64 |since I |reported|
|00005710| 20 74 68 69 73 20 62 75 | 67 20 74 6f 20 4d 69 63 | this bu|g to Mic|
|00005720| 72 6f 73 6f 66 74 20 62 | 61 63 6b 20 69 6e 20 74 |rosoft b|ack in t|
|00005730| 68 65 20 4d 53 43 20 33 | 2e 30 20 64 61 79 73 2e |he MSC 3|.0 days.|
|00005740| 0a 0a 41 6e 79 77 61 79 | 2c 20 69 66 20 79 6f 75 |..Anyway|, if you|
|00005750| 20 64 6f 6e 27 74 20 6f | 77 6e 20 22 6d 61 73 6d | don't o|wn "masm|
|00005760| 22 2c 20 79 6f 75 20 63 | 61 6e 20 22 75 75 64 65 |", you c|an "uude|
|00005770| 63 6f 64 65 22 20 74 68 | 65 20 66 69 6c 65 20 22 |code" th|e file "|
|00005780| 70 6f 6c 6c 6b 62 64 2e | 75 75 22 2c 0a 77 68 69 |pollkbd.|uu",.whi|
|00005790| 63 68 20 77 69 6c 6c 20 | 67 65 6e 65 72 61 74 65 |ch will |generate|
|000057a0| 20 74 68 65 20 62 69 6e | 61 72 79 20 66 69 6c 65 | the bin|ary file|
|000057b0| 20 50 4f 4c 4c 4b 42 44 | 2e 4f 42 4a 2e 0a 0a 4d | POLLKBD|.OBJ...M|
|000057c0| 79 20 6e 65 78 74 20 76 | 65 72 73 69 6f 6e 20 6f |y next v|ersion o|
|000057d0| 66 20 22 6d 67 22 20 66 | 6f 72 20 4d 45 53 53 59 |f "mg" f|or MESSY|
|000057e0| 44 4f 53 20 77 69 6c 6c | 20 70 72 6f 62 61 62 6c |DOS will| probabl|
|000057f0| 79 20 75 73 65 20 54 75 | 72 62 6f 43 2c 20 77 68 |y use Tu|rboC, wh|
|00005800| 65 72 65 20 74 68 69 73 | 0a 69 73 20 74 72 69 76 |ere this|.is triv|
|00005810| 69 61 6c 20 74 6f 20 64 | 6f 20 57 49 54 48 4f 55 |ial to d|o WITHOU|
|00005820| 54 20 61 73 73 65 6d 62 | 6c 79 20 6c 61 6e 67 75 |T assemb|ly langu|
|00005830| 61 67 65 2e 0a 53 48 41 | 52 5f 45 4f 46 0a 69 66 |age..SHA|R_EOF.if|
|00005840| 20 74 65 73 74 20 34 36 | 38 20 2d 6e 65 20 22 60 | test 46|8 -ne "`|
|00005850| 77 63 20 2d 63 20 3c 20 | 27 74 74 79 2f 69 62 6d |wc -c < |'tty/ibm|
|00005860| 62 69 6f 73 2f 52 45 41 | 44 4d 45 27 60 22 0a 74 |bios/REA|DME'`".t|
|00005870| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00005880| 65 72 72 6f 72 20 74 72 | 61 6e 73 6d 69 74 74 69 |error tr|ansmitti|
|00005890| 6e 67 20 22 27 74 74 79 | 2f 69 62 6d 62 69 6f 73 |ng "'tty|/ibmbios|
|000058a0| 2f 52 45 41 44 4d 45 27 | 22 20 27 28 73 68 6f 75 |/README'|" '(shou|
|000058b0| 6c 64 20 68 61 76 65 20 | 62 65 65 6e 20 34 36 38 |ld have |been 468|
|000058c0| 20 63 68 61 72 61 63 74 | 65 72 73 29 27 0a 66 69 | charact|ers)'.fi|
|000058d0| 0a 66 69 0a 65 63 68 6f | 20 73 68 61 72 3a 20 65 |.fi.echo| shar: e|
|000058e0| 78 74 72 61 63 74 69 6e | 67 20 22 27 74 74 79 2f |xtractin|g "'tty/|
|000058f0| 69 62 6d 62 69 6f 73 2f | 70 6f 6c 6c 6b 62 64 2e |ibmbios/|pollkbd.|
|00005900| 61 73 6d 27 22 20 27 28 | 35 31 39 20 63 68 61 72 |asm'" '(|519 char|
|00005910| 61 63 74 65 72 73 29 27 | 0a 69 66 20 74 65 73 74 |acters)'|.if test|
|00005920| 20 2d 66 20 27 74 74 79 | 2f 69 62 6d 62 69 6f 73 | -f 'tty|/ibmbios|
|00005930| 2f 70 6f 6c 6c 6b 62 64 | 2e 61 73 6d 27 0a 74 68 |/pollkbd|.asm'.th|
|00005940| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 77 |en..echo| shar: w|
|00005950| 69 6c 6c 20 6e 6f 74 20 | 6f 76 65 72 2d 77 72 69 |ill not |over-wri|
|00005960| 74 65 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |te exist|ing file|
|00005970| 20 22 27 74 74 79 2f 69 | 62 6d 62 69 6f 73 2f 70 | "'tty/i|bmbios/p|
|00005980| 6f 6c 6c 6b 62 64 2e 61 | 73 6d 27 22 0a 65 6c 73 |ollkbd.a|sm'".els|
|00005990| 65 0a 63 61 74 20 3c 3c | 20 5c 53 48 41 52 5f 45 |e.cat <<| \SHAR_E|
|000059a0| 4f 46 20 3e 20 27 74 74 | 79 2f 69 62 6d 62 69 6f |OF > 'tt|y/ibmbio|
|000059b0| 73 2f 70 6f 6c 6c 6b 62 | 64 2e 61 73 6d 27 0a 09 |s/pollkb|d.asm'..|
|000059c0| 54 49 54 4c 45 20 20 20 | 70 6f 6c 6c 6b 62 64 0a |TITLE |pollkbd.|
|000059d0| 0a 5f 54 45 58 54 09 53 | 45 47 4d 45 4e 54 20 20 |._TEXT.S|EGMENT |
|000059e0| 42 59 54 45 20 50 55 42 | 4c 49 43 20 27 43 4f 44 |BYTE PUB|LIC 'COD|
|000059f0| 45 27 0a 5f 54 45 58 54 | 09 45 4e 44 53 0a 43 4f |E'._TEXT|.ENDS.CO|
|00005a00| 4e 53 54 09 53 45 47 4d | 45 4e 54 20 20 57 4f 52 |NST.SEGM|ENT WOR|
|00005a10| 44 20 50 55 42 4c 49 43 | 20 27 43 4f 4e 53 54 27 |D PUBLIC| 'CONST'|
|00005a20| 0a 43 4f 4e 53 54 09 45 | 4e 44 53 0a 5f 42 53 53 |.CONST.E|NDS._BSS|
|00005a30| 09 53 45 47 4d 45 4e 54 | 20 20 57 4f 52 44 20 50 |.SEGMENT| WORD P|
|00005a40| 55 42 4c 49 43 20 27 42 | 53 53 27 0a 5f 42 53 53 |UBLIC 'B|SS'._BSS|
|00005a50| 09 45 4e 44 53 0a 5f 44 | 41 54 41 09 53 45 47 4d |.ENDS._D|ATA.SEGM|
|00005a60| 45 4e 54 20 20 57 4f 52 | 44 20 50 55 42 4c 49 43 |ENT WOR|D PUBLIC|
|00005a70| 20 27 44 41 54 41 27 0a | 5f 44 41 54 41 09 45 4e | 'DATA'.|_DATA.EN|
|00005a80| 44 53 0a 44 47 52 4f 55 | 50 09 47 52 4f 55 50 09 |DS.DGROU|P.GROUP.|
|00005a90| 43 4f 4e 53 54 2c 09 5f | 42 53 53 2c 09 5f 44 41 |CONST,._|BSS,._DA|
|00005aa0| 54 41 0a 09 41 53 53 55 | 4d 45 20 20 43 53 3a 20 |TA..ASSU|ME CS: |
|00005ab0| 5f 54 45 58 54 2c 20 44 | 53 3a 20 44 47 52 4f 55 |_TEXT, D|S: DGROU|
|00005ac0| 50 2c 20 53 53 3a 20 44 | 47 52 4f 55 50 2c 20 45 |P, SS: D|GROUP, E|
|00005ad0| 53 3a 20 44 47 52 4f 55 | 50 0a 0a 50 55 42 4c 49 |S: DGROU|P..PUBLI|
|00005ae0| 43 20 20 5f 70 6f 6c 6c | 6b 62 64 0a 0a 3b 3b 3b |C _poll|kbd..;;;|
|00005af0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00005b00| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00005b10| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00005b20| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00005b30| 3b 0a 5f 54 45 58 54 09 | 53 45 47 4d 45 4e 54 20 |;._TEXT.|SEGMENT |
|00005b40| 20 42 59 54 45 20 50 55 | 42 4c 49 43 20 27 43 4f | BYTE PU|BLIC 'CO|
|00005b50| 44 45 27 0a 5f 70 6f 6c | 6c 6b 62 64 09 50 52 4f |DE'._pol|lkbd.PRO|
|00005b60| 43 20 4e 45 41 52 0a 09 | 6d 6f 76 09 61 68 2c 31 |C NEAR..|mov.ah,1|
|00005b70| 0a 09 69 6e 74 09 31 36 | 48 0a 09 6a 7a 09 7a 65 |..int.16|H..jz.ze|
|00005b80| 72 6f 0a 09 6d 6f 76 09 | 61 78 2c 31 0a 09 72 65 |ro..mov.|ax,1..re|
|00005b90| 74 0a 7a 65 72 6f 3a 0a | 09 78 6f 72 09 61 78 2c |t.zero:.|.xor.ax,|
|00005ba0| 61 78 0a 09 72 65 74 0a | 5f 70 6f 6c 6c 6b 62 64 |ax..ret.|_pollkbd|
|00005bb0| 09 45 4e 44 50 0a 5f 54 | 45 58 54 09 45 4e 44 53 |.ENDP._T|EXT.ENDS|
|00005bc0| 0a 09 45 4e 44 0a 53 48 | 41 52 5f 45 4f 46 0a 69 |..END.SH|AR_EOF.i|
|00005bd0| 66 20 74 65 73 74 20 35 | 31 39 20 2d 6e 65 20 22 |f test 5|19 -ne "|
|00005be0| 60 77 63 20 2d 63 20 3c | 20 27 74 74 79 2f 69 62 |`wc -c <| 'tty/ib|
|00005bf0| 6d 62 69 6f 73 2f 70 6f | 6c 6c 6b 62 64 2e 61 73 |mbios/po|llkbd.as|
|00005c00| 6d 27 60 22 0a 74 68 65 | 6e 0a 09 65 63 68 6f 20 |m'`".the|n..echo |
|00005c10| 73 68 61 72 3a 20 65 72 | 72 6f 72 20 74 72 61 6e |shar: er|ror tran|
|00005c20| 73 6d 69 74 74 69 6e 67 | 20 22 27 74 74 79 2f 69 |smitting| "'tty/i|
|00005c30| 62 6d 62 69 6f 73 2f 70 | 6f 6c 6c 6b 62 64 2e 61 |bmbios/p|ollkbd.a|
|00005c40| 73 6d 27 22 20 27 28 73 | 68 6f 75 6c 64 20 68 61 |sm'" '(s|hould ha|
|00005c50| 76 65 20 62 65 65 6e 20 | 35 31 39 20 63 68 61 72 |ve been |519 char|
|00005c60| 61 63 74 65 72 73 29 27 | 0a 66 69 0a 66 69 0a 65 |acters)'|.fi.fi.e|
|00005c70| 63 68 6f 20 73 68 61 72 | 3a 20 65 78 74 72 61 63 |cho shar|: extrac|
|00005c80| 74 69 6e 67 20 22 27 74 | 74 79 2f 69 62 6d 62 69 |ting "'t|ty/ibmbi|
|00005c90| 6f 73 2f 74 74 79 64 65 | 66 2e 68 27 22 20 27 28 |os/ttyde|f.h'" '(|
|00005ca0| 39 30 37 20 63 68 61 72 | 61 63 74 65 72 73 29 27 |907 char|acters)'|
|00005cb0| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 74 74 79 |.if test| -f 'tty|
|00005cc0| 2f 69 62 6d 62 69 6f 73 | 2f 74 74 79 64 65 66 2e |/ibmbios|/ttydef.|
|00005cd0| 68 27 0a 74 68 65 6e 0a | 09 65 63 68 6f 20 73 68 |h'.then.|.echo sh|
|00005ce0| 61 72 3a 20 77 69 6c 6c | 20 6e 6f 74 20 6f 76 65 |ar: will| not ove|
|00005cf0| 72 2d 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |r-write |existing|
|00005d00| 20 66 69 6c 65 20 22 27 | 74 74 79 2f 69 62 6d 62 | file "'|tty/ibmb|
|00005d10| 69 6f 73 2f 74 74 79 64 | 65 66 2e 68 27 22 0a 65 |ios/ttyd|ef.h'".e|
|00005d20| 6c 73 65 0a 63 61 74 20 | 3c 3c 20 5c 53 48 41 52 |lse.cat |<< \SHAR|
|00005d30| 5f 45 4f 46 20 3e 20 27 | 74 74 79 2f 69 62 6d 62 |_EOF > '|tty/ibmb|
|00005d40| 69 6f 73 2f 74 74 79 64 | 65 66 2e 68 27 0a 2f 2a |ios/ttyd|ef.h'./*|
|00005d50| 0a 20 2a 09 54 65 72 6d | 63 61 70 20 74 65 72 6d |. *.Term|cap term|
|00005d60| 69 6e 61 6c 20 66 69 6c | 65 2c 20 6e 6f 74 68 69 |inal fil|e, nothi|
|00005d70| 6e 67 20 73 70 65 63 69 | 61 6c 2c 20 6a 75 73 74 |ng speci|al, just|
|00005d80| 20 6d 61 6b 65 20 69 74 | 20 62 69 67 0a 20 2a 09 | make it| big. *.|
|00005d90| 65 6e 6f 75 67 68 20 66 | 6f 72 20 77 69 6e 64 6f |enough f|or windo|
|00005da0| 77 69 6e 67 20 73 79 73 | 74 65 6d 73 2e 0a 20 2a |wing sys|tems.. *|
|00005db0| 2f 0a 0a 23 64 65 66 69 | 6e 65 09 47 4f 53 4c 49 |/..#defi|ne.GOSLI|
|00005dc0| 4e 47 09 09 09 2f 2a 20 | 43 6f 6d 70 69 6c 65 20 |NG.../* |Compile |
|00005dd0| 69 6e 20 66 61 6e 63 79 | 20 64 69 73 70 6c 61 79 |in fancy| display|
|00005de0| 2e 09 2a 2f 0a 2f 2a 20 | 23 64 65 66 69 6e 65 09 |..*/./* |#define.|
|00005df0| 4d 45 4d 4d 41 50 09 09 | 2a 2f 09 2f 2a 20 4e 6f |MEMMAP..|*/./* No|
|00005e00| 74 20 6d 65 6d 6f 72 79 | 20 6d 61 70 70 65 64 20 |t memory| mapped |
|00005e10| 76 69 64 65 6f 2e 09 2a | 2f 0a 0a 23 64 65 66 69 |video..*|/..#defi|
|00005e20| 6e 65 09 4e 52 4f 57 09 | 32 35 20 20 20 20 09 09 |ne.NROW.|25 ..|
|00005e30| 09 2f 2a 20 52 6f 77 73 | 2e 09 09 09 2a 2f 0a 23 |./* Rows|....*/.#|
|00005e40| 64 65 66 69 6e 65 09 4e | 43 4f 4c 09 38 30 09 09 |define.N|COL.80..|
|00005e50| 09 2f 2a 20 43 6f 6c 75 | 6d 6e 73 2e 09 09 09 2a |./* Colu|mns....*|
|00005e60| 2f 0a 23 64 65 66 69 6e | 65 09 4d 4f 56 45 5f 53 |/.#defin|e.MOVE_S|
|00005e70| 54 41 4e 44 4f 55 54 09 | 09 09 2f 2a 20 64 6f 6e |TANDOUT.|../* don|
|00005e80| 27 74 20 6d 6f 76 65 20 | 69 6e 20 73 74 61 6e 64 |'t move |in stand|
|00005e90| 6f 75 74 20 6d 6f 64 65 | 09 2a 2f 0a 2f 2a 20 23 |out mode|.*/./* #|
|00005ea0| 64 65 66 69 6e 65 09 53 | 54 41 4e 44 4f 55 54 5f |define.S|TANDOUT_|
|00005eb0| 47 4c 49 54 43 48 09 09 | 2f 2a 20 70 6f 73 73 69 |GLITCH..|/* possi|
|00005ec0| 62 6c 65 20 73 74 61 6e | 64 6f 75 74 20 67 6c 69 |ble stan|dout gli|
|00005ed0| 74 63 68 09 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |tch.*/..|#define |
|00005ee0| 4b 48 4f 4d 45 09 4b 30 | 31 0a 23 64 65 66 69 6e |KHOME.K0|1.#defin|
|00005ef0| 65 20 4b 44 4f 57 4e 09 | 4b 30 32 0a 23 64 65 66 |e KDOWN.|K02.#def|
|00005f00| 69 6e 65 09 4b 55 50 09 | 4b 30 33 0a 23 64 65 66 |ine.KUP.|K03.#def|
|00005f10| 69 6e 65 09 4b 4c 45 46 | 54 09 4b 30 34 0a 23 64 |ine.KLEF|T.K04.#d|
|00005f20| 65 66 69 6e 65 09 4b 52 | 49 47 48 54 09 4b 30 35 |efine.KR|IGHT.K05|
|00005f30| 0a 23 64 65 66 69 6e 65 | 09 4b 50 47 55 50 09 4b |.#define|.KPGUP.K|
|00005f40| 30 36 0a 23 64 65 66 69 | 6e 65 09 4b 50 47 44 4e |06.#defi|ne.KPGDN|
|00005f50| 09 4b 30 37 0a 23 64 65 | 66 69 6e 65 09 4b 45 4e |.K07.#de|fine.KEN|
|00005f60| 44 09 4b 30 38 0a 23 64 | 65 66 69 6e 65 09 4b 44 |D.K08.#d|efine.KD|
|00005f70| 45 4c 45 54 45 09 4b 30 | 39 0a 23 64 65 66 69 6e |ELETE.K0|9.#defin|
|00005f80| 65 09 4b 49 4e 53 45 52 | 54 09 4b 30 41 0a 23 64 |e.KINSER|T.K0A.#d|
|00005f90| 65 66 69 6e 65 09 4b 46 | 31 09 4b 30 42 0a 23 64 |efine.KF|1.K0B.#d|
|00005fa0| 65 66 69 6e 65 20 4b 46 | 32 09 4b 30 43 0a 23 64 |efine KF|2.K0C.#d|
|00005fb0| 65 66 69 6e 65 20 4b 46 | 33 09 4b 30 44 0a 23 64 |efine KF|3.K0D.#d|
|00005fc0| 65 66 69 6e 65 20 4b 46 | 34 09 4b 30 45 0a 23 64 |efine KF|4.K0E.#d|
|00005fd0| 65 66 69 6e 65 20 4b 46 | 35 09 4b 30 46 0a 23 64 |efine KF|5.K0F.#d|
|00005fe0| 65 66 69 6e 65 20 4b 46 | 36 09 4b 31 30 0a 23 64 |efine KF|6.K10.#d|
|00005ff0| 65 66 69 6e 65 20 4b 46 | 37 09 4b 31 31 0a 23 64 |efine KF|7.K11.#d|
|00006000| 65 66 69 6e 65 20 4b 46 | 38 09 4b 31 32 0a 23 64 |efine KF|8.K12.#d|
|00006010| 65 66 69 6e 65 09 4b 46 | 39 09 4b 31 33 0a 23 64 |efine.KF|9.K13.#d|
|00006020| 65 66 69 6e 65 20 4b 46 | 31 30 09 4b 31 34 0a 23 |efine KF|10.K14.#|
|00006030| 64 65 66 69 6e 65 09 4b | 46 31 31 09 4b 31 35 0a |define.K|F11.K15.|
|00006040| 23 64 65 66 69 6e 65 09 | 4b 46 31 32 09 4b 31 36 |#define.|KF12.K16|
|00006050| 0a 23 64 65 66 69 6e 65 | 09 4b 46 31 33 09 4b 31 |.#define|.KF13.K1|
|00006060| 37 0a 23 64 65 66 69 6e | 65 09 4b 46 31 34 09 4b |7.#defin|e.KF14.K|
|00006070| 31 38 0a 23 64 65 66 69 | 6e 65 09 4b 46 31 35 09 |18.#defi|ne.KF15.|
|00006080| 4b 31 39 0a 23 64 65 66 | 69 6e 65 09 4b 46 31 36 |K19.#def|ine.KF16|
|00006090| 09 4b 31 41 0a 23 64 65 | 66 69 6e 65 09 4b 46 31 |.K1A.#de|fine.KF1|
|000060a0| 37 09 4b 31 42 0a 23 64 | 65 66 69 6e 65 09 4b 46 |7.K1B.#d|efine.KF|
|000060b0| 31 38 09 4b 31 43 0a 23 | 64 65 66 69 6e 65 09 4b |18.K1C.#|define.K|
|000060c0| 46 31 39 09 4b 31 44 0a | 23 64 65 66 69 6e 65 09 |F19.K1D.|#define.|
|000060d0| 4b 46 32 30 09 4b 31 45 | 0a 53 48 41 52 5f 45 4f |KF20.K1E|.SHAR_EO|
|000060e0| 46 0a 69 66 20 74 65 73 | 74 20 39 30 37 20 2d 6e |F.if tes|t 907 -n|
|000060f0| 65 20 22 60 77 63 20 2d | 63 20 3c 20 27 74 74 79 |e "`wc -|c < 'tty|
|00006100| 2f 69 62 6d 62 69 6f 73 | 2f 74 74 79 64 65 66 2e |/ibmbios|/ttydef.|
|00006110| 68 27 60 22 0a 74 68 65 | 6e 0a 09 65 63 68 6f 20 |h'`".the|n..echo |
|00006120| 73 68 61 72 3a 20 65 72 | 72 6f 72 20 74 72 61 6e |shar: er|ror tran|
|00006130| 73 6d 69 74 74 69 6e 67 | 20 22 27 74 74 79 2f 69 |smitting| "'tty/i|
|00006140| 62 6d 62 69 6f 73 2f 74 | 74 79 64 65 66 2e 68 27 |bmbios/t|tydef.h'|
|00006150| 22 20 27 28 73 68 6f 75 | 6c 64 20 68 61 76 65 20 |" '(shou|ld have |
|00006160| 62 65 65 6e 20 39 30 37 | 20 63 68 61 72 61 63 74 |been 907| charact|
|00006170| 65 72 73 29 27 0a 66 69 | 0a 66 69 0a 65 63 68 6f |ers)'.fi|.fi.echo|
|00006180| 20 73 68 61 72 3a 20 65 | 78 74 72 61 63 74 69 6e | shar: e|xtractin|
|00006190| 67 20 22 27 74 74 79 2f | 69 62 6d 62 69 6f 73 2f |g "'tty/|ibmbios/|
|000061a0| 70 6f 6c 6c 6b 62 64 2e | 75 75 27 22 20 27 28 32 |pollkbd.|uu'" '(2|
|000061b0| 34 34 20 63 68 61 72 61 | 63 74 65 72 73 29 27 0a |44 chara|cters)'.|
|000061c0| 69 66 20 74 65 73 74 20 | 2d 66 20 27 74 74 79 2f |if test |-f 'tty/|
|000061d0| 69 62 6d 62 69 6f 73 2f | 70 6f 6c 6c 6b 62 64 2e |ibmbios/|pollkbd.|
|000061e0| 75 75 27 0a 74 68 65 6e | 0a 09 65 63 68 6f 20 73 |uu'.then|..echo s|
|000061f0| 68 61 72 3a 20 77 69 6c | 6c 20 6e 6f 74 20 6f 76 |har: wil|l not ov|
|00006200| 65 72 2d 77 72 69 74 65 | 20 65 78 69 73 74 69 6e |er-write| existin|
|00006210| 67 20 66 69 6c 65 20 22 | 27 74 74 79 2f 69 62 6d |g file "|'tty/ibm|
|00006220| 62 69 6f 73 2f 70 6f 6c | 6c 6b 62 64 2e 75 75 27 |bios/pol|lkbd.uu'|
|00006230| 22 0a 65 6c 73 65 0a 63 | 61 74 20 3c 3c 20 5c 53 |".else.c|at << \S|
|00006240| 48 41 52 5f 45 4f 46 20 | 3e 20 27 74 74 79 2f 69 |HAR_EOF |> 'tty/i|
|00006250| 62 6d 62 69 6f 73 2f 70 | 6f 6c 6c 6b 62 64 2e 75 |bmbios/p|ollkbd.u|
|00006260| 75 27 0a 62 65 67 69 6e | 20 36 34 34 20 50 4f 4c |u'.begin| 644 POL|
|00006270| 4c 4b 42 44 2e 4f 42 4a | 0a 4d 40 20 44 20 21 57 |LKBD.OBJ|.M@ D !W|
|00006280| 21 4f 3b 26 51 4b 38 46 | 32 28 45 42 58 20 20 20 |!O;&QK8F|2(EBX |
|00006290| 2d 22 34 55 2c 24 30 54 | 5d 24 31 30 35 23 33 54 |-"4U,$0T|]$105#3T|
|000062a0| 59 33 35 20 31 24 30 35 | 31 21 21 44 31 27 34 44 |Y35 1$05|1!!D1'4D|
|000062b0| 5d 35 34 20 31 3f 0a 4d | 30 45 2d 33 21 35 5d 24 |]54 1?.M|0E-3!5]$|
|000062c0| 30 35 31 21 21 35 5d 34 | 31 35 41 34 2f 59 40 27 |051!!5]4|15A4/Y@'|
|000062d0| 20 22 40 2d 20 20 44 23 | 20 31 5e 38 21 50 21 28 | "@- D#| 1^8!P!(|
|000062e0| 20 20 20 24 21 20 24 30 | 46 20 3c 20 32 20 20 20 | $! $0|F < 2 |
|000062f0| 21 50 28 21 0a 4d 23 59 | 40 27 20 24 40 20 20 20 |!P(!.M#Y|@' $@ |
|00006300| 40 25 20 30 4e 3a 22 20 | 20 26 5f 50 2b 5f 20 5f |@% 0N:" | &_P+_ _|
|00006310| 5c 24 34 4a 20 31 20 20 | 24 20 20 2b 30 21 53 31 |\$4J 1 |$ +0!S1|
|00006320| 39 54 21 2b 40 21 20 2c | 2c 53 50 2c 2c 2c 44 20 |9T!+@! ,|,SP,,,D |
|00006330| 5c 20 0a 34 20 20 24 28 | 37 57 21 4f 3b 26 51 4b |\ .4 $(|7W!O;&QK|
|00006340| 38 46 30 20 20 20 20 31 | 42 40 28 20 20 27 30 24 |8F0 1|B@( '0$|
|00006350| 0a 20 0a 65 6e 64 0a 53 | 48 41 52 5f 45 4f 46 0a |. .end.S|HAR_EOF.|
|00006360| 69 66 20 74 65 73 74 20 | 32 34 34 20 2d 6e 65 20 |if test |244 -ne |
|00006370| 22 60 77 63 20 2d 63 20 | 3c 20 27 74 74 79 2f 69 |"`wc -c |< 'tty/i|
|00006380| 62 6d 62 69 6f 73 2f 70 | 6f 6c 6c 6b 62 64 2e 75 |bmbios/p|ollkbd.u|
|00006390| 75 27 60 22 0a 74 68 65 | 6e 0a 09 65 63 68 6f 20 |u'`".the|n..echo |
|000063a0| 73 68 61 72 3a 20 65 72 | 72 6f 72 20 74 72 61 6e |shar: er|ror tran|
|000063b0| 73 6d 69 74 74 69 6e 67 | 20 22 27 74 74 79 2f 69 |smitting| "'tty/i|
|000063c0| 62 6d 62 69 6f 73 2f 70 | 6f 6c 6c 6b 62 64 2e 75 |bmbios/p|ollkbd.u|
|000063d0| 75 27 22 20 27 28 73 68 | 6f 75 6c 64 20 68 61 76 |u'" '(sh|ould hav|
|000063e0| 65 20 62 65 65 6e 20 32 | 34 34 20 63 68 61 72 61 |e been 2|44 chara|
|000063f0| 63 74 65 72 73 29 27 0a | 66 69 0a 66 69 0a 65 63 |cters)'.|fi.fi.ec|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.