summaryrefslogtreecommitdiff
path: root/v4.0-ozzie/bin/DRDOS2.IMD
blob: 972058bd1b40c65bcc329522e87d349613e4edd5 (plain) (blame)
ofshex dumpascii
0000 49 4d 44 20 31 2e 32 30 3a 20 32 36 2f 30 37 2f 32 30 30 31 20 31 35 3a 34 32 3a 31 38 0d 0a 64 IMD.1.20:.26/07/2001.15:42:18..d
0020 69 73 6b 32 0d 0a 1a 05 00 00 09 02 01 02 03 04 05 06 07 08 09 01 eb 2c 90 49 42 4d 20 20 32 2e isk2...................,.IBM..2.
0040 30 00 02 02 01 00 02 70 00 d0 02 fd 02 00 09 00 02 00 00 00 00 00 0a df 02 25 02 09 2a ff 50 f6 0......p.................%..*.P.
0060 0f 02 cd 19 fa 33 c0 8e d0 bc 00 7c 8e d8 a3 7a 00 c7 06 78 00 21 7c fb cd 13 73 03 e9 95 00 0e .....3.....|...z...x.!|...s.....
0080 1f a0 10 7c 98 f7 26 16 7c 03 06 1c 7c 03 06 0e 7c a3 03 7c a3 13 7c b8 20 00 f7 26 11 7c 05 ff ...|..&.|...|...|..|..|....&.|..
00a0 01 bb 00 02 f7 f3 01 06 13 7c e8 7e 00 72 b3 a1 13 7c a3 7e 7d b8 70 00 8e c0 8e d8 bb 00 00 2e .........|.~.r...|.~}.p.........
00c0 a1 13 7c e8 b6 00 2e a0 18 7c 2e 2a 06 15 7c fe c0 32 e4 50 b4 02 e8 c1 00 58 72 38 2e 28 06 20 ..|......|.*..|..2.P.....Xr8.(..
00e0 7c 76 0e 2e 01 06 13 7c 2e f7 26 0b 7c 03 d8 eb ce 0e 1f cd 11 d0 c0 d0 c0 25 03 00 75 01 40 40 |v.....|..&.|............%..u.@@
0100 8b c8 f6 06 1e 7c 80 75 02 33 c0 8b 1e 7e 7d ea 00 00 70 00 be c9 7d e8 02 00 eb fe 2e ac 24 7f .....|.u.3...~}...p...}.......$.
0120 74 4d b4 0e bb 07 00 cd 10 eb f1 b8 50 00 8e c0 0e 1f 2e a1 03 7c e8 43 00 bb 00 00 b8 01 02 e8 tM..........P........|.C........
0140 58 00 72 2c 33 ff b9 0b 00 26 80 0d 20 26 80 4d 20 20 47 e2 f4 33 ff be df 7d b9 0b 00 fc f3 a6 X.r,3....&...&.M..G..3...}......
0160 75 0e bf 20 00 be eb 7d b9 0b 00 f3 a6 75 01 c3 be 80 7d e8 a6 ff b4 00 cd 16 f9 c3 1e 0e 1f 33 u......}.....u....}............3
0180 d2 f7 36 18 7c fe c2 88 16 15 7c 33 d2 f7 36 1a 7c 88 16 1f 7c a3 08 7c 1f c3 2e 8b 16 08 7c b1 ..6.|.....|3..6.|...|..|......|.
01a0 06 d2 e6 2e 0a 36 15 7c 8b ca 86 e9 2e 8b 16 1e 7c cd 13 c3 00 00 0d 0a 4e 6f 6e 2d 53 79 73 74 .....6.|........|.......Non-Syst
01c0 65 6d 20 64 69 73 6b 20 6f 72 20 64 69 73 6b 20 65 72 72 6f 72 0d 0a 52 65 70 6c 61 63 65 20 61 em.disk.or.disk.error..Replace.a
01e0 6e 64 20 73 74 72 69 6b 65 20 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 79 0d 0a 00 0d nd.strike.any.key.when.ready....
0200 0a 44 69 73 6b 20 42 6f 6f 74 20 66 61 69 6c 75 72 65 0d 0a 00 69 62 6d 62 69 6f 20 20 63 6f 6d .Disk.Boot.failure...ibmbio..com
0220 30 69 62 6d 64 6f 73 20 20 63 6f 6d 30 00 00 00 00 00 00 00 55 aa 01 fd ff ff ff 4f 00 ff 6f 00 0ibmdos..com0.......U......O..o.
0240 07 80 00 09 f0 ff 0b c0 00 0d e0 00 ff 0f 01 11 20 01 ff 4f 01 15 60 01 17 80 01 19 a0 01 ff ff ...................O..`.........
0260 ff 1d e0 01 1f 00 02 21 20 02 23 40 02 25 60 02 27 80 02 29 a0 02 2b c0 02 2d e0 02 2f 00 03 31 .......!..#@.%`.'..)..+..-../..1
0280 20 03 33 40 03 35 60 03 37 80 03 39 a0 03 3b c0 03 3d e0 03 3f 00 04 41 20 04 43 40 04 45 60 04 ..3@.5`.7..9..;..=..?..A..C@.E`.
02a0 47 80 04 49 a0 04 4b c0 04 4d f0 ff 4f 00 05 51 20 05 53 40 05 55 60 05 57 80 05 59 a0 05 5b c0 G..I..K..M..O..Q..S@.U`.W..Y..[.
02c0 05 5d e0 05 5f 00 06 61 20 06 63 40 06 65 60 06 67 80 06 69 a0 06 6b c0 06 6d e0 06 6f 00 07 71 .].._..a..c@.e`.g..i..k..m..o..q
02e0 20 07 73 40 07 75 60 07 77 80 07 79 a0 07 7b c0 07 7d e0 07 7f 00 08 81 20 08 83 40 08 85 60 08 ..s@.u`.w..y..{..}.........@..`.
0300 87 80 08 89 a0 08 8b c0 08 8d e0 08 ff 0f 09 91 20 09 93 40 09 95 60 09 97 80 09 99 a0 09 9b c0 ...................@..`.........
0320 09 9d e0 09 9f 00 0a a1 20 0a a3 40 0a a5 60 0a a7 80 0a a9 a0 0a ab c0 0a ad e0 0a ff 0f 0b ff ...........@..`.................
0340 2f 0b b3 40 0b b5 60 0b b7 80 0b b9 a0 0b bb f0 ff bd e0 0b bf 00 0c c1 20 0c c3 40 0c c5 60 0c /..@..`....................@..`.
0360 ff ff ff c9 a0 0c cb c0 0c cd e0 0c cf 00 0d d1 20 0d d3 40 0d d5 f0 ff 00 00 00 00 00 00 00 00 ...................@............
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 47 18 a2 19 00 c3 80 3e 23 2e ff 74 0d 8b 36 d6 2e 89 ..............G......>#..t..6...
0460 36 24 2e c6 06 23 2e ff 33 ed 8b 36 d6 2e b3 2b bf 82 2e e8 96 08 f6 c7 80 74 23 f6 c7 01 75 f0 6$...#..3..6...+.........t#...u.
0480 e8 ec 01 e8 af f2 bf ec 2c b8 00 29 cd 21 bb ac 2d be ed 2c 8b 3e 28 2e e8 8a 06 e9 8b 02 e8 b8 ........,..).!..-..,.>(.........
04a0 03 33 c0 a2 ce 2c a3 d2 2c a2 cf 2c 8b 36 24 2e 89 36 d6 2e e8 c0 02 74 03 e9 8b 01 e9 50 02 33 .3...,..,..,.6$..6.....t.....P.3
04c0 c0 a3 cc 2c a2 c5 2c a2 df 2e a2 db 2e a2 de 2e a3 d7 2c a2 dc 2e a2 c4 2c a2 23 2e a3 82 2e a3 ...,..,...........,.....,.#.....
04e0 cb 2d a3 2b 2e a3 ab 2d a3 68 2d a3 28 2d 48 a2 d4 2c a2 22 2e a2 c6 2d be 81 00 b3 2b 33 ed bf .-.+...-.h-.(-H..,."...-....+3..
0500 82 2e e8 07 08 72 47 f6 c7 80 74 05 c6 06 df 2e 01 f6 c7 01 74 0a 09 2e ca 2c 09 2e cc 2c eb dd .....rG...t.........t....,...,..
0520 f6 c7 80 75 04 fe 06 c5 2c 56 a1 e6 2e be 82 2e 2b c6 bf cb 2d 03 c7 a3 c8 2d 88 0e c7 2d 41 f3 ...u....,V......+...-....-...-A.
0540 a4 88 3e ca 2d c7 06 ca 2c 00 00 5e eb af a0 df 2e a2 c4 2c d0 e0 d0 e0 a2 d8 2e ba 96 29 a0 c5 ..>.-...,..^.......,.........)..
0560 2c 0a c0 74 04 3c 02 76 03 e9 93 eb bd c6 2d 3c 01 75 20 a0 c3 2c 04 41 b4 3a c6 46 01 02 bf cb ,..t.<.v......-<.u...,.A.:.F....
0580 2d ab c7 06 ca 2c 00 00 c6 46 04 02 c6 46 00 00 e8 90 06 80 7e 01 02 75 15 80 3e cc 2d 3a 75 0e -....,...F...F......~..u..>.-:u.
05a0 80 4e 04 02 bf cd 2d c6 46 00 00 e8 75 06 8b 7e 02 80 3d 00 75 14 ba f5 27 80 7d fe 3a 75 aa c6 .N....-.F...u..~..=.u...'.}.:u..
05c0 46 00 02 80 4e 04 06 e8 59 06 ba ff 26 a1 cc 2c 3d 00 80 74 94 a9 10 00 74 14 b4 54 cd 21 1e 8e F...N...Y...&..,=..t....t..T.!..
05e0 1e b3 2c 32 e4 a3 75 09 1f b8 01 2e cd 21 33 ed be 81 00 b3 2b bf 82 2e e8 11 07 f6 c7 01 75 f5 ..,2..u......!3.....+.........u.
0600 09 2e ca 2c f7 c5 08 00 75 0c 80 3e c4 2c 00 74 05 c6 06 de 2e 04 56 a1 e6 2e be 82 2e 2b c6 bf ...,....u..>.,.t......V......+..
0620 2b 2e 03 c7 a3 28 2e 88 0e 27 2e 41 f3 a4 88 3e 2a 2e 5e 8b c5 e8 20 04 01 fd ff ff ff 4f 00 ff +....(...'.A...>*.^..........O..
0640 6f 00 07 80 00 09 f0 ff 0b c0 00 0d e0 00 ff 0f 01 11 20 01 ff 4f 01 15 60 01 17 80 01 19 a0 01 o....................O..`.......
0660 ff ff ff 1d e0 01 1f 00 02 21 20 02 23 40 02 25 60 02 27 80 02 29 a0 02 2b c0 02 2d e0 02 2f 00 .........!..#@.%`.'..)..+..-../.
0680 03 31 20 03 33 40 03 35 60 03 37 80 03 39 a0 03 3b c0 03 3d e0 03 3f 00 04 41 20 04 43 40 04 45 .1..3@.5`.7..9..;..=..?..A..C@.E
06a0 60 04 47 80 04 49 a0 04 4b c0 04 4d f0 ff 4f 00 05 51 20 05 53 40 05 55 60 05 57 80 05 59 a0 05 `.G..I..K..M..O..Q..S@.U`.W..Y..
06c0 5b c0 05 5d e0 05 5f 00 06 61 20 06 63 40 06 65 60 06 67 80 06 69 a0 06 6b c0 06 6d e0 06 6f 00 [..].._..a..c@.e`.g..i..k..m..o.
06e0 07 71 20 07 73 40 07 75 60 07 77 80 07 79 a0 07 7b c0 07 7d e0 07 7f 00 08 81 20 08 83 40 08 85 .q..s@.u`.w..y..{..}.........@..
0700 60 08 87 80 08 89 a0 08 8b c0 08 8d e0 08 ff 0f 09 91 20 09 93 40 09 95 60 09 97 80 09 99 a0 09 `....................@..`.......
0720 9b c0 09 9d e0 09 9f 00 0a a1 20 0a a3 40 0a a5 60 0a a7 80 0a a9 a0 0a ab c0 0a ad e0 0a ff 0f .............@..`...............
0740 0b ff 2f 0b b3 40 0b b5 60 0b b7 80 0b b9 a0 0b bb f0 ff bd e0 0b bf 00 0c c1 20 0c c3 40 0c c5 ../..@..`....................@..
0760 60 0c ff ff ff c9 a0 0c cb c0 0c cd e0 0c cf 00 0d d1 20 0d d3 40 0d d5 f0 ff 00 00 00 00 00 00 `....................@..........
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 ................................
0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 47 18 a2 19 00 c3 80 3e 23 2e ff 74 0d 8b 36 d6 ................G......>#..t..6.
0860 2e 89 36 24 2e c6 06 23 2e ff 33 ed 8b 36 d6 2e b3 2b bf 82 2e e8 96 08 f6 c7 80 74 23 f6 c7 01 ..6$...#..3..6...+.........t#...
0880 75 f0 e8 ec 01 e8 af f2 bf ec 2c b8 00 29 cd 21 bb ac 2d be ed 2c 8b 3e 28 2e e8 8a 06 e9 8b 02 u.........,..).!..-..,.>(.......
08a0 e8 b8 03 33 c0 a2 ce 2c a3 d2 2c a2 cf 2c 8b 36 24 2e 89 36 d6 2e e8 c0 02 74 03 e9 8b 01 e9 50 ...3...,..,..,.6$..6.....t.....P
08c0 02 33 c0 a3 cc 2c a2 c5 2c a2 df 2e a2 db 2e a2 de 2e a3 d7 2c a2 dc 2e a2 c4 2c a2 23 2e a3 82 .3...,..,...........,.....,.#...
08e0 2e a3 cb 2d a3 2b 2e a3 ab 2d a3 68 2d a3 28 2d 48 a2 d4 2c a2 22 2e a2 c6 2d be 81 00 b3 2b 33 ...-.+...-.h-.(-H..,."...-....+3
0900 ed bf 82 2e e8 07 08 72 47 f6 c7 80 74 05 c6 06 df 2e 01 f6 c7 01 74 0a 09 2e ca 2c 09 2e cc 2c .......rG...t.........t....,...,
0920 eb dd f6 c7 80 75 04 fe 06 c5 2c 56 a1 e6 2e be 82 2e 2b c6 bf cb 2d 03 c7 a3 c8 2d 88 0e c7 2d .....u....,V......+...-....-...-
0940 41 f3 a4 88 3e ca 2d c7 06 ca 2c 00 00 5e eb af a0 df 2e a2 c4 2c d0 e0 d0 e0 a2 d8 2e ba 96 29 A...>.-...,..^.......,.........)
0960 a0 c5 2c 0a c0 74 04 3c 02 76 03 e9 93 eb bd c6 2d 3c 01 75 20 a0 c3 2c 04 41 b4 3a c6 46 01 02 ..,..t.<.v......-<.u...,.A.:.F..
0980 bf cb 2d ab c7 06 ca 2c 00 00 c6 46 04 02 c6 46 00 00 e8 90 06 80 7e 01 02 75 15 80 3e cc 2d 3a ..-....,...F...F......~..u..>.-:
09a0 75 0e 80 4e 04 02 bf cd 2d c6 46 00 00 e8 75 06 8b 7e 02 80 3d 00 75 14 ba f5 27 80 7d fe 3a 75 u..N....-.F...u..~..=.u...'.}.:u
09c0 aa c6 46 00 02 80 4e 04 06 e8 59 06 ba ff 26 a1 cc 2c 3d 00 80 74 94 a9 10 00 74 14 b4 54 cd 21 ..F...N...Y...&..,=..t....t..T.!
09e0 1e 8e 1e b3 2c 32 e4 a3 75 09 1f b8 01 2e cd 21 33 ed be 81 00 b3 2b bf 82 2e e8 11 07 f6 c7 01 ....,2..u......!3.....+.........
0a00 75 f5 09 2e ca 2c f7 c5 08 00 75 0c 80 3e c4 2c 00 74 05 c6 06 de 2e 04 56 a1 e6 2e be 82 2e 2b u....,....u..>.,.t......V......+
0a20 c6 bf 2b 2e 03 c7 a3 28 2e 88 0e 27 2e 41 f3 a4 88 3e 2a 2e 5e 8b c5 e8 20 04 01 42 49 4f 53 20 ..+....(...'.A...>*.^......BIOS.
0a40 20 20 20 20 20 20 10 00 00 00 00 00 00 00 00 00 00 c0 6d bd 08 02 00 00 00 00 00 e5 59 53 49 4d ..................m.........YSIM
0a60 45 53 20 4f 42 4a 20 00 00 00 00 00 00 00 00 00 00 c4 76 9b 08 f0 00 32 01 00 00 00 f6 f6 f6 f6 ES.OBJ............v....2........
0a80 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0aa0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0ac0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0ae0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0b00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0b20 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0b40 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0b60 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0b80 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0ba0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0bc0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0be0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0c00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 ................................
0c20 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 00 f6 f6 f6 ................................
0c40 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0c60 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0c80 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0ca0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0cc0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0ce0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0d00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0d20 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0d40 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0d60 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0d80 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0da0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0dc0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0de0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0e00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 ................................
0e20 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 00 f6 f6 ................................
0e40 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0e60 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0e80 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0ea0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0ec0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0ee0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0f00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0f20 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0f40 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0f60 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0f80 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0fa0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0fc0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
0fe0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
1000 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
1020 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 00 f6 ................................
1040 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1060 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1080 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
10a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
10c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
10e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1100 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1120 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1140 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1160 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1180 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
11a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
11c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
11e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1200 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 ................................
1220 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 05 00 ................................
1240 01 09 02 01 02 03 04 05 06 07 08 09 01 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1260 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1280 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
12a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
12c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
12e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1300 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1320 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1340 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1360 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1380 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
13a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
13c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
13e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1400 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1420 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1440 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1460 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1480 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
14a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
14c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
14e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1500 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1520 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1540 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1560 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1580 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
15a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
15c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
15e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1600 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1620 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1640 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1660 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1680 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
16a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
16c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
16e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1700 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1720 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1740 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1760 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1780 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
17a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
17c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
17e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1800 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1820 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
1840 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 2e 20 20 20 20 20 20 20 20 20 20 10 00 00 00 00 ................................
1860 00 00 00 00 00 00 c0 6d bd 08 02 00 00 00 00 00 2e 2e 20 20 20 20 20 20 20 20 20 10 00 00 00 00 .......m........................
1880 00 00 00 00 00 00 c0 6d bd 08 00 00 00 00 00 00 52 45 41 44 5f 4d 45 20 20 20 20 20 00 00 00 00 .......m........READ_ME.........
18a0 00 00 00 00 00 00 25 71 bd 08 03 00 03 04 00 00 49 42 4d 42 49 4f 20 20 4f 42 4a 20 00 00 00 00 ......%q........IBMBIO..OBJ.....
18c0 00 00 00 00 00 00 ea 5e b6 08 05 00 99 12 00 00 49 42 4d 4d 54 43 4f 4e 4f 42 4a 20 00 00 00 00 .......^........IBMMTCONOBJ.....
18e0 00 00 00 00 00 00 f2 5a b6 08 0a 00 ea 11 00 00 53 59 53 49 4e 49 20 20 4f 42 4a 20 00 00 00 00 .......Z........SYSINI..OBJ.....
1900 00 00 00 00 00 00 ec 69 b7 08 0f 00 20 0e 00 00 49 42 4d 44 53 4b 20 20 4f 42 4a 20 00 00 00 00 .......i........IBMDSK..OBJ.....
1920 00 00 00 00 00 00 18 5f b6 08 13 00 35 1d 00 00 53 59 53 49 4d 45 53 20 4f 42 4a 20 00 00 00 00 ......._....5...SYSIMES.OBJ.....
1940 00 00 00 00 00 00 c4 76 9b 08 1b 00 32 01 00 00 49 42 4d 42 49 4f 20 20 41 53 4d 20 00 00 00 00 .......v....2...IBMBIO..ASM.....
1960 00 00 00 00 00 00 10 8b af 08 1c 00 e6 c6 00 00 49 42 4d 44 53 4b 20 20 41 53 4d 20 00 00 00 00 ................IBMDSK..ASM.....
1980 00 00 00 00 00 00 ca 5e b6 08 4e 00 dd 03 01 00 49 42 4d 4d 54 43 4f 4e 41 53 4d 20 00 00 00 00 .......^..N.....IBMMTCONASM.....
19a0 00 00 00 00 00 00 3c 57 b6 08 8f 00 d2 7f 00 00 44 45 46 44 42 55 47 20 49 4e 43 20 00 00 00 00 ......<W........DEFDBUG.INC.....
19c0 00 00 00 00 00 00 68 4a 77 08 af 00 a1 06 00 00 42 55 47 43 4f 44 45 20 49 4e 43 20 00 00 00 00 ......hJw.......BUGCODE.INC.....
19e0 00 00 00 00 00 00 f2 76 b0 08 b1 00 74 2b 00 00 41 4e 53 49 20 20 20 20 49 4e 43 20 00 00 00 00 .......v....t+..ANSI....INC.....
1a00 00 00 00 00 00 00 d3 5a b6 08 bc 00 b4 29 00 00 42 49 4f 53 4f 42 4a 20 4d 41 4b 20 00 00 00 00 .......Z.....)..BIOSOBJ.MAK.....
1a20 00 00 00 00 00 00 32 49 b0 08 c7 00 ef 01 00 00 42 4f 4f 54 50 41 43 48 45 58 45 20 00 00 00 00 ......2I........BOOTPACHEXE.....
1a40 00 00 00 00 00 00 4b 6a 79 08 c8 00 13 37 00 00 01 e5 46 54 20 20 20 20 20 49 4e 43 20 00 00 00 ......Kjy....7....FT.....INC....
1a60 00 00 00 00 00 00 00 8b 4a 77 08 d9 00 1d 04 00 00 e5 45 46 44 42 55 47 20 49 4e 43 20 00 00 00 ........Jw........EFDBUG.INC....
1a80 00 00 00 00 00 00 00 68 4a 77 08 db 00 a1 06 00 00 e5 43 42 53 59 4d 20 20 49 4e 43 20 00 00 00 .......hJw........CBSYM..INC....
1aa0 00 00 00 00 00 00 00 89 4a 77 08 dd 00 56 18 00 00 e5 50 42 20 20 20 20 20 49 4e 43 20 00 00 00 ........Jw...V....PB.....INC....
1ac0 00 00 00 00 00 00 00 84 4a 77 08 e4 00 94 07 00 00 e5 4e 53 49 20 20 20 20 49 4e 43 20 00 00 00 ........Jw........NSI....INC....
1ae0 00 00 00 00 00 00 00 d3 5a b6 08 e6 00 b4 29 00 00 e5 49 4f 53 4f 42 4a 20 4d 41 4b 20 00 00 00 ........Z.....)...IOSOBJ.MAK....
1b00 00 00 00 00 00 00 00 32 49 b0 08 f1 00 ef 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .......2I.......................
1b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 32 39 20 4d 61 79 20 31 39 38 34 0d 0a 0d ..................29.May.1984...
1c60 0a 54 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 67 69 76 65 6e 20 68 65 72 65 20 61 72 65 .The.object.files.given.here.are
1c80 20 73 75 66 66 69 63 69 65 6e 74 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 42 49 4f 53 0d 0a .sufficient.to.create.the.BIOS..
1ca0 66 6f 72 20 74 68 65 20 49 42 4d 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65 20 73 6f 75 72 63 65 for.the.IBM.system...Some.source
1cc0 73 20 61 72 65 20 67 69 76 65 6e 20 61 73 20 65 78 61 6d 70 6c 65 73 20 66 6f 72 0d 0a 4f 45 4d s.are.given.as.examples.for..OEM
1ce0 20 73 75 70 70 6c 69 65 64 20 64 65 76 69 63 65 20 64 72 69 76 65 72 73 2e 20 20 54 68 65 73 65 .supplied.device.drivers...These
1d00 20 73 6f 75 72 63 65 73 20 64 6f 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 0d 0a 69 6d 70 .sources.do.not.necessarily..imp
1d20 6c 65 6d 65 6e 74 20 61 6c 6c 20 74 68 65 20 66 65 61 74 75 72 65 73 20 64 65 73 63 72 69 62 65 lement.all.the.features.describe
1d40 64 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 20 64 72 69 76 65 72 0d 0a 64 6f 63 75 6d 65 6e 74 d.in.the.device.driver..document
1d60 61 74 69 6f 6e 2e 20 20 54 68 65 79 20 68 61 76 65 20 65 76 6f 6c 76 65 64 20 69 6e 20 70 61 72 ation...They.have.evolved.in.par
1d80 61 6c 6c 65 6c 20 77 69 74 68 20 74 68 65 0d 0a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 73 allel.with.the..documentation,.s
1da0 6f 20 73 6f 6d 65 20 66 65 61 74 75 72 65 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 o.some.features.described.in.the
1dc0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0d 0a 6d 61 79 20 6e 6f 74 20 79 65 74 20 62 65 20 70 .documentation..may.not.yet.be.p
1de0 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 64 72 69 76 65 72 73 2e 20 20 42 65 6c 6f 77 20 69 73 resent.in.the.drivers...Below.is
1e00 20 61 20 73 75 6d 6d 61 72 79 20 6f 66 0d 0a 74 68 65 20 66 69 6c 65 73 20 73 75 70 70 6c 69 65 .a.summary.of..the.files.supplie
1e20 64 3a 0d 0a 0d 0a 09 72 65 61 64 5f 6d 65 09 09 54 68 69 73 20 66 69 6c 65 2e 0d 0a 09 69 62 6d d:.....read_me..This.file....ibm
1e40 62 69 6f 2e 61 73 6d 09 4d 61 69 6e 20 62 6f 64 79 20 01 6f 66 20 74 68 65 20 42 49 4f 53 2e 0d bio.asm.Main.body..of.the.BIOS..
1e60 0a 09 69 62 6d 64 73 6b 2e 61 73 6d 09 46 6c 6f 70 70 79 20 61 6e 64 20 48 61 72 64 20 64 69 73 ..ibmdsk.asm.Floppy.and.Hard.dis
1e80 6b 20 64 72 69 76 65 72 73 2e 0d 0a 09 69 62 6d 6d 74 63 6f 6e 2e 61 73 6d 09 4d 75 6c 74 69 2d k.drivers....ibmmtcon.asm.Multi-
1ea0 73 63 72 65 65 6e 20 63 6f 6e 73 6f 6c 65 20 64 72 69 76 65 72 2e 0d 0a 09 61 6e 73 69 2e 69 6e screen.console.driver....ansi.in
1ec0 63 09 41 4e 53 49 20 58 33 2e 36 34 20 74 65 72 6d 69 6e 61 6c 20 65 6d 75 6c 61 74 69 6f 6e 2e c.ANSI.X3.64.terminal.emulation.
1ee0 0d 0a 09 62 75 67 63 6f 64 65 2e 69 6e 63 09 4d 6f 64 75 6c 65 20 77 68 69 63 68 20 69 6d 70 6c ...bugcode.inc.Module.which.impl
1f00 65 6d 65 6e 74 73 20 64 65 62 75 67 67 69 6e 67 0d 0a 09 09 09 70 72 69 6e 74 73 2e 20 20 54 68 ements.debugging.....prints...Th
1f20 65 20 72 6f 75 74 69 6e 65 20 50 55 54 43 20 6d 75 73 74 20 62 65 0d 0a 09 09 09 6d 6f 64 69 66 e.routine.PUTC.must.be.....modif
1f40 69 65 64 20 66 6f 72 20 6f 74 68 65 72 20 64 65 76 69 63 65 73 2e 20 20 53 65 65 0d 0a 09 09 09 ied.for.other.devices...See.....
1f60 61 6c 73 6f 20 74 68 65 20 66 69 6c 65 20 44 45 46 44 42 55 47 2e 49 4e 43 2e 0d 0a 09 73 79 73 also.the.file.DEFDBUG.INC....sys
1f80 2a 2e 6f 62 6a 09 54 68 65 20 53 59 53 49 4e 49 54 20 70 72 6f 67 72 61 6d 2e 20 20 4e 6f 20 73 *.obj.The.SYSINIT.program...No.s
1fa0 6f 75 72 63 65 20 73 75 70 70 6c 69 65 64 2e 0d 0a 09 62 69 6f 73 6f 62 6a 2e 6d 61 6b 09 43 6f ource.supplied....biosobj.mak.Co
1fc0 6e 74 61 69 6e 73 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 ntains.instructions.for.building
1fe0 20 74 68 65 0d 0a 09 09 09 49 42 4d 20 42 49 4f 53 2e 0d 0a 09 62 6f 6f 74 70 61 63 68 2e 65 78 .the.....IBM.BIOS....bootpach.ex
2000 65 09 4d 6f 64 69 66 69 65 73 20 61 20 56 32 2e 30 20 62 6f 6f 74 20 73 65 63 74 6f 72 20 28 6f e.Modifies.a.V2.0.boot.sector.(o
2020 6e 20 41 3a 29 20 66 6f 72 0d 0a 09 09 09 74 68 65 20 49 42 4d 20 74 6f 20 61 63 63 6f 6d 6f 64 n.A:).for.....the.IBM.to.accomod
2040 61 74 65 20 74 68 65 20 6c 61 72 67 65 72 20 42 49 4f 53 01 2e 0d 0a 74 68 65 20 42 49 4f 53 2e ate.the.larger.BIOS....the.BIOS.
2060 0d 0a 09 69 62 6d 64 73 6b 2e 61 73 6d 09 46 6c 6f 70 70 79 20 61 6e 64 20 48 61 72 64 20 64 69 ...ibmdsk.asm.Floppy.and.Hard.di
2080 73 6b 20 64 72 69 76 65 72 73 2e 0d 0a 09 69 62 6d 6d 74 63 6f 6e 2e 61 73 6d 09 4d 75 6c 74 69 sk.drivers....ibmmtcon.asm.Multi
20a0 2d 73 63 72 65 65 6e 20 63 6f 6e 73 6f 6c 65 20 64 72 69 76 65 72 2e 0d 0a 09 61 6e 73 69 2e 69 -screen.console.driver....ansi.i
20c0 6e 63 09 41 4e 53 49 20 58 33 2e 36 34 20 74 65 72 6d 69 6e 61 6c 20 65 6d 75 6c 61 74 69 6f 6e nc.ANSI.X3.64.terminal.emulation
20e0 2e 0d 0a 09 62 75 67 63 6f 64 65 2e 69 6e 63 09 4d 6f 64 75 6c 65 20 77 68 69 63 68 20 69 6d 70 ....bugcode.inc.Module.which.imp
2100 6c 65 6d 65 6e 74 73 20 64 65 62 75 67 67 69 6e 67 0d 0a 09 09 09 70 72 69 6e 74 73 2e 20 20 54 lements.debugging.....prints...T
2120 68 65 20 72 6f 75 74 69 6e 65 20 50 55 54 43 20 6d 75 73 74 20 62 65 0d 0a 09 09 09 6d 6f 64 69 he.routine.PUTC.must.be.....modi
2140 66 69 65 64 20 66 6f 72 20 6f 74 68 65 72 20 64 65 76 69 63 65 73 2e 20 20 53 65 65 0d 0a 09 09 fied.for.other.devices...See....
2160 09 61 6c 73 6f 20 74 68 65 20 66 69 6c 65 20 44 45 46 44 42 55 47 2e 49 4e 43 2e 0d 0a 09 73 79 .also.the.file.DEFDBUG.INC....sy
2180 73 2a 2e 6f 62 6a 09 54 68 65 20 53 59 53 49 4e 49 54 20 70 72 6f 67 72 61 6d 2e 20 20 4e 6f 20 s*.obj.The.SYSINIT.program...No.
21a0 73 6f 75 72 63 65 20 73 75 70 70 6c 69 65 64 2e 0d 0a 09 62 69 6f 73 6f 62 6a 2e 6d 61 6b 09 43 source.supplied....biosobj.mak.C
21c0 6f 6e 74 61 69 6e 73 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 66 6f 72 20 62 75 69 6c 64 69 6e ontains.instructions.for.buildin
21e0 67 20 74 68 65 0d 0a 09 09 09 49 42 4d 20 42 49 4f 53 2e 0d 0a 09 62 6f 6f 74 70 61 63 68 2e 65 g.the.....IBM.BIOS....bootpach.e
2200 78 65 09 4d 6f 64 69 66 69 65 73 20 61 20 56 32 2e 30 20 62 6f 6f 74 20 73 65 63 74 6f 72 20 28 xe.Modifies.a.V2.0.boot.sector.(
2220 6f 6e 20 41 3a 29 20 66 6f 72 0d 0a 09 09 09 74 68 65 20 49 42 4d 20 74 6f 20 61 63 63 6f 6d 6f on.A:).for.....the.IBM.to.accomo
2240 64 61 74 65 20 74 68 65 20 6c 61 72 67 65 72 20 42 49 4f 53 01 5f 5a 59 58 5e cb b4 00 89 4f 12 date.the.larger.BIOS._ZYX^....O.
2260 89 7f 0e eb e8 2e 8a 16 00 00 32 f6 c3 00 00 70 00 00 80 00 00 00 00 41 55 58 20 20 20 20 20 00 ..........2....p.......AUX......
2280 00 70 00 00 80 00 00 00 00 43 4f 4d 31 20 20 20 20 ff ff 70 00 00 80 00 00 00 00 43 4f 4d 32 20 .p.......COM1......p.......COM2.
22a0 20 20 20 00 00 e3 11 e8 00 00 33 c0 86 07 0a c0 75 03 e8 00 00 aa e2 fa eb 91 b4 02 e8 00 00 f6 ..........3.....u...............
22c0 c4 0e 74 06 58 b0 0b e9 00 00 c3 e8 00 00 8a 07 0a c0 75 14 e8 00 00 f6 c4 01 74 0f a8 20 74 0b ..t.X.............u.......t...t.
22e0 e8 00 00 e8 00 00 88 07 e9 00 00 e9 00 00 e8 00 00 a8 20 74 f6 f6 c4 20 74 f1 eb bc b4 03 e8 00 ...................t....t.......
2300 00 cd 14 c3 e8 00 00 c6 07 00 eb ac e3 aa 26 8a 05 47 b4 01 e8 00 00 f6 c4 80 74 05 b0 0a e9 00 ..............&..G........t.....
2320 00 e2 eb eb 93 e8 00 00 8b da 81 c3 00 00 c3 00 00 70 00 00 80 00 00 00 00 50 52 4e 20 20 20 20 .................p.......PRN....
2340 20 00 00 70 00 00 80 00 00 00 00 4c 50 54 31 20 20 20 20 00 00 70 00 00 80 00 00 00 00 4c 50 54 ...p.......LPT1......p.......LPT
2360 32 20 20 20 20 00 00 70 00 00 80 00 00 00 00 4c 50 54 33 20 20 20 20 00 e3 1e 26 8a 05 47 2e c6 2......p.......LPT3.......&..G..
2380 06 00 00 00 32 e4 e8 00 00 74 0b 2e 80 36 00 00 01 75 f1 e9 00 00 e2 e2 e9 00 00 e8 00 00 75 f3 ....2....t...6...u............u.
23a0 f6 c4 80 75 f3 e9 00 00 b4 02 e8 00 00 cd 17 b0 02 f6 c4 01 75 10 b0 0a f6 c4 08 74 09 f6 c4 20 ...u................u......t....
23c0 74 02 b0 09 0a c0 c3 00 00 70 00 08 80 00 00 00 00 43 4c 4f 43 4b 24 20 20 00 00 53 26 8b 05 2e t........p.......CLOCK$....S&...
23e0 a3 00 00 26 8b 4d 02 b0 3c f6 e5 b5 00 03 c1 b9 60 ea f7 e1 8b f0 8b da 26 8a 45 05 b9 64 00 f6 ...&.M..<.......`.......&.E..d..
2400 e1 26 8a 4d 04 03 c1 b1 0a f7 e1 03 c6 2e a3 00 00 83 d3 00 2e 89 1e 00 00 5b e9 00 00 53 2e a1 .&.M.....................[...S..
2420 00 00 ab 2e 8b 16 00 00 2e a1 00 00 b9 60 ea f7 f1 8b da 33 d2 b9 3c 00 f7 f1 92 aa 92 aa 8b c3 .............`.....3..<.........
2440 33 d2 b9 e8 03 f7 f1 93 8b c2 33 d2 b9 0a 00 f7 f1 aa 93 aa 5b 05 01 00 09 02 01 02 03 04 05 06 3.........3.........[...........
2460 07 08 09 01 80 08 00 06 49 42 4d 42 49 4f c0 96 20 00 00 08 42 49 4f 53 49 4e 49 54 07 42 49 4f ........IBMBIO......BIOSINIT.BIO
2480 53 53 45 47 04 43 4f 44 45 07 52 4f 4d 44 41 54 41 a0 98 07 00 28 f1 03 04 04 01 3c 98 0a 00 00 SSEG.CODE.ROMDATA....(.....<....
24a0 40 00 3f 41 00 05 01 01 97 98 07 00 68 de 05 02 04 01 0f 9a 06 00 03 ff 01 ff 03 5b 8c 8b 00 06 @.?A........h..............[....
24c0 43 4f 4e 44 45 56 00 14 43 55 52 52 45 4e 54 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 00 0d 44 45 CONDEV..CURRENT_DOS_LOCATION..DE
24e0 46 41 55 4c 54 5f 44 52 49 56 45 00 0b 44 45 56 49 43 45 5f 4c 49 53 54 00 09 44 49 53 4b 5f 49 FAULT_DRIVE..DEVICE_LIST..DISK_I
2500 4e 49 54 00 12 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 00 0c 46 4c 4f 50 50 59 44 NIT..FINAL_DOS_LOCATION..FLOPPYD
2520 45 56 49 43 45 00 0b 46 4c 4f 50 50 59 54 49 4d 45 52 00 0b 4d 45 4d 4f 52 59 5f 53 49 5a 45 00 EVICE..FLOPPYTIMER..MEMORY_SIZE.
2540 07 53 59 53 49 4e 49 54 00 bb a0 07 00 01 00 00 e9 00 00 6f 9c 08 00 84 01 10 01 03 ed 02 d4 a2 .SYSINIT...........o............
2560 0e 00 01 03 00 14 00 01 00 01 00 00 00 01 00 35 a0 de 03 01 17 00 00 00 00 00 00 00 00 00 00 00 ...............5................
2580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25e0 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff cb 56 50 32 c0 eb 04 56 50 b0 01 be 00 00 eb 1a .................VP2...VP.......
2600 56 50 32 c0 eb 0a 56 50 b0 01 eb 04 56 50 b0 02 be 00 00 eb 05 56 be 00 00 50 51 52 57 55 1e 06 VP2...VP....VP.......V...PQRWU..
2620 53 2e a2 00 00 8c c0 8e d8 8a 47 02 32 e4 03 f0 03 f0 3c 12 77 16 8a 47 01 8a 67 0d 8b 4f 12 8b S.........G.2.....<.w..G..g..O..
2640 57 14 c4 7f 0e 2e ff 24 b4 03 eb 10 b0 03 29 4f 12 b4 81 eb 07 33 c0 89 47 12 b4 01 5b 07 26 89 W......$......)O.....3..G...[.&.
2660 47 03 1f 5d 01 5f 5a 59 58 5e cb b4 00 89 4f 12 89 7f 0e eb e8 2e 8a 16 00 00 32 f6 c3 00 00 70 G..]._ZYX^....O...........2....p
2680 00 00 80 00 00 00 00 41 55 58 20 20 20 20 20 00 00 70 00 00 80 00 00 00 00 43 4f 4d 31 20 20 20 .......AUX.......p.......COM1...
26a0 20 ff ff 70 00 00 80 00 00 00 00 43 4f 4d 32 20 20 20 20 00 00 e3 11 e8 00 00 33 c0 86 07 0a c0 ...p.......COM2...........3.....
26c0 75 03 e8 00 00 aa e2 fa eb 91 b4 02 e8 00 00 f6 c4 0e 74 06 58 b0 0b e9 00 00 c3 e8 00 00 8a 07 u.................t.X...........
26e0 0a c0 75 14 e8 00 00 f6 c4 01 74 0f a8 20 74 0b e8 00 00 e8 00 00 88 07 e9 00 00 e9 00 00 e8 00 ..u.......t...t.................
2700 00 a8 20 74 f6 f6 c4 20 74 f1 eb bc b4 03 e8 00 00 cd 14 c3 e8 00 00 c6 07 00 eb ac e3 aa 26 8a ...t....t.....................&.
2720 05 47 b4 01 e8 00 00 f6 c4 80 74 05 b0 0a e9 00 00 e2 eb eb 93 e8 00 00 8b da 81 c3 00 00 c3 00 .G........t.....................
2740 00 70 00 00 80 00 00 00 00 50 52 4e 20 20 20 20 20 00 00 70 00 00 80 00 00 00 00 4c 50 54 31 20 .p.......PRN.......p.......LPT1.
2760 20 20 20 00 00 70 00 00 80 00 00 00 00 4c 50 54 32 20 20 20 20 00 00 70 00 00 80 00 00 00 00 4c .....p.......LPT2......p.......L
2780 50 54 33 20 20 20 20 00 e3 1e 26 8a 05 47 2e c6 06 00 00 00 32 e4 e8 00 00 74 0b 2e 80 36 00 00 PT3.......&..G......2....t...6..
27a0 01 75 f1 e9 00 00 e2 e2 e9 00 00 e8 00 00 75 f3 f6 c4 80 75 f3 e9 00 00 b4 02 e8 00 00 cd 17 b0 .u............u....u............
27c0 02 f6 c4 01 75 10 b0 0a f6 c4 08 74 09 f6 c4 20 74 02 b0 09 0a c0 c3 00 00 70 00 08 80 00 00 00 ....u......t....t........p......
27e0 00 43 4c 4f 43 4b 24 20 20 00 00 53 26 8b 05 2e a3 00 00 26 8b 4d 02 b0 3c f6 e5 b5 00 03 c1 b9 .CLOCK$....S&......&.M..<.......
2800 60 ea f7 e1 8b f0 8b da 26 8a 45 05 b9 64 00 f6 e1 26 8a 4d 04 03 c1 b1 0a f7 e1 03 c6 2e a3 00 `.......&.E..d...&.M............
2820 00 83 d3 00 2e 89 1e 00 00 5b e9 00 00 53 2e a1 00 00 ab 2e 8b 16 00 00 2e a1 00 00 b9 60 ea f7 .........[...S...............`..
2840 f1 8b da 33 d2 b9 3c 00 f7 f1 92 aa 92 aa 8b c3 33 d2 b9 e8 03 f7 f1 93 8b c2 33 d2 b9 0a 00 f7 ...3..<.........3.........3.....
2860 f1 aa 93 aa 5b 01 e9 00 00 00 00 00 00 00 37 32 50 2e ff 06 00 00 75 05 2e ff 06 00 00 2e 81 3e ....[.........72P.....u........>
2880 00 00 26 05 75 18 2e 81 3e 00 00 00 5c 75 0f 2e ff 06 00 00 33 c0 2e a3 00 00 2e a3 00 00 b0 36 ..&.u...>...\u......3..........6
28a0 e6 43 b0 a9 e6 40 b0 04 e6 40 b0 20 e6 20 2e fe 0e 00 00 75 21 2e c6 06 00 00 32 58 cd 32 2e 83 .C...@...@.........u!.....2X.2..
28c0 3e 00 00 00 74 0f 2b d2 b8 32 00 2e ff 1e 00 00 9a 00 00 00 00 cf 58 cf 0a e4 74 05 fe cc 74 17 >...t.+..2............X...t...t.
28e0 cf 2e a1 00 00 33 d2 b9 37 00 f7 f1 50 2e a1 00 00 f7 f1 59 32 c0 cf 8b c2 53 bb 37 00 f7 e3 2e .....3..7...P......Y2....S.7....
2900 a3 00 00 8b c1 8b ca f7 e3 5b 03 c1 2e a3 00 00 cf 0d 0a 45 72 72 6f 72 20 2d 20 49 6e 74 65 72 .........[.........Error.-.Inter
2920 72 75 70 74 20 31 32 0d 0a 00 00 00 00 00 50 53 56 1e 0e 1f be 00 00 e8 00 00 1f 5e 5b 58 2e ff rupt.12.......PSV..........^[X..
2940 2e 00 00 ac 24 7f 74 09 bb 07 00 b4 0e cd 10 eb f2 c3 d6 9c a7 03 c4 00 00 01 01 fb 00 c4 02 00 ....$.t.........................
2960 01 01 fb 00 c4 04 00 01 01 fb 00 c4 06 00 01 01 ed 00 c4 08 00 01 01 55 01 c4 0a 00 01 01 7b 01 .......................U......{.
2980 c4 0c 00 01 01 fb 00 c4 0e 00 01 01 b4 01 c4 10 00 01 01 bc 01 c4 12 00 01 01 bc 01 c4 14 00 01 ................................
29a0 01 9e 01 c4 16 00 01 01 ed 00 c4 18 00 01 01 ed 00 c4 1a 00 01 01 ed 00 c4 1c 00 01 01 ed 00 c4 ................................
29c0 1e 00 01 01 ed 00 c4 20 00 01 01 ed 00 c4 22 00 01 01 ed 00 c4 24 00 01 01 ed 00 c4 26 00 01 01 .............."......$......&...
29e0 ed 00 c4 28 00 01 01 ed 00 c4 2a 00 01 01 ed 00 c4 2c 00 01 01 fb 00 c4 2e 00 01 01 fb 00 c4 30 ...(......*......,.............0
2a00 00 01 01 fb 00 c4 32 00 01 01 ed 00 c4 34 00 01 01 cd 02 c4 36 00 01 01 e9 00 c4 38 00 01 01 fb ......2......4......6......8....
2a20 00 c4 3a 00 01 01 fb 00 c4 3c 00 01 01 8b 02 c4 3e 00 01 01 8b 02 c4 40 00 01 01 fb 00 c4 42 00 ..:......<......>......@......B.
2a40 01 01 fb 00 c4 44 00 01 01 fb 00 c4 46 00 01 01 ed 00 c4 48 00 01 01 f6 00 c4 4a 00 01 01 e9 00 .....D......F......H......J.....
2a60 c4 4c 00 01 01 fb 01 00 c4 4e 00 01 01 fb 00 c4 50 00 01 01 28 02 c4 52 00 01 01 28 02 c4 54 00 .L.......N......P...(..R...(..T.
2a80 01 01 4b 02 c4 56 00 01 01 fb 00 c4 58 00 01 01 ed 00 c4 5a 00 01 01 ed 00 c4 5c 00 01 01 ed 00 ..K..V......X......Z......\.....
2aa0 c4 5e 00 01 01 ed 00 c4 60 00 01 01 ed 00 c4 62 00 01 01 ed 00 c4 64 00 01 01 ed 00 c4 66 00 01 .^......`......b......d......f..
2ac0 01 ed 00 c4 68 00 01 01 ed 00 c4 6a 00 01 01 ed 00 c4 86 00 01 01 17 00 c4 9b 00 01 01 57 00 c4 ....h......j.................W..
2ae0 a1 00 01 01 43 00 c4 ad 10 01 01 83 00 c5 01 10 01 01 83 00 c5 06 00 01 01 df 01 c5 0c 00 01 01 ....C...........................
2b00 91 00 c5 0e 00 01 01 92 00 c5 18 00 01 01 f1 01 c5 1e 00 01 01 91 00 c5 20 00 01 01 92 00 c5 30 ...............................0
2b20 00 01 01 91 00 c5 32 00 01 01 98 00 85 41 10 01 01 d5 01 85 4c 10 01 01 6a 01 85 56 10 01 01 ae ......2......A......L...j..V....
2b40 01 85 61 10 01 01 ef 00 85 65 10 01 01 d5 01 85 6e 10 01 01 ac 01 85 7a 10 01 01 6a 01 85 7d 10 ..a......e......n......z...j..}.
2b60 01 01 d5 01 85 82 10 01 01 fb 00 85 85 10 01 01 e9 00 85 88 10 01 01 ac 01 85 98 10 01 01 15 01 ................................
2b80 85 9e 10 01 01 d5 01 85 ae 10 01 01 ae 01 85 b8 10 01 01 ef 00 85 bf 10 01 01 15 01 c5 c5 00 01 ................................
2ba0 01 53 01 c5 c8 00 01 01 77 02 c5 ce 00 01 01 91 00 c5 d0 00 01 01 a1 00 c5 da 00 01 01 03 02 c5 .S......w.......................
2bc0 e0 00 01 01 91 00 c5 e2 00 01 01 a1 00 c5 ec 00 01 01 15 02 c5 f2 00 01 01 91 00 c5 f4 00 01 01 ................................
2be0 a7 00 c5 fe 00 01 01 41 01 c6 04 00 01 01 91 00 c6 06 00 01 01 ad 00 c6 1a 10 01 01 27 02 86 20 .......A....................'...
2c00 10 01 01 5a 02 c6 27 10 01 01 27 02 86 2d 10 01 01 ef 00 86 32 10 01 01 fb 00 86 35 10 01 01 58 ...Z..'...'..-......2......5...X
2c20 02 86 3f 10 01 01 e9 00 86 44 10 01 01 15 01 c6 60 06 01 07 c6 66 00 01 01 91 00 c6 68 00 01 01 ..?......D......`....f......h...
2c40 b6 00 c6 7a 10 01 01 89 02 c6 a8 10 01 01 08 03 c6 b0 10 01 01 0a 03 86 b4 10 01 01 fb 00 c6 b9 ...z............................
2c60 10 01 01 89 02 c6 bf 01 10 01 01 0a 03 c6 c3 10 01 01 08 03 86 ef 10 01 01 fb 00 c6 fc 10 01 01 ................................
2c80 08 03 c7 03 10 01 01 0a 03 c7 08 10 01 01 0a 03 c7 11 10 01 01 08 03 c7 1a 10 01 01 89 02 c7 20 ................................
2ca0 10 01 01 0a 03 c7 24 10 01 01 08 03 c7 39 10 01 01 0e 03 c7 40 10 01 01 0e 03 c7 49 10 01 01 86 ......$......9......@......I....
2cc0 00 c7 56 10 01 01 84 00 cf 59 06 01 08 c7 6b 10 01 01 0a 03 c7 77 10 01 01 08 03 c7 89 10 01 01 ..V......Y....k......w..........
2ce0 08 03 c7 96 10 01 01 0a 03 c7 bd 10 01 01 b0 03 87 c0 10 01 01 e2 03 c7 c9 10 01 01 c9 03 25 a0 ..............................%.
2d00 00 04 03 00 00 04 02 00 00 00 00 00 63 00 00 00 00 00 80 40 10 08 04 03 00 02 06 04 04 08 00 0c ............c......@............
2d20 00 00 50 51 52 53 8a cc 80 e1 f8 80 f9 f8 74 02 b4 fe bf 00 00 2e 3a 06 00 00 74 4a 72 05 bf 00 ..PQRS........t.......:...tJr...
2d40 00 eb 43 b0 01 bb 08 40 b9 40 01 ba 01 01 bf 00 00 f6 c4 02 75 07 fe c0 fe c3 83 c1 28 f6 c4 01 ..C....@.@..........u.......(...
2d60 74 08 03 c9 b7 70 fe c6 fe c2 2e 88 75 02 2e 88 7d 06 2e 89 4d 08 2e 88 65 0a 2e 88 45 0b 2e 88 t....p......u...}...M...e...E...
2d80 5d 0d 2e 88 55 0f 5b 5a 59 58 c3 00 02 01 01 00 02 40 00 68 01 fc 02 00 09 00 01 00 00 00 2e c6 ]...U.[ZYX.......@.h............
2da0 06 00 00 02 f8 e3 1f 2e a2 00 00 2e 89 26 00 00 87 df e8 00 00 8b f2 03 f1 2e 03 55 11 2e 3b 75 .............&.............U..;u
2dc0 08 76 04 b0 08 f9 c3 2e 3a 06 00 00 72 0a 2e a0 00 00 74 0f fe c0 eb 0b 2e 80 3e 00 00 01 75 03 .v......:...r.....t.......>...u.
2de0 e8 00 00 2e a2 00 00 2e 89 0e 00 00 92 33 d2 2e f7 75 0d fe c2 2e 88 16 00 00 2e 8b 4d 0f 33 d2 .............3...u..........M.3.
2e00 f7 f1 2e 88 16 00 00 2e a3 00 00 2e a1 00 00 8c c6 d1 e6 d1 e6 d1 e6 d1 e6 03 f3 81 c6 ff 01 72 ...............................r
2e20 1b 87 de d0 ef b4 80 2a e7 87 de 3a e0 76 02 8a e0 50 8a c4 e8 00 00 58 2a c4 74 1a 50 06 53 e8 .......*...:.v...P.....X*.t.P.S.
2e40 00 00 80 c7 02 e8 00 00 5b 07 58 e8 00 00 fe c8 80 c7 02 e8 00 00 f8 c3 57 53 50 8b fb 80 c7 02 ........[.X.............WSP.....
2e60 8b f3 fc b9 00 01 26 8b 01 1d 26 8b 04 26 89 1c ab 46 46 e2 f2 2e 80 36 00 00 01 58 5b 5f c3 0a ......&...&..&...FF....6...X[_..
2e80 c0 74 fb 2e 8a 65 0d fe c4 2e 2a 26 00 00 3a e0 76 02 8a e0 50 8a c4 e8 00 00 58 2a c4 d0 e4 02 .t...e....*&..:.v...P.....X*....
2ea0 fc eb dc b0 01 be 05 00 2e 8a 26 00 00 50 2e 8b 16 00 00 b1 06 d2 e6 2e 0a 36 00 00 8b ca 86 e9 ..........&..P...........6......
2ec0 2e 8b 16 00 00 cd 13 72 49 58 50 2e 81 3e 00 00 03 01 75 06 b4 04 cd 13 72 38 58 80 e1 3f 32 e4 .......rIXP..>....u.....r8X..?2.
2ee0 2e 29 06 00 00 02 c8 2e 88 0e 00 00 2e 3a 4d 0d 76 1f 2e c6 06 00 00 01 2e 8a 36 00 00 fe c6 2e .)...........:M.v.........6.....
2f00 3a 75 0f 72 07 32 f6 2e ff 06 00 00 2e 88 36 00 00 c3 50 b4 00 cd 13 58 4e 74 08 80 fc 80 74 03 :u.r.2........6...P....XNt....t.
2f20 58 eb 8a 2e 80 3e 00 00 00 74 06 5b 5b 07 e8 00 00 0e 07 8a c4 2e a2 00 00 b9 07 00 bf 00 00 f2 X....>...t.[[...................
2f40 ae 26 8a 45 06 2e 8b 0e 00 00 2e 8b 26 00 00 f9 c3 00 00 00 00 00 00 00 00 00 00 00 00 1e 33 f6 .&.E........&.................3.
2f60 8e de 8a e0 86 26 04 05 3a c4 74 14 04 41 2e a2 00 00 0e 1f be 00 00 53 e8 00 00 32 e4 cd 16 5b .....&..:.t..A.........S...2...[
2f80 1f 32 c0 c3 0d 0a 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 65 20 66 6f 72 20 64 72 69 76 65 20 .2....Insert.diskette.for.drive.
2fa0 41 3a 20 61 6e 64 20 73 74 72 69 6b 65 0d 0a 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 A:.and.strike..any.key.when.read
2fc0 79 0d 0a 0a 00 00 80 00 02 01 01 00 02 10 00 00 00 f8 01 00 00 00 00 00 00 00 00 02 00 01 00 02 y...............................
2fe0 00 00 00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ba 00 10 8e d2 bc 00 7c fb 51 2e 89 1e ..........................|.Q...
3000 00 00 50 b0 20 e6 20 be 00 00 e8 00 00 be 00 00 e8 00 00 be 00 00 e8 00 00 be 00 00 e8 00 00 be ..P.............................
3020 00 00 e8 00 00 33 d2 8e da 8e c2 8c c8 c7 06 78 00 22 05 8c 06 7a 00 bf 04 00 bb 00 00 93 ab 93 .....3.........x."...z..........
3040 ab 83 c7 04 93 ab 93 ab 93 ab 93 ab fa 83 c7 0c b9 00 00 91 ab 91 ab 83 c7 04 93 ab 93 ab 93 ab ................................
3060 93 ab 83 c7 18 8b 0d 2e 89 01 0e 00 00 8b 4d 02 2e 89 0e 00 00 b9 00 00 91 ab 91 ab 83 c7 08 fb ..............M.................
3080 93 ab 93 ab 83 c7 10 b9 00 00 91 ab 91 ab 83 c7 5c 93 ab 93 ab 89 16 00 05 89 16 04 05 bf 22 05 ................\.............".
30a0 b8 df 02 ab b8 25 02 ab b8 09 2a ab b8 ff 50 ab b8 f6 00 ab b0 02 aa 9c 2e ff 1e 00 00 b1 06 d3 .....%....*...P.................
30c0 e0 59 2e 89 0e 00 00 ba 00 00 8e da a3 00 00 fe c1 88 0e 00 00 81 c2 00 01 89 16 00 00 c7 06 00 .Y..............................
30e0 00 00 00 c7 06 00 00 00 00 8c c8 a3 00 00 0e 0e 1f 07 cd 11 24 c0 75 04 fe 06 00 00 58 a2 00 00 ....................$.u.....X...
3100 a2 00 00 11 9c 34 02 c4 2e 10 01 03 c1 02 c4 33 10 01 03 07 00 c4 3a 10 01 03 d4 02 c4 4a 10 01 .....4.........3......:......J..
3120 03 86 00 c4 9c 10 01 03 01 00 c4 a4 10 01 01 8c 00 c4 a9 10 01 03 1b 00 84 ae 10 01 03 1d 00 c4 ................................
3140 c5 10 01 03 07 00 c4 cb 10 01 03 c0 02 c4 d6 10 01 03 03 00 84 dc 10 01 03 57 02 c4 e0 10 01 03 .........................W......
3160 08 00 c4 e5 10 01 03 05 00 c4 f3 10 01 03 0a 00 c5 00 10 01 03 09 00 c5 04 10 01 03 0b 00 c5 08 ................................
3180 10 01 03 05 00 85 30 10 01 03 79 01 85 3b 10 01 03 53 01 85 41 10 01 03 9d 01 85 47 10 01 03 53 ......0...y..;...S..A......G...S
31a0 01 85 4f 10 01 03 79 01 c5 72 10 01 03 04 00 c5 86 10 01 03 0a 00 85 92 10 01 03 9f 01 c5 a5 10 ..O...y..r......................
31c0 01 03 01 00 c5 ab 10 01 03 0b 00 c5 b4 10 01 03 0a 00 c5 bd 10 01 03 08 00 c5 c8 10 01 03 01 00 ................................
31e0 c5 dd 10 01 03 05 00 c5 e4 10 01 03 0a 00 c5 ef 10 01 03 0a 00 c5 f5 10 01 03 09 00 c6 04 10 01 ................................
3200 03 0b 00 c6 09 10 01 03 09 00 c6 20 10 01 03 04 00 86 29 10 01 03 53 01 c6 31 10 01 03 13 00 c6 ..................)...S..1......
3220 37 10 01 03 0d 00 c6 42 10 01 03 05 00 c6 47 10 01 03 1b 00 c6 4b 00 03 03 86 00 c6 4d 00 03 03 7......B......G......K......M...
3240 86 00 c6 4f 00 03 03 86 00 c6 51 00 03 03 86 00 c6 53 00 03 03 c1 02 c6 55 00 03 03 d4 02 c6 6a ...O......Q......S......U......j
3260 10 01 03 9a 02 c6 6f 10 01 03 01 7e 02 86 73 10 01 01 e2 03 c6 fa 10 01 03 e9 02 c7 02 00 01 01 ......o....~..s.................
3280 15 02 87 05 10 01 03 c0 05 c7 08 00 01 01 03 02 87 0b 10 01 03 c0 05 c7 0e 00 01 01 f1 01 87 11 ................................
32a0 10 01 03 c0 05 c7 14 00 01 01 41 01 87 17 10 01 03 c6 05 c7 1a 00 01 01 2f 01 87 1d 10 01 03 c6 ..........A............./.......
32c0 05 c7 35 00 01 01 76 03 c7 4b 00 01 01 0f 03 c7 64 10 01 01 c9 03 c7 6c 10 01 01 cb 03 c7 6f 00 ..5...v..K......d......l......o.
32e0 01 01 cd 03 c7 81 00 01 01 77 03 c7 b4 10 01 01 c9 03 c7 be 10 01 03 e7 02 cb c1 26 0a 0a c7 c6 .........w.................&....
3300 26 09 09 c7 cc 26 03 03 c7 d4 26 02 02 c7 d8 26 06 06 cb da 04 03 03 c7 de 26 04 04 c7 e0 06 01 &....&....&....&.........&......
3320 01 c7 e5 22 04 04 02 00 c7 f3 10 01 03 03 00 c7 f7 10 01 03 07 00 c7 fa 14 01 03 bb a0 e6 01 03 ..."............................
3340 fc 03 b4 08 b2 80 cd 13 72 04 88 16 00 00 b2 80 bf 00 00 80 3e 00 00 00 7e 41 e8 00 00 b2 81 bf ........r...........>...~A......
3360 00 00 72 09 80 3e 00 00 02 74 14 eb 1b 88 16 00 00 bf 00 00 fe 0e 00 00 80 3e 00 00 00 74 1c e8 ..r..>...t...............>...t..
3380 00 00 73 04 fe 0e 00 00 a0 00 00 0a c0 74 0c 02 06 00 00 a2 00 00 a0 00 00 eb 07 80 3e 00 00 01 ..s..........t..............>...
33a0 eb 02 fe c8 0e 1f e8 00 00 33 ff 26 8a 05 a2 00 00 a1 00 00 e8 00 00 8a 4d 02 8b 45 11 29 06 00 .........3.&............M..E.)..
33c0 00 32 ed 1e 33 ff 8e df 8b 1e 3a 05 1f b8 00 00 05 00 01 8e c0 e8 00 00 81 fb ff 0f 75 ef e8 00 .2..3.....:.................u...
33e0 00 ea 00 00 00 00 33 ff b9 01 00 8b d1 b8 c0 17 8e c0 a0 00 00 b4 fc e9 00 00 b9 01 00 b8 01 02 ......3.........................
3400 bb c0 17 8e c3 33 db 8a f7 cd 13 72 34 26 81 3e fe 01 55 aa 75 2b c3 52 b4 08 cd 13 fe c6 88 75 .....3.....r4&.>..U.u+.R.......u
3420 0f 5a 72 1d 80 e1 3f 88 4d 0d e8 00 00 72 12 bb c2 01 26 80 3f 01 74 0b 83 c3 10 81 fb 02 02 75 .Zr...?.M....r....&.?.t........u
3440 f1 f9 c3 26 8b 47 04 89 45 11 26 8b 47 08 3d 40 00 72 ee 89 45 08 b9 00 01 ba 40 00 3d 00 02 76 ...&.G..E.&.G.=@.r..E.....@.=..v
3460 29 02 ed fe c1 ba 70 00 3d 00 08 01 76 1d 02 ed fe c1 ba 00 01 3d 00 20 76 11 02 ed fe c1 03 d2 ).....p.=...v........=..v.......
3480 3d a8 7f 76 06 02 ed fe c1 03 d2 89 55 06 88 6d 02 33 db 8a dd 4b 03 d8 d3 eb 43 80 e3 fe 8b f3 =..v........U..m.3...K....C.....
34a0 d1 eb 03 de 81 c3 ff 01 d0 ef 88 7d 0b f8 c3 51 57 89 0e 00 00 8b c3 48 48 f7 e1 03 06 00 00 8b ...........}...QW......HH.......
34c0 d0 e8 00 00 2b f3 83 fe ff 75 06 01 0e 00 00 eb f0 53 a1 00 00 8b 0e 00 00 e8 00 00 5b 5f a1 00 ....+....u.......S..........[_..
34e0 00 86 e0 d1 e0 03 f8 59 c3 1e 53 be c0 17 8e de 8b f3 d1 ee 8b 18 73 08 d1 eb d1 eb d1 eb d1 eb .......Y..S...........s.........
3500 81 e3 ff 0f 5e 1f c3 b7 01 b2 17 eb 05 bb a3 00 b2 14 2e 88 16 00 00 2e 8a 44 0d 2c 31 98 8b d0 ....^....................D.,1...
3520 8b c3 cd 17 c3 7e 9c 03 01 c4 0a 10 01 03 bf 02 c4 0f 10 01 03 c1 02 c4 13 10 01 03 bf 02 84 19 .....~..........................
3540 10 01 03 d1 04 c4 1e 10 01 03 d4 02 c4 24 10 01 03 bf 02 c4 2d 10 01 03 c0 02 c4 30 10 01 03 c1 .............$......-......0....
3560 02 c4 34 10 01 03 bf 02 c4 38 10 01 03 bf 02 84 3e 10 01 03 d1 04 c4 44 10 01 03 bf 02 c4 47 10 ..4......8......>......D......G.
3580 01 03 bf 02 c4 4f 10 01 03 07 00 c4 52 14 01 03 c4 55 10 01 03 bf 02 c4 5b 10 01 03 03 00 84 65 .....O......R....U......[......e
35a0 10 01 03 a0 04 c4 6d 10 01 03 e8 02 c4 70 10 01 03 e7 02 84 73 10 01 03 1d 00 c4 7d 10 01 03 e9 ......m......p......s......}....
35c0 02 c8 8c 26 0a 0a 84 94 10 01 03 68 05 84 9d 16 01 05 cc a0 26 0a 0a c4 b1 10 01 03 e7 02 84 b6 ...&.......h........&...........
35e0 10 01 03 99 00 84 e9 10 01 03 b4 04 c5 70 10 01 03 eb 02 c5 7a 10 01 03 e9 02 85 7f 10 01 03 a2 .............p......z...........
3600 05 c5 8a 10 01 03 eb 02 c5 90 10 01 03 e7 02 c5 94 10 01 03 eb 02 85 97 10 01 03 99 00 c5 9c 10 ................................
3620 01 03 eb 02 c5 d2 10 01 03 dc 05 55 90 0d 00 00 01 06 41 55 58 44 45 56 1d 01 00 71 90 0e 00 00 ...........U......AUXDEV...q....
3640 01 07 42 55 47 42 49 54 53 8f 00 00 bb 90 0d 00 01 01 06 43 4d 44 45 52 52 ed 00 00 b1 90 0e 00 ..BUGBITS..........CMDERR.......
3660 00 01 07 43 4f 4d 31 44 45 56 2f 01 05 01 01 09 02 01 02 03 04 05 06 07 08 09 01 00 3b 90 12 00 ...COM1DEV/.................;...
3680 00 01 0b 44 4f 53 46 55 4e 43 54 49 4f 4e 84 00 00 82 90 10 00 01 01 09 49 4e 54 45 52 52 55 50 ...DOSFUNCTION..........INTERRUP
36a0 54 ba 00 00 ce 90 10 00 01 01 09 53 45 54 53 54 41 54 55 53 fd 00 00 88 90 15 00 01 01 0e 53 54 T..........SETSTATUS..........ST
36c0 41 54 55 53 43 4f 4d 50 4c 45 54 45 fb 00 00 13 90 15 00 01 01 0e 53 54 41 54 55 53 44 45 56 52 ATUSCOMPLETE..........STATUSDEVR
36e0 45 41 44 59 e9 00 00 2a 90 12 00 01 01 0b 53 54 41 54 55 53 45 52 52 4f 52 f2 00 00 f1 90 0f 00 EADY...*......STATUSERROR.......
3700 01 01 08 54 49 4d 24 52 45 41 44 cd 02 00 5e 8a 02 00 00 74 5b bd e5 5b bf 05 5c c1 25 5c c3 45 ...TIM$READ...^....t[..[..\.%\.E
3720 5c c5 65 5c c7 85 5c c9 a5 5c cb c5 5c cd e5 5c cf 05 5d d1 f5 ff d3 45 5d d5 65 5d d7 f5 ff d9 \.e\..\..\..\..\..]....E].e]....
3740 a5 5d db c5 5d dd e5 5d df 05 5e e1 25 5e e3 45 5e e5 65 5e e7 85 5e e9 a5 5e eb c5 5e ed e5 5e .]..]..]..^.%^.E^.e^..^..^..^..^
3760 ef 05 5f f1 25 5f f3 45 5f f5 65 5f f7 f5 ff ff af 5f fb c5 5f fd e5 5f ff 05 60 ff 2f 60 03 46 .._.%_.E_.e_....._.._.._..`./`.F
3780 60 05 f6 ff 07 86 60 09 a6 60 0b c6 60 0d e6 60 0f 06 61 ff ff ff 13 46 61 15 66 61 17 86 61 19 `.....`..`..`..`..a....Fa.fa..a.
37a0 a6 61 1b c6 61 1d e6 61 1f 06 62 21 26 62 23 46 62 25 66 62 27 86 62 29 a6 62 2b c6 62 2d e6 62 .a..a..a..b!&b#Fb%fb'.b).b+.b-.b
37c0 2f 06 63 31 26 63 33 46 63 35 66 63 37 86 63 39 a6 63 3b c6 63 3d e6 63 3f 06 64 41 26 64 43 46 /.c1&c3Fc5fc7.c9.c;.c=.c?.dA&dCF
37e0 64 45 66 64 47 86 64 49 a6 64 4b c6 64 4d e6 64 4f 06 65 ff ff ff 53 46 65 55 66 65 57 86 65 59 dEfdG.dI.dK.dM.dO.e...SFeUfeW.eY
3800 f6 ff 5b c6 65 5d f6 ff 5f 06 66 61 26 66 63 46 66 65 f6 ff 67 f6 ff 69 a6 66 6b c6 66 6d e6 66 ..[.e].._.fa&fcFfe..g..i.fk.fm.f
3820 6f 06 67 71 26 67 73 46 67 75 66 67 77 86 67 79 a6 67 7b c6 67 7d e6 67 7f 06 68 81 26 68 83 46 o.gq&gsFgufgw.gy.g{.g}.g..h.&h.F
3840 68 85 66 68 87 86 68 89 a6 68 8b c6 68 8d e6 68 8f 06 69 ff ff ff ff 4f 69 95 66 69 97 86 69 99 h.fh..h..h..h..h..i....Oi.fi..i.
3860 a6 69 9b c6 69 9d e6 69 9f 06 6a a1 26 6a ff 4f 6a a5 66 6a a7 86 6a a9 a6 6a ab 01 80 07 00 05 .i..i..i..j.&j.Oj.fj..j..j......
3880 4d 54 43 4f 4e f3 96 2f 00 00 08 42 49 4f 53 49 4e 49 54 07 42 49 4f 53 53 45 47 04 43 4f 44 45 MTCON../...BIOSINIT.BIOSSEG.CODE
38a0 07 43 4f 4c 4f 52 53 43 06 4d 4f 4e 4f 53 43 07 52 4f 4d 44 41 54 41 a0 98 0a 00 00 40 00 67 67 .COLORSC.MONOSC.ROMDATA.....@.gg
38c0 00 07 01 01 47 98 0a 00 00 00 b0 00 00 00 06 01 01 a6 98 0a 00 00 00 b8 00 00 00 05 01 01 9f 98 ....G...........................
38e0 07 00 28 8f 0b 04 04 01 96 98 07 00 68 2f 00 02 04 01 c3 9a 06 00 03 ff 04 ff 05 56 8c 56 00 06 ..(.........h/.............V.V..
3900 41 55 58 44 45 56 00 06 43 4d 44 45 52 52 00 0b 44 4f 53 46 55 4e 43 54 49 4f 4e 00 09 49 4e 54 AUXDEV..CMDERR..DOSFUNCTION..INT
3920 45 52 52 55 50 54 00 0e 53 54 41 54 55 53 43 4f 4d 50 4c 45 54 45 00 0e 53 54 41 54 55 53 44 45 ERRUPT..STATUSCOMPLETE..STATUSDE
3940 56 52 45 41 44 59 00 0b 53 54 41 54 55 53 45 52 52 4f 52 00 51 a0 08 00 01 1a 00 00 00 00 00 3d VREADY..STATUSERROR.Q..........=
3960 a0 0b 00 01 49 00 00 00 00 00 00 00 00 0b a0 0b 00 01 60 00 00 00 00 00 00 00 00 f4 a0 42 00 04 ....I.............`..........B..
3980 00 00 00 00 00 00 13 c0 00 00 00 00 43 4f 4e 20 20 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 ............CON.................
39a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39c0 c7 9c 8c 00 cc 00 06 04 01 c4 06 00 04 04 8f 02 c4 08 00 04 04 8e 02 c4 12 10 01 04 24 0b c4 14 ............................$...
39e0 06 04 05 c4 16 06 04 05 c4 18 06 04 02 c4 1a 00 04 04 87 03 c4 1c 00 04 04 e0 03 c4 1e 06 04 05 ................................
3a00 c4 20 00 04 04 1c 04 c4 22 00 04 04 53 04 c4 24 00 04 04 53 04 c4 26 06 04 05 c4 28 06 04 05 c4 ........"...S..$...S..&....(....
3a20 2a 06 04 05 c4 2c 06 04 05 c4 2e 06 04 05 c4 30 06 04 05 c4 32 00 04 04 e0 08 c4 34 00 04 04 b8 *....,.........0....2......4....
3a40 0a c4 36 00 04 04 c4 0a c4 3c 00 04 04 3e 00 f2 a2 7d 00 04 3e 00 08 00 10 00 01 00 00 00 01 00 ..6......<...>...}..>...........
3a60 01 00 00 00 02 07 00 01 00 00 00 02 02 00 01 00 00 00 02 49 00 10 00 01 00 01 00 00 01 00 01 00 ...................I............
3a80 01 00 00 00 01 00 01 00 00 00 02 00 00 01 00 00 00 02 00 00 01 00 00 00 02 00 00 08 00 01 00 01 ................................
3aa0 00 00 00 02 00 00 01 00 00 00 02 00 00 01 00 00 00 01 00 01 00 00 00 02 00 00 01 00 00 00 01 00 ................................
3ac0 01 00 00 00 01 00 14 00 01 00 01 00 00 00 01 00 dd a0 39 00 04 86 02 08 08 10 10 40 40 40 10 cb ..................9........@@@..
3ae0 56 be 00 00 e9 00 00 cd 32 fa b8 00 00 8e d8 b8 00 00 a3 00 00 a3 00 00 b8 03 00 ba 05 00 2e ff V.......2.......................
3b00 1e 00 00 74 04 2e a2 00 00 cf 00 00 e2 9c 35 00 c4 0b 00 04 04 12 00 84 0e 06 04 04 c8 14 00 01 ...t..........5.................
3b20 01 67 00 c4 19 00 01 01 1e 00 c4 1c 00 01 01 1a 00 c4 1f 00 01 01 1c 00 c4 2a 06 04 03 c4 30 00 .g.......................*....0.
3b40 04 04 39 00 37 a0 5f 00 04 bd 02 00 cd 32 b8 00 00 8e d8 9c 2e ff 1e 00 00 fa 8b 1e 00 00 3b 1e ..9.7._......2................;.
3b60 00 00 74 3f 4b 4b 81 fb 00 00 73 03 bb 00 00 8b 07 ba 05 00 2e ff 1e 00 00 75 06 89 1e 00 00 eb ..t?KK....s..............u......
3b80 22 fa 2e 80 3e 00 00 00 74 19 50 53 51 52 8c c8 bb 00 00 2e c6 07 00 ba 0a 00 2e ff 1e 00 00 5a "...>...t.PSQR.................Z
3ba0 59 5b 58 cf 00 00 76 9c 4a 00 c8 04 00 01 01 67 00 c4 0c 00 04 04 b9 02 c4 11 00 01 01 1c 00 c4 Y[X...v.J......g................
3bc0 15 00 01 01 1a 00 c4 1d 00 01 01 1e 00 c4 22 00 01 01 3c 00 c4 2c 06 04 03 c4 32 00 01 01 1c 00 .............."...<..,....2.....
3be0 c4 3a 00 04 04 bd 02 c4 46 00 04 04 bd 02 c4 52 06 04 03 7b a0 06 00 04 1a 03 00 00 39 a0 3b 02 .:......F......R...{........9.;.
3c00 04 1e 03 0a e4 74 1d 80 fc 01 74 05 2e ff 2e 00 00 53 1e 2e c5 1e 00 00 f6 07 ff 1f 5b 75 ed 33 .....t....t......S..........[u.3
3c20 c0 ca 02 00 50 53 51 52 1e 2e c5 1e 00 00 8c d8 f6 07 ff 1f 75 0c 33 c9 ba 09 00 2e ff 1e 00 00 ....PSQR............u.3.........
3c40 eb e6 b4 01 9c fa 2e ff 1e 00 00 fa 75 15 8c c8 bb 00 00 2e c6 07 ff 33 c9 ba 09 00 2e ff 1e 00 ............u..........3........
3c60 00 eb c5 5a 59 5b 58 2e ff 2e 00 00 23 c9 75 03 eb 24 90 fc 8b 57 14 83 fa 07 76 05 b0 01 0b e9 ...ZY[X.....#.u..$...W....v.....
3c80 00 00 2e 3b 16 00 00 74 08 e8 00 00 e8 00 00 eb f1 e8 00 00 aa e2 03 e9 00 00 eb e6 33 c0 2e 86 ...;...t....................3...
3ca0 06 00 00 0a c0 75 1e b4 00 9c 9a 00 00 00 00 0b c0 75 02 eb e7 3d 00 72 75 02 b0 10 0a c0 75 05 .....u...........u...=.ru.....u.
3cc0 2e 88 26 00 00 c3 8b 57 14 83 fa 07 76 05 b0 0b e9 00 00 2e 3b 16 00 00 75 25 2e a0 00 00 0a c0 ..&....W....v.......;...u%......
3ce0 75 17 b4 01 cd 16 74 17 0b c0 75 06 b4 00 cd 16 eb d4 3d 00 72 75 02 b0 10 88 47 0d e9 00 00 e9 u.....t...u.......=.ru....G.....
3d00 00 00 8b 57 14 83 fa 07 76 05 b0 0b e9 00 00 2e 3b 16 00 00 74 08 e8 00 00 e8 00 00 eb f1 2e c6 ...W....v.......;...t...........
3d20 06 00 00 00 1e b8 00 00 8e d8 fa b8 00 00 a3 00 00 a3 00 00 fb 1f e9 00 00 e3 3f 8b 57 14 83 fa ..........................?.W...
3d40 07 76 05 b0 0a e9 00 00 0e 1f 8b 1e 00 00 3b 16 00 00 74 08 e8 00 00 e8 00 00 eb f2 80 3f 00 74 .v............;...t..........?.t
3d60 04 8b c3 eb f2 80 3e 00 00 00 74 05 b8 00 00 eb e6 26 8a 05 47 e8 00 00 e2 d4 e9 00 00 41 00 00 ......>...t......&..G........A..
3d80 42 00 00 43 00 00 44 00 00 48 00 00 4a 00 00 4b 00 00 4c 00 00 4d 00 00 66 00 00 68 00 00 6c 00 B..C..D..H..J..K..L..M..f..h..l.
3da0 00 6d 00 00 73 00 00 75 00 00 00 00 00 07 01 ff 08 04 f8 01 05 ff 80 07 f8 70 08 88 00 1e f8 00 .m..s..u.................p......
3dc0 1f f8 04 20 f8 02 21 f8 06 22 f8 01 23 f8 05 24 f8 03 25 f8 07 28 8f 00 29 8f 40 2a 8f 20 2b 8f ......!.."..#..$..%..(..).@*..+.
3de0 60 2c 8f 10 2d 8f 50 2e 8f 30 2f 8f 70 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 `,..-.P..0/.p...................
3e00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 4f 00 00 01 00 00 00 00 00 00 00 00 2a 9c 8f 01 c4 ...............O...........*....
3e40 0c 00 04 04 16 03 c4 13 00 04 04 1a 03 c4 29 00 04 04 1a 03 c4 3b 06 04 03 c4 46 00 04 04 16 03 ..............)......;....F.....
3e60 c4 4e 00 04 04 bd 02 c4 5c 06 04 03 c4 67 00 04 04 16 03 84 7c 06 04 07 c4 81 00 04 04 3a 01 00 .N......\....g......|........:..
3e80 84 86 00 04 04 04 0b 84 89 00 04 04 db 0a 84 8e 00 04 04 b6 03 84 94 06 04 05 c4 9d 00 04 04 39 ...............................9
3ea0 00 cc a7 00 04 04 3f 03 c4 bf 00 04 04 39 00 84 cd 06 04 07 c4 d2 00 04 04 3a 00 c4 d8 00 04 04 ......?......9...........:......
3ec0 39 00 84 f9 06 04 05 84 fc 06 04 06 85 09 06 04 07 c5 0e 00 04 04 3a 00 85 13 00 04 04 04 0b 85 9.....................:.........
3ee0 16 00 04 04 db 0a c5 1d 00 04 04 39 00 c9 22 00 01 01 67 00 c5 28 00 01 01 1e 00 c5 2b 00 01 01 ...........9.."...g..(......+...
3f00 1a 00 c5 2e 00 01 01 1c 00 85 33 06 04 05 85 42 06 04 07 c5 48 00 04 04 3c 00 c5 4c 00 04 04 3a ..........3....B....H...<..L...:
3f20 00 85 51 00 04 04 04 0b 85 54 00 04 04 db 0a c5 63 00 04 04 38 00 c5 69 00 04 04 38 00 85 72 00 ..Q......T......c...8..i...8..r.
3f40 04 04 6b 06 85 77 06 04 05 c5 7a 00 04 04 a2 07 c5 7d 00 04 04 aa 07 c5 80 00 04 04 91 07 c5 83 ..k..w....z......}..............
3f60 00 04 04 9d 07 c5 86 00 04 04 64 07 c5 89 00 04 04 0a 08 c5 8c 00 04 04 45 08 c5 8f 00 04 04 6e ..........d.............E......n
3f80 08 c5 92 00 04 04 72 08 c5 95 00 04 04 64 07 c5 98 00 04 04 91 08 c5 9b 00 04 04 8d 08 c5 9e 00 ......r......d..................
3fa0 04 04 d7 07 c5 a1 00 04 04 b6 07 c5 a4 00 04 04 c0 07 c6 08 00 04 04 4c 05 c6 0c 00 04 04 4d 05 .......................L......M.
3fc0 c6 28 00 04 04 4c 05 c6 30 00 04 04 3b 07 ed a0 00 04 04 5a 05 07 00 00 b8 00 00 3c 0d 77 55 75 .(...L..0...;......Z.......<.wUu
3fe0 09 2e c6 06 00 00 00 e9 00 00 3c 0a 74 76 3c 07 75 0d 2e 8b 1e 00 00 80 e3 07 b4 0e cd 10 c3 3c ..........<.tv<.u..............<
4000 09 75 1e 2e a0 00 00 04 08 8a e0 80 e4 07 2a c4 2e 3a 06 00 00 72 04 2e a0 00 00 2e a2 00 00 eb .u............*..:...r..........
4020 57 3c 08 75 0f 2e 80 3e 00 00 00 74 d1 2e fe 0e 00 00 eb 44 2e 8b 1e 00 00 b9 01 00 b4 09 cd 10 W<.u...>...t.......D............
4040 2e fe 06 00 00 2e a0 00 00 2e 3a 06 00 00 76 28 2e 80 3e 00 00 01 74 06 2e fe 0e 00 00 c3 2e c6 ..........:...v(..>...t.........
4060 06 00 00 00 2e 80 3e 00 00 17 77 0c 74 07 2e fe 06 00 00 eb 03 e8 00 00 2e 8b 16 00 00 2e 8a 01 ......>...w.t...................
4080 3e 00 00 b4 02 cd 10 c3 2e a0 00 00 3c 02 74 18 3c 03 74 14 33 c9 b6 17 2e 8a 16 00 00 2e 8a 3e >...........<.t.<.t.3..........>
40a0 00 00 b8 01 06 cd 10 c3 2e 8a 3e 00 00 b3 20 bd 50 00 2e a1 00 00 2e 03 06 00 00 8e c0 8e d8 33 ..........>.....P..............3
40c0 ff be a0 00 b9 30 07 fc ba da 03 ec a8 08 74 fb b0 25 ba d8 03 ee f3 a5 8b c3 8b cd f3 ab b0 29 .....0........t..%.............)
40e0 ba d8 03 ee 0e 1f c3 50 53 51 52 56 57 06 55 2e c7 06 00 00 00 b8 96 b8 40 00 8e d8 a1 49 00 fe .......PSQRVW.U.........@....I..
4100 cc 2e a3 00 00 3c 07 75 07 2e c7 06 00 00 00 b0 a0 62 00 2e a2 00 00 98 03 c0 8b d8 8b 47 50 2e .....<.u.........b...........GP.
4120 a3 00 00 a1 4e 00 b1 04 d3 e8 0e 1f 2e a3 00 00 96 e8 00 00 5d 07 5f 5e 5a 59 5b 58 c3 be 00 00 ....N...............]._^ZY[X....
4140 ff 24 3c 5b 74 03 eb 6f 90 c7 04 00 00 33 db 2e 89 1e 00 00 2e 89 1e 00 00 eb 19 3c 3f 77 36 2e .$<[t..o.....3.............<?w6.
4160 a2 00 00 c7 04 00 00 3c 3c 73 09 3c 3b 75 0d 2e fe 06 00 00 e8 00 00 33 c0 89 07 c3 3c 30 72 12 .......<<s.<;u.........3....<0r.
4180 3c 39 77 11 e8 00 00 2c 30 86 07 b4 0a f6 e4 00 07 c3 75 01 c3 bb 00 00 83 c3 03 80 3f 00 74 20 <9w....,0.........u.........?.t.
41a0 38 07 75 f4 8b 47 01 bb 00 00 8a 17 32 f6 8b ca 0b c9 75 01 41 ff e0 3c 1b 75 05 c7 04 00 00 c3 8.u..G......2.....u.A..<.u......
41c0 e8 00 00 2e c7 06 00 00 00 00 c3 38 27 74 04 00 07 e2 f8 2e 8b 16 00 00 33 db b4 02 cd 10 eb e3 ...........8't..........3.......
41e0 80 f9 19 72 0a 77 ec 2e 80 3e 00 00 00 74 e4 2e a0 00 00 8a 6f 01 0a ed 74 02 fe cd 3a c5 77 02 ...r.w...>...t......o...t...:.w.
4200 8a e8 86 cd fe cd 2e 89 0e 00 00 eb c6 2e 8a 26 00 00 b0 01 bb 00 00 eb b2 b8 ff 00 eb f6 b8 ff ...............&................
4220 00 bb 00 00 eb a5 b8 01 17 2e 3a 26 00 00 77 a3 eb ef 2e a1 00 00 2e a3 00 00 eb 97 2e a1 00 00 ..........:&..w.................
4240 80 fd 18 72 08 2e 80 3e 00 00 00 74 04 2e a3 00 00 eb 80 33 c9 2e 86 0e 00 00 e8 00 00 41 8a 07 ...r...>...t.......3.........A..
4260 53 bb 00 00 8a 27 83 c3 03 80 fc ff 74 11 3a e0 75 f2 8b 47 fe 2e 20 06 00 00 2e 08 26 00 00 5b S....'......t.:.u..G........&..[
4280 01 43 e2 db e9 00 00 2e 80 3e 00 00 18 74 33 33 c9 2e 8a 16 00 00 b6 17 2e 80 3e 00 00 01 77 3e .C.......>...t33..........>...w>
42a0 72 0b 2e 8a 36 00 00 fe ce 7e 17 eb 0b 2e 8a 2e 00 00 fe c5 3a ee 73 0a 2e 8a 3e 00 00 b8 00 06 r...6....~..........:.s...>.....
42c0 cd 10 2e 8b 0e 00 00 8b d1 2e a0 00 00 fe c0 a8 01 74 05 2e 8a 16 00 00 a8 02 74 02 b1 00 2e 8a .................t........t.....
42e0 3e 00 00 b8 00 06 cd 10 e9 00 00 b4 07 eb 02 b4 06 8a c1 2e 8a 2e 00 00 32 c9 b6 17 2e 8a 16 00 >.......................2.......
4300 00 2e 8a 3e 00 00 cd 10 eb de 32 c9 eb 02 b1 01 2e 8a 1e 00 00 80 eb 3c 72 ce 80 fb 04 73 c9 32 ...>......2............<r....s.2
4320 ff d1 e3 d1 e3 d1 e3 8a c2 3c 07 77 bb 0a d8 d1 e3 2e 8b 9f 00 00 83 fb 01 72 ad 74 04 88 0f eb .........<.w.............r.t....
4340 a7 b4 00 cd 10 eb a1 2e 8b 1e 00 00 83 fb 05 72 07 2e fe 0e 00 00 eb ef 81 c3 00 00 c3 80 7f 0e ...............r................
4360 03 75 27 8b 77 0f 8a 47 0d 3c 41 75 02 eb 1e 3c 42 75 02 eb 6f 3c 43 75 03 e9 00 00 3c 44 75 03 .u'.w..G.<Au...<Bu..o<Cu....<Du.
4380 e9 00 00 3c 45 75 03 e9 00 00 e9 00 00 83 fe 07 77 4a 53 1e 0e 1f 3b 36 00 00 74 0e 89 36 00 00 ...<Eu..........wJS...;6..t..6..
43a0 8b d6 e8 00 00 a3 00 00 eb 22 c6 06 00 00 01 b8 00 00 e8 00 00 b8 00 00 8e c0 26 a0 00 00 32 e4 ........."................&...2.
43c0 8b f0 8a a4 00 00 32 c0 89 07 8b c2 1f 5b 89 47 13 8c 4f ff 9c bb 02 c4 0f 00 04 04 4a 05 84 13 ......2......[.G..O.........J...
43e0 00 04 04 fd 05 c4 20 00 04 04 5a 05 c4 30 00 04 04 4a 05 c4 3e 00 04 04 49 05 c4 44 00 04 04 49 ..........Z..0...J..>...I..D...I
4400 05 c4 48 00 04 04 4a 05 c4 53 00 04 04 4a 05 c4 5b 00 04 04 4a 05 c4 62 00 04 04 5a 05 c4 6e 00 ..H...J..S...J..[...J..b...Z..n.
4420 04 04 4a 05 c4 72 00 04 04 4a 05 c4 77 00 04 04 49 05 c4 7e 00 04 04 4c 05 c4 86 00 04 04 4a 05 ..J..r...J..w...I..~...L......J.
4440 c4 8c 00 04 04 4a 05 c4 92 00 04 04 4b 05 c4 9c 00 04 04 4b 05 84 a1 00 04 04 0c 06 c4 a6 00 04 .....J......K......K............
4460 04 4a 05 c4 ab 00 04 04 5b 05 c4 b4 00 04 04 48 05 c4 c5 00 04 04 49 05 c4 ca 00 04 04 5a 05 c4 .J......[......H......I......Z..
4480 d5 01 00 04 04 5a 05 c4 de 00 04 04 5c 05 c4 e3 00 04 04 5e 05 c5 1c 00 04 04 5c 05 c5 2d 00 04 .....Z......\......^......\..-..
44a0 04 48 05 c5 36 00 04 04 5c 05 c5 3f 00 04 04 5b 05 c5 4b 00 04 04 4a 05 c5 58 00 04 04 5e 05 85 .H..6...\..?...[..K...J..X...^..
44c0 5c 00 04 04 c1 06 c5 68 00 04 04 4e 05 c5 75 00 04 04 df 06 c5 7c 00 04 04 52 05 c5 81 00 04 04 \......h...N..u......|...R......
44e0 55 05 c5 8b 00 04 04 52 05 c5 8f 00 04 04 ef 06 c5 9c 00 04 04 53 05 85 9f 00 04 04 ca 08 85 af U......R.............S..........
4500 00 04 04 ca 08 c5 c0 00 04 04 94 04 c5 d2 00 04 04 55 05 c5 e7 00 04 04 c6 06 85 eb 00 04 04 60 .................U.............`
4520 05 c5 f0 00 04 04 4e 05 c5 f2 00 04 04 3b 07 c6 00 00 04 04 4a 05 c6 14 00 04 04 4d 05 c6 1b 00 ......N......;......J......M....
4540 04 04 49 05 c6 33 00 04 04 4a 05 c6 3a 00 04 04 49 05 c6 3f 00 04 04 4a 05 c6 4c 00 04 04 4b 05 ..I..3...J..:...I..?...J..L...K.
4560 c6 56 00 04 04 4b 05 c6 5e 00 04 04 4a 05 c6 62 00 04 04 50 05 c6 68 00 04 04 50 05 c6 72 00 04 .V...K..^...J..b...P..h...P..r..
4580 04 4d 05 c6 79 00 04 04 4a 05 c6 82 00 04 04 53 05 86 85 00 04 04 ca 08 c6 8c 00 04 04 c5 04 c6 .M..y...J......S................
45a0 a2 00 04 04 5a 05 c6 a7 00 04 04 5a 05 86 ae 00 04 04 57 07 c6 b3 00 04 04 4b 05 c6 bd 00 04 04 ....Z......Z......W......K......
45c0 49 05 c6 c4 00 04 04 55 05 c6 ce 00 04 04 4b 05 c6 d9 00 04 04 4b 05 c6 e4 00 04 04 5a 05 c6 ee I......U......K......K......Z...
45e0 00 04 04 4a 05 c6 f4 00 04 04 55 05 c6 ff 00 04 04 49 05 c7 0a 00 04 04 5a 05 87 12 00 04 04 47 ...J......U......I......Z......G
4600 07 c7 1f 00 04 04 4b 05 c7 28 00 04 04 49 05 c7 2d 00 04 04 5a 05 c7 3c 00 04 04 52 05 c7 5d 00 ......K..(...I..-...Z..<...R..].
4620 04 04 08 05 c7 73 00 04 04 53 05 c7 7d 00 04 04 53 05 c7 83 00 04 04 55 05 87 a3 00 04 04 d4 09 .....s...S..}...S......U........
4640 87 aa 00 04 04 7b 0a 87 b1 00 04 04 91 0a 87 b4 06 04 02 c7 c1 00 04 04 3a 00 c7 c7 00 04 04 3a .....{..................:......:
4660 00 87 cc 00 04 04 04 0b c7 cf 00 04 04 3c 00 c7 d5 00 04 04 38 00 87 dc 00 04 04 11 0b cb df 00 .............<......8...........
4680 01 01 01 67 00 c7 e5 00 01 01 49 00 c7 ed 00 04 04 86 02 0b a0 3d 02 04 56 09 15 c7 47 0f 00 00 ...g......I..........=..V...G...
46a0 e9 00 00 c7 47 0f 01 00 e9 00 00 83 fe 01 77 f3 53 1e 83 fe 00 75 24 56 b8 00 00 8e d8 be 00 00 ....G.........w.S....u$V........
46c0 b9 1e 00 0e 07 2e 8b 3e 00 00 8d 7d 17 fc f3 a4 0e 1f be 00 00 b9 10 00 f3 a4 5e 0e 1f 8b c6 e8 .......>...}..............^.....
46e0 00 00 8b 0f d1 e9 c4 7f 04 8b f2 bb 00 00 80 7c 17 07 75 03 bb 00 00 8b 54 31 83 c2 04 8a 44 33 ...............|..u.....T1....D3
4700 24 f7 ee 8e db be 00 00 fc f3 a5 0c 08 ee 1f 5b c7 47 0f 00 00 e9 00 00 83 fe 01 77 91 53 1e 0e $..............[.G.........w.S..
4720 1f 83 fe 00 75 58 56 8b 36 00 00 56 8d 74 17 b8 00 00 8e c0 b9 1e 00 bf 00 00 fc f3 a4 06 0e 07 ....uXV.6..V.t..................
4740 bf 00 00 b9 10 00 f3 a4 07 5e 8a 44 17 3c 07 75 02 b0 02 b4 00 cd 10 8b 4c 2e b4 01 cd 10 8b 54 .........^.D.<.u........L......T
4760 1e 8a 7c 30 b4 02 cd 10 8a 44 30 b4 05 cd 10 8b 54 31 83 c2 05 8a 44 34 ee 26 a2 00 00 5e 8b c6 ..|0.....D0.....T1....D4.&...^..
4780 e8 00 00 8b 0f d1 e9 c5 77 04 8b fa bb 00 00 2e 80 7d 17 07 75 03 bb 00 00 2e 8b 55 31 83 c2 04 ........w........}..u......U1...
47a0 2e 8a 45 33 24 f7 ee 8e c3 bf 00 00 fc f3 a5 0c 08 ee 1f 5b c7 47 0f 00 00 e9 00 00 e9 00 00 2e ..E3$..............[.G..........
47c0 c6 06 00 00 00 b8 00 00 e8 00 00 2e a1 00 00 e8 00 00 e9 00 00 83 fe 07 77 e2 1e 0e 1f 89 36 00 ........................w.....6.
47e0 00 8b d6 e8 00 00 a3 00 00 8b f0 c6 04 00 b8 03 00 cd 10 1f c7 47 0f 00 00 e9 00 00 2e 8b 1e 00 .....................G..........
4800 00 2e c6 07 01 e9 00 00 2e 8b 1e 00 00 2e 80 3f 00 74 09 2e c6 07 00 8d 07 e8 00 00 e9 00 00 53 ...............?.t.............S
4820 51 52 8b d8 8c c8 33 c9 ba 09 00 fa 2e ff 1e 00 00 5a 59 5b c3 53 51 52 8b d8 8c c8 ba 0a 00 2e QR....3..........ZY[.SQR........
4840 ff 1e 00 00 5a 59 5b c3 52 8b c2 ba 49 00 f7 e2 5a 05 00 00 c3 ba 08 00 f7 e2 8b 1e 00 00 8b d3 ....ZY[.R...I...Z...............
4860 8b 5f 01 03 d8 03 da c3 2e 89 3e 00 00 2e 8c 06 00 00 b8 00 00 b9 01 00 ba 10 00 2e ff 1e 00 00 ._........>.....................
4880 2e a3 00 05 02 00 09 02 01 02 03 04 05 06 07 08 09 01 00 2e 89 16 00 00 33 c0 8e c0 8c c8 26 c7 ........................3.....&.
48a0 06 6c 00 00 00 26 a3 6e 00 bf 24 00 26 8b 0d 2e 89 0e 00 00 26 8b 4d 02 2e 89 0e 00 00 b9 00 00 .l...&.n..$.&.......&.M.........
48c0 91 ab 91 ab bf 58 00 26 8b 0d 2e 89 0e 00 00 26 8b 4d 02 2e 89 0e 00 00 b9 00 00 91 ab 91 ab e9 .....X.&.......&.M..............
48e0 00 00 2a 9c 4b 01 84 07 06 04 05 84 0f 06 04 05 c8 1f 00 01 01 67 00 c4 24 00 01 01 49 00 c4 2e ..*.K................g..$...I...
4900 00 04 04 3c 00 c4 39 00 04 04 4c 05 84 46 00 04 04 11 0b c8 52 04 03 03 c8 5b 04 02 02 84 7c 06 ...<..9...L..F......R....[....|.
4920 04 05 c4 8f 00 04 04 3c 00 c8 96 00 01 01 67 00 c4 9e 00 01 01 49 00 c4 a7 00 04 04 4c 05 c4 e1 .......<......g......I......L...
4940 00 01 01 66 00 84 e7 00 04 04 11 0b c8 f3 04 03 03 c8 fd 04 02 02 85 20 06 04 05 85 23 00 04 04 ...f........................#...
4960 5f 09 c5 28 00 04 04 38 00 c5 2c 00 04 04 38 00 85 2f 00 04 04 f1 0a c5 33 00 04 04 3c 00 85 36 _..(...8..,...8../......3...<..6
4980 00 04 04 f1 0a 85 39 06 04 05 c5 45 00 04 04 3a 00 85 4a 00 04 04 04 0b c5 4d 00 04 04 3c 00 85 ......9....E...:..J......M...<..
49a0 60 06 04 05 c5 65 00 04 04 3c 00 85 6c 06 04 05 c5 71 00 04 04 3c 00 85 80 00 04 04 f1 0a 85 83 `....e...<..l....q...<..........
49c0 06 04 05 c5 95 06 04 03 c5 a8 06 04 03 c5 b8 00 04 04 3e 00 c5 c2 00 04 04 3c 00 c5 d1 06 04 03 ..................>......<......
49e0 c5 d6 02 04 03 02 00 c5 e4 06 04 03 c5 e8 00 04 04 1a 03 c5 ed 00 04 04 1c 03 c5 fa 00 04 04 96 ................................
4a00 02 c6 09 00 04 04 b9 02 c6 12 00 04 04 bb 02 c6 15 00 04 04 be 02 c6 24 00 04 04 16 03 c6 2d 00 .......................$......-.
4a20 04 04 18 03 c6 30 00 04 04 1e 03 86 37 06 04 05 03 a0 33 00 05 00 00 2d 2d 2d 20 49 6e 73 74 61 .....0......7.....3....---.Insta
4a40 6c 6c 69 6e 67 20 4d 54 43 4f 4e 20 44 65 76 69 63 65 20 44 72 69 76 65 72 20 56 31 2e 30 38 20 lling.MTCON.Device.Driver.V1.08.
4a60 2d 2d 2d 0d 0a 24 b0 90 0d 00 00 04 06 43 4f 4e 44 45 56 00 00 00 9a 8a 02 00 00 74 00 00 00 00 ---..$.......CONDEV........t....
4a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 fb 36 ff 1e 00 00 0e 1f 8c 06 00 00 89 ....................6...........
4aa0 3e 00 00 a3 00 00 89 1e 00 00 89 0e 00 00 89 16 00 00 fb fc ba 00 00 b8 24 25 cd 21 8a 16 00 00 >.......................$%.!....
4ac0 0a d2 74 06 fe ca b4 0e cd 21 e8 00 00 0e 1f a0 00 00 98 8b c8 33 db b4 3e cd 21 bb 02 00 b4 3e ..t......!...........3..>.!....>
4ae0 cd 21 43 e2 f9 ba 00 00 b0 42 b4 3d f9 cd 21 73 05 e8 00 00 eb 13 50 bb 01 00 b4 3e cd 21 58 8b .!C......B.=..!s......P....>.!X.
4b00 d8 b4 45 cd 21 b4 45 cd 21 ba 00 00 b0 42 e8 00 00 ba 00 00 b0 41 e8 00 00 be 00 00 8b fe 1e 07 ..E.!.E.!....B.......A..........
4b20 b1 ff fe c1 ac aa 0a c0 75 f8 4f b0 0d aa 88 0e 00 00 b4 69 8b 1e 00 00 8b 0e 00 00 cd 21 ba 00 ........u.O........i.........!..
4b40 00 bb 00 00 8c 4f 04 8c 4f 08 8c 4f 0c b8 04 4b f9 cd 21 72 04 b4 00 cd 21 ba 00 00 e8 00 00 eb .....O..O..O...K..!r....!.......
4b60 fe 0e 1f b8 00 37 cd 21 88 16 00 00 ba 00 00 b8 00 3d f9 cd 21 72 03 e8 00 00 0e 1f a0 00 00 2c .....7.!.........=..!r.........,
4b80 05 76 38 98 50 b3 32 f6 e3 8b d0 05 17 00 b1 04 d3 e8 e8 00 00 58 c5 3e 00 00 c5 bd 00 00 c7 05 .v8.P.2..............X.>........
4ba0 00 00 8c 45 02 26 c7 06 00 00 ff ff 26 a3 04 00 8b ca bf 06 00 33 c0 f3 aa 0e 1f fe 0e 00 00 74 ...E.&......&........3.........t
4bc0 37 1e c5 1e 00 00 8b 87 00 00 05 1f 00 b1 04 d3 e8 e8 00 00 8b 87 00 00 26 a3 00 00 8b 87 00 00 7.......................&.......
4be0 26 a3 02 00 c7 87 00 00 00 00 8c 87 00 00 26 c7 06 04 00 ff 00 1f eb c3 c3 36 8e 06 00 00 36 01 &.............&..........6....6.
4c00 06 00 00 c3 8b d8 33 c9 33 d2 b8 02 42 cd 21 a3 00 00 33 d2 b8 00 42 cd 21 a1 00 00 05 0f 00 b1 ......3.3...B.!...3...B.!.......
4c20 04 d3 e8 8b 0e 00 00 2b c8 8e d9 8c d8 8e c0 33 d2 36 8b 0e 00 00 b4 3f f9 cd 21 9c 0e 1f 50 b4 .......+.......3.6.....?..!...P.
4c40 3e cd 21 58 9d 72 04 3b c8 74 10 ba 00 00 e8 00 00 c3 ba 00 00 e8 00 00 eb 3a 90 e8 00 00 e8 00 >.!X.r.;.t...............:......
4c60 00 72 ee 8a e0 e8 00 00 80 fc 42 75 0a e8 00 00 74 22 a2 00 00 eb 1d 80 fc 43 74 03 eb 26 90 3c .r........Bu....t".......Ct..&.<
4c80 4f 75 11 e8 00 00 72 c9 3c 4e 75 08 b4 33 b0 01 8a d0 cd 01 80 06 00 04 42 49 4f 53 49 96 22 00 Ou....r.<Nu..3..........BIOSI.".
4ca0 00 08 44 4f 53 46 52 41 4d 45 0a 53 59 53 49 4e 49 54 53 45 47 0b 53 59 53 54 45 4d 5f 49 4e 49 ..DOSFRAME.SYSINITSEG.SYSTEM_INI
4cc0 54 50 98 0a 00 00 00 00 1f 1f 00 02 01 01 1c 98 07 00 68 64 09 03 04 01 84 8c 3c 00 06 42 41 44 TP................hd......<..BAD
4ce0 43 4f 4d 00 0a 42 41 44 43 4f 55 4e 54 52 59 00 05 42 41 44 4c 44 00 06 42 41 44 4f 50 4d 00 06 COM..BADCOUNTRY..BADLD..BADOPM..
4d00 42 41 44 53 49 5a 00 05 43 52 4c 46 4d 00 07 53 59 53 53 49 5a 45 00 f5 a0 06 00 01 00 00 00 00 BADSIZ..CRLFM..SYSSIZE..........
4d20 59 a0 06 00 01 04 00 00 00 55 a0 06 00 01 08 00 00 00 51 a0 06 00 01 0c 00 00 00 4d a0 06 00 01 Y........U........Q........M....
4d40 10 00 00 00 49 a0 09 00 01 14 00 00 00 00 00 00 42 a0 06 00 01 1b 00 00 00 3e a0 1b 00 02 00 01 ....I...........B........>......
4d60 e9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 02 08 02 00 50 fc 9c 08 00 84 01 00 02 02 ......................P.........
4d80 87 02 4a a2 0e 00 02 17 01 1d 00 01 00 01 00 00 00 01 00 16 a0 05 00 02 34 01 00 24 a2 26 00 02 ..J.....................4..$.&..
4da0 35 01 01 00 00 00 02 00 00 01 00 00 00 04 00 00 00 00 01 00 00 00 04 00 00 00 00 01 00 00 00 04 5...............................
4dc0 00 00 00 00 ee 9c 16 00 cc 0c 00 02 02 14 01 cc 15 00 02 02 11 01 cc 1e 00 02 02 34 01 43 a0 1d ...........................4.C..
4de0 00 02 43 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 00 e7 a0 27 ..C............................'
4e00 00 02 64 01 00 00 00 00 00 00 00 00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 07 00 07 00 07 ..d.............................
4e20 00 07 00 07 00 ff ff 95 a2 0e 00 02 87 01 00 01 01 00 01 00 00 00 01 00 c2 a0 ff 03 02 87 02 fc ................................
4e40 33 f6 8b fe 2e 8b 0e 00 00 83 f9 01 75 1d b9 00 08 33 db 41 74 10 8e d9 8a 07 f6 d0 88 07 3a 07 3...........u....3.At.........:.
4e60 f6 d0 88 07 74 ed 2e 89 0e 00 00 8c c8 8e d8 a1 00 00 8e c0 8c c9 8b 16 00 00 c5 36 00 00 b8 00 ....t......................6....
4e80 00 d1 e8 8b d8 83 c3 07 d1 eb d1 eb d1 eb fa 8e d1 bc 00 00 01 fb 36 ff 1e 00 00 0e 1f 8c 06 00 ......................6.........
4ea0 00 89 3e 00 00 a3 00 00 89 1e 00 00 89 0e 00 00 89 16 00 00 fb fc ba 00 00 b8 24 25 cd 21 8a 16 ..>.......................$%.!..
4ec0 00 00 0a d2 74 06 fe ca b4 0e cd 21 e8 00 00 0e 1f a0 00 00 98 8b c8 33 db b4 3e cd 21 bb 02 00 ....t......!...........3..>.!...
4ee0 b4 3e cd 21 43 e2 f9 ba 00 00 b0 42 b4 3d f9 cd 21 73 05 e8 00 00 eb 13 50 bb 01 00 b4 3e cd 21 .>.!C......B.=..!s......P....>.!
4f00 58 8b d8 b4 45 cd 21 b4 45 cd 21 ba 00 00 b0 42 e8 00 00 ba 00 00 b0 41 e8 00 00 be 00 00 8b fe X...E.!.E.!....B.......A........
4f20 1e 07 b1 ff fe c1 ac aa 0a c0 75 f8 4f b0 0d aa 88 0e 00 00 b4 69 8b 1e 00 00 8b 0e 00 00 cd 21 ..........u.O........i.........!
4f40 ba 00 00 bb 00 00 8c 4f 04 8c 4f 08 8c 4f 0c b8 04 4b f9 cd 21 72 04 b4 00 cd 21 ba 00 00 e8 00 .......O..O..O...K..!r....!.....
4f60 00 eb fe 0e 1f b8 00 37 cd 21 88 16 00 00 ba 00 00 b8 00 3d f9 cd 21 72 03 e8 00 00 0e 1f a0 00 .......7.!.........=..!r........
4f80 00 2c 05 76 38 98 50 b3 32 f6 e3 8b d0 05 17 00 b1 04 d3 e8 e8 00 00 58 c5 3e 00 00 c5 bd 00 00 .,.v8.P.2..............X.>......
4fa0 c7 05 00 00 8c 45 02 26 c7 06 00 00 ff ff 26 a3 04 00 8b ca bf 06 00 33 c0 f3 aa 0e 1f fe 0e 00 .....E.&......&........3........
4fc0 00 74 37 1e c5 1e 00 00 8b 87 00 00 05 1f 00 b1 04 d3 e8 e8 00 00 8b 87 00 00 26 a3 00 00 8b 87 .t7.......................&.....
4fe0 00 00 26 a3 02 00 c7 87 00 00 00 00 8c 87 00 00 26 c7 06 04 00 ff 00 1f eb c3 c3 36 8e 06 00 00 ..&.............&..........6....
5000 36 01 06 00 00 c3 8b d8 33 c9 33 d2 b8 02 42 cd 21 a3 00 00 33 d2 b8 00 42 cd 21 a1 00 00 05 0f 6.......3.3...B.!...3...B.!.....
5020 00 b1 04 d3 e8 8b 0e 00 00 2b c8 8e d9 8c d8 8e c0 33 d2 36 8b 0e 00 00 b4 3f f9 cd 21 9c 0e 1f .........+.......3.6.....?..!...
5040 50 b4 3e cd 21 58 9d 72 04 3b c8 74 10 ba 00 00 e8 00 00 c3 ba 00 00 e8 00 00 eb 3a 90 e8 00 00 P.>.!X.r.;.t...............:....
5060 e8 00 00 72 ee 8a e0 e8 00 00 80 fc 42 75 0a e8 00 00 74 22 a2 00 00 eb 1d 80 fc 43 74 03 eb 26 ...r........Bu....t".......Ct..&
5080 90 3c 4f 75 11 e8 00 00 72 c9 3c 4e 75 08 b4 33 b0 01 8a d0 cd 01 21 0e 1f e8 00 00 72 c6 3c 0a .<Ou....r.<Nu..3......!.....r.<.
50a0 75 f7 e8 00 00 eb bd 80 fc 44 74 03 e9 00 00 8c cb 8e db 89 36 00 00 8c 06 00 00 8b 0e 00 00 33 u........Dt.........6..........3
50c0 c0 a3 00 00 89 0e 00 00 89 0e 00 00 89 0e 00 00 06 1f 8b d6 8c cb 8e c3 bb 00 00 b0 03 b4 4b f9 ..............................K.
50e0 cd 21 1e 07 0e 1f 73 05 e8 00 00 eb aa 06 56 c4 36 00 00 26 8b 84 00 00 a3 00 00 26 8b 84 00 00 .!....s.......V.6..&.......&....
5100 a3 00 00 0e 07 bb 06 00 e8 00 00 bb 08 00 e8 00 00 0e 1f a1 00 00 25 f0 ff 31 06 00 00 d1 e8 d1 ......................%..1......
5120 e8 d1 e8 d1 e8 01 06 00 00 a1 00 00 3b 06 00 00 72 04 5e 07 eb b2 2b 06 00 00 83 3e 00 00 00 74 ............;...r.^...+....>...t
5140 01 40 8b 16 00 00 01 06 00 00 2e c5 36 00 00 2e c4 3e 00 00 8b 44 04 a9 00 80 75 03 eb 22 90 a9 .@..........6....>...D....u.."..
5160 01 00 74 0a 26 89 b5 00 00 26 8c 9d 00 00 a9 08 00 74 0a 26 89 b5 00 00 26 8c 9d 00 00 e9 00 00 ..t.&....&.......t.&....&.......
5180 2e a0 00 00 0a c0 75 0b 2e 89 16 00 00 b8 ff ff e9 00 00 98 8b c8 8a f4 26 8a 95 00 00 26 00 85 ......u.................&....&..
51a0 00 00 b3 1f f6 e3 05 0f 00 d1 e8 d1 e8 d1 e8 d1 e8 36 8b 1e 00 00 36 01 06 00 00 2e c7 06 00 00 .................6....6.........
51c0 00 00 2e 89 1e 00 00 2e c5 1e 00 00 2e c4 2e 00 00 26 c4 ae 00 00 26 83 7e 18 ff 74 06 26 c4 6e .................&....&.~..t.&.n
51e0 18 eb f3 36 a1 00 00 26 89 46 18 36 a1 00 00 26 89 46 1a 36 c4 2e 00 00 36 83 06 00 00 1f 26 c7 ...6...&.F.6...&.F.6....6.....&.
5200 46 18 ff ff 26 c6 46 17 ff 26 c6 46 1e 00 8b 37 43 43 26 89 56 00 b4 53 cd 21 26 8b 46 02 06 2e F...&.F..&.F...7CC&.V..S.!&.F...
5220 c4 3e 00 00 26 3b 85 00 00 07 76 0b 5e 07 ba 00 00 e8 00 00 e9 00 00 1e 52 2e c5 16 a6 9c 3a 03 .>..&;....v.^...........R.....:.
5240 c4 08 00 02 02 0f 01 c4 2a 00 02 02 0f 01 c4 31 00 02 02 09 01 c4 39 00 02 02 0f 01 c4 3d 00 02 ........*......1......9......=..
5260 02 0b 01 c4 40 02 02 07 01 00 c4 53 00 02 02 dd 02 c4 59 00 02 02 03 01 c4 5f 00 02 02 05 01 c4 ....@......S......Y......_......
5280 63 00 02 02 03 01 c4 66 00 02 02 47 01 c4 6a 00 02 02 49 01 c4 6e 01 00 02 02 53 01 c4 72 00 02 c......f...G..j...I..n....S..r..
52a0 02 55 01 c4 77 00 02 02 d0 08 c4 80 00 02 02 11 01 84 8d 00 02 02 aa 03 c4 92 00 02 02 13 01 c4 .U..w...........................
52c0 a8 00 02 02 ec 08 84 b4 00 02 02 8c 08 c4 cc 00 02 02 f5 08 84 d1 00 02 02 af 08 c4 d4 00 02 02 ................................
52e0 fe 08 84 d9 00 02 02 af 08 c4 dc 00 02 02 15 01 c4 f2 00 02 02 14 01 c4 f8 00 02 02 47 01 c4 fc ............................G...
5300 00 02 02 49 01 c5 01 00 02 02 13 09 c5 04 00 02 02 35 01 c5 1c 06 02 01 85 1f 00 02 02 8c 08 c5 ...I.............5..............
5320 2c 00 02 02 15 01 c5 2f 00 02 02 07 09 85 3a 00 02 02 4d 04 c5 3f 00 02 02 13 01 85 55 00 02 02 ,....../......:...M..?......U...
5340 42 04 c5 5a 00 02 02 03 01 c5 5e 00 01 01 04 00 c5 7f 00 02 02 12 01 c5 86 00 02 02 03 01 c5 8a B..Z......^.....................
5360 00 01 01 15 00 85 94 00 02 02 42 04 c5 98 00 01 01 17 00 c5 a0 00 01 01 19 00 c5 a8 00 01 01 17 ..........B.....................
5380 00 c5 ae 00 01 01 19 00 c5 be 00 02 02 47 01 c5 c3 00 02 02 47 01 c5 d2 00 02 02 43 01 c5 dc 00 .............G......G......C....
53a0 02 02 43 01 c5 e7 00 02 02 49 01 c5 f6 00 02 02 43 01 c6 0e 00 02 02 07 09 86 11 00 02 02 8c 08 ..C......I......C...............
53c0 c6 15 06 02 04 86 18 00 02 02 aa 08 86 1e 00 02 02 80 07 86 21 00 02 02 63 07 86 28 00 02 02 63 ....................!...c..(...c
53e0 07 86 30 00 02 02 4e 08 c6 35 00 02 02 12 01 86 46 00 02 02 63 07 86 59 00 02 02 63 07 86 62 00 ..0...N..5......F...c..Y...c..b.
5400 02 02 63 07 86 6c 00 02 02 cb 06 c6 74 00 02 02 69 01 c6 78 00 02 02 6b 01 c6 7c 00 02 02 47 01 ..c..l......t...i..x...k..|...G.
5420 c6 81 00 02 02 07 01 c6 85 00 02 02 09 01 c6 89 00 02 02 4b 01 c6 8d 00 02 02 4d 01 c6 98 00 02 ...................K......M.....
5440 02 4b 01 86 a8 00 02 02 90 08 c6 b0 00 02 02 03 01 c6 b5 00 01 01 08 00 c6 b8 00 02 02 65 01 c6 .K...........................e..
5460 bd 00 01 01 0a 00 c6 c0 00 02 02 67 01 86 c8 00 02 02 2b 08 86 ce 00 02 02 2b 08 c6 d3 00 02 02 ...........g......+......+......
5480 65 01 c6 da 00 02 02 65 01 c6 e6 00 02 02 67 01 c6 e9 00 02 02 67 01 01 c6 ed 00 02 02 0f 01 c6 e......e......g......g..........
54a0 f7 00 02 02 47 01 c6 fb 00 02 02 65 01 c7 03 00 02 02 47 01 c7 07 00 02 02 47 01 c7 0c 00 02 02 ....G......e......G......G......
54c0 07 01 c7 11 00 02 02 03 01 c7 26 00 01 01 10 00 c7 2b 00 01 01 12 00 c7 35 00 01 01 0c 00 c7 3a ..........&......+......5......:
54e0 00 01 01 0e 00 87 3d 00 02 02 97 06 c7 41 00 02 02 64 01 c7 4a 00 02 02 47 01 87 50 00 02 02 c0 ......=......A...d..J...G..P....
5500 06 c7 5a 00 01 01 14 00 c7 5f 00 01 01 14 00 c7 73 00 02 02 47 01 c7 78 00 02 02 47 01 c7 7d 00 ..Z......_......s...G..x...G..}.
5520 02 02 4f 01 c7 84 00 02 02 51 01 c7 89 00 02 02 69 01 c7 8e 00 02 02 03 01 c7 93 04 01 01 c7 a4 ..O......Q......i...............
5540 00 02 02 4f 01 c7 ac 00 02 02 51 01 c7 b5 00 02 02 4f 01 c7 ba 00 02 02 4f 01 c7 e1 00 02 02 03 ...O......Q......O......O.......
5560 01 c7 e6 00 01 01 15 00 c7 ee 06 02 05 87 f1 00 02 02 93 08 87 f4 00 02 02 dd 04 9b a0 e6 02 02 ................................
5580 82 06 00 00 26 89 56 12 26 8c 5e 14 5a 1f 42 fe c6 49 74 03 e9 00 00 2e c4 3e 00 00 26 8b 8d 00 ....&.V.&.^.Z.B..It......>..&...
55a0 00 26 8b 95 00 00 2e c5 36 00 00 26 89 b5 00 00 26 8c 9d 00 00 8b 04 2e a3 00 00 89 0c 89 54 02 .&......6..&....&.............T.
55c0 5e 07 40 74 03 e9 00 00 e9 00 00 80 fc 46 75 0b e8 00 00 74 f3 36 a2 00 00 eb ed 80 fc 51 75 16 ^.@t.........Fu....t.6.......Qu.
55e0 e8 00 00 74 e3 b4 38 ba ff ff cd 21 73 da ba 00 00 e8 00 00 eb d2 80 fc 57 75 0f 8a d0 b8 01 37 ...t..8....!s...........Wu.....7
5600 36 88 16 00 00 cd 21 e9 00 00 80 fc 41 75 0e 3c 46 75 07 b8 03 37 32 d2 cd 21 e9 00 00 80 fc 53 6.....!.....Au.<Fu...72..!.....S
5620 75 2c 36 c6 06 00 00 00 bf 00 00 88 45 ff e8 00 00 0a c0 74 1c 3c 20 72 05 88 05 47 eb f0 c6 05 u,6.........E......t.<.r...G....
5640 00 e8 00 00 3c 0a 75 03 e8 00 00 e9 00 00 e9 00 00 c6 05 00 bf 00 00 e8 00 00 3c 20 72 e0 88 05 ....<.u...................<.r...
5660 47 eb f4 36 8b 0e 00 00 e3 14 36 8b 36 00 00 26 8a 04 36 ff 0e 00 00 36 ff 06 00 00 f8 c3 f9 c3 G..6......6.6..&..6....6........
5680 8b 0e 00 00 e3 f8 e8 00 00 33 f6 8b fe e8 00 00 3c 20 72 f9 51 56 57 8b 01 ee 4d be 00 00 b5 00 .........3......<.r.QVW...M.....
56a0 8b fd 8a 0c 46 b0 5a e3 09 f3 a6 9f 03 f1 9e ac 75 ee 5f 5e 59 aa e8 00 00 e8 00 00 75 f8 e8 00 ....F.Z.........u._^Y.......u...
56c0 00 aa e8 00 00 aa 3c 20 77 f8 3c 0a 74 c0 26 c6 45 ff 00 e8 00 00 aa 3c 0a 75 f8 eb b1 e3 26 26 ......<.w.<.t.&.E......<.u....&&
56e0 8a 04 46 49 c3 e3 1e 26 8a 04 46 49 e8 00 00 74 f4 c3 3c 20 74 0e 3c 09 74 0a 3c 3d 74 06 3c 2c ..FI...&..FI...t..<.t.<.t.<=t.<,
5700 74 02 3c 3b c3 59 89 3e 00 00 33 f6 89 36 00 00 c3 51 56 1e 06 1f 33 f6 ac 3c 61 72 09 3c 7a 77 t.<;.Y.>..3..6...QV...3..<ar.<zw
5720 05 2c 20 88 44 ff e2 f0 1f 5e 59 c3 2e 8e 1e 00 00 2e 03 1e 00 00 8b 07 2e ff 36 00 00 2e a3 00 .,..D....^Y...............6.....
5740 00 bb 00 00 36 ff 1e 00 00 2e 8f 06 00 00 c3 2c 30 72 36 3c 09 77 32 8a e0 e8 00 00 72 0e 0a c0 ....6..........,0r6<.w2.....r...
5760 75 0e 36 ff 06 00 00 36 ff 0e 00 00 8a c4 eb 16 2c 30 72 15 3c 09 77 11 86 c4 8a f8 02 c0 02 c0 u.6....6........,0r.<.w.........
5780 02 c7 02 c0 02 c4 0a c0 c3 58 e9 00 00 0e 07 8b f2 ba 00 00 0e 1f b4 09 cd 21 26 8a 14 0a d2 74 .........X...............!&....t
57a0 07 b4 02 cd 21 46 eb f2 ba 00 00 b4 09 cd 21 c3 e8 00 00 72 0f 33 c0 b4 44 cd 21 f6 c2 80 75 0a ....!F........!....r.3..D.!...u.
57c0 b4 3e cd 21 ba 00 00 e8 00 00 c3 b4 3d f9 cd 21 c3 83 c4 06 58 5b 59 5a 5e 5f 5d 1f 07 50 b4 19 .>.!........=..!....X[YZ^_]..P..
57e0 cd 21 58 cf 5c 44 45 56 5c 4e 55 4c 00 5c 44 45 56 5c 43 4f 4e 00 5c 44 45 56 5c 41 55 58 00 5c .!X.\DEV\NUL.\DEV\CON.\DEV\AUX.\
5800 44 45 56 5c 50 52 4e 00 5c 43 4f 4e 46 49 47 2e 53 59 53 00 5c 43 4f 4d 4d 41 4e 44 2e 43 4f 4d DEV\PRN.\CONFIG.SYS.\COMMAND.COM
5820 00 07 42 55 46 46 45 52 53 42 05 42 52 45 41 4b 43 05 53 48 45 4c 4c 53 06 44 45 56 49 43 45 44 ..BUFFERSB.BREAKC.SHELLS.DEVICED
5840 05 46 49 4c 45 53 46 08 53 57 49 54 43 48 41 52 57 08 41 56 41 49 4c 44 45 56 41 07 43 4f 55 4e .FILESF.SWITCHARW.AVAILDEVA.COUN
5860 54 52 59 51 00 d5 9c 9f 01 c4 00 00 02 02 07 01 84 13 00 02 02 12 06 c4 18 00 02 02 03 01 c4 1d TRYQ............................
5880 00 01 01 1b 00 c4 22 00 01 01 1d 00 c4 27 00 02 02 07 01 c4 2c 00 01 01 1b 01 00 c4 31 00 01 01 ......"......'......,.......1...
58a0 1d 00 c4 37 00 02 02 07 01 84 44 00 02 02 33 05 84 47 00 02 02 dd 04 84 4f 00 02 02 4e 08 c4 55 ...7......D...3..G......O...N..U
58c0 00 02 02 13 01 84 5f 00 02 02 4e 08 c4 6d 06 02 02 84 70 00 02 02 aa 08 c4 81 00 02 02 15 01 84 ......_...N..m....p.............
58e0 86 00 02 02 dd 04 84 99 00 02 02 dd 04 c4 a3 00 02 02 15 01 c4 a7 00 02 02 14 09 84 ad 00 02 02 ................................
5900 63 07 84 c0 00 02 02 63 07 84 c7 00 02 02 63 07 84 ca 00 02 02 aa 04 84 cd 00 02 02 9b 04 c4 d3 c......c......c.................
5920 00 02 02 15 01 84 d6 00 02 02 63 07 c4 e4 00 02 02 43 01 c4 eb 00 02 02 45 01 c4 f3 00 02 02 43 ..........c......C......E......C
5940 01 c4 f8 00 02 02 45 01 c5 00 00 02 02 43 01 85 05 00 02 02 10 08 85 0c 00 02 02 e4 07 c5 19 00 ......E......C..................
5960 02 02 20 09 85 34 00 02 02 dc 07 85 37 00 02 02 f1 07 85 3c 00 02 02 e4 07 85 40 00 02 02 dc 07 .....4......7......<......@.....
5980 85 51 00 02 02 dc 07 85 6a 00 02 02 f1 07 c5 85 00 02 02 43 01 c5 8b 00 02 02 45 01 c5 ac 00 02 .Q......j..........C......E.....
59a0 02 09 01 c5 b1 00 02 02 07 01 c5 b8 00 02 02 07 01 c5 bc 00 02 02 07 01 c5 bf 00 02 02 57 01 c5 .............................W..
59c0 c4 00 02 02 07 01 c5 c9 00 02 02 07 01 85 d7 00 02 02 63 07 c5 e2 00 02 02 43 01 c5 e7 00 02 02 ..................c......C......
59e0 45 01 86 08 00 02 02 9b 04 c6 0f 06 02 03 c6 26 06 02 06 86 2e 00 02 02 ca 08 c6 42 00 02 02 e3 E..............&...........B....
5a00 08 86 45 00 02 02 ca 08 7d 90 0e 00 00 02 07 42 55 46 46 45 52 53 12 01 00 39 90 1b 00 00 02 14 ..E.....}......BUFFERS...9......
5a20 43 55 52 52 45 4e 54 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 05 01 00 19 90 14 00 00 02 0d 44 45 CURRENT_DOS_LOCATION..........DE
5a40 46 41 55 4c 54 5f 44 52 49 56 45 11 01 00 5d 90 12 00 00 02 0b 44 45 56 49 43 45 5f 4c 49 53 54 FAULT_DRIVE...]......DEVICE_LIST
5a60 0b 01 00 fa 90 0c 00 00 02 05 46 49 4c 45 53 13 01 00 d6 90 19 00 00 02 12 46 49 4e 41 4c 5f 44 ..........FILES..........FINAL_D
5a80 4f 53 5f 4c 4f 43 41 54 49 4f 4e 09 01 00 d2 90 12 00 00 02 0b 4d 45 4d 4f 52 05 02 01 09 02 01 OS_LOCATION..........MEMOR......
5aa0 02 03 04 05 06 07 08 09 01 59 5f 53 49 5a 45 0f 01 00 ce 90 0e 00 00 02 07 53 59 53 49 4e 49 54 .........Y_SIZE..........SYSINIT
5ac0 00 01 00 25 8a 02 00 00 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...%....t.......................
5ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca0 00 00 00 00 00 00 00 00 00 01 80 06 00 04 44 49 53 4b 4b 96 18 00 00 08 42 49 4f 53 49 4e 49 54 ..............DISKK.....BIOSINIT
5cc0 07 42 49 4f 53 53 45 47 04 43 4f 44 45 b7 98 07 00 28 55 0f 04 04 01 cc 98 07 00 68 69 01 02 04 .BIOSSEG.CODE....(U........hi...
5ce0 01 88 9a 06 00 03 ff 01 ff 02 5c 8c 62 00 06 43 4d 44 45 52 52 00 07 43 4f 4d 31 44 45 56 00 0b ..........\.b..CMDERR..COM1DEV..
5d00 44 4f 53 46 55 4e 43 54 49 4f 4e 00 09 49 4e 54 45 52 52 55 50 54 00 09 53 45 54 53 54 41 54 55 DOSFUNCTION..INTERRUPT..SETSTATU
5d20 53 00 0e 53 54 41 54 55 53 43 4f 4d 50 4c 45 54 45 00 0e 53 54 41 54 55 53 44 45 56 52 45 41 44 S..STATUSCOMPLETE..STATUSDEVREAD
5d40 59 00 0b 53 54 41 54 55 53 45 52 52 4f 52 00 49 a2 95 00 01 00 00 01 00 00 00 02 08 00 01 00 00 Y..STATUSERROR.I................
5d60 00 02 ff ff 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 ................................
5d80 02 00 00 01 00 00 00 04 00 00 00 00 01 00 00 00 02 00 00 01 00 00 00 02 00 00 01 00 00 00 01 00 ................................
5da0 01 00 00 00 01 00 01 00 00 00 02 00 00 01 00 00 00 02 00 00 01 00 00 00 04 00 00 00 00 01 00 00 ................................
5dc0 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 ................................
5de0 00 01 00 00 00 01 00 89 a2 95 00 01 23 00 01 00 00 00 02 08 00 01 00 00 00 02 ff ff 01 00 00 00 ............#...................
5e00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 02 00 00 01 00 00 00 04 ................................
5e20 00 00 00 00 01 00 00 00 02 00 00 01 00 00 00 02 00 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 ................................
5e40 00 00 02 00 00 01 00 00 00 02 00 00 01 00 00 00 04 00 00 00 00 01 00 00 00 01 00 01 00 00 00 01 ................................
5e60 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 01 00 00 00 01 00 66 ...............................f
5e80 a2 67 00 01 46 00 01 00 00 00 02 00 02 01 00 00 00 01 01 01 00 00 00 02 01 00 01 00 00 00 01 02 .g..F...........................
5ea0 01 00 00 00 02 40 00 01 00 00 01 00 02 68 01 01 00 00 00 01 fc 01 00 00 00 02 02 00 01 00 00 00 .....@.......h..................
5ec0 02 09 00 01 00 00 00 02 01 00 01 00 00 00 02 00 00 01 00 00 00 01 00 01 00 00 00 01 01 01 00 00 ................................
5ee0 00 01 00 01 00 00 00 02 ff ff d3 a2 67 00 01 5e 00 01 00 00 00 02 00 02 01 00 00 00 01 01 01 00 ............g..^................
5f00 00 00 02 01 00 01 00 00 00 01 02 01 00 00 00 02 40 00 01 00 00 00 02 68 01 01 00 00 00 01 fc 01 ................@......h........
5f20 00 00 00 02 02 00 01 00 00 00 02 09 00 01 00 00 00 02 01 00 01 00 00 00 02 00 00 01 00 00 00 01 ................................
5f40 00 01 00 00 00 01 01 01 00 00 00 01 00 01 00 00 00 02 ff ff bb a2 67 00 01 76 00 01 00 00 00 02 ......................g..v......
5f60 00 02 01 00 00 00 01 01 01 00 00 00 02 01 00 01 00 00 00 01 02 01 00 00 00 02 40 00 01 00 00 00 ..........................@.....
5f80 02 68 01 01 00 00 00 01 fc 01 00 00 00 02 02 00 01 00 00 00 02 09 00 01 00 00 00 02 01 00 01 00 .h..............................
5fa0 00 00 02 00 00 01 00 00 00 01 00 01 00 00 00 01 01 01 00 00 00 01 00 01 00 00 00 02 ff ff a3 a2 ................................
5fc0 67 00 01 8e 00 01 00 00 00 02 00 02 01 00 00 00 01 01 01 00 00 00 02 01 00 01 00 00 00 01 02 01 g...............................
5fe0 00 00 00 02 40 00 01 00 00 00 02 68 01 01 00 00 00 01 fc 01 00 00 00 02 02 00 01 00 00 00 02 09 ....@......h....................
6000 00 01 00 00 00 02 01 00 01 00 00 00 02 00 00 01 00 00 00 01 00 01 00 00 00 01 01 01 00 00 00 01 ................................
6020 00 01 00 00 00 02 ff ff 8b a0 0c 00 01 a6 00 00 00 00 00 00 00 00 00 ad 9c 1d 00 c4 00 00 01 01 ................................
6040 46 00 c4 02 00 01 01 5e 00 c4 04 00 01 01 76 00 c4 06 00 01 01 8e 00 7b a0 8a 00 01 ae 02 00 00 F......^......v........{........
6060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 04 00 00 00 00 00 20 00 00 00 00 00 ................................
6080 00 cb 56 8d 36 00 00 e9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..V.6...........................
60a0 00 00 00 00 00 00 00 00 00 00 00 01 00 56 8d 36 00 00 e9 00 00 00 00 00 00 00 00 00 00 00 00 00 .............V.6................
60c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e0 00 00 00 00 00 12 9c 03 01 cc 0c 00 01 01 c6 02 c4 12 00 01 01 d1 02 c4 14 00 01 01 d2 02 cc 18 ................................
6100 06 01 02 c4 1e 00 01 01 d1 02 c4 20 00 01 01 fc 02 c4 27 10 01 01 da 02 84 2a 16 01 04 c4 2c 00 ..................'......*....,.
6120 01 01 34 03 c4 2e 00 01 01 91 03 c4 30 00 01 01 77 03 c4 32 06 01 01 c4 34 00 01 01 cc 03 c4 36 ..4.........0...w..2....4......6
6140 06 01 07 c4 38 06 01 06 c4 3a 06 01 06 c4 3c 00 01 01 cc 03 c4 3e 00 01 01 cc 03 c4 40 06 01 01 ....8....:....<......>......@...
6160 c4 42 06 01 01 c4 44 06 01 01 c4 46 06 01 01 c4 48 06 01 01 c4 4a 06 01 01 c4 4c 06 01 01 c4 51 .B....D....F....H....J....L....Q
6180 10 01 01 04 03 84 54 16 01 04 c4 56 00 01 01 51 03 c4 58 00 01 01 c8 03 c4 5a 00 01 01 89 03 c4 ......T....V...Q..X......Z......
61a0 5c 06 01 01 c4 5e 00 01 01 4b 04 c4 60 06 01 07 c4 62 06 01 06 c4 64 06 01 06 c4 66 00 01 01 4b \....^...K..`....b....d....f...K
61c0 04 c4 68 00 01 01 4b 04 c4 6a 06 01 01 c4 6c 06 01 01 c4 6e 06 01 01 c4 70 06 01 01 c4 72 06 01 ..h...K..j....l....n....p....r..
61e0 01 c4 74 06 01 01 c4 76 06 01 01 1e a0 6d 01 02 00 00 0e 1f cd 11 d0 c0 d0 c0 24 03 75 06 fe 06 ..t....v.....m............$.u...
6200 00 00 fe c0 fe c0 a2 00 00 b4 08 b2 80 cd 13 72 14 88 16 00 00 84 d2 74 0c 80 3e 00 00 02 76 05 ...............r.......t..>...v.
6220 c6 06 00 00 02 b2 80 bf 00 00 80 3e 00 00 00 7e 2a e8 00 00 b2 81 bf 00 00 72 09 80 3e 00 00 02 ...........>...~*........r..>...
6240 74 10 eb 17 bf 00 00 fe 0e 00 00 80 3e 00 00 00 74 09 e8 00 00 73 04 fe 0e 00 00 80 3e 00 00 00 t...........>...t....s......>...
6260 75 06 a1 00 00 a3 00 00 06 33 c0 8e c0 26 a1 4c 00 a3 00 00 b8 00 00 26 a3 4c 00 26 a1 4e 00 a3 u........3...&.L.......&.L.&.N..
6280 00 00 26 8c 0e 4e 00 26 a1 34 00 a3 00 00 26 a1 36 00 a3 00 00 26 a1 38 00 a3 00 00 26 a1 3a 00 ..&..N.&.4....&.6....&.8....&.:.
62a0 a3 00 00 07 c3 b9 01 00 b8 01 02 0e 01 07 bb 00 00 32 f6 cd 13 72 34 26 81 bf fe 01 55 aa 75 2b .................2...r4&....U.u+
62c0 c3 52 b4 08 cd 13 fe c6 88 75 0f 5a 72 1d 80 e1 3f 88 4d 0d e8 00 00 72 12 81 c3 c2 01 b9 04 00 .R.......u.Zr...?.M....r........
62e0 26 80 3f 01 74 07 83 c3 10 e2 f5 f9 c3 26 8b 47 04 89 45 11 26 8b 47 08 3d 40 00 72 ee 89 45 08 &.?.t........&.G..E.&.G.=@.r..E.
6300 b9 00 01 ba 40 00 3d 00 02 76 29 02 ed fe c1 ba 70 00 3d 00 08 76 1d 02 ed fe c1 ba 00 01 3d 00 ....@.=..v).....p.=..v........=.
6320 20 76 11 02 ed fe c1 03 d2 3d a8 7f 76 06 02 ed fe c1 03 d2 89 55 06 88 6d 02 33 db 8a dd 4b 03 .v.......=..v........U..m.3...K.
6340 d8 d3 eb 43 80 e3 fe 8b f3 d1 eb 03 de 81 c3 ff 01 d0 ef 88 7d 0b c6 45 0a f8 f8 c3 44 9c be 00 ...C................}..E....D...
6360 c4 0e 10 01 01 ae 02 c4 15 10 01 01 c4 02 c4 21 10 01 01 d0 02 c4 29 10 01 01 c4 02 c4 30 10 01 ...............!......)......0..
6380 01 c4 02 c4 36 00 01 01 76 00 c4 3a 10 01 01 d0 02 84 40 10 01 02 ce 00 c4 45 00 01 01 8e 00 c4 ....6...v..:......@......E......
63a0 4b 10 01 01 d0 02 c4 53 00 01 01 76 00 c4 57 10 01 01 d0 02 c4 5b 10 01 01 d0 02 84 61 10 01 02 K......S...v..W......[......a...
63c0 ce 00 c4 67 10 01 01 d0 02 c4 6b 10 01 01 d0 02 c4 71 10 01 01 c6 02 c4 74 10 01 01 ba 02 c4 80 ...g......k......q......t.......
63e0 10 01 01 26 03 c4 83 00 01 01 ff 05 c4 8e 10 01 01 28 03 c4 9a 10 01 01 2a 03 c4 a1 10 01 01 2c ...&.............(......*......,
6400 03 c4 a8 10 01 01 2e 03 c4 af 10 01 01 30 03 c4 bc 00 01 01 ae 00 84 e2 10 01 02 b3 00 93 a0 00 .............0..................
6420 04 01 34 03 1e 33 c0 8e d8 b8 00 00 a3 38 00 8c 0e 3a 00 1f e8 00 00 2e 8a 26 00 00 bf 00 00 eb ..4..3.......8...:.......&......
6440 2c 1e 33 c0 8e d8 b8 00 00 a3 34 00 8c 0e 36 00 1f e4 21 24 df e6 21 ba 23 03 b0 03 ee 2e 8a 26 ,.3.......4...6...!$..!.#......&
6460 00 00 bf 00 00 eb 06 26 8a 25 e8 00 00 88 67 0d 89 7f 12 8c 4f 14 e9 00 00 26 8a 25 e8 00 00 eb .......&.%....g.....O....&.%....
6480 ec b2 01 80 fc f8 74 2a 2e 80 3e 00 00 00 74 0c 2e 38 06 00 00 74 05 b2 ff eb 17 90 8b c8 32 ed ......t*..>...t..8...t........2.
64a0 8b f1 03 f6 2e 8b b4 00 00 2e f6 44 14 01 02 75 02 32 d2 88 57 0e e9 00 00 b2 01 eb f6 e8 00 00 ...........D...u.2..W...........
64c0 57 e8 00 00 8b f2 03 f1 2e 3b 75 08 8b f7 5f 76 05 b0 08 e9 00 00 0b c9 75 03 e9 00 00 2e 80 3e W........;u..._v........u......>
64e0 00 00 00 74 03 e8 00 00 e8 00 00 1e 07 0e 1f 8d 36 00 00 ba 04 00 2e ff 1e 00 00 06 1f 9c fa 2e ...t............6...............
6500 f6 06 00 00 01 75 1b 1e 53 2e 80 0e 00 00 01 2e c7 06 00 00 00 00 e8 00 00 5b 1f f7 47 03 00 01 .....u..S................[..G...
6520 75 10 8c d8 33 c9 53 ba 09 00 2e ff 1e 00 00 5b eb e9 9d 8b 47 03 8b 4f 12 e9 00 00 e8 00 00 57 u...3.S........[....G..O.......W
6540 e8 00 00 8b f2 03 f1 2e 3b 75 08 8b f7 5f 76 05 b0 08 e9 00 00 0b c9 75 03 e9 00 00 e8 00 00 1e ........;u..._v........u........
6560 07 0e 1f 8d 36 00 00 ba 04 00 2e ff 1e 00 00 06 1f 9c fa 2e f6 06 00 00 01 75 1b 1e 53 2e 80 0e ....6....................u..S...
6580 00 00 01 2e c7 06 00 00 00 00 e8 00 00 5b 1f f7 47 03 00 01 75 10 8c d8 33 c9 53 ba 09 00 2e ff .............[..G...u...3.S.....
65a0 1e 00 00 5b eb e9 9d 8b 47 03 8b 4f 12 e9 00 00 52 51 8b c1 2e f7 24 8c c2 b1 04 d3 e2 03 d7 f8 ...[....G..O....RQ....$.........
65c0 03 d0 73 2a 53 9c fa 2e f6 06 00 00 01 74 17 2e 80 0e 00 00 02 8c c8 bb 00 00 33 c9 ba 09 00 2e ..s*S........t............3.....
65e0 ff 1e 00 00 eb e0 2e 80 0e 00 00 01 9d 5b 59 5a c3 51 9c 53 9c fa 2e f6 06 00 00 01 74 17 2e 80 .............[YZ.Q.S........t...
6600 0e 00 00 02 8c c8 bb 00 00 33 c9 ba 09 00 2e ff 1e 00 00 eb e0 2e 80 0e 00 00 01 9d 5b 2e 80 26 .........3..................[..&
6620 00 00 fe 8a 47 01 2e 3a 06 00 00 74 62 fa 2e 80 0e 00 00 01 2e f6 06 00 00 01 74 2c 53 9c fa 2e ....G..:...tb.............t,S...
6640 f6 06 00 00 01 74 17 2e 80 0e 00 00 02 8c c8 bb 00 00 33 c9 ba 09 00 2e ff 1e 00 00 eb e0 2e 80 .....t............3.............
6660 0e 00 00 01 9d 5b eb b5 9d 9c 04 41 2e a2 00 00 1e 56 53 0e 1f 8d 36 00 00 ac 0a c0 74 04 cd 29 .....[.....A.....VS...6.....t..)
6680 eb f7 b4 01 cd 16 74 fa 32 e4 cd 16 5b 5e 1f 53 2e f6 06 00 00 02 74 0d 8c c8 bb 00 00 ba 0a 00 ......t.2...[^.S......t.........
66a0 2e ff 1e 00 00 2e 80 26 00 00 fc 5b 9d 59 01 c3 0d 0a 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 .......&...[.Y....Insert.diskett
66c0 65 20 66 6f 72 20 64 72 69 76 65 20 41 3a 20 61 6e 64 20 73 74 72 69 6b 65 0d 0a 61 6e 79 20 6b e.for.drive.A:.and.strike..any.k
66e0 65 79 20 77 68 65 6e 20 72 65 61 64 79 0d 0a 0a 00 52 51 53 50 9c fa 2e 80 3e 00 00 00 74 11 8c ey.when.ready....RQSP....>...t..
6700 c8 bb 00 00 33 c9 ba 09 00 2e ff 1e 00 00 eb e6 2e c6 06 00 00 01 9d 9c fa 2e 80 3e 00 00 00 74 ....3......................>...t
6720 11 8c c8 bb 00 00 33 c9 ba 09 00 2e ff 1e 00 00 eb e6 9d fb 58 5b 59 5a 52 51 53 9c 2e ff 1e 00 ......3.............X[YZRQS.....
6740 00 2e c6 06 00 00 00 50 9c 8c c8 bb 00 00 ba 0a 00 2e ff 1e 00 00 9d 58 5b 59 5a ca 02 00 00 00 .......P...............X[YZ.....
6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 1f 8b 1e 00 00 03 db ff a7 00 00 be 00 ................................
6780 00 c4 1e 00 00 26 8a 47 01 e8 00 00 e8 00 00 c7 06 00 00 01 00 eb db be 00 00 c4 1e 00 00 26 8a .....&.G......................&.
67a0 47 01 e8 00 00 e8 00 00 f6 06 00 00 04 75 09 b0 44 c6 06 00 00 08 eb 07 b0 48 c6 06 00 00 0a b4 G............u..D........H......
67c0 03 e8 00 00 a0 00 00 b1 05 d3 e0 0a 06 00 00 a2 00 00 a1 00 00 a2 00 00 d1 e8 d1 e8 24 c0 0a 06 ............................$...
67e0 00 00 a2 00 00 a0 00 00 a2 00 00 c6 06 00 00 05 b0 03 e8 00 00 b0 07 f6 06 00 00 08 74 02 b0 06 ............................t...
6800 a2 00 00 c3 c7 06 00 00 07 00 e9 00 00 a0 00 00 24 14 3c 10 75 13 1e 06 8b 0e 00 00 c4 3e 00 00 ................$.<.u........>..
6820 c5 36 21 9c 28 03 c4 06 00 01 01 17 0a 84 11 10 01 01 bd 0d c4 16 10 01 01 c4 02 c4 19 00 01 01 .6!.(...........................
6840 a6 00 c4 23 00 01 01 c0 07 c4 3c 10 01 01 d0 02 c4 3f 00 01 01 aa 00 84 47 10 01 01 bc 0c 84 53 ...#......<......?......G......S
6860 16 01 06 84 59 10 01 01 22 0d c4 67 10 01 01 ae 02 c4 6f 10 01 01 07 00 c4 83 10 01 01 a6 00 84 ....Y..."..g......o.............
6880 92 16 01 06 84 99 10 01 01 30 0d 84 9d 10 01 01 bc 0c 84 af 16 01 08 84 b6 16 01 06 c4 bb 10 01 .........0......................
68a0 01 ae 02 84 c1 10 01 01 00 05 84 c4 10 01 01 01 bf 04 c4 cc 10 01 01 b2 02 c4 d4 16 01 03 c4 dd ................................
68c0 10 01 01 05 00 c4 e7 10 01 01 05 00 c4 ed 14 01 01 84 f2 10 01 01 55 08 c5 08 16 01 03 85 15 16 ......................U.........
68e0 01 05 85 18 10 01 01 30 0d 85 1c 10 01 01 22 0d 85 2e 16 01 08 85 35 16 01 06 85 38 10 01 01 bf .......0......".......5....8....
6900 04 c5 40 10 01 01 b6 02 c5 48 16 01 03 c5 51 10 01 01 28 00 c5 5b 10 01 01 28 00 c5 61 10 01 01 ..@......H....Q...(..[...(..a...
6920 23 00 85 66 10 01 01 80 06 c5 7c 16 01 03 85 89 16 01 05 c5 a5 10 01 01 b1 02 c5 ad 10 01 01 b1 #..f......|.....................
6940 02 c5 b3 00 01 01 b1 02 c5 bd 16 01 03 c5 c4 10 01 01 b1 02 c5 d4 10 01 01 af 02 c5 dc 10 01 01 ................................
6960 af 02 c5 e2 00 01 01 af 02 c5 ec 16 01 03 c5 f3 10 01 01 af 02 c5 fb 10 01 01 af 02 c6 04 10 01 ................................
6980 01 07 00 c6 0c 10 01 01 af 02 c6 12 10 01 01 05 00 c6 1d 10 01 01 b0 02 c6 25 10 01 01 b0 02 c6 .........................%......
69a0 2b 00 01 01 b0 02 c6 35 16 01 03 c6 3c 10 01 01 b0 02 c6 49 10 01 01 da 05 c6 52 10 01 01 be 05 +......5....<......I......R.....
69c0 c6 6e 10 01 01 af 02 c6 76 00 01 01 af 02 c6 7e 16 01 03 c6 83 10 01 01 af 02 c6 d4 10 01 01 33 .n......v......~...............3
69e0 03 c6 dc 00 01 01 33 03 c6 e6 16 01 03 c6 ed 10 01 01 33 03 c6 f6 10 01 01 32 03 c6 fe 00 01 01 ......3...........3......2......
6a00 32 03 c7 08 16 01 03 c7 19 10 01 01 26 03 c7 1e 10 01 01 33 03 c7 26 00 01 01 33 03 c7 2e 16 01 2...........&......3..&...3.....
6a20 03 c7 38 00 01 01 8c 06 c7 3a 00 01 01 a5 06 c7 3c 00 01 01 65 07 c7 3e 00 01 01 65 07 c7 40 00 ..8......:......<...e..>...e..@.
6a40 01 01 65 07 c7 42 00 01 01 65 07 c7 44 00 01 01 12 07 c7 46 00 01 01 1b 07 c7 48 00 01 01 5f 07 ..e..B...e..D......F......H..._.
6a60 c7 4a 00 01 01 65 07 c7 50 10 01 01 23 00 c7 56 10 01 01 6c 06 c7 59 00 01 01 23 00 c7 5d 10 01 .J...e..P...#..V...l..Y...#..]..
6a80 01 b6 02 87 64 10 01 01 22 0d 87 67 10 01 01 3e 0b c7 6b 10 01 01 23 00 c7 72 00 01 01 23 00 c7 ....d..."..g...>..k...#..r...#..
6aa0 76 10 01 01 b6 02 87 7d 10 01 01 22 0d 87 80 10 01 01 01 7f 0b c7 84 10 01 01 28 00 c7 8d 10 01 v......}..."..............(.....
6ac0 01 3f 00 c7 96 10 01 01 3f 00 87 9c 10 01 01 02 0c c7 9f 10 01 01 2a 00 c7 a7 10 01 01 36 00 c7 .?......?.............*......6..
6ae0 aa 10 01 01 40 00 c7 ad 10 01 01 33 00 c7 b0 10 01 01 42 00 c7 ba 10 01 01 35 00 c7 bd 10 01 01 ....@......3......B......5......
6b00 41 00 c7 c0 10 01 01 37 00 c7 c3 10 01 01 43 00 c7 c7 10 01 01 44 00 87 cd 10 01 01 5b 0d c7 d3 A......7......C......D......[...
6b20 10 01 01 28 00 c7 db 10 01 01 23 00 c7 e0 10 01 01 23 00 87 e5 10 01 01 80 06 c7 e8 10 01 01 28 ...(......#......#.............(
6b40 00 c7 f4 10 01 01 39 00 c7 f8 10 01 01 2d 00 0b a0 00 04 01 30 07 00 00 fc f3 a4 07 1f a1 00 00 ......9......-......0...........
6b60 29 06 00 00 74 14 01 06 00 00 a1 00 00 01 06 00 00 c7 06 00 00 01 00 e9 00 00 bf 00 00 be 00 00 )...t...........................
6b80 e8 00 00 eb f2 80 26 00 00 fe c3 c7 06 00 00 07 00 a0 00 00 8a d8 81 e3 30 00 b1 03 d3 eb 8b 9f ......&.................0.......
6ba0 00 00 25 0f 00 3a 07 73 07 03 d8 8a 67 01 eb 02 b4 0c 06 c4 3e 00 00 8a c4 b4 81 26 89 45 03 07 ..%..:.s....g.......>......&.E..
6bc0 eb b8 00 00 00 00 00 00 00 00 09 0c 02 06 0a 02 0c 06 0c 06 0a 04 04 08 0c 08 06 0c 0c 04 06 02 ................................
6be0 03 08 03 04 04 04 2e 80 3e 00 00 01 75 25 2e 80 3e 00 00 00 74 1d 2e 80 3e 00 00 00 75 15 cd 32 ........>...u%..>...t...>...u..2
6c00 9c 2e ff 1e 00 00 e4 21 24 df e6 21 ba 23 03 b0 03 ee cf 2e f6 06 00 00 01 74 45 cd 32 ba 20 03 .......!$..!.#...........tE.2...
6c20 ec a8 02 74 38 0e 1f 80 3e 00 00 05 73 0d fe 06 00 00 c7 06 00 00 00 00 eb 23 90 c6 06 00 00 03 ...t8...>...s............#......
6c40 32 c0 e8 00 00 0e 07 bf 00 00 b9 05 00 e8 00 00 ba 20 03 ec aa e2 f6 c7 06 00 00 09 00 e8 00 00 2...............................
6c60 50 b0 20 e6 20 58 cf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 1f 8b 1e 00 P....X..........................
6c80 00 03 db ff a7 00 00 be 00 00 c4 1e 00 00 26 8a 47 01 26 8a 67 0d e8 00 00 e8 00 00 ba f7 03 b0 ..............&.G.&.g...........
6ca0 02 ee c7 06 00 00 01 00 eb d1 be 00 00 c4 1e 00 00 05 03 00 09 02 01 02 03 04 05 06 07 08 09 01 ................................
6cc0 26 8a 47 01 26 8a 67 0d e8 00 00 e8 00 00 c7 06 00 00 02 00 e8 00 00 73 b1 c3 e8 00 00 80 4f 14 &.G.&.g................s......O.
6ce0 02 f6 47 14 01 74 0d e8 00 00 c7 06 00 00 03 00 e8 00 00 c3 e8 00 00 73 3a c7 06 00 00 04 00 e8 ..G..t.................s:.......
6d00 00 00 e8 00 00 c3 e8 00 00 0b c0 75 12 e8 00 00 c7 06 00 00 02 00 eb 9f e8 00 00 0b c0 74 14 e8 ...........u.................t..
6d20 00 00 80 4f 14 01 c7 06 00 00 09 00 80 0e 00 00 08 eb e3 c7 06 00 00 05 00 b0 09 e8 00 00 32 e4 ...O..........................2.
6d40 e8 00 00 73 d1 c3 c7 06 00 00 06 00 e8 00 00 e8 00 00 e8 00 00 c3 e8 00 00 0b c0 74 08 c7 06 00 ...s.......................t....
6d60 00 09 00 eb b1 c7 06 00 00 07 00 eb a9 a0 00 00 24 1c 3c 10 75 13 1e 06 8b 0e 00 00 c4 3e 00 00 ................$.<.u........>..
6d80 c5 36 00 00 fc f3 a4 07 1f 24 0c 3c 0c 75 0d 80 26 00 00 fb c7 06 00 00 05 00 eb cf 3c 08 75 05 .6.......$.<.u..&...........<.u.
6da0 80 0e 00 00 04 a1 00 00 29 06 00 00 74 13 01 06 00 00 a1 00 00 01 06 00 00 c7 06 00 00 01 00 eb ........)...t...................
6dc0 aa bf 00 00 be 00 00 e8 00 00 eb f3 e8 00 00 e8 00 00 80 26 00 00 fe f6 06 00 00 02 74 0c 8c c8 ...................&........t...
6de0 bb 00 00 ba 0a 00 ff 1e 00 00 80 26 00 00 fc c3 e8 00 00 80 3e 00 00 05 73 0c fe 06 00 00 c7 06 ...........&........>...s.......
6e00 00 00 00 00 eb b9 e8 00 00 2e 80 4f 14 01 c7 06 00 00 07 00 a1 00 00 b3 02 a8 0c 75 1e b3 06 f6 ...........O...............u....
6e20 c4 08 75 17 b3 04 f6 c4 30 75 10 b3 08 f6 c4 85 75 09 b3 00 f6 c4 02 75 02 b3 0c 06 c4 3e 00 00 ..u.....0u......u......u.....>..
6e40 8a c3 b4 81 26 89 45 03 07 e9 00 00 2e 80 3e 00 00 00 74 11 2e 80 3e 00 00 00 75 09 cd 32 9c 2e ....&.E.......>...t...>...u..2..
6e60 ff 1e 00 00 cf 2e f6 06 00 00 01 74 05 cd 32 e8 00 00 50 b0 20 e6 20 58 cf 00 32 00 00 85 c0 75 ...........t..2...P....X..2....u
6e80 02 f8 c3 2e f6 36 00 00 84 e4 74 02 fe c0 2e a2 00 00 2e 80 0e 00 00 01 f9 c3 2e f6 06 00 00 02 .....6....t.....................
6ea0 75 0c 2e c6 06 00 00 14 2e 80 0e 00 00 02 2e c6 47 13 02 c3 2e f6 06 00 00 ff 75 01 cb 2e f6 06 u...............G.........u.....
6ec0 01 00 00 01 74 11 2e fe 0e 00 00 75 0a 2e 80 26 00 00 fe e8 00 00 cb 2e f6 06 00 00 02 74 07 2e ....t......u...&.............t..
6ee0 fe 0e 00 00 74 03 e9 00 00 b3 14 2e 88 1e 00 00 32 ed 33 ff 8b df 03 db 2e 8b 9f 00 00 2e f6 47 ....t...........2.3............G
6f00 14 02 74 5d 2e 80 7f 13 00 74 56 2e fe 4f 13 75 4e 2e 3b 3e 00 00 75 21 2e f6 06 00 00 01 74 19 ..t].....tV..O.uN.;>..u!......t.
6f20 2e c7 06 00 00 09 00 2e c6 06 00 00 05 2e c6 06 00 00 48 e8 00 00 eb 3b 90 2e 80 67 14 fd 8b c7 ..................H....;...g....
6f40 8a c8 80 c1 04 b0 01 d2 e0 2e 84 06 00 00 74 11 f6 d0 2e 20 06 00 00 ba f2 03 2e a0 00 00 ee fe ..............t.................
6f60 c5 47 02 9c c9 03 c4 00 10 01 01 3b 00 c4 08 10 01 01 37 00 c4 0c 10 01 01 31 00 c4 12 10 01 01 .G.........;......7......1......
6f80 2b 00 c4 15 10 01 01 39 00 c4 19 10 01 01 2d 00 c4 1d 10 01 01 23 00 84 22 10 01 01 80 06 c4 25 +......9......-......#.."......%
6fa0 00 01 01 23 00 c4 28 00 01 01 b6 02 84 2b 10 01 01 45 0c c4 31 10 01 01 28 00 c4 37 10 01 01 23 ...#..(......+...E..1...(..7...#
6fc0 00 c4 3c 10 01 01 3f 00 c4 4a 10 01 01 9c 07 c4 5f 10 01 01 b6 02 c4 6c 00 01 01 a4 07 c4 6e 00 ..<...?..J......_......l......n.
6fe0 01 01 ae 07 c4 70 00 01 01 b9 07 c4 72 00 01 01 bc 07 c4 93 10 01 01 34 03 c4 9b 10 01 01 33 03 .....p......r..........4......3.
7000 c4 a3 10 01 01 32 03 c4 ae 10 01 01 2a 03 c4 c0 10 01 01 28 00 c4 d3 10 01 01 27 00 c4 da 10 01 .....2......*......(......'.....
7020 01 27 00 c4 de 10 01 01 23 00 c4 e7 10 01 01 3f 00 84 ed 10 01 01 5b 0d c4 f2 00 01 01 3f 00 84 .'......#......?......[......?..
7040 f8 10 01 01 7a 0d c5 03 10 01 01 23 00 85 08 10 01 01 80 06 c5 11 00 01 01 61 08 c5 13 00 01 01 ....z......#.............a......
7060 84 08 c5 15 00 01 01 a5 08 c5 17 00 01 01 d1 08 c5 19 00 01 01 e3 08 c5 1b 00 01 01 11 09 c5 1d ................................
7080 00 01 01 21 09 c5 1f 00 01 01 38 09 c5 21 00 01 01 97 09 c5 23 00 01 01 bb 09 c5 29 14 01 01 c5 ...!......8..!......#......)....
70a0 2f 10 01 01 41 08 c5 32 04 01 01 c5 36 10 01 01 b2 02 85 41 10 01 01 bc 0c 85 44 10 01 01 3e 0b /...A..2....6......A......D...>.
70c0 c5 01 4e 14 01 01 c5 55 04 01 01 c5 59 10 01 01 b2 02 85 64 10 01 01 bc 0c 85 67 10 01 01 7f 0b ..N....U....Y......d......g.....
70e0 c5 6b 14 01 01 85 70 10 01 01 ff 0d 85 76 10 01 01 83 0d 85 83 10 01 01 65 0a c5 87 14 01 01 85 .k....p......v..........e.......
7100 8c 10 01 01 a5 0d 85 90 10 01 01 79 0e c5 96 14 01 01 85 9b 10 01 01 83 0d 85 9e 10 01 01 65 0a ...........y..................e.
7120 85 a2 10 01 01 ea 0d 85 a9 10 01 01 d4 0d c5 ad 14 01 01 85 b4 10 01 01 ea 0d 85 bb 10 01 01 83 ................................
7140 0d c5 c3 14 01 01 c5 c9 10 01 01 1d 00 c5 d0 14 01 01 85 d7 10 01 01 90 0d 85 dc 10 01 01 48 0a ..............................H.
7160 c5 e3 14 01 01 85 e8 10 01 01 af 0e 85 eb 10 01 01 83 0d 85 ee 10 01 01 65 0a 85 f2 10 01 01 17 ........................e.......
7180 0f c5 fa 14 01 01 c6 02 14 01 01 c6 09 10 01 01 05 00 c6 15 10 01 01 16 00 c6 19 10 01 01 0a 00 ................................
71a0 c6 1d 10 01 01 18 00 c6 2c 10 01 01 05 00 c6 31 14 01 01 c6 3d 10 01 01 05 00 c6 41 10 01 01 14 ........,......1....=......A....
71c0 00 c6 45 10 01 01 0e 00 c6 4b 10 01 01 08 00 c6 4e 10 01 01 16 00 c6 52 10 01 01 0a 00 c6 56 14 ..E......K......N......R......V.
71e0 01 01 c6 5d 04 01 01 c6 60 00 01 01 b2 02 86 63 10 01 01 45 0c 86 68 10 01 01 83 0d 86 6b 10 01 ...]....`......c...E..h......k..
7200 01 65 0a c6 6f 10 01 01 05 00 c6 74 10 01 01 b0 02 c6 7c 00 01 01 b0 02 c6 83 16 01 03 c6 87 10 .e..o......t......|.............
7220 01 01 b0 02 86 8c 10 01 01 bd 0d c6 90 10 01 01 04 00 c6 97 10 01 01 04 00 c6 9b 14 01 01 86 a2 ................................
7240 10 01 01 83 0d c6 ab 14 01 01 c6 b0 10 01 01 1c 00 c6 d9 10 01 01 b2 02 86 e5 10 01 01 8c 09 c6 ................................
7260 ea 10 01 01 33 03 c6 f2 10 01 01 32 03 c6 fd 10 01 01 2e 03 c7 03 10 01 01 05 00 87 0b 10 01 01 ....3......2....................
7280 55 08 c7 21 10 01 01 45 0a c7 2b 10 01 01 46 0a c7 30 10 01 01 44 0a c7 38 10 01 01 44 0a c7 40 U..!...E..+...F..0...D..8...D..@
72a0 10 01 01 47 0a c7 46 10 01 01 44 0a c7 52 10 01 01 44 0a c7 5b 10 01 01 44 0a c7 63 10 01 01 46 ...G..F...D..R...D..[...D..c...F
72c0 0a c7 01 6a 10 01 01 44 0a 87 6e 10 01 01 55 08 c7 74 10 01 01 44 0a c7 7c 10 01 01 47 0a 87 81 ...j...D..n...U..t...D..|...G...
72e0 10 01 01 3d 0b c7 88 10 01 01 47 0a c7 95 10 01 01 a6 00 c7 ae 10 01 01 02 00 c7 b5 10 01 01 05 ...=......G.....................
7300 00 c7 bd 14 01 01 c7 c4 10 01 01 04 00 c7 ca 10 01 01 1c 00 87 ce 10 01 01 55 08 c7 e6 10 01 01 .........................U......
7320 06 00 c7 ef 10 01 01 06 00 c7 f6 10 01 01 06 00 e1 a0 00 04 01 2c 0b 2e 3b 3e 00 00 75 8b 0a ed .....................,..;>..u...
7340 75 06 2e 80 26 00 00 fd cb 26 8b 47 12 89 44 0e 26 8b 47 0e 89 44 0a 26 8b 47 10 89 44 0c 26 8a u...&....&.G..D.&.G..D.&.G..D.&.
7360 47 01 88 44 07 26 8b 47 14 03 45 11 89 44 08 80 64 05 03 26 80 7f 02 04 74 0f 80 4c 05 04 26 80 G..D.&.G..E..D..d..&....t..L..&.
7380 7f 02 09 75 04 80 4c 05 08 c3 06 c4 4c 0a 89 4c 18 8c 44 1a 80 64 05 ef 07 8b 44 08 33 d2 f7 75 ...u..L.....L..L..D..d....D.3..u
73a0 0d 88 54 12 33 d2 f7 75 0f 88 54 13 89 44 10 8b 45 0d 2a 44 12 32 e4 3b 44 0e 72 03 8b 44 0e 89 ..T.3..u..T..D..E.*D.2.;D.r..D..
73c0 44 14 8b 44 1a b1 04 d3 e0 03 44 18 8b c8 8b 05 f7 64 14 89 44 16 03 c1 73 32 80 4c 05 20 ff 4c D..D......D......d..D...s2.L...L
73e0 14 75 eb ff 44 14 80 4c 05 10 8c c8 bf 00 00 89 7c 18 89 44 1a f6 44 05 04 74 11 06 1e 56 8e c0 .u..D..L........|..D..D..t...V..
7400 8b 4c 16 c5 74 0a fc f3 a4 5e 1f 07 c3 50 86 e0 0c 04 e6 0a e6 0c 58 50 0a c4 e6 0b ba 00 00 d0 .L..t....^...P........XP........
7420 c4 02 d4 8b 44 1a b1 04 d3 c0 8a e8 24 f0 03 44 18 80 d5 00 ee 8a c4 ee 42 8b 44 16 48 ee 8a c4 ....D.......$..D........B.D.H...
7440 ee 58 b2 7f 02 d4 8a c5 24 0f ee 8a c4 e6 0a c3 0e 1f c6 45 04 00 c7 05 08 00 ba 02 00 ff 1e 00 .X......$..........E............
7460 00 74 20 8b 45 0e 26 29 47 12 26 81 4f 03 00 01 8c c0 ba 0a 00 ff 1e 00 00 83 7c 02 00 74 04 c7 .t..E.&)G.&.O.............|..t..
7480 05 00 00 f6 45 05 20 74 1c f6 06 00 00 02 74 0c 8c c8 bb 00 00 ba 0a 00 ff 1e 00 00 80 26 00 00 ....E..t......t..............&..
74a0 fc 80 65 05 df 53 83 3e 00 00 08 75 18 83 3e 00 00 08 75 11 c6 06 00 00 00 8c d8 bb 00 00 ba 0a ..e..S.>...u..>...u.............
74c0 00 ff 1e 01 00 00 5b c3 50 53 51 52 8a cc 80 e1 f8 80 f9 f8 74 02 b4 fe 8a d8 32 ff 03 db 2e 8b ......[.PSQR........t.....2.....
74e0 bf 00 00 2e 3a 65 0a 74 40 b0 01 bb 08 40 b9 40 01 ba 01 01 f6 c4 02 75 07 fe c0 fe c3 83 c1 28 ....:e.t@....@.@.......u.......(
7500 f6 c4 01 74 08 03 c9 b7 70 fe c6 fe c2 2e 88 75 02 2e 88 7d 06 2e 89 4d 08 2e 88 65 0a 2e 88 45 ...t....p......u...}...M...e...E
7520 0b 2e 88 5d 0d 2e 88 55 0f 5a 59 5b 58 c3 53 8a d8 32 ff 03 db 2e 8b bf 00 00 5b c3 9c fa 2e 80 ...]...U.ZY[X.S..2........[.....
7540 3e 00 00 00 74 19 52 51 53 50 8c c8 bb 00 00 33 c9 ba 09 00 2e ff 1e 00 00 58 5b 59 5a eb de 2e >...t.RQSP.....3.........X[YZ...
7560 c6 06 00 00 01 9d c3 ba 22 03 ee 42 ee ba 21 03 ec 24 0f 3c 0d 75 f9 be 00 00 b9 06 00 fc 4a ac ........"..B..!..$.<.u........J.
7580 ee e2 fc 42 ec c3 ba 21 03 ec a8 01 74 f8 c3 2e 8b 1e 00 00 03 db 2e 8b 9f 00 00 c3 1e 53 32 e4 ...B...!....t................S2.
75a0 8b d8 33 c0 8e d8 c5 06 78 00 03 d8 8a 07 5b 1f c3 2e 80 67 14 fe 2e c7 47 16 ff ff b0 07 e8 00 ..3.....x.....[....g....G.......
75c0 00 2e a1 00 00 e8 00 00 c3 2e a0 00 00 24 f3 ba f2 03 ee b9 10 27 e2 fe 0c 0c 2e a2 00 00 ee c3 .............$.......'..........
75e0 b0 03 e8 00 00 b0 00 e8 00 00 e8 00 00 b0 01 e8 00 00 e8 00 00 c3 b0 08 e8 00 00 e8 00 00 50 e8 ..............................P.
7600 00 00 58 b1 06 d2 e8 25 03 00 c3 ba f2 03 2e 8a 0e 00 00 32 ed 2e 80 3e 00 00 00 74 02 8a cd 2e ..X....%...........2...>...t....
7620 3b 0e 00 00 2e 89 0e 00 00 75 15 80 c1 04 b0 01 d2 e0 2e 84 06 00 00 74 07 2e a0 00 00 ee f8 c3 ;........u.............t........
7640 b0 fc 2e 22 06 00 00 0c 0c 2e 8a 0e 00 00 0a c1 2e a2 00 00 80 c1 04 b0 01 d2 e0 2e 84 06 00 00 ..."............................
7660 74 0c 2e a0 00 00 ee b8 23 00 e8 00 00 c3 2e 08 06 00 00 2e a0 00 00 ee b0 0a e8 00 00 b1 7d f6 t.......#.....................}.
7680 e1 e8 00 00 c3 2e a1 00 00 2e 3b 47 16 74 2b 2e 89 47 16 b0 0f e8 00 00 2e a0 00 00 d0 e0 d0 e0 ..........;G.t+..G..............
76a0 2e 02 06 00 00 e8 00 00 2e a1 00 00 2e f6 06 00 00 02 74 02 03 c0 e8 00 00 f9 c3 b4 02 be 00 00 ..................t.............
76c0 2e f6 06 00 01 00 04 75 09 b0 44 e8 00 00 b0 46 eb 07 b0 48 e8 00 00 b0 45 e8 00 00 2e a0 00 00 .......u..D....F...H....E.......
76e0 02 c0 02 c0 2e 02 06 00 00 e8 00 00 2e a1 00 00 e8 00 00 2e a0 00 00 e8 00 00 2e a0 00 00 fe c0 ................................
7700 e8 00 00 b0 03 e8 00 00 e8 00 00 b0 04 e8 00 00 e8 00 00 b0 05 e8 00 00 e8 00 00 b0 06 e8 00 00 ................................
7720 e8 00 00 c3 06 57 0e 07 bf 00 00 b9 07 00 e8 00 00 aa e2 fa 2e 3b 9c 3f 02 c4 03 10 01 01 c4 02 .....W...............;.?........
7740 c4 0e 10 01 01 44 0a c4 b6 00 01 01 ae 00 c5 28 16 01 03 c5 40 16 01 03 c5 54 10 01 01 b1 02 c5 .....D.........(....@....T......
7760 5c 00 01 01 b1 02 c5 63 16 01 03 c5 67 10 01 01 b1 02 c5 71 14 01 01 c5 78 10 01 01 23 00 c5 7f \......c....g......q....x...#...
7780 10 01 01 32 03 c5 85 00 01 01 32 03 c5 8c 16 01 03 c5 a9 10 01 01 a6 00 c6 00 10 01 01 aa 00 c6 ...2......2.....................
77a0 09 10 01 01 33 03 c6 15 00 01 01 33 03 c6 1f 16 01 03 c6 2a 10 01 01 32 03 c6 40 00 01 01 3f 00 ....3......3.......*...2..@...?.
77c0 c6 5a 10 01 01 02 00 c6 61 10 01 01 a6 00 86 87 10 01 01 35 0f c6 8b 10 01 01 02 00 86 8e 10 01 .Z......a..........5............
77e0 01 35 0f c6 93 10 01 01 06 00 c6 a4 10 01 01 06 00 86 ab 10 01 01 35 0f 86 b0 10 01 01 90 0d 86 .5....................5.........
7800 b3 10 01 01 35 0f 86 b8 10 01 01 90 0d 86 bb 10 01 01 35 0f 86 c1 10 01 01 35 0f 86 c4 10 01 01 ....5.............5......5......
7820 46 0f 86 c8 10 01 01 46 0f c6 d9 10 01 01 07 00 c6 e0 10 01 01 ae 02 c6 ea 10 01 01 02 00 c6 ef F......F........................
7840 10 01 01 02 00 c6 fd 10 01 01 06 00 c7 03 10 01 01 06 00 c7 0d 10 01 01 06 00 c7 14 10 01 01 02 ................................
7860 00 c7 1a 10 01 01 06 00 c7 26 10 01 01 06 00 c7 2c 10 01 01 06 00 87 33 10 01 01 48 0a c7 39 10 .........&......,......3...H..9.
7880 01 01 06 00 c7 3d 10 01 01 06 00 87 43 10 01 01 90 0d 87 4a 10 01 01 48 0a c7 4f 10 01 01 10 00 .....=......C......J...H..O.....
78a0 87 5e 10 01 01 35 0f c7 62 10 01 01 13 00 c7 6b 10 01 01 02 00 87 6e 10 01 01 35 0f c7 72 10 01 .^...5..b......k......n...5..r..
78c0 01 10 00 c7 77 01 10 01 01 05 00 87 7f 10 01 01 35 0f c7 86 04 01 01 c7 8b 10 01 01 05 00 87 93 ....w...........5...............
78e0 10 01 01 02 0c 87 9c 10 01 01 02 0c 87 a1 10 01 01 35 0f c7 a5 10 01 01 13 00 c7 ae 10 01 01 02 .................5..............
7900 00 87 b1 10 01 01 35 0f c7 b5 10 01 01 10 00 87 b8 10 01 01 35 0f c7 bc 10 01 01 13 00 87 bf 10 ......5.............5...........
7920 01 01 35 0f c7 c3 10 01 01 12 00 87 c8 10 01 01 35 0f 87 cd 10 01 01 90 0d 87 d0 10 01 01 35 0f ..5.............5.............5.
7940 87 d5 10 01 01 90 0d 87 d8 10 01 01 35 0f 87 dd 10 01 01 90 0d 87 e0 10 01 01 35 0f 87 e5 10 01 ............5.............5.....
7960 01 90 0d 87 e8 10 01 01 35 0f c7 f0 00 01 01 1c 00 87 f6 10 01 01 46 0f 2f a0 31 00 01 28 0f a0 ........5.............F./.1..(..
7980 00 00 b1 06 d2 e8 25 03 00 5f 07 c3 50 ba f4 03 ec 24 c0 3c 80 75 f6 58 ba f5 03 ee c3 ba f4 03 ......%.._..P....$.<.u.X........
79a0 ec 24 c0 3c c0 75 f6 ba f5 03 ec c3 99 9c 08 00 c4 01 10 01 01 1c 00 69 90 10 00 01 02 09 44 49 .$.<.u.................i......DI
79c0 53 4b 5f 49 4e 49 54 00 00 00 96 90 13 00 00 01 0c 46 4c 4f 50 50 59 44 45 56 49 43 45 ba 02 00 SK_INIT..........FLOPPYDEVICE...
79e0 0a 90 12 00 01 01 0b 46 4c 4f 50 50 59 54 49 4d 45 52 7f 0a 00 6d 8a 02 00 00 74 00 00 00 00 00 .......FLOPPYTIMER...m....t.....
7a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ac0 00 00 00 00 00 00 01 43 4f 4e 53 46 4c 41 47 0d 0a 43 4f 4e 54 42 4c 3a 0d 0a 09 44 57 09 53 65 .......CONSFLAG..CONTBL:...DW.Se
7ae0 74 41 64 64 72 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 tAddr...DW.StatusComplete...DW.S
7b00 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 tatusComplete...DW.CMDERR...DW.C
7b20 4f 4e 24 52 45 41 44 0d 0a 09 44 57 09 43 4f 4e 24 52 44 4e 44 0d 0a 09 44 57 09 53 74 61 74 75 ON$READ...DW.CON$RDND...DW.Statu
7b40 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 43 4f 4e 24 46 4c 53 48 0d 0a 09 44 57 09 43 4f 4e sComplete...DW.CON$FLSH...DW.CON
7b60 24 57 52 49 54 0d 0a 09 44 57 09 43 4f 4e 24 57 52 49 54 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d $WRIT...DW.CON$WRIT...DW.CMDERR.
7b80 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 ..DW.CMDERR...DW.CMDERR...DW.CMD
7ba0 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 ERR...DW.CMDERR...DW.CMDERR...DW
7bc0 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d .CMDERR...DW.CMDERR...DW.CMDERR.
7be0 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 ..DW.CMDERR...DW.CMDERR...DW.CMD
7c00 45 52 52 0d 0a 45 4e 44 49 46 09 3b 43 4f 4e 53 46 4c 41 47 0d 0a 0d 0a 41 55 58 54 42 4c 3a 0d ERR..ENDIF.;CONSFLAG....AUXTBL:.
7c20 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 43 ..DW.StatusComplete...DW.StatusC
7c40 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 omplete...DW.StatusComplete...DW
7c60 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 41 55 58 24 52 45 41 44 0d 0a 09 44 57 09 41 55 58 24 52 .CMDERR...DW.AUX$READ...DW.AUX$R
7c80 44 4e 44 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 41 55 58 DND...DW.StatusComplete...DW.AUX
7ca0 24 46 4c 53 48 0d 0a 09 44 57 09 41 55 58 24 57 52 49 54 0d 0a 09 44 57 09 41 55 58 24 57 52 49 $FLSH...DW.AUX$WRIT...DW.AUX$WRI
7cc0 54 0d 0a 09 44 57 09 01 80 03 00 01 41 3b 96 19 00 00 0a 53 59 53 49 4e 49 54 53 45 47 0b 53 59 T...DW......A;.....SYSINITSEG.SY
7ce0 53 54 45 4d 5f 49 4e 49 54 b2 98 07 00 28 87 00 02 03 01 ac a0 8b 00 01 00 00 0d 0a 55 6e 72 65 STEM_INIT....(..............Unre
7d00 63 6f 67 6e 69 7a 65 64 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 43 4f 4e 46 49 47 2e 53 59 53 0d 0a cognized.command.in.CONFIG.SYS..
7d20 24 0d 0a 53 65 63 74 6f 72 20 73 69 7a 65 20 74 6f 6f 20 6c 61 72 67 65 20 69 6e 20 66 69 6c 65 $..Sector.size.too.large.in.file
7d40 20 24 0d 0a 42 61 64 20 6f 72 20 6d 69 73 73 69 6e 67 20 24 43 6f 6d 6d 61 6e 64 20 49 6e 74 65 .$..Bad.or.missing.$Command.Inte
7d60 72 70 72 65 74 65 72 00 0d 0a 49 6e 76 61 6c 69 64 20 63 6f 75 6e 74 72 79 20 63 6f 64 65 0d 0a rpreter...Invalid.country.code..
7d80 24 aa 90 0d 00 00 01 06 42 41 44 43 4f 4d 5a 00 00 5c 90 11 00 00 01 0a 42 41 44 43 4f 55 4e 54 $.......BADCOMZ..\......BADCOUNT
7da0 52 59 6e 00 00 eb 90 0c 00 00 01 05 42 41 44 4c 44 48 00 00 bf 90 0d 00 00 01 06 42 41 44 4f 50 RYn.........BADLDH.........BADOP
7dc0 4d 00 00 00 a9 90 0d 00 00 01 06 42 41 44 53 49 5a 27 00 00 78 90 0c 00 00 01 05 43 52 4c 46 4d M..........BADSIZ'..x......CRLFM
7de0 24 00 00 c6 90 0e 00 00 01 07 53 59 53 53 49 5a 45 87 00 00 99 8a 02 00 00 74 00 00 00 00 ca 5e $.........SYSSIZE........t.....^
7e00 b6 08 4e 00 dd 03 01 00 e5 42 4d 4d 54 43 4f 4e 41 53 4d 20 00 00 00 00 00 00 00 00 00 00 3c 57 ..N......BMMTCONASM...........<W
7e20 b6 08 8f 00 d2 7f 00 00 e5 49 4f 53 4f 42 4a 20 4d 41 4b 20 00 00 00 00 00 00 00 00 00 00 32 49 .........IOSOBJ.MAK...........2I
7e40 b0 08 af 00 ef 01 00 00 e5 4f 4f 54 50 41 43 48 45 58 45 20 00 00 00 00 00 00 00 00 00 00 4b 6a .........OOTPACHEXE...........Kj
7e60 79 08 b0 00 13 37 00 00 e5 55 47 43 4f 44 45 20 49 4e 43 20 00 00 00 00 00 00 00 00 00 00 f2 76 y....7...UGCODE.INC............v
7e80 b0 08 bb 00 74 2b 00 00 e5 4f 53 53 59 4d 20 20 49 4e 43 20 00 00 00 00 00 00 00 00 00 00 81 4a ....t+...OSSYM..INC............J
7ea0 77 08 c6 00 f3 3d 00 00 e5 45 56 53 59 4d 20 20 49 4e 43 20 00 00 00 00 00 00 00 00 00 00 6c 4a w....=...EVSYM..INC...........lJ
7ec0 77 08 d6 00 5c 0a 00 00 05 03 01 09 02 01 02 03 04 05 06 07 08 09 01 49 4f 53 0d 0a 09 53 59 53 w...\..................IOS...SYS
7ee0 49 5a 45 3d 31 30 30 48 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 67 72 61 70 68 73 20 IZE=100H..;Number.of.paragraphs.
7f00 69 6e 20 73 79 73 69 6e 69 74 20 6d 6f 64 75 6c 65 0d 0a 09 52 53 49 4e 49 54 3d 30 41 33 48 09 in.sysinit.module...RSINIT=0A3H.
7f20 09 3b 52 53 32 33 32 20 49 4e 49 54 49 41 4c 49 5a 41 54 49 4f 4e 0d 0a 09 09 09 09 3b 39 36 30 .;RS232.INITIALIZATION......;960
7f40 30 20 42 41 55 44 3a 4e 4f 20 50 41 52 49 54 59 3a 31 20 53 54 4f 50 3a 38 20 42 49 54 20 57 4f 0.BAUD:NO.PARITY:1.STOP:8.BIT.WO
7f60 52 44 0d 0a 09 4c 46 3d 31 30 09 09 09 3b 4c 49 4e 45 20 46 45 45 44 0d 0a 09 43 52 3d 31 33 09 RD...LF=10...;LINE.FEED...CR=13.
7f80 09 09 3b 43 41 52 52 49 41 47 45 20 52 45 54 55 52 4e 0d 0a 09 42 41 43 4b 53 50 3d 38 09 09 3b ..;CARRIAGE.RETURN...BACKSP=8..;
7fa0 42 41 43 4b 53 50 41 43 45 0d 0a 09 42 52 4b 41 44 52 3d 36 43 48 09 09 3b 30 30 36 43 20 20 42 BACKSPACE...BRKADR=6CH..;006C..B
7fc0 52 45 41 4b 20 56 45 43 54 4f 52 20 41 44 44 52 45 53 53 0d 0a 09 44 53 4b 41 44 52 3d 31 45 48 REAK.VECTOR.ADDRESS...DSKADR=1EH
7fe0 2a 34 09 09 3b 41 44 44 52 45 53 53 20 4f 46 20 50 54 52 20 54 4f 20 44 49 53 4b 20 50 41 52 41 *4..;ADDRESS.OF.PTR.TO.DISK.PARA
8000 4d 45 54 45 52 53 0d 0a 09 53 45 43 39 3d 35 32 32 48 09 09 3b 41 44 44 52 45 53 53 20 4f 46 20 METERS...SEC9=522H..;ADDRESS.OF.
8020 44 49 53 4b 20 50 41 52 41 4d 45 54 45 52 53 0d 0a 09 41 4b 50 4f 52 54 3d 32 30 48 0d 0a 09 45 DISK.PARAMETERS...AKPORT=20H...E
8040 4f 49 3d 32 30 48 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 54 69 6d 65 72 20 61 6e 64 20 43 6c 6f 63 6b 20 OI=20H......;**.Timer.and.Clock.
8060 44 65 66 69 6e 69 74 69 6f 6e 73 0d 0a 0d 0a 53 43 48 45 44 43 4f 55 4e 54 09 45 51 55 09 35 30 Definitions....SCHEDCOUNT.EQU.50
8080 09 09 3b 20 23 20 6d 73 65 63 2f 73 63 68 65 64 75 6c 65 72 20 74 69 63 6b 0d 0a 4d 4f 54 4f 52 ..;.#.msec/scheduler.tick..MOTOR
80a0 43 4f 55 4e 54 09 45 51 55 09 35 35 09 09 3b 20 23 20 6d 73 65 63 2f 52 4f 4d 20 42 49 4f 53 20 COUNT.EQU.55..;.#.msec/ROM.BIOS.
80c0 74 69 63 6b 0d 0a 0d 0a 09 45 58 54 52 4e 09 43 55 52 52 45 4e 54 5f 01 54 49 54 4c 45 09 49 42 tick.....EXTRN.CURRENT_.TITLE.IB
80e0 4d 42 49 4f 09 49 42 4d 20 42 49 4f 53 20 46 4f 52 20 4d 53 2d 44 4f 53 20 34 2e 30 0d 0a 0d 0a MBIO.IBM.BIOS.FOR.MS-DOS.4.0....
8100 3b 20 20 20 4d 6f 64 69 66 69 65 64 20 66 6f 72 20 33 2e 30 2c 20 4a 75 6c 79 20 27 38 33 2c 20 ;...Modified.for.3.0,.July.'83,.
8120 4d 61 72 63 20 4d 63 44 6f 6e 61 6c 64 0d 0a 3b 0d 0a 3b 20 20 20 61 72 77 20 30 32 2f 30 31 2f Marc.McDonald..;..;...arw.02/01/
8140 38 34 0d 0a 3b 09 73 70 6c 69 74 20 64 69 73 6b 20 64 72 69 76 65 72 20 69 6e 74 6f 20 73 65 70 84..;.split.disk.driver.into.sep
8160 61 72 61 74 65 20 66 69 6c 65 0d 0a 3b 20 20 20 61 72 77 20 30 35 2f 30 31 2f 38 34 0d 0a 3b 09 arate.file..;...arw.05/01/84..;.
8180 73 70 6c 69 74 20 6f 75 74 20 63 6f 6e 73 6f 6c 65 20 64 72 69 76 65 72 0d 0a 0d 0a 3b 3a 3a 3a split.out.console.driver....;:::
81a0 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a ::::::::::::::::::::::::::::::::
81c0 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 0d 0a 3b 0d 0a 3b 09 49 42 4d 20 41 44 44 52 45 53 53 45 53 20 :::::::::::..;..;.IBM.ADDRESSES.
81e0 46 4f 52 20 49 2f 4f 0d 0a 3b 0d 0a 3b 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a FOR.I/O..;..;:::::::::::::::::::
8200 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 3a 0d 0a 0d 0a 09 :::::::::::::::::::::::::::.....
8220 50 41 47 45 09 2c 31 33 32 0d 0a 3b 44 45 42 55 47 46 4c 47 20 3d 09 31 09 09 3b 20 64 6f 6e 27 PAGE.,132..;DEBUGFLG.=.1..;.don'
8240 74 20 65 6e 61 62 6c 65 20 64 65 62 75 67 20 70 72 69 6e 74 66 73 0d 0a 43 4f 4e 53 46 4c 41 47 t.enable.debug.printfs..CONSFLAG
8260 20 3d 09 30 09 09 3b 20 3d 31 20 74 6f 20 69 6e 63 6c 75 64 65 20 63 6f 6e 73 6f 6c 65 20 64 72 .=.0..;.=1.to.include.console.dr
8280 69 76 65 72 20 68 65 72 65 0d 0a 0d 0a 2e 78 6c 69 73 74 0d 0a 09 49 4e 43 4c 55 44 45 20 44 45 iver.here.....xlist...INCLUDE.DE
82a0 46 44 42 55 47 2e 49 4e 43 0d 0a 2e 6c 69 73 74 0d 0a 0d 0a 09 42 49 4f 53 45 47 3d 37 30 48 09 FDBUG.INC...list.....BIOSEG=70H.
82c0 09 3b 30 30 37 30 09 53 45 47 4d 45 4e 54 20 46 4f 52 20 54 48 45 20 42 01 49 4f 53 0d 0a 09 53 .;0070.SEGMENT.FOR.THE.B.IOS...S
82e0 59 53 49 5a 45 3d 31 30 30 48 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 67 72 61 70 68 YSIZE=100H..;Number.of.paragraph
8300 73 20 69 6e 20 73 79 73 69 6e 69 74 20 6d 6f 64 75 6c 65 0d 0a 09 52 53 49 4e 49 54 3d 30 41 33 s.in.sysinit.module...RSINIT=0A3
8320 48 09 09 3b 52 53 32 33 32 20 49 4e 49 54 49 41 4c 49 5a 41 54 49 4f 4e 0d 0a 09 09 09 09 3b 39 H..;RS232.INITIALIZATION......;9
8340 36 30 30 20 42 41 55 44 3a 4e 4f 20 50 41 52 49 54 59 3a 31 20 53 54 4f 50 3a 38 20 42 49 54 20 600.BAUD:NO.PARITY:1.STOP:8.BIT.
8360 57 4f 52 44 0d 0a 09 4c 46 3d 31 30 09 09 09 3b 4c 49 4e 45 20 46 45 45 44 0d 0a 09 43 52 3d 31 WORD...LF=10...;LINE.FEED...CR=1
8380 33 09 09 09 3b 43 41 52 52 49 41 47 45 20 52 45 54 55 52 4e 0d 0a 09 42 41 43 4b 53 50 3d 38 09 3...;CARRIAGE.RETURN...BACKSP=8.
83a0 09 3b 42 41 43 4b 53 50 41 43 45 0d 0a 09 42 52 4b 41 44 52 3d 36 43 48 09 09 3b 30 30 36 43 20 .;BACKSPACE...BRKADR=6CH..;006C.
83c0 20 42 52 45 41 4b 20 56 45 43 54 4f 52 20 41 44 44 52 45 53 53 0d 0a 09 44 53 4b 41 44 52 3d 31 .BREAK.VECTOR.ADDRESS...DSKADR=1
83e0 45 48 2a 34 09 09 3b 41 44 44 52 45 53 53 20 4f 46 20 50 54 52 20 54 4f 20 44 49 53 4b 20 50 41 EH*4..;ADDRESS.OF.PTR.TO.DISK.PA
8400 52 41 4d 45 54 45 52 53 0d 0a 09 53 45 43 39 3d 35 32 32 48 09 09 3b 41 44 44 52 45 53 53 20 4f RAMETERS...SEC9=522H..;ADDRESS.O
8420 46 20 44 49 53 4b 20 50 41 52 41 4d 45 54 45 52 53 0d 0a 09 41 4b 50 4f 52 54 3d 32 30 48 0d 0a F.DISK.PARAMETERS...AKPORT=20H..
8440 09 45 4f 49 3d 32 30 48 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 54 69 6d 65 72 20 61 6e 64 20 43 6c 6f 63 .EOI=20H......;**.Timer.and.Cloc
8460 6b 20 44 65 66 69 6e 69 74 69 6f 6e 73 0d 0a 0d 0a 53 43 48 45 44 43 4f 55 4e 54 09 45 51 55 09 k.Definitions....SCHEDCOUNT.EQU.
8480 35 30 09 09 3b 20 23 20 6d 73 65 63 2f 73 63 68 65 64 75 6c 65 72 20 74 69 63 6b 0d 0a 4d 4f 54 50..;.#.msec/scheduler.tick..MOT
84a0 4f 52 43 4f 55 4e 54 09 45 51 55 09 35 35 09 09 3b 20 23 20 6d 73 65 63 2f 52 4f 4d 20 42 49 4f ORCOUNT.EQU.55..;.#.msec/ROM.BIO
84c0 53 20 74 69 63 6b 0d 0a 0d 0a 09 45 58 54 52 4e 09 43 55 52 52 45 4e 54 5f 01 44 4f 53 5f 4c 4f S.tick.....EXTRN.CURRENT_.DOS_LO
84e0 43 41 54 49 4f 4e 3a 57 4f 52 44 0d 0a 09 45 58 54 52 4e 09 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f CATION:WORD...EXTRN.FINAL_DOS_LO
8500 43 41 54 49 4f 4e 3a 57 4f 52 44 0d 0a 09 45 58 54 52 4e 09 44 45 56 49 43 45 5f 4c 49 53 54 3a CATION:WORD...EXTRN.DEVICE_LIST:
8520 44 57 4f 52 44 0d 0a 09 45 58 54 52 4e 09 4d 45 4d 4f 52 59 5f 53 49 5a 45 3a 57 4f 52 44 0d 0a DWORD...EXTRN.MEMORY_SIZE:WORD..
8540 09 45 58 54 52 4e 09 44 45 46 41 55 4c 54 5f 44 52 49 56 45 3a 42 59 54 45 0d 0a 09 45 58 54 52 .EXTRN.DEFAULT_DRIVE:BYTE...EXTR
8560 4e 09 53 59 53 49 4e 49 54 3a 46 41 52 0d 0a 0d 0a 42 69 6f 73 53 65 67 20 47 52 4f 55 50 09 43 N.SYSINIT:FAR....BiosSeg.GROUP.C
8580 6f 64 65 2c 42 69 6f 73 49 6e 69 74 0d 0a 43 6f 64 65 09 53 45 47 4d 45 4e 54 20 42 59 54 45 20 ode,BiosInit..Code.SEGMENT.BYTE.
85a0 50 55 42 4c 49 43 09 27 43 4f 44 45 27 0d 0a 0d 0a 20 20 20 41 53 53 55 4d 45 20 43 53 3a 42 69 PUBLIC.'CODE'.......ASSUME.CS:Bi
85c0 6f 73 53 65 67 2c 44 53 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 53 osSeg,DS:NOTHING,ES:NOTHING....S
85e0 54 41 52 54 24 3a 0d 0a 09 4a 4d 50 09 49 4e 49 54 0d 0a 0d 0a 09 44 42 09 32 30 20 44 55 50 20 TART$:...JMP.INIT.....DB.20.DUP.
8600 28 30 29 09 3b 20 49 42 4d 20 57 41 4e 54 53 20 53 4f 4d 45 20 5a 45 52 4f 45 44 20 41 52 45 41 (0).;.IBM.WANTS.SOME.ZEROED.AREA
8620 0d 0a 0d 0a 53 55 42 54 54 4c 09 4a 75 6d 70 20 74 61 62 6c 65 73 20 66 6f 72 20 64 65 76 69 63 ....SUBTTL.Jump.tables.for.devic
8640 65 73 0d 0a 0c 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d es...;--------------------------
8660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8680 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 43 4f 4d 4d 41 4e 44 20 4a 55 4d 50 20 54 41 42 4c 45 53 0d 0a ----..;..;.COMMAND.JUMP.TABLES..
86a0 3b 0d 0a 3b 09 42 45 57 41 52 45 20 2d 20 54 68 65 73 65 20 74 61 62 6c 65 73 20 6f 76 65 72 6c ;..;.BEWARE.-.These.tables.overl
86c0 61 70 20 73 6f 6d 65 77 68 61 74 21 20 2d 63 2e 70 2e 0d 0a 3b 0d 0a 49 46 09 01 43 4f 4e 53 46 ap.somewhat!.-c.p...;..IF..CONSF
86e0 4c 41 47 0d 0a 43 4f 4e 54 42 4c 3a 0d 0a 09 44 57 09 53 65 74 41 64 64 72 0d 0a 09 44 57 09 53 LAG..CONTBL:...DW.SetAddr...DW.S
8700 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 tatusComplete...DW.StatusComplet
8720 65 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4f 4e 24 52 45 41 44 0d 0a 09 44 57 e...DW.CMDERR...DW.CON$READ...DW
8740 09 43 4f 4e 24 52 44 4e 44 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 .CON$RDND...DW.StatusComplete...
8760 44 57 09 43 4f 4e 24 46 4c 53 48 0d 0a 09 44 57 09 43 4f 4e 24 57 52 49 54 0d 0a 09 44 57 09 43 DW.CON$FLSH...DW.CON$WRIT...DW.C
8780 4f 4e 24 57 52 49 54 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d ON$WRIT...DW.CMDERR...DW.CMDERR.
87a0 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 ..DW.CMDERR...DW.CMDERR...DW.CMD
87c0 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 ERR...DW.CMDERR...DW.CMDERR...DW
87e0 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d .CMDERR...DW.CMDERR...DW.CMDERR.
8800 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 45 4e 44 49 46 09 3b ..DW.CMDERR...DW.CMDERR..ENDIF.;
8820 43 4f 4e 53 46 4c 41 47 0d 0a 0d 0a 41 55 58 54 42 4c 3a 0d 0a 09 44 57 09 53 74 61 74 75 73 43 CONSFLAG....AUXTBL:...DW.StatusC
8840 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 omplete...DW.StatusComplete...DW
8860 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 .StatusComplete...DW.CMDERR...DW
8880 09 41 55 58 24 52 45 41 44 0d 0a 09 44 57 09 41 55 58 24 52 44 4e 44 0d 0a 09 44 57 09 53 74 61 .AUX$READ...DW.AUX$RDND...DW.Sta
88a0 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 41 55 58 24 46 4c 53 48 0d 0a 09 44 57 09 41 tusComplete...DW.AUX$FLSH...DW.A
88c0 55 58 24 57 52 49 54 0d 0a 09 44 57 09 41 55 58 24 57 52 49 54 0d 0a 09 44 57 09 01 41 55 58 24 UX$WRIT...DW.AUX$WRIT...DW..AUX$
88e0 57 52 53 54 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 WRST...DW.CMDERR...DW.CMDERR...D
8900 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 W.CMDERR...DW.CMDERR...DW.CMDERR
8920 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d ...DW.CMDERR...DW.CMDERR...DW.CM
8940 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 DERR...DW.CMDERR...DW.CMDERR...D
8960 57 09 43 4d 44 45 52 52 0d 0a 0d 0a 54 49 4d 54 42 4c 3a 0d 0a 09 44 57 09 53 74 61 74 75 73 43 W.CMDERR....TIMTBL:...DW.StatusC
8980 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 omplete...DW.StatusComplete...DW
89a0 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 .StatusComplete...DW.CMDERR...DW
89c0 09 54 49 4d 24 52 45 41 44 0d 0a 09 44 57 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 0d 0a 09 .TIM$READ...DW.StatusDevReady...
89e0 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d DW.StatusComplete...DW.StatusCom
8a00 70 6c 65 74 65 0d 0a 09 44 57 09 54 49 4d 24 57 52 49 54 0d 0a 09 44 57 09 54 49 4d 24 57 52 49 plete...DW.TIM$WRIT...DW.TIM$WRI
8a20 54 0d 0a 0d 0a 50 52 4e 54 42 4c 3a 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 T....PRNTBL:...DW.StatusComplete
8a40 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 ...DW.StatusComplete...DW.Status
8a60 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 53 74 61 74 75 73 Complete...DW.CMDERR...DW.Status
8a80 4e 6f 58 66 65 72 09 09 3b 20 50 72 69 6e 74 65 72 20 64 6f 65 73 6e 27 74 20 72 65 61 64 0d 0a NoXfer..;.Printer.doesn't.read..
8aa0 09 44 57 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f .DW.StatusDevReady...DW.StatusCo
8ac0 6d 70 6c 65 74 65 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 01 09 44 57 mplete...DW.StatusComplete....DW
8ae0 09 50 52 4e 24 57 52 49 54 0d 0a 09 44 57 09 50 52 4e 24 57 52 49 54 0d 0a 09 44 57 09 50 52 4e .PRN$WRIT...DW.PRN$WRIT...DW.PRN
8b00 24 53 54 41 54 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 44 57 09 43 $STAT...DW.StatusComplete...DW.C
8b20 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 MDERR...DW.CMDERR...DW.CMDERR...
8b40 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 DW.CMDERR...DW.CMDERR...DW.CMDER
8b60 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 09 44 57 09 43 R...DW.CMDERR...DW.CMDERR...DW.C
8b80 4d 44 45 52 52 0d 0a 09 44 57 09 43 4d 44 45 52 52 0d 0a 0d 0a 53 55 42 54 54 4c 09 44 65 76 69 MDERR...DW.CMDERR....SUBTTL.Devi
8ba0 63 65 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 0c 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ce.entry.points...;-------------
8bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8be0 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 44 65 76 69 63 65 20 45 6e 74 72 79 20 70 6f 69 6e 74 0d ------..;..;.Device.Entry.point.
8c00 0a 3b 0d 0a 43 4d 44 4c 45 4e 09 3d 09 30 09 3b 4c 45 4e 47 54 48 20 4f 46 20 54 48 49 53 20 43 .;..CMDLEN.=.0.;LENGTH.OF.THIS.C
8c20 4f 4d 4d 41 4e 44 0d 0a 55 4e 49 54 09 3d 09 31 09 3b 53 55 42 20 55 4e 49 54 20 53 50 45 43 49 OMMAND..UNIT.=.1.;SUB.UNIT.SPECI
8c40 46 49 45 52 0d 0a 43 4d 44 09 3d 09 32 09 3b 43 4f 4d 4d 41 4e 44 20 43 4f 44 45 0d 0a 53 54 41 FIER..CMD.=.2.;COMMAND.CODE..STA
8c60 54 55 53 09 3d 09 33 09 3b 53 54 41 54 55 53 0d 0a 4d 45 44 49 41 09 3d 09 31 33 09 3b 4d 45 44 TUS.=.3.;STATUS..MEDIA.=.13.;MED
8c80 49 41 20 44 45 53 43 52 49 50 54 4f 52 0d 0a 54 52 41 4e 53 09 3d 09 31 34 09 3b 54 52 41 4e 53 IA.DESCRIPTOR..TRANS.=.14.;TRANS
8ca0 46 45 52 20 41 44 44 52 45 53 53 0d 0a 44 66 75 6e 09 3d 09 44 57 4f 52 44 20 50 54 52 20 31 34 FER.ADDRESS..Dfun.=.DWORD.PTR.14
8cc0 09 09 3b 20 50 61 73 73 65 64 20 61 64 64 72 20 6f 66 20 64 6f 73 20 66 75 6e 63 74 69 01 6f 6e ..;.Passed.addr.of.dos.functi.on
8ce0 0d 0a 43 4f 55 4e 54 09 3d 09 31 38 09 3b 43 4f 55 4e 54 20 4f 46 20 42 4c 4f 43 4b 53 20 4f 52 ..COUNT.=.18.;COUNT.OF.BLOCKS.OR
8d00 20 43 48 41 52 41 43 54 45 52 53 0d 0a 53 54 41 52 54 09 3d 09 32 30 09 3b 46 49 52 53 54 20 42 .CHARACTERS..START.=.20.;FIRST.B
8d20 4c 4f 43 4b 20 54 4f 20 54 52 41 4e 53 46 45 52 0d 0a 0d 0a 41 55 58 4e 55 4d 09 44 42 09 30 09 LOCK.TO.TRANSFER....AUXNUM.DB.0.
8d40 3b 57 48 49 43 48 20 41 55 58 20 44 45 56 49 43 45 20 57 41 53 20 52 45 51 55 45 53 54 45 44 0d ;WHICH.AUX.DEVICE.WAS.REQUESTED.
8d60 0a 0d 0a 3b 20 44 6f 73 20 72 6f 75 74 69 6e 65 20 74 6f 20 64 6f 20 66 75 6e 63 74 69 6f 6e 73 ...;.Dos.routine.to.do.functions
8d80 20 66 6f 72 20 64 65 76 69 63 65 20 64 72 69 76 65 72 73 0d 0a 09 50 55 42 4c 49 43 09 44 6f 73 .for.device.drivers...PUBLIC.Dos
8da0 46 75 6e 63 74 69 6f 6e 0d 0a 44 6f 73 46 75 6e 63 74 69 6f 6e 09 44 44 09 30 09 3b 20 44 65 76 Function..DosFunction.DD.0.;.Dev
8dc0 69 63 65 20 68 65 6c 70 20 66 75 6e 63 74 69 6f 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 0d 0a 53 ice.help.function.entry.point..S
8de0 63 72 6e 49 4f 6f 6b 09 64 64 09 30 09 3b 20 28 63 68 61 72 20 2a 29 20 74 72 75 65 20 69 66 20 crnIOok.dd.0.;.(char.*).true.if.
8e00 69 6e 20 63 75 72 72 65 6e 74 20 73 63 72 65 65 6e 20 6c 6f 63 75 73 0d 0a 0d 0a 54 49 4d 5f 44 in.current.screen.locus....TIM_D
8e20 52 56 20 44 42 09 2d 31 09 09 3b 20 54 49 4d 45 20 57 48 45 4e 20 4c 41 53 54 20 44 49 53 4b 20 RV.DB.-1..;.TIME.WHEN.LAST.DISK.
8e40 49 2f 4f 20 50 45 52 46 4f 52 4d 45 44 0d 0a 54 49 4d 5f 52 45 4d 20 44 57 09 30 09 09 3b 20 73 I/O.PERFORMED..TIM_REM.DW.0..;.s
8e60 63 68 65 64 75 6c 65 72 20 74 69 63 73 20 6c 65 66 74 20 75 6e 74 69 6c 20 6d 65 64 69 61 20 70 cheduler.tics.left.until.media.p
8e80 72 65 73 75 6d 65 64 0d 0a 09 09 09 09 3b 20 63 68 61 6e 67 65 64 0d 0a 0d 0a 3b 2a 2a 09 44 65 resumed......;.changed....;**.De
8ea0 62 75 67 67 69 6e 67 20 63 6f 6e 74 72 6f 6c 3a 0d 0a 3b 0d 0a 3b 09 47 72 6f 75 70 09 4c 65 76 bugging.control:..;..;.Group.Lev
8ec0 65 6c 09 43 6f 6e 74 72 6f 6c 73 0d 0a 3b 09 20 30 31 09 09 47 65 6e 65 72 61 6c 20 42 49 01 4f el.Controls..;..01..General.BI.O
8ee0 53 2c 20 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 20 61 6e 64 20 69 6e 69 74 69 61 6c 69 7a 61 74 S,.bootstrapping.and.initializat
8f00 69 6f 6e 0d 0a 3b 09 09 20 30 31 09 09 44 65 76 69 63 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 ion..;...01..Device.initializati
8f20 6f 6e 0d 0a 3b 09 09 20 30 32 09 09 4d 53 2d 44 4f 53 20 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 on..;...02..MS-DOS.bootstrapping
8f40 0d 0a 3b 09 09 20 30 34 09 09 44 72 69 76 65 72 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e ..;...04..Driver.error.condition
8f60 73 0d 0a 3b 09 09 20 31 30 09 09 43 6f 6d 6d 61 6e 64 20 64 69 73 70 61 74 63 68 0d 0a 3b 09 20 s..;...10..Command.dispatch..;..
8f80 30 34 09 09 44 69 73 6b 65 74 74 65 20 64 72 69 76 65 72 0d 0a 3b 09 09 20 30 31 09 09 49 6e 69 04..Diskette.driver..;...01..Ini
8fa0 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 3b 09 09 20 30 32 09 09 53 79 73 74 65 6d 20 65 6e 74 72 tialization..;...02..System.entr
8fc0 79 73 0d 0a 3b 09 09 20 30 34 09 09 44 65 74 61 69 6c 73 20 6f 66 20 72 65 61 64 2f 77 72 69 74 ys..;...04..Details.of.read/writ
8fe0 65 20 70 72 6f 63 65 73 73 69 6e 67 0d 0a 3b 09 20 30 38 09 09 48 61 72 64 20 64 69 73 6b 20 64 e.processing..;..08..Hard.disk.d
9000 72 69 76 65 72 0d 0a 3b 09 09 20 30 31 09 09 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 3b river..;...01..Initialization..;
9020 09 09 20 30 32 09 09 53 79 73 74 65 6d 20 65 6e 74 72 79 73 0d 0a 3b 09 20 31 30 09 09 43 6f 6e ...02..System.entrys..;..10..Con
9040 73 6f 6c 65 20 64 69 73 70 6c 61 79 20 64 72 69 76 65 72 0d 0a 0d 0a 0d 0a 09 50 55 42 4c 49 43 sole.display.driver.......PUBLIC
9060 09 42 55 47 42 49 54 53 0d 0a 42 55 47 42 49 54 53 20 44 42 20 20 30 30 30 48 09 09 09 3b 20 67 .BUGBITS..BUGBITS.DB..000H...;.g
9080 72 6f 75 70 20 62 69 74 73 0d 0a 09 44 42 20 20 30 66 66 48 09 09 09 3b 20 6c 65 76 65 6c 20 62 roup.bits...DB..0ffH...;.level.b
90a0 69 74 73 0d 0a 0d 0a 53 74 72 61 74 65 67 79 09 50 52 4f 43 09 46 41 52 0d 0a 09 52 45 54 0d 0a its....Strategy.PROC.FAR...RET..
90c0 53 74 72 61 74 65 67 79 09 45 4e 44 50 0d 0a 0d 0a 49 46 09 43 4f 4e 53 46 4c 41 47 0d 0a 43 05 Strategy.ENDP....IF.CONSFLAG..C.
90e0 04 00 09 02 01 02 03 04 05 06 07 08 09 01 4f 4e 24 49 4e 3a 0d 0a 09 50 55 53 48 09 53 49 0d 0a ..............ON$IN:...PUSH.SI..
9100 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 43 4f 4e 54 42 4c 0d 0a 09 4a 4d 50 09 53 48 4f 52 .MOV.SI,OFFSET.CONTBL...JMP.SHOR
9120 54 20 49 6e 74 65 72 72 75 70 74 0d 0a 45 4e 44 49 46 09 3b 43 4f 4e 53 46 4c 41 47 0d 0a 0d 0a T.Interrupt..ENDIF.;CONSFLAG....
9140 41 55 58 30 24 49 4e 3a 0d 0a 09 50 55 53 48 09 53 49 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 58 AUX0$IN:...PUSH.SI...PUSH.AX...X
9160 4f 52 09 41 4c 2c 41 4c 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 41 55 58 45 4e 54 0d 0a 0d 0a 41 OR.AL,AL...JMP.SHORT.AUXENT....A
9180 55 58 31 24 49 4e 3a 0d 0a 09 50 55 53 48 09 53 49 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 4d 4f UX1$IN:...PUSH.SI...PUSH.AX...MO
91a0 56 09 41 4c 2c 31 0d 0a 41 55 58 45 4e 54 3a 0d 0a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 V.AL,1..AUXENT:...MOV.SI,OFFSET.
91c0 41 55 58 54 42 4c 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 65 6e 74 72 79 31 0d 0a 0d 0a 50 52 4e AUXTBL...JMP.SHORT.entry1....PRN
91e0 30 24 49 4e 3a 0d 0a 09 50 55 53 48 09 53 49 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 58 4f 52 09 0$IN:...PUSH.SI...PUSH.AX...XOR.
9200 41 4c 2c 41 4c 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 50 52 4e 45 4e 54 0d 0a 0d 0a 50 52 4e 31 AL,AL...JMP.SHORT.PRNENT....PRN1
9220 24 49 4e 3a 0d 0a 09 50 55 53 48 09 53 49 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 4d 4f 56 09 41 $IN:...PUSH.SI...PUSH.AX...MOV.A
9240 4c 2c 31 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 50 52 4e 45 4e 54 0d 0a 0d 0a 50 52 4e 32 24 49 L,1...JMP.SHORT.PRNENT....PRN2$I
9260 4e 3a 0d 0a 09 50 55 53 48 09 53 49 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 4d 4f 56 09 41 4c 2c N:...PUSH.SI...PUSH.AX...MOV.AL,
9280 32 0d 0a 50 52 4e 45 4e 54 3a 0d 0a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 50 52 4e 54 42 2..PRNENT:...MOV.SI,OFFSET.PRNTB
92a0 4c 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 65 6e 74 72 79 31 0d 0a 0d 0a 54 49 4d 24 49 4e 3a 0d L...JMP.SHORT.entry1....TIM$IN:.
92c0 0a 09 50 55 53 48 09 53 49 0d 0a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 54 49 4d 54 42 4c ..PUSH.SI...MOV.SI,OFFSET.TIMTBL
92e0 0d 0a 0d 0a 0d 0a 43 4f 4d 4d 45 4e 54 20 01 2a 0d 0a 20 20 20 49 6e 74 65 72 72 75 70 74 20 69 ......COMMENT..*.....Interrupt.i
9300 73 20 74 68 65 20 6d 61 69 6e 20 70 61 72 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 s.the.main.part.of.the.interrupt
9320 20 64 65 76 69 63 65 20 65 6e 74 72 79 20 70 6f 69 6e 74 28 20 61 0d 0a 6d 69 73 6e 6f 6d 65 72 .device.entry.point(.a..misnomer
9340 2c 20 61 63 74 75 61 6c 6c 79 20 69 73 20 74 68 65 20 65 78 65 63 75 74 65 20 66 75 6e 63 74 69 ,.actually.is.the.execute.functi
9360 6f 6e 20 65 6e 74 72 79 20 29 20 66 6f 72 20 61 6c 6c 20 64 65 76 69 63 65 73 2e 0d 0a 54 68 65 on.entry.).for.all.devices...The
9380 20 76 61 72 69 6f 75 73 20 64 65 76 69 63 65 73 20 73 65 74 20 75 70 20 74 68 65 20 64 69 73 70 .various.devices.set.up.the.disp
93a0 61 74 63 68 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 61 6e 64 20 75 6e 69 74 20 63 68 6f 69 atch.table.address.and.unit.choi
93c0 63 65 0d 0a 61 6e 64 20 74 68 65 6e 20 6a 75 6d 70 20 74 6f 20 49 6e 74 65 72 72 75 70 74 20 77 ce..and.then.jump.to.Interrupt.w
93e0 68 69 63 68 20 74 68 65 6e 20 64 69 73 70 61 74 63 68 65 73 20 74 6f 20 74 68 65 20 61 70 70 72 hich.then.dispatches.to.the.appr
9400 6f 70 72 69 61 74 65 0d 0a 64 65 76 69 63 65 20 72 6f 75 74 69 6e 65 2e 0d 0a 0d 0a 45 6e 74 72 opriate..device.routine.....Entr
9420 79 20 70 61 72 61 6d 65 74 65 72 73 3a 0d 0a 09 53 49 09 41 64 64 72 65 73 73 20 6f 66 20 64 65 y.parameters:...SI.Address.of.de
9440 76 69 63 65 20 64 69 73 70 61 74 63 68 20 74 61 62 6c 65 0d 0a 09 41 4c 09 55 6e 69 74 20 23 20 vice.dispatch.table...AL.Unit.#.
9460 66 6f 72 20 41 75 78 2f 50 72 6e 28 20 73 74 6f 72 65 64 20 69 6e 20 41 75 78 4e 75 6d 20 29 0d for.Aux/Prn(.stored.in.AuxNum.).
9480 0a 09 45 53 3a 42 58 09 44 65 76 69 63 65 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 20 61 64 ..ES:BX.Device.request.packet.ad
94a0 64 72 65 73 73 0d 0a 0d 0a 45 78 69 74 20 70 61 72 61 6d 65 74 65 72 73 3a 09 28 20 74 6f 20 64 dress....Exit.parameters:.(.to.d
94c0 65 76 69 63 65 20 72 6f 75 74 69 6e 65 20 29 0d 0a 09 41 4c 09 55 6e 69 74 20 63 6f 64 65 20 66 evice.routine.)...AL.Unit.code.f
94e0 72 6f 6d 20 70 61 63 6b 65 74 0d 0a 09 41 48 01 09 4d 65 64 69 61 20 64 65 73 63 72 69 70 74 6f rom.packet...AH..Media.descripto
9500 72 20 66 72 6f 6d 20 70 61 63 6b 65 74 0d 0a 09 43 58 09 43 6f 75 6e 74 20 66 72 6f 6d 20 70 61 r.from.packet...CX.Count.from.pa
9520 63 6b 65 74 0d 0a 09 44 58 09 53 74 61 72 74 20 73 65 63 74 6f 72 20 66 72 6f 6d 20 70 61 63 6b cket...DX.Start.sector.from.pack
9540 65 74 0d 0a 09 45 53 3a 44 49 09 42 75 66 66 65 72 20 61 64 64 72 65 73 73 20 66 72 6f 6d 20 70 et...ES:DI.Buffer.address.from.p
9560 61 63 6b 65 74 0d 0a 09 44 53 3a 42 58 09 50 61 63 6b 65 74 20 61 64 64 72 65 73 73 0d 0a 09 53 acket...DS:BX.Packet.address...S
9580 53 09 54 61 73 6b 41 72 65 61 20 73 65 67 6d 65 6e 74 28 20 66 72 6f 6d 20 64 6f 73 20 63 61 6c S.TaskArea.segment(.from.dos.cal
95a0 6c 20 29 0d 0a 09 2a 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 49 6e 74 65 72 72 75 70 74 0d 0a 49 6e l.)...*.....PUBLIC.Interrupt..In
95c0 74 65 72 72 75 70 74 09 50 52 4f 43 09 46 41 52 0d 0a 09 50 55 53 48 09 41 58 0d 0a 65 6e 74 72 terrupt.PROC.FAR...PUSH.AX..entr
95e0 79 31 3a 0d 0a 09 50 55 53 48 09 43 58 0d 0a 09 50 55 53 48 09 44 58 0d 0a 09 50 55 53 48 09 44 y1:...PUSH.CX...PUSH.DX...PUSH.D
9600 49 0d 0a 09 50 55 53 48 09 42 50 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 50 55 53 48 09 45 53 0d I...PUSH.BP...PUSH.DS...PUSH.ES.
9620 0a 09 50 55 53 48 09 42 58 0d 0a 09 64 65 62 75 67 09 31 2c 31 30 48 2c 3c 20 49 4e 54 45 52 52 ..PUSH.BX...debug.1,10H,<.INTERR
9640 55 50 54 20 63 6d 64 74 62 6c 20 24 78 20 3e 2c 3c 73 69 3e 0d 0a 09 4d 4f 56 09 43 53 3a 5b 41 UPT.cmdtbl.$x.>,<si>...MOV.CS:[A
9660 55 58 4e 55 4d 5d 2c 41 4c 09 09 3b 20 53 61 76 65 20 75 6e 69 74 20 63 68 6f 69 63 65 20 6f 66 UXNUM],AL..;.Save.unit.choice.of
9680 20 41 55 58 2f 50 52 4e 0d 0a 09 4d 4f 56 09 41 58 2c 45 53 0d 0a 09 4d 4f 56 09 44 53 2c 41 58 .AUX/PRN...MOV.AX,ES...MOV.DS,AX
96a0 09 09 09 3b 20 44 53 3a 42 58 20 61 6c 73 6f 20 70 6f 69 6e 74 73 20 74 6f 20 70 61 63 6b 65 74 ...;.DS:BX.also.points.to.packet
96c0 0d 0a 0d 0a 09 4d 4f 56 09 41 4c 2c 44 53 3a 5b 42 58 5d 2e 43 6d 64 09 09 3b 20 47 65 74 20 64 .....MOV.AL,DS:[BX].Cmd..;.Get.d
96e0 65 76 69 63 65 20 63 6f 6d 6d 61 6e 64 0d 0a 09 01 58 4f 52 09 41 48 2c 41 48 0d 0a 09 41 44 44 evice.command....XOR.AH,AH...ADD
9700 09 53 49 2c 41 58 0d 0a 09 41 44 44 09 53 49 2c 41 58 09 09 09 3b 20 47 65 74 20 41 64 64 72 65 .SI,AX...ADD.SI,AX...;.Get.Addre
9720 73 73 20 6f 66 20 72 6f 75 74 69 6e 65 0d 0a 09 43 4d 50 09 41 4c 2c 31 38 09 09 09 3b 20 54 6f ss.of.routine...CMP.AL,18...;.To
9740 6f 20 68 69 67 68 20 61 20 63 6f 6d 6d 61 6e 64 20 6e 75 6d 62 65 72 3f 0d 0a 09 4a 41 09 43 6d o.high.a.command.number?...JA.Cm
9760 64 45 72 72 09 09 09 3b 20 59 65 73 2c 20 65 72 72 6f 72 0d 0a 09 4d 4f 56 09 41 4c 2c 44 53 3a dErr...;.Yes,.error...MOV.AL,DS:
9780 5b 42 58 5d 2e 55 4e 49 54 09 09 3b 41 4c 20 3d 20 55 6e 69 74 20 63 6f 64 65 0d 0a 09 4d 4f 56 [BX].UNIT..;AL.=.Unit.code...MOV
97a0 09 41 48 2c 44 53 3a 5b 42 58 5d 2e 4d 45 44 49 41 09 3b 41 48 20 3d 20 4d 65 64 69 61 20 64 65 .AH,DS:[BX].MEDIA.;AH.=.Media.de
97c0 73 63 72 69 70 74 6f 72 0d 0a 09 4d 4f 56 09 43 58 2c 44 53 3a 5b 42 58 5d 2e 43 4f 55 4e 54 09 scriptor...MOV.CX,DS:[BX].COUNT.
97e0 3b 43 58 20 3d 20 43 6f 75 6e 74 0d 0a 09 4d 4f 56 09 44 58 2c 44 53 3a 5b 42 58 5d 2e 53 54 41 ;CX.=.Count...MOV.DX,DS:[BX].STA
9800 52 54 09 3b 44 58 20 3d 20 53 74 61 72 74 20 73 65 63 74 6f 72 0d 0a 09 4c 45 53 09 44 49 2c 44 RT.;DX.=.Start.sector...LES.DI,D
9820 53 3a 5b 42 58 5d 2e 54 52 41 4e 53 09 3b 20 45 53 3a 44 49 20 3d 20 62 75 66 66 65 72 20 61 64 S:[BX].TRANS.;.ES:DI.=.buffer.ad
9840 64 72 0d 0a 09 64 65 62 75 67 09 31 2c 31 30 48 2c 3c 75 6e 20 24 78 20 78 66 65 72 20 24 78 3a dr...debug.1,10H,<un.$x.xfer.$x:
9860 24 78 20 72 74 6e 20 24 78 5c 6e 3e 2c 3c 61 78 2c 65 73 2c 64 69 2c 63 73 3a 5b 73 69 5d 3e 0d $x.rtn.$x\n>,<ax,es,di,cs:[si]>.
9880 0a 09 4a 4d 50 09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 53 49 5d 09 3b 20 44 6f 20 72 65 71 75 ..JMP.WORD.PTR.CS:[SI].;.Do.requ
98a0 65 73 74 0d 0a 49 6e 74 65 72 72 75 70 74 09 45 4e 44 50 0d 0a 0d 0a 53 55 42 54 54 4c 09 52 6f est..Interrupt.ENDP....SUBTTL.Ro
98c0 75 74 69 6e 65 73 20 75 73 65 64 20 62 79 20 64 65 76 69 63 65 20 72 6f 75 74 69 6e 65 73 0d 0a utines.used.by.device.routines..
98e0 0c 43 4f 4d 4d 45 4e 54 09 2a 0d 0a 20 20 20 41 6c 01 6c 20 72 6f 75 74 69 6e 65 73 20 6f 6e 20 .COMMENT.*.....Al.l.routines.on.
9900 74 68 69 73 20 70 61 67 65 20 61 72 65 20 76 61 72 69 6f 75 73 20 65 78 69 74 73 20 66 6f 72 20 this.page.are.various.exits.for.
9920 64 65 76 69 63 65 20 66 75 6e 63 74 69 6f 6e 73 2e 0d 0a 54 68 65 79 20 65 61 63 68 20 72 65 74 device.functions...They.each.ret
9940 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 74 68 65 urn.different.information.in.the
9960 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 20 66 6f 72 20 74 68 65 0d 0a 64 6f 73 2e 20 54 68 .request.packet.for.the..dos..Th
9980 65 20 72 6f 75 74 69 6e 65 73 20 61 72 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0d 0a 0d 0a 09 53 e.routines.are.as.follows:.....S
99a0 74 61 74 75 73 44 65 76 52 65 61 64 79 0d 0a 09 09 20 20 54 68 65 20 62 75 73 79 20 61 6e 64 20 tatusDevReady......The.busy.and.
99c0 64 6f 6e 65 20 62 69 74 73 20 61 72 65 20 73 65 74 20 69 6e 20 74 68 65 20 70 61 63 6b 65 74 2e done.bits.are.set.in.the.packet.
99e0 20 54 68 69 73 0d 0a 09 09 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 64 65 76 69 63 65 20 68 .This....means.that.the.device.h
9a00 61 73 20 69 6e 70 75 74 20 74 6f 20 62 65 20 72 65 61 64 20 6f 72 20 63 61 6e 0d 0a 09 09 64 6f as.input.to.be.read.or.can....do
9a20 20 6f 75 74 70 75 74 20 77 69 74 68 6f 75 74 20 61 6e 79 20 77 61 69 74 69 6e 67 2e 0d 0a 0d 0a .output.without.any.waiting.....
9a40 09 53 74 61 74 75 73 50 61 72 74 69 61 6c 58 66 65 72 0d 0a 09 09 20 20 54 68 65 20 64 65 76 69 .StatusPartialXfer......The.devi
9a60 63 65 20 77 61 73 20 75 6e 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 65 20 49 2f 4f 20 66 6f 72 20 ce.was.unable.to.do.the.I/O.for.
9a80 74 68 65 20 72 65 71 75 65 73 74 65 64 0d 0a 09 09 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 the.requested....number.of.bytes
9aa0 2f 62 6c 6f 63 6b 73 2e 20 43 58 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 /blocks..CX.contains.the.number.
9ac0 74 68 61 74 20 61 72 65 0d 0a 09 09 6c 65 66 74 20 74 6f 20 64 6f 2e 20 46 61 6c 6c 20 69 6e 74 that.are....left.to.do..Fall.int
9ae0 6f 20 53 74 61 74 75 73 45 72 72 6f 72 20 74 6f 20 73 01 65 74 20 65 72 72 6f 72 20 68 61 73 0d o.StatusError.to.s.et.error.has.
9b00 0a 09 09 68 61 70 70 65 6e 65 64 2e 0d 0a 0d 0a 09 53 74 61 74 75 73 45 72 72 6f 72 0d 0a 09 09 ...happened......StatusError....
9b20 20 20 53 65 74 20 74 68 65 20 65 72 72 6f 72 20 61 6e 64 20 64 6f 6e 65 20 62 69 74 73 20 69 6e ..Set.the.error.and.done.bits.in
9b40 20 74 68 65 20 73 74 61 74 75 73 2e 0d 0a 0d 0a 09 53 74 61 74 75 73 4e 6f 58 66 65 72 0d 0a 09 .the.status......StatusNoXfer...
9b60 09 20 20 54 68 65 20 64 65 76 69 63 65 20 63 6f 75 6c 64 6e 27 74 20 64 6f 20 74 68 65 20 72 65 ...The.device.couldn't.do.the.re
9b80 61 64 20 6f 72 20 77 72 69 74 65 2c 20 73 65 74 20 74 68 65 0d 0a 09 09 6e 75 6d 62 65 72 20 6f ad.or.write,.set.the....number.o
9ba0 66 20 62 79 74 65 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 30 2c 20 62 75 74 20 64 6f f.bytes.transferred.to.0,.but.do
9bc0 6e 27 74 20 73 65 74 20 74 68 65 0d 0a 09 09 65 72 72 6f 72 20 62 69 74 2e 0d 0a 0d 0a 09 53 74 n't.set.the....error.bit......St
9be0 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 09 09 20 20 54 68 65 20 64 65 76 69 63 65 20 61 63 74 atusComplete......The.device.act
9c00 75 61 6c 6c 79 20 63 6f 6d 70 6c 65 74 65 64 20 74 68 65 20 72 65 71 75 65 73 74 20 61 6e 64 20 ually.completed.the.request.and.
9c20 65 76 65 72 79 2d 0d 0a 09 09 74 68 69 6e 67 20 77 61 73 20 6a 75 73 74 20 66 69 6e 65 2c 20 73 every-....thing.was.just.fine,.s
9c40 6f 20 6a 75 73 74 20 73 65 74 20 74 68 65 20 64 6f 6e 65 20 62 69 74 20 69 6e 20 74 68 65 0d 0a o.just.set.the.done.bit.in.the..
9c60 09 09 72 65 71 75 65 73 74 20 73 74 61 74 75 73 2e 0d 0a 0d 0a 09 53 74 61 74 75 73 57 61 69 74 ..request.status......StatusWait
9c80 0d 0a 09 09 20 20 54 68 65 20 64 65 76 69 63 65 20 64 72 69 76 65 72 20 69 73 20 66 6f 72 20 33 ......The.device.driver.is.for.3
9ca0 2e 30 20 61 6e 64 20 73 61 77 20 74 68 61 74 20 69 74 20 77 6f 75 6c 64 0d 0a 09 09 68 61 76 65 .0.and.saw.that.it.would....have
9cc0 20 74 6f 20 77 61 69 74 20 69 6e 20 61 20 6c 6f 6f 70 20 74 6f 20 64 6f 20 74 68 65 20 72 65 71 .to.wait.in.a.loop.to.do.the.req
9ce0 75 65 73 74 2c 20 73 6f 20 69 6e 73 74 65 61 64 0d 0a 09 01 09 69 74 20 77 69 6c 6c 20 6e 6f 74 uest,.so.instead.....it.will.not
9d00 20 73 65 74 20 74 68 65 20 64 6f 6e 65 20 62 69 74 20 77 68 69 63 68 20 74 65 6c 6c 73 20 74 68 .set.the.done.bit.which.tells.th
9d20 65 20 64 6f 73 20 74 6f 0d 0a 09 09 70 75 74 20 74 68 65 20 74 61 73 6b 20 69 6e 74 6f 20 74 68 e.dos.to....put.the.task.into.th
9d40 65 20 49 2f 4f 20 77 61 69 74 20 71 75 65 75 65 2e 0d 0a 0d 0a 45 6e 74 72 79 20 70 61 72 61 6d e.I/O.wait.queue.....Entry.param
9d60 65 74 65 72 73 3a 09 28 20 66 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 72 6f eters:.(.for.all.of.the.above.ro
9d80 75 74 69 6e 65 73 20 29 0d 0a 09 44 53 3a 42 58 09 41 64 64 72 65 73 73 20 6f 66 20 64 65 76 69 utines.)...DS:BX.Address.of.devi
9da0 63 65 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 09 43 58 09 43 6f 75 6e 74 20 6f 66 20 ce.request.packet...CX.Count.of.
9dc0 62 79 74 65 73 2f 62 6c 6f 63 6b 73 20 6c 65 66 74 20 74 6f 20 74 72 61 6e 73 66 65 72 20 69 66 bytes/blocks.left.to.transfer.if
9de0 20 61 70 70 6c 69 63 61 62 6c 65 0d 0a 09 41 4c 09 45 72 72 6f 72 20 63 6f 64 65 20 69 66 20 61 .applicable...AL.Error.code.if.a
9e00 70 70 6c 69 63 61 62 6c 65 0d 0a 0d 0a 45 78 69 74 20 70 61 72 61 6d 65 74 65 72 73 3a 0d 0a 09 pplicable....Exit.parameters:...
9e20 45 53 3a 42 58 09 50 6f 69 6e 74 65 72 20 74 6f 20 70 61 63 6b 65 74 0d 0a 09 41 58 09 44 65 73 ES:BX.Pointer.to.packet...AX.Des
9e40 74 72 6f 79 65 64 0d 0a 09 53 49 09 44 65 73 74 72 6f 79 65 64 0d 0a 09 41 6c 6c 20 6f 74 68 65 troyed...SI.Destroyed...All.othe
9e60 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 0d 0a 09 2a 0d 0a 0d 0a 09 50 55 r.registers.preserved...*.....PU
9e80 42 4c 49 43 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 0d 0a 53 74 61 74 75 73 44 65 76 52 65 BLIC.StatusDevReady..StatusDevRe
9ea0 61 64 79 09 50 52 4f 43 09 4e 45 41 52 09 09 3b 20 44 65 76 69 63 65 20 68 61 73 20 64 61 74 61 ady.PROC.NEAR..;.Device.has.data
9ec0 20 6f 72 20 63 61 6e 20 73 65 6e 64 0d 0a 09 4d 4f 56 09 41 48 2c 30 30 30 30 30 30 31 31 42 09 .or.can.send...MOV.AH,00000011B.
9ee0 09 3b 20 44 6f 6e 65 20 2b 20 62 75 73 79 0d 0a 09 4a 4d 50 01 09 53 48 4f 52 54 20 53 65 74 53 .;.Done.+.busy...JMP..SHORT.SetS
9f00 74 61 74 75 73 0d 0a 53 74 61 74 75 73 44 65 76 52 65 61 64 79 09 45 4e 44 50 0d 0a 0d 0a 09 50 tatus..StatusDevReady.ENDP.....P
9f20 55 42 4c 49 43 09 43 6d 64 45 72 72 0d 0a 43 6d 64 45 72 72 09 50 52 4f 43 09 4e 45 41 52 09 09 UBLIC.CmdErr..CmdErr.PROC.NEAR..
9f40 3b 20 42 61 64 20 64 65 76 69 63 65 20 63 6f 6d 6d 61 6e 64 20 6e 75 6d 62 65 72 0d 0a 09 64 65 ;.Bad.device.command.number...de
9f60 62 75 67 09 31 2c 34 2c 3c 20 43 4d 44 45 52 52 20 2d 20 24 62 20 24 78 5c 6e 3e 2c 3c 61 78 2c bug.1,4,<.CMDERR.-.$b.$x\n>,<ax,
9f80 73 69 3e 0d 0a 09 4d 4f 56 09 41 4c 2c 33 09 09 09 3b 20 55 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 si>...MOV.AL,3...;.Unknown.comma
9fa0 6e 64 20 65 72 72 6f 72 0d 0a 43 6d 64 45 72 72 09 45 4e 44 50 0d 0a 0d 0a 53 74 61 74 75 73 50 nd.error..CmdErr.ENDP....StatusP
9fc0 61 72 74 69 61 6c 58 66 65 72 09 50 52 4f 43 09 4e 45 41 52 0d 0a 09 53 55 42 09 5b 42 58 5d 2e artialXfer.PROC.NEAR...SUB.[BX].
9fe0 43 4f 55 4e 54 2c 43 58 09 09 3b 23 20 6f 66 20 73 75 63 63 65 73 73 66 75 6c 20 49 2f 4f 27 73 COUNT,CX..;#.of.successful.I/O's
a000 0d 0a 53 74 61 74 75 73 50 61 72 74 69 61 6c 58 66 65 72 09 45 4e 44 50 0d 0a 0d 0a 09 50 55 42 ..StatusPartialXfer.ENDP.....PUB
a020 4c 49 43 09 53 74 61 74 75 73 45 72 72 6f 72 0d 0a 53 74 61 74 75 73 45 72 72 6f 72 09 50 52 4f LIC.StatusError..StatusError.PRO
a040 43 09 4e 45 41 52 0d 0a 09 4d 4f 56 09 41 48 2c 31 30 30 30 30 30 30 31 42 09 09 3b 20 45 72 72 C.NEAR...MOV.AH,10000001B..;.Err
a060 6f 72 20 2b 20 64 6f 6e 65 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 53 65 74 53 74 61 74 75 73 0d or.+.done...JMP.SHORT.SetStatus.
a080 0a 53 74 61 74 75 73 45 72 72 6f 72 09 45 4e 44 50 0d 0a 0d 0a 53 74 61 74 75 73 4e 6f 58 66 65 .StatusError.ENDP....StatusNoXfe
a0a0 72 09 50 52 4f 43 09 4e 45 41 52 0d 0a 09 58 4f 52 09 41 58 2c 41 58 0d 0a 09 4d 4f 56 09 5b 42 r.PROC.NEAR...XOR.AX,AX...MOV.[B
a0c0 58 5d 2e 43 4f 55 4e 54 2c 41 58 09 09 3b 20 4e 6f 20 63 68 61 72 73 20 72 65 61 64 0d 0a 53 74 X].COUNT,AX..;.No.chars.read..St
a0e0 61 74 75 73 4e 6f 58 66 65 72 09 45 4e 44 50 0d 0a 0d 0a 09 50 01 55 42 4c 49 43 09 53 74 61 74 atusNoXfer.ENDP.....P.UBLIC.Stat
a100 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 50 52 4f 43 09 usComplete..StatusComplete.PROC.
a120 4e 45 41 52 0d 0a 09 4d 4f 56 09 41 48 2c 30 30 30 30 30 30 30 31 42 09 09 3b 20 44 6f 6e 65 0d NEAR...MOV.AH,00000001B..;.Done.
a140 0a 09 50 55 42 4c 49 43 09 53 65 74 53 74 61 74 75 73 0d 0a 53 65 74 53 74 61 74 75 73 3a 0d 0a ..PUBLIC.SetStatus..SetStatus:..
a160 09 50 4f 50 09 42 58 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 4d 4f 56 09 45 53 3a 57 4f 52 44 20 50 .POP.BX...POP.ES...MOV.ES:WORD.P
a180 54 52 20 5b 42 58 5d 2e 53 54 41 54 55 53 2c 41 58 20 20 20 20 20 3b 4d 41 52 4b 20 4f 50 45 52 TR.[BX].STATUS,AX.....;MARK.OPER
a1a0 41 54 49 4f 4e 20 43 4f 4d 50 4c 45 54 45 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 50 4f 50 09 42 50 ATION.COMPLETE...POP.DS...POP.BP
a1c0 0d 0a 09 50 4f 50 09 44 49 0d 0a 09 50 4f 50 09 44 58 0d 0a 09 50 4f 50 09 43 58 0d 0a 09 50 4f ...POP.DI...POP.DX...POP.CX...PO
a1e0 50 09 41 58 0d 0a 09 50 4f 50 09 53 49 0d 0a 58 58 58 09 50 52 4f 43 09 46 41 52 0d 0a 09 52 45 P.AX...POP.SI..XXX.PROC.FAR...RE
a200 54 09 09 09 09 3b 52 45 53 54 4f 52 45 20 52 45 47 53 20 41 4e 44 20 52 45 54 55 52 4e 0d 0a 58 T....;RESTORE.REGS.AND.RETURN..X
a220 58 58 09 45 4e 44 50 0d 0a 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 45 4e 44 50 0d 0a 0d 0a XX.ENDP..StatusComplete.ENDP....
a240 53 74 61 74 75 73 57 61 69 74 09 50 52 4f 43 09 4e 45 41 52 0d 0a 09 4d 4f 56 09 41 48 2c 30 09 StatusWait.PROC.NEAR...MOV.AH,0.
a260 09 09 3b 20 44 6f 6e 27 74 20 73 65 74 20 64 6f 6e 65 20 62 69 74 0d 0a 09 4d 4f 56 09 5b 42 58 ..;.Don't.set.done.bit...MOV.[BX
a280 5d 2e 43 6f 75 6e 74 2c 43 58 09 09 3b 20 53 65 74 20 6e 75 6d 62 65 72 20 63 6f 6d 70 6c 65 74 ].Count,CX..;.Set.number.complet
a2a0 65 64 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 42 58 5d 2e 54 72 61 6e 73 2c 44 49 09 ed...MOV.WORD.PTR.[BX].Trans,DI.
a2c0 3b 20 53 65 74 20 6e 65 77 20 6f 66 66 73 65 74 0d 0a 09 4a 4d 50 09 53 65 74 53 74 61 74 75 73 ;.Set.new.offset...JMP.SetStatus
a2e0 0d 0a 53 74 61 74 75 73 57 61 69 74 09 45 4e 44 50 0d 0a 0d 0a 49 05 04 01 09 02 01 02 03 04 05 ..StatusWait.ENDP....I..........
a300 06 07 08 09 01 46 09 43 4f 4e 53 46 4c 41 47 0d 0a 3b 20 53 65 74 20 74 68 65 20 61 64 64 72 65 .....F.CONSFLAG..;.Set.the.addre
a320 73 73 20 6f 66 20 74 68 65 20 64 6f 73 20 66 75 6e 63 74 69 6f 6e 20 72 6f 75 74 69 6e 65 20 66 ss.of.the.dos.function.routine.f
a340 6f 72 20 64 72 69 76 65 72 73 0d 0a 53 65 74 41 64 64 72 20 50 52 4f 43 09 4e 45 41 52 0d 0a 09 or.drivers..SetAddr.PROC.NEAR...
a360 4d 4f 56 09 41 58 2c 57 4f 52 44 20 50 54 52 20 5b 42 58 5d 2e 44 66 75 6e 0d 0a 09 4d 4f 56 09 MOV.AX,WORD.PTR.[BX].Dfun...MOV.
a380 57 4f 52 44 20 50 54 52 20 44 6f 73 46 75 6e 63 74 69 6f 6e 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 WORD.PTR.DosFunction,AX...MOV.AX
a3a0 2c 57 4f 52 44 20 50 54 52 20 5b 42 58 2b 32 5d 2e 44 66 75 6e 0d 0a 09 4d 4f 56 09 57 4f 52 44 ,WORD.PTR.[BX+2].Dfun...MOV.WORD
a3c0 20 50 54 52 20 28 44 6f 73 46 75 6e 63 74 69 6f 6e 2b 32 29 2c 41 58 0d 0a 09 6d 6f 76 09 61 78 .PTR.(DosFunction+2),AX...mov.ax
a3e0 2c 30 0d 0a 09 6d 6f 76 09 63 78 2c 31 0d 0a 09 6d 6f 76 09 64 78 2c 31 36 0d 0a 09 63 61 6c 6c ,0...mov.cx,1...mov.dx,16...call
a400 09 44 6f 73 46 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 53 63 72 6e .DosFunction...mov.word.ptr.Scrn
a420 49 4f 6f 6b 2c 61 78 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 53 63 72 6e 49 4f 6f 6b 2b IOok,ax...mov.word.ptr.ScrnIOok+
a440 32 2c 64 78 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 53 65 74 41 64 2,dx...JMP.StatusComplete..SetAd
a460 64 72 20 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d dr.ENDP......;------------------
a480 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a4a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 43 48 52 4f 55 54 20 2d 20 57 52 49 54 45 -----------..;..;.CHROUT.-.WRITE
a4c0 20 4f 55 54 20 43 48 41 52 20 49 4e 20 41 4c 20 55 53 49 4e 47 20 43 55 52 52 45 4e 54 20 41 54 .OUT.CHAR.IN.AL.USING.CURRENT.AT
a4e0 54 52 49 42 55 54 45 0d 0a 3b 0d 0a 3b 09 43 41 4c 4c 45 44 20 56 49 41 20 49 4e 54 20 32 39 48 TRIBUTE..;..;.CALLED.VIA.INT.29H
a500 0d 0a 3b 0d 0a 01 43 48 52 4f 55 54 09 3d 09 32 39 48 0d 0a 0d 0a 4f 55 54 43 48 52 3a 20 53 54 ..;...CHROUT.=.29H....OUTCHR:.ST
a520 49 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 4d 4f 56 09 42 58 2c 37 0d 0a 09 4d 4f 56 09 41 48 2c I...PUSH.AX...MOV.BX,7...MOV.AH,
a540 31 34 09 09 3b 57 52 49 54 45 20 43 48 41 52 41 43 54 45 52 0d 0a 09 49 4e 54 09 31 30 48 09 09 14..;WRITE.CHARACTER...INT.10H..
a560 3b 53 45 4e 44 20 54 48 45 20 43 48 41 52 41 43 54 45 52 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 49 ;SEND.THE.CHARACTER...POP.AX...I
a580 52 45 54 0d 0a 45 4e 44 49 46 09 3b 43 4f 4e 53 46 4c 41 47 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d RET..ENDIF.;CONSFLAG....;-------
a5a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a5c0 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 53 45 54 20 44 58 20 54 4f 20 41 55 58 4e 55 4d 0d 0a -------..;..;.SET.DX.TO.AUXNUM..
a5e0 3b 0d 0a 47 45 54 44 58 3a 09 4d 4f 56 09 44 4c 2c 5b 41 55 58 4e 55 4d 5d 0d 0a 09 58 4f 52 09 ;..GETDX:.MOV.DL,[AUXNUM]...XOR.
a600 44 48 2c 44 48 0d 0a 09 52 45 54 0d 0a 0d 0a 53 55 42 54 54 4c 09 43 6f 6e 73 6f 6c 65 20 64 72 DH,DH...RET....SUBTTL.Console.dr
a620 69 76 65 72 0d 0a 0c 43 4f 4d 4d 45 4e 54 09 2a 0d 0a 20 20 20 54 68 69 73 20 69 73 20 74 68 65 iver...COMMENT.*.....This.is.the
a640 20 63 6f 6e 73 6f 6c 65 28 20 43 4f 4e 20 29 20 64 65 76 69 63 65 20 64 72 69 76 65 72 2e 20 54 .console(.CON.).device.driver..T
a660 68 65 20 69 6e 70 75 74 20 73 69 64 65 20 69 73 20 61 73 73 69 67 6e 65 64 0d 0a 74 6f 20 74 68 he.input.side.is.assigned..to.th
a680 65 20 6b 65 79 62 6f 61 72 64 20 61 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 20 74 68 65 e.keyboard.and.the.output.to.the
a6a0 20 76 69 64 65 6f 20 73 63 72 65 65 6e 2e 20 54 68 65 20 6f 75 74 70 75 74 20 63 6f 64 65 0d 0a .video.screen..The.output.code..
a6c0 72 65 6d 61 69 6e 73 20 6d 6f 72 65 20 6f 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d 65 20 61 73 remains.more.or.less.the.same.as
a6e0 20 69 6e 20 32 2e 30 2e 20 54 68 65 20 69 6e 70 75 74 20 73 69 64 65 2c 20 68 6f 77 65 76 65 72 .in.2.0..The.input.side,.however
a700 2c 20 69 73 0d 0a 01 63 68 61 6e 67 65 64 20 66 6f 72 20 34 2e 30 20 74 6f 20 65 6e 74 65 72 20 ,.is...changed.for.4.0.to.enter.
a720 61 6e 20 49 2f 4f 20 77 61 69 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 6f 6f 70 20 77 61 69 an.I/O.wait.rather.than.loop.wai
a740 74 69 6e 67 20 66 6f 72 20 61 0d 0a 63 68 61 72 61 63 74 65 72 2e 0d 0a 09 2a 0d 0a 0d 0a 49 46 ting.for.a..character....*....IF
a760 09 43 4f 4e 53 46 4c 41 47 0d 0a 43 4f 4e 44 45 56 09 4c 41 42 45 4c 09 57 4f 52 44 09 09 09 3b .CONSFLAG..CONDEV.LABEL.WORD...;
a780 48 45 41 44 45 52 20 46 4f 52 20 44 45 56 49 43 45 20 22 43 4f 4e 22 0d 0a 09 44 57 09 41 55 58 HEADER.FOR.DEVICE."CON"...DW.AUX
a7a0 44 45 56 2c 42 49 4f 53 45 47 0d 0a 09 44 57 09 31 30 30 30 30 30 30 30 30 30 30 31 30 30 31 31 DEV,BIOSEG...DW.1000000000010011
a7c0 42 09 3b 43 4f 4e 20 49 4e 20 41 4e 44 20 43 4f 4e 20 4f 55 54 20 2b 20 53 50 45 43 49 41 4c 0d B.;CON.IN.AND.CON.OUT.+.SPECIAL.
a7e0 0a 09 44 57 09 53 54 52 41 54 45 47 59 0d 0a 09 44 57 09 43 4f 4e 24 49 4e 0d 0a 09 44 42 09 27 ..DW.STRATEGY...DW.CON$IN...DB.'
a800 43 4f 4e 20 20 20 20 20 27 0d 0a 45 4c 53 45 0d 0a 09 45 58 54 52 4e 09 43 4f 4e 44 45 56 3a 4e CON.....'..ELSE...EXTRN.CONDEV:N
a820 45 41 52 0d 0a 09 50 55 42 4c 49 43 09 41 55 58 44 45 56 0d 0a 45 4e 44 49 46 09 3b 43 4f 4e 53 EAR...PUBLIC.AUXDEV..ENDIF.;CONS
a840 46 4c 41 47 0d 0a 0d 0a 49 46 09 43 4f 4e 53 46 4c 41 47 0d 0a 4b 65 79 32 6e 64 50 61 72 74 09 FLAG....IF.CONSFLAG..Key2ndPart.
a860 44 42 09 30 09 09 3b 20 4c 65 66 74 6f 76 65 72 20 62 79 74 65 20 6f 66 20 32 20 6b 65 79 20 63 DB.0..;.Leftover.byte.of.2.key.c
a880 6f 64 65 73 0d 0a 0d 0a 52 6f 6d 44 61 74 61 20 53 45 47 4d 45 4e 54 20 41 54 20 34 30 48 0d 0a odes....RomData.SEGMENT.AT.40H..
a8a0 09 4f 52 47 09 31 41 48 0d 0a 42 75 66 66 65 72 68 65 61 64 09 44 57 09 3f 0d 0a 42 75 66 66 65 .ORG.1AH..Bufferhead.DW.?..Buffe
a8c0 72 54 61 69 6c 09 44 57 09 3f 0d 0a 4b 65 79 42 75 66 66 65 72 09 4c 41 42 45 4c 09 57 4f 52 44 rTail.DW.?..KeyBuffer.LABEL.WORD
a8e0 0d 0a 4b 65 79 42 75 66 4c 65 6e 09 65 71 75 09 33 32 09 09 3b 20 6c 65 6e 67 74 68 20 6f 66 20 ..KeyBufLen.equ.32..;.length.of.
a900 4b 65 79 42 75 66 66 01 65 72 0d 0a 52 6f 6d 44 61 74 61 20 45 4e 44 53 0d 0a 0d 0a 3b 20 42 52 KeyBuff.er..RomData.ENDS....;.BR
a920 45 41 4b 20 69 6e 74 65 72 72 75 70 74 20 72 6f 75 74 69 6e 65 0d 0a 3b 20 52 4f 4d 20 69 6e 74 EAK.interrupt.routine..;.ROM.int
a940 65 72 72 75 70 74 20 68 61 6e 64 6c 65 72 20 72 65 73 65 74 73 20 62 75 66 66 65 72 20 70 6f 69 errupt.handler.resets.buffer.poi
a960 6e 74 65 72 73 20 74 6f 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 62 75 66 66 65 72 0d 0a 3b 20 nters.to.beginning.of.buffer..;.
a980 61 6e 64 20 70 6c 61 63 65 73 20 61 20 30 30 30 30 68 20 64 75 6d 6d 79 20 63 68 61 72 61 63 74 and.places.a.0000h.dummy.charact
a9a0 65 72 20 69 6e 74 6f 20 74 68 65 20 62 75 66 66 65 72 2e 0d 0a 0d 0a 42 72 65 61 6b 09 50 52 4f er.into.the.buffer.....Break.PRO
a9c0 43 09 4e 45 41 52 0d 0a 09 6d 6f 76 09 4b 65 79 32 6e 64 50 61 72 74 2c 33 09 09 3b 20 46 6f 72 C.NEAR...mov.Key2ndPart,3..;.For
a9e0 63 65 20 6e 65 78 74 20 63 68 61 72 20 74 6f 20 62 65 20 5e 43 28 20 73 74 6f 70 20 29 0d 0a 09 ce.next.char.to.be.^C(.stop.)...
aa00 49 52 45 54 0d 0a 42 72 65 61 6b 09 45 4e 44 50 0d 0a 0d 0a 53 55 42 54 54 4c 09 43 6f 6e 73 6f IRET..Break.ENDP....SUBTTL.Conso
aa20 6c 65 20 72 65 61 64 20 61 6e 64 20 73 75 62 72 6f 75 74 69 6e 65 73 0d 0a 09 50 41 47 45 0d 0a le.read.and.subroutines...PAGE..
aa40 0d 0a 43 4f 4d 4d 45 4e 54 20 2a 0d 0a 20 20 20 54 68 65 20 63 6f 6e 73 6f 6c 65 20 72 65 61 64 ..COMMENT.*.....The.console.read
aa60 20 64 69 73 70 61 74 63 68 20 74 72 69 65 73 20 74 6f 20 72 65 61 64 20 74 68 65 20 73 65 6c 65 .dispatch.tries.to.read.the.sele
aa80 63 74 65 64 20 6e 75 6d 62 65 72 20 6f 66 0d 0a 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 cted.number.of..characters.from.
aaa0 74 68 65 20 6b 65 79 62 6f 61 72 64 2e 20 49 66 20 61 74 20 61 6e 79 20 70 6f 69 6e 74 20 74 68 the.keyboard..If.at.any.point.th
aac0 65 72 65 20 69 73 20 6e 6f 20 6b 65 79 20 69 6e 0d 0a 74 68 65 20 71 75 65 75 65 2c 20 69 74 20 ere.is.no.key.in..the.queue,.it.
aae0 72 65 74 75 72 6e 73 20 74 6f 20 74 68 65 20 64 6f 73 20 74 6f 20 61 6c 6c 6f 77 20 61 6e 6f 74 returns.to.the.dos.to.allow.anot
ab00 68 65 72 20 70 72 6f 63 01 65 73 73 20 74 6f 20 72 75 6e 0d 0a 75 6e 74 69 6c 20 61 20 6b 65 79 her.proc.ess.to.run..until.a.key
ab20 20 69 73 20 64 65 70 72 65 73 73 65 64 2e 0d 0a 0d 0a 45 6e 74 72 79 20 70 61 72 61 6d 65 74 65 .is.depressed.....Entry.paramete
ab40 72 73 3a 0d 0a 09 45 53 3a 44 49 09 50 6f 69 6e 74 65 72 20 74 6f 20 62 75 66 66 65 72 20 69 6e rs:...ES:DI.Pointer.to.buffer.in
ab60 20 77 68 69 63 68 20 74 6f 20 73 74 6f 72 65 20 63 68 61 72 61 63 74 65 72 73 0d 0a 09 43 58 09 .which.to.store.characters...CX.
ab80 4e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 72 65 61 64 0d 0a 09 44 Number.of.characters.to.read...D
aba0 53 3a 42 58 09 50 6f 69 6e 74 65 72 20 74 6f 20 64 65 76 69 63 65 20 72 65 71 75 65 73 74 20 70 S:BX.Pointer.to.device.request.p
abc0 61 63 6b 65 74 0d 0a 0d 0a 45 78 69 74 20 70 61 72 61 6d 65 74 65 72 73 3a 0d 0a 09 43 58 09 4e acket....Exit.parameters:...CX.N
abe0 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 6c 65 66 74 20 74 6f 20 72 65 61 64 umber.of.characters.left.to.read
ac00 0d 0a 09 44 53 3a 42 58 09 50 6f 69 6e 74 65 72 20 74 6f 20 64 65 76 69 63 65 20 72 65 71 75 65 ...DS:BX.Pointer.to.device.reque
ac20 73 74 20 70 61 63 6b 65 74 0d 0a 09 2a 0d 0a 0d 0a 43 6f 6e 24 52 65 61 64 09 50 52 4f 43 09 4e st.packet...*....Con$Read.PROC.N
ac40 45 41 52 0d 0a 09 4a 43 58 5a 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 43 4f 4e 24 4c EAR...JCXZ.StatusComplete..CON$L
ac60 4f 4f 50 3a 0d 0a 09 50 55 53 48 09 43 58 09 09 3b 53 41 56 45 20 43 4f 55 4e 54 0d 0a 09 43 41 OOP:...PUSH.CX..;SAVE.COUNT...CA
ac80 4c 4c 09 43 68 72 49 6e 09 09 3b 47 45 54 20 43 48 41 52 20 49 4e 20 41 4c 0d 0a 09 50 4f 50 09 LL.ChrIn..;GET.CHAR.IN.AL...POP.
aca0 43 58 0d 0a 09 53 54 4f 53 42 09 09 09 3b 53 54 4f 52 45 20 43 48 41 52 20 41 54 20 45 53 3a 44 CX...STOSB...;STORE.CHAR.AT.ES:D
acc0 49 0d 0a 09 4c 4f 4f 50 09 43 4f 4e 24 4c 4f 4f 50 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 43 6f I...LOOP.CON$LOOP...JMP.StatusCo
ace0 6d 70 6c 65 74 65 0d 0a 43 6f 6e 24 52 65 61 64 09 45 4e 44 50 0d 0a 0d 0a 43 4f 4d 4d 45 4e 54 mplete..Con$Read.ENDP....COMMENT
ad00 20 2a 0d 0a 20 20 20 20 43 01 68 72 49 6e 20 61 74 74 65 6d 70 74 73 20 74 6f 20 72 65 61 64 20 .*......C.hrIn.attempts.to.read.
ad20 61 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 71 75 a.character.from.the.keyboard.qu
ad40 65 75 65 20 74 68 61 74 0d 0a 69 73 20 6d 61 69 6e 74 61 69 6e 65 64 20 62 79 20 74 68 65 20 52 eue.that..is.maintained.by.the.R
ad60 4f 4d 20 42 49 4f 53 2e 20 49 66 20 74 68 65 20 71 75 65 75 65 20 69 73 20 6e 6f 74 20 65 6d 70 OM.BIOS..If.the.queue.is.not.emp
ad80 74 79 2c 20 74 68 65 20 63 6f 64 65 0d 0a 69 73 20 72 65 74 75 72 6e 65 64 2e 20 4f 74 68 65 72 ty,.the.code..is.returned..Other
ada0 77 69 73 65 2c 20 74 68 65 20 70 61 63 6b 65 74 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 wise,.the.packet.is.added.to.the
adc0 20 6c 69 73 74 20 6f 66 20 6b 65 79 62 6f 61 72 64 0d 0a 72 65 61 64 73 20 61 6e 64 20 63 61 72 .list.of.keyboard..reads.and.car
ade0 72 79 20 69 73 20 73 65 74 20 74 6f 20 63 61 75 73 65 20 74 68 65 20 64 72 69 76 65 72 20 72 6f ry.is.set.to.cause.the.driver.ro
ae00 75 74 69 6e 65 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 74 68 65 0d 0a 64 6f 73 20 77 69 74 68 utine.to.return.to.the..dos.with
ae20 20 74 68 65 20 64 6f 6e 65 20 62 69 74 20 6e 6f 74 20 73 65 74 20 77 68 69 63 68 20 72 65 73 75 .the.done.bit.not.set.which.resu
ae40 6c 74 73 20 69 6e 20 61 6e 20 49 2f 4f 20 77 61 69 74 2e 0d 0a 0d 0a 45 6e 74 72 79 20 70 61 72 lts.in.an.I/O.wait.....Entry.par
ae60 61 6d 65 74 65 72 73 3a 0d 0a 09 44 53 3a 42 58 09 50 6f 69 6e 74 65 72 20 74 6f 20 64 65 76 69 ameters:...DS:BX.Pointer.to.devi
ae80 63 65 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 0d 0a 45 78 69 74 20 70 61 72 61 6d 65 ce.request.packet....Exit.parame
aea0 74 65 72 73 3a 0d 0a 09 41 4c 09 43 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 6b 65 79 62 6f 61 ters:...AL.Character.from.keyboa
aec0 72 64 20 69 66 20 70 72 65 73 65 6e 74 0d 0a 2a 0d 0a 0d 0a 43 68 72 49 6e 09 50 52 4f 43 09 4e rd.if.present..*....ChrIn.PROC.N
aee0 45 41 52 0d 0a 43 6f 6e 52 65 61 64 4c 6f 6f 70 3a 0d 0a 09 58 4f 52 09 41 58 2c 41 58 0d 0a 09 EAR..ConReadLoop:...XOR.AX,AX...
af00 58 43 48 47 09 41 4c 2c 4b 65 01 79 32 6e 64 50 61 72 74 09 09 3b 20 47 45 54 20 43 48 41 52 41 XCHG.AL,Ke.y2ndPart..;.GET.CHARA
af20 43 54 45 52 20 26 20 5a 45 52 4f 20 4b 65 79 32 6e 64 50 61 72 74 0d 0a 09 4f 52 09 41 4c 2c 41 CTER.&.ZERO.Key2ndPart...OR.AL,A
af40 4c 0d 0a 09 4a 4e 5a 09 4b 65 79 52 65 74 0d 0a 09 4d 4f 56 09 41 48 2c 30 0d 0a 09 49 4e 54 09 L...JNZ.KeyRet...MOV.AH,0...INT.
af60 31 36 48 09 09 09 3b 20 47 65 74 20 74 68 65 20 63 68 61 72 0d 0a 09 4f 52 09 41 58 2c 41 58 09 16H...;.Get.the.char...OR.AX,AX.
af80 09 3b 43 68 65 63 6b 20 66 6f 72 20 6e 6f 6e 2d 6b 65 79 20 61 66 74 65 72 20 42 52 45 41 4b 0d .;Check.for.non-key.after.BREAK.
afa0 0a 09 4a 5a 09 43 6f 6e 52 65 61 64 4c 6f 6f 70 0d 0a 09 43 4d 50 09 41 58 2c 37 32 30 30 48 09 ..JZ.ConReadLoop...CMP.AX,7200H.
afc0 3b 43 68 65 63 6b 20 66 6f 72 20 43 54 52 4c 2d 50 52 54 53 43 0d 0a 09 4a 4e 5a 09 41 4c 54 31 ;Check.for.CTRL-PRTSC...JNZ.ALT1
afe0 35 0d 0a 09 4d 4f 56 09 41 4c 2c 31 36 0d 0a 41 4c 54 31 35 3a 0d 0a 09 4f 52 09 41 4c 2c 41 4c 5...MOV.AL,16..ALT15:...OR.AL,AL
b000 09 09 3b 20 32 20 62 79 74 65 20 6b 65 79 63 6f 64 65 3f 0d 0a 09 4a 4e 5a 09 4b 65 79 52 65 74 ..;.2.byte.keycode?...JNZ.KeyRet
b020 09 09 3b 20 4e 6f 2c 20 68 61 76 65 20 77 68 6f 6c 65 20 63 6f 64 65 0d 0a 09 4d 4f 56 09 4b 65 ..;.No,.have.whole.code...MOV.Ke
b040 79 32 6e 64 50 61 72 74 2c 41 48 09 3b 20 59 65 73 2c 20 73 74 6f 72 65 20 73 63 61 6e 20 63 6f y2ndPart,AH.;.Yes,.store.scan.co
b060 64 65 20 66 6f 72 20 6e 65 78 74 20 72 65 61 64 0d 0a 4b 65 79 52 65 74 3a 20 52 45 54 0d 0a 43 de.for.next.read..KeyRet:.RET..C
b080 68 72 49 6e 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 43 4f 4d 4d 45 4e 54 20 2a 0d 0a 20 20 20 54 68 65 hrIn.ENDP......COMMENT.*.....The
b0a0 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6b 65 79 62 6f 61 72 64 20 72 65 61 64 20 72 .non-destructive.keyboard.read.r
b0c0 6f 75 74 69 6e 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 63 68 61 72 0d 0a 69 6e outine.returns.the.next.char..in
b0e0 20 74 68 65 20 71 75 65 75 65 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 2e 0d 0a 0d 0a 45 .the.queue.if.there.is.one.....E
b100 6e 74 72 79 20 70 61 72 61 6d 65 01 74 65 72 73 3a 0d 0a 09 44 53 3a 42 58 09 50 6f 69 6e 74 65 ntry.parame.ters:...DS:BX.Pointe
b120 72 20 74 6f 20 64 65 76 69 63 65 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 0d 0a 45 78 r.to.device.request.packet....Ex
b140 69 74 20 70 61 72 61 6d 65 74 65 72 73 3a 0d 0a 09 44 53 3a 42 58 09 50 6f 69 6e 74 65 72 20 74 it.parameters:...DS:BX.Pointer.t
b160 6f 20 64 65 76 69 63 65 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 09 2a 0d 0a 43 6f 6e o.device.request.packet...*..Con
b180 24 52 64 4e 64 09 50 52 4f 43 09 4e 45 41 52 0d 0a 09 4d 4f 56 09 41 4c 2c 5b 4b 65 79 32 6e 64 $RdNd.PROC.NEAR...MOV.AL,[Key2nd
b1a0 50 61 72 74 5d 0d 0a 09 4f 52 09 41 4c 2c 41 4c 0d 0a 09 4a 4e 5a 09 52 44 65 78 69 74 0d 0a 09 Part]...OR.AL,AL...JNZ.RDexit...
b1c0 6d 6f 76 09 61 68 2c 31 0d 0a 09 69 6e 74 09 31 36 68 0d 0a 09 4a 5a 09 43 4f 4e 42 55 53 0d 0a mov.ah,1...int.16h...JZ.CONBUS..
b1e0 09 4f 52 09 41 58 2c 41 58 0d 0a 09 4a 4e 5a 09 4e 4f 54 42 52 4b 09 09 09 3b 43 48 45 43 4b 20 .OR.AX,AX...JNZ.NOTBRK...;CHECK.
b200 46 4f 52 20 4e 55 4c 4c 20 41 46 54 45 52 20 42 52 45 41 4b 0d 0a 09 4d 4f 56 09 41 48 2c 30 0d FOR.NULL.AFTER.BREAK...MOV.AH,0.
b220 0a 09 49 4e 54 09 31 36 48 09 09 09 3b 52 45 41 44 20 54 48 45 20 4e 55 4c 4c 0d 0a 09 4a 4d 50 ..INT.16H...;READ.THE.NULL...JMP
b240 09 43 4f 4e 24 52 44 4e 44 09 09 3b 41 4e 44 20 47 45 54 20 41 20 52 45 41 4c 20 53 54 41 54 55 .CON$RDND..;AND.GET.A.REAL.STATU
b260 53 0d 0a 4e 4f 54 42 52 4b 3a 20 43 4d 50 09 41 58 2c 37 32 30 30 48 09 09 3b 43 48 45 43 4b 20 S..NOTBRK:.CMP.AX,7200H..;CHECK.
b280 46 4f 52 20 43 54 52 4c 2d 50 52 54 53 43 0d 0a 09 4a 4e 5a 09 52 44 65 78 69 74 0d 0a 09 4d 4f FOR.CTRL-PRTSC...JNZ.RDexit...MO
b2a0 56 09 41 4c 2c 31 36 0d 0a 52 44 65 78 69 74 3a 0d 0a 09 4d 4f 56 09 5b 42 58 5d 2e 4d 45 44 49 V.AL,16..RDexit:...MOV.[BX].MEDI
b2c0 41 2c 41 4c 0d 0a 45 58 56 45 43 3a 09 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d A,AL..EXVEC:.JMP.StatusComplete.
b2e0 0a 43 4f 4e 42 55 53 3a 20 4a 4d 50 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 0d 0a 43 6f 6e .CONBUS:.JMP.StatusDevReady..Con
b300 24 52 64 4e 64 09 45 4e 44 50 0d 0a 01 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d $RdNd.ENDP.....;----------------
b320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 4b 45 59 42 4f 41 52 44 20 46 4c --------------..;..;.KEYBOARD.FL
b360 55 53 48 20 52 4f 55 54 49 4e 45 0d 0a 3b 0d 0a 43 6f 6e 24 46 6c 73 68 09 50 52 4f 43 09 4e 45 USH.ROUTINE..;..Con$Flsh.PROC.NE
b380 41 52 0d 0a 09 4d 4f 56 09 5b 4b 65 79 32 6e 64 50 61 72 74 5d 2c 30 09 09 20 20 20 20 20 20 20 AR...MOV.[Key2ndPart],0.........
b3a0 3b 43 6c 65 61 72 20 6f 75 74 20 68 6f 6c 64 69 6e 67 20 62 75 66 66 65 72 0d 0a 0d 0a 09 43 41 ;Clear.out.holding.buffer.....CA
b3c0 4c 4c 09 46 6c 75 73 68 09 09 09 3b 20 46 6c 75 73 68 20 74 68 65 20 6b 65 79 62 6f 61 72 64 0d LL.Flush...;.Flush.the.keyboard.
b3e0 0a 09 4a 4d 50 09 45 58 56 45 43 0d 0a 43 6f 6e 24 46 6c 73 68 09 45 4e 44 50 0d 0a 0d 0a 0d 0a ..JMP.EXVEC..Con$Flsh.ENDP......
b400 46 6c 75 73 68 09 50 52 4f 43 09 4e 45 41 52 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 4d 4f 56 09 Flush.PROC.NEAR...PUSH.DS...MOV.
b420 41 58 2c 52 6f 6d 44 61 74 61 0d 0a 09 4d 4f 56 09 44 53 2c 41 58 0d 0a 20 20 20 20 41 53 53 55 AX,RomData...MOV.DS,AX......ASSU
b440 4d 45 09 44 53 3a 52 6f 6d 44 61 74 61 0d 0a 0d 0a 09 43 4c 49 09 09 09 09 3b 20 2a 2a 20 44 69 ME.DS:RomData.....CLI....;.**.Di
b460 73 61 62 6c 65 20 69 6e 74 65 72 72 75 70 74 73 0d 0a 09 4d 4f 56 09 41 58 2c 6f 66 66 73 65 74 sable.interrupts...MOV.AX,offset
b480 20 52 6f 6d 44 61 74 61 3a 4b 65 79 42 75 66 66 65 72 20 20 3b 20 53 74 61 72 74 20 6f 66 20 52 .RomData:KeyBuffer..;.Start.of.R
b4a0 6f 6d 20 62 75 66 66 65 72 0d 0a 09 4d 4f 56 09 42 75 66 66 65 72 48 65 61 64 2c 41 58 0d 0a 09 om.buffer...MOV.BufferHead,AX...
b4c0 4d 4f 56 09 42 75 66 66 65 72 54 61 69 6c 2c 41 58 09 09 3b 20 45 6d 70 74 79 20 74 68 65 20 71 MOV.BufferTail,AX..;.Empty.the.q
b4e0 75 65 75 65 0d 0a 09 53 54 49 09 09 09 09 3b 20 2a 2a 20 65 6e 61 62 6c 65 20 69 6e 74 65 72 72 ueue...STI....;.**.enable.interr
b500 75 70 74 73 0d 0a 09 50 4f 50 09 44 53 05 05 00 09 02 01 02 03 04 05 06 07 08 09 01 0d 0a 20 20 upts...POP.DS...................
b520 20 20 41 53 53 55 4d 45 09 44 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 09 52 45 54 0d 0a 46 6c 75 ..ASSUME.DS:NOTHING.....RET..Flu
b540 73 68 09 45 4e 44 50 0d 0a 0d 0a 53 55 42 54 54 4c 09 43 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 sh.ENDP....SUBTTL.Console.output
b560 28 20 76 69 64 65 6f 20 29 20 72 6f 75 74 69 6e 65 73 0d 0a 09 50 41 47 45 0d 0a 0d 0a 3b 2d 2d (.video.).routines...PAGE....;--
b580 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b5a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 43 ------------------------..;..;.C
b5c0 4f 4e 53 4f 4c 45 20 57 52 49 54 45 20 52 4f 55 54 49 4e 45 0d 0a 3b 0d 0a 43 4f 4e 24 57 52 49 ONSOLE.WRITE.ROUTINE..;..CON$WRI
b5e0 54 3a 0d 0a 09 4a 43 58 5a 09 45 58 56 45 43 0d 0a 43 4f 4e 24 4c 50 3a 20 4d 4f 56 09 41 4c 2c T:...JCXZ.EXVEC..CON$LP:.MOV.AL,
b600 45 53 3a 5b 44 49 5d 09 3b 47 45 54 20 43 48 41 52 0d 0a 09 49 4e 43 09 44 49 0d 0a 09 50 55 53 ES:[DI].;GET.CHAR...INC.DI...PUS
b620 48 09 43 58 0d 0a 09 50 55 53 48 09 44 49 0d 0a 09 49 4e 54 09 43 48 52 4f 55 54 09 09 3b 4f 55 H.CX...PUSH.DI...INT.CHROUT..;OU
b640 54 50 55 54 20 43 48 41 52 0d 0a 09 50 4f 50 09 44 49 0d 0a 09 50 4f 50 09 43 58 0d 0a 09 4c 4f TPUT.CHAR...POP.DI...POP.CX...LO
b660 4f 50 09 43 4f 4e 24 4c 50 09 09 3b 52 45 50 45 41 54 20 55 4e 54 49 4c 20 41 4c 4c 20 54 48 52 OP.CON$LP..;REPEAT.UNTIL.ALL.THR
b680 4f 55 47 48 0d 0a 09 4a 4d 50 09 45 58 56 45 43 0d 0a 0d 0a 53 55 42 54 54 4c 09 4b 65 79 62 6f OUGH...JMP.EXVEC....SUBTTL.Keybo
b6a0 61 72 64 20 69 6e 74 65 72 72 75 70 74 20 72 6f 75 74 69 6e 65 0d 0a 50 41 47 45 0d 0a 3b 20 52 ard.interrupt.routine..PAGE..;.R
b6c0 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 52 4f 4d 20 6b 65 79 62 6f 61 72 64 20 69 6e 74 65 eplacement.for.ROM.keyboard.inte
b6e0 72 72 75 70 74 2c 20 74 61 63 6b 73 20 6f 6e 20 74 68 65 20 66 72 6f 6e 74 2e 0d 0a 3b 20 4f 6c rrupt,.tacks.on.the.front...;.Ol
b700 64 4b 65 79 49 6e 74 65 72 72 75 70 74 20 69 73 20 73 65 74 20 74 6f 20 6f 72 69 67 01 69 6e 61 dKeyInterrupt.is.set.to.orig.ina
b720 6c 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 49 4e 54 20 30 39 48 2e 0d 0a 3b 20 54 68 65 20 69 6e l.contents.of.INT.09H...;.The.in
b740 70 75 74 20 63 68 61 72 61 63 74 65 72 20 69 73 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 4f put.character.is.passed.to.the.O
b760 2e 53 2e 20 63 6f 6e 73 6f 6c 65 20 69 6e 70 75 74 20 66 69 6c 74 65 72 0d 0a 3b 20 74 6f 20 64 .S..console.input.filter..;.to.d
b780 65 74 65 72 6d 69 6e 65 20 69 66 20 61 6e 79 20 73 70 65 63 69 61 6c 20 61 63 74 69 6f 6e 20 73 etermine.if.any.special.action.s
b7a0 68 6f 75 6c 64 20 62 65 20 74 61 6b 65 6e 2e 20 20 54 68 65 20 66 69 6c 74 65 72 0d 0a 3b 20 72 hould.be.taken...The.filter..;.r
b7c0 65 74 75 72 6e 20 76 61 6c 75 65 20 69 6e 64 69 63 61 74 65 73 20 69 66 20 74 68 65 20 63 68 61 eturn.value.indicates.if.the.cha
b7e0 72 61 63 74 65 72 20 73 68 6f 75 6c 64 20 62 65 20 73 61 76 65 64 20 69 6e 20 74 68 65 0d 0a 3b racter.should.be.saved.in.the..;
b800 20 74 79 70 65 20 61 68 65 61 64 20 62 75 66 66 65 72 20 6f 72 20 69 66 20 69 74 20 73 68 6f 75 .type.ahead.buffer.or.if.it.shou
b820 6c 64 20 62 65 20 64 69 73 63 61 72 64 65 64 2e 20 20 41 20 6b 65 79 62 6f 61 72 64 0d 0a 3b 20 ld.be.discarded...A.keyboard..;.
b840 73 65 6d 61 70 68 6f 72 65 20 65 78 69 73 74 73 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 66 20 semaphore.exists.to.indicate.if.
b860 61 20 70 72 6f 63 65 73 73 20 69 73 20 77 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 2e 0d a.process.is.waiting.for.input..
b880 0a 3b 20 49 66 20 74 68 65 20 6b 65 62 6f 61 72 64 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 73 .;.If.the.keboard.semaphore.is.s
b8a0 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 65 73 20 73 6c 65 65 70 69 6e 67 et.all.of.the.processes.sleeping
b8c0 20 6f 6e 0d 0a 3b 20 69 74 20 61 72 65 20 77 6f 6b 65 6e 20 75 70 2e 0d 0a 0d 0a 4f 6c 64 4b 65 .on..;.it.are.woken.up.....OldKe
b8e0 79 49 6e 74 65 72 72 75 70 74 20 44 44 09 3f 0d 0a 4b 65 79 53 65 6d 09 09 64 62 09 30 09 09 3b yInterrupt.DD.?..KeySem..db.0..;
b900 20 6e 6f 6e 2d 7a 65 72 6f 20 69 66 20 73 6f 6d 65 6f 6e 65 20 77 61 69 74 69 6e 67 20 01 6f 6e .non-zero.if.someone.waiting..on
b920 20 69 6e 70 75 74 0d 0a 0d 0a 4b 65 79 62 6f 61 72 64 49 6e 74 65 72 72 75 70 74 09 50 52 4f 43 .input....KeyboardInterrupt.PROC
b940 20 46 41 52 0d 0a 09 49 4e 54 09 33 32 48 09 09 09 3b 20 53 61 76 65 20 72 65 67 73 0d 0a 09 4d .FAR...INT.32H...;.Save.regs...M
b960 4f 56 09 41 58 2c 52 6f 6d 44 61 74 61 0d 0a 09 4d 4f 56 09 44 53 2c 41 58 0d 0a 20 20 20 20 41 OV.AX,RomData...MOV.DS,AX......A
b980 53 53 55 4d 45 09 44 53 3a 52 6f 6d 44 61 74 61 0d 0a 0d 0a 09 50 55 53 48 46 09 09 09 09 3b 20 SSUME.DS:RomData.....PUSHF....;.
b9a0 53 61 76 65 20 66 6c 61 67 73 20 74 6f 20 73 69 6d 75 6c 61 74 65 20 49 4e 54 0d 0a 09 43 41 4c Save.flags.to.simulate.INT...CAL
b9c0 4c 09 43 53 3a 4f 6c 64 4b 65 79 49 6e 74 65 72 72 75 70 74 09 3b 20 4e 6f 77 20 64 6f 20 52 4f L.CS:OldKeyInterrupt.;.Now.do.RO
b9e0 4d 20 63 6f 64 65 0d 0a 3b 20 4e 6f 77 20 74 65 6c 6c 20 73 63 68 65 64 75 6c 65 72 20 6b 65 79 M.code..;.Now.tell.scheduler.key
ba00 62 6f 61 72 64 20 68 61 64 20 63 68 61 72 0d 0a 09 63 6c 69 09 09 09 09 3b 20 69 6e 74 65 72 72 board.had.char...cli....;.interr
ba20 75 70 74 73 20 6f 66 66 21 0d 0a 09 6d 6f 76 09 62 78 2c 42 75 66 66 65 72 54 61 69 6c 09 09 3b upts.off!...mov.bx,BufferTail..;
ba40 20 47 65 74 20 74 61 69 6c 20 6f 66 20 71 75 65 75 65 0d 0a 09 63 6d 70 09 62 78 2c 42 75 66 66 .Get.tail.of.queue...cmp.bx,Buff
ba60 65 72 48 65 61 64 09 09 3b 20 41 6e 79 74 68 69 6e 67 20 69 6e 20 6b 65 79 62 6f 61 72 64 20 71 erHead..;.Anything.in.keyboard.q
ba80 75 65 75 65 3f 0d 0a 09 4a 45 09 4e 6f 4b 65 79 09 09 09 3b 20 4e 6f 2c 20 64 6f 6e 27 74 20 72 ueue?...JE.NoKey...;.No,.don't.r
baa0 65 71 75 65 75 65 20 74 68 65 6e 0d 0a 09 64 65 63 09 62 78 0d 0a 09 64 65 63 09 62 78 0d 0a 09 equeue.then...dec.bx...dec.bx...
bac0 63 6d 70 09 62 78 2c 6f 66 66 73 65 74 20 52 6f 6d 44 61 74 61 3a 4b 65 79 42 75 66 66 65 72 0d cmp.bx,offset.RomData:KeyBuffer.
bae0 0a 09 6a 61 65 09 6b 62 69 31 09 09 09 3b 20 6e 6f 20 72 61 70 20 61 72 6f 75 6e 64 20 69 6e 20 ..jae.kbi1...;.no.rap.around.in.
bb00 62 75 66 66 65 72 0d 0a 09 6d 6f 76 09 62 78 2c 6f 66 66 73 65 74 20 52 6f 6d 44 61 74 61 01 3a buffer...mov.bx,offset.RomData.:
bb20 4b 65 79 42 75 66 66 65 72 2b 4b 65 79 42 75 66 4c 65 6e 0d 0a 6b 62 69 31 3a 0d 0a 09 6d 6f 76 KeyBuffer+KeyBufLen..kbi1:...mov
bb40 09 61 78 2c 5b 62 78 5d 09 09 09 3b 20 67 65 74 20 6c 61 73 74 20 71 75 65 75 65 64 20 63 68 61 .ax,[bx]...;.get.last.queued.cha
bb60 72 2e 0d 0a 09 6d 6f 76 09 64 78 2c 35 09 09 09 3b 20 43 6f 6e 73 49 6e 70 75 74 46 69 6c 74 65 r....mov.dx,5...;.ConsInputFilte
bb80 72 20 73 75 62 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 44 6f 73 46 75 6e 63 74 69 6f 6e r.subfunction...call.DosFunction
bba0 0d 0a 09 6a 6e 7a 09 6b 62 69 32 09 09 09 3b 20 6b 65 79 20 73 68 6f 75 6c 64 20 72 65 6d 61 69 ...jnz.kbi2...;.key.should.remai
bbc0 6e 20 69 6e 20 62 75 66 66 65 72 0d 0a 09 6d 6f 76 09 42 75 66 66 65 72 54 61 69 6c 2c 62 78 09 n.in.buffer...mov.BufferTail,bx.
bbe0 09 3b 20 64 69 73 63 61 72 64 20 6b 65 79 20 66 72 6f 6d 20 62 75 66 66 65 72 0d 0a 09 6a 6d 70 .;.discard.key.from.buffer...jmp
bc00 09 53 48 4f 52 54 20 4e 6f 4b 65 79 0d 0a 6b 62 69 32 3a 0d 0a 09 63 6c 69 0d 0a 09 43 4d 50 09 .SHORT.NoKey..kbi2:...cli...CMP.
bc20 4b 65 79 53 65 6d 2c 30 09 09 3b 20 4f 75 74 73 74 61 6e 64 69 6e 67 20 72 65 71 75 65 73 74 3f KeySem,0..;.Outstanding.request?
bc40 0d 0a 09 4a 45 09 4e 6f 4b 65 79 09 09 09 3b 20 4e 6f 2c 20 6d 61 79 20 6e 6f 74 20 62 65 20 69 ...JE.NoKey...;.No,.may.not.be.i
bc60 6e 69 74 65 64 20 65 69 74 68 65 72 0d 0a 09 70 75 73 68 09 61 78 0d 0a 09 70 75 73 68 09 62 78 nited.either...push.ax...push.bx
bc80 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 6d 6f 76 09 61 78 2c 63 73 ...push.cx...push.dx...mov.ax,cs
bca0 0d 0a 09 6d 6f 76 09 62 78 2c 4f 46 46 53 45 54 20 4b 65 79 53 65 6d 0d 0a 09 6d 6f 76 09 63 73 ...mov.bx,OFFSET.KeySem...mov.cs
bcc0 3a 62 79 74 65 20 70 74 72 20 5b 62 78 5d 2c 30 09 3b 20 72 65 73 65 74 20 6b 65 79 62 6f 61 72 :byte.ptr.[bx],0.;.reset.keyboar
bce0 64 20 73 65 6d 61 70 68 6f 72 65 0d 0a 09 6d 6f 76 09 64 78 2c 31 30 09 09 09 3b 3b 20 50 72 6f d.semaphore...mov.dx,10...;;.Pro
bd00 63 52 75 6e 0d 0a 09 63 61 6c 6c 09 5b 44 6f 73 46 75 6e 63 74 69 6f 6e 5d 09 09 3b 20 61 77 01 cRun...call.[DosFunction]..;.aw.
bd20 61 6b 65 6e 20 61 6e 79 6f 6e 65 20 77 61 69 74 69 6e 67 20 6f 6e 20 69 6e 70 75 74 0d 0a 09 70 aken.anyone.waiting.on.input...p
bd40 6f 70 09 64 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 09 61 78 op.dx...pop.cx...pop.bx...pop.ax
bd60 0d 0a 4e 6f 4b 65 79 3a 0d 0a 09 49 52 45 54 0d 0a 4b 65 79 42 6f 61 72 64 49 6e 74 65 72 72 75 ..NoKey:...IRET..KeyBoardInterru
bd80 70 74 09 45 4e 44 50 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d pt.ENDP....;--------------------
bda0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
bdc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 20 4b 65 79 62 6f 61 72 64 20 49 4e 54 20 31 36 20 69 6e 74 ---------..;.Keyboard.INT.16.int
bde0 65 72 63 65 70 74 20 72 6f 75 74 69 6e 65 20 74 6f 20 61 6c 6c 6f 77 20 63 6f 6e 73 6f 6c 65 20 ercept.routine.to.allow.console.
be00 69 6e 70 75 74 20 74 6f 20 73 6c 65 65 70 2e 0d 0a 3b 20 4f 6e 6c 79 20 63 6f 6e 73 6f 6c 65 20 input.to.sleep...;.Only.console.
be20 69 6e 70 75 74 20 66 75 6e 63 74 69 6f 6e 20 31 20 69 73 20 69 6e 74 65 72 63 65 70 74 65 64 2c input.function.1.is.intercepted,
be40 20 61 6c 6c 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 20 61 72 65 20 61 6c 6c 6f .all.other.functions..;.are.allo
be60 77 65 64 20 74 6f 20 67 6f 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 52 4f 4d 20 42 49 wed.to.go.directly.to.the.ROM.BI
be80 4f 53 2e 20 20 46 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 31 0d 0a 3b 20 74 68 65 20 69 OS...For.the.function.1..;.the.i
bea0 6e 70 75 74 20 73 74 61 74 75 73 20 69 73 20 63 68 65 63 6b 65 64 2c 20 69 66 20 61 20 63 68 61 nput.status.is.checked,.if.a.cha
bec0 72 61 63 74 65 72 20 69 73 20 72 65 61 64 79 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 3b 20 racter.is.ready.the.function..;.
bee0 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 67 6f 20 74 6f 20 74 68 65 20 52 4f 4d 20 42 49 4f 53 is.allowed.to.go.to.the.ROM.BIOS
bf00 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 73 65 6d 61 70 68 ...Otherwise.the.keyboard.semaph
bf20 01 6f 72 65 0d 0a 3b 20 69 73 20 73 65 74 20 61 6e 64 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 .ore..;.is.set.and.the.process.i
bf40 73 20 70 75 74 20 74 6f 20 73 6c 65 65 70 20 6f 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 s.put.to.sleep.on.the.address.of
bf60 20 74 68 65 0d 0a 3b 20 73 65 6d 61 70 68 6f 72 65 2e 20 20 57 68 65 6e 20 61 20 6b 65 79 20 69 .the..;.semaphore...When.a.key.i
bf80 73 20 74 79 70 65 64 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 6e 74 65 72 72 75 70 74 20 72 s.typed.the.keyboard.interrupt.r
bfa0 6f 75 74 69 6e 65 0d 0a 3b 20 77 69 6c 6c 20 77 61 6b 65 75 70 20 61 6e 79 20 70 72 6f 63 65 73 outine..;.will.wakeup.any.proces
bfc0 73 65 73 20 73 6c 65 65 70 69 6e 67 20 6f 6e 20 74 68 69 73 20 73 65 6d 61 70 68 6f 72 65 2e 0d ses.sleeping.on.this.semaphore..
bfe0 0a 3b 0d 0a 3b 09 57 41 52 4e 49 4e 47 3a 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 75 .;..;.WARNING:.The.following.rou
c000 74 69 6e 65 73 20 63 61 6e 20 62 65 20 65 6e 74 65 72 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 tines.can.be.entered.recursively
c020 0d 0a 3b 09 09 20 64 75 65 20 74 6f 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 20 52 ..;...due.to.the.fact.that.the.R
c040 4f 4d 20 42 49 4f 53 20 72 6f 75 74 69 6e 65 73 20 63 61 6c 6c 65 64 0d 0a 3b 09 09 20 72 65 65 OM.BIOS.routines.called..;...ree
c060 6e 61 62 6c 65 20 69 6e 74 65 72 72 75 70 74 73 2e 20 20 49 74 27 73 20 6e 6f 74 20 75 73 75 61 nable.interrupts...It's.not.usua
c080 6c 6c 79 20 61 20 70 72 6f 62 6c 65 6d 0d 0a 3b 09 09 20 73 69 6e 63 65 20 69 6e 74 65 72 72 75 lly.a.problem..;...since.interru
c0a0 70 74 73 20 77 69 6c 6c 20 67 65 6e 65 72 61 6c 6c 79 20 62 65 20 70 72 6f 63 65 73 73 65 64 20 pts.will.generally.be.processed.
c0c0 66 61 73 74 65 72 0d 0a 3b 09 09 20 74 68 61 6e 20 61 6e 79 6f 6e 65 20 63 61 6e 20 74 79 70 65 faster..;...than.anyone.can.type
c0e0 2e 0d 0a 0d 0a 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 09 64 64 09 3f 0d 0a 0d 0a 3b 2d 2d 2d 2d .....OldKbdHandler.dd.?....;----
c100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
c120 2d 01 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 4b 65 -.------------------------....Ke
c140 79 42 6f 61 72 64 48 61 6e 64 6c 65 72 20 70 72 6f 63 09 66 61 72 0d 0a 09 6f 72 09 61 68 2c 61 yBoardHandler.proc.far...or.ah,a
c160 68 0d 0a 09 6a 65 09 44 6f 4c 6f 63 61 6c 52 65 61 64 0d 0a 09 63 6d 70 09 61 68 2c 31 0d 0a 09 h...je.DoLocalRead...cmp.ah,1...
c180 6a 65 09 44 6f 4c 6f 63 61 6c 53 74 61 74 0d 0a 4f 6c 64 4b 42 69 6e 74 3a 0d 0a 09 6a 6d 70 09 je.DoLocalStat..OldKBint:...jmp.
c1a0 5b 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 5d 0d 0a 0d 0a 44 6f 4c 6f 63 61 6c 53 74 61 74 3a 0d [OldKbdHandler]....DoLocalStat:.
c1c0 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 64 73 0d 0a 09 6c 64 73 09 62 78 2c 53 63 72 ..push.bx...push.ds...lds.bx,Scr
c1e0 6e 49 4f 6f 6b 0d 0a 09 74 65 73 74 09 62 79 74 65 20 70 74 72 20 5b 62 78 5d 2c 30 46 46 68 0d nIOok...test.byte.ptr.[bx],0FFh.
c200 0a 09 70 6f 70 09 64 73 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 6a 6e 7a 09 4f 6c 64 4b 42 69 6e 74 ..pop.ds...pop.bx...jnz.OldKBint
c220 0d 0a 09 78 6f 72 09 61 78 2c 61 78 0d 0a 09 72 65 74 09 32 0d 0a 0d 0a 44 6f 4c 6f 63 61 6c 52 ...xor.ax,ax...ret.2....DoLocalR
c240 65 61 64 3a 0d 0a 09 70 75 73 68 09 61 78 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 ead:...push.ax...push.bx...push.
c260 63 78 0d 0a 09 70 75 73 68 09 64 78 0d 0a 44 6f 4c 6f 63 61 6c 52 64 31 3a 0d 0a 09 70 75 73 68 cx...push.dx..DoLocalRd1:...push
c280 09 64 73 0d 0a 09 6c 64 73 09 62 78 2c 53 63 72 6e 49 4f 6f 6b 0d 0a 09 6d 6f 76 09 61 78 2c 64 .ds...lds.bx,ScrnIOok...mov.ax,d
c2a0 73 0d 0a 09 74 65 73 74 09 62 79 74 65 20 70 74 72 20 5b 62 78 5d 2c 30 46 46 68 0d 0a 09 70 6f s...test.byte.ptr.[bx],0FFh...po
c2c0 70 09 64 73 0d 0a 09 6a 6e 7a 09 44 6f 4c 6f 63 61 6c 52 64 32 0d 0a 09 78 6f 72 09 63 78 2c 63 p.ds...jnz.DoLocalRd2...xor.cx,c
c2e0 78 0d 0a 09 6d 6f 76 09 64 78 2c 39 09 09 09 3b 3b 20 50 72 6f 63 42 6c 6f 63 6b 0d 0a 09 63 61 x...mov.dx,9...;;.ProcBlock...ca
c300 6c 6c 09 5b 44 6f 73 46 75 6e 63 74 69 6f 6e 5d 09 09 3b 20 73 6c 65 65 70 20 75 6e 74 69 6c 20 ll.[DosFunction]..;.sleep.until.
c320 61 20 01 63 68 61 72 20 69 73 20 74 79 70 65 64 0d 0a 09 6a 6d 70 09 44 6f 4c 6f 63 61 6c 52 64 a..char.is.typed...jmp.DoLocalRd
c340 31 0d 0a 0d 0a 44 6f 4c 6f 63 61 6c 52 64 32 3a 0d 0a 09 6d 6f 76 09 61 68 2c 31 09 09 09 3b 20 1....DoLocalRd2:...mov.ah,1...;.
c360 67 65 74 20 63 6f 6e 73 6f 6c 65 20 73 74 61 74 75 73 0d 0a 09 70 75 73 68 66 09 09 09 09 3b 20 get.console.status...pushf....;.
c380 73 69 6d 75 6c 61 74 65 20 49 4e 54 20 74 6f 20 6f 6c 64 20 68 61 6e 64 6c 65 72 0d 0a 09 63 6c simulate.INT.to.old.handler...cl
c3a0 69 0d 0a 09 63 61 6c 6c 09 5b 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 5d 0d 0a 09 63 6c 69 09 09 i...call.[OldKbdHandler]...cli..
c3c0 09 09 3b 20 73 75 62 66 75 6e 63 74 69 6f 6e 20 31 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c ..;.subfunction.1.unconditionall
c3e0 79 20 73 65 74 73 20 49 46 0d 0a 09 6a 6e 7a 09 4c 6f 63 61 6c 52 65 61 64 09 09 3b 20 67 6f 20 y.sets.IF...jnz.LocalRead..;.go.
c400 72 65 61 64 20 63 68 61 72 61 63 74 65 72 0d 0a 09 6d 6f 76 09 61 78 2c 63 73 0d 0a 09 6d 6f 76 read.character...mov.ax,cs...mov
c420 09 62 78 2c 4f 46 46 53 45 54 20 4b 65 79 53 65 6d 0d 0a 09 6d 6f 76 09 63 73 3a 62 79 74 65 20 .bx,OFFSET.KeySem...mov.cs:byte.
c440 70 74 72 20 5b 62 78 5d 2c 30 46 46 68 09 3b 20 73 65 74 20 6b 65 79 62 6f 61 72 64 20 73 65 6d ptr.[bx],0FFh.;.set.keyboard.sem
c460 61 70 68 6f 72 65 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 6d 6f 76 09 64 78 2c 39 09 09 09 aphore...xor.cx,cx...mov.dx,9...
c480 3b 3b 20 50 72 6f 63 42 6c 6f 63 6b 0d 0a 09 63 61 6c 6c 09 5b 44 6f 73 46 75 6e 63 74 69 6f 6e ;;.ProcBlock...call.[DosFunction
c4a0 5d 09 09 3b 20 73 6c 65 65 70 20 75 6e 74 69 6c 20 61 20 63 68 61 72 20 69 73 20 74 79 70 65 64 ]..;.sleep.until.a.char.is.typed
c4c0 0d 0a 09 6a 6d 70 09 44 6f 4c 6f 63 61 6c 52 64 31 0d 0a 0d 0a 4c 6f 63 61 6c 52 65 61 64 3a 0d ...jmp.DoLocalRd1....LocalRead:.
c4e0 0a 09 70 6f 70 09 64 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 ..pop.dx...pop.cx...pop.bx...pop
c500 09 61 78 0d 0a 09 6a 6d 70 09 5b 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 5d 09 09 3b 20 72 65 61 .ax...jmp.[OldKbdHandler]..;.rea
c520 64 20 74 01 68 65 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 72 65 74 75 72 6e 0d 0a 0d 0a 4b d.t.he.character.and.return....K
c540 65 79 42 6f 61 72 64 48 61 6e 64 6c 65 72 20 65 6e 64 70 0d 0a 0d 0a 45 4e 44 49 46 09 3b 43 4f eyBoardHandler.endp....ENDIF.;CO
c560 4e 53 46 4c 41 47 0d 0a 0d 0a 53 55 42 54 54 4c 09 41 75 78 20 64 72 69 76 65 72 0d 0a 0c 3b 2d NSFLAG....SUBTTL.Aux.driver...;-
c580 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
c5a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 41 20 55 20 ---------------------..;..;.A.U.
c5c0 58 20 2d 20 41 55 58 49 4c 41 52 59 20 44 45 56 49 43 45 20 44 52 49 56 45 52 0d 0a 3b 0d 0a 41 X.-.AUXILARY.DEVICE.DRIVER..;..A
c5e0 55 58 44 45 56 09 4c 41 42 45 4c 09 57 4f 52 44 09 09 09 3b 48 45 41 44 45 52 20 46 4f 52 20 44 UXDEV.LABEL.WORD...;HEADER.FOR.D
c600 45 56 49 43 45 20 22 41 55 58 22 0d 0a 09 44 57 09 50 52 4e 44 45 56 2c 42 49 4f 53 45 47 0d 0a EVICE."AUX"...DW.PRNDEV,BIOSEG..
c620 09 44 57 09 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 42 0d 0a 09 44 57 09 53 54 52 41 54 .DW.1000000000000000B...DW.STRAT
c640 45 47 59 0d 0a 09 44 57 09 41 55 58 30 24 49 4e 0d 0a 09 44 42 09 27 41 55 58 20 20 20 20 20 27 EGY...DW.AUX0$IN...DB.'AUX.....'
c660 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 43 4f 4d 31 44 45 56 0d 0a 43 4f 4d 31 44 45 56 20 4c 41 42 .....PUBLIC.COM1DEV..COM1DEV.LAB
c680 45 4c 09 57 4f 52 44 0d 0a 09 44 57 09 4c 50 54 31 44 45 56 2c 42 49 4f 53 45 47 0d 0a 09 44 57 EL.WORD...DW.LPT1DEV,BIOSEG...DW
c6a0 09 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 42 0d 0a 09 44 57 09 53 54 52 41 54 45 47 59 .1000000000000000B...DW.STRATEGY
c6c0 0d 0a 09 44 57 09 41 55 58 30 24 49 4e 0d 0a 09 44 42 09 27 43 4f 4d 31 20 20 20 20 27 0d 0a 0d ...DW.AUX0$IN...DB.'COM1....'...
c6e0 0a 43 4f 4d 32 44 45 56 20 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 09 44 57 09 2d 31 2c 42 49 4f 53 .COM2DEV.LABEL.WORD...DW.-1,BIOS
c700 45 47 0d 0a 09 44 57 09 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 42 0d 0a 09 44 57 09 53 EG...DW.1000000000000000B...DW.S
c720 54 52 41 54 05 05 01 09 02 01 02 03 04 05 06 07 08 09 01 45 47 59 0d 0a 09 44 57 09 41 55 58 31 TRAT...............EGY...DW.AUX1
c740 24 49 4e 0d 0a 09 44 42 09 27 43 4f 4d 32 20 20 20 20 27 0d 0a 0d 0a 41 55 58 42 55 46 09 44 42 $IN...DB.'COM2....'....AUXBUF.DB
c760 09 30 2c 30 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .0,0..;-------------------------
c780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a ------------------------------..
c7a0 3b 0d 0a 3b 09 52 45 41 44 20 46 52 4f 4d 20 41 55 58 49 4c 41 52 59 20 44 45 56 49 43 45 0d 0a ;..;.READ.FROM.AUXILARY.DEVICE..
c7c0 3b 0d 0a 41 55 58 24 52 45 41 44 3a 0d 0a 09 4a 43 58 5a 09 45 58 56 45 43 32 0d 0a 09 43 41 4c ;..AUX$READ:...JCXZ.EXVEC2...CAL
c7e0 4c 09 47 45 54 42 58 0d 0a 09 58 4f 52 09 41 58 2c 41 58 0d 0a 09 58 43 48 47 09 41 4c 2c 5b 42 L.GETBX...XOR.AX,AX...XCHG.AL,[B
c800 58 5d 09 09 3b 47 65 74 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 7a 65 72 6f 20 62 75 66 66 X]..;Get.character.and.zero.buff
c820 65 72 0d 0a 09 4f 52 09 41 4c 2c 41 4c 0d 0a 09 4a 4e 5a 09 41 55 58 32 0d 0a 41 55 58 31 3a 09 er...OR.AL,AL...JNZ.AUX2..AUX1:.
c840 43 41 4c 4c 09 41 55 58 49 4e 0d 0a 41 55 58 32 3a 09 53 54 4f 53 42 09 09 09 3b 53 54 4f 52 45 CALL.AUXIN..AUX2:.STOSB...;STORE
c860 20 43 48 41 52 41 43 54 45 52 0d 0a 09 4c 4f 4f 50 09 41 55 58 31 0d 0a 45 58 56 45 43 32 3a 20 .CHARACTER...LOOP.AUX1..EXVEC2:.
c880 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 41 55 58 49 4e 3a 09 4d 4f 56 JMP.StatusComplete....AUXIN:.MOV
c8a0 09 41 48 2c 32 09 09 3b 49 4e 44 49 43 41 54 45 53 20 41 20 52 45 41 44 0d 0a 09 43 41 4c 4c 09 .AH,2..;INDICATES.A.READ...CALL.
c8c0 41 55 58 4f 50 09 09 3b 52 45 41 44 20 54 48 45 20 41 55 58 49 4c 49 41 52 59 20 50 4f 52 54 0d AUXOP..;READ.THE.AUXILIARY.PORT.
c8e0 0a 09 54 45 53 54 09 41 48 2c 30 45 48 09 09 3b 43 68 65 63 6b 20 66 72 61 6d 69 6e 67 2c 20 70 ..TEST.AH,0EH..;Check.framing,.p
c900 61 72 69 74 79 2c 20 6f 76 65 72 72 75 6e 0d 0a 09 4a 5a 09 41 52 4f 4b 0d 0a 09 50 4f 50 09 41 arity,.overrun...JZ.AROK...POP.A
c920 58 09 09 3b 43 6c 65 61 6e 20 75 70 20 74 68 65 20 73 74 01 61 63 6b 0d 0a 09 4d 4f 56 09 41 4c X..;Clean.up.the.st.ack...MOV.AL
c940 2c 30 42 48 09 09 3b 52 45 41 44 20 45 52 52 4f 52 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 50 61 ,0BH..;READ.ERROR...JMP.StatusPa
c960 72 74 69 61 6c 58 66 65 72 0d 0a 41 52 4f 4b 3a 09 52 45 54 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d rtialXfer..AROK:.RET..;---------
c980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
c9a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 41 55 58 20 4e 4f 4e 2d 44 45 ---------------..;..;.AUX.NON-DE
c9c0 53 54 52 55 43 54 49 56 45 20 52 45 41 44 2c 20 4e 4f 20 57 41 49 54 49 4e 47 0d 0a 3b 0d 0a 41 STRUCTIVE.READ,.NO.WAITING..;..A
c9e0 55 58 24 52 44 4e 44 3a 0d 0a 09 43 41 4c 4c 09 47 45 54 42 58 0d 0a 09 4d 4f 56 09 41 4c 2c 5b UX$RDND:...CALL.GETBX...MOV.AL,[
ca00 42 58 5d 09 09 3b 47 45 54 20 4b 45 59 20 41 4e 44 20 5a 45 52 4f 20 42 55 46 46 45 52 0d 0a 09 BX]..;GET.KEY.AND.ZERO.BUFFER...
ca20 4f 52 09 41 4c 2c 41 4c 0d 0a 09 4a 4e 5a 09 41 55 58 52 44 58 09 09 3b 4b 45 59 20 49 4e 20 42 OR.AL,AL...JNZ.AUXRDX..;KEY.IN.B
ca40 55 46 46 45 52 3f 0d 0a 09 43 41 4c 4c 09 41 55 58 53 54 41 54 0d 0a 09 54 45 53 54 09 41 48 2c UFFER?...CALL.AUXSTAT...TEST.AH,
ca60 30 30 30 30 30 30 30 31 42 09 09 3b 54 45 53 54 20 44 41 54 41 20 52 45 41 44 59 0d 0a 09 4a 5a 00000001B..;TEST.DATA.READY...JZ
ca80 09 41 55 58 42 55 53 0d 0a 09 54 45 53 54 09 41 4c 2c 30 30 31 30 30 30 30 30 42 09 09 3b 54 45 .AUXBUS...TEST.AL,00100000B..;TE
caa0 53 54 20 44 41 54 41 20 53 45 54 20 52 45 41 44 59 0d 0a 09 4a 5a 09 41 55 58 42 55 53 0d 0a 09 ST.DATA.SET.READY...JZ.AUXBUS...
cac0 43 41 4c 4c 09 41 55 58 49 4e 0d 0a 09 43 41 4c 4c 09 47 45 54 42 58 0d 0a 09 4d 4f 56 09 5b 42 CALL.AUXIN...CALL.GETBX...MOV.[B
cae0 58 5d 2c 41 4c 09 20 20 20 20 3b 47 45 54 20 41 4e 44 20 53 41 56 45 20 4b 45 59 0d 0a 41 55 58 X],AL.....;GET.AND.SAVE.KEY..AUX
cb00 52 44 58 3a 20 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 41 55 58 42 55 53 3a RDX:.JMP.StatusComplete..AUXBUS:
cb20 20 4a 4d 50 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 0d 01 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d .JMP.StatusDevReady...;---------
cb40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
cb60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 41 55 58 20 4f 55 54 50 -----------------..;..;.AUX.OUTP
cb80 55 54 20 53 54 41 54 55 53 0d 0a 3b 0d 0a 41 55 58 24 57 52 53 54 3a 0d 0a 09 43 41 4c 4c 09 41 UT.STATUS..;..AUX$WRST:...CALL.A
cba0 55 58 53 54 41 54 0d 0a 09 54 45 53 54 09 41 4c 2c 30 30 31 30 30 30 30 30 42 09 3b 54 45 53 54 UXSTAT...TEST.AL,00100000B.;TEST
cbc0 20 44 41 54 41 20 53 45 54 20 52 45 41 44 59 0d 0a 09 4a 5a 09 41 55 58 42 55 53 0d 0a 09 54 45 .DATA.SET.READY...JZ.AUXBUS...TE
cbe0 53 54 09 41 48 2c 30 30 31 30 30 30 30 30 42 09 3b 54 45 53 54 20 43 4c 45 41 52 20 54 4f 20 53 ST.AH,00100000B.;TEST.CLEAR.TO.S
cc00 45 4e 44 0d 0a 09 4a 5a 09 41 55 58 42 55 53 0d 0a 09 4a 4d 50 09 45 58 56 45 43 32 0d 0a 0d 0a END...JZ.AUXBUS...JMP.EXVEC2....
cc20 41 55 58 53 54 41 54 3a 0d 0a 09 4d 4f 56 09 41 48 2c 33 0d 0a 41 55 58 4f 50 3a 09 43 41 4c 4c AUXSTAT:...MOV.AH,3..AUXOP:.CALL
cc40 09 47 45 54 44 58 0d 0a 09 49 4e 54 09 31 34 48 0d 0a 09 52 45 54 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d .GETDX...INT.14H...RET..;-------
cc60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
cc80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 46 4c 55 53 48 20 41 ------------------..;..;.FLUSH.A
cca0 55 58 20 49 4e 50 55 54 20 42 55 46 46 45 52 0d 0a 3b 0d 0a 41 55 58 24 46 4c 53 48 3a 0d 0a 09 UX.INPUT.BUFFER..;..AUX$FLSH:...
ccc0 43 41 4c 4c 09 47 45 54 42 58 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 30 CALL.GETBX...MOV.BYTE.PTR.[BX],0
cce0 0d 0a 09 4a 4d 50 09 45 58 56 45 43 32 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...JMP.EXVEC2..;----------------
cd00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
cd20 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 57 52 49 54 45 01 20 54 4f 20 41 55 58 49 4c 41 ---------..;..;.WRITE..TO.AUXILA
cd40 52 59 20 44 45 56 49 43 45 0d 0a 3b 0d 0a 41 55 58 24 57 52 49 54 3a 0d 0a 09 4a 43 58 5a 09 45 RY.DEVICE..;..AUX$WRIT:...JCXZ.E
cd60 58 56 45 43 32 0d 0a 41 55 58 24 4c 4f 4f 50 3a 0d 0a 09 4d 4f 56 09 41 4c 2c 45 53 3a 5b 44 49 XVEC2..AUX$LOOP:...MOV.AL,ES:[DI
cd80 5d 09 3b 47 45 54 20 43 48 41 52 0d 0a 09 49 4e 43 09 44 49 09 09 3b 50 4f 49 4e 54 20 54 4f 20 ].;GET.CHAR...INC.DI..;POINT.TO.
cda0 4e 45 58 54 20 4f 4e 45 0d 0a 09 4d 4f 56 09 41 48 2c 31 09 09 3b 49 4e 44 49 43 41 54 45 53 20 NEXT.ONE...MOV.AH,1..;INDICATES.
cdc0 41 20 57 52 49 54 45 0d 0a 09 43 41 4c 4c 09 41 55 58 4f 50 09 09 3b 53 45 4e 44 20 43 48 41 52 A.WRITE...CALL.AUXOP..;SEND.CHAR
cde0 41 43 54 45 52 20 4f 56 45 52 20 41 55 58 20 50 4f 52 54 0d 0a 09 54 45 53 54 09 41 48 2c 38 30 ACTER.OVER.AUX.PORT...TEST.AH,80
ce00 48 09 09 3b 43 48 45 43 4b 20 46 4f 52 20 45 52 52 4f 52 0d 0a 09 4a 5a 09 41 57 4f 4b 0d 0a 09 H..;CHECK.FOR.ERROR...JZ.AWOK...
ce20 4d 4f 56 09 41 4c 2c 31 30 09 09 3b 49 4e 44 49 43 41 54 45 20 57 52 49 54 45 20 46 41 55 4c 54 MOV.AL,10..;INDICATE.WRITE.FAULT
ce40 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 50 61 72 74 69 61 6c 58 66 65 72 0d 0a 41 57 4f 4b 3a 09 ...JMP.StatusPartialXfer..AWOK:.
ce60 4c 4f 4f 50 09 41 55 58 24 4c 4f 4f 50 0d 0a 09 4a 4d 50 09 45 58 56 45 43 32 0d 0a 0d 0a 47 45 LOOP.AUX$LOOP...JMP.EXVEC2....GE
ce80 54 42 58 3a 09 43 41 4c 4c 09 47 45 54 44 58 0d 0a 09 4d 4f 56 09 42 58 2c 44 58 0d 0a 09 41 44 TBX:.CALL.GETDX...MOV.BX,DX...AD
cea0 44 09 42 58 2c 4f 46 46 53 45 54 20 41 55 58 42 55 46 0d 0a 09 52 45 54 0d 0a 53 55 42 54 54 4c D.BX,OFFSET.AUXBUF...RET..SUBTTL
cec0 09 50 72 69 6e 74 65 72 20 64 72 69 76 65 72 0d 0a 0c 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .Printer.driver...;-------------
cee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
cf00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 50 20 52 20 4e 20 2d 20 50 ----------------..;..;.P.R.N.-.P
cf20 52 49 4e 54 45 52 20 44 45 56 49 43 45 0d 0a 3b 0d 0a 50 52 4e 44 01 45 56 09 4c 41 42 45 4c 09 RINTER.DEVICE..;..PRND.EV.LABEL.
cf40 57 4f 52 44 09 09 09 3b 48 45 41 44 45 52 20 46 4f 52 20 44 45 56 49 43 45 20 22 50 52 4e 22 0d WORD...;HEADER.FOR.DEVICE."PRN".
cf60 0a 09 44 57 09 54 49 4d 44 45 56 2c 42 49 4f 53 45 47 0d 0a 09 44 57 09 31 30 30 30 30 30 30 30 ..DW.TIMDEV,BIOSEG...DW.10000000
cf80 30 30 30 30 30 30 30 30 42 0d 0a 09 44 57 09 53 54 52 41 54 45 47 59 0d 0a 09 44 57 09 50 52 4e 00000000B...DW.STRATEGY...DW.PRN
cfa0 30 24 49 4e 0d 0a 09 44 42 09 27 50 52 4e 20 20 20 20 20 27 0d 0a 0d 0a 4c 50 54 31 44 45 56 20 0$IN...DB.'PRN.....'....LPT1DEV.
cfc0 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 09 44 57 09 4c 50 54 32 44 45 56 2c 42 49 4f 53 45 47 0d 0a LABEL.WORD...DW.LPT2DEV,BIOSEG..
cfe0 09 44 57 09 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 42 0d 0a 09 44 57 09 53 54 52 41 54 .DW.1000000000000000B...DW.STRAT
d000 45 47 59 0d 0a 09 44 57 09 50 52 4e 30 24 49 4e 0d 0a 09 44 42 09 27 4c 50 54 31 20 20 20 20 27 EGY...DW.PRN0$IN...DB.'LPT1....'
d020 0d 0a 0d 0a 4c 50 54 32 44 45 56 20 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 09 44 57 09 4c 50 54 33 ....LPT2DEV.LABEL.WORD...DW.LPT3
d040 44 45 56 2c 42 49 4f 53 45 47 0d 0a 09 44 57 09 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 DEV,BIOSEG...DW.1000000000000000
d060 42 0d 0a 09 44 57 09 53 54 52 41 54 45 47 59 0d 0a 09 44 57 09 50 52 4e 31 24 49 4e 0d 0a 09 44 B...DW.STRATEGY...DW.PRN1$IN...D
d080 42 09 27 4c 50 54 32 20 20 20 20 27 0d 0a 0d 0a 4c 50 54 33 44 45 56 20 4c 41 42 45 4c 09 57 4f B.'LPT2....'....LPT3DEV.LABEL.WO
d0a0 52 44 0d 0a 09 44 57 09 43 4f 4d 32 44 45 56 2c 42 49 4f 53 45 47 0d 0a 09 44 57 09 31 30 30 30 RD...DW.COM2DEV,BIOSEG...DW.1000
d0c0 30 30 30 30 30 30 30 30 30 30 30 30 42 0d 0a 09 44 57 09 53 54 52 41 54 45 47 59 0d 0a 09 44 57 000000000000B...DW.STRATEGY...DW
d0e0 09 50 52 4e 32 24 49 4e 0d 0a 09 44 42 09 27 4c 50 54 33 20 20 20 20 27 0d 0a 0d 0a 45 52 52 46 .PRN2$IN...DB.'LPT3....'....ERRF
d100 4c 47 09 44 42 09 30 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d LG.DB.0....;--------------------
d120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 01 2d 2d 2d 2d 2d 2d 2d 2d -----------------------.--------
d140 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 57 52 49 54 45 20 54 4f 20 50 52 49 4e 54 45 52 20 44 -------..;..;.WRITE.TO.PRINTER.D
d160 45 56 49 43 45 0d 0a 3b 0d 0a 50 52 4e 24 57 52 49 54 3a 0d 0a 09 4a 43 58 5a 09 45 58 56 45 43 EVICE..;..PRN$WRIT:...JCXZ.EXVEC
d180 33 0d 0a 50 52 4e 24 4c 4f 4f 50 3a 0d 0a 09 4d 4f 56 09 41 4c 2c 45 53 3a 5b 44 49 5d 09 3b 47 3..PRN$LOOP:...MOV.AL,ES:[DI].;G
d1a0 45 54 20 43 48 41 52 20 49 4e 54 4f 20 41 4c 0d 0a 09 49 4e 43 09 44 49 09 09 3b 50 4f 49 4e 54 ET.CHAR.INTO.AL...INC.DI..;POINT
d1c0 20 54 4f 20 4e 45 58 54 20 43 48 41 52 0d 0a 09 4d 4f 56 09 5b 45 52 52 46 4c 47 5d 2c 30 09 3b .TO.NEXT.CHAR...MOV.[ERRFLG],0.;
d1e0 49 4e 49 54 49 41 4c 49 5a 45 20 52 45 54 52 59 20 46 4c 41 47 0d 0a 0d 0a 50 52 45 54 52 59 3a INITIALIZE.RETRY.FLAG....PRETRY:
d200 20 58 4f 52 09 41 48 2c 41 48 09 09 3b 41 48 3d 30 0d 0a 09 43 41 4c 4c 09 50 52 4e 4f 50 09 09 .XOR.AH,AH..;AH=0...CALL.PRNOP..
d220 3b 54 4f 20 49 4e 44 49 43 41 54 45 20 50 52 49 4e 54 20 43 48 41 52 20 49 4e 20 41 4c 0d 0a 0d ;TO.INDICATE.PRINT.CHAR.IN.AL...
d240 0a 45 52 52 43 48 4b 3a 20 4a 5a 09 50 52 4f 4b 0d 0a 09 58 4f 52 09 5b 45 52 52 46 4c 47 5d 2c .ERRCHK:.JZ.PROK...XOR.[ERRFLG],
d260 31 09 20 20 20 20 20 20 3b 44 4f 20 31 20 41 55 54 4f 4d 41 54 49 43 20 52 45 54 52 59 0d 0a 09 1.......;DO.1.AUTOMATIC.RETRY...
d280 4a 4e 5a 09 50 52 45 54 52 59 0d 0a 50 4d 45 53 53 47 3a 20 4a 4d 50 09 53 74 61 74 75 73 50 61 JNZ.PRETRY..PMESSG:.JMP.StatusPa
d2a0 72 74 69 61 6c 58 66 65 72 09 20 20 3b 52 45 54 55 52 4e 20 57 49 54 48 20 54 48 45 20 45 52 52 rtialXfer...;RETURN.WITH.THE.ERR
d2c0 4f 52 0d 0a 0d 0a 50 52 4f 4b 3a 09 4c 4f 4f 50 09 50 52 4e 24 4c 4f 4f 50 0d 0a 45 58 56 45 43 OR....PROK:.LOOP.PRN$LOOP..EXVEC
d2e0 33 3a 20 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 3:.JMP.StatusComplete..;--------
d300 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 50 01 52 49 4e 54 45 52 20 ----------------..;..;.P.RINTER.
d340 53 54 41 54 55 53 20 52 4f 55 54 49 4e 45 0d 0a 3b 0d 0a 50 52 4e 24 53 54 41 54 3a 0d 0a 09 43 STATUS.ROUTINE..;..PRN$STAT:...C
d360 41 4c 4c 09 50 52 4e 53 54 41 54 09 09 3b 44 45 56 49 43 45 20 49 4e 20 44 58 0d 0a 09 4a 4e 5a ALL.PRNSTAT..;DEVICE.IN.DX...JNZ
d380 09 50 4d 45 53 53 47 0d 0a 09 54 45 53 54 09 41 48 2c 31 30 30 30 30 30 30 30 42 0d 0a 09 4a 4e .PMESSG...TEST.AH,10000000B...JN
d3a0 5a 09 45 58 56 45 43 33 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 0d 0a 0d Z.EXVEC3...JMP.StatusDevReady...
d3c0 0a 50 52 4e 53 54 41 54 3a 0d 0a 09 4d 4f 56 09 41 48 2c 32 0d 0a 50 52 4e 4f 50 3a 09 43 41 4c .PRNSTAT:...MOV.AH,2..PRNOP:.CAL
d3e0 4c 09 47 45 54 44 58 0d 0a 09 49 4e 54 09 31 37 48 0d 0a 0d 0a 09 4d 4f 56 09 41 4c 2c 32 0d 0a L.GETDX...INT.17H.....MOV.AL,2..
d400 09 54 45 53 54 09 41 48 2c 30 30 30 31 42 09 3b 54 45 53 54 20 46 4f 52 20 4e 4f 54 20 52 45 41 .TEST.AH,0001B.;TEST.FOR.NOT.REA
d420 44 59 0d 0a 09 4a 4e 5a 09 50 52 4e 4f 50 32 0d 0a 0d 0a 09 4d 4f 56 09 41 4c 2c 31 30 09 09 3b DY...JNZ.PRNOP2.....MOV.AL,10..;
d440 57 52 49 54 45 20 46 41 55 4c 54 20 43 4f 44 45 0d 0a 09 54 45 53 54 09 41 48 2c 31 30 30 30 42 WRITE.FAULT.CODE...TEST.AH,1000B
d460 09 3b 54 45 53 54 20 46 4f 52 20 49 2f 4f 20 45 52 52 4f 52 0d 0a 09 4a 5a 09 50 52 4e 4f 50 32 .;TEST.FOR.I/O.ERROR...JZ.PRNOP2
d480 0d 0a 0d 0a 09 54 45 53 54 09 41 48 2c 30 30 31 30 30 30 30 30 42 09 3b 4f 55 54 2d 4f 46 2d 50 .....TEST.AH,00100000B.;OUT-OF-P
d4a0 41 50 45 52 3f 0d 0a 09 4a 5a 09 50 52 4e 4f 50 31 0d 0a 09 4d 4f 56 09 41 4c 2c 39 09 09 3b 4f APER?...JZ.PRNOP1...MOV.AL,9..;O
d4c0 55 54 20 4f 46 20 50 41 50 45 52 20 43 4f 44 45 0d 0a 50 52 4e 4f 50 31 3a 20 4f 52 09 41 4c 2c UT.OF.PAPER.CODE..PRNOP1:.OR.AL,
d4e0 41 4c 09 09 3b 53 45 54 20 4e 5a 20 46 4c 41 47 0d 0a 50 52 4e 4f 50 32 3a 20 52 45 54 0d 0a 0d AL..;SET.NZ.FLAG..PRNOP2:.RET...
d500 0a 53 55 42 54 54 4c 20 54 69 6d 65 72 20 28 63 6c 6f 63 6b 29 20 64 72 69 76 65 72 0d 0a 09 50 .SUBTTL.Timer.(clock).driver...P
d520 41 47 45 0d 0a 0d 0a 3b 2a 2a 09 54 69 6d 65 20 46 75 6e 63 74 69 6f 6e 73 01 0d 0a 3b 0d 0a 3b AGE....;**.Time.Functions...;..;
d540 09 55 73 65 73 20 63 6c 6f 63 6b 20 77 69 74 68 20 31 30 30 30 20 74 69 63 6b 73 20 70 65 72 20 .Uses.clock.with.1000.ticks.per.
d560 73 65 63 6f 6e 64 2e 20 55 73 65 72 20 73 65 65 73 20 6f 6e 6c 79 0d 0a 3b 09 74 69 6d 65 20 69 second..User.sees.only..;.time.i
d580 6e 20 68 6f 75 72 73 2c 20 6d 69 6e 75 74 65 73 2c 20 73 65 63 6f 6e 64 73 2c 20 61 6e 64 20 31 n.hours,.minutes,.seconds,.and.1
d5a0 2f 31 30 30 20 73 65 63 6f 6e 64 2c 20 69 6e 20 72 65 67 69 73 74 65 72 73 0d 0a 3b 09 43 48 2c /100.second,.in.registers..;.CH,
d5c0 20 43 4c 2c 20 44 48 2c 20 44 4c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 20 28 45 61 63 68 20 .CL,.DH,.DL.respectively..(Each.
d5e0 69 73 20 61 20 62 69 6e 61 72 79 20 6e 75 6d 62 65 72 2e 29 0d 0a 3b 09 20 20 20 20 20 20 4d 6f is.a.binary.number.)..;.......Mo
d600 64 69 66 69 65 64 20 66 6f 72 20 34 2e 30 2e 20 54 68 65 20 52 4f 4d 20 62 69 6f 73 20 74 69 6d dified.for.4.0..The.ROM.bios.tim
d620 65 72 20 72 6f 75 74 69 6e 65 73 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 0d 0a 3b 09 72 65 er.routines.are.completely..;.re
d640 70 6c 61 63 65 64 20 77 69 74 68 20 63 6f 64 65 20 6f 6e 20 74 68 69 73 20 70 61 67 65 2e 20 54 placed.with.code.on.this.page..T
d660 68 69 73 20 70 72 6f 76 69 64 65 73 20 61 20 62 65 74 74 65 72 20 74 69 6d 65 20 62 61 73 65 0d his.provides.a.better.time.base.
d680 0a 3b 09 66 6f 72 20 74 68 65 20 73 63 68 65 64 75 6c 65 72 2e 0d 0a 0d 0a 0d 0a 09 45 58 54 52 .;.for.the.scheduler........EXTR
d6a0 4e 09 46 6c 6f 70 70 79 64 65 76 69 63 65 3a 4e 45 41 52 0d 0a 54 49 4d 44 45 56 09 4c 41 42 45 N.Floppydevice:NEAR..TIMDEV.LABE
d6c0 4c 09 57 4f 52 44 0d 0a 09 44 57 09 46 6c 6f 70 70 79 64 65 76 69 63 65 2c 42 49 4f 53 45 47 0d L.WORD...DW.Floppydevice,BIOSEG.
d6e0 0a 09 44 57 09 31 30 30 30 30 30 30 30 30 30 30 30 31 30 30 30 42 0d 0a 09 44 57 09 53 54 52 41 ..DW.1000000000001000B...DW.STRA
d700 54 45 47 59 0d 0a 09 44 57 09 54 49 4d 24 49 4e 0d 0a 09 44 42 09 27 43 4c 4f 43 4b 24 20 20 27 TEGY...DW.TIM$IN...DB.'CLOCK$..'
d720 0d 0a 0d 0a 44 41 59 43 4e 54 09 44 57 09 30 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 01 2d 2d 2d 2d 2d ....DAYCNT.DW.0....;------.-----
d740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 20 -------------------------..;..;.
d780 53 65 74 74 69 6d 65 20 73 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 0d 0a 3b Settime.sets.the.current.time..;
d7a0 0d 0a 3b 20 4f 6e 20 65 6e 74 72 79 20 45 53 3a 5b 44 49 5d 20 68 61 73 20 74 68 65 20 63 75 72 ..;.On.entry.ES:[DI].has.the.cur
d7c0 72 65 6e 74 20 74 69 6d 65 3a 0d 0a 3b 0d 0a 3b 09 6e 75 6d 62 65 72 20 6f 66 20 64 61 79 73 20 rent.time:..;..;.number.of.days.
d7e0 73 69 6e 63 65 20 31 2d 31 2d 38 30 09 28 57 4f 52 44 29 0d 0a 3b 09 6d 69 6e 75 74 65 73 20 28 since.1-1-80.(WORD)..;.minutes.(
d800 30 2d 35 39 29 09 09 09 28 42 59 54 45 29 0d 0a 3b 09 68 6f 75 72 73 20 28 30 2d 32 33 29 09 09 0-59)...(BYTE)..;.hours.(0-23)..
d820 09 28 42 59 54 45 29 0d 0a 3b 09 68 75 6e 64 72 65 64 74 68 73 20 6f 66 20 73 65 63 6f 6e 64 73 .(BYTE)..;.hundredths.of.seconds
d840 20 28 30 2d 39 39 29 09 28 42 59 54 45 29 0d 0a 3b 09 73 65 63 6f 6e 64 73 20 28 30 2d 35 39 29 .(0-99).(BYTE)..;.seconds.(0-59)
d860 09 09 09 28 42 59 54 45 29 0d 0a 3b 0d 0a 3b 20 45 61 63 68 20 6e 75 6d 62 65 72 20 68 61 73 20 ...(BYTE)..;..;.Each.number.has.
d880 62 65 65 6e 20 63 68 65 63 6b 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 63 74 20 72 61 6e been.checked.for.the.correct.ran
d8a0 67 65 2e 0d 0a 0d 0a 54 49 4d 24 57 52 49 54 3a 0d 0a 09 50 55 53 48 09 42 58 0d 0a 09 4d 4f 56 ge.....TIM$WRIT:...PUSH.BX...MOV
d8c0 09 41 58 2c 45 53 3a 5b 44 49 5d 0d 0a 09 4d 4f 56 09 44 41 59 43 4e 54 2c 41 58 0d 0a 09 4d 4f .AX,ES:[DI]...MOV.DAYCNT,AX...MO
d8e0 56 09 43 58 2c 45 53 3a 5b 44 49 2b 32 5d 0d 0a 09 4d 4f 56 09 41 4c 2c 36 30 0d 0a 09 4d 55 4c V.CX,ES:[DI+2]...MOV.AL,60...MUL
d900 09 43 48 09 09 3b 48 6f 75 72 73 20 74 6f 20 6d 69 6e 75 74 65 73 0d 0a 09 4d 4f 56 09 43 48 2c .CH..;Hours.to.minutes...MOV.CH,
d920 30 0d 0a 09 41 44 44 09 41 58 2c 43 58 09 09 3b 54 6f 74 61 6c 20 6d 69 6e 75 74 05 06 00 09 02 0...ADD.AX,CX..;Total.minut.....
d940 01 02 03 04 05 06 07 08 09 01 65 73 0d 0a 09 4d 4f 56 09 43 58 2c 36 30 30 30 30 09 3b 36 30 2a ..........es...MOV.CX,60000.;60*
d960 31 30 30 30 0d 0a 09 4d 55 4c 09 43 58 09 09 3b 43 6f 6e 76 65 72 74 20 74 6f 20 6d 69 6c 6c 69 1000...MUL.CX..;Convert.to.milli
d980 73 65 63 6f 6e 64 73 0d 0a 09 4d 4f 56 09 53 49 2c 41 58 0d 0a 09 4d 4f 56 09 42 58 2c 44 58 09 seconds...MOV.SI,AX...MOV.BX,DX.
d9a0 09 3b 20 53 61 76 65 20 68 6f 75 72 73 2c 20 6d 69 6e 20 69 6e 20 4d 73 65 63 73 20 69 6e 20 42 .;.Save.hours,.min.in.Msecs.in.B
d9c0 58 3a 53 49 0d 0a 09 4d 4f 56 09 41 4c 2c 45 53 3a 5b 44 49 2b 35 5d 09 3b 20 47 65 74 20 23 20 X:SI...MOV.AL,ES:[DI+5].;.Get.#.
d9e0 73 65 63 6f 6e 64 73 0d 0a 09 4d 4f 56 09 43 58 2c 31 30 30 0d 0a 09 4d 55 4c 09 43 4c 09 09 3b seconds...MOV.CX,100...MUL.CL..;
da00 20 47 65 74 20 73 65 63 6f 6e 64 73 20 69 6e 20 31 2f 31 30 30 73 0d 0a 09 4d 4f 56 09 43 4c 2c .Get.seconds.in.1/100s...MOV.CL,
da20 45 53 3a 5b 44 49 2b 34 5d 09 3b 20 48 75 6e 64 72 65 64 74 68 73 20 6f 66 20 73 65 63 6f 6e 64 ES:[DI+4].;.Hundredths.of.second
da40 0d 0a 09 41 44 44 09 41 58 2c 43 58 09 09 3b 20 4e 6f 77 20 68 61 76 65 20 73 65 63 6f 6e 64 73 ...ADD.AX,CX..;.Now.have.seconds
da60 20 61 6e 64 20 31 2f 31 30 30 74 68 73 0d 0a 09 4d 4f 56 09 43 4c 2c 31 30 0d 0a 09 4d 55 4c 09 .and.1/100ths...MOV.CL,10...MUL.
da80 43 58 09 09 3b 20 47 65 74 20 44 58 3a 41 58 20 3d 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 0d 0a CX..;.Get.DX:AX.=.milliseconds..
daa0 09 41 44 44 09 41 58 2c 53 49 0d 0a 09 4d 4f 56 09 43 53 3a 54 69 63 6b 4c 6f 77 2c 41 58 0d 0a .ADD.AX,SI...MOV.CS:TickLow,AX..
dac0 09 41 44 43 09 42 58 2c 30 0d 0a 09 4d 4f 56 09 43 53 3a 54 69 63 6b 48 69 67 68 2c 42 58 09 3b .ADC.BX,0...MOV.CS:TickHigh,BX.;
dae0 20 53 65 74 20 74 69 6d 65 20 69 6e 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 0d 0a 09 50 4f 50 09 .Set.time.in.milliseconds...POP.
db00 42 58 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 3b 2a 2a BX...JMP.StatusComplete......;**
db20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
db40 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 01 3b 20 47 65 74 74 69 6d 65 20 72 65 61 64 73 20 64 61 74 65 20 *****..;...;.Gettime.reads.date.
db60 61 6e 64 20 74 69 6d 65 0d 0a 3b 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 6f 6c 6c and.time..;.and.returns.the.foll
db80 6f 77 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 0d 0a 3b 0d 0a 3b 09 45 53 3a 5b 44 49 5d owing.information:..;..;.ES:[DI]
dba0 09 20 3d 63 6f 75 6e 74 20 6f 66 20 64 61 79 73 20 73 69 6e 63 65 20 31 2d 31 2d 38 30 0d 0a 3b ..=count.of.days.since.1-1-80..;
dbc0 09 45 53 3a 5b 44 49 2b 32 5d 3d 6d 69 6e 75 74 65 73 0d 0a 3b 09 45 53 3a 5b 44 49 2b 33 5d 3d .ES:[DI+2]=minutes..;.ES:[DI+3]=
dbe0 68 6f 75 72 73 0d 0a 3b 09 45 53 3a 5b 44 49 2b 34 5d 3d 68 75 6e 64 72 65 64 74 68 73 20 6f 66 hours..;.ES:[DI+4]=hundredths.of
dc00 20 73 65 63 6f 6e 64 73 0d 0a 3b 09 45 53 3a 5b 44 49 2b 35 5d 3d 73 65 63 6f 6e 64 73 0d 0a 3b .seconds..;.ES:[DI+5]=seconds..;
dc20 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ..;*****************************
dc40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 09 50 55 42 4c 49 43 09 54 49 4d 24 52 45 41 44 0d 0a 54 49 **********...PUBLIC.TIM$READ..TI
dc60 4d 24 52 45 41 44 3a 0d 0a 09 50 55 53 48 09 42 58 0d 0a 09 4d 4f 56 09 41 58 2c 44 61 79 43 6e M$READ:...PUSH.BX...MOV.AX,DayCn
dc80 74 0d 0a 09 53 54 4f 53 57 09 09 09 3b 20 72 65 74 75 72 6e 20 64 61 79 0d 0a 09 4d 4f 56 09 44 t...STOSW...;.return.day...MOV.D
dca0 58 2c 43 53 3a 54 69 63 6b 48 69 67 68 0d 0a 09 4d 4f 56 09 41 58 2c 43 53 3a 54 69 63 6b 4c 6f X,CS:TickHigh...MOV.AX,CS:TickLo
dcc0 77 09 3b 20 47 65 74 20 63 75 72 72 65 6e 74 20 74 69 6d 65 0d 0a 09 4d 4f 56 09 43 58 2c 36 30 w.;.Get.current.time...MOV.CX,60
dce0 30 30 30 09 3b 20 23 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 69 6e 20 61 20 6d 69 6e 75 74 65 000.;.#.milliseconds.in.a.minute
dd00 0d 0a 09 44 49 56 09 43 58 09 09 3b 20 47 65 74 20 41 58 3d 20 6d 69 6e 75 74 65 73 2c 20 44 58 ...DIV.CX..;.Get.AX=.minutes,.DX
dd20 20 3d 20 73 65 63 6f 6e 64 73 26 6d 73 65 63 73 0d 0a 09 4d 4f 56 09 42 58 2c 44 58 09 09 3b 20 .=.seconds&msecs...MOV.BX,DX..;.
dd40 53 61 76 65 20 73 65 63 6f 6e 64 01 73 20 61 6e 64 20 66 72 61 63 74 69 6f 6e 0d 0a 09 58 4f 52 Save.second.s.and.fraction...XOR
dd60 09 44 58 2c 44 58 0d 0a 09 4d 4f 56 09 43 58 2c 36 30 09 09 3b 20 23 20 6d 69 6e 75 74 65 73 2f .DX,DX...MOV.CX,60..;.#.minutes/
dd80 68 6f 75 72 0d 0a 09 44 49 56 09 43 58 09 09 3b 20 47 65 74 20 41 58 3d 20 68 6f 75 72 2c 20 44 hour...DIV.CX..;.Get.AX=.hour,.D
dda0 58 3d 20 6d 69 6e 75 74 65 0d 0a 09 78 63 68 67 09 61 78 2c 64 78 0d 0a 09 53 54 4f 53 42 09 09 X=.minute...xchg.ax,dx...STOSB..
ddc0 09 3b 20 52 65 74 75 72 6e 20 6d 69 6e 75 74 65 73 0d 0a 09 78 63 68 67 09 61 78 2c 64 78 0d 0a .;.Return.minutes...xchg.ax,dx..
dde0 09 53 54 4f 53 42 09 09 09 3b 20 52 65 74 75 72 6e 20 68 6f 75 72 73 0d 0a 09 4d 4f 56 09 41 58 .STOSB...;.Return.hours...MOV.AX
de00 2c 42 58 0d 0a 09 58 4f 52 09 44 58 2c 44 58 0d 0a 09 4d 4f 56 09 43 58 2c 31 30 30 30 0d 0a 09 ,BX...XOR.DX,DX...MOV.CX,1000...
de20 44 49 56 09 43 58 09 09 3b 20 47 65 74 20 41 58 3d 20 73 65 63 6f 6e 64 73 2c 20 44 58 3d 20 6d DIV.CX..;.Get.AX=.seconds,.DX=.m
de40 69 6c 6c 69 73 65 63 6f 6e 64 73 0d 0a 09 78 63 68 67 09 61 78 2c 62 78 09 09 3b 20 28 62 78 29 illiseconds...xchg.ax,bx..;.(bx)
de60 20 3d 20 73 65 63 6f 6e 64 73 0d 0a 09 4d 4f 56 09 41 58 2c 44 58 0d 0a 09 58 4f 52 09 44 58 2c .=.seconds...MOV.AX,DX...XOR.DX,
de80 44 58 0d 0a 09 4d 4f 56 09 43 58 2c 31 30 0d 0a 09 44 49 56 09 43 58 09 09 3b 20 47 65 74 20 68 DX...MOV.CX,10...DIV.CX..;.Get.h
dea0 75 6e 64 72 65 64 74 68 73 20 6f 66 20 73 65 63 6f 6e 64 0d 0a 09 53 54 4f 53 42 09 09 09 3b 20 undredths.of.second...STOSB...;.
dec0 52 65 74 75 72 6e 20 68 75 6e 64 72 65 64 74 68 73 20 6f 66 20 73 65 63 6f 6e 64 0d 0a 09 78 63 Return.hundredths.of.second...xc
dee0 68 67 09 61 78 2c 62 78 0d 0a 09 53 54 4f 53 42 09 09 09 3b 20 52 65 74 75 72 6e 20 73 65 63 6f hg.ax,bx...STOSB...;.Return.seco
df00 6e 64 0d 0a 09 50 4f 50 09 42 58 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 nd...POP.BX...JMP.StatusComplete
df20 0d 0a 0d 0a 53 55 42 54 54 4c 09 43 6c 6f 63 6b 20 69 6e 74 65 72 72 75 70 74 20 61 6e 64 20 72 ....SUBTTL.Clock.interrupt.and.r
df40 65 70 6c 61 63 65 6d 65 6e 74 20 66 01 6f 72 20 52 4f 4d 20 63 6f 64 65 0d 0a 50 41 47 45 0d 0a eplacement.f.or.ROM.code..PAGE..
df60 0d 0a 43 4f 4d 4d 45 4e 54 20 2a 0d 0a 20 20 20 54 68 65 20 63 6c 6f 63 6b 20 63 6f 64 65 20 69 ..COMMENT.*.....The.clock.code.i
df80 6e 20 74 68 65 20 52 4f 4d 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 66 n.the.ROM.is.replaced.with.the.f
dfa0 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 77 68 69 63 68 0d 0a 70 72 6f 76 69 64 65 73 20 74 68 ollowing.code.which..provides.th
dfc0 65 20 63 6c 6f 63 6b 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 74 68 65 20 73 63 68 65 64 75 6c e.clock.interface.to.the.schedul
dfe0 65 72 20 61 6e 64 20 61 20 31 20 6d 73 20 74 69 6d 65 20 62 61 73 65 2e 20 54 68 65 0d 0a 31 41 er.and.a.1.ms.time.base..The..1A
e000 48 20 69 6e 74 65 72 72 75 70 74 20 69 73 20 73 69 6d 75 6c 61 74 65 64 20 74 6f 20 72 65 74 75 H.interrupt.is.simulated.to.retu
e020 72 6e 20 74 68 65 20 61 70 70 72 6f 78 69 6d 61 74 65 20 74 69 6d 65 20 66 6f 72 20 74 68 6f 73 rn.the.approximate.time.for.thos
e040 65 0d 0a 72 6f 75 74 69 6e 65 73 20 77 68 69 63 68 20 73 74 69 6c 6c 20 63 61 6c 6c 20 31 41 48 e..routines.which.still.call.1AH
e060 2e 20 54 68 65 20 74 69 6d 65 20 70 65 72 69 6f 64 20 66 6f 72 20 6d 6f 74 6f 72 20 73 74 61 72 ..The.time.period.for.motor.star
e080 74 20 75 70 20 69 73 0d 0a 70 72 65 73 65 72 76 65 64 20 73 69 6e 63 65 20 74 68 61 74 20 63 6f t.up.is..preserved.since.that.co
e0a0 64 65 20 68 61 73 20 6e 6f 74 20 79 65 74 20 62 65 65 6e 20 72 65 77 72 69 74 74 65 6e 2e 0d 0a de.has.not.yet.been.rewritten...
e0c0 09 2a 0d 0a 0d 0a 52 6f 6d 44 61 74 61 20 53 45 47 4d 45 4e 54 20 41 54 20 30 34 30 48 0d 0a 09 .*....RomData.SEGMENT.AT.040H...
e0e0 4f 52 47 09 30 33 46 48 0d 0a 4d 6f 74 6f 72 5f 53 74 61 74 75 73 09 44 42 09 31 20 44 55 50 28 ORG.03FH..Motor_Status.DB.1.DUP(
e100 3f 29 0d 0a 4d 6f 74 6f 72 5f 43 6f 75 6e 74 09 44 42 09 31 20 44 55 50 28 3f 29 0d 0a 52 6f 6d ?)..Motor_Count.DB.1.DUP(?)..Rom
e120 44 61 74 61 20 45 4e 44 53 0d 0a 0d 0a 54 69 63 6b 4c 6f 77 09 09 44 57 09 3f 09 09 3b 20 4c 6f Data.ENDS....TickLow..DW.?..;.Lo
e140 77 20 70 61 72 74 20 6f 66 20 74 69 6d 01 65 20 69 6e 20 4d 73 65 63 0d 0a 54 69 63 6b 48 69 67 w.part.of.tim.e.in.Msec..TickHig
e160 68 09 44 57 09 3f 09 09 3b 20 48 69 67 68 20 70 61 72 74 20 6f 66 20 74 69 6d 65 20 69 6e 20 6d h.DW.?..;.High.part.of.time.in.m
e180 73 65 63 0d 0a 4d 6f 74 6f 72 46 6c 61 67 09 44 42 09 30 09 09 3b 20 54 68 65 72 65 20 69 73 20 sec..MotorFlag.DB.0..;.There.is.
e1a0 61 6e 20 61 63 74 69 76 65 20 6d 6f 74 6f 72 0d 0a 4d 6f 74 6f 72 54 69 63 6b 09 44 42 09 4d 4f an.active.motor..MotorTick.DB.MO
e1c0 54 4f 52 43 4f 55 4e 54 09 3b 20 23 20 74 69 63 6b 73 20 75 6e 74 69 6c 20 31 2f 31 38 2e 32 20 TORCOUNT.;.#.ticks.until.1/18.2.
e1e0 73 65 63 73 0d 0a 53 63 68 65 64 54 69 63 6b 09 44 42 09 53 43 48 45 44 43 4f 55 4e 54 09 3b 20 secs..SchedTick.DB.SCHEDCOUNT.;.
e200 53 63 68 65 64 75 6c 65 72 20 63 6f 75 6e 74 64 6f 77 6e 0d 0a 0d 0a 3b 20 49 6e 74 65 72 72 75 Scheduler.countdown....;.Interru
e220 70 74 20 38 48 20 2d 09 74 69 6d 65 72 20 69 6e 74 65 72 72 75 70 74 0d 0a 0d 0a 20 20 20 20 41 pt.8H.-.timer.interrupt........A
e240 53 53 55 4d 45 09 44 53 3a 4e 4f 54 48 49 4e 47 0d 0a 54 69 6d 65 72 49 6e 74 65 72 72 75 70 74 SSUME.DS:NOTHING..TimerInterrupt
e260 09 50 52 4f 43 09 46 41 52 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 49 4e 43 09 54 69 63 6b 4c 6f .PROC.FAR...PUSH.AX...INC.TickLo
e280 77 0d 0a 09 4a 4e 5a 09 4e 6f 4f 76 65 72 66 6c 6f 77 0d 0a 09 49 4e 43 09 54 69 63 6b 48 69 67 w...JNZ.NoOverflow...INC.TickHig
e2a0 68 0d 0a 4e 6f 4f 76 65 72 46 6c 6f 77 3a 0d 0a 09 43 4d 50 09 54 69 63 6b 48 69 67 68 2c 31 33 h..NoOverFlow:...CMP.TickHigh,13
e2c0 31 38 09 09 3b 20 43 6c 6f 73 65 20 74 6f 20 32 34 20 68 6f 75 72 73 3f 0d 0a 09 4a 4e 5a 09 4e 18..;.Close.to.24.hours?...JNZ.N
e2e0 6f 74 44 61 79 09 09 09 3b 20 4e 6f 0d 0a 09 43 4d 50 09 54 69 63 6b 4c 6f 77 2c 32 33 35 35 32 otDay...;.No...CMP.TickLow,23552
e300 09 09 3b 20 52 65 61 63 68 20 32 34 20 68 6f 75 72 73 3f 0d 0a 09 4a 4e 5a 09 4e 6f 74 44 61 79 ..;.Reach.24.hours?...JNZ.NotDay
e320 09 09 09 3b 20 4e 6f 0d 0a 3b 20 48 61 76 65 20 72 65 61 63 68 65 64 20 61 20 64 61 79 2c 20 62 ...;.No..;.Have.reached.a.day,.b
e340 75 6d 70 20 64 61 79 20 63 6f 75 6e 74 0d 01 0a 09 49 4e 43 09 44 61 79 43 6e 74 0d 0a 09 58 4f ump.day.count....INC.DayCnt...XO
e360 52 09 41 58 2c 41 58 0d 0a 09 4d 4f 56 09 54 69 63 6b 48 69 67 68 2c 41 58 0d 0a 09 4d 4f 56 09 R.AX,AX...MOV.TickHigh,AX...MOV.
e380 54 69 63 6b 4c 6f 77 2c 41 58 09 09 3b 20 52 65 73 65 74 20 74 69 6d 65 20 6f 66 20 64 61 79 0d TickLow,AX..;.Reset.time.of.day.
e3a0 0a 4e 6f 74 44 61 79 3a 0d 0a 3b 3b 09 44 45 43 09 4d 6f 74 6f 72 54 69 63 6b 09 09 3b 20 54 69 .NotDay:..;;.DEC.MotorTick..;.Ti
e3c0 6d 65 20 74 6f 20 64 65 63 72 65 6d 65 6e 74 20 6d 6f 74 6f 72 3f 0d 0a 3b 3b 09 4a 4e 5a 09 43 me.to.decrement.motor?..;;.JNZ.C
e3e0 68 65 63 6b 53 63 68 65 64 09 09 09 3b 20 4e 6f 0d 0a 3b 3b 09 4d 4f 56 09 4d 6f 74 6f 72 54 69 heckSched...;.No..;;.MOV.MotorTi
e400 63 6b 2c 4d 4f 54 4f 52 43 4f 55 4e 54 09 3b 20 52 65 73 65 74 20 31 2f 31 38 20 73 65 63 20 77 ck,MOTORCOUNT.;.Reset.1/18.sec.w
e420 6f 72 74 68 20 6f 66 20 6d 73 65 63 73 0d 0a 3b 3b 09 50 55 53 48 09 44 53 0d 0a 3b 3b 09 4d 4f orth.of.msecs..;;.PUSH.DS..;;.MO
e440 56 09 41 58 2c 52 6f 6d 44 61 74 61 0d 0a 3b 3b 09 4d 4f 56 09 44 53 2c 41 58 0d 0a 3b 3b 20 20 V.AX,RomData..;;.MOV.DS,AX..;;..
e460 20 20 41 53 53 55 4d 45 09 44 53 3a 52 6f 6d 44 61 74 61 0d 0a 0d 0a 3b 3b 09 54 45 53 54 09 4d ..ASSUME.DS:RomData....;;.TEST.M
e480 6f 74 6f 72 46 6c 61 67 2c 30 46 46 48 09 09 3b 20 41 63 74 69 76 65 20 6d 6f 74 6f 72 20 74 69 otorFlag,0FFH..;.Active.motor.ti
e4a0 6d 65 72 3f 0d 0a 3b 3b 09 4a 5a 09 43 68 65 63 6b 4d 6f 74 6f 72 09 09 3b 20 4e 6f 2c 20 73 65 mer?..;;.JZ.CheckMotor..;.No,.se
e4c0 65 20 69 66 20 6e 65 77 20 6f 6e 65 0d 0a 3b 3b 09 44 45 43 09 4d 6f 74 6f 72 5f 43 6f 75 6e 74 e.if.new.one..;;.DEC.Motor_Count
e4e0 0d 0a 3b 3b 09 4a 4e 5a 09 43 68 65 63 6b 4d 6f 74 6f 72 09 09 3b 20 4e 6f 74 20 74 69 6d 65 20 ..;;.JNZ.CheckMotor..;.Not.time.
e500 74 6f 20 73 68 75 74 20 64 6f 77 6e 0d 0a 3b 3b 09 41 4e 44 09 4d 6f 74 6f 72 5f 53 74 61 74 75 to.shut.down..;;.AND.Motor_Statu
e520 73 2c 30 46 30 48 09 3b 20 54 75 72 6e 20 6f 66 66 20 6d 6f 74 6f 72 20 72 75 6e 6e 69 6e 67 20 s,0F0H.;.Turn.off.motor.running.
e540 62 69 74 73 0d 0a 3b 3b 09 4d 4f 56 09 41 4c 01 2c 30 43 48 0d 0a 3b 3b 09 50 55 53 48 09 44 58 bits..;;.MOV.AL.,0CH..;;.PUSH.DX
e560 0d 0a 3b 3b 09 4d 4f 56 09 44 58 2c 30 33 46 32 48 0d 0a 3b 3b 09 4f 55 54 09 44 58 2c 41 4c 09 ..;;.MOV.DX,03F2H..;;.OUT.DX,AL.
e580 09 09 3b 20 54 75 72 6e 20 6f 66 66 20 74 68 65 20 6d 6f 74 6f 72 73 0d 0a 3b 3b 09 50 4f 50 09 ..;.Turn.off.the.motors..;;.POP.
e5a0 44 58 0d 0a 3b 3b 09 4d 4f 56 09 4d 6f 74 6f 72 46 6c 61 67 2c 30 09 09 3b 20 4e 6f 20 6d 6f 74 DX..;;.MOV.MotorFlag,0..;.No.mot
e5c0 6f 72 20 74 69 6d 65 6f 75 74 20 72 75 6e 6e 69 6e 67 0d 0a 3b 3b 09 50 4f 50 09 44 53 0d 0a 3b or.timeout.running..;;.POP.DS..;
e5e0 3b 09 4a 4d 50 09 43 68 65 63 6b 53 63 68 65 64 09 09 3b 20 47 6f 20 73 65 65 20 69 66 20 74 69 ;.JMP.CheckSched..;.Go.see.if.ti
e600 6d 65 20 74 6f 20 73 63 68 65 64 0d 0a 0d 0a 3b 3b 43 68 65 63 6b 4d 6f 74 6f 72 3a 0d 0a 3b 3b me.to.sched....;;CheckMotor:..;;
e620 09 4d 4f 56 09 41 4c 2c 4d 6f 74 6f 72 5f 43 6f 75 6e 74 0d 0a 3b 3b 09 50 4f 50 09 44 53 0d 0a .MOV.AL,Motor_Count..;;.POP.DS..
e640 3b 3b 09 4a 4e 5a 09 43 68 65 63 6b 53 63 68 65 64 09 09 3b 20 4d 6f 74 6f 72 20 61 6c 72 65 61 ;;.JNZ.CheckSched..;.Motor.alrea
e660 64 79 20 61 63 74 69 76 65 0d 0a 3b 3b 09 4f 52 09 41 4c 2c 41 4c 09 09 09 3b 20 4e 65 65 64 20 dy.active..;;.OR.AL,AL...;.Need.
e680 74 6f 20 73 74 61 72 74 20 63 6f 75 6e 74 64 6f 77 6e 3f 0d 0a 3b 3b 09 4a 5a 09 43 68 65 63 6b to.start.countdown?..;;.JZ.Check
e6a0 53 63 68 65 64 09 09 3b 20 4e 6f 0d 0a 3b 3b 09 4d 4f 56 09 4d 6f 74 6f 72 46 6c 61 67 2c 30 46 Sched..;.No..;;.MOV.MotorFlag,0F
e6c0 46 48 09 09 3b 20 59 65 73 2c 20 73 65 74 20 66 6c 61 67 0d 0a 3b 3b 09 4d 4f 56 09 4d 6f 74 6f FH..;.Yes,.set.flag..;;.MOV.Moto
e6e0 72 54 69 63 6b 2c 4d 4f 54 4f 52 43 4f 55 4e 54 09 3b 20 31 2f 31 38 2e 32 20 73 65 63 20 6c 61 rTick,MOTORCOUNT.;.1/18.2.sec.la
e700 74 65 72 0d 0a 0d 0a 3b 20 54 68 65 20 73 63 68 65 64 75 6c 65 72 20 69 73 20 63 61 6c 6c 65 64 ter....;.The.scheduler.is.called
e720 20 65 76 65 72 79 20 31 30 6d 73 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 65 76 65 72 79 20 31 .every.10ms,.rather.than.every.1
e740 20 6d 73 20 74 6f 20 73 65 65 20 69 66 0d 0a 3b 01 20 69 74 20 73 68 6f 75 6c 64 20 73 77 69 74 .ms.to.see.if..;..it.should.swit
e760 63 68 20 74 61 73 6b 73 2e 0d 0a 43 68 65 63 6b 53 63 68 65 64 3a 0d 0a 3b 20 46 69 72 73 74 20 ch.tasks...CheckSched:..;.First.
e780 72 65 73 65 74 20 74 68 65 20 74 69 6d 65 72 20 73 6f 20 77 69 6c 6c 20 69 6e 74 65 72 72 75 70 reset.the.timer.so.will.interrup
e7a0 74 20 61 67 61 69 6e 0d 0a 09 4d 4f 56 09 41 4c 2c 33 36 48 0d 0a 09 4f 55 54 09 34 33 48 2c 41 t.again...MOV.AL,36H...OUT.43H,A
e7c0 4c 0d 0a 09 4d 4f 56 09 41 4c 2c 31 36 39 0d 0a 09 4f 55 54 09 34 30 48 2c 41 4c 0d 0a 09 4d 4f L...MOV.AL,169...OUT.40H,AL...MO
e7e0 56 09 41 4c 2c 34 0d 0a 09 4f 55 54 09 34 30 48 2c 41 4c 09 09 09 3b 20 53 65 74 20 31 20 6d 73 V.AL,4...OUT.40H,AL...;.Set.1.ms
e800 65 63 20 64 65 6c 61 79 0d 0a 09 4d 4f 56 09 41 4c 2c 32 30 48 0d 0a 09 4f 55 54 09 32 30 48 2c ec.delay...MOV.AL,20H...OUT.20H,
e820 41 4c 09 09 09 3b 20 54 65 6c 6c 20 38 32 35 39 20 69 6e 74 65 72 72 75 70 74 20 64 6f 6e 65 0d AL...;.Tell.8259.interrupt.done.
e840 0a 3b 20 4e 6f 77 20 73 65 65 20 69 66 20 73 68 6f 75 6c 64 20 63 61 6c 6c 20 73 63 68 65 64 75 .;.Now.see.if.should.call.schedu
e860 6c 65 72 0d 0a 09 44 45 43 09 53 63 68 65 64 54 69 63 6b 09 09 3b 20 54 69 6d 65 20 74 6f 20 63 ler...DEC.SchedTick..;.Time.to.c
e880 61 6c 6c 20 73 63 68 65 64 75 6c 65 72 3f 0d 0a 09 4a 4e 5a 09 4e 6f 53 63 68 65 64 09 09 09 3b all.scheduler?...JNZ.NoSched...;
e8a0 20 4e 6f 2c 20 61 6c 6c 20 64 6f 6e 65 0d 0a 09 4d 4f 56 09 53 63 68 65 64 54 69 63 6b 2c 53 43 .No,.all.done...MOV.SchedTick,SC
e8c0 48 45 44 43 4f 55 4e 54 09 3b 20 52 65 73 65 74 20 63 6f 75 6e 74 64 6f 77 6e 0d 0a 63 73 63 68 HEDCOUNT.;.Reset.countdown..csch
e8e0 31 3a 09 50 4f 50 09 41 58 09 09 09 3b 20 53 74 61 63 6b 20 69 73 20 6e 6f 77 20 63 6c 65 61 6e 1:.POP.AX...;.Stack.is.now.clean
e900 0d 0a 09 49 4e 54 09 33 32 48 09 09 09 3b 20 53 61 76 65 20 61 6c 6c 20 72 65 67 73 0d 0a 09 43 ...INT.32H...;.Save.all.regs...C
e920 4d 50 09 57 4f 52 44 20 50 54 52 20 28 44 6f 73 46 75 6e 63 74 69 6f 6e 2b 32 29 2c 30 09 3b 20 MP.WORD.PTR.(DosFunction+2),0.;.
e940 44 6f 73 20 69 6e 73 74 61 6c 6c 65 64 3f 0d 0a 09 01 4a 45 09 4e 6f 53 63 68 65 64 41 63 74 69 Dos.installed?....JE.NoSchedActi
e960 76 65 09 09 3b 20 4e 6f 74 20 79 65 74 2c 20 64 6f 6e 27 74 20 63 61 6c 6c 20 73 63 68 65 64 0d ve..;.Not.yet,.don't.call.sched.
e980 0a 09 73 75 62 09 64 78 2c 64 78 09 09 09 3b 20 28 64 78 29 20 3d 20 30 20 3d 20 74 69 63 20 73 ..sub.dx,dx...;.(dx).=.0.=.tic.s
e9a0 75 62 66 75 6e 63 74 69 6f 6e 0d 0a 09 6d 6f 76 09 61 78 2c 53 43 48 45 44 43 4f 55 4e 54 09 09 ubfunction...mov.ax,SCHEDCOUNT..
e9c0 3b 20 31 30 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 70 65 72 20 74 69 63 0d 0a 09 43 41 4c 4c ;.10.milliseconds.per.tic...CALL
e9e0 09 44 6f 73 46 75 6e 63 74 69 6f 6e 09 09 3b 20 44 6f 20 74 68 65 20 74 69 63 6b 0d 0a 20 20 20 .DosFunction..;.Do.the.tick.....
ea00 20 45 58 54 52 4e 09 46 6c 6f 70 70 79 54 69 6d 65 72 3a 46 41 52 0d 0a 09 43 41 4c 4c 09 46 6c .EXTRN.FloppyTimer:FAR...CALL.Fl
ea20 6f 70 70 79 54 69 6d 65 72 09 09 3b 20 74 69 6d 65 72 20 73 65 72 76 69 63 65 20 66 6f 72 20 66 oppyTimer..;.timer.service.for.f
ea40 6c 6f 70 70 79 20 64 69 73 6b 20 61 6c 73 6f 0d 0a 4e 6f 53 63 68 65 64 41 63 74 69 76 65 3a 0d loppy.disk.also..NoSchedActive:.
ea60 0a 09 49 52 45 54 09 09 09 09 3b 20 41 6c 6c 20 64 6f 6e 65 0d 0a 0d 0a 4e 6f 53 63 68 65 64 3a ..IRET....;.All.done....NoSched:
ea80 0d 0a 09 50 4f 50 09 41 58 0d 0a 49 4e 54 52 45 54 3a 20 49 52 45 54 09 09 09 09 3b 20 41 6c 6c ...POP.AX..INTRET:.IRET....;.All
eaa0 20 64 6f 6e 65 0d 0a 54 69 6d 65 72 49 6e 74 65 72 72 75 70 74 09 45 4e 44 50 0d 0a 0d 0a 3b 20 .done..TimerInterrupt.ENDP....;.
eac0 49 4e 54 20 31 41 48 20 2d 09 47 65 74 2f 53 65 74 20 74 69 6d 65 20 62 61 73 65 64 20 69 6e 20 INT.1AH.-.Get/Set.time.based.in.
eae0 35 35 6d 73 65 63 20 74 69 63 6b 0d 0a 0d 0a 54 69 6d 65 4f 66 44 61 79 09 50 52 4f 43 09 46 41 55msec.tick....TimeOfDay.PROC.FA
eb00 52 0d 0a 09 4f 52 09 41 48 2c 41 48 09 09 09 3b 20 46 75 6e 63 74 69 6f 6e 20 30 3a 20 52 65 61 R...OR.AH,AH...;.Function.0:.Rea
eb20 64 20 74 69 6d 65 3f 0d 0a 09 4a 5a 09 52 65 61 64 4f 6c 64 09 09 09 3b 20 59 65 73 0d 0a 09 44 d.time?...JZ.ReadOld...;.Yes...D
eb40 45 43 09 41 48 09 09 09 3b 20 46 75 6e 63 74 69 6f 6e 05 06 01 09 02 01 02 03 04 05 06 07 08 09 EC.AH...;.Function..............
eb60 01 20 31 3a 20 57 72 69 74 65 20 74 69 6d 65 3f 0d 0a 09 4a 5a 09 57 72 69 74 65 4f 6c 64 09 09 ..1:.Write.time?...JZ.WriteOld..
eb80 3b 20 59 65 73 0d 0a 09 49 52 45 54 09 09 09 09 3b 20 4e 6f 2c 20 62 61 64 20 66 75 6e 63 74 69 ;.Yes...IRET....;.No,.bad.functi
eba0 6f 6e 20 63 6f 64 65 0d 0a 0d 0a 3b 20 52 65 61 64 20 6f 6c 64 28 20 31 2f 31 38 2e 32 20 73 65 on.code....;.Read.old(.1/18.2.se
ebc0 63 6f 6e 64 20 74 69 63 6b 20 29 20 74 69 6d 65 0d 0a 52 65 61 64 4f 6c 64 3a 0d 0a 09 4d 4f 56 cond.tick.).time..ReadOld:...MOV
ebe0 09 41 58 2c 54 69 63 6b 48 69 67 68 0d 0a 09 78 6f 72 09 64 78 2c 64 78 0d 0a 09 4d 4f 56 09 43 .AX,TickHigh...xor.dx,dx...MOV.C
ec00 58 2c 4d 4f 54 4f 52 43 4f 55 4e 54 09 09 3b 20 23 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 69 X,MOTORCOUNT..;.#.milliseconds.i
ec20 6e 20 31 2f 31 38 2e 32 20 73 65 63 73 0d 0a 09 44 49 56 09 43 58 09 09 09 3b 20 47 65 74 20 76 n.1/18.2.secs...DIV.CX...;.Get.v
ec40 61 6c 75 65 20 69 6e 20 6f 6c 64 20 74 69 63 6b 73 0d 0a 09 70 75 73 68 09 61 78 0d 0a 09 4d 4f alue.in.old.ticks...push.ax...MO
ec60 56 09 41 58 2c 54 69 63 6b 4c 6f 77 0d 0a 09 64 69 76 09 63 78 0d 0a 09 70 6f 70 09 63 78 09 09 V.AX,TickLow...div.cx...pop.cx..
ec80 09 3b 20 67 65 74 20 68 69 67 68 20 6f 72 64 65 72 20 63 6f 75 6e 74 0d 0a 09 58 4f 52 09 41 4c .;.get.high.order.count...XOR.AL
eca0 2c 41 4c 09 09 09 3b 20 4e 65 76 65 72 20 68 61 76 65 20 6f 76 65 66 6c 6f 77 0d 0a 09 49 52 45 ,AL...;.Never.have.oveflow...IRE
ecc0 54 09 09 09 09 3b 20 52 65 74 75 72 6e 20 74 68 65 20 74 69 6d 65 0d 0a 0d 0a 3b 20 53 65 74 20 T....;.Return.the.time....;.Set.
ece0 74 69 6d 65 20 75 73 69 6e 67 20 6f 6c 64 20 72 65 73 6f 6c 75 74 69 6f 6e 0d 0a 57 72 69 74 65 time.using.old.resolution..Write
ed00 4f 6c 64 3a 0d 0a 09 4d 4f 56 09 41 58 2c 44 58 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 4d 4f 56 Old:...MOV.AX,DX...push.bx...MOV
ed20 09 42 58 2c 4d 4f 54 4f 52 43 4f 55 4e 54 09 09 3b 20 43 6f 6e 76 65 72 73 69 6f 6e 20 66 61 63 .BX,MOTORCOUNT..;.Conversion.fac
ed40 74 6f 72 0d 0a 09 4d 55 4c 09 42 58 0d 0a 09 4d 4f 56 09 54 69 63 6b 4c 6f 77 2c 41 58 09 09 3b tor...MUL.BX...MOV.TickLow,AX..;
ed60 20 01 53 65 74 20 6c 6f 77 20 70 61 72 74 20 6f 66 20 74 69 6d 65 0d 0a 09 6d 6f 76 09 61 78 2c ..Set.low.part.of.time...mov.ax,
ed80 63 78 0d 0a 09 6d 6f 76 09 63 78 2c 64 78 0d 0a 09 4d 55 4c 09 42 58 0d 0a 09 70 6f 70 09 62 78 cx...mov.cx,dx...MUL.BX...pop.bx
eda0 0d 0a 09 41 44 44 09 41 58 2c 43 58 09 09 09 3b 20 43 6f 6d 62 69 6e 65 20 68 69 67 68 20 70 61 ...ADD.AX,CX...;.Combine.high.pa
edc0 72 74 73 0d 0a 09 4d 4f 56 09 54 69 63 6b 48 69 67 68 2c 41 58 09 09 3b 20 53 65 74 20 74 69 6d rts...MOV.TickHigh,AX..;.Set.tim
ede0 65 0d 0a 09 49 52 45 54 09 09 09 09 3b 20 52 65 74 75 72 6e 20 77 69 74 68 20 6e 65 77 20 74 69 e...IRET....;.Return.with.new.ti
ee00 6d 65 20 73 65 74 0d 0a 54 69 6d 65 4f 66 44 61 79 09 45 4e 44 50 0d 0a 0d 0a 3b 2b 2b 2b 2b 0d me.set..TimeOfDay.ENDP....;++++.
ee20 0a 6d 65 6d 73 69 7a 6d 73 67 09 64 62 09 31 33 2c 31 30 2c 27 45 72 72 6f 72 20 2d 20 49 6e 74 .memsizmsg.db.13,10,'Error.-.Int
ee40 65 72 72 75 70 74 20 31 32 27 2c 31 33 2c 31 30 2c 30 0d 0a 6d 65 6d 73 69 7a 69 6e 74 09 64 64 errupt.12',13,10,0..memsizint.dd
ee60 09 30 0d 0a 0d 0a 6d 65 6d 73 69 7a 68 61 6e 64 6c 65 72 09 70 72 6f 63 09 66 61 72 0d 0a 09 70 .0....memsizhandler.proc.far...p
ee80 75 73 68 09 61 78 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 73 69 0d 0a 09 70 75 73 ush.ax...push.bx...push.si...pus
eea0 68 09 64 73 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 6d 6f 76 09 53 49 h.ds...push.cs...pop.ds...mov.SI
eec0 2c 6f 66 66 73 65 74 20 43 53 3a 6d 65 6d 73 69 7a 6d 73 67 0d 0a 09 63 61 6c 6c 09 57 52 4d 53 ,offset.CS:memsizmsg...call.WRMS
eee0 47 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 70 6f 70 09 73 69 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 G...pop.ds...pop.si...pop.bx...p
ef00 6f 70 09 61 78 0d 0a 09 6a 6d 70 09 6d 65 6d 73 69 7a 69 6e 74 0d 0a 6d 65 6d 73 69 7a 68 61 6e op.ax...jmp.memsizint..memsizhan
ef20 64 6c 65 72 09 65 6e 64 70 0d 0a 3b 2b 2b 2b 2b 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d dler.endp..;++++....;-----------
ef40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
ef60 2d 2d 01 2d 0d 0a 3b 09 57 52 49 54 45 20 4f 55 54 20 4d 45 53 53 41 47 45 20 50 4f 49 4e 54 45 --.-..;.WRITE.OUT.MESSAGE.POINTE
ef80 44 20 54 4f 20 42 59 20 5b 53 49 5d 0d 0a 3b 0d 0a 57 52 4d 53 47 3a 09 4c 4f 44 53 42 09 09 09 D.TO.BY.[SI]..;..WRMSG:.LODSB...
efa0 3b 47 45 54 20 54 48 45 20 4e 45 58 54 20 43 48 41 52 41 43 54 45 52 20 4f 46 20 54 48 45 20 4d ;GET.THE.NEXT.CHARACTER.OF.THE.M
efc0 45 53 53 41 47 45 0d 0a 09 41 4e 44 09 41 4c 2c 37 46 48 09 09 3b 53 45 45 20 49 46 20 45 4e 44 ESSAGE...AND.AL,7FH..;SEE.IF.END
efe0 20 4f 46 20 4d 45 53 53 41 47 45 0d 0a 09 4a 5a 09 57 52 4d 52 45 54 0d 0a 09 4d 4f 56 09 42 58 .OF.MESSAGE...JZ.WRMRET...MOV.BX
f000 2c 37 0d 0a 09 4d 4f 56 09 41 48 2c 31 34 09 09 3b 57 52 49 54 45 20 43 48 41 52 41 43 54 45 52 ,7...MOV.AH,14..;WRITE.CHARACTER
f020 0d 0a 09 49 4e 54 09 31 30 48 09 09 3b 53 45 4e 44 20 54 48 45 20 43 48 41 52 41 43 54 45 52 0d ...INT.10H..;SEND.THE.CHARACTER.
f040 0a 09 4a 4d 50 09 53 48 4f 52 54 20 57 52 4d 53 47 0d 0a 57 52 4d 52 45 54 3a 20 52 45 54 0d 0a ..JMP.SHORT.WRMSG..WRMRET:.RET..
f060 0d 0a 2e 78 6c 69 73 74 0d 0a 09 49 4e 43 4c 55 44 45 20 42 55 47 43 4f 44 45 2e 49 4e 43 0d 0a ...xlist...INCLUDE.BUGCODE.INC..
f080 2e 6c 69 73 74 0d 0a 0d 0a 43 6f 64 65 09 45 4e 44 53 0d 0a 0d 0a 53 55 42 54 54 4c 09 44 69 73 .list....Code.ENDS....SUBTTL.Dis
f0a0 6b 65 74 74 65 20 64 72 69 76 65 72 20 2d 2d 20 6e 6f 77 20 75 73 65 64 20 6f 6e 6c 79 20 66 6f kette.driver.--.now.used.only.fo
f0c0 72 20 62 6f 6f 74 75 70 0d 0a 0c 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d r.bootup...;--------------------
f0e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
f100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 44 49 53 4b 20 49 4e 54 45 52 46 41 -------------..;..;.DISK.INTERFA
f120 43 45 20 52 4f 55 54 49 4e 45 53 0d 0a 3b 0d 0a 42 69 6f 73 49 6e 69 74 09 53 45 47 4d 45 4e 54 CE.ROUTINES..;..BiosInit.SEGMENT
f140 20 50 41 52 41 20 50 55 42 4c 49 43 09 27 43 4f 44 45 27 0d 0a 0d 0a 44 52 56 4d 41 58 09 44 42 .PARA.PUBLIC.'CODE'....DRVMAX.DB
f160 09 20 20 01 34 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 43 53 3a 42 69 6f 73 53 65 67 0d 0a ....4........ASSUME.CS:BiosSeg..
f180 0d 0a 4d 41 58 45 52 52 09 3d 09 35 0d 0a 4c 53 54 44 52 56 09 3d 09 35 30 34 48 0d 0a 0d 0a 57 ..MAXERR.=.5..LSTDRV.=.504H....W
f1a0 52 54 56 45 52 49 46 59 20 4c 41 42 45 4c 20 57 4f 52 44 0d 0a 52 46 4c 41 47 09 44 42 09 32 09 RTVERIFY.LABEL.WORD..RFLAG.DB.2.
f1c0 3b 32 20 66 6f 72 20 72 65 61 64 2c 20 33 20 66 6f 72 20 77 72 69 74 65 0d 0a 56 45 52 49 46 59 ;2.for.read,.3.for.write..VERIFY
f1e0 09 44 42 09 30 09 3b 31 20 69 66 20 76 65 72 69 66 79 20 61 66 74 65 72 20 77 72 69 74 65 0d 0a .DB.0.;1.if.verify.after.write..
f200 53 49 4e 47 4c 45 09 44 42 09 30 09 3b 31 20 69 66 20 73 69 6e 67 6c 65 20 64 72 69 76 65 20 73 SINGLE.DB.0.;1.if.single.drive.s
f220 79 73 74 65 6d 0d 0a 53 57 50 46 4c 47 09 44 42 09 30 09 3b 31 20 69 66 20 42 49 4f 53 20 73 77 ystem..SWPFLG.DB.0.;1.if.BIOS.sw
f240 61 70 70 65 64 20 6f 75 74 0d 0a 53 45 43 43 4e 54 09 44 57 09 30 0d 0a 48 41 52 44 4e 55 4d 20 apped.out..SECCNT.DW.0..HARDNUM.
f260 44 42 09 39 39 09 3b 6c 6f 67 69 63 61 6c 20 64 72 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 66 DB.99.;logical.drive.number.of.f
f280 69 72 73 74 20 68 61 72 64 66 69 6c 65 0d 0a 0d 0a 52 45 53 53 45 43 09 3d 09 33 0d 0a 44 52 56 irst.hardfile....RESSEC.=.3..DRV
f2a0 4c 49 4d 09 3d 09 38 09 3b 4e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 6f 6e 20 64 65 LIM.=.8.;Number.of.sectors.on.de
f2c0 76 69 63 65 0d 0a 53 45 43 4c 49 4d 09 3d 09 31 33 09 3b 4d 41 58 49 4d 55 4d 20 53 45 43 54 4f vice..SECLIM.=.13.;MAXIMUM.SECTO
f2e0 52 0d 0a 48 44 4c 49 4d 09 3d 09 31 35 09 3b 4d 41 58 49 4d 55 4d 20 48 45 41 44 0d 0a 48 49 44 R..HDLIM.=.15.;MAXIMUM.HEAD..HID
f300 53 45 43 09 3d 09 31 37 09 3b 4e 55 4d 42 45 52 20 4f 46 20 48 49 44 44 45 4e 20 53 45 43 54 4f SEC.=.17.;NUMBER.OF.HIDDEN.SECTO
f320 52 53 0d 0a 0d 0a 3b 57 41 52 4e 49 4e 47 20 2d 20 70 72 65 73 65 72 76 65 20 6f 72 64 65 72 20 RS....;WARNING.-.preserve.order.
f340 6f 66 20 64 72 69 76 65 20 61 6e 64 20 63 75 72 68 64 21 20 2d 63 2e 70 2e 0d 0a 0d 0a 44 52 49 of.drive.and.curhd!.-c.p.....DRI
f360 56 45 09 44 01 42 09 30 09 3b 50 48 59 53 49 43 41 4c 20 44 52 49 56 45 20 43 4f 44 45 0d 0a 43 VE.D.B.0.;PHYSICAL.DRIVE.CODE..C
f380 55 52 48 44 09 44 42 09 30 09 3b 43 55 52 52 45 4e 54 20 48 45 41 44 0d 0a 43 55 52 53 45 43 09 URHD.DB.0.;CURRENT.HEAD..CURSEC.
f3a0 44 42 09 30 09 3b 43 55 52 52 45 4e 54 20 53 45 43 54 4f 52 0d 0a 43 55 52 54 52 4b 09 44 57 09 DB.0.;CURRENT.SECTOR..CURTRK.DW.
f3c0 30 09 3b 43 55 52 52 45 4e 54 20 54 52 41 43 4b 0d 0a 0d 0a 0d 0a 45 52 52 49 4e 3a 09 3b 44 49 0.;CURRENT.TRACK......ERRIN:.;DI
f3e0 53 4b 20 45 52 52 4f 52 53 20 52 45 54 55 52 4e 45 44 20 46 52 4f 4d 20 54 48 45 20 49 42 4d 20 SK.ERRORS.RETURNED.FROM.THE.IBM.
f400 52 4f 4d 0d 0a 09 44 42 09 38 30 48 09 09 3b 4e 4f 20 52 45 53 50 4f 4e 53 45 0d 0a 09 44 42 09 ROM...DB.80H..;NO.RESPONSE...DB.
f420 34 30 48 09 09 3b 53 65 65 6b 20 66 61 69 6c 75 72 65 0d 0a 09 44 42 09 31 30 48 09 09 3b 42 41 40H..;Seek.failure...DB.10H..;BA
f440 44 20 43 52 43 0d 0a 09 44 42 09 38 09 09 3b 44 4d 41 20 4f 56 45 52 52 55 4e 0d 0a 09 44 42 09 D.CRC...DB.8..;DMA.OVERRUN...DB.
f460 34 09 09 3b 53 45 43 54 4f 52 20 4e 4f 54 20 46 4f 55 4e 44 0d 0a 09 44 42 09 33 09 09 3b 57 52 4..;SECTOR.NOT.FOUND...DB.3..;WR
f480 49 54 45 20 41 54 54 45 4d 50 54 20 54 4f 20 57 52 49 54 45 2d 50 52 4f 54 45 43 54 20 44 49 53 ITE.ATTEMPT.TO.WRITE-PROTECT.DIS
f4a0 4b 0d 0a 4c 53 54 45 52 52 09 44 42 09 30 09 09 3b 41 4c 4c 20 4f 54 48 45 52 20 45 52 52 4f 52 K..LSTERR.DB.0..;ALL.OTHER.ERROR
f4c0 53 0d 0a 0d 0a 0d 0a 45 52 52 4f 55 54 3a 20 3b 52 45 54 55 52 4e 45 44 20 45 52 52 4f 52 20 43 S......ERROUT:.;RETURNED.ERROR.C
f4e0 4f 44 45 53 20 43 4f 52 52 45 53 50 4f 4e 44 49 4e 47 20 54 4f 20 41 42 4f 56 45 0d 0a 09 44 42 ODES.CORRESPONDING.TO.ABOVE...DB
f500 09 32 09 09 3b 4e 4f 20 52 45 53 50 4f 4e 53 45 0d 0a 09 44 42 09 36 09 09 3b 53 45 45 4b 20 46 .2..;NO.RESPONSE...DB.6..;SEEK.F
f520 41 49 4c 55 52 45 0d 0a 09 44 42 09 34 09 09 3b 42 41 44 20 43 52 43 0d 0a 09 44 42 09 34 09 09 AILURE...DB.4..;BAD.CRC...DB.4..
f540 3b 44 4d 41 20 4f 56 45 52 52 55 4e 0d 0a 09 44 42 09 38 09 09 3b 53 45 43 54 4f 52 20 4e 4f 54 ;DMA.OVERRUN...DB.8..;SECTOR.NOT
f560 20 46 4f 55 4e 01 44 0d 0a 09 44 42 09 30 09 09 3b 57 52 49 54 45 20 41 54 54 45 4d 50 54 20 4f .FOUN.D...DB.0..;WRITE.ATTEMPT.O
f580 4e 20 57 52 49 54 45 2d 50 52 4f 54 45 43 54 20 44 49 53 4b 0d 0a 09 44 42 09 31 32 09 09 3b 47 N.WRITE-PROTECT.DISK...DB.12..;G
f5a0 45 4e 45 52 41 4c 20 45 52 52 4f 52 0d 0a 0d 0a 4e 55 4d 45 52 52 3d 20 45 52 52 4f 55 54 2d 45 ENERAL.ERROR....NUMERR=.ERROUT-E
f5c0 52 52 49 4e 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d RRIN..;-------------------------
f5e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
f600 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 53 50 53 41 56 09 44 57 09 30 09 3b 53 41 56 45 20 54 ------------..SPSAV.DW.0.;SAVE.T
f620 48 45 20 53 54 41 43 4b 20 50 4f 49 4e 54 45 52 0d 0a 3b 0d 0a 0d 0a 47 45 54 42 50 3a 09 50 55 HE.STACK.POINTER..;....GETBP:.PU
f640 53 48 09 41 58 0d 0a 09 50 55 53 48 09 43 58 0d 0a 09 50 55 53 48 09 44 58 0d 0a 09 50 55 53 48 SH.AX...PUSH.CX...PUSH.DX...PUSH
f660 09 42 58 0d 0a 09 4d 4f 56 09 43 4c 2c 41 48 09 09 3b 53 41 56 45 20 4d 45 44 49 41 0d 0a 09 41 .BX...MOV.CL,AH..;SAVE.MEDIA...A
f680 4e 44 09 43 4c 2c 30 46 38 48 09 09 3b 4e 4f 52 4d 41 4c 49 5a 45 0d 0a 09 43 4d 50 09 43 4c 2c ND.CL,0F8H..;NORMALIZE...CMP.CL,
f6a0 30 46 38 48 09 09 3b 43 4f 4d 50 41 52 45 20 57 49 54 48 20 47 4f 4f 44 20 4d 45 44 49 41 20 42 0F8H..;COMPARE.WITH.GOOD.MEDIA.B
f6c0 59 54 45 0d 0a 09 4a 5a 09 47 4f 4f 44 49 44 0d 0a 09 4d 4f 56 09 41 48 2c 30 46 45 48 09 09 3b YTE...JZ.GOODID...MOV.AH,0FEH..;
f6e0 44 45 46 41 55 4c 54 20 54 4f 20 38 2d 53 45 43 54 4f 52 2c 20 53 49 4e 47 4c 45 2d 53 49 44 45 DEFAULT.TO.8-SECTOR,.SINGLE-SIDE
f700 44 0d 0a 47 4f 4f 44 49 44 3a 20 4d 4f 56 09 44 49 2c 4f 46 46 53 45 54 20 43 53 3a 48 44 52 49 D..GOODID:.MOV.DI,OFFSET.CS:HDRI
f720 56 45 0d 0a 09 43 4d 50 09 41 4c 2c 5b 48 41 52 44 4e 55 4d 5d 0d 0a 09 4a 5a 09 47 45 54 52 45 VE...CMP.AL,[HARDNUM]...JZ.GETRE
f740 54 0d 0a 09 4a 42 09 47 45 54 42 50 31 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 45 54 20 43 53 T...JB.GETBP1...MOV.DI,OFFSET.CS
f760 3a 44 52 49 56 45 01 58 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 47 45 54 52 45 54 0d 0a 0d 0a 47 :DRIVE.X...JMP.SHORT.GETRET....G
f780 45 54 42 50 31 3a 20 4d 4f 56 09 41 4c 2c 31 09 09 3b 53 45 54 20 4e 55 4d 42 45 52 20 4f 46 20 ETBP1:.MOV.AL,1..;SET.NUMBER.OF.
f7a0 46 41 54 20 53 45 43 54 4f 52 53 0d 0a 09 4d 4f 56 09 42 58 2c 36 34 2a 32 35 36 2b 38 09 3b 53 FAT.SECTORS...MOV.BX,64*256+8.;S
f7c0 45 54 20 44 49 52 20 45 4e 54 52 49 45 53 20 41 4e 44 20 53 45 43 54 4f 52 20 4d 41 58 0d 0a 09 ET.DIR.ENTRIES.AND.SECTOR.MAX...
f7e0 4d 4f 56 09 43 58 2c 34 30 2a 38 09 09 3b 53 45 54 20 53 49 5a 45 20 4f 46 20 44 52 49 56 45 0d MOV.CX,40*8..;SET.SIZE.OF.DRIVE.
f800 0a 09 4d 4f 56 09 44 58 2c 30 31 2a 32 35 36 2b 31 09 3b 53 45 54 20 48 45 41 44 20 4c 49 4d 49 ..MOV.DX,01*256+1.;SET.HEAD.LIMI
f820 54 20 41 4e 44 20 53 45 43 2f 41 4c 4c 20 55 4e 49 54 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 T.AND.SEC/ALL.UNIT...MOV.DI,OFFS
f840 45 54 20 43 53 3a 46 44 52 49 56 45 0d 0a 09 54 45 53 54 09 41 48 2c 30 30 30 30 30 30 31 30 42 ET.CS:FDRIVE...TEST.AH,00000010B
f860 09 3b 54 45 53 54 20 46 4f 52 20 38 20 4f 52 20 39 20 53 45 43 54 4f 52 0d 0a 09 4a 4e 5a 09 48 .;TEST.FOR.8.OR.9.SECTOR...JNZ.H
f880 41 53 38 09 09 3b 4e 5a 20 3d 20 48 41 53 20 38 20 53 45 43 54 4f 52 53 0d 0a 09 49 4e 43 09 41 AS8..;NZ.=.HAS.8.SECTORS...INC.A
f8a0 4c 09 09 3b 49 4e 43 20 4e 55 4d 42 45 52 20 4f 46 20 46 41 54 20 53 45 43 54 4f 52 53 0d 0a 09 L..;INC.NUMBER.OF.FAT.SECTORS...
f8c0 49 4e 43 09 42 4c 09 09 3b 49 4e 43 20 53 45 43 54 4f 52 20 4d 41 58 0d 0a 09 41 44 44 09 43 58 INC.BL..;INC.SECTOR.MAX...ADD.CX
f8e0 2c 34 30 09 09 3b 49 4e 43 52 45 41 53 45 20 53 49 5a 45 0d 0a 48 41 53 38 3a 09 54 45 53 54 09 ,40..;INCREASE.SIZE..HAS8:.TEST.
f900 41 48 2c 30 30 30 30 30 30 30 31 42 09 3b 54 45 53 54 20 46 4f 52 20 31 20 4f 52 20 32 20 48 45 AH,00000001B.;TEST.FOR.1.OR.2.HE
f920 41 44 53 0d 0a 09 4a 5a 09 48 41 53 31 09 09 3b 5a 20 3d 20 31 20 48 45 41 44 0d 0a 09 41 44 44 ADS...JZ.HAS1..;Z.=.1.HEAD...ADD
f940 09 43 58 2c 43 58 09 09 3b 44 4f 55 42 4c 45 20 53 49 5a 45 20 4f 46 20 44 49 53 4b 0d 0a 09 4d .CX,CX..;DOUBLE.SIZE.OF.DISK...M
f960 4f 56 09 42 48 2c 31 01 31 32 09 09 3b 49 4e 43 52 45 41 53 45 20 4e 55 4d 42 45 52 20 4f 46 20 OV.BH,1.12..;INCREASE.NUMBER.OF.
f980 44 49 52 45 43 54 4f 52 59 20 45 4e 54 52 49 45 53 0d 0a 09 49 4e 43 09 44 48 09 09 3b 49 4e 43 DIRECTORY.ENTRIES...INC.DH..;INC
f9a0 20 53 45 43 2f 41 4c 4c 20 55 4e 49 54 0d 0a 09 49 4e 43 09 44 4c 09 09 3b 49 4e 43 20 48 45 41 .SEC/ALL.UNIT...INC.DL..;INC.HEA
f9c0 44 20 4c 49 4d 49 54 0d 0a 48 41 53 31 3a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d 2e 32 2c 44 48 0d D.LIMIT..HAS1:.MOV.CS:[DI].2,DH.
f9e0 0a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d 2e 36 2c 42 48 0d 0a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d ..MOV.CS:[DI].6,BH...MOV.CS:[DI]
fa00 2e 38 2c 43 58 0d 0a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d 2e 31 30 2c 41 48 0d 0a 09 4d 4f 56 09 .8,CX...MOV.CS:[DI].10,AH...MOV.
fa20 43 53 3a 5b 44 49 5d 2e 31 31 2c 41 4c 0d 0a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d 2e 31 33 2c 42 CS:[DI].11,AL...MOV.CS:[DI].13,B
fa40 4c 0d 0a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d 2e 31 35 2c 44 4c 0d 0a 47 45 54 52 45 54 3a 20 50 L...MOV.CS:[DI].15,DL..GETRET:.P
fa60 4f 50 09 42 58 0d 0a 52 45 54 38 38 3a 09 50 4f 50 09 44 58 0d 0a 09 50 4f 50 09 43 58 0d 0a 09 OP.BX..RET88:.POP.DX...POP.CX...
fa80 50 4f 50 09 41 58 0d 0a 09 52 45 54 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a POP.AX...RET....;***************
faa0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
fac0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 09 22 46 44 52 49 56 **********************..;."FDRIV
fae0 45 22 20 49 53 20 41 20 46 4c 4f 50 50 59 20 44 49 53 4b 2c 20 56 41 52 49 4f 55 53 20 50 41 52 E".IS.A.FLOPPY.DISK,.VARIOUS.PAR
fb00 41 4d 45 54 45 52 53 20 41 52 45 20 50 41 54 43 48 45 44 0d 0a 3b 09 42 59 20 47 45 54 42 50 20 AMETERS.ARE.PATCHED..;.BY.GETBP.
fb20 54 4f 20 52 45 46 4c 45 43 54 20 54 48 45 20 54 59 50 45 20 4f 46 20 4d 45 44 49 41 20 49 4e 53 TO.REFLECT.THE.TYPE.OF.MEDIA.INS
fb40 45 52 54 45 44 0d 0a 46 44 52 49 56 45 3a 0d 0a 09 44 57 09 35 31 32 09 09 3b 50 68 79 73 69 63 ERTED..FDRIVE:...DW.512..;Physic
fb60 61 6c 20 73 65 63 74 6f 01 72 20 73 69 7a 65 20 69 6e 20 62 79 74 65 73 0d 0a 09 44 42 09 31 09 al.secto.r.size.in.bytes...DB.1.
fb80 09 3b 53 65 63 74 6f 72 73 2f 61 6c 6c 6f 63 61 74 69 6f 6e 20 75 6e 69 74 0d 0a 09 44 57 09 31 .;Sectors/allocation.unit...DW.1
fba0 09 09 3b 52 65 73 65 72 76 65 64 20 73 65 63 74 6f 72 73 20 66 6f 72 20 44 4f 53 0d 0a 09 44 42 ..;Reserved.sectors.for.DOS...DB
fbc0 09 32 09 09 3b 4e 6f 2e 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 74 61 62 6c 65 73 0d 0a 09 44 57 09 .2..;No..allocation.tables...DW.
fbe0 36 34 09 09 3b 4e 75 6d 62 65 72 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 0d 0a 09 64..;Number.directory.entries...
fc00 44 57 09 39 2a 34 30 09 09 3b 4e 75 6d 62 65 72 20 73 65 63 74 6f 72 73 20 28 61 74 20 35 31 32 DW.9*40..;Number.sectors.(at.512
fc20 20 62 79 74 65 73 20 65 61 2e 29 0d 0a 09 44 42 09 31 31 31 31 31 31 30 30 42 09 3b 4d 65 64 69 .bytes.ea.)...DB.11111100B.;Medi
fc40 61 20 64 65 73 63 72 69 70 74 6f 72 0d 0a 09 44 57 09 32 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 a.descriptor...DW.2..;Number.of.
fc60 46 41 54 20 73 65 63 74 6f 72 73 0d 0a 09 44 57 09 39 09 09 3b 53 65 63 74 6f 72 20 6c 69 6d 69 FAT.sectors...DW.9..;Sector.limi
fc80 74 0d 0a 09 44 57 09 31 09 09 3b 48 65 61 64 20 6c 69 6d 69 74 0d 0a 09 44 57 09 30 09 09 3b 48 t...DW.1..;Head.limit...DW.0..;H
fca0 69 64 64 65 6e 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d idden.sector.count....;---------
fcc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
fce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 44 49 53 4b 20 49 -------------------..;..;.DISK.I
fd00 2f 4f 20 48 41 4e 44 4c 45 52 0d 0a 3b 0d 0a 3b 09 41 4c 20 3d 20 44 52 49 56 45 20 4e 55 4d 42 /O.HANDLER..;..;.AL.=.DRIVE.NUMB
fd20 45 52 20 28 30 2d 33 29 0d 0a 3b 09 41 48 20 3d 20 4d 45 44 49 41 20 44 45 53 43 52 49 50 54 4f ER.(0-3)..;.AH.=.MEDIA.DESCRIPTO
fd40 52 0d 0a 3b 09 43 58 20 3d 20 53 45 43 54 4f 52 20 43 4f 55 4e 54 0d 0a 3b 09 44 58 20 3d 20 46 R..;.CX.=.SECTOR.COUNT..;.DX.=.F
fd60 49 52 53 54 20 53 45 43 54 05 07 00 09 02 01 02 03 04 05 06 07 08 09 01 4f 52 0d 0a 3b 09 45 53 IRST.SECT...............OR..;.ES
fd80 3a 44 49 20 3d 20 54 52 41 4e 53 46 45 52 20 41 44 44 52 45 53 53 0d 0a 3b 09 5b 52 46 4c 41 47 :DI.=.TRANSFER.ADDRESS..;.[RFLAG
fda0 5d 3d 4f 50 45 52 41 54 49 4f 4e 20 28 32 3d 52 45 41 44 2c 20 33 3d 57 52 49 54 45 29 0d 0a 3b ]=OPERATION.(2=READ,.3=WRITE)..;
fdc0 09 5b 56 45 52 49 46 59 5d 3d 31 20 46 4f 52 20 56 45 52 49 46 59 20 41 46 54 45 52 20 57 52 49 .[VERIFY]=1.FOR.VERIFY.AFTER.WRI
fde0 54 45 0d 0a 3b 0d 0a 3b 09 49 46 20 53 55 43 43 45 53 53 46 55 4c 20 43 41 52 52 59 20 46 4c 41 TE..;..;.IF.SUCCESSFUL.CARRY.FLA
fe00 47 20 3d 20 30 0d 0a 3b 09 20 20 45 4c 53 45 20 43 46 3d 31 20 41 4e 44 20 41 4c 20 43 4f 4e 54 G.=.0..;...ELSE.CF=1.AND.AL.CONT
fe20 41 49 4e 53 20 45 52 52 4f 52 20 43 4f 44 45 0d 0a 3b 0d 0a 44 49 53 4b 52 44 3a 0d 0a 09 64 65 AINS.ERROR.CODE..;..DISKRD:...de
fe40 62 75 67 09 31 2c 34 2c 3c 44 49 53 4b 52 44 3a 20 24 78 20 24 78 20 24 78 20 24 78 3a 24 78 5c bug.1,4,<DISKRD:.$x.$x.$x.$x:$x\
fe60 6e 3e 2c 3c 61 78 2c 63 78 2c 64 78 2c 65 73 2c 64 69 3e 0d 0a 09 4d 4f 56 09 5b 52 46 4c 41 47 n>,<ax,cx,dx,es,di>...MOV.[RFLAG
fe80 5d 2c 32 0d 0a 44 49 53 4b 49 4f 3a 0d 0a 09 43 4c 43 0d 0a 09 4a 43 58 5a 09 49 4f 52 45 54 0d ],2..DISKIO:...CLC...JCXZ.IORET.
fea0 0a 09 4d 4f 56 09 5b 54 49 4d 5f 44 52 56 5d 2c 41 4c 09 09 3b 53 41 56 45 20 44 52 49 56 45 20 ..MOV.[TIM_DRV],AL..;SAVE.DRIVE.
fec0 4c 45 54 54 45 52 0d 0a 0d 0a 09 4d 4f 56 09 5b 53 50 53 41 56 5d 2c 53 50 09 09 3b 53 41 56 45 LETTER.....MOV.[SPSAV],SP..;SAVE
fee0 20 53 50 0d 0a 09 58 43 48 47 09 42 58 2c 44 49 09 09 09 3b 45 53 3a 42 58 20 3d 20 54 52 41 4e .SP...XCHG.BX,DI...;ES:BX.=.TRAN
ff00 53 46 45 52 20 41 44 44 52 45 53 53 0d 0a 09 43 41 4c 4c 09 47 45 54 42 50 09 09 09 3b 43 53 3a SFER.ADDRESS...CALL.GETBP...;CS:
ff20 44 49 20 3d 20 50 54 52 20 54 4f 20 42 2e 50 2e 42 0d 0a 09 4d 4f 56 09 53 49 2c 44 58 0d 0a 09 DI.=.PTR.TO.B.P.B...MOV.SI,DX...
ff40 41 44 44 09 53 49 2c 43 58 0d 0a 09 41 44 44 09 44 58 2c 43 53 3a 5b 44 49 5d 2e 48 49 44 53 45 ADD.SI,CX...ADD.DX,CS:[DI].HIDSE
ff60 43 09 3b 41 44 44 20 49 4e 20 54 48 45 20 48 49 44 44 45 4e 20 53 45 43 01 54 4f 52 53 0d 0a 09 C.;ADD.IN.THE.HIDDEN.SEC.TORS...
ff80 43 4d 50 09 53 49 2c 43 53 3a 5b 44 49 5d 2e 44 52 56 4c 49 4d 09 3b 43 4f 4d 50 41 52 45 20 41 CMP.SI,CS:[DI].DRVLIM.;COMPARE.A
ffa0 47 41 49 4e 53 54 20 44 52 49 56 45 20 4d 41 58 0d 0a 09 4a 42 45 09 49 4e 52 41 4e 47 45 0d 0a GAINST.DRIVE.MAX...JBE.INRANGE..
ffc0 09 4d 4f 56 09 41 4c 2c 38 0d 0a 53 54 43 52 45 54 3a 20 53 54 43 0d 0a 49 4f 52 45 54 3a 09 52 .MOV.AL,8..STCRET:.STC..IORET:.R
ffe0 45 54 0d 0a 0d 0a 49 4e 52 41 4e 47 45 3a 43 4d 50 09 41 4c 2c 5b 48 41 52 44 4e 55 4d 5d 0d 0a ET....INRANGE:CMP.AL,[HARDNUM]..
10000 09 4a 42 09 4e 4f 54 48 41 52 44 0d 0a 09 4d 4f 56 09 41 4c 2c 43 53 3a 5b 48 41 52 44 44 52 56 .JB.NOTHARD...MOV.AL,CS:[HARDDRV
10020 5d 20 3b 53 45 54 20 44 52 49 56 45 20 4e 55 4d 42 45 52 20 4f 46 20 48 41 52 44 46 49 4c 45 0d ].;SET.DRIVE.NUMBER.OF.HARDFILE.
10040 0a 09 4a 5a 09 52 44 57 52 0d 0a 09 49 4e 43 09 41 4c 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 52 ..JZ.RDWR...INC.AL...JMP.SHORT.R
10060 44 57 52 0d 0a 0d 0a 4e 4f 54 48 41 52 44 3a 43 4d 50 09 5b 53 49 4e 47 4c 45 5d 2c 31 09 3b 53 DWR....NOTHARD:CMP.[SINGLE],1.;S
10080 49 4e 47 4c 45 20 46 4c 4f 50 50 59 20 49 4e 53 54 41 4c 4c 45 44 3f 0d 0a 09 4a 4e 5a 09 52 44 INGLE.FLOPPY.INSTALLED?...JNZ.RD
100a0 57 52 0d 0a 09 43 41 4c 4c 09 53 57 50 44 53 4b 09 09 3b 41 53 4b 20 55 53 45 52 20 46 4f 52 20 WR...CALL.SWPDSK..;ASK.USER.FOR.
100c0 43 4f 52 52 45 43 54 20 44 49 53 4b 0d 0a 52 44 57 52 3a 0d 0a 09 4d 4f 56 09 5b 44 52 49 56 45 CORRECT.DISK..RDWR:...MOV.[DRIVE
100e0 5d 2c 41 4c 0d 0a 09 4d 4f 56 09 5b 53 45 43 43 4e 54 5d 2c 43 58 09 3b 53 41 56 45 20 53 45 43 ],AL...MOV.[SECCNT],CX.;SAVE.SEC
10100 54 4f 52 20 43 4f 55 4e 54 0d 0a 09 58 43 48 47 09 41 58 2c 44 58 09 09 3b 53 45 54 55 50 20 4c TOR.COUNT...XCHG.AX,DX..;SETUP.L
10120 4f 47 49 43 41 4c 20 53 45 43 54 4f 52 20 46 4f 52 20 44 49 56 49 44 45 0d 0a 09 58 4f 52 09 44 OGICAL.SECTOR.FOR.DIVIDE...XOR.D
10140 58 2c 44 58 0d 0a 09 44 49 56 09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 44 49 5d 2e 53 45 43 4c X,DX...DIV.WORD.PTR.CS:[DI].SECL
10160 49 4d 20 3b 44 49 56 49 44 45 20 42 59 20 53 45 43 20 50 45 52 20 54 52 41 01 43 4b 0d 0a 09 49 IM.;DIVIDE.BY.SEC.PER.TRA.CK...I
10180 4e 43 09 44 4c 0d 0a 09 4d 4f 56 09 5b 43 55 52 53 45 43 5d 2c 44 4c 09 09 20 20 3b 53 41 56 45 NC.DL...MOV.[CURSEC],DL....;SAVE
101a0 20 43 55 52 52 45 4e 54 20 53 45 43 54 4f 52 0d 0a 09 4d 4f 56 09 43 58 2c 43 53 3a 5b 44 49 5d .CURRENT.SECTOR...MOV.CX,CS:[DI]
101c0 2e 48 44 4c 49 4d 09 3b 47 45 54 20 4e 55 4d 42 45 52 20 4f 46 20 48 45 41 44 53 0d 0a 09 58 4f .HDLIM.;GET.NUMBER.OF.HEADS...XO
101e0 52 09 44 58 2c 44 58 09 09 3b 44 49 56 49 44 45 20 54 52 41 43 4b 53 20 42 59 20 48 45 41 44 53 R.DX,DX..;DIVIDE.TRACKS.BY.HEADS
10200 20 50 45 52 20 43 59 4c 49 4e 44 45 52 0d 0a 09 44 49 56 09 43 58 0d 0a 09 4d 4f 56 09 5b 43 55 .PER.CYLINDER...DIV.CX...MOV.[CU
10220 52 48 44 5d 2c 44 4c 09 3b 53 41 56 45 20 43 55 52 52 45 4e 54 20 48 45 41 44 0d 0a 09 4d 4f 56 RHD],DL.;SAVE.CURRENT.HEAD...MOV
10240 09 5b 43 55 52 54 52 4b 5d 2c 41 58 09 3b 53 41 56 45 20 43 55 52 52 45 4e 54 20 54 52 41 43 4b .[CURTRK],AX.;SAVE.CURRENT.TRACK
10260 0d 0a 0d 0a 09 64 65 62 75 67 09 31 2c 34 2c 3c 20 44 72 76 20 24 62 20 20 48 64 20 24 62 20 20 .....debug.1,4,<.Drv.$b..Hd.$b..
10280 54 72 6b 20 24 78 20 20 53 65 63 20 24 62 5c 6e 3e 2c 3c 3c 77 6f 72 64 20 70 74 72 20 44 52 49 Trk.$x..Sec.$b\n>,<<word.ptr.DRI
102a0 56 45 3e 2c 3c 77 6f 72 64 20 70 74 72 20 43 55 52 48 44 3e 2c 43 55 52 54 52 4b 2c 3c 77 6f 72 VE>,<word.ptr.CURHD>,CURTRK,<wor
102c0 64 20 70 74 72 20 43 55 52 53 45 43 3e 3e 0d 0a 09 4d 4f 56 09 41 58 2c 5b 53 45 43 43 4e 54 5d d.ptr.CURSEC>>...MOV.AX,[SECCNT]
102e0 0d 0a 09 4d 4f 56 09 53 49 2c 45 53 09 09 3b 43 68 65 63 6b 20 66 6f 72 20 36 34 6b 20 62 6f 75 ...MOV.SI,ES..;Check.for.64k.bou
10300 6e 64 61 72 79 20 65 72 72 6f 72 0d 0a 09 53 48 4c 09 53 49 2c 31 0d 0a 09 53 48 4c 09 53 49 2c ndary.error...SHL.SI,1...SHL.SI,
10320 31 0d 0a 09 53 48 4c 09 53 49 2c 31 0d 0a 09 53 48 4c 09 53 49 2c 31 09 09 3b 53 65 67 6d 65 6e 1...SHL.SI,1...SHL.SI,1..;Segmen
10340 74 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 62 73 6f 6c 75 74 65 20 61 64 64 72 65 73 73 0d t.converted.to.absolute.address.
10360 0a 09 41 44 44 09 53 49 2c 42 58 09 09 3b 43 6f 6d 62 69 6e 65 20 77 69 74 68 01 20 6f 66 66 73 ..ADD.SI,BX..;Combine.with..offs
10380 65 74 0d 0a 09 41 44 44 09 53 49 2c 35 31 31 09 09 3b 41 64 64 20 73 65 63 74 6f 72 20 73 69 7a et...ADD.SI,511..;Add.sector.siz
103a0 65 20 61 6e 64 20 73 65 65 20 69 66 20 6f 76 65 72 66 6c 6f 77 0d 0a 09 4a 43 09 42 55 46 49 4f e.and.see.if.overflow...JC.BUFIO
103c0 09 09 3b 4d 75 73 74 20 68 61 6e 64 6c 65 20 73 70 65 63 69 61 6c 20 69 66 20 73 6f 0d 0a 0d 0a ..;Must.handle.special.if.so....
103e0 09 58 43 48 47 09 42 58 2c 53 49 0d 0a 09 53 48 52 09 42 48 2c 31 0d 0a 09 4d 4f 56 09 41 48 2c .XCHG.BX,SI...SHR.BH,1...MOV.AH,
10400 31 32 38 09 09 3b 4d 61 78 2e 20 73 65 63 74 6f 72 73 20 69 6e 20 36 34 4b 0d 0a 09 53 55 42 09 128..;Max..sectors.in.64K...SUB.
10420 41 48 2c 42 48 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 6c 65 66 74 20 69 AH,BH..;Number.of.sectors.left.i
10440 6e 20 74 68 69 73 20 36 34 4b 0d 0a 09 58 43 48 47 09 42 58 2c 53 49 0d 0a 0d 0a 09 43 4d 50 09 n.this.64K...XCHG.BX,SI.....CMP.
10460 41 48 2c 41 4c 09 09 3b 44 6f 65 73 20 69 74 20 65 78 63 65 65 64 20 74 6f 74 61 6c 20 72 65 71 AH,AL..;Does.it.exceed.total.req
10480 75 65 73 74 3f 0d 0a 09 4a 42 45 09 46 49 52 42 4c 4b 0d 0a 09 4d 4f 56 09 41 48 2c 41 4c 09 09 uest?...JBE.FIRBLK...MOV.AH,AL..
104a0 3b 49 66 20 73 6f 2c 20 6c 69 6d 69 74 20 74 72 61 6e 73 66 65 72 20 74 6f 20 74 68 65 20 72 65 ;If.so,.limit.transfer.to.the.re
104c0 71 75 65 73 74 0d 0a 46 49 52 42 4c 4b 3a 0d 0a 3b 41 74 20 74 68 69 73 20 70 6f 69 6e 74 2c 20 quest..FIRBLK:..;At.this.point,.
104e0 41 4c 3d 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 62 65 AL=total.number.of.sectors.to.be
10500 20 72 65 61 64 2c 20 41 48 3d 6e 75 6d 62 65 72 0d 0a 3b 20 20 6f 66 20 73 65 63 74 6f 72 73 20 .read,.AH=number..;..of.sectors.
10520 74 68 61 74 20 63 61 6e 20 62 65 20 72 65 61 64 20 62 65 66 6f 72 65 20 36 34 4b 20 62 6f 75 6e that.can.be.read.before.64K.boun
10540 64 61 72 79 20 65 72 72 6f 72 2e 20 41 48 3c 3d 41 4c 2e 0d 0a 3b 20 20 20 20 45 53 3a 42 58 20 dary.error..AH<=AL...;....ES:BX.
10560 70 6f 69 6e 74 73 20 74 6f 20 6c 6f 61 64 20 61 72 65 61 2c 20 44 53 3a 44 49 20 01 70 6f 69 6e points.to.load.area,.DS:DI..poin
10580 74 73 20 74 6f 20 42 2e 50 2e 42 0d 0a 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 4d 4f 56 09 41 4c ts.to.B.P.B.....PUSH.AX...MOV.AL
105a0 2c 41 48 09 09 3b 4e 6f 2e 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 61 64 20 61 74 20 ,AH..;No..of.sectors.to.read.at.
105c0 6f 6e 63 65 20 28 3c 3e 30 29 0d 0a 09 43 41 4c 4c 09 42 4c 4f 43 4b 09 09 3b 54 72 61 6e 73 66 once.(<>0)...CALL.BLOCK..;Transf
105e0 65 72 20 70 6f 72 74 69 6f 6e 20 62 65 66 6f 72 65 20 62 6f 75 6e 64 61 72 79 0d 0a 09 50 4f 50 er.portion.before.boundary...POP
10600 09 41 58 0d 0a 09 53 55 42 09 41 4c 2c 41 48 0d 0a 09 4a 5a 09 44 4f 4e 45 0d 0a 42 55 46 49 4f .AX...SUB.AL,AH...JZ.DONE..BUFIO
10620 3a 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 50 55 53 48 09 45 53 0d 0a 09 50 55 53 48 09 42 58 09 :...PUSH.AX...PUSH.ES...PUSH.BX.
10640 09 3b 53 41 56 45 20 43 55 52 52 45 4e 54 20 54 52 41 4e 53 46 45 52 20 41 44 44 52 45 53 53 0d .;SAVE.CURRENT.TRANSFER.ADDRESS.
10660 0a 09 43 41 4c 4c 09 53 57 41 50 09 09 3b 53 57 41 50 20 42 55 46 46 45 52 20 57 49 54 48 20 42 ..CALL.SWAP..;SWAP.BUFFER.WITH.B
10680 49 4f 53 20 43 4f 44 45 0d 0a 0d 0a 09 41 44 44 09 42 48 2c 32 09 09 3b 50 4f 49 4e 54 20 54 4f IOS.CODE.....ADD.BH,2..;POINT.TO
106a0 20 54 45 4d 50 20 42 55 46 46 45 52 0d 0a 09 43 41 4c 4c 09 44 49 53 4b 31 09 09 3b 50 65 72 66 .TEMP.BUFFER...CALL.DISK1..;Perf
106c0 6f 72 6d 20 64 69 73 6b 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 0d 0a 09 50 4f 50 09 42 58 09 09 3b orm.disk.operation.....POP.BX..;
106e0 52 45 43 41 4c 4c 20 54 52 41 4e 53 46 45 52 20 41 44 44 52 45 53 53 0d 0a 09 50 4f 50 09 45 53 RECALL.TRANSFER.ADDRESS...POP.ES
10700 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 43 41 4c 4c 09 53 57 41 50 09 09 3b 53 57 41 50 20 42 41 43 ...POP.AX...CALL.SWAP..;SWAP.BAC
10720 4b 0d 0a 0d 0a 09 44 45 43 09 41 4c 09 09 3b 44 65 63 20 73 65 63 74 6f 72 73 20 74 6f 20 72 65 K.....DEC.AL..;Dec.sectors.to.re
10740 61 64 20 62 79 20 31 0d 0a 09 41 44 44 09 42 48 2c 32 09 09 3b 41 64 64 20 32 30 30 48 20 74 6f ad.by.1...ADD.BH,2..;Add.200H.to
10760 20 74 72 61 6e 73 66 65 72 20 61 64 64 72 65 73 73 0d 0a 09 43 41 4c 4c 09 42 4c 4f 01 43 4b 09 .transfer.address...CALL.BLO.CK.
10780 09 3b 52 65 61 64 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 65 63 74 6f 72 73 0d 0a 44 4f .;Read.the.remaining.sectors..DO
107a0 4e 45 3a 0d 0a 09 64 65 62 75 67 09 31 2c 34 2c 3c 20 44 49 53 4b 49 4f 20 44 4f 4e 45 5c 6e 3e NE:...debug.1,4,<.DISKIO.DONE\n>
107c0 0d 0a 09 43 4c 43 09 09 09 3b 4e 6f 20 65 72 72 6f 72 0d 0a 09 52 45 54 09 09 09 3b 46 72 6f 6d ...CLC...;No.error...RET...;From
107e0 20 73 75 62 72 6f 75 74 69 6e 65 20 44 49 53 4b 49 4f 0d 0a 0d 0a 3b 09 53 77 61 70 20 35 31 32 .subroutine.DISKIO....;.Swap.512
10800 20 62 79 74 65 73 20 6f 66 20 42 49 4f 53 20 77 69 74 68 20 74 72 61 6e 73 66 65 72 20 61 64 64 .bytes.of.BIOS.with.transfer.add
10820 72 65 73 73 0d 0a 0d 0a 53 57 41 50 3a 09 50 55 53 48 09 44 49 0d 0a 09 50 55 53 48 09 42 58 0d ress....SWAP:.PUSH.DI...PUSH.BX.
10840 0a 09 50 55 53 48 09 41 58 0d 0a 09 4d 4f 56 09 44 49 2c 42 58 09 09 3b 45 53 3a 44 49 20 50 4f ..PUSH.AX...MOV.DI,BX..;ES:DI.PO
10860 49 4e 54 53 20 54 4f 20 55 53 45 52 20 42 55 46 46 45 52 0d 0a 09 41 44 44 09 42 48 2c 32 0d 0a INTS.TO.USER.BUFFER...ADD.BH,2..
10880 09 4d 4f 56 09 53 49 2c 42 58 09 09 3b 45 53 3a 53 49 20 50 4f 49 4e 54 53 20 54 4f 20 54 45 4d .MOV.SI,BX..;ES:SI.POINTS.TO.TEM
108a0 50 20 42 55 46 46 45 52 0d 0a 09 43 4c 44 0d 0a 09 64 65 62 75 67 09 31 2c 34 2c 3c 20 53 57 41 P.BUFFER...CLD...debug.1,4,<.SWA
108c0 50 20 24 78 3a 24 78 20 3c 3d 3d 3e 20 24 78 3a 24 78 5c 6e 3e 2c 3c 65 73 2c 64 69 2c 65 73 2c P.$x:$x.<==>.$x:$x\n>,<es,di,es,
108e0 73 69 3e 0d 0a 09 4d 4f 56 09 43 58 2c 32 35 36 09 09 09 3b 32 35 36 20 57 4f 52 44 53 20 54 4f si>...MOV.CX,256...;256.WORDS.TO
10900 20 53 57 41 50 0d 0a 53 57 41 50 31 3a 09 4d 4f 56 09 42 58 2c 57 4f 52 44 20 50 54 52 20 45 53 .SWAP..SWAP1:.MOV.BX,WORD.PTR.ES
10920 3a 5b 44 49 5d 09 3b 47 45 54 20 55 53 45 52 20 57 4f 52 44 0d 0a 09 4d 4f 56 09 41 58 2c 57 4f :[DI].;GET.USER.WORD...MOV.AX,WO
10940 52 44 20 50 54 52 20 45 53 3a 5b 53 49 5d 09 3b 47 45 54 20 53 43 52 41 54 43 48 20 57 4f 52 44 RD.PTR.ES:[SI].;GET.SCRATCH.WORD
10960 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 45 53 3a 5b 53 49 5d 2c 42 58 09 3b 50 01 55 54 ...MOV.WORD.PTR.ES:[SI],BX.;P.UT
10980 20 53 43 52 41 54 43 48 20 57 4f 52 44 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 50 55 54 20 42 49 .SCRATCH.WORD...STOSW....;PUT.BI
109a0 4f 53 20 57 4f 52 44 0d 0a 09 49 4e 43 09 53 49 0d 0a 09 49 4e 43 09 53 49 0d 0a 09 4c 4f 4f 50 OS.WORD...INC.SI...INC.SI...LOOP
109c0 09 53 57 41 50 31 0d 0a 09 58 4f 52 09 5b 53 57 50 46 4c 47 5d 2c 31 09 09 3b 54 4f 47 47 4c 45 .SWAP1...XOR.[SWPFLG],1..;TOGGLE
109e0 20 53 57 41 50 50 45 44 20 46 4c 41 47 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 50 4f 50 09 42 58 0d .SWAPPED.FLAG...POP.AX...POP.BX.
10a00 0a 09 50 4f 50 09 44 49 0d 0a 52 45 54 5a 3a 09 52 45 54 0d 0a 0d 0a 3b 52 65 61 64 20 74 68 65 ..POP.DI..RETZ:.RET....;Read.the
10a20 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 .number.of.sectors.specified.in.
10a40 41 4c 2c 20 68 61 6e 64 6c 69 6e 67 20 74 72 61 63 6b 20 62 6f 75 6e 64 61 72 69 65 73 0d 0a 0d AL,.handling.track.boundaries...
10a60 0a 42 4c 4f 43 4b 3a 09 4f 52 09 41 4c 2c 41 4c 09 09 3b 53 65 65 20 69 66 20 61 6e 79 20 73 65 .BLOCK:.OR.AL,AL..;See.if.any.se
10a80 63 74 6f 72 73 20 74 6f 20 72 65 61 64 0d 0a 09 4a 5a 09 52 45 54 5a 0d 0a 0d 0a 09 4d 4f 56 09 ctors.to.read...JZ.RETZ.....MOV.
10aa0 41 48 2c 43 53 3a 5b 44 49 5d 2e 53 45 43 4c 49 4d 09 3b 53 65 63 74 6f 72 73 20 70 65 72 20 74 AH,CS:[DI].SECLIM.;Sectors.per.t
10ac0 72 61 63 6b 0d 0a 09 49 4e 43 09 41 48 0d 0a 09 53 55 42 09 41 48 2c 5b 43 55 52 53 45 43 5d 09 rack...INC.AH...SUB.AH,[CURSEC].
10ae0 3b 4e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 6c 65 66 74 20 6f 6e 20 74 68 69 73 20 ;Number.of.sectors.left.on.this.
10b00 74 72 61 63 6b 0d 0a 09 43 4d 50 09 41 48 2c 41 4c 09 09 3b 43 6f 6d 70 61 72 65 20 77 69 74 68 track...CMP.AH,AL..;Compare.with
10b20 20 6e 6f 2e 20 6f 66 20 73 65 63 74 6f 72 73 20 6e 65 65 64 65 64 0d 0a 09 4a 42 45 09 44 4f 49 .no..of.sectors.needed...JBE.DOI
10b40 4f 0d 0a 09 4d 4f 56 09 41 48 2c 41 4c 09 09 3b 4c 69 6d 69 74 20 74 6f 20 6f 6e 6c 79 20 74 68 O...MOV.AH,AL..;Limit.to.only.th
10b60 6f 73 65 20 72 65 71 75 65 73 74 65 64 0d 0a 44 4f 49 4f 3a 0d 0a 09 50 55 53 48 09 41 58 01 0d ose.requested..DOIO:...PUSH.AX..
10b80 0a 09 4d 4f 56 09 41 4c 2c 41 48 09 09 3b 50 75 74 20 63 6f 75 6e 74 20 77 68 65 72 65 20 52 4f ..MOV.AL,AH..;Put.count.where.RO
10ba0 4d 20 6e 65 65 64 73 20 69 74 0d 0a 09 43 41 4c 4c 09 44 49 53 4b 09 09 3b 43 61 6c 6c 20 52 4f M.needs.it...CALL.DISK..;Call.RO
10bc0 4d 20 61 6e 64 20 74 72 61 70 20 65 72 72 6f 72 73 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 53 55 42 M.and.trap.errors...POP.AX...SUB
10be0 09 41 4c 2c 41 48 09 09 3b 52 65 64 75 63 65 20 72 65 71 75 65 73 74 20 62 79 20 61 6d 6f 75 6e .AL,AH..;Reduce.request.by.amoun
10c00 74 20 6a 75 73 74 20 64 6f 6e 65 0d 0a 09 53 48 4c 09 41 48 2c 31 09 09 3b 41 48 20 2a 20 32 5e t.just.done...SHL.AH,1..;AH.*.2^
10c20 38 20 3d 20 6e 6f 2e 20 6f 66 20 62 79 74 65 73 0d 0a 09 41 44 44 09 42 48 2c 41 48 09 09 3b 42 8.=.no..of.bytes...ADD.BH,AH..;B
10c40 75 6d 70 20 61 64 64 72 65 73 73 20 70 6f 69 6e 74 65 72 0d 0a 09 4a 4d 50 09 42 4c 4f 43 4b 0d ump.address.pointer...JMP.BLOCK.
10c60 0a 0d 0a 3b 50 65 72 66 6f 72 6d 20 64 69 73 6b 20 49 2f 4f 20 77 69 74 68 20 72 65 74 72 69 65 ...;Perform.disk.I/O.with.retrie
10c80 73 0d 0a 3b 20 41 4c 20 3d 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 28 31 2d 38 s..;.AL.=.number.of.sectors.(1-8
10ca0 2c 20 61 6c 6c 20 6f 6e 20 6f 6e 65 20 74 72 61 63 6b 29 0d 0a 3b 20 45 53 3a 42 58 20 3d 20 54 ,.all.on.one.track)..;.ES:BX.=.T
10cc0 72 61 6e 73 66 65 72 20 61 64 64 72 65 73 73 20 28 6d 75 73 74 20 6e 6f 74 20 63 72 6f 73 73 20 ransfer.address.(must.not.cross.
10ce0 61 20 36 34 4b 20 70 68 79 73 69 63 61 6c 20 62 6f 75 6e 64 61 72 79 29 0d 0a 3b 20 5b 52 46 4c a.64K.physical.boundary)..;.[RFL
10d00 41 47 5d 20 3d 20 32 20 69 66 20 72 65 61 64 2c 20 33 20 69 66 20 77 72 69 74 65 0d 0a 3b 20 5b AG].=.2.if.read,.3.if.write..;.[
10d20 56 45 52 49 46 59 5d 20 3d 20 30 20 66 6f 72 20 6e 6f 72 6d 61 6c 2c 20 31 20 66 6f 72 20 76 65 VERIFY].=.0.for.normal,.1.for.ve
10d40 72 69 66 79 20 61 66 74 65 72 20 77 72 69 74 65 0d 0a 0d 0a 44 49 53 4b 31 3a 09 4d 4f 56 09 41 rify.after.write....DISK1:.MOV.A
10d60 4c 2c 31 09 09 3b 4f 6e 6c 79 20 6f 6e 65 20 73 65 63 74 6f 72 20 66 6f 72 20 62 75 66 66 65 01 L,1..;Only.one.sector.for.buffe.
10d80 72 65 64 20 49 2f 4f 0d 0a 0d 0a 44 49 53 4b 3a 09 4d 4f 56 09 53 49 2c 4d 41 58 45 52 52 0d 0a red.I/O....DISK:.MOV.SI,MAXERR..
10da0 09 4d 4f 56 09 41 48 2c 52 46 4c 41 47 09 3b 47 65 74 20 72 65 61 64 2f 77 72 69 74 65 20 69 6e .MOV.AH,RFLAG.;Get.read/write.in
10dc0 64 69 63 61 74 6f 72 0d 0a 0d 0a 52 45 54 52 59 3a 09 50 55 53 48 09 41 58 0d 0a 0d 0a 43 41 4c dicator....RETRY:.PUSH.AX....CAL
10de0 4c 52 4f 4d 3a 4d 4f 56 09 44 58 2c 5b 43 55 52 54 52 4b 5d 09 3b 4c 6f 61 64 20 63 75 72 72 65 LROM:MOV.DX,[CURTRK].;Load.curre
10e00 6e 74 20 63 79 6c 69 6e 64 65 72 0d 0a 09 4d 4f 56 09 43 4c 2c 36 09 09 3b 6d 6f 76 65 20 68 69 nt.cylinder...MOV.CL,6..;move.hi
10e20 67 68 20 62 69 74 73 20 6f 66 20 63 79 6c 20 74 6f 20 73 65 63 0d 0a 09 53 48 4c 09 44 48 2c 43 gh.bits.of.cyl.to.sec...SHL.DH,C
10e40 4c 0d 0a 09 4f 52 09 44 48 2c 5b 43 55 52 53 45 43 5d 0d 0a 09 4d 4f 56 09 43 58 2c 44 58 0d 0a L...OR.DH,[CURSEC]...MOV.CX,DX..
10e60 09 58 43 48 47 09 43 48 2c 43 4c 09 09 09 20 3b 43 4c 20 3d 20 73 65 63 74 6f 72 2c 20 43 48 20 .XCHG.CH,CL....;CL.=.sector,.CH.
10e80 3d 20 63 79 6c 69 6e 64 65 72 0d 0a 09 4d 4f 56 09 44 58 2c 57 4f 52 44 20 50 54 52 20 5b 44 52 =.cylinder...MOV.DX,WORD.PTR.[DR
10ea0 49 56 45 5d 09 20 3b 4c 6f 61 64 20 70 68 79 73 69 63 61 6c 20 64 72 69 76 65 20 6e 75 6d 62 65 IVE]..;Load.physical.drive.numbe
10ec0 72 0d 0a 09 09 09 09 09 20 3b 61 6e 64 20 63 75 72 72 65 6e 74 20 68 65 61 64 20 6e 75 6d 62 65 r........;and.current.head.numbe
10ee0 72 0d 0a 3b 3b 09 64 65 62 75 67 09 31 2c 34 2c 3c 20 43 41 4c 4c 52 4f 4d 20 24 78 20 24 78 20 r..;;.debug.1,4,<.CALLROM.$x.$x.
10f00 24 78 20 24 78 20 20 24 78 5c 6e 3e 2c 3c 61 78 2c 62 78 2c 63 78 2c 64 78 2c 65 73 3e 0d 0a 09 $x.$x..$x\n>,<ax,bx,cx,dx,es>...
10f20 49 4e 54 09 31 33 48 09 09 09 20 3b 52 65 71 75 65 73 74 20 64 69 73 6b 20 72 65 61 64 2f 77 72 INT.13H....;Request.disk.read/wr
10f40 69 74 65 0d 0a 09 4a 43 09 44 53 4b 45 52 52 0d 0a 09 50 4f 50 09 41 58 09 09 3b 52 65 73 74 6f ite...JC.DSKERR...POP.AX..;Resto
10f60 72 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 43 4d 50 09 re.sector.count...PUSH.AX...CMP.
10f80 05 07 01 09 02 01 02 03 04 05 06 07 08 09 01 57 52 54 56 45 52 49 46 59 2c 31 30 33 48 09 3b 43 ...............WRTVERIFY,103H.;C
10fa0 68 65 63 6b 20 66 6f 72 20 77 72 69 74 65 20 61 6e 64 20 76 65 72 69 66 79 0d 0a 09 4a 4e 5a 09 heck.for.write.and.verify...JNZ.
10fc0 4e 4f 56 45 52 49 46 59 0d 0a 09 4d 4f 56 09 41 48 2c 34 09 09 3b 52 65 71 75 65 73 74 20 76 65 NOVERIFY...MOV.AH,4..;Request.ve
10fe0 72 69 66 79 0d 0a 09 49 4e 54 09 31 33 48 0d 0a 09 4a 43 09 44 53 4b 45 52 52 0d 0a 4e 4f 56 45 rify...INT.13H...JC.DSKERR..NOVE
11000 52 49 46 59 3a 0d 0a 3b 3b 09 64 65 62 75 67 09 31 2c 34 2c 3c 20 62 61 63 6b 20 66 72 6f 6d 20 RIFY:..;;.debug.1,4,<.back.from.
11020 52 4f 4d 5c 6e 3e 2c 3c 3e 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 41 4e 44 09 43 4c 2c 30 33 46 48 ROM\n>,<>...POP.AX...AND.CL,03FH
11040 09 09 3b 45 6c 69 6d 69 6e 61 74 65 20 63 79 6c 69 6e 64 65 72 20 62 69 74 73 20 66 72 6f 6d 20 ..;Eliminate.cylinder.bits.from.
11060 73 65 63 74 6f 72 0d 0a 09 58 4f 52 09 41 48 2c 41 48 0d 0a 09 53 55 42 09 5b 53 45 43 43 4e 54 sector...XOR.AH,AH...SUB.[SECCNT
11080 5d 2c 41 58 09 3b 52 65 64 75 63 65 20 63 6f 75 6e 74 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f ],AX.;Reduce.count.of.sectors.to
110a0 20 67 6f 0d 0a 09 41 44 44 09 43 4c 2c 41 4c 09 09 3b 4e 65 78 74 20 73 65 63 74 6f 72 0d 0a 09 .go...ADD.CL,AL..;Next.sector...
110c0 4d 4f 56 09 5b 43 55 52 53 45 43 5d 2c 43 4c 0d 0a 09 43 4d 50 09 43 4c 2c 43 53 3a 5b 44 49 5d MOV.[CURSEC],CL...CMP.CL,CS:[DI]
110e0 2e 53 45 43 4c 49 4d 09 3b 20 52 65 61 63 68 65 64 20 6c 69 6d 69 74 3f 0d 0a 09 4a 42 45 09 52 .SECLIM.;.Reached.limit?...JBE.R
11100 45 54 31 0d 0a 0d 0a 09 4d 4f 56 09 5b 43 55 52 53 45 43 5d 2c 31 09 3b 53 74 61 72 74 20 77 69 ET1.....MOV.[CURSEC],1.;Start.wi
11120 74 68 20 66 69 72 73 74 20 73 65 63 74 6f 72 20 6f 66 20 6e 65 78 74 20 74 72 61 63 6b 0d 0a 09 th.first.sector.of.next.track...
11140 4d 4f 56 09 44 48 2c 5b 43 55 52 48 44 5d 0d 0a 09 49 4e 43 09 44 48 0d 0a 09 43 4d 50 09 44 48 MOV.DH,[CURHD]...INC.DH...CMP.DH
11160 2c 43 53 3a 5b 44 49 5d 2e 48 44 4c 49 4d 0d 0a 09 4a 42 09 4e 4f 58 4f 52 0d 0a 09 58 4f 52 09 ,CS:[DI].HDLIM...JB.NOXOR...XOR.
11180 44 48 2c 44 48 0d 0a 09 49 4e 43 09 5b 43 55 01 52 54 52 4b 5d 09 3b 4e 45 58 54 20 54 52 41 43 DH,DH...INC.[CU.RTRK].;NEXT.TRAC
111a0 4b 0d 0a 4e 4f 58 4f 52 3a 09 4d 4f 56 09 5b 43 55 52 48 44 5d 2c 44 48 0d 0a 0d 0a 52 45 54 31 K..NOXOR:.MOV.[CURHD],DH....RET1
111c0 3a 09 52 45 54 0d 0a 0d 0a 44 53 4b 45 52 52 3a 0d 0a 09 64 65 62 75 67 09 31 2c 34 2c 3c 20 44 :.RET....DSKERR:...debug.1,4,<.D
111e0 53 4b 45 52 52 20 24 78 20 3e 2c 3c 61 78 3e 0d 0a 09 50 55 53 48 09 41 58 09 09 3b 53 61 76 65 SKERR.$x.>,<ax>...PUSH.AX..;Save
11200 20 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 4d 4f 56 09 41 48 2c 30 09 09 3b 41 73 6b 20 66 6f 72 .error.code...MOV.AH,0..;Ask.for
11220 20 64 69 73 6b 20 72 65 73 65 74 0d 0a 09 49 4e 54 09 31 33 48 0d 0a 09 50 4f 50 09 41 58 09 09 .disk.reset...INT.13H...POP.AX..
11240 3b 52 65 73 74 6f 72 65 20 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 44 45 43 09 53 49 09 09 3b 64 ;Restore.error.code...DEC.SI..;d
11260 65 63 72 65 6d 65 6e 74 20 72 65 74 72 79 20 63 6f 75 6e 74 0d 0a 09 4a 5a 09 48 41 52 44 45 52 ecrement.retry.count...JZ.HARDER
11280 52 0d 0a 09 43 4d 50 09 41 48 2c 38 30 48 09 09 3b 54 69 6d 65 6f 75 74 3f 0d 0a 09 4a 5a 09 48 R...CMP.AH,80H..;Timeout?...JZ.H
112a0 41 52 44 45 52 52 09 09 3b 2a 2a 2a 0d 0a 44 53 4b 45 52 52 31 3a 50 4f 50 09 41 58 09 09 3b 52 ARDERR..;***..DSKERR1:POP.AX..;R
112c0 65 73 74 6f 72 65 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 09 4a 4d 50 09 52 45 54 52 59 0d estore.sector.count...JMP.RETRY.
112e0 0a 0d 0a 48 41 52 44 45 52 52 3a 0d 0a 09 43 4d 50 09 5b 53 57 50 46 4c 47 5d 2c 30 09 3b 49 66 ...HARDERR:...CMP.[SWPFLG],0.;If
11300 20 42 49 4f 53 20 73 77 61 70 70 65 64 20 6f 75 74 0d 0a 09 4a 5a 09 48 41 52 44 31 0d 0a 09 50 .BIOS.swapped.out...JZ.HARD1...P
11320 4f 50 09 42 58 09 09 3b 47 65 74 20 64 69 73 6b 31 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 73 OP.BX..;Get.disk1.return.address
11340 0d 0a 09 50 4f 50 09 42 58 09 09 3b 47 65 74 20 6c 6f 77 20 70 61 72 74 20 6f 66 20 74 72 61 6e ...POP.BX..;Get.low.part.of.tran
11360 73 66 65 72 20 61 64 64 72 65 73 73 0d 0a 09 50 4f 50 09 45 53 09 09 3b 47 65 74 20 68 69 67 68 sfer.address...POP.ES..;Get.high
11380 20 70 61 72 74 20 6f 66 20 74 72 61 6e 73 66 65 01 72 20 61 64 64 72 65 73 73 0d 0a 09 43 41 4c .part.of.transfe.r.address...CAL
113a0 4c 09 53 57 41 50 09 09 3b 73 77 61 70 20 69 74 20 62 61 63 6b 20 69 6e 0d 0a 48 41 52 44 31 3a L.SWAP..;swap.it.back.in..HARD1:
113c0 09 50 55 53 48 09 43 53 0d 0a 09 50 4f 50 09 45 53 09 09 3b 4d 61 6b 65 20 45 53 20 74 68 65 20 .PUSH.CS...POP.ES..;Make.ES.the.
113e0 6c 6f 63 61 6c 20 73 65 67 6d 65 6e 74 0d 0a 09 4d 4f 56 09 41 4c 2c 41 48 09 09 3b 50 75 74 20 local.segment...MOV.AL,AH..;Put.
11400 65 72 72 6f 72 20 63 6f 64 65 20 69 6e 20 41 4c 0d 0a 09 4d 4f 56 09 5b 4c 53 54 45 52 52 5d 2c error.code.in.AL...MOV.[LSTERR],
11420 41 4c 09 3b 54 65 72 6d 69 6e 61 74 65 20 6c 69 73 74 20 77 69 74 68 20 65 72 72 6f 72 20 63 6f AL.;Terminate.list.with.error.co
11440 64 65 0d 0a 09 4d 4f 56 09 43 58 2c 4e 55 4d 45 52 52 09 3b 4e 75 6d 62 65 72 20 6f 66 20 70 6f de...MOV.CX,NUMERR.;Number.of.po
11460 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 0d 0a 09 4d 4f 56 09 44 49 ssible.error.conditions...MOV.DI
11480 2c 4f 46 46 53 45 54 20 43 53 3a 45 52 52 49 4e 20 3b 50 6f 69 6e 74 20 74 6f 20 65 72 72 6f 72 ,OFFSET.CS:ERRIN.;Point.to.error
114a0 20 63 6f 6e 64 69 74 69 6f 6e 73 0d 0a 09 52 45 50 4e 45 09 53 43 41 53 42 0d 0a 09 4d 4f 56 09 .conditions...REPNE.SCASB...MOV.
114c0 41 4c 2c 65 73 3a 4e 55 4d 45 52 52 2d 31 5b 44 49 5d 20 3b 47 65 74 20 74 72 61 6e 73 6c 61 74 AL,es:NUMERR-1[DI].;Get.translat
114e0 69 6f 6e 0d 0a 09 4d 4f 56 09 43 58 2c 53 45 43 43 4e 54 09 3b 47 65 74 20 63 6f 75 6e 74 20 6f ion...MOV.CX,SECCNT.;Get.count.o
11500 66 20 73 65 63 74 6f 72 73 20 74 6f 20 67 6f 0d 0a 09 4d 4f 56 09 53 50 2c 5b 53 50 53 41 56 5d f.sectors.to.go...MOV.SP,[SPSAV]
11520 09 3b 52 65 63 6f 76 65 72 20 65 6e 74 72 79 20 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 0d 0a 09 .;Recover.entry.stack.pointer...
11540 53 54 43 09 09 09 3b 46 6c 61 67 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 0d 0a 09 52 45 STC...;Flag.error.condition...RE
11560 54 09 09 09 3b 61 6e 64 20 72 65 74 75 72 6e 0d 0a 0d 0a 49 4e 49 54 41 42 09 44 57 09 46 44 52 T...;and.return....INITAB.DW.FDR
11580 49 56 45 0d 0a 09 44 57 09 46 44 52 49 56 45 0d 0a 01 09 44 57 09 46 44 52 49 56 45 0d 0a 09 44 IVE...DW.FDRIVE....DW.FDRIVE...D
115a0 57 09 46 44 52 49 56 45 0d 0a 49 4e 49 54 41 42 48 20 44 57 09 48 44 52 49 56 45 0d 0a 09 44 57 W.FDRIVE..INITABH.DW.HDRIVE...DW
115c0 09 44 52 49 56 45 58 0d 0a 0d 0a 52 6f 6d 44 61 74 61 20 53 45 47 4d 45 4e 54 20 41 54 20 30 34 .DRIVEX....RomData.SEGMENT.AT.04
115e0 30 48 0d 0a 09 4f 52 47 09 30 33 45 48 0d 0a 53 65 65 6b 5f 53 74 61 74 75 73 09 44 42 09 31 20 0H...ORG.03EH..Seek_Status.DB.1.
11600 44 55 50 28 3f 29 0d 0a 52 6f 6d 44 61 74 61 20 45 4e 44 53 0d 0a 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d DUP(?)..RomData.ENDS......;-----
11620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11640 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 20 20 41 53 4b 20 54 4f 20 53 57 41 50 20 ------------..;..;..ASK.TO.SWAP.
11660 54 48 45 20 44 49 53 4b 20 49 4e 20 44 52 49 56 45 20 41 3a 0d 0a 3b 0d 0a 53 57 50 44 53 4b 3a THE.DISK.IN.DRIVE.A:..;..SWPDSK:
11680 20 50 55 53 48 09 44 53 0d 0a 09 58 4f 52 09 53 49 2c 53 49 09 09 3b 53 65 6c 65 63 74 20 73 65 .PUSH.DS...XOR.SI,SI..;Select.se
116a0 67 6d 65 6e 74 20 30 0d 0a 09 4d 4f 56 09 44 53 2c 53 49 0d 0a 09 4d 4f 56 09 41 48 2c 41 4c 09 gment.0...MOV.DS,SI...MOV.AH,AL.
116c0 09 09 3b 4d 61 6b 65 20 63 6f 70 79 20 6f 66 20 64 72 69 76 65 20 6e 75 6d 62 65 72 0d 0a 09 58 ..;Make.copy.of.drive.number...X
116e0 43 48 47 09 41 48 2c 44 53 3a 4c 53 54 44 52 56 09 09 3b 58 63 68 61 6e 67 65 20 77 69 74 68 20 CHG.AH,DS:LSTDRV..;Xchange.with.
11700 6c 61 73 74 20 64 72 69 76 65 20 75 73 65 64 0d 0a 09 43 4d 50 09 41 4c 2c 41 48 09 09 3b 53 65 last.drive.used...CMP.AL,AH..;Se
11720 65 20 69 66 20 73 61 6d 65 20 61 73 20 6c 61 73 74 20 64 72 69 76 65 0d 0a 09 4a 5a 09 52 44 57 e.if.same.as.last.drive...JZ.RDW
11740 52 30 0d 0a 3b 55 73 69 6e 67 20 61 20 64 69 66 66 65 72 65 6e 74 20 64 72 69 76 65 20 69 6e 20 R0..;Using.a.different.drive.in.
11760 61 20 6f 6e 65 20 64 72 69 76 65 20 73 79 73 74 65 6d 20 73 6f 20 72 65 71 75 65 73 74 20 74 68 a.one.drive.system.so.request.th
11780 65 20 75 73 65 72 20 63 68 61 6e 67 65 20 64 69 73 6b 01 73 0d 0a 09 41 44 44 09 41 4c 2c 22 41 e.user.change.disk.s...ADD.AL,"A
117a0 22 09 09 3b 41 64 64 20 22 41 22 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 6f 20 64 72 69 76 65 20 "..;Add."A".to.convert.to.drive.
117c0 6c 65 74 74 65 72 0d 0a 09 4d 4f 56 09 43 53 3a 44 52 56 4c 45 54 2c 41 4c 0d 0a 09 70 75 73 68 letter...MOV.CS:DRVLET,AL...push
117e0 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 43 53 3a .cs...pop.ds...MOV.SI,OFFSET.CS:
11800 53 4e 47 4d 53 47 0d 0a 09 50 55 53 48 09 42 58 0d 0a 09 43 41 4c 4c 09 57 52 4d 53 47 09 09 3b SNGMSG...PUSH.BX...CALL.WRMSG..;
11820 50 72 69 6e 74 20 64 69 73 6b 20 63 68 61 6e 67 65 20 6d 65 73 73 61 67 65 0d 0a 09 58 4f 52 09 Print.disk.change.message...XOR.
11840 41 48 2c 41 48 0d 0a 09 49 4e 54 09 31 36 48 09 09 3b 57 61 69 74 20 66 6f 72 20 61 20 6b 65 79 AH,AH...INT.16H..;Wait.for.a.key
11860 62 6f 61 72 64 20 63 68 61 72 61 63 74 65 72 0d 0a 09 50 4f 50 09 42 58 0d 0a 52 44 57 52 30 3a board.character...POP.BX..RDWR0:
11880 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 58 4f 52 09 41 4c 2c 41 4c 09 09 3b 41 6c 77 61 79 73 20 75 ...POP.DS...XOR.AL,AL..;Always.u
118a0 73 65 20 64 72 69 76 65 20 30 0d 0a 09 52 45 54 0d 0a 0d 0a 0d 0a 53 4e 47 4d 53 47 09 44 42 09 se.drive.0...RET......SNGMSG.DB.
118c0 43 52 2c 4c 46 2c 22 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 65 20 66 6f 72 20 64 72 69 76 65 CR,LF,"Insert.diskette.for.drive
118e0 20 22 0d 0a 44 52 56 4c 45 54 09 44 42 09 22 41 3a 20 61 6e 64 20 73 74 72 69 6b 65 22 2c 43 52 ."..DRVLET.DB."A:.and.strike",CR
11900 2c 4c 46 2c 22 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 79 22 2c 43 52 2c 4c 46 2c 4c ,LF,"any.key.when.ready",CR,LF,L
11920 46 2c 30 0d 0a 48 4e 55 4d 09 44 42 09 30 09 09 3b 4e 55 4d 42 45 52 20 4f 46 20 48 41 52 44 46 F,0..HNUM.DB.0..;NUMBER.OF.HARDF
11940 49 4c 45 53 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 45 6e 64 20 6f 66 20 50 65 72 6d 61 6e 65 6e 74 6c 79 ILES......;**.End.of.Permanently
11960 20 52 65 73 69 64 65 6e 74 20 42 49 4f 53 0d 0a 0d 0a 0d 0a 48 41 52 44 44 52 56 20 44 42 09 38 .Resident.BIOS......HARDDRV.DB.8
11980 30 48 09 3b 50 68 79 73 69 63 61 6c 20 64 72 69 76 65 20 01 6e 75 6d 62 65 72 20 6f 66 20 66 69 0H.;Physical.drive..number.of.fi
119a0 72 73 74 20 68 61 72 64 66 69 6c 65 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a rst.hardfile..;*****************
119c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
119e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 09 22 48 44 52 49 56 45 *********************..;."HDRIVE
11a00 22 20 49 53 20 41 20 48 41 52 44 20 44 49 53 4b 20 57 49 54 48 20 35 31 32 20 42 59 54 45 20 53 ".IS.A.HARD.DISK.WITH.512.BYTE.S
11a20 45 43 54 4f 52 53 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ECTORS..;***********************
11a40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
11a60 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 48 44 52 49 56 45 3a 0d 0a 09 44 57 09 35 31 32 **************..HDRIVE:...DW.512
11a80 0d 0a 09 44 42 09 31 09 09 3b 53 65 63 74 6f 72 73 2f 61 6c 6c 6f 63 61 74 69 6f 6e 20 75 6e 69 ...DB.1..;Sectors/allocation.uni
11aa0 74 0d 0a 09 44 57 09 31 09 09 3b 52 65 73 65 72 76 65 64 20 73 65 63 74 6f 72 73 20 66 6f 72 20 t...DW.1..;Reserved.sectors.for.
11ac0 44 4f 53 0d 0a 09 44 42 09 32 09 09 3b 4e 6f 2e 20 6f 66 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 74 DOS...DB.2..;No..of.allocation.t
11ae0 61 62 6c 65 73 0d 0a 09 44 57 09 31 36 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 64 69 72 65 63 74 ables...DW.16..;Number.of.direct
11b00 6f 72 79 20 65 6e 74 72 69 65 73 0d 0a 09 44 57 09 30 30 30 30 09 09 3b 4e 75 6d 62 65 72 20 6f ory.entries...DW.0000..;Number.o
11b20 66 20 73 65 63 74 6f 72 73 20 28 61 74 20 35 31 32 20 62 79 74 65 73 20 65 61 63 68 29 0d 0a 09 f.sectors.(at.512.bytes.each)...
11b40 44 42 09 31 31 31 31 31 30 30 30 42 09 3b 4d 65 64 69 61 20 64 65 73 63 72 69 70 74 6f 72 0d 0a DB.11111000B.;Media.descriptor..
11b60 09 44 57 09 31 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 46 41 54 20 73 65 63 74 6f 72 73 0d 0a 09 .DW.1..;Number.of.FAT.sectors...
11b80 44 57 09 30 30 09 09 3b 53 65 63 74 6f 72 20 6c 69 6d 69 74 01 0d 0a 09 44 57 09 30 30 09 09 3b DW.00..;Sector.limit....DW.00..;
11ba0 48 65 61 64 20 6c 69 6d 69 74 0d 0a 09 44 57 09 30 30 09 09 3b 48 69 64 64 65 6e 20 73 65 63 74 Head.limit...DW.00..;Hidden.sect
11bc0 6f 72 20 63 6f 75 6e 74 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a or.count..;*********************
11be0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
11c00 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 09 22 44 52 49 56 45 58 20 22 20 49 *****************..;."DRIVEX.".I
11c20 53 20 41 4e 20 45 58 54 52 41 20 54 59 50 45 20 4f 46 20 44 52 49 56 45 20 55 53 55 41 4c 4c 59 S.AN.EXTRA.TYPE.OF.DRIVE.USUALLY
11c40 20 52 45 53 45 52 56 45 44 20 46 4f 52 20 41 4e 0d 0a 3b 09 41 44 44 49 54 49 4f 4e 41 4c 20 48 .RESERVED.FOR.AN..;.ADDITIONAL.H
11c60 41 52 44 20 46 49 4c 45 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ARD.FILE..;*********************
11c80 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
11ca0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 44 52 49 56 45 58 3a 0d 0a 09 44 57 09 35 ****************..DRIVEX:...DW.5
11cc0 31 32 0d 0a 09 44 42 09 30 30 09 09 3b 53 65 63 74 6f 72 73 2f 61 6c 6c 6f 63 61 74 69 6f 6e 20 12...DB.00..;Sectors/allocation.
11ce0 75 6e 69 74 0d 0a 09 44 57 09 31 09 09 3b 52 65 73 65 72 76 65 64 20 73 65 63 74 6f 72 73 20 66 unit...DW.1..;Reserved.sectors.f
11d00 6f 72 20 44 4f 53 0d 0a 09 44 42 09 32 09 09 3b 4e 6f 2e 20 6f 66 20 61 6c 6c 6f 63 61 74 69 6f or.DOS...DB.2..;No..of.allocatio
11d20 6e 20 74 61 62 6c 65 73 0d 0a 09 44 57 09 30 30 30 30 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 64 n.tables...DW.0000..;Number.of.d
11d40 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 0d 0a 09 44 57 09 30 30 30 30 09 09 3b 4e 75 6d irectory.entries...DW.0000..;Num
11d60 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 28 61 74 20 35 31 32 20 62 79 74 65 73 20 65 61 63 ber.of.sectors.(at.512.bytes.eac
11d80 68 29 0d 0a 09 44 42 09 31 31 31 31 31 30 30 30 42 09 3b 4d 65 01 64 69 61 20 64 65 73 63 72 69 h)...DB.11111000B.;Me.dia.descri
11da0 70 74 6f 72 0d 0a 09 44 57 09 30 30 30 30 09 09 3b 4e 75 6d 62 65 72 20 6f 66 20 46 41 54 20 73 ptor...DW.0000..;Number.of.FAT.s
11dc0 65 63 74 6f 72 73 0d 0a 09 44 57 09 30 30 09 09 3b 53 65 63 74 6f 72 20 6c 69 6d 69 74 0d 0a 09 ectors...DW.00..;Sector.limit...
11de0 44 57 09 30 30 09 09 3b 48 65 61 64 20 6c 69 6d 69 74 0d 0a 09 44 57 09 30 30 09 09 3b 48 69 64 DW.00..;Head.limit...DW.00..;Hid
11e00 64 65 6e 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 0d 0a 53 55 42 54 54 4c 09 42 69 6f 73 20 den.sector.count....SUBTTL.Bios.
11e20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 0c 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a initialization...;**************
11e40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
11e60 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 09 53 59 53 54 45 4d 20 49 4e 49 54 49 41 4c 49 5a 41 ***********..;.SYSTEM.INITIALIZA
11e80 54 49 4f 4e 0d 0a 3b 0d 0a 3b 09 54 48 45 20 45 4e 54 52 59 20 43 4f 4e 44 49 54 49 4f 4e 53 20 TION..;..;.THE.ENTRY.CONDITIONS.
11ea0 41 52 45 20 45 53 54 41 42 4c 49 53 48 45 44 20 42 59 20 54 48 45 20 42 4f 4f 54 53 54 52 41 50 ARE.ESTABLISHED.BY.THE.BOOTSTRAP
11ec0 0d 0a 3b 09 4c 4f 41 44 45 52 20 41 4e 44 20 41 52 45 20 43 4f 4e 53 49 44 45 52 45 44 20 55 4e ..;.LOADER.AND.ARE.CONSIDERED.UN
11ee0 4b 4e 4f 57 4e 2e 20 54 48 45 20 46 4f 4c 4c 4f 57 49 4e 47 20 4a 4f 42 53 0d 0a 3b 09 57 49 4c KNOWN..THE.FOLLOWING.JOBS..;.WIL
11f00 4c 20 42 45 20 50 45 52 46 4f 52 4d 45 44 20 42 59 20 54 48 49 53 20 4d 4f 44 55 4c 45 3a 0d 0a L.BE.PERFORMED.BY.THIS.MODULE:..
11f20 3b 0d 0a 3b 09 31 2e 09 41 4c 4c 20 44 45 56 49 43 45 20 49 4e 49 54 49 41 4c 49 5a 41 54 49 4f ;..;.1..ALL.DEVICE.INITIALIZATIO
11f40 4e 20 49 53 20 50 45 52 46 4f 52 4d 45 44 0d 0a 3b 09 32 2e 09 41 20 4c 4f 43 41 4c 20 53 54 41 N.IS.PERFORMED..;.2..A.LOCAL.STA
11f60 43 4b 20 49 53 20 53 45 54 20 55 50 20 41 4e 44 20 44 53 3a 53 49 20 41 52 45 20 53 45 54 0d 0a CK.IS.SET.UP.AND.DS:SI.ARE.SET..
11f80 3b 09 09 54 4f 20 50 4f 49 4e 54 20 54 4f 20 41 4e 20 49 4e 49 54 01 49 41 4c 49 5a 41 54 49 4f ;..TO.POINT.TO.AN.INIT.IALIZATIO
11fa0 4e 20 54 41 42 4c 45 2e 20 54 48 45 4e 0d 0a 3b 09 09 41 4e 20 49 4e 54 45 52 2d 53 45 47 4d 45 N.TABLE..THEN..;..AN.INTER-SEGME
11fc0 4e 54 20 43 41 4c 4c 20 49 53 20 4d 41 44 45 20 54 4f 20 54 48 45 20 46 49 52 53 54 0d 0a 3b 09 NT.CALL.IS.MADE.TO.THE.FIRST..;.
11fe0 09 42 59 54 45 20 4f 46 20 54 48 45 20 44 4f 53 0d 0a 3b 09 33 2e 09 4f 4e 43 45 20 54 48 45 20 .BYTE.OF.THE.DOS..;.3..ONCE.THE.
12000 44 4f 53 20 52 45 54 55 52 4e 53 20 46 52 4f 4d 20 54 48 49 53 20 43 41 4c 4c 20 54 48 45 20 44 DOS.RETURNS.FROM.THIS.CALL.THE.D
12020 53 0d 0a 3b 09 09 52 45 47 49 53 54 45 52 20 48 41 53 20 42 45 45 4e 20 53 45 54 20 55 50 20 54 S..;..REGISTER.HAS.BEEN.SET.UP.T
12040 4f 20 50 4f 49 4e 54 20 54 4f 20 54 48 45 20 53 54 41 52 54 0d 0a 3b 09 09 4f 46 20 46 52 45 45 O.POINT.TO.THE.START..;..OF.FREE
12060 20 4d 45 4d 4f 52 59 2e 20 54 48 45 20 49 4e 49 54 49 41 4c 49 5a 41 54 49 4f 4e 20 57 49 4c 4c .MEMORY..THE.INITIALIZATION.WILL
12080 20 54 48 45 4e 0d 0a 3b 09 09 4c 4f 41 44 20 54 48 45 20 43 4f 4d 4d 41 4e 44 20 50 52 4f 47 52 .THEN..;..LOAD.THE.COMMAND.PROGR
120a0 41 4d 20 49 4e 54 4f 20 54 48 49 53 20 41 52 45 41 0d 0a 3b 09 09 42 45 47 49 4e 4e 49 4e 47 20 AM.INTO.THIS.AREA..;..BEGINNING.
120c0 41 54 20 31 30 30 20 48 45 58 20 41 4e 44 20 54 52 41 4e 53 46 45 52 20 43 4f 4e 54 52 4f 4c 20 AT.100.HEX.AND.TRANSFER.CONTROL.
120e0 54 4f 0d 0a 3b 09 09 54 48 49 53 20 50 52 4f 47 52 41 4d 2e 0d 0a 3b 0d 0a 3b 2a 2a 2a 2a 2a 2a TO..;..THIS.PROGRAM...;..;******
12100 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
12120 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 44 52 56 46 41 54 09 44 57 09 ******************....DRVFAT.DW.
12140 30 30 30 30 09 09 3b 44 52 49 56 45 20 41 4e 44 20 46 41 54 20 49 44 20 4f 46 20 44 4f 53 0d 0a 0000..;DRIVE.AND.FAT.ID.OF.DOS..
12160 42 49 4f 53 24 09 44 57 09 30 30 30 30 09 09 3b 46 49 52 53 54 20 53 45 43 54 4f 52 20 4f 46 20 BIOS$.DW.0000..;FIRST.SECTOR.OF.
12180 44 41 54 41 0d 0a 44 4f 53 43 4e 54 09 44 57 09 30 30 30 30 09 09 3b 05 08 00 09 02 01 02 03 04 DATA..DOSCNT.DW.0000..;.........
121a0 05 06 07 08 09 01 48 4f 57 20 4d 41 4e 59 20 53 45 43 54 4f 52 53 20 54 4f 20 52 45 41 44 0d 0a ......HOW.MANY.SECTORS.TO.READ..
121c0 0d 0a 42 6f 6f 74 42 75 66 72 09 45 51 55 09 31 37 43 30 48 09 3b 20 48 69 67 68 20 6d 65 6d 6f ..BootBufr.EQU.17C0H.;.High.memo
121e0 72 79 20 73 63 72 61 74 63 68 20 61 72 65 61 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 44 53 ry.scratch.area........ASSUME.DS
12200 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 49 4e 49 54 3a 09 6d 6f 76 :NOTHING,ES:NOTHING....INIT:.mov
12220 09 64 78 2c 31 30 30 30 68 0d 0a 09 4d 4f 56 09 53 53 2c 44 58 0d 0a 09 4d 4f 56 09 53 50 2c 37 .dx,1000h...MOV.SS,DX...MOV.SP,7
12240 43 30 30 68 09 3b 4c 4f 43 41 4c 20 53 54 41 43 4b 20 20 31 30 30 30 3a 37 43 30 30 0d 0a 09 53 C00h.;LOCAL.STACK..1000:7C00...S
12260 54 49 0d 0a 09 50 55 53 48 09 43 58 09 09 3b 53 61 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 66 6c TI...PUSH.CX..;Save.number.of.fl
12280 6f 70 70 69 65 73 0d 0a 09 4d 4f 56 09 5b 42 49 4f 53 24 5d 2c 42 58 0d 0a 09 50 55 53 48 09 41 oppies...MOV.[BIOS$],BX...PUSH.A
122a0 58 09 09 3b 53 61 76 65 20 44 72 69 76 65 20 69 6e 66 6f 0d 0a 09 4d 4f 56 09 41 4c 2c 45 4f 49 X..;Save.Drive.info...MOV.AL,EOI
122c0 0d 0a 09 4f 55 54 09 41 4b 50 4f 52 54 2c 41 4c 09 3b 54 55 52 4e 20 4f 4e 20 54 48 45 20 54 49 ...OUT.AKPORT,AL.;TURN.ON.THE.TI
122e0 4d 45 52 0d 0a 0d 0a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 4c 50 54 33 44 45 56 0d 0a 09 MER.....MOV.SI,OFFSET.LPT3DEV...
12300 43 41 4c 4c 09 50 52 49 4e 54 5f 49 4e 49 54 09 09 3b 49 4e 49 54 20 4c 50 54 33 0d 0a 09 4d 4f CALL.PRINT_INIT..;INIT.LPT3...MO
12320 56 09 53 49 2c 4f 46 46 53 45 54 20 4c 50 54 32 44 45 56 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 V.SI,OFFSET.LPT2DEV...CALL.PRINT
12340 5f 49 4e 49 54 09 09 3b 49 4e 49 54 20 4c 50 54 32 0d 0a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 _INIT..;INIT.LPT2...MOV.SI,OFFSE
12360 54 20 4c 50 54 31 44 45 56 0d 0a 09 43 41 4c 4c 09 50 52 49 4e 54 5f 49 4e 49 54 09 09 3b 49 4e T.LPT1DEV...CALL.PRINT_INIT..;IN
12380 49 54 20 4c 50 54 31 0d 0a 0d 0a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 43 4f 4d 32 44 45 IT.LPT1.....MOV.SI,OFFSET.COM2DE
123a0 56 0d 0a 09 43 41 01 4c 4c 09 41 55 58 5f 49 4e 49 54 09 09 3b 49 4e 49 54 20 43 4f 4d 32 0d 0a V...CA.LL.AUX_INIT..;INIT.COM2..
123c0 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 43 4f 4d 31 44 45 56 0d 0a 09 43 41 4c 4c 09 41 55 .MOV.SI,OFFSET.COM1DEV...CALL.AU
123e0 58 5f 49 4e 49 54 09 09 3b 49 4e 49 54 20 43 4f 4d 31 0d 0a 3b 2a 09 43 61 6e 27 74 20 64 6f 20 X_INIT..;INIT.COM1..;*.Can't.do.
12400 61 6e 79 20 44 45 42 55 47 20 70 72 69 6e 74 73 20 74 69 6c 6c 20 6e 6f 77 0d 0a 09 64 65 62 75 any.DEBUG.prints.till.now...debu
12420 67 09 31 2c 31 2c 3c 41 55 58 20 61 6e 64 20 50 52 4e 20 64 65 76 69 63 65 73 20 69 6e 69 74 69 g.1,1,<AUX.and.PRN.devices.initi
12440 61 6c 69 7a 65 64 5c 6e 3e 2c 3c 3e 0d 0a 09 58 4f 52 09 44 58 2c 44 58 0d 0a 09 4d 4f 56 09 44 alized\n>,<>...XOR.DX,DX...MOV.D
12460 53 2c 44 58 09 09 09 3b 54 4f 20 49 4e 49 54 49 41 4c 49 5a 45 20 50 52 49 4e 54 20 53 43 52 45 S,DX...;TO.INITIALIZE.PRINT.SCRE
12480 45 4e 20 56 45 43 54 4f 52 0d 0a 09 4d 4f 56 09 45 53 2c 44 58 0d 0a 0d 0a 09 4d 4f 56 09 41 58 EN.VECTOR...MOV.ES,DX.....MOV.AX
124a0 2c 43 53 09 09 09 09 09 3b 46 45 54 43 48 20 53 45 47 4d 45 4e 54 0d 0a 0d 0a 49 46 09 43 4f 4e ,CS.....;FETCH.SEGMENT....IF.CON
124c0 53 46 4c 41 47 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 44 53 3a 42 52 4b 41 44 52 2c 4f SFLAG...MOV.WORD.PTR.DS:BRKADR,O
124e0 46 46 53 45 54 20 42 52 45 41 4b 0d 0a 09 4d 4f 56 09 44 53 3a 42 52 4b 41 44 52 2b 32 2c 41 58 FFSET.BREAK...MOV.DS:BRKADR+2,AX
12500 09 09 09 3b 56 45 43 54 4f 52 20 46 4f 52 20 42 52 45 41 4b 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 ...;VECTOR.FOR.BREAK...MOV.WORD.
12520 50 54 52 20 44 53 3a 28 43 48 52 4f 55 54 2a 34 29 2c 4f 46 46 53 45 54 20 4f 55 54 43 48 52 0d PTR.DS:(CHROUT*4),OFFSET.OUTCHR.
12540 0a 09 4d 4f 56 09 44 53 3a 28 43 48 52 4f 55 54 2a 34 2b 32 29 2c 41 58 0d 0a 45 4e 44 49 46 0d ..MOV.DS:(CHROUT*4+2),AX..ENDIF.
12560 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 44 53 3a 44 53 4b 41 44 52 2c 53 45 43 39 09 09 3b ..MOV.WORD.PTR.DS:DSKADR,SEC9..;
12580 44 49 53 4b 20 50 41 52 41 4d 45 54 45 52 53 0d 0a 09 4d 4f 56 09 44 53 3a 44 53 4b 41 44 52 2b DISK.PARAMETERS...MOV.DS:DSKADR+
125a0 32 2c 45 53 0d 0a 0d 01 0a 09 4d 4f 56 09 44 49 2c 34 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 2,ES......MOV.DI,4...MOV.BX,OFFS
125c0 45 54 20 49 4e 54 52 45 54 09 09 3b 20 52 65 73 74 20 6a 75 73 74 20 72 65 74 75 72 6e 0d 0a 09 ET.INTRET..;.Rest.just.return...
125e0 58 43 48 47 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 09 09 3b 4c 6f 63 61 74 69 6f XCHG.AX,BX...STOSW......;Locatio
12600 6e 20 34 0d 0a 09 58 43 48 47 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 49 4e 54 n.4...XCHG.AX,BX...STOSW....;INT
12620 20 31 09 09 3b 4c 6f 63 61 74 69 6f 6e 20 36 0d 0a 09 41 44 44 09 44 49 2c 34 0d 0a 09 58 43 48 .1..;Location.6...ADD.DI,4...XCH
12640 47 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 09 09 3b 4c 6f 63 61 74 69 6f 6e 20 31 G.AX,BX...STOSW......;Location.1
12660 32 0d 0a 09 58 43 48 47 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 49 4e 54 20 33 2...XCHG.AX,BX...STOSW....;INT.3
12680 09 09 3b 4c 6f 63 61 74 69 6f 6e 20 31 34 0d 0a 09 58 43 48 47 09 41 58 2c 42 58 0d 0a 09 53 54 ..;Location.14...XCHG.AX,BX...ST
126a0 4f 53 57 09 09 09 09 09 09 3b 4c 6f 63 61 74 69 6f 6e 20 31 36 0d 0a 09 58 43 48 47 09 41 58 2c OSW......;Location.16...XCHG.AX,
126c0 42 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 49 4e 54 20 34 09 09 3b 4c 6f 63 61 74 69 6f 6e 20 BX...STOSW....;INT.4..;Location.
126e0 31 38 0d 0a 3b 20 53 65 74 20 75 70 20 73 6f 6d 65 20 76 65 63 74 6f 72 73 20 66 6f 72 20 73 63 18..;.Set.up.some.vectors.for.sc
12700 68 65 64 75 6c 65 72 20 61 6e 64 20 63 68 61 6e 67 65 20 72 6f 6d 20 69 6e 74 65 72 72 75 70 74 heduler.and.change.rom.interrupt
12720 73 0d 0a 3b 0d 0a 09 43 4c 49 09 09 09 09 3b 20 44 69 73 61 62 6c 65 2c 20 63 68 61 6e 67 69 6e s..;...CLI....;.Disable,.changin
12740 67 20 69 6e 74 20 76 65 63 74 6f 72 73 0d 0a 09 41 44 44 09 44 49 2c 33 2a 34 09 09 09 3b 20 4d g.int.vectors...ADD.DI,3*4...;.M
12760 6f 76 65 20 75 70 20 74 6f 20 49 4e 54 20 38 0d 0a 09 4d 4f 56 09 43 58 2c 4f 46 46 53 45 54 20 ove.up.to.INT.8...MOV.CX,OFFSET.
12780 54 69 6d 65 72 49 6e 74 65 72 72 75 70 74 0d 0a 09 58 43 48 47 09 41 58 2c 43 58 0d 0a 09 53 54 TimerInterrupt...XCHG.AX,CX...ST
127a0 4f 53 57 0d 0a 09 58 43 01 48 47 09 41 58 2c 43 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 20 53 OSW...XC.HG.AX,CX...STOSW....;.S
127c0 65 74 20 6e 65 77 20 49 4e 54 20 38 3a 20 54 69 6d 65 72 0d 0a 49 46 09 43 4f 4e 53 46 4c 41 47 et.new.INT.8:.Timer..IF.CONSFLAG
127e0 0d 0a 09 4d 4f 56 09 43 58 2c 44 53 3a 5b 44 49 5d 09 09 3b 20 53 61 76 65 20 6f 6c 64 20 61 64 ...MOV.CX,DS:[DI]..;.Save.old.ad
12800 64 72 20 74 6f 20 68 6f 6f 6b 20 74 6f 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 4f 6c 64 dr.to.hook.to...MOV.WORD.PTR.Old
12820 4b 65 79 49 6e 74 65 72 72 75 70 74 2c 43 58 0d 0a 09 4d 4f 56 09 43 58 2c 44 53 3a 32 5b 44 49 KeyInterrupt,CX...MOV.CX,DS:2[DI
12840 5d 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 28 4f 6c 64 4b 65 79 49 6e 74 65 72 72 75 70 ]...MOV.WORD.PTR.(OldKeyInterrup
12860 74 2b 32 29 2c 43 58 0d 0a 09 4d 4f 56 09 43 58 2c 4f 46 46 53 45 54 20 4b 65 79 62 6f 61 72 64 t+2),CX...MOV.CX,OFFSET.Keyboard
12880 49 6e 74 65 72 72 75 70 74 0d 0a 09 58 43 48 47 09 41 58 2c 43 58 0d 0a 09 53 54 4f 53 57 0d 0a Interrupt...XCHG.AX,CX...STOSW..
128a0 09 58 43 48 47 09 41 58 2c 43 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 20 53 65 74 20 6e 65 77 .XCHG.AX,CX...STOSW....;.Set.new
128c0 20 6b 65 79 62 6f 61 72 64 20 69 6e 74 65 72 72 75 70 74 0d 0a 45 4c 53 45 0d 0a 09 41 44 44 09 .keyboard.interrupt..ELSE...ADD.
128e0 44 49 2c 34 0d 0a 45 4e 44 49 46 0d 0a 09 58 43 48 47 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 DI,4..ENDIF...XCHG.AX,BX...STOSW
12900 0d 0a 09 58 43 48 47 09 41 58 2c 42 58 09 09 09 3b 20 49 4e 54 20 30 41 20 75 6e 75 73 65 64 0d ...XCHG.AX,BX...;.INT.0A.unused.
12920 0a 09 53 54 4f 53 57 0d 0a 09 58 43 48 47 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 0d 0a 09 58 ..STOSW...XCHG.AX,BX...STOSW...X
12940 43 48 47 09 41 58 2c 42 58 09 09 09 3b 20 49 4e 54 20 30 42 20 75 6e 75 73 65 64 0d 0a 09 53 54 CHG.AX,BX...;.INT.0B.unused...ST
12960 4f 53 57 0d 0a 09 61 64 64 09 64 69 2c 34 2a 36 09 09 09 3b 20 73 6b 69 70 20 30 43 20 2d 20 31 OSW...add.di,4*6...;.skip.0C.-.1
12980 31 0d 0a 09 4d 4f 56 09 43 58 2c 44 53 3a 5b 44 49 5d 09 09 3b 20 53 61 76 65 20 49 4e 54 20 31 1...MOV.CX,DS:[DI]..;.Save.INT.1
129a0 32 20 61 64 64 72 20 74 6f 01 20 68 6f 6f 6b 20 74 6f 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 2.addr.to..hook.to...MOV.WORD.PT
129c0 52 20 6d 65 6d 73 69 7a 69 6e 74 2c 43 58 0d 0a 09 4d 4f 56 09 43 58 2c 44 53 3a 32 5b 44 49 5d R.memsizint,CX...MOV.CX,DS:2[DI]
129e0 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 28 6d 65 6d 73 69 7a 69 6e 74 2b 32 29 2c 43 58 ...MOV.WORD.PTR.(memsizint+2),CX
12a00 0d 0a 09 6d 6f 76 09 63 78 2c 6f 66 66 73 65 74 20 6d 65 6d 73 69 7a 68 61 6e 64 6c 65 72 0d 0a ...mov.cx,offset.memsizhandler..
12a20 09 78 63 68 67 09 61 78 2c 63 78 0d 0a 09 73 74 6f 73 77 0d 0a 09 78 63 68 67 09 61 78 2c 63 78 .xchg.ax,cx...stosw...xchg.ax,cx
12a40 0d 0a 09 73 74 6f 73 77 0d 0a 09 61 64 64 09 64 69 2c 34 2a 32 09 09 09 3b 20 73 6b 69 70 20 31 ...stosw...add.di,4*2...;.skip.1
12a60 33 20 2d 20 31 34 0d 0a 09 53 54 49 0d 0a 3b 20 45 6e 64 20 6f 66 20 6e 65 77 20 33 2e 30 20 76 3.-.14...STI..;.End.of.new.3.0.v
12a80 65 63 74 6f 72 73 0d 0a 09 58 43 48 47 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b ectors...XCHG.AX,BX...STOSW....;
12aa0 49 4e 54 20 31 35 09 09 3b 4c 6f 63 61 74 69 6f 6e 20 36 30 0d 0a 09 58 43 48 47 09 41 58 2c 42 INT.15..;Location.60...XCHG.AX,B
12ac0 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 09 09 3b 4c 6f 63 61 74 69 6f 6e 20 36 32 0d 0a 49 46 09 X...STOSW......;Location.62..IF.
12ae0 43 4f 4e 53 46 4c 41 47 0d 0a 09 4d 4f 56 09 43 58 2c 44 53 3a 5b 44 49 5d 09 09 3b 20 53 61 76 CONSFLAG...MOV.CX,DS:[DI]..;.Sav
12b00 65 20 49 4e 54 20 31 36 20 61 64 64 72 20 74 6f 20 68 6f 6f 6b 20 74 6f 0d 0a 09 4d 4f 56 09 57 e.INT.16.addr.to.hook.to...MOV.W
12b20 4f 52 44 20 50 54 52 20 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 2c 43 58 0d 0a 09 4d 4f 56 09 43 ORD.PTR.OldKbdHandler,CX...MOV.C
12b40 58 2c 44 53 3a 32 5b 44 49 5d 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 28 4f 6c 64 4b 62 X,DS:2[DI]...MOV.WORD.PTR.(OldKb
12b60 64 48 61 6e 64 6c 65 72 2b 32 29 2c 43 58 0d 0a 09 4d 4f 56 09 43 58 2c 4f 46 46 53 45 54 20 4b dHandler+2),CX...MOV.CX,OFFSET.K
12b80 65 79 62 6f 61 72 64 48 61 6e 64 6c 65 72 0d 0a 09 58 43 48 47 09 41 58 2c 43 58 0d 0a 09 53 54 eyboardHandler...XCHG.AX,CX...ST
12ba0 4f 53 57 0d 0a 09 58 43 48 47 01 09 41 58 2c 43 58 09 09 09 3b 20 53 65 74 20 6e 65 77 20 6b 65 OSW...XCHG..AX,CX...;.Set.new.ke
12bc0 79 62 6f 61 72 64 20 48 61 6e 64 6c 65 72 0d 0a 09 53 54 4f 53 57 0d 0a 3b 20 53 65 74 20 6e 65 yboard.Handler...STOSW..;.Set.ne
12be0 77 20 67 65 74 2f 73 65 74 20 74 69 6d 65 20 76 65 63 74 6f 72 2c 20 74 69 6d 65 20 62 61 73 65 w.get/set.time.vector,.time.base
12c00 20 63 68 61 6e 67 65 64 0d 0a 09 41 44 44 09 44 49 2c 34 2a 33 09 09 09 3b 20 73 6b 69 70 20 31 .changed...ADD.DI,4*3...;.skip.1
12c20 37 20 2d 20 31 39 0d 0a 45 4c 53 45 0d 0a 09 41 44 44 09 44 49 2c 34 2a 34 09 09 09 3b 20 73 6b 7.-.19..ELSE...ADD.DI,4*4...;.sk
12c40 69 70 20 31 36 20 2d 20 31 39 0d 0a 45 4e 44 49 46 09 3b 43 4f 4e 53 46 4c 41 47 0d 0a 09 4d 4f ip.16.-.19..ENDIF.;CONSFLAG...MO
12c60 56 09 43 58 2c 4f 46 46 53 45 54 20 54 69 6d 65 4f 66 44 61 79 0d 0a 09 58 43 48 47 09 41 58 2c V.CX,OFFSET.TimeOfDay...XCHG.AX,
12c80 43 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 20 73 65 74 75 70 20 31 41 20 74 6f 20 54 69 6d 65 CX...STOSW....;.setup.1A.to.Time
12ca0 6f 66 44 61 79 0d 0a 09 58 43 48 47 09 41 58 2c 43 58 0d 0a 09 53 54 4f 53 57 0d 0a 09 41 44 44 ofDay...XCHG.AX,CX...STOSW...ADD
12cc0 09 44 49 2c 34 2a 32 33 09 09 09 3b 20 73 6b 69 70 20 31 42 20 2d 20 33 31 0d 0a 09 58 43 48 47 .DI,4*23...;.skip.1B.-.31...XCHG
12ce0 09 41 58 2c 42 58 0d 0a 09 53 54 4f 53 57 09 09 09 09 3b 20 6e 6f 2d 6f 70 20 49 4e 54 20 33 32 .AX,BX...STOSW....;.no-op.INT.32
12d00 20 75 6e 74 69 6c 20 53 63 68 65 64 3a 53 63 68 65 64 49 6e 69 74 0d 0a 09 58 43 48 47 09 41 58 .until.Sched:SchedInit...XCHG.AX
12d20 2c 42 58 0d 0a 09 53 54 4f 53 57 0d 0a 09 64 65 62 75 67 09 31 2c 31 2c 3c 49 6e 74 65 72 72 75 ,BX...STOSW...debug.1,1,<Interru
12d40 70 74 20 76 65 63 74 6f 72 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 5c 6e 3e 2c 3c 3e 0d 0a 0d 0a pt.vectors.initialized\n>,<>....
12d60 09 4d 4f 56 09 44 53 3a 57 4f 52 44 20 50 54 52 20 35 30 30 48 2c 44 58 09 3b 53 45 54 20 50 52 .MOV.DS:WORD.PTR.500H,DX.;SET.PR
12d80 49 4e 54 20 53 43 52 45 45 4e 20 26 20 42 52 45 41 4b 20 3d 30 0d 0a 09 4d 4f 56 09 44 53 3a 57 INT.SCREEN.&.BREAK.=0...MOV.DS:W
12da0 4f 52 44 20 50 54 52 20 4c 53 54 01 44 52 56 2c 44 58 09 3b 63 6c 65 61 6e 20 6f 75 74 20 6c 61 ORD.PTR.LST.DRV,DX.;clean.out.la
12dc0 73 74 20 64 72 69 76 65 20 73 70 65 63 0d 0a 0d 0a 09 4d 4f 56 09 44 49 2c 53 45 43 39 09 09 09 st.drive.spec.....MOV.DI,SEC9...
12de0 3b 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 64 72 69 76 65 20 74 61 62 6c 65 0d 0a 09 4d 4f 56 09 41 ;location.of.drive.table...MOV.A
12e00 58 2c 30 32 44 46 48 09 09 3b 53 74 75 66 66 20 74 68 65 20 64 69 73 6b 20 73 70 65 65 64 75 70 X,02DFH..;Stuff.the.disk.speedup
12e20 2f 39 20 73 65 63 74 6f 72 0d 0a 09 53 54 4f 53 57 09 09 09 09 09 3b 63 6f 64 65 0d 0a 09 4d 4f /9.sector...STOSW.....;code...MO
12e40 56 09 41 58 2c 30 32 32 35 48 0d 0a 09 53 54 4f 53 57 0d 0a 09 4d 4f 56 09 41 58 2c 32 41 30 39 V.AX,0225H...STOSW...MOV.AX,2A09
12e60 48 0d 0a 09 53 54 4f 53 57 0d 0a 09 4d 4f 56 09 41 58 2c 35 30 46 46 48 0d 0a 09 53 54 4f 53 57 H...STOSW...MOV.AX,50FFH...STOSW
12e80 0d 0a 09 4d 4f 56 09 41 58 2c 30 30 46 36 48 0d 0a 09 53 54 4f 53 57 0d 0a 09 4d 4f 56 09 41 4c ...MOV.AX,00F6H...STOSW...MOV.AL
12ea0 2c 32 0d 0a 09 53 54 4f 53 42 0d 0a 0d 0a 09 70 75 73 68 66 09 09 09 09 3b 73 69 6d 75 6c 61 74 ,2...STOSB.....pushf....;simulat
12ec0 65 20 69 6e 74 20 31 32 68 0d 0a 09 63 61 6c 6c 09 6d 65 6d 73 69 7a 69 6e 74 09 09 3b 47 65 74 e.int.12h...call.memsizint..;Get
12ee0 20 6d 65 6d 6f 72 79 20 73 69 7a 65 2d 2d 31 4b 20 62 6c 6f 63 6b 73 20 69 6e 20 41 58 0d 0a 09 .memory.size--1K.blocks.in.AX...
12f00 4d 4f 56 09 43 4c 2c 36 0d 0a 09 53 48 4c 09 41 58 2c 43 4c 09 09 09 3b 43 6f 6e 76 65 72 74 20 MOV.CL,6...SHL.AX,CL...;Convert.
12f20 74 6f 20 31 36 2d 62 79 74 65 20 62 6c 6f 63 6b 73 28 73 65 67 6d 65 6e 74 20 6e 6f 2e 29 0d 0a to.16-byte.blocks(segment.no.)..
12f40 09 50 4f 50 09 43 58 09 09 09 3b 52 65 63 61 6c 6c 20 64 72 69 76 65 20 69 6e 66 6f 0d 0a 09 4d .POP.CX...;Recall.drive.info...M
12f60 4f 56 09 5b 44 52 56 46 41 54 5d 2c 43 58 09 09 3b 53 41 56 45 20 44 52 49 56 45 20 54 4f 20 4c OV.[DRVFAT],CX..;SAVE.DRIVE.TO.L
12f80 4f 41 44 20 44 4f 53 0d 0a 0d 0a 09 4d 4f 56 09 44 58 2c 53 45 47 20 53 59 53 49 4e 49 54 0d 0a OAD.DOS.....MOV.DX,SEG.SYSINIT..
12fa0 09 4d 4f 56 09 44 53 2c 44 58 0d 0a 01 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 44 53 3a 53 45 47 .MOV.DS,DX.........ASSUME.DS:SEG
12fc0 20 53 59 53 49 4e 49 54 0d 0a 0d 0a 09 4d 4f 56 09 4d 45 4d 4f 52 59 5f 53 49 5a 45 2c 41 58 0d .SYSINIT.....MOV.MEMORY_SIZE,AX.
12fe0 0a 09 49 4e 43 09 43 4c 0d 0a 09 4d 4f 56 09 44 45 46 41 55 4c 54 5f 44 52 49 56 45 2c 43 4c 09 ..INC.CL...MOV.DEFAULT_DRIVE,CL.
13000 20 3b 53 41 56 45 20 44 45 46 41 55 4c 54 20 44 52 49 56 45 20 53 50 45 43 0d 0a 0d 0a 09 61 64 .;SAVE.DEFAULT.DRIVE.SPEC.....ad
13020 64 09 64 78 2c 53 59 53 49 5a 45 0d 0a 09 4d 4f 56 09 43 55 52 52 45 4e 54 5f 44 4f 53 5f 4c 4f d.dx,SYSIZE...MOV.CURRENT_DOS_LO
13040 43 41 54 49 4f 4e 2c 64 78 09 09 09 3b 20 6c 6f 61 64 20 61 64 64 72 65 73 73 20 6f 66 20 44 4f CATION,dx...;.load.address.of.DO
13060 53 0d 0a 0d 0a 09 4d 4f 56 09 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 2c 53 45 47 S.....MOV.FINAL_DOS_LOCATION,SEG
13080 20 42 69 6f 73 49 6e 69 74 0d 0a 09 64 65 62 75 67 09 31 2c 32 2c 3c 44 4f 53 20 77 69 6c 6c 20 .BiosInit...debug.1,2,<DOS.will.
130a0 6c 6f 61 64 20 61 74 20 24 78 2c 20 77 69 6c 6c 20 6d 6f 76 65 20 74 6f 20 24 78 5c 6e 3e 2c 3c load.at.$x,.will.move.to.$x\n>,<
130c0 64 78 2c 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 3e 0d 0a 09 4d 4f 56 09 57 4f 52 dx,FINAL_DOS_LOCATION>...MOV.WOR
130e0 44 20 50 54 52 20 44 45 56 49 43 45 5f 4c 49 53 54 2c 4f 46 46 53 45 54 20 43 4f 4e 44 45 56 09 D.PTR.DEVICE_LIST,OFFSET.CONDEV.
13100 20 20 3b 44 53 3a 53 49 20 3d 20 70 74 72 20 74 6f 20 64 65 76 69 63 65 20 6c 69 73 74 0d 0a 09 ..;DS:SI.=.ptr.to.device.list...
13120 4d 4f 56 09 41 58 2c 43 53 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 44 45 56 49 43 45 5f MOV.AX,CS...MOV.WORD.PTR.DEVICE_
13140 4c 49 53 54 2b 32 2c 41 58 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a LIST+2,AX..;********************
13160 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
13180 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 09 57 49 4c 4c 20 49 4e 49 54 49 41 4c 49 5a 45 20 54 48 **********..;.WILL.INITIALIZE.TH
131a0 45 20 4e 55 4d 42 45 52 20 4f 46 20 44 01 52 49 56 45 53 0d 0a 3b 09 41 46 54 45 52 20 54 48 45 E.NUMBER.OF.D.RIVES..;.AFTER.THE
131c0 20 45 51 55 49 50 4d 45 4e 54 20 43 41 4c 4c 20 28 49 4e 54 20 31 31 48 29 20 42 49 54 53 20 36 .EQUIPMENT.CALL.(INT.11H).BITS.6
131e0 26 37 20 57 49 4c 4c 20 54 45 4c 4c 0d 0a 3b 09 54 48 45 20 49 4e 44 49 43 41 54 49 4f 4e 53 20 &7.WILL.TELL..;.THE.INDICATIONS.
13200 41 52 45 20 41 53 20 46 4f 4c 4c 4f 57 53 3a 0d 0a 3b 0d 0a 3b 09 42 49 54 53 09 37 09 36 09 44 ARE.AS.FOLLOWS:..;..;.BITS.7.6.D
13220 52 49 56 45 53 0d 0a 3b 09 09 30 09 30 09 31 0d 0a 3b 09 09 30 09 31 09 32 0d 0a 3b 09 09 31 09 RIVES..;..0.0.1..;..0.1.2..;..1.
13240 30 09 33 0d 0a 3b 09 09 31 09 31 09 34 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0.3..;..1.1.4..;****************
13260 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
13280 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 09 50 55 53 48 09 43 53 0d 0a 09 50 55 53 48 09 **************...PUSH.CS...PUSH.
132a0 43 53 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 50 4f 50 09 45 53 0d 0a 0d 0a 20 20 20 20 41 53 53 55 CS...POP.DS...POP.ES........ASSU
132c0 4d 45 09 44 53 3a 42 69 6f 73 53 65 67 2c 45 53 3a 42 69 6f 73 53 65 67 0d 0a 0d 0a 09 49 4e 54 ME.DS:BiosSeg,ES:BiosSeg.....INT
132e0 09 31 31 48 09 09 09 3b 47 45 54 20 45 51 55 49 50 4d 45 4e 54 20 53 54 41 54 55 53 0d 0a 09 41 .11H...;GET.EQUIPMENT.STATUS...A
13300 4e 44 09 41 4c 2c 31 31 30 30 30 30 30 30 42 09 3b 4d 41 53 4b 20 44 52 49 56 45 20 42 49 54 53 ND.AL,11000000B.;MASK.DRIVE.BITS
13320 0d 0a 09 4a 4e 5a 09 4e 4f 54 53 4e 47 4c 09 09 3b 5a 65 72 6f 20 6d 65 61 6e 73 20 73 69 6e 67 ...JNZ.NOTSNGL..;Zero.means.sing
13340 6c 65 20 64 72 69 76 65 20 73 79 73 74 65 6d 0d 0a 09 49 4e 43 09 5b 53 49 4e 47 4c 45 5d 09 3b le.drive.system...INC.[SINGLE].;
13360 52 45 4d 45 4d 42 45 52 20 54 48 49 53 0d 0a 4e 4f 54 53 4e 47 4c 3a 0d 0a 09 50 4f 50 09 41 58 REMEMBER.THIS..NOTSNGL:...POP.AX
13380 09 09 09 3b 42 4f 4f 54 20 73 70 65 63 69 66 69 65 73 20 6e 75 6d 62 65 72 20 6f 66 20 66 6c 6f ...;BOOT.specifies.number.of.flo
133a0 70 70 69 65 73 0d 0a 09 4d 4f 56 09 5b 48 05 08 01 09 02 01 02 03 04 05 06 07 08 09 01 41 52 44 ppies...MOV.[H...............ARD
133c0 4e 55 4d 5d 2c 41 4c 09 3b 52 65 6d 65 6d 62 65 72 20 77 68 69 63 68 20 64 72 69 76 65 20 69 73 NUM],AL.;Remember.which.drive.is
133e0 20 68 61 72 64 20 64 69 73 6b 0d 0a 09 4d 4f 56 09 5b 44 52 56 4d 41 58 5d 2c 41 4c 09 3b 41 6e .hard.disk...MOV.[DRVMAX],AL.;An
13400 64 20 73 65 74 20 69 6e 69 74 69 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 64 72 69 76 65 73 0d 0a d.set.initial.number.of.drives..
13420 09 4d 4f 56 09 41 48 2c 38 0d 0a 09 4d 4f 56 09 44 4c 2c 38 30 48 0d 0a 09 49 4e 54 09 31 33 48 .MOV.AH,8...MOV.DL,80H...INT.13H
13440 09 09 3b 52 65 71 75 65 73 74 20 6e 75 6d 62 65 72 20 6f 66 20 68 61 72 64 66 69 6c 65 73 20 61 ..;Request.number.of.hardfiles.a
13460 74 74 61 63 68 65 64 0d 0a 09 4a 43 09 45 4e 44 44 52 56 09 09 3b 43 61 72 72 79 20 69 6e 64 69 ttached...JC.ENDDRV..;Carry.indi
13480 63 61 74 65 73 20 6f 6c 64 20 72 6f 6d 2c 20 73 6f 20 6e 6f 20 68 61 72 64 66 69 6c 65 0d 0a 09 cates.old.rom,.so.no.hardfile...
134a0 4d 4f 56 09 5b 48 4e 55 4d 5d 2c 44 4c 0d 0a 45 4e 44 44 52 56 3a 0d 0a 09 4d 4f 56 09 44 4c 2c MOV.[HNUM],DL..ENDDRV:...MOV.DL,
134c0 38 30 48 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 45 54 20 43 53 3a 48 44 52 49 56 45 0d 0a 09 80H...MOV.DI,OFFSET.CS:HDRIVE...
134e0 43 4d 50 09 5b 48 4e 55 4d 5d 2c 30 0d 0a 09 4a 4c 45 09 49 54 53 4f 4b 31 0d 0a 09 43 41 4c 4c CMP.[HNUM],0...JLE.ITSOK1...CALL
13500 09 53 45 54 48 52 44 09 09 3b 53 45 54 20 55 50 20 46 49 52 53 54 20 48 41 52 44 46 49 4c 45 0d .SETHRD..;SET.UP.FIRST.HARDFILE.
13520 0a 0d 0a 09 4d 4f 56 09 44 4c 2c 38 31 48 09 09 3b 53 45 54 20 55 50 20 46 4f 52 20 4e 45 58 54 ....MOV.DL,81H..;SET.UP.FOR.NEXT
13540 20 43 41 4c 4c 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 45 54 20 43 53 3a 44 52 49 56 45 58 0d .CALL...MOV.DI,OFFSET.CS:DRIVEX.
13560 0a 09 4a 43 09 4e 4f 54 4f 4b 0d 0a 09 43 4d 50 09 5b 48 4e 55 4d 5d 2c 32 0d 0a 09 4a 5a 09 53 ..JC.NOTOK...CMP.[HNUM],2...JZ.S
13580 45 54 49 54 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 49 54 53 4f 4b 0d 0a 0d 0a 4e 4f 54 4f 4b 3a ETIT...JMP.SHORT.ITSOK....NOTOK:
135a0 09 4d 4f 56 09 5b 48 41 52 44 44 52 56 5d 2c 44 4c 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 01 46 53 .MOV.[HARDDRV],DL...MOV.DI,OF.FS
135c0 45 54 20 43 53 3a 48 44 52 49 56 45 0d 0a 09 44 45 43 09 5b 48 4e 55 4d 5d 0d 0a 09 43 4d 50 09 ET.CS:HDRIVE...DEC.[HNUM]...CMP.
135e0 5b 48 4e 55 4d 5d 2c 30 0d 0a 09 4a 5a 09 49 54 53 4f 4b 31 0d 0a 53 45 54 49 54 3a 09 43 41 4c [HNUM],0...JZ.ITSOK1..SETIT:.CAL
13600 4c 09 53 45 54 48 52 44 09 09 3b 53 45 54 20 55 50 20 53 45 43 4f 4e 44 20 48 41 52 44 46 49 4c L.SETHRD..;SET.UP.SECOND.HARDFIL
13620 45 0d 0a 09 4a 4e 43 09 49 54 53 4f 4b 0d 0a 09 44 45 43 09 5b 48 4e 55 4d 5d 0d 0a 0d 0a 3b 20 E...JNC.ITSOK...DEC.[HNUM]....;.
13640 45 6e 64 20 6f 66 20 64 72 69 76 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 0d 0a 49 End.of.drive.initialization....I
13660 54 53 4f 4b 3a 09 4d 4f 56 09 41 4c 2c 5b 48 4e 55 4d 5d 0d 0a 09 4f 52 09 41 4c 2c 41 4c 0d 0a TSOK:.MOV.AL,[HNUM]...OR.AL,AL..
13680 09 4a 5a 09 49 54 53 4f 4b 31 0d 0a 09 41 44 44 09 41 4c 2c 5b 48 41 52 44 4e 55 4d 5d 0d 0a 09 .JZ.ITSOK1...ADD.AL,[HARDNUM]...
136a0 4d 4f 56 09 5b 44 52 56 4d 41 58 5d 2c 41 4c 0d 0a 09 4d 4f 56 09 41 4c 2c 5b 48 4e 55 4d 5d 0d MOV.[DRVMAX],AL...MOV.AL,[HNUM].
136c0 0a 09 4a 4d 50 09 53 48 4f 52 54 20 49 54 53 4f 4b 32 09 09 3b 47 4f 20 53 45 54 20 44 45 53 54 ..JMP.SHORT.ITSOK2..;GO.SET.DEST
136e0 49 4e 41 54 49 4f 4e 20 53 45 47 4d 45 4e 54 0d 0a 0d 0a 49 54 53 4f 4b 31 3a 20 43 4d 50 09 42 INATION.SEGMENT....ITSOK1:.CMP.B
13700 59 54 45 20 50 54 52 20 5b 53 49 4e 47 4c 45 5d 2c 31 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 47 YTE.PTR.[SINGLE],1...JMP.SHORT.G
13720 4f 49 4e 49 54 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 44 53 3a 42 69 6f 73 53 65 67 0d 0a OINIT........ASSUME.DS:BiosSeg..
13740 0d 0a 49 54 53 4f 4b 32 3a 0d 0a 09 44 45 43 09 41 4c 0d 0a 0d 0a 47 4f 49 4e 49 54 3a 0d 0a 09 ..ITSOK2:...DEC.AL....GOINIT:...
13760 64 65 62 75 67 09 31 2c 31 2c 3c 68 61 72 64 6e 75 6d 2f 68 6e 75 6d 20 20 24 78 20 20 64 72 76 debug.1,1,<hardnum/hnum..$x..drv
13780 66 61 74 20 24 78 5c 6e 3e 2c 3c 3c 77 6f 72 64 20 70 74 72 20 68 6e 75 6d 3e 2c 64 72 76 66 61 fat.$x\n>,<<word.ptr.hnum>,drvfa
137a0 74 3e 0d 0a 09 50 55 53 48 09 43 53 0d 0a 09 50 4f 50 09 44 53 0d 0a 0d 0a 20 20 20 20 41 01 53 t>...PUSH.CS...POP.DS........A.S
137c0 53 55 4d 45 09 44 53 3a 42 69 6f 73 53 65 67 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 09 43 SUME.DS:BiosSeg,ES:NOTHING.....C
137e0 41 4c 4c 09 47 45 54 46 41 54 09 09 3b 52 45 41 44 20 49 4e 20 54 48 45 20 46 41 54 20 53 45 43 ALL.GETFAT..;READ.IN.THE.FAT.SEC
13800 54 4f 52 0d 0a 09 58 4f 52 09 44 49 2c 44 49 0d 0a 09 4d 4f 56 09 41 4c 2c 45 53 3a 5b 44 49 5d TOR...XOR.DI,DI...MOV.AL,ES:[DI]
13820 09 09 3b 47 45 54 20 46 41 54 20 49 44 20 42 59 54 45 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 ..;GET.FAT.ID.BYTE...MOV.BYTE.PT
13840 52 20 44 52 56 46 41 54 2b 31 2c 41 4c 09 3b 53 41 56 45 20 46 41 54 20 42 59 54 45 0d 0a 09 64 R.DRVFAT+1,AL.;SAVE.FAT.BYTE...d
13860 65 62 75 67 09 31 2c 32 2c 3c 20 46 41 54 20 49 44 3a 20 24 62 20 64 73 3a 24 78 5c 6e 3e 2c 3c ebug.1,2,<.FAT.ID:.$b.ds:$x\n>,<
13880 61 78 2c 64 73 3e 0d 0a 09 4d 4f 56 09 41 58 2c 5b 44 52 56 46 41 54 5d 0d 0a 09 43 41 4c 4c 09 ax,ds>...MOV.AX,[DRVFAT]...CALL.
138a0 47 45 54 42 50 09 09 09 3b 47 45 54 20 44 49 53 4b 20 50 4f 49 4e 54 45 52 0d 0a 09 4d 4f 56 09 GETBP...;GET.DISK.POINTER...MOV.
138c0 43 4c 2c 5b 44 49 2b 32 5d 09 09 3b 47 45 54 20 53 45 43 54 4f 52 53 2f 43 4c 55 53 54 45 52 0d CL,[DI+2]..;GET.SECTORS/CLUSTER.
138e0 0a 09 4d 4f 56 09 41 58 2c 5b 44 49 5d 2e 48 49 44 53 45 43 09 09 3b 47 45 54 20 4e 55 4d 42 45 ..MOV.AX,[DI].HIDSEC..;GET.NUMBE
13900 52 20 4f 46 20 48 49 44 44 45 4e 20 53 45 43 54 4f 52 53 0d 0a 09 53 55 42 09 5b 42 49 4f 53 24 R.OF.HIDDEN.SECTORS...SUB.[BIOS$
13920 5d 2c 41 58 09 09 3b 53 55 42 54 52 41 43 54 20 48 49 44 44 45 4e 20 53 45 43 54 4f 52 20 4f 46 ],AX..;SUBTRACT.HIDDEN.SECTOR.OF
13940 46 53 45 54 0d 0a 09 58 4f 52 09 43 48 2c 43 48 09 09 09 3b 43 58 20 3d 20 53 45 43 54 4f 52 53 FSET...XOR.CH,CH...;CX.=.SECTORS
13960 2f 43 4c 55 53 54 45 52 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 58 4f 52 09 44 49 2c 44 49 0d 0a /CLUSTER...PUSH.DS...XOR.DI,DI..
13980 09 4d 4f 56 09 44 53 2c 44 49 0d 0a 3b 0d 0a 3b 09 54 48 45 20 42 4f 4f 54 20 50 52 4f 47 52 41 .MOV.DS,DI..;..;.THE.BOOT.PROGRA
139a0 4d 20 48 41 53 20 4c 45 46 54 20 54 48 45 20 44 49 52 45 43 54 4f 52 59 20 41 54 20 30 3a 35 01 M.HAS.LEFT.THE.DIRECTORY.AT.0:5.
139c0 30 30 0d 0a 3b 0d 0a 09 4d 4f 56 09 42 58 2c 44 53 3a 57 4f 52 44 20 50 54 52 20 35 33 41 48 09 00..;...MOV.BX,DS:WORD.PTR.53AH.
139e0 3b 47 45 54 20 46 49 52 53 54 20 43 4c 55 53 54 45 52 20 4f 46 20 44 4f 53 0d 0a 09 50 4f 50 09 ;GET.FIRST.CLUSTER.OF.DOS...POP.
13a00 44 53 09 09 09 3b 42 58 20 3d 20 46 49 52 53 54 20 43 4c 55 53 54 45 52 20 4f 46 20 44 4f 53 0d DS...;BX.=.FIRST.CLUSTER.OF.DOS.
13a20 0a 4c 4f 41 44 49 54 3a 20 4d 4f 56 09 41 58 2c 53 45 47 20 53 59 53 49 4e 49 54 0d 0a 09 61 64 .LOADIT:.MOV.AX,SEG.SYSINIT...ad
13a40 64 09 61 78 2c 53 59 53 49 5a 45 0d 0a 09 4d 4f 56 09 45 53 2c 41 58 09 09 09 3b 45 53 3a 44 49 d.ax,SYSIZE...MOV.ES,AX...;ES:DI
13a60 20 50 4f 49 4e 54 53 20 54 4f 20 4c 4f 41 44 20 4c 4f 43 41 54 49 4f 4e 0d 0a 09 43 41 4c 4c 09 .POINTS.TO.LOAD.LOCATION...CALL.
13a80 47 45 54 43 4c 55 53 09 09 09 3b 52 45 41 44 20 49 4e 20 41 20 43 4c 55 53 54 45 52 0d 0a 09 43 GETCLUS...;READ.IN.A.CLUSTER...C
13aa0 4d 50 09 42 58 2c 30 46 46 46 48 0d 0a 09 4a 4e 5a 09 4c 4f 41 44 49 54 09 09 09 3b 45 4e 44 20 MP.BX,0FFFH...JNZ.LOADIT...;END.
13ac0 4f 46 20 46 49 4c 45 3f 0d 0a 0d 0a 09 45 58 54 52 4e 09 44 69 73 6b 5f 49 6e 69 74 3a 4e 45 41 OF.FILE?.....EXTRN.Disk_Init:NEA
13ae0 52 0d 0a 09 63 61 6c 6c 09 44 69 73 6b 5f 49 6e 69 74 09 09 3b 20 64 6f 20 73 6f 6d 65 20 64 65 R...call.Disk_Init..;.do.some.de
13b00 76 69 63 65 20 64 72 69 76 65 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 09 64 65 62 vice.driver.initialization...deb
13b20 75 67 09 31 2c 32 2c 3c 53 79 73 74 65 6d 20 6c 6f 61 64 65 64 2c 20 67 6f 69 6e 67 20 74 6f 20 ug.1,2,<System.loaded,.going.to.
13b40 73 79 73 69 6e 69 74 5c 6e 3e 2c 3c 3e 0d 0a 09 4a 4d 50 09 53 59 53 49 4e 49 54 0d 0a 0d 0a 53 sysinit\n>,<>...JMP.SYSINIT....S
13b60 55 42 54 54 4c 09 52 6f 75 74 69 6e 65 73 20 66 6f 72 20 72 65 61 64 69 6e 67 20 69 6e 20 4d 53 UBTTL.Routines.for.reading.in.MS
13b80 44 4f 53 0d 0a 0c 0d 0a 3b 0d 0a 3b 09 52 45 41 44 20 41 20 46 41 54 20 53 45 43 54 4f 52 20 49 DOS.....;..;.READ.A.FAT.SECTOR.I
13ba0 4e 54 4f 20 31 37 43 30 3a 30 0d 0a 3b 0d 0a 47 45 54 46 41 54 3a 20 64 65 62 75 67 09 31 2c 32 NTO.17C0:0..;..GETFAT:.debug.1,2
13bc0 01 2c 3c 47 45 54 46 41 54 2e 3e 2c 3c 3e 0d 0a 09 58 4f 52 09 44 49 2c 44 49 0d 0a 09 4d 4f 56 .,<GETFAT.>,<>...XOR.DI,DI...MOV
13be0 09 43 58 2c 31 0d 0a 09 4d 4f 56 09 44 58 2c 43 58 0d 0a 09 4d 4f 56 09 41 58 2c 42 6f 6f 74 42 .CX,1...MOV.DX,CX...MOV.AX,BootB
13c00 75 66 72 0d 0a 09 4d 4f 56 09 45 53 2c 41 58 0d 0a 09 4d 4f 56 09 41 4c 2c 42 59 54 45 20 50 54 ufr...MOV.ES,AX...MOV.AL,BYTE.PT
13c20 52 20 44 52 56 46 41 54 0d 0a 09 4d 4f 56 09 41 48 2c 30 46 43 48 0d 0a 09 4a 4d 50 09 44 49 53 R.DRVFAT...MOV.AH,0FCH...JMP.DIS
13c40 4b 52 44 0d 0a 3b 0d 0a 3b 09 52 45 41 44 20 41 20 42 4f 4f 54 20 52 45 43 4f 52 44 20 49 4e 54 KRD..;..;.READ.A.BOOT.RECORD.INT
13c60 4f 20 31 37 43 30 3a 30 0d 0a 3b 0d 0a 47 45 54 42 4f 4f 54 3a 64 65 62 75 67 09 31 2c 32 2c 3c O.17C0:0..;..GETBOOT:debug.1,2,<
13c80 47 45 54 42 4f 4f 54 2e 3e 2c 3c 3e 0d 0a 09 4d 4f 56 09 43 58 2c 31 0d 0a 09 4d 4f 56 09 41 58 GETBOOT.>,<>...MOV.CX,1...MOV.AX
13ca0 2c 30 32 30 31 48 0d 0a 09 4d 4f 56 09 42 58 2c 42 6f 6f 74 42 75 66 72 0d 0a 09 4d 4f 56 09 45 ,0201H...MOV.BX,BootBufr...MOV.E
13cc0 53 2c 42 58 0d 0a 09 58 4f 52 09 42 58 2c 42 58 0d 0a 09 4d 4f 56 09 44 48 2c 42 48 0d 0a 09 49 S,BX...XOR.BX,BX...MOV.DH,BH...I
13ce0 4e 54 09 31 33 48 0d 0a 09 4a 43 09 53 45 54 52 45 54 0d 0a 09 43 4d 50 09 57 4f 52 44 20 50 54 NT.13H...JC.SETRET...CMP.WORD.PT
13d00 52 20 45 53 3a 5b 31 46 45 48 5d 2c 30 41 41 35 35 48 0d 0a 09 4a 4e 5a 09 53 45 54 52 45 54 0d R.ES:[1FEH],0AA55H...JNZ.SETRET.
13d20 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 09 53 45 54 55 50 20 56 41 52 49 41 42 4c 45 20 53 49 5a 45 44 ..RET..;..;.SETUP.VARIABLE.SIZED
13d40 20 48 41 52 44 46 49 4c 45 0d 0a 3b 09 4f 4e 20 45 4e 54 52 59 20 44 4c 3d 44 52 49 56 45 20 4e .HARDFILE..;.ON.ENTRY.DL=DRIVE.N
13d60 55 4d 42 45 52 20 28 38 30 20 4f 52 20 38 31 29 0d 0a 3b 09 09 20 44 49 3d 50 54 52 20 54 4f 20 UMBER.(80.OR.81)..;...DI=PTR.TO.
13d80 42 2e 50 2e 42 0d 0a 3b 0d 0a 53 45 54 48 52 44 3a 20 50 55 53 48 09 44 58 0d 0a 09 4d 4f 56 09 B.P.B..;..SETHRD:.PUSH.DX...MOV.
13da0 41 48 2c 38 09 09 3b 47 45 54 20 44 52 49 56 45 20 50 41 52 41 4d 45 54 45 52 53 0d 0a 09 49 4e AH,8..;GET.DRIVE.PARAMETERS...IN
13dc0 54 01 09 31 33 48 0d 0a 09 49 4e 43 09 44 48 0d 0a 09 4d 4f 56 09 5b 44 49 5d 2e 48 44 4c 49 4d T..13H...INC.DH...MOV.[DI].HDLIM
13de0 2c 44 48 0d 0a 09 50 4f 50 09 44 58 0d 0a 09 4a 43 09 53 45 54 52 45 54 0d 0a 09 41 4e 44 09 43 ,DH...POP.DX...JC.SETRET...AND.C
13e00 4c 2c 33 46 48 0d 0a 09 4d 4f 56 09 5b 44 49 5d 2e 53 45 43 4c 49 4d 2c 43 4c 0d 0a 09 43 41 4c L,3FH...MOV.[DI].SECLIM,CL...CAL
13e20 4c 09 47 45 54 42 4f 4f 54 09 09 3b 47 45 54 20 54 48 45 20 42 4f 4f 54 20 52 45 43 4f 52 44 0d L.GETBOOT..;GET.THE.BOOT.RECORD.
13e40 0a 09 4a 43 09 53 45 54 52 45 54 0d 0a 09 4d 4f 56 09 42 58 2c 31 43 32 48 0d 0a 53 45 54 31 3a ..JC.SETRET...MOV.BX,1C2H..SET1:
13e60 09 43 4d 50 09 42 59 54 45 20 50 54 52 20 45 53 3a 5b 42 58 5d 2c 31 0d 0a 09 4a 5a 09 53 45 54 .CMP.BYTE.PTR.ES:[BX],1...JZ.SET
13e80 32 0d 0a 09 41 44 44 09 42 58 2c 31 36 0d 0a 09 43 4d 50 09 42 58 2c 32 30 32 48 0d 0a 09 4a 4e 2...ADD.BX,16...CMP.BX,202H...JN
13ea0 5a 09 53 45 54 31 0d 0a 53 45 54 52 45 54 3a 20 53 54 43 09 09 09 3b 4e 4f 54 20 46 4f 55 4e 44 Z.SET1..SETRET:.STC...;NOT.FOUND
13ec0 20 53 4f 20 55 53 45 20 44 45 46 41 55 4c 54 53 0d 0a 09 52 45 54 0d 0a 0d 0a 53 45 54 32 3a 09 .SO.USE.DEFAULTS...RET....SET2:.
13ee0 4d 4f 56 09 41 58 2c 45 53 3a 5b 42 58 2b 34 5d 0d 0a 09 4d 4f 56 09 44 53 3a 5b 44 49 5d 2e 48 MOV.AX,ES:[BX+4]...MOV.DS:[DI].H
13f00 49 44 53 45 43 2c 41 58 09 3b 53 45 54 20 48 49 44 44 45 4e 20 53 45 43 54 4f 52 20 43 4f 55 4e IDSEC,AX.;SET.HIDDEN.SECTOR.COUN
13f20 54 0d 0a 09 4d 4f 56 09 41 58 2c 45 53 3a 5b 42 58 2b 38 5d 0d 0a 09 43 4d 50 09 41 58 2c 36 34 T...MOV.AX,ES:[BX+8]...CMP.AX,64
13f40 09 09 09 3b 48 41 53 20 54 4f 20 42 45 20 41 54 20 4c 45 41 53 54 20 33 32 4b 0d 0a 09 4a 42 09 ...;HAS.TO.BE.AT.LEAST.32K...JB.
13f60 53 45 54 52 45 54 0d 0a 09 4d 4f 56 09 44 53 3a 5b 44 49 5d 2e 38 2c 41 58 09 09 3b 53 41 56 45 SETRET...MOV.DS:[DI].8,AX..;SAVE
13f80 20 4c 4f 47 49 43 41 4c 20 53 45 43 54 4f 52 20 43 4f 55 4e 54 0d 0a 09 4d 4f 56 09 43 58 2c 30 .LOGICAL.SECTOR.COUNT...MOV.CX,0
13fa0 31 30 30 48 09 09 3b 53 45 54 20 43 4c 55 53 20 53 49 5a 45 20 41 4e 44 20 53 48 49 46 54 20 43 100H..;SET.CLUS.SIZE.AND.SHIFT.C
13fc0 4f 55 01 4e 54 0d 0a 09 4d 4f 56 09 44 58 2c 36 34 09 09 09 3b 53 45 54 20 4e 55 4d 42 45 52 20 OU.NT...MOV.DX,64...;SET.NUMBER.
13fe0 4f 46 20 44 49 52 20 45 4e 54 52 49 45 53 0d 0a 09 43 4d 50 09 41 58 2c 35 31 32 0d 0a 09 4a 42 OF.DIR.ENTRIES...CMP.AX,512...JB
14000 45 09 53 45 54 33 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 4e 43 09 43 4c 0d 0a 09 E.SET3.....ADD.CH,CH...INC.CL...
14020 4d 4f 56 09 44 58 2c 31 31 32 0d 0a 09 43 4d 50 09 41 58 2c 32 30 34 38 0d 0a 09 4a 42 45 09 53 MOV.DX,112...CMP.AX,2048...JBE.S
14040 45 54 33 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 4e 43 09 43 4c 0d 0a 09 4d 4f 56 ET3.....ADD.CH,CH...INC.CL...MOV
14060 09 44 58 2c 32 35 36 0d 0a 09 43 4d 50 09 41 58 2c 38 31 39 32 0d 0a 09 4a 42 45 09 53 45 54 33 .DX,256...CMP.AX,8192...JBE.SET3
14080 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 4e 43 09 43 4c 0d 0a 09 41 44 44 09 44 58 .....ADD.CH,CH...INC.CL...ADD.DX
140a0 2c 44 58 0d 0a 09 43 4d 50 09 41 58 2c 33 32 36 38 30 09 3b 4e 4f 54 20 33 32 37 36 38 21 20 4d ,DX...CMP.AX,32680.;NOT.32768!.M
140c0 41 58 20 4e 55 4d 42 45 52 20 4f 46 20 43 4c 55 53 54 45 52 53 3d 34 30 38 35 0d 0a 09 4a 42 45 AX.NUMBER.OF.CLUSTERS=4085...JBE
140e0 09 53 45 54 33 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 4e 43 09 43 4c 0d 0a 09 41 .SET3.....ADD.CH,CH...INC.CL...A
14100 44 44 09 44 58 2c 44 58 0d 0a 53 45 54 33 3a 0d 0a 3b 0d 0a 3b 09 44 58 3d 4e 55 4d 42 45 52 20 DD.DX,DX..SET3:..;..;.DX=NUMBER.
14120 4f 46 20 44 49 52 20 45 4e 54 52 49 45 53 2c 20 43 48 3d 4e 55 4d 42 45 52 20 4f 46 20 53 45 43 OF.DIR.ENTRIES,.CH=NUMBER.OF.SEC
14140 54 4f 52 53 20 50 45 52 20 43 4c 55 53 54 45 52 0d 0a 3b 09 09 09 09 20 20 43 4c 3d 4c 4f 47 20 TORS.PER.CLUSTER..;......CL=LOG.
14160 42 41 53 45 20 32 20 4f 46 20 43 48 0d 0a 3b 0d 0a 3b 09 4e 4f 57 20 43 41 4c 43 55 4c 41 54 45 BASE.2.OF.CH..;..;.NOW.CALCULATE
14180 20 53 49 5a 45 20 4f 46 20 46 41 54 20 54 41 42 4c 45 0d 0a 3b 0d 0a 09 4d 4f 56 09 5b 44 49 5d .SIZE.OF.FAT.TABLE..;...MOV.[DI]
141a0 2e 36 2c 44 58 09 09 3b 53 41 56 45 20 4e 55 4d 42 45 52 20 4f 46 20 44 49 52 20 45 4e 54 52 49 .6,DX..;SAVE.NUMBER.OF.DIR.ENTRI
141c0 45 53 0d 01 0a 09 4d 4f 56 09 5b 44 49 5d 2e 32 2c 43 48 09 09 3b 53 41 56 45 20 53 45 43 54 4f ES....MOV.[DI].2,CH..;SAVE.SECTO
141e0 52 53 20 50 45 52 20 43 4c 55 53 54 45 52 0d 0a 09 58 4f 52 09 42 58 2c 42 58 0d 0a 09 4d 4f 56 RS.PER.CLUSTER...XOR.BX,BX...MOV
14200 09 42 4c 2c 43 48 0d 0a 09 44 45 43 09 42 58 0d 0a 09 41 44 44 09 42 58 2c 41 58 0d 0a 09 53 48 .BL,CH...DEC.BX...ADD.BX,AX...SH
14220 52 09 42 58 2c 43 4c 09 09 09 3b 44 49 56 49 44 45 20 42 59 20 53 45 43 54 4f 52 53 2f 43 4c 55 R.BX,CL...;DIVIDE.BY.SECTORS/CLU
14240 53 54 45 52 0d 0a 09 49 4e 43 09 42 58 0d 0a 09 41 4e 44 09 42 4c 2c 31 31 31 31 31 31 31 30 42 STER...INC.BX...AND.BL,11111110B
14260 09 09 3b 4d 41 4b 45 20 53 55 52 45 20 43 4f 55 4e 54 20 49 53 20 45 56 45 4e 0d 0a 09 4d 4f 56 ..;MAKE.SURE.COUNT.IS.EVEN...MOV
14280 09 53 49 2c 42 58 0d 0a 09 53 48 52 09 42 58 2c 31 0d 0a 09 41 44 44 09 42 58 2c 53 49 09 09 09 .SI,BX...SHR.BX,1...ADD.BX,SI...
142a0 3b 4d 55 4c 54 49 50 59 20 42 59 20 31 2e 35 0d 0a 09 41 44 44 09 42 58 2c 35 31 31 0d 0a 09 53 ;MULTIPY.BY.1.5...ADD.BX,511...S
142c0 48 52 09 42 48 2c 31 0d 0a 09 4d 4f 56 09 5b 44 49 5d 2e 31 31 2c 42 48 09 09 3b 53 41 56 45 20 HR.BH,1...MOV.[DI].11,BH..;SAVE.
142e0 4e 55 4d 42 45 52 20 4f 46 20 46 41 54 20 53 45 43 54 4f 52 53 0d 0a 09 43 4c 43 0d 0a 09 52 45 NUMBER.OF.FAT.SECTORS...CLC...RE
14300 54 0d 0a 3b 0d 0a 3b 20 20 52 45 41 44 20 43 4c 55 53 54 45 52 20 53 50 45 43 49 46 49 45 44 20 T..;..;..READ.CLUSTER.SPECIFIED.
14320 49 4e 20 42 58 0d 0a 3b 20 20 43 58 20 3d 20 53 45 43 54 4f 52 53 20 50 45 52 20 43 4c 55 53 54 IN.BX..;..CX.=.SECTORS.PER.CLUST
14340 45 52 0d 0a 3b 20 20 44 49 20 3d 20 4c 4f 41 44 20 4c 4f 43 41 54 49 4f 4e 0d 0a 3b 0d 0a 47 45 ER..;..DI.=.LOAD.LOCATION..;..GE
14360 54 43 4c 55 53 3a 64 65 62 75 67 09 31 2c 32 2c 3c 47 45 54 43 4c 55 53 20 62 78 20 24 78 20 63 TCLUS:debug.1,2,<GETCLUS.bx.$x.c
14380 78 20 24 78 20 65 73 3a 64 69 20 24 78 3a 24 78 20 20 3e 2c 3c 62 78 2c 63 78 2c 65 73 2c 64 69 x.$x.es:di.$x:$x..>,<bx,cx,es,di
143a0 3e 0d 0a 09 50 55 53 48 09 43 58 0d 0a 09 50 55 53 48 09 44 49 0d 0a 09 4d 4f 56 09 5b 44 4f 53 >...PUSH.CX...PUSH.DI...MOV.[DOS
143c0 43 4e 54 5d 01 2c 43 58 09 3b 53 41 56 45 20 4e 55 4d 42 45 52 20 4f 46 20 53 45 43 54 4f 52 53 CNT].,CX.;SAVE.NUMBER.OF.SECTORS
143e0 20 54 4f 20 52 45 41 44 0d 0a 09 4d 4f 56 09 41 58 2c 42 58 0d 0a 09 44 45 43 09 41 58 0d 0a 09 .TO.READ...MOV.AX,BX...DEC.AX...
14400 44 45 43 09 41 58 0d 0a 09 4d 55 4c 09 43 58 09 09 3b 43 4f 4e 56 45 52 54 20 54 4f 20 4c 4f 47 DEC.AX...MUL.CX..;CONVERT.TO.LOG
14420 49 43 41 4c 20 53 45 43 54 4f 52 0d 0a 09 41 44 44 09 41 58 2c 5b 42 49 4f 53 24 5d 09 3b 41 44 ICAL.SECTOR...ADD.AX,[BIOS$].;AD
14440 44 20 49 4e 20 46 49 52 53 54 20 44 41 54 41 20 53 45 43 54 4f 52 0d 0a 09 4d 4f 56 09 44 58 2c D.IN.FIRST.DATA.SECTOR...MOV.DX,
14460 41 58 09 09 3b 44 58 20 3d 20 46 49 52 53 54 20 53 45 43 54 4f 52 20 54 4f 20 52 45 41 44 0d 0a AX..;DX.=.FIRST.SECTOR.TO.READ..
14480 0d 0a 47 45 54 43 4c 31 3a 20 43 41 4c 4c 09 55 4e 50 41 43 4b 09 09 3b 53 49 20 3d 20 42 58 2c ..GETCL1:.CALL.UNPACK..;SI.=.BX,
144a0 20 42 58 20 3d 20 4e 45 58 54 20 41 4c 4c 4f 43 41 54 49 4f 4e 20 55 4e 49 54 0d 0a 09 53 55 42 .BX.=.NEXT.ALLOCATION.UNIT...SUB
144c0 09 53 49 2c 42 58 0d 0a 09 43 4d 50 09 53 49 2c 2d 31 09 09 3b 6f 6e 65 20 61 70 61 72 74 3f 0d .SI,BX...CMP.SI,-1..;one.apart?.
144e0 0a 09 4a 4e 5a 09 47 45 54 43 4c 32 0d 0a 09 41 44 44 09 5b 44 4f 53 43 4e 54 5d 2c 43 58 0d 0a ..JNZ.GETCL2...ADD.[DOSCNT],CX..
14500 09 4a 4d 50 09 47 45 54 43 4c 31 0d 0a 0d 0a 47 45 54 43 4c 32 3a 20 50 55 53 48 09 42 58 0d 0a .JMP.GETCL1....GETCL2:.PUSH.BX..
14520 09 4d 4f 56 09 41 58 2c 5b 44 52 56 46 41 54 5d 09 3b 47 45 54 20 44 52 49 56 45 20 41 4e 44 20 .MOV.AX,[DRVFAT].;GET.DRIVE.AND.
14540 46 41 54 20 53 50 45 43 0d 0a 09 4d 4f 56 09 43 58 2c 5b 44 4f 53 43 4e 54 5d 0d 0a 09 43 41 4c FAT.SPEC...MOV.CX,[DOSCNT]...CAL
14560 4c 09 44 49 53 4b 52 44 09 09 3b 52 45 41 44 20 54 48 45 20 43 4c 55 53 54 45 52 53 0d 0a 09 50 L.DISKRD..;READ.THE.CLUSTERS...P
14580 4f 50 09 42 58 0d 0a 09 50 4f 50 09 44 49 0d 0a 09 4d 4f 56 09 41 58 2c 5b 44 4f 53 43 4e 54 5d OP.BX...POP.DI...MOV.AX,[DOSCNT]
145a0 09 3b 47 45 54 20 4e 55 4d 42 45 52 20 4f 46 20 53 45 43 54 4f 52 53 20 52 45 41 44 0d 0a 09 58 .;GET.NUMBER.OF.SECTORS.READ...X
145c0 43 48 47 09 41 05 09 00 09 02 01 02 03 04 05 06 07 08 09 01 48 2c 41 4c 09 09 3b 4d 55 4c 54 49 CHG.A...............H,AL..;MULTI
145e0 50 4c 59 20 42 59 20 32 35 36 0d 0a 09 53 48 4c 09 41 58 2c 31 09 09 3b 54 49 4d 45 53 20 32 20 PLY.BY.256...SHL.AX,1..;TIMES.2.
14600 45 51 55 41 4c 20 35 31 32 0d 0a 09 41 44 44 09 44 49 2c 41 58 09 09 3b 55 50 44 41 54 45 20 4c EQUAL.512...ADD.DI,AX..;UPDATE.L
14620 4f 41 44 20 4c 4f 43 41 54 49 4f 4e 0d 0a 09 50 4f 50 09 43 58 09 09 3b 52 45 53 54 4f 52 45 20 OAD.LOCATION...POP.CX..;RESTORE.
14640 53 45 43 54 4f 52 53 2f 43 4c 55 53 54 45 52 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 09 47 45 54 20 SECTORS/CLUSTER...RET..;..;.GET.
14660 54 48 45 20 46 41 54 20 45 4e 54 52 59 20 41 54 20 42 58 2c 20 57 48 45 4e 20 46 49 4e 49 53 48 THE.FAT.ENTRY.AT.BX,.WHEN.FINISH
14680 45 44 20 53 49 3d 45 4e 54 52 59 20 42 58 0d 0a 3b 0d 0a 55 4e 50 41 43 4b 3a 20 50 55 53 48 09 ED.SI=ENTRY.BX..;..UNPACK:.PUSH.
146a0 44 53 0d 0a 09 50 55 53 48 09 42 58 0d 0a 09 4d 4f 56 09 53 49 2c 42 6f 6f 74 42 75 66 72 0d 0a DS...PUSH.BX...MOV.SI,BootBufr..
146c0 09 4d 4f 56 09 44 53 2c 53 49 0d 0a 09 4d 4f 56 09 53 49 2c 42 58 0d 0a 09 53 48 52 09 53 49 2c .MOV.DS,SI...MOV.SI,BX...SHR.SI,
146e0 31 0d 0a 09 4d 4f 56 09 42 58 2c 5b 53 49 2b 42 58 5d 0d 0a 09 4a 4e 43 09 48 41 56 43 4c 55 53 1...MOV.BX,[SI+BX]...JNC.HAVCLUS
14700 0d 0a 09 53 48 52 09 42 58 2c 31 0d 0a 09 53 48 52 09 42 58 2c 31 0d 0a 09 53 48 52 09 42 58 2c ...SHR.BX,1...SHR.BX,1...SHR.BX,
14720 31 0d 0a 09 53 48 52 09 42 58 2c 31 0d 0a 48 41 56 43 4c 55 53 3a 41 4e 44 09 42 58 2c 30 46 46 1...SHR.BX,1..HAVCLUS:AND.BX,0FF
14740 46 48 0d 0a 09 50 4f 50 09 53 49 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b FH...POP.SI...POP.DS...RET..;..;
14760 20 53 49 20 50 4f 49 4e 54 53 20 54 4f 20 44 45 56 49 43 45 20 48 45 41 44 45 52 0d 0a 3b 0d 0a .SI.POINTS.TO.DEVICE.HEADER..;..
14780 50 52 49 4e 54 5f 49 4e 49 54 3a 0d 0a 09 4d 4f 56 09 42 48 2c 31 0d 0a 09 4d 4f 56 09 44 4c 2c PRINT_INIT:...MOV.BH,1...MOV.DL,
147a0 31 37 48 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 44 45 56 5f 49 4e 49 54 0d 0a 41 55 58 5f 49 4e 17H...JMP.SHORT.DEV_INIT..AUX_IN
147c0 49 54 3a 0d 0a 09 4d 4f 56 09 42 58 2c 52 53 49 4e 49 54 0d 01 0a 09 4d 4f 56 09 44 4c 2c 31 34 IT:...MOV.BX,RSINIT....MOV.DL,14
147e0 48 0d 0a 44 45 56 5f 49 4e 49 54 3a 0d 0a 09 4d 4f 56 09 43 53 3a 5b 49 4e 54 4e 55 4d 5d 2c 44 H..DEV_INIT:...MOV.CS:[INTNUM],D
14800 4c 0d 0a 09 4d 4f 56 09 41 4c 2c 43 53 3a 5b 53 49 2b 31 33 5d 09 3b 47 45 54 20 44 45 56 49 43 L...MOV.AL,CS:[SI+13].;GET.DEVIC
14820 45 20 4e 55 4d 42 45 52 20 46 52 4f 4d 20 54 48 45 20 4e 41 4d 45 0d 0a 09 53 55 42 09 41 4c 2c E.NUMBER.FROM.THE.NAME...SUB.AL,
14840 22 31 22 0d 0a 09 43 42 57 0d 0a 09 4d 4f 56 09 44 58 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 2c 42 "1"...CBW...MOV.DX,AX...MOV.AX,B
14860 58 09 09 3b 53 45 54 20 54 48 45 20 43 41 4c 4c 0d 0a 09 44 42 09 30 43 44 48 09 09 3b 49 4e 54 X..;SET.THE.CALL...DB.0CDH..;INT
14880 20 31 37 48 0d 0a 49 4e 54 4e 55 4d 09 44 42 09 31 37 48 0d 0a 09 52 45 54 0d 0a 0d 0a 45 4e 44 .17H..INTNUM.DB.17H...RET....END
148a0 24 3a 0d 0a 0d 0a 42 69 6f 73 49 6e 69 74 09 45 4e 44 53 0d 0a 09 45 4e 44 0d 0a 2a 2e 65 78 65 $:....BiosInit.ENDS...END..*.exe
148c0 20 61 3a 5c 62 69 6e 0d 0a 09 6d 76 20 61 3a 72 65 61 64 6d 65 20 61 3a 5c 62 69 6e 0d 0a 09 63 .a:\bin...mv.a:readme.a:\bin...c
148e0 68 6b 64 73 6b 20 61 3a 2a 2e 2a 0d 0a 69 66 20 25 31 20 3d 3d 20 31 20 65 78 69 74 0d 0a 0d 0a hkdsk.a:*.*..if.%1.==.1.exit....
14900 09 65 63 68 6f 20 49 6e 73 65 72 74 20 6e 65 77 20 64 69 73 6b 20 66 6f 72 20 42 49 4f 53 0d 0a .echo.Insert.new.disk.for.BIOS..
14920 09 70 61 75 73 65 0d 0a 3a 64 69 73 6b 74 77 6f 0d 0a 09 64 65 6c 20 20 61 3a 5c 62 69 6f 73 5c .pause..:disktwo...del..a:\bios\
14940 2a 2e 2a 0d 0a 09 6d 6b 64 69 72 20 61 3a 5c 62 69 6f 73 0d 0a 09 63 64 20 6f 3a 5c 64 6f 73 5c *.*...mkdir.a:\bios...cd.o:\dos\
14960 62 69 6f 73 0d 0a 09 63 6f 70 79 20 6f 3a 72 65 61 64 5f 6d 65 2e 6f 65 6d 20 61 3a 5c 62 69 6f bios...copy.o:read_me.oem.a:\bio
14980 73 5c 72 65 61 64 5f 6d 65 0d 0a 09 63 6f 70 79 20 6f 3a 2a 2e 6f 62 6a 20 61 3a 5c 62 69 6f 73 s\read_me...copy.o:*.obj.a:\bios
149a0 0d 0a 09 63 6f 70 79 20 6f 3a 69 62 6d 2a 2e 61 73 6d 20 61 3a 5c 62 69 6f 73 0d 0a 09 63 6f 70 ...copy.o:ibm*.asm.a:\bios...cop
149c0 79 20 6f 3a 64 65 66 64 62 75 67 2e 69 6e 63 20 61 3a 5c 62 69 01 54 49 54 4c 45 09 44 49 53 4b y.o:defdbug.inc.a:\bi.TITLE.DISK
149e0 20 2d 20 4d 53 2d 44 4f 53 20 34 2e 30 20 64 69 73 6b 20 64 72 69 76 65 72 73 20 66 6f 72 20 49 .-.MS-DOS.4.0.disk.drivers.for.I
14a00 42 4d 0d 0a 4e 41 4d 45 09 44 49 53 4b 0d 0a 0d 0a 09 50 41 47 45 09 2c 31 33 32 0d 0a 0d 0a 3b BM..NAME.DISK.....PAGE.,132....;
14a20 44 45 42 55 47 46 4c 47 3d 31 0d 0a 0d 0a 2e 78 6c 69 73 74 0d 0a 09 49 4e 43 4c 55 44 45 20 44 DEBUGFLG=1.....xlist...INCLUDE.D
14a40 45 46 44 42 55 47 2e 49 4e 43 0d 0a 2e 6c 69 73 74 0d 0a 0d 0a 3b 20 43 6f 6e 73 74 61 6e 74 73 EFDBUG.INC...list....;.Constants
14a60 0d 0a 0d 0a 45 72 72 4c 69 6d 3d 09 09 35 09 09 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 72 65 74 ....ErrLim=..5...;.Number.of.ret
14a80 72 69 65 73 20 6f 6e 20 65 72 72 6f 72 0d 0a 0d 0a 3b 20 46 6c 6f 70 70 79 20 64 65 6c 61 79 20 ries.on.error....;.Floppy.delay.
14aa0 63 6f 6e 73 74 61 6e 74 73 0d 0a 0d 0a 44 65 6c 61 79 4c 6f 61 64 3d 09 33 35 09 09 09 3b 20 33 constants....DelayLoad=.35...;.3
14ac0 35 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 74 6f 20 6c 6f 61 64 20 68 65 61 64 0d 0a 0d 0a 3b 5.milliseconds.to.load.head....;
14ae0 20 43 6f 6e 73 74 61 6e 74 73 20 66 6f 72 20 66 6c 6f 70 70 79 20 64 69 73 6b 20 63 6f 6e 74 72 .Constants.for.floppy.disk.contr
14b00 6f 6c 6c 65 72 0d 0a 0d 0a 52 61 74 65 39 39 3d 09 09 30 30 30 48 09 09 3b 20 53 74 65 70 20 72 oller....Rate99=..000H..;.Step.r
14b20 61 74 65 20 39 36 74 70 69 20 64 69 73 6b 20 69 6e 20 39 36 74 70 69 20 64 72 69 76 65 0d 0a 52 ate.96tpi.disk.in.96tpi.drive..R
14b40 61 74 65 34 39 3d 09 09 30 30 31 48 09 09 3b 20 53 74 65 70 20 72 61 74 65 20 34 38 74 70 69 20 ate49=..001H..;.Step.rate.48tpi.
14b60 64 69 73 6b 20 69 6e 20 39 36 74 70 69 20 64 72 69 76 65 0d 0a 52 61 74 65 34 34 3d 09 09 30 30 disk.in.96tpi.drive..Rate44=..00
14b80 32 48 09 09 3b 20 53 74 65 70 20 72 61 74 65 20 34 38 74 70 69 20 64 69 73 6b 20 69 6e 20 34 38 2H..;.Step.rate.48tpi.disk.in.48
14ba0 74 70 69 20 64 72 69 76 65 0d 0a 0d 0a 3b 20 43 6f 6d 6d 61 6e 64 73 20 74 6f 20 66 6c 6f 70 70 tpi.drive....;.Commands.to.flopp
14bc0 79 20 64 69 73 6b 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 0d 0a 46 01 44 5f 43 52 45 53 45 54 3d y.disk.controller....F.D_CRESET=
14be0 09 30 30 37 48 09 09 3b 20 52 65 63 61 6c 69 62 72 61 74 65 20 64 72 69 76 65 0d 0a 46 44 5f 43 .007H..;.Recalibrate.drive..FD_C
14c00 53 45 4e 53 45 3d 09 30 30 38 48 09 09 3b 20 53 65 6e 73 65 20 69 6e 74 65 72 72 75 70 74 20 73 SENSE=.008H..;.Sense.interrupt.s
14c20 74 61 74 75 73 0d 0a 46 44 5f 43 53 45 45 4b 3d 09 30 30 46 48 09 09 3b 20 53 65 65 6b 20 74 6f tatus..FD_CSEEK=.00FH..;.Seek.to
14c40 20 61 6e 6f 74 68 65 72 20 74 72 61 63 6b 0d 0a 46 44 5f 43 52 45 41 44 3d 09 30 34 36 48 09 09 .another.track..FD_CREAD=.046H..
14c60 3b 20 4d 46 4d 20 72 65 61 64 2c 20 73 6b 69 70 20 64 65 6c 65 74 65 64 20 64 61 74 61 0d 0a 46 ;.MFM.read,.skip.deleted.data..F
14c80 44 5f 43 57 52 49 54 45 3d 09 30 34 35 48 09 09 3b 20 4d 46 4d 20 77 72 69 74 65 2c 20 73 6b 69 D_CWRITE=.045H..;.MFM.write,.ski
14ca0 70 20 64 65 6c 65 74 65 64 20 64 61 74 61 0d 0a 46 44 5f 43 53 50 45 43 3d 09 30 30 33 48 09 09 p.deleted.data..FD_CSPEC=.003H..
14cc0 3b 20 53 70 65 63 69 61 6c 20 2d 20 73 74 65 70 20 72 61 74 65 2c 20 68 65 61 64 20 6c 6f 61 64 ;.Special.-.step.rate,.head.load
14ce0 2f 75 6e 6c 6f 61 64 0d 0a 0d 0a 3b 20 53 74 61 74 75 73 20 63 6f 64 65 73 0d 0a 0d 0a 46 44 5f /unload....;.Status.codes....FD_
14d00 53 44 49 4f 3d 09 30 31 30 30 30 30 30 30 42 09 3b 20 54 72 61 6e 73 66 65 72 20 64 69 72 65 63 SDIO=.01000000B.;.Transfer.direc
14d20 74 69 6f 6e 20 28 30 20 2d 3e 20 63 6f 6e 74 72 6f 6c 6c 65 72 29 0d 0a 46 44 5f 53 52 51 4d 3d tion.(0.->.controller)..FD_SRQM=
14d40 09 31 30 30 30 30 30 30 30 42 09 3b 20 43 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 61 64 79 20 66 6f .10000000B.;.Controller.ready.fo
14d60 72 20 6e 65 78 74 20 64 61 74 61 0d 0a 0d 0a 3b 20 48 61 72 64 20 64 69 73 6b 20 63 6f 6e 74 72 r.next.data....;.Hard.disk.contr
14d80 6f 6c 6c 65 72 20 63 6f 6d 6d 61 6e 64 73 0d 0a 48 44 5f 43 53 45 4e 53 3d 09 30 33 48 09 09 3b oller.commands..HD_CSENS=.03H..;
14da0 20 72 65 71 75 65 73 74 20 73 65 6e 73 65 20 62 6c 6f 63 6b 0d 0a 48 44 5f 43 52 45 41 44 3d 09 .request.sense.block..HD_CREAD=.
14dc0 30 38 48 09 09 3b 20 72 65 61 64 0d 0a 48 44 5f 43 57 52 49 54 45 3d 01 09 30 41 48 09 09 3b 20 08H..;.read..HD_CWRITE=..0AH..;.
14de0 77 72 69 74 65 0d 0a 0d 0a 48 44 63 6f 6e 74 72 6f 6c 62 79 74 65 3d 09 30 35 48 09 09 3b 20 73 write....HDcontrolbyte=.05H..;.s
14e00 74 65 70 20 72 61 74 65 20 3d 20 37 30 20 75 73 2e 0d 0a 0d 0a 3b 20 49 2f 4f 20 70 6f 72 74 73 tep.rate.=.70.us.....;.I/O.ports
14e20 0d 0a 0d 0a 46 44 5f 50 53 45 4c 3d 09 30 33 46 32 48 09 09 3b 20 43 6f 6e 74 72 6f 6c 73 20 64 ....FD_PSEL=.03F2H..;.Controls.d
14e40 72 69 76 65 20 73 65 6c 65 63 74 20 61 6e 64 20 6d 6f 74 6f 72 73 0d 0a 46 44 5f 50 44 41 54 3d rive.select.and.motors..FD_PDAT=
14e60 09 30 33 46 35 48 09 09 3b 20 44 61 74 61 20 74 72 61 6e 73 66 65 72 20 74 6f 2f 66 72 6f 6d 20 .03F5H..;.Data.transfer.to/from.
14e80 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 46 44 5f 50 53 54 41 54 3d 09 30 33 46 34 48 09 09 3b 20 43 controller..FD_PSTAT=.03F4H..;.C
14ea0 6f 6e 74 72 6f 6c 6c 65 72 20 73 74 61 74 75 73 0d 0a 46 44 5f 50 43 4d 44 3d 09 30 33 46 37 48 ontroller.status..FD_PCMD=.03F7H
14ec0 09 09 3b 20 43 6f 6e 74 72 6f 6c 6c 65 72 20 63 6f 6d 6d 61 6e 64 20 72 65 67 69 73 74 65 72 0d ..;.Controller.command.register.
14ee0 0a 0d 0a 48 44 5f 50 44 41 54 3d 09 30 33 32 30 48 09 09 3b 20 72 65 61 64 2f 77 72 69 74 65 20 ...HD_PDAT=.0320H..;.read/write.
14f00 64 61 74 61 0d 0a 48 44 5f 50 53 54 41 54 3d 09 30 33 32 31 48 09 09 3b 20 63 6f 6e 74 72 6f 6c data..HD_PSTAT=.0321H..;.control
14f20 6c 65 72 20 73 74 61 74 75 73 0d 0a 48 44 5f 50 53 45 4c 3d 09 30 33 32 32 48 09 09 3b 20 63 6f ler.status..HD_PSEL=.0322H..;.co
14f40 6e 74 72 6f 6c 6c 65 72 20 73 65 6c 65 63 74 0d 0a 48 44 5f 50 4d 53 4b 3d 09 30 33 32 33 48 09 ntroller.select..HD_PMSK=.0323H.
14f60 09 3b 20 44 4d 41 20 61 6e 64 20 69 6e 74 65 72 72 75 70 74 20 6d 61 73 6b 20 62 69 74 73 0d 0a .;.DMA.and.interrupt.mask.bits..
14f80 0d 0a 50 44 4d 41 3d 09 09 30 09 09 3b 20 42 61 73 65 20 6f 66 20 70 6f 72 74 73 20 66 6f 72 20 ..PDMA=..0..;.Base.of.ports.for.
14fa0 44 4d 41 20 63 6f 6e 74 72 6f 6c 0d 0a 50 44 4d 41 58 3d 09 09 37 46 48 09 09 3b 20 41 64 64 72 DMA.control..PDMAX=..7FH..;.Addr
14fc0 65 73 73 20 65 78 74 65 6e 73 69 6f 6e 20 72 65 67 73 20 66 6f 72 20 44 01 4d 41 0d 0a 09 09 09 ess.extension.regs.for.D.MA.....
14fe0 09 3b 4e 4f 54 45 20 62 61 73 65 20 61 64 64 72 65 73 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 .;NOTE.base.address.suitable.for
15000 20 63 68 2e 20 32 20 26 20 33 20 6f 6e 6c 79 0d 0a 46 44 5f 44 4d 41 3d 09 09 32 09 09 3b 20 66 .ch..2.&.3.only..FD_DMA=..2..;.f
15020 6c 6f 70 70 79 20 64 69 73 6b 20 44 4d 41 20 63 68 61 6e 6e 65 6c 0d 0a 48 44 5f 44 4d 41 3d 09 loppy.disk.DMA.channel..HD_DMA=.
15040 09 33 09 09 3b 20 68 61 72 64 20 64 69 73 6b 20 44 4d 41 20 63 68 61 6e 6e 65 6c 0d 0a 0d 0a 44 .3..;.hard.disk.DMA.channel....D
15060 4d 41 5f 52 45 41 44 3d 09 34 34 48 09 09 3b 20 44 4d 41 20 72 65 61 64 20 63 6f 6d 6d 61 6e 64 MA_READ=.44H..;.DMA.read.command
15080 0d 0a 44 4d 41 5f 57 52 49 54 45 3d 09 34 38 48 09 09 3b 20 44 4d 41 20 77 72 69 74 65 20 63 6f ..DMA_WRITE=.48H..;.DMA.write.co
150a0 6d 6d 61 6e 64 0d 0a 0d 0a 3b 20 4d 69 73 63 0d 0a 0d 0a 44 4f 52 6d 61 73 6b 3d 09 30 30 43 48 mmand....;.Misc....DORmask=.00CH
150c0 09 09 3b 20 4e 6f 74 20 72 65 73 65 74 2c 20 65 6e 61 62 6c 65 20 44 4d 41 20 26 20 69 6e 74 65 ..;.Not.reset,.enable.DMA.&.inte
150e0 72 72 75 70 74 0d 0a 0d 0a 0d 0a 0d 0a 53 55 42 54 54 4c 09 44 61 74 61 20 66 6f 72 20 70 65 72 rrupt........SUBTTL.Data.for.per
15100 66 6f 72 6d 69 6e 67 20 72 65 71 75 65 73 74 73 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 3b 2a 09 44 forming.requests..PAGE.+....;*.D
15120 6f 73 20 52 65 71 75 65 73 74 20 50 61 63 6b 65 74 20 73 74 72 75 63 74 75 72 65 0d 0a 0d 0a 44 os.Request.Packet.structure....D
15140 6f 73 50 61 63 6b 65 74 20 20 20 53 54 52 55 43 0d 0a 09 52 71 43 6d 64 4c 65 6e 20 44 42 09 30 osPacket...STRUC...RqCmdLen.DB.0
15160 09 09 3b 20 4c 65 6e 67 74 68 20 6f 66 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 0d 0a 09 52 71 55 ..;.Length.of.this.command...RqU
15180 6e 69 74 09 44 42 09 30 09 09 3b 20 55 6e 69 74 20 69 6e 20 74 68 69 73 20 64 72 69 76 65 72 0d nit.DB.0..;.Unit.in.this.driver.
151a0 0a 09 52 71 43 6d 64 09 44 42 09 30 09 09 3b 20 43 6f 6d 6d 61 6e 64 20 74 6f 20 64 6f 0d 0a 09 ..RqCmd.DB.0..;.Command.to.do...
151c0 52 71 53 74 61 74 75 73 20 44 57 09 30 09 09 3b 20 53 74 61 74 75 73 20 6f 01 66 20 72 65 71 75 RqStatus.DW.0..;.Status.o.f.requ
151e0 65 73 74 0d 0a 09 09 44 44 09 30 0d 0a 09 09 44 44 09 30 09 09 3b 20 4e 6f 74 20 75 73 65 64 0d est....DD.0....DD.0..;.Not.used.
15200 0a 09 52 71 4d 65 64 69 61 20 44 42 09 30 09 09 3b 20 4d 65 64 69 61 20 64 65 73 63 72 69 70 74 ..RqMedia.DB.0..;.Media.descript
15220 6f 72 0d 0a 09 52 71 41 64 64 72 09 44 57 09 30 09 09 3b 20 4f 66 66 73 65 74 20 6f 66 20 64 61 or...RqAddr.DW.0..;.Offset.of.da
15240 74 61 0d 0a 09 09 44 57 09 30 09 09 3b 20 53 65 67 6d 65 6e 74 20 6f 66 20 64 61 74 61 0d 0a 09 ta....DW.0..;.Segment.of.data...
15260 52 71 43 6f 75 6e 74 20 44 57 09 30 09 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 RqCount.DW.0..;.Number.of.sector
15280 73 0d 0a 09 52 71 46 69 72 73 74 20 44 57 09 30 09 09 3b 20 46 69 72 73 74 20 73 65 63 74 6f 72 s...RqFirst.DW.0..;.First.sector
152a0 20 74 6f 20 64 6f 0d 0a 44 6f 73 50 61 63 6b 65 74 09 45 4e 44 53 0d 0a 0d 0a 3b 09 54 68 65 20 .to.do..DosPacket.ENDS....;.The.
152c0 64 69 73 6b 20 64 72 69 76 65 72 73 20 77 6f 72 6b 20 61 73 20 61 20 73 74 61 74 65 20 6d 61 63 disk.drivers.work.as.a.state.mac
152e0 68 69 6e 65 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 65 20 76 61 72 69 6f 75 73 20 61 63 74 69 hine.performing.the.various.acti
15300 6f 6e 73 0d 0a 3b 20 20 74 68 61 74 20 6d 61 6b 65 20 75 70 20 64 69 73 6b 20 49 2f 4f 2e 0d 0a ons..;..that.make.up.disk.I/O...
15320 0d 0a 3b 20 44 72 69 76 65 72 20 73 74 61 74 65 73 0d 0a 3b 09 54 68 65 20 66 6f 6c 6c 6f 77 69 ..;.Driver.states..;.The.followi
15340 6e 67 20 73 74 61 74 65 73 20 61 72 65 20 63 6f 6d 6d 6f 6e 20 74 6f 20 62 6f 74 68 20 64 72 69 ng.states.are.common.to.both.dri
15360 76 65 72 73 0d 0a 53 74 61 72 74 3d 09 30 09 09 09 3b 20 53 74 61 72 74 69 6e 67 20 49 2f 4f 0d vers..Start=.0...;.Starting.I/O.
15380 0a 43 61 6c 63 3d 09 31 09 09 09 3b 20 43 61 6c 63 75 6c 61 74 65 20 70 6f 73 69 74 69 6f 6e 20 .Calc=.1...;.Calculate.position.
153a0 6f 6e 20 64 69 73 6b 0d 0a 44 6f 6e 65 3d 09 37 09 09 09 3b 20 49 2f 4f 20 69 73 20 64 6f 6e 65 on.disk..Done=.7...;.I/O.is.done
153c0 0d 0a 49 64 6c 65 3d 09 38 09 09 09 3b 20 44 72 69 76 65 20 69 73 20 69 6e 61 01 63 74 69 76 65 ..Idle=.8...;.Drive.is.ina.ctive
153e0 0d 0a 45 72 72 6f 72 3d 09 39 09 09 09 3b 20 48 61 76 65 20 61 6e 20 65 72 72 6f 72 0d 0a 3b 09 ..Error=.9...;.Have.an.error..;.
15400 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 61 74 65 73 20 61 72 65 20 75 73 65 64 20 62 79 The.following.states.are.used.by
15420 20 74 68 65 20 66 6c 6f 70 70 79 20 64 72 69 76 65 72 20 6f 6e 6c 79 0d 0a 53 65 6c 65 63 74 3d .the.floppy.driver.only..Select=
15440 20 32 09 09 09 3b 20 53 65 6c 65 63 74 20 64 72 69 76 65 2c 20 73 74 61 72 74 20 6d 6f 74 6f 72 .2...;.Select.drive,.start.motor
15460 2c 20 73 65 65 6b 0d 0a 52 65 63 61 6c 3d 09 33 09 09 09 3b 20 44 72 69 76 65 20 77 61 73 20 6a ,.seek..Recal=.3...;.Drive.was.j
15480 75 73 74 20 72 65 63 61 6c 69 62 72 61 74 65 64 0d 0a 53 65 65 6b 3d 09 34 09 09 09 3b 20 53 65 ust.recalibrated..Seek=.4...;.Se
154a0 65 6b 20 6a 75 73 74 20 66 69 6e 69 73 68 65 64 0d 0a 53 65 74 74 6c 65 3d 20 35 09 09 09 3b 20 ek.just.finished..Settle=.5...;.
154c0 48 65 61 64 20 68 61 73 20 73 65 74 74 6c 65 64 0d 0a 52 64 57 72 69 3d 09 36 09 09 09 3b 20 52 Head.has.settled..RdWri=.6...;.R
154e0 65 61 64 2f 77 72 69 74 65 20 69 73 20 64 6f 6e 65 0d 0a 3b 09 54 68 65 20 66 6f 6c 6c 6f 77 69 ead/write.is.done..;.The.followi
15500 6e 67 20 73 74 61 74 65 73 20 61 72 65 20 75 73 65 64 20 62 79 20 74 68 65 20 66 69 78 65 64 20 ng.states.are.used.by.the.fixed.
15520 64 72 69 76 65 72 20 6f 6e 6c 79 0d 0a 56 65 72 69 66 79 3d 20 36 09 09 09 3b 20 53 74 61 72 74 driver.only..Verify=.6...;.Start
15540 20 76 65 72 69 66 79 20 70 6f 72 74 69 6f 6e 20 6f 66 20 77 72 69 74 65 0d 0a 0d 0a 0d 0a 44 65 .verify.portion.of.write......De
15560 76 69 63 65 53 74 72 75 63 20 53 54 52 55 43 0d 0a 09 53 74 61 74 65 09 44 57 09 49 64 6c 65 09 viceStruc.STRUC...State.DW.Idle.
15580 09 3b 20 43 75 72 72 65 6e 74 20 64 72 69 76 65 20 73 74 61 74 65 0d 0a 09 43 75 72 72 65 6e 74 .;.Current.drive.state...Current
155a0 20 44 57 09 2d 31 09 09 3b 20 43 75 72 72 65 6e 74 20 61 63 74 69 76 65 20 64 72 69 76 65 0d 0a .DW.-1..;.Current.active.drive..
155c0 09 45 72 72 43 6e 74 09 44 42 09 30 09 09 3b 20 23 20 6f 66 20 65 72 72 6f 72 73 01 20 69 6e 20 .ErrCnt.DB.0..;.#.of.errors..in.
155e0 64 6f 69 6e 67 20 72 65 71 75 65 73 74 0d 0a 09 46 6c 61 67 73 09 44 42 09 30 09 09 3b 20 56 61 doing.request...Flags.DB.0..;.Va
15600 72 69 6f 75 73 20 62 69 74 20 66 6c 61 67 73 2c 20 73 65 65 20 62 65 6c 6f 77 0d 0a 09 44 4f 52 rious.bit.flags,.see.below...DOR
15620 09 44 42 09 30 09 09 3b 20 43 6f 70 79 20 6f 66 20 73 65 6c 65 63 74 2f 6d 6f 74 6f 72 20 72 65 .DB.0..;.Copy.of.select/motor.re
15640 67 0d 0a 3b 20 46 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 20 61 72 65 20 73 65 74 20 62 79 g..;.Following.values.are.set.by
15660 20 53 65 74 75 70 20 66 72 6f 6d 20 74 68 65 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 20 61 .Setup.from.the.request.packet.a
15680 6e 64 20 61 72 65 0d 0a 3b 20 75 70 64 61 74 65 64 20 61 66 74 65 72 20 65 61 63 68 20 74 72 61 nd.are..;.updated.after.each.tra
156a0 6e 73 66 65 72 20 69 73 20 63 6f 6d 70 6c 65 74 65 64 2e 0d 0a 09 55 6e 69 74 09 44 42 09 30 09 nsfer.is.completed....Unit.DB.0.
156c0 09 3b 20 55 6e 69 74 0d 0a 09 46 69 72 73 74 09 44 57 09 30 09 09 3b 20 31 73 74 20 73 65 63 74 .;.Unit...First.DW.0..;.1st.sect
156e0 6f 72 20 6f 66 20 72 65 71 75 65 73 74 0d 0a 09 52 65 61 6c 41 64 64 72 20 44 44 09 30 09 09 3b or.of.request...RealAddr.DD.0..;
15700 20 52 65 61 6c 20 61 64 64 72 20 6f 66 20 64 61 74 61 20 77 68 65 6e 20 41 64 64 72 20 69 73 0d .Real.addr.of.data.when.Addr.is.
15720 0a 09 09 09 09 09 3b 20 73 63 72 61 74 63 68 20 62 75 66 66 65 72 2e 0d 0a 09 43 6f 75 6e 74 09 ......;.scratch.buffer....Count.
15740 44 57 09 30 09 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 78 66 65 DW.0..;.Number.of.sectors.to.xfe
15760 72 0d 0a 3b 20 46 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 20 61 72 65 20 73 65 74 20 62 79 r..;.Following.values.are.set.by
15780 20 4d 61 70 53 65 63 74 6f 72 2e 0d 0a 09 43 79 6c 09 44 57 09 30 09 09 3b 20 43 79 6c 69 6e 64 .MapSector....Cyl.DW.0..;.Cylind
157a0 65 72 0d 0a 09 53 65 63 74 6f 72 09 44 42 09 30 09 09 3b 20 53 65 63 74 6f 72 20 2d 20 7a 65 72 er...Sector.DB.0..;.Sector.-.zer
157c0 6f 20 62 61 73 65 64 0d 0a 09 48 65 61 64 09 44 42 09 30 09 09 3b 20 48 65 61 64 0d 05 09 01 09 o.based...Head.DB.0..;.Head.....
157e0 02 01 02 03 04 05 06 07 08 09 01 0a 09 4e 75 6d 53 65 63 74 6f 72 73 20 44 57 09 30 09 09 3b 20 .............NumSectors.DW.0..;.
15800 4e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 64 6f 0d 0a 09 4e 75 6d 42 79 74 Number.of.sectors.to.do...NumByt
15820 65 73 20 44 57 09 30 09 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 0d 0a 09 41 64 64 es.DW.0..;.Number.of.bytes...Add
15840 72 09 44 44 09 30 09 09 3b 20 50 6f 69 6e 74 65 72 20 74 6f 20 64 61 74 61 20 62 75 66 66 65 72 r.DD.0..;.Pointer.to.data.buffer
15860 0d 0a 3b 20 44 65 76 69 63 65 20 64 65 70 65 6e 64 65 6e 74 20 64 61 74 61 0d 0a 09 53 54 30 09 ..;.Device.dependent.data...ST0.
15880 44 42 09 30 09 09 3b 20 66 6c 6f 70 70 79 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 53 54 30 0d 0a 09 DB.0..;.floppy.controller.ST0...
158a0 53 54 31 09 44 42 09 30 09 09 3b 20 66 6c 6f 70 70 79 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 53 54 ST1.DB.0..;.floppy.controller.ST
158c0 31 0d 0a 09 53 54 32 09 44 42 09 30 09 09 3b 20 66 6c 6f 70 70 79 20 63 6f 6e 74 72 6f 6c 6c 65 1...ST2.DB.0..;.floppy.controlle
158e0 72 20 53 54 32 0d 0a 09 43 48 52 4e 09 44 42 09 30 2c 30 2c 30 2c 30 09 09 3b 20 6f 74 68 65 72 r.ST2...CHRN.DB.0,0,0,0..;.other
15900 20 66 6c 6f 70 70 79 20 73 74 61 74 75 73 20 72 65 74 75 72 6e 73 0d 0a 44 65 76 69 63 65 53 74 .floppy.status.returns..DeviceSt
15920 72 75 63 09 45 4e 44 53 0d 0a 09 44 43 42 09 45 51 55 09 53 54 30 09 09 3b 20 46 69 78 65 64 20 ruc.ENDS...DCB.EQU.ST0..;.Fixed.
15940 64 69 73 6b 20 44 65 76 69 63 65 20 43 6f 6e 74 72 6f 6c 20 42 6c 6f 63 6b 0d 0a 0d 0a 3b 20 42 disk.Device.Control.Block....;.B
15960 69 74 73 20 69 6e 20 46 6c 61 67 73 0d 0a 0d 0a 20 20 20 20 46 61 63 74 69 76 65 3d 09 09 31 09 its.in.Flags........Factive=..1.
15980 09 3b 20 41 63 74 69 76 65 6c 79 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 73 6f 6d 65 74 68 69 6e 67 .;.Actively.working.on.something
159a0 0d 0a 20 20 20 20 46 32 73 74 65 70 3d 09 09 32 09 09 3b 20 4d 75 73 74 20 64 6f 75 62 6c 65 20 ......F2step=..2..;.Must.double.
159c0 73 74 65 70 20 77 68 65 6e 20 73 65 65 6b 69 6e 67 0d 0a 20 20 20 20 46 77 72 69 74 65 3d 09 09 step.when.seeking......Fwrite=..
159e0 34 09 09 3b 20 54 68 69 73 20 69 01 73 20 61 20 77 72 69 74 65 2c 20 6e 6f 74 20 61 20 72 65 61 4..;.This.i.s.a.write,.not.a.rea
15a00 64 0d 0a 20 20 20 20 46 76 65 72 69 66 79 3d 09 09 38 09 09 3b 20 54 68 69 73 20 69 73 20 61 20 d......Fverify=..8..;.This.is.a.
15a20 76 65 72 69 66 79 2c 20 6e 6f 74 20 61 20 72 64 2f 77 72 0d 0a 20 20 20 20 46 77 72 61 70 31 3d verify,.not.a.rd/wr......Fwrap1=
15a40 09 09 30 31 30 48 09 09 3b 20 57 65 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 69 6e 67 ..010H..;.We.are.currently.using
15a60 20 53 63 72 61 74 63 68 42 75 66 66 65 72 0d 0a 20 20 20 20 46 77 72 61 70 32 3d 09 09 30 32 30 .ScratchBuffer......Fwrap2=..020
15a80 48 09 09 3b 20 57 65 20 68 61 76 65 20 75 73 65 64 20 53 63 72 61 74 63 68 42 75 66 66 65 72 20 H..;.We.have.used.ScratchBuffer.
15aa0 69 6e 20 74 68 69 73 20 72 65 71 0d 0a 0d 0a 42 69 6f 73 53 65 67 20 47 52 4f 55 50 09 43 6f 64 in.this.req....BiosSeg.GROUP.Cod
15ac0 65 2c 42 69 6f 73 49 6e 69 74 0d 0a 0d 0a 43 6f 64 65 09 53 45 47 4d 45 4e 54 20 42 59 54 45 20 e,BiosInit....Code.SEGMENT.BYTE.
15ae0 50 55 42 4c 49 43 09 27 43 4f 44 45 27 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 43 53 3a 42 69 6f PUBLIC.'CODE'......ASSUME.CS:Bio
15b00 73 53 65 67 0d 0a 0d 0a 49 46 44 45 46 09 44 45 42 55 47 46 4c 47 0d 0a 09 45 58 54 52 4e 09 42 sSeg....IFDEF.DEBUGFLG...EXTRN.B
15b20 55 47 42 49 54 53 3a 42 59 54 45 2c 44 50 52 49 4e 54 46 3a 4e 45 41 52 0d 0a 45 4e 44 49 46 0d UGBITS:BYTE,DPRINTF:NEAR..ENDIF.
15b40 0a 0d 0a 53 55 42 54 54 4c 09 44 65 76 69 63 65 20 64 61 74 61 0d 0a 50 41 47 45 09 2b 0d 0a 0d ...SUBTTL.Device.data..PAGE.+...
15b60 0a 46 6c 6f 70 70 79 09 44 65 76 69 63 65 53 74 72 75 63 09 3c 3e 0d 0a 46 69 78 65 64 09 44 65 .Floppy.DeviceStruc.<>..Fixed.De
15b80 76 69 63 65 53 74 72 75 63 09 3c 3e 0d 0a 0d 0a 3b 2a 09 50 65 72 20 64 72 69 76 65 20 69 6e 66 viceStruc.<>....;*.Per.drive.inf
15ba0 6f 72 6d 61 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 42 50 42 73 0d 0a 0d 0a 44 72 69 76 ormation,.including.BPBs....Driv
15bc0 65 53 74 72 75 63 20 20 53 54 52 55 43 0d 0a 09 42 50 42 73 65 63 73 69 7a 09 44 57 09 35 31 32 eStruc..STRUC...BPBsecsiz.DW.512
15be0 09 3b 20 50 68 79 73 69 63 61 6c 20 01 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 42 50 42 73 65 .;.Physical..sector.size...BPBse
15c00 63 70 61 75 09 44 42 09 31 09 3b 20 53 65 63 74 6f 72 73 2f 41 6c 6c 6f 63 61 74 69 6f 6e 20 75 cpau.DB.1.;.Sectors/Allocation.u
15c20 6e 69 74 0d 0a 09 42 50 42 72 65 73 73 65 63 09 44 57 09 31 09 3b 20 52 65 73 65 72 76 65 64 20 nit...BPBressec.DW.1.;.Reserved.
15c40 73 65 63 74 6f 72 73 20 66 6f 72 20 44 4f 53 0d 0a 09 42 50 42 6e 66 61 74 09 09 44 42 09 32 09 sectors.for.DOS...BPBnfat..DB.2.
15c60 3b 20 23 20 6f 66 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 74 61 62 6c 65 73 0d 0a 09 42 50 42 6e 64 ;.#.of.allocation.tables...BPBnd
15c80 69 72 09 09 44 57 09 36 34 09 3b 20 23 20 6f 66 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 ir..DW.64.;.#.of.directory.entri
15ca0 65 73 0d 0a 09 42 50 42 6e 73 65 63 09 09 44 57 09 39 2a 34 30 09 3b 20 4e 75 6d 62 65 72 20 6f es...BPBnsec..DW.9*40.;.Number.o
15cc0 66 20 73 65 63 74 6f 72 73 0d 0a 09 42 50 42 6d 65 64 69 61 62 09 44 42 09 30 46 43 48 09 3b 20 f.sectors...BPBmediab.DB.0FCH.;.
15ce0 4d 65 64 69 61 20 64 65 73 63 72 69 70 74 6f 72 0d 0a 09 42 50 42 6e 66 61 74 73 65 63 09 44 57 Media.descriptor...BPBnfatsec.DW
15d00 09 32 09 3b 20 23 20 6f 66 20 46 41 54 20 73 65 63 74 6f 72 73 0d 0a 09 42 50 42 74 72 6b 73 69 .2.;.#.of.FAT.sectors...BPBtrksi
15d20 7a 09 44 57 09 39 09 3b 20 23 20 6f 66 20 73 65 63 74 6f 72 73 2f 74 72 61 63 6b 0d 0a 09 42 50 z.DW.9.;.#.of.sectors/track...BP
15d40 42 6e 68 65 61 64 09 44 57 09 31 09 3b 20 23 20 6f 66 20 68 65 61 64 73 0d 0a 09 42 50 42 68 69 Bnhead.DW.1.;.#.of.heads...BPBhi
15d60 64 73 65 63 09 44 57 09 30 09 3b 20 48 69 64 64 65 6e 20 73 65 63 74 6f 72 20 63 6f 75 6e 74 0d dsec.DW.0.;.Hidden.sector.count.
15d80 0a 09 54 69 6d 65 72 09 09 44 42 09 30 09 3b 20 43 6f 75 6e 74 64 6f 77 6e 20 66 6f 72 20 6d 6f ..Timer..DB.0.;.Countdown.for.mo
15da0 74 6f 72 20 6f 66 66 0d 0a 09 44 72 76 46 6c 61 67 09 09 44 42 09 31 09 3b 20 50 65 72 2d 64 72 tor.off...DrvFlag..DB.1.;.Per-dr
15dc0 69 76 65 20 66 6c 61 67 73 2c 20 73 65 65 20 62 65 6c 6f 77 0d 0a 09 54 50 49 09 09 44 42 09 30 ive.flags,.see.below...TPI..DB.0
15de0 09 3b 20 44 72 69 76 65 20 54 50 49 3d 01 20 4e 6f 74 20 70 72 65 73 65 6e 74 2c 20 34 38 2c 20 .;.Drive.TPI=..Not.present,.48,.
15e00 39 36 0d 0a 09 43 75 72 43 79 6c 09 09 44 57 09 2d 31 09 3b 20 43 75 72 72 65 6e 74 20 63 79 6c 96...CurCyl..DW.-1.;.Current.cyl
15e20 69 6e 64 65 72 0d 0a 44 72 69 76 65 53 74 72 75 63 09 45 4e 44 53 0d 0a 0d 0a 3b 20 20 20 44 72 inder..DriveStruc.ENDS....;...Dr
15e40 76 46 6c 61 67 20 76 61 6c 75 65 73 0d 0a 46 72 65 73 74 6f 72 3d 09 31 09 09 09 3b 20 72 65 73 vFlag.values..Frestor=.1...;.res
15e60 74 6f 72 65 20 6e 65 65 64 65 64 0d 0a 46 6d 6f 74 6f 72 6f 6e 3d 09 32 09 09 09 3b 20 6d 6f 74 tore.needed..Fmotoron=.2...;.mot
15e80 6f 72 20 69 73 20 6f 6e 0d 0a 0d 0a 44 72 69 76 65 41 09 44 72 69 76 65 53 74 72 75 63 09 3c 3e or.is.on....DriveA.DriveStruc.<>
15ea0 09 09 3b 20 66 6c 6f 70 70 79 20 64 72 69 76 65 20 30 0d 0a 44 72 69 76 65 42 09 44 72 69 76 65 ..;.floppy.drive.0..DriveB.Drive
15ec0 53 74 72 75 63 09 3c 3e 09 09 3b 20 66 6c 6f 70 70 79 20 64 72 69 76 65 20 31 20 6f 72 20 30 0d Struc.<>..;.floppy.drive.1.or.0.
15ee0 0a 44 72 69 76 65 43 09 44 72 69 76 65 53 74 72 75 63 09 3c 3e 09 09 3b 20 68 61 72 64 20 64 72 .DriveC.DriveStruc.<>..;.hard.dr
15f00 69 76 65 20 30 20 6f 72 20 66 6c 6f 70 70 79 20 64 72 69 76 65 20 32 0d 0a 44 72 69 76 65 44 09 ive.0.or.floppy.drive.2..DriveD.
15f20 44 72 69 76 65 53 74 72 75 63 09 3c 3e 09 09 3b 20 68 61 72 64 20 64 72 69 76 65 20 31 20 6f 72 DriveStruc.<>..;.hard.drive.1.or
15f40 20 66 6c 6f 70 70 79 20 64 72 69 76 65 20 33 0d 0a 0d 0a 46 44 69 6e 66 6f 09 44 57 09 44 72 69 .floppy.drive.3....FDinfo.DW.Dri
15f60 76 65 41 0d 0a 09 44 57 09 44 72 69 76 65 42 0d 0a 48 44 69 6e 66 6f 09 44 57 09 44 72 69 76 65 veA...DW.DriveB..HDinfo.DW.Drive
15f80 43 0d 0a 09 44 57 09 44 72 69 76 65 44 0d 0a 0d 0a 0d 0a 3b 20 53 74 72 75 63 74 75 72 65 20 6f C...DW.DriveD......;.Structure.o
15fa0 66 20 70 61 72 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 66 6f 72 20 66 6c 6f 70 70 79 20 70 6f 69 f.parameter.block.for.floppy.poi
15fc0 6e 74 65 64 20 74 6f 20 62 79 20 30 3a 34 2a 31 45 0d 0a 0d 0a 46 6c 6f 70 70 79 50 61 72 61 6d nted.to.by.0:4*1E....FloppyParam
15fe0 65 74 65 72 20 53 54 52 55 43 0d 0a 09 53 01 70 65 63 31 09 44 42 09 30 09 09 3b 20 20 30 20 20 eter.STRUC...S.pec1.DB.0..;..0..
16000 31 73 74 20 62 79 74 65 20 66 6f 72 20 73 70 65 63 69 66 79 20 63 6d 64 0d 0a 09 53 70 65 63 32 1st.byte.for.specify.cmd...Spec2
16020 09 44 42 09 30 09 09 3b 20 20 31 20 20 32 6e 64 20 62 79 74 65 20 66 6f 72 20 73 70 65 63 69 66 .DB.0..;..1..2nd.byte.for.specif
16040 79 20 63 6d 64 0d 0a 09 44 65 6c 61 79 4f 66 66 20 44 42 09 30 09 09 3b 20 20 32 20 20 23 20 6f y.cmd...DelayOff.DB.0..;..2..#.o
16060 66 20 54 69 63 6b 73 28 31 2f 31 38 2e 32 29 20 75 6e 74 69 6c 0d 0a 09 09 09 09 09 3b 09 6d 6f f.Ticks(1/18.2).until.......;.mo
16080 74 6f 72 20 73 68 75 74 20 6f 66 66 0d 0a 09 53 65 63 74 6f 72 53 69 7a 65 20 44 42 09 30 09 09 tor.shut.off...SectorSize.DB.0..
160a0 3b 20 20 33 20 20 53 65 63 74 6f 72 20 73 69 7a 65 28 31 32 38 2c 32 35 36 2c 35 31 32 2c 31 30 ;..3..Sector.size(128,256,512,10
160c0 32 34 29 0d 0a 09 09 09 09 09 3b 09 3d 20 28 4f 2c 31 2c 32 2c 33 20 61 72 65 20 70 75 74 20 68 24).......;.=.(O,1,2,3.are.put.h
160e0 65 72 65 29 0d 0a 09 43 79 6c 53 69 7a 65 20 44 42 09 30 09 09 3b 20 20 34 20 20 4e 75 6d 62 65 ere)...CylSize.DB.0..;..4..Numbe
16100 72 20 6f 66 20 73 65 63 74 6f 72 73 2f 63 79 6c 69 6e 64 65 72 0d 0a 09 44 61 74 61 47 61 70 20 r.of.sectors/cylinder...DataGap.
16120 44 42 09 30 09 09 3b 20 20 35 20 20 47 61 70 20 6c 65 6e 67 74 68 20 6f 66 20 72 65 61 64 2f 77 DB.0..;..5..Gap.length.of.read/w
16140 72 69 74 65 0d 0a 09 56 61 6c 75 65 44 54 4c 20 44 42 09 30 09 09 3b 20 20 36 20 20 44 61 74 61 rite...ValueDTL.DB.0..;..6..Data
16160 20 6c 65 6e 67 74 68 20 28 69 67 6e 6f 72 65 64 29 0d 0a 09 46 6f 72 6d 61 74 47 61 70 20 44 42 .length.(ignored)...FormatGap.DB
16180 09 30 09 09 3b 20 20 37 20 20 47 61 70 20 66 6f 72 20 66 6f 72 6d 61 74 20 6f 70 65 72 61 74 69 .0..;..7..Gap.for.format.operati
161a0 6f 6e 0d 0a 09 46 6f 72 6d 61 74 46 69 6c 6c 20 44 42 09 30 09 09 3b 20 20 38 20 20 46 69 6c 6c on...FormatFill.DB.0..;..8..Fill
161c0 20 63 68 61 72 20 66 6f 72 20 66 6f 72 6d 61 74 0d 0a 09 44 65 6c 61 79 53 65 74 74 6c 65 20 44 .char.for.format...DelaySettle.D
161e0 42 09 30 09 09 3b 20 20 39 20 20 48 65 61 64 01 20 73 65 74 74 6c 65 20 74 69 6d 65 20 69 6e 20 B.0..;..9..Head..settle.time.in.
16200 6d 73 65 63 0d 0a 09 44 65 6c 61 79 4d 6f 74 6f 72 20 44 42 09 30 09 09 3b 20 31 30 20 20 4d 6f msec...DelayMotor.DB.0..;.10..Mo
16220 74 6f 72 20 73 74 61 72 74 20 74 69 6d 65 20 69 6e 20 31 2f 38 20 73 65 63 0d 0a 46 6c 6f 70 70 tor.start.time.in.1/8.sec..Flopp
16240 79 50 61 72 61 6d 65 74 65 72 20 45 4e 44 53 0d 0a 0d 0a 0d 0a 53 63 72 61 74 63 68 42 75 66 66 yParameter.ENDS......ScratchBuff
16260 65 72 09 44 42 20 35 31 32 20 44 55 50 28 3f 29 09 3b 20 53 63 72 61 74 63 68 20 62 75 66 66 65 er.DB.512.DUP(?).;.Scratch.buffe
16280 72 20 66 6f 72 20 77 68 65 6e 20 44 4d 41 20 66 61 69 6c 73 0d 0a 09 09 09 09 09 3b 20 48 6f 70 r.for.when.DMA.fails.......;.Hop
162a0 65 20 77 65 20 64 6f 6e 27 74 20 68 61 6e 64 6c 65 20 3e 35 31 32 20 73 65 63 74 6f 72 0d 0a 09 e.we.don't.handle.>512.sector...
162c0 09 09 09 09 3b 20 73 69 7a 65 0d 0a 0d 0a 3b 2a 09 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 64 ....;.size....;*.Miscellaneous.d
162e0 61 74 61 0d 0a 0d 0a 53 69 6e 67 6c 65 09 09 44 42 09 30 09 09 3b 20 6e 6f 6e 2d 7a 65 72 6f 20 ata....Single..DB.0..;.non-zero.
16300 69 66 20 31 20 66 6c 6f 70 70 79 20 64 69 73 6b 20 73 79 73 74 65 6d 0d 0a 09 09 09 09 09 3b 20 if.1.floppy.disk.system.......;.
16320 20 20 20 69 6e 20 74 68 69 73 20 63 61 73 65 2c 20 4e 75 6d 46 6c 6f 70 70 79 20 77 69 6c 6c 20 ...in.this.case,.NumFloppy.will.
16340 62 65 20 32 0d 0a 0d 0a 53 55 42 54 54 4c 09 44 61 74 61 20 66 6f 72 20 69 6e 74 65 72 66 61 63 be.2....SUBTTL.Data.for.interfac
16360 65 20 74 6f 20 34 2e 30 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 09 45 58 54 52 4e 09 44 6f 73 46 75 e.to.4.0..PAGE.+.....EXTRN.DosFu
16380 6e 63 74 69 6f 6e 3a 44 57 4f 52 44 09 3b 20 41 64 64 72 20 6f 66 20 44 4f 53 20 66 75 6e 63 74 nction:DWORD.;.Addr.of.DOS.funct
163a0 69 6f 6e 20 72 6f 75 74 69 6e 65 0d 0a 0d 0a 3b 20 44 6f 73 20 68 65 6c 70 65 72 20 66 75 6e 63 ion.routine....;.Dos.helper.func
163c0 74 69 6f 6e 73 20 75 73 65 64 20 62 79 20 64 69 73 6b 20 64 72 69 76 65 72 0d 0a 0d 0a 20 20 20 tions.used.by.disk.driver.......
163e0 20 50 75 6c 6c 52 65 71 75 65 73 74 20 3d 09 32 01 09 09 3b 20 50 75 6c 6c 20 61 20 72 65 71 75 .PullRequest.=.2...;.Pull.a.requ
16400 65 73 74 20 66 72 6f 6d 20 74 68 65 20 71 75 65 75 65 0d 0a 20 20 20 20 50 75 73 68 52 65 71 75 est.from.the.queue......PushRequ
16420 65 73 74 20 3d 09 34 09 09 3b 20 41 64 64 20 61 20 72 65 71 75 65 73 74 20 74 6f 20 74 68 65 20 est.=.4..;.Add.a.request.to.the.
16440 71 75 65 75 65 0d 0a 20 20 20 20 42 6c 6f 63 6b 50 72 6f 63 65 73 73 20 3d 09 39 09 09 3b 20 42 queue......BlockProcess.=.9..;.B
16460 6c 6f 63 6b 20 70 72 6f 63 65 73 73 20 75 6e 74 69 6c 20 49 2f 4f 20 64 6f 6e 65 0d 0a 20 20 20 lock.process.until.I/O.done.....
16480 20 43 6f 6e 74 69 6e 75 65 50 72 6f 63 65 73 73 20 3d 20 20 31 30 09 09 3b 20 49 2f 4f 20 64 6f .ContinueProcess.=..10..;.I/O.do
164a0 6e 65 2c 20 63 6f 6e 74 69 6e 75 65 20 70 72 6f 63 65 73 73 0d 0a 0d 0a 69 6e 74 5f 73 61 76 72 ne,.continue.process....int_savr
164c0 65 67 73 3d 09 33 32 48 09 09 09 3b 20 69 6e 74 65 72 72 75 70 74 20 72 6f 75 74 69 6e 65 20 77 egs=.32H...;.interrupt.routine.w
164e0 68 69 63 68 20 73 61 76 65 73 20 61 6c 6c 20 72 65 67 73 0d 0a 0d 0a 0d 0a 53 77 61 70 53 65 6d hich.saves.all.regs......SwapSem
16500 31 09 44 42 09 30 09 09 3b 20 6e 6f 6e 2d 7a 65 72 6f 20 69 66 20 77 61 69 74 69 6e 67 20 74 6f 1.DB.0..;.non-zero.if.waiting.to
16520 20 73 77 61 70 20 64 69 73 6b 73 0d 0a 53 77 61 70 53 65 6d 32 09 44 42 09 30 09 09 3b 20 6e 6f .swap.disks..SwapSem2.DB.0..;.no
16540 6e 2d 7a 65 72 6f 20 69 66 20 77 61 69 74 69 6e 67 20 74 6f 20 70 72 6f 6d 70 74 20 66 6f 72 20 n-zero.if.waiting.to.prompt.for.
16560 73 77 61 70 0d 0a 53 63 72 61 74 63 68 42 75 66 53 65 6d 09 44 42 09 30 09 09 3b 20 73 65 6d 61 swap..ScratchBufSem.DB.0..;.sema
16580 70 68 6f 72 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 53 63 72 61 74 63 68 42 75 66 66 65 72 0d phore.controlling.ScratchBuffer.
165a0 0a 0d 0a 53 45 4d 5f 57 41 4e 54 3d 09 32 0d 0a 53 45 4d 5f 42 55 53 59 3d 09 31 0d 0a 0d 0a 53 ...SEM_WANT=.2..SEM_BUSY=.1....S
165c0 65 6d 57 61 69 74 20 4d 61 63 72 6f 09 77 63 68 61 6e 0d 0a 6c 6f 63 61 6c 09 6c 31 2c 6c 32 0d emWait.Macro.wchan..local.l1,l2.
165e0 0a 09 70 75 73 68 66 0d 0a 6c 31 3a 09 63 6c 69 0d 01 0a 09 74 65 73 74 09 77 63 68 61 6e 2c 53 ..pushf..l1:.cli....test.wchan,S
16600 45 4d 5f 42 55 53 59 09 09 3b 3b 73 65 6d 61 70 68 6f 72 65 20 62 75 73 79 3f 0d 0a 09 6a 7a 09 EM_BUSY..;;semaphore.busy?...jz.
16620 6c 32 09 09 09 3b 3b 6e 6f 0d 0a 09 6f 72 09 77 63 68 61 6e 2c 53 45 4d 5f 57 41 4e 54 09 09 3b l2...;;no...or.wchan,SEM_WANT..;
16640 3b 73 61 79 20 77 65 20 77 61 6e 74 20 69 74 0d 0a 09 6d 6f 76 09 61 78 2c 63 73 0d 0a 09 6d 6f ;say.we.want.it...mov.ax,cs...mo
16660 76 09 62 78 2c 4f 46 46 53 45 54 20 77 63 68 61 6e 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 v.bx,OFFSET.wchan...xor.cx,cx...
16680 6d 6f 76 09 64 78 2c 42 6c 6f 63 6b 50 72 6f 63 65 73 73 0d 0a 09 63 61 6c 6c 09 5b 44 6f 73 46 mov.dx,BlockProcess...call.[DosF
166a0 75 6e 63 74 69 6f 6e 5d 09 09 3b 3b 77 61 69 74 20 74 69 6c 6c 20 73 65 6d 61 70 68 6f 72 65 20 unction]..;;wait.till.semaphore.
166c0 72 65 6c 65 61 73 65 64 0d 0a 09 6a 6d 70 09 6c 31 0d 0a 6c 32 3a 09 6f 72 09 77 63 68 61 6e 2c released...jmp.l1..l2:.or.wchan,
166e0 53 45 4d 5f 42 55 53 59 09 09 3b 3b 63 6c 61 69 6d 20 73 65 6d 61 70 68 6f 72 65 0d 0a 09 70 6f SEM_BUSY..;;claim.semaphore...po
16700 70 66 0d 0a 09 65 6e 64 6d 0d 0a 0d 0a 53 65 6d 53 69 67 09 4d 61 63 72 6f 09 77 63 68 61 6e 0d pf...endm....SemSig.Macro.wchan.
16720 0a 6c 6f 63 61 6c 09 6c 0d 0a 09 74 65 73 74 09 77 63 68 61 6e 2c 53 45 4d 5f 57 41 4e 54 09 09 .local.l...test.wchan,SEM_WANT..
16740 3b 3b 61 6e 79 6f 6e 65 20 77 61 69 74 69 6e 67 20 6f 6e 20 73 65 6d 61 70 68 6f 72 65 3f 0d 0a ;;anyone.waiting.on.semaphore?..
16760 09 6a 7a 09 6c 0d 0a 09 6d 6f 76 09 61 78 2c 63 73 0d 0a 09 6d 6f 76 09 62 78 2c 4f 46 46 53 45 .jz.l...mov.ax,cs...mov.bx,OFFSE
16780 54 20 77 63 68 61 6e 0d 0a 09 6d 6f 76 09 64 78 2c 43 6f 6e 74 69 6e 75 65 50 72 6f 63 65 73 73 T.wchan...mov.dx,ContinueProcess
167a0 0d 0a 09 63 61 6c 6c 09 5b 44 6f 73 46 75 6e 63 74 69 6f 6e 5d 0d 0a 6c 3a 09 61 6e 64 09 77 63 ...call.[DosFunction]..l:.and.wc
167c0 68 61 6e 2c 4e 4f 54 20 28 53 45 4d 5f 57 41 4e 54 2b 53 45 4d 5f 42 55 53 59 29 0d 0a 09 65 6e han,NOT.(SEM_WANT+SEM_BUSY)...en
167e0 64 6d 0d 0a 0d 0a 0d 0a 46 6c 6f 70 70 79 51 75 65 75 01 65 09 44 44 20 20 30 09 09 09 3b 20 4c dm......FloppyQueu.e.DD..0...;.L
16800 69 73 74 20 6f 66 20 72 65 71 75 65 73 74 73 20 66 6f 72 20 66 6c 6f 70 70 79 0d 0a 46 69 78 65 ist.of.requests.for.floppy..Fixe
16820 64 51 75 65 75 65 09 44 44 20 20 30 09 09 09 3b 20 4c 69 73 74 20 6f 66 20 72 65 71 75 65 73 74 dQueue.DD..0...;.List.of.request
16840 73 20 66 6f 72 20 66 69 78 65 64 20 64 69 73 6b 0d 0a 0d 0a 3b 20 44 65 76 69 63 65 20 64 72 69 s.for.fixed.disk....;.Device.dri
16860 76 65 72 20 68 65 61 64 65 72 73 0d 0a 0d 0a 20 20 20 20 20 20 50 55 42 4c 49 43 09 46 6c 6f 70 ver.headers..........PUBLIC.Flop
16880 70 79 44 65 76 69 63 65 0d 0a 46 6c 6f 70 70 79 44 65 76 69 63 65 09 4c 41 42 45 4c 09 57 4f 52 pyDevice..FloppyDevice.LABEL.WOR
168a0 44 0d 0a 09 44 44 09 46 69 78 65 64 44 65 76 69 63 65 09 09 3b 20 4e 65 78 74 20 64 65 76 69 63 D...DD.FixedDevice..;.Next.devic
168c0 65 20 69 73 20 68 61 72 64 20 64 69 73 6b 0d 0a 09 44 57 09 31 30 30 30 30 30 42 09 09 09 3b 20 e.is.hard.disk...DW.100000B...;.
168e0 54 68 69 73 20 69 73 20 34 2e 30 20 64 72 69 76 65 72 0d 0a 09 44 57 09 4a 75 73 74 52 65 74 75 This.is.4.0.driver...DW.JustRetu
16900 72 6e 09 09 3b 20 53 74 72 61 74 65 67 79 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 0d 0a 09 44 57 rn..;.Strategy.does.nothing...DW
16920 09 46 6c 6f 70 70 79 52 65 71 75 65 73 74 09 09 3b 20 49 6e 74 65 72 72 75 70 74 20 64 6f 65 73 .FloppyRequest..;.Interrupt.does
16940 20 74 68 65 20 77 6f 72 6b 0d 0a 4e 75 6d 46 6c 6f 70 70 79 09 44 42 09 34 09 09 3b 20 48 61 6e .the.work..NumFloppy.DB.4..;.Han
16960 64 6c 65 20 34 20 66 6c 6f 70 70 79 73 20 6d 61 78 69 6d 75 6d 0d 0a 09 44 42 09 30 09 09 09 3b dle.4.floppys.maximum...DB.0...;
16980 20 63 61 6e 20 62 65 20 61 64 64 72 65 73 73 65 64 20 61 73 20 77 6f 72 64 20 61 6c 73 6f 0d 0a .can.be.addressed.as.word.also..
169a0 0d 0a 09 45 58 54 52 4e 09 43 6f 6d 31 44 65 76 3a 4e 45 41 52 0d 0a 0d 0a 46 69 78 65 64 44 65 ...EXTRN.Com1Dev:NEAR....FixedDe
169c0 76 69 63 65 09 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 09 44 44 09 43 6f 6d 31 44 65 76 09 09 09 3b vice.LABEL.WORD...DD.Com1Dev...;
169e0 20 4e 65 78 74 20 64 65 76 69 63 65 20 69 73 20 63 6f 6d 05 0a 00 09 02 01 02 03 04 05 06 07 08 .Next.device.is.com.............
16a00 09 01 6d 20 70 6f 72 74 20 31 0d 0a 09 44 57 09 31 30 30 30 30 30 42 09 09 09 3b 20 54 68 69 73 ..m.port.1...DW.100000B...;.This
16a20 20 69 73 20 34 2e 30 20 64 72 69 76 65 72 0d 0a 09 44 57 09 4a 75 73 74 52 65 74 75 72 6e 09 09 .is.4.0.driver...DW.JustReturn..
16a40 3b 20 53 74 72 61 74 65 67 79 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 0d 0a 09 44 57 09 46 69 78 ;.Strategy.does.nothing...DW.Fix
16a60 65 64 52 65 71 75 65 73 74 09 09 3b 20 49 6e 74 65 72 72 75 70 74 20 64 6f 65 73 20 77 6f 72 6b edRequest..;.Interrupt.does.work
16a80 20 28 6d 69 73 6e 6f 6d 65 72 29 0d 0a 4e 75 6d 46 69 78 65 64 09 44 42 09 30 09 09 3b 20 48 61 .(misnomer)..NumFixed.DB.0..;.Ha
16aa0 6e 64 6c 65 20 32 20 68 61 72 64 20 64 69 73 6b 73 20 6d 61 78 69 6d 75 6d 0d 0a 0d 0a 0d 0a 3b ndle.2.hard.disks.maximum......;
16ac0 20 55 74 69 6c 69 74 79 20 72 6f 75 74 69 6e 65 73 20 77 68 69 63 68 20 72 65 73 69 64 65 20 69 .Utility.routines.which.reside.i
16ae0 6e 20 74 68 65 20 42 49 4f 53 20 6d 61 69 6e 20 6d 6f 64 75 6c 65 0d 0a 0d 0a 09 45 58 54 52 4e n.the.BIOS.main.module.....EXTRN
16b00 09 49 6e 74 65 72 72 75 70 74 3a 4e 45 41 52 09 09 3b 20 42 49 4f 53 20 69 6e 74 65 72 72 75 70 .Interrupt:NEAR..;.BIOS.interrup
16b20 74 20 72 6f 75 74 69 6e 65 28 6d 69 73 6e 6f 6d 65 72 29 0d 0a 09 45 58 54 52 4e 09 43 6d 64 45 t.routine(misnomer)...EXTRN.CmdE
16b40 72 72 3a 4e 45 41 52 0d 0a 09 45 58 54 52 4e 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 3a 4e rr:NEAR...EXTRN.StatusDevReady:N
16b60 45 41 52 0d 0a 09 45 58 54 52 4e 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 3a 4e 45 41 52 0d EAR...EXTRN.StatusComplete:NEAR.
16b80 0a 09 45 58 54 52 4e 09 53 74 61 74 75 73 45 72 72 6f 72 3a 4e 45 41 52 0d 0a 09 45 58 54 52 4e ..EXTRN.StatusError:NEAR...EXTRN
16ba0 09 53 65 74 53 74 61 74 75 73 3a 4e 45 41 52 0d 0a 0d 0a 4a 75 73 74 52 65 74 75 72 6e 09 50 52 .SetStatus:NEAR....JustReturn.PR
16bc0 4f 43 09 46 41 52 0d 0a 09 52 45 54 0d 0a 4a 75 73 74 52 65 74 75 72 6e 09 45 4e 44 50 0d 0a 0d OC.FAR...RET..JustReturn.ENDP...
16be0 0a 46 6c 6f 70 70 79 52 65 71 75 65 73 74 09 50 52 4f 43 09 46 41 52 0d 0a 09 64 65 62 75 67 09 .FloppyRequest.PROC.FAR...debug.
16c00 34 2c 01 32 2c 3c 46 6c 6f 70 70 79 52 65 71 75 65 73 74 2c 20 65 73 3a 62 78 20 24 78 3a 24 78 4,.2,<FloppyRequest,.es:bx.$x:$x
16c20 2c 20 63 6d 64 20 24 64 5c 6e 3e 2c 3c 65 73 2c 62 78 2c 3c 77 6f 72 64 20 70 74 72 20 65 73 3a ,.cmd.$d\n>,<es,bx,<word.ptr.es:
16c40 5b 62 78 2e 52 71 43 6d 64 5d 3e 3e 0d 0a 09 50 55 53 48 09 53 49 0d 0a 09 4c 45 41 09 53 49 2c [bx.RqCmd]>>...PUSH.SI...LEA.SI,
16c60 46 6c 6f 70 70 79 46 75 6e 63 74 69 6f 6e 09 3b 20 34 2e 30 20 66 75 6e 63 74 69 6f 6e 20 72 6f FloppyFunction.;.4.0.function.ro
16c80 75 74 69 6e 65 73 0d 0a 09 4a 4d 50 09 49 6e 74 65 72 72 75 70 74 09 09 3b 20 4c 65 74 20 42 49 utines...JMP.Interrupt..;.Let.BI
16ca0 4f 53 20 66 69 67 75 72 65 20 6f 75 74 20 77 68 61 74 20 74 6f 20 64 6f 0d 0a 46 6c 6f 70 70 79 OS.figure.out.what.to.do..Floppy
16cc0 52 65 71 75 65 73 74 09 45 4e 44 50 0d 0a 0d 0a 3b 20 44 69 73 70 61 74 63 68 20 74 61 62 6c 65 Request.ENDP....;.Dispatch.table
16ce0 20 66 6f 72 20 61 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 66 6c 6f 70 70 79 20 72 65 71 75 65 .for.actions.of.the.floppy.reque
16d00 73 74 65 64 20 62 79 20 34 2e 30 0d 0a 0d 0a 46 6c 6f 70 70 79 46 75 6e 63 74 69 6f 6e 09 4c 41 sted.by.4.0....FloppyFunction.LA
16d20 42 45 4c 09 57 4f 52 44 0d 0a 09 44 57 09 46 6c 6f 70 70 79 49 6e 69 74 09 09 3b 20 20 30 20 20 BEL.WORD...DW.FloppyInit..;..0..
16d40 49 6e 69 74 69 61 6c 69 7a 65 0d 0a 09 44 57 09 46 6c 6f 70 70 79 43 68 65 63 6b 09 09 3b 20 20 Initialize...DW.FloppyCheck..;..
16d60 31 20 20 43 68 65 63 6b 20 6d 65 64 69 61 0d 0a 09 44 57 09 46 6c 6f 70 70 79 42 75 69 6c 64 09 1..Check.media...DW.FloppyBuild.
16d80 09 3b 20 20 32 20 20 42 75 69 6c 64 20 42 50 42 0d 0a 09 44 57 09 43 6d 64 45 72 72 09 09 09 3b .;..2..Build.BPB...DW.CmdErr...;
16da0 20 20 33 20 20 49 4f 43 54 4c 20 69 6e 70 75 74 0d 0a 09 44 57 09 46 6c 6f 70 70 79 52 65 61 64 ..3..IOCTL.input...DW.FloppyRead
16dc0 09 09 3b 20 20 34 20 20 52 65 61 64 0d 0a 09 44 57 09 53 74 61 74 75 73 44 65 76 52 65 61 64 79 ..;..4..Read...DW.StatusDevReady
16de0 09 09 3b 20 20 35 20 20 4e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 72 65 61 64 0d 0a 09 44 ..;..5..Non-destructive.read...D
16e00 57 09 53 01 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 20 36 20 20 49 6e 70 75 74 20 73 W.S.tatusComplete..;..6..Input.s
16e20 74 61 74 75 73 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 20 37 20 tatus...DW.StatusComplete..;..7.
16e40 20 49 6e 70 75 74 20 66 6c 75 73 68 0d 0a 09 44 57 09 46 6c 6f 70 70 79 57 72 69 74 65 09 09 3b .Input.flush...DW.FloppyWrite..;
16e60 20 20 38 20 20 57 72 69 74 65 0d 0a 09 44 57 09 46 6c 6f 70 70 79 57 72 69 74 65 56 09 09 3b 20 ..8..Write...DW.FloppyWriteV..;.
16e80 20 39 20 20 57 72 69 74 65 20 77 69 74 68 20 76 65 72 69 66 79 0d 0a 09 44 57 09 43 6d 64 45 72 .9..Write.with.verify...DW.CmdEr
16ea0 72 09 09 09 3b 20 31 30 20 20 4f 75 74 70 75 74 20 73 74 61 74 75 73 0d 0a 09 44 57 09 43 6d 64 r...;.10..Output.status...DW.Cmd
16ec0 45 72 72 09 09 09 3b 20 31 31 20 20 4f 75 74 70 75 74 20 66 6c 75 73 68 0d 0a 09 44 57 09 43 6d Err...;.11..Output.flush...DW.Cm
16ee0 64 45 72 72 09 09 09 3b 20 31 32 20 20 49 4f 43 54 4c 20 6f 75 74 70 75 74 0d 0a 09 44 57 09 43 dErr...;.12..IOCTL.output...DW.C
16f00 6d 64 45 72 72 09 09 09 3b 20 31 33 20 20 44 65 76 69 63 65 20 6f 70 65 6e 0d 0a 09 44 57 09 43 mdErr...;.13..Device.open...DW.C
16f20 6d 64 45 72 72 09 09 09 3b 20 31 34 20 20 44 65 76 69 63 65 20 63 6c 6f 73 65 0d 0a 09 44 57 09 mdErr...;.14..Device.close...DW.
16f40 43 6d 64 45 72 72 09 09 09 3b 20 31 35 20 20 52 65 6d 6f 76 61 62 6c 65 20 6d 65 64 69 61 0d 0a CmdErr...;.15..Removable.media..
16f60 09 44 57 09 43 6d 64 45 72 72 09 09 09 3b 20 31 36 20 20 47 65 6e 65 72 69 63 20 49 4f 43 54 4c .DW.CmdErr...;.16..Generic.IOCTL
16f80 20 72 65 71 75 65 73 74 0d 0a 0d 0a 46 69 78 65 64 52 65 71 75 65 73 74 09 50 52 4f 43 09 46 41 .request....FixedRequest.PROC.FA
16fa0 52 0d 0a 09 64 65 62 75 67 09 38 2c 32 2c 3c 46 69 78 65 64 52 65 71 75 65 73 74 2c 20 65 73 3a R...debug.8,2,<FixedRequest,.es:
16fc0 62 78 20 24 78 3a 24 78 2c 20 63 6d 64 20 24 64 5c 6e 3e 2c 3c 65 73 2c 62 78 2c 3c 77 6f 72 64 bx.$x:$x,.cmd.$d\n>,<es,bx,<word
16fe0 20 70 74 72 20 65 73 3a 5b 62 78 2e 52 71 43 6d 64 5d 3e 3e 0d 0a 09 50 55 53 48 09 53 49 0d 0a .ptr.es:[bx.RqCmd]>>...PUSH.SI..
17000 09 4c 45 41 01 09 53 49 2c 46 69 78 65 64 46 75 6e 63 74 69 6f 6e 09 3b 20 34 2e 30 20 66 75 6e .LEA..SI,FixedFunction.;.4.0.fun
17020 63 74 69 6f 6e 20 72 6f 75 74 69 6e 65 73 0d 0a 09 4a 4d 50 09 49 6e 74 65 72 72 75 70 74 09 09 ction.routines...JMP.Interrupt..
17040 3b 20 4c 65 74 20 42 49 4f 53 20 66 69 67 75 72 65 20 6f 75 74 20 77 68 61 74 20 74 6f 20 64 6f ;.Let.BIOS.figure.out.what.to.do
17060 0d 0a 46 69 78 65 64 52 65 71 75 65 73 74 09 45 4e 44 50 0d 0a 0d 0a 3b 20 44 69 73 70 61 74 63 ..FixedRequest.ENDP....;.Dispatc
17080 68 20 74 61 62 6c 65 20 66 6f 72 20 61 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 68 61 72 64 20 h.table.for.actions.of.the.hard.
170a0 64 69 73 6b 20 72 65 71 75 65 73 74 65 64 20 62 79 20 34 2e 30 0d 0a 0d 0a 46 69 78 65 64 46 75 disk.requested.by.4.0....FixedFu
170c0 6e 63 74 69 6f 6e 09 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 09 44 57 09 46 69 78 65 64 49 6e 69 74 nction.LABEL.WORD...DW.FixedInit
170e0 09 09 3b 20 20 30 20 20 49 6e 69 74 69 61 6c 69 7a 65 0d 0a 09 44 57 09 46 69 78 65 64 43 68 65 ..;..0..Initialize...DW.FixedChe
17100 63 6b 09 09 3b 20 20 31 20 20 43 68 65 63 6b 20 6d 65 64 69 61 0d 0a 09 44 57 09 46 69 78 65 64 ck..;..1..Check.media...DW.Fixed
17120 42 75 69 6c 64 09 09 3b 20 20 32 20 20 42 75 69 6c 64 20 42 50 42 0d 0a 09 44 57 09 43 6d 64 45 Build..;..2..Build.BPB...DW.CmdE
17140 72 72 09 09 09 3b 20 20 33 20 20 49 4f 43 54 4c 20 69 6e 70 75 74 0d 0a 09 44 57 09 46 69 78 65 rr...;..3..IOCTL.input...DW.Fixe
17160 64 52 65 61 64 09 09 3b 20 20 34 20 20 52 65 61 64 0d 0a 09 44 57 09 53 74 61 74 75 73 44 65 76 dRead..;..4..Read...DW.StatusDev
17180 52 65 61 64 79 09 09 3b 20 20 35 20 20 4e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 72 65 61 Ready..;..5..Non-destructive.rea
171a0 64 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 20 36 20 20 49 6e 70 d...DW.StatusComplete..;..6..Inp
171c0 75 74 20 73 74 61 74 75 73 0d 0a 09 44 57 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b ut.status...DW.StatusComplete..;
171e0 20 20 37 20 20 49 6e 70 75 74 20 66 6c 75 73 68 0d 0a 09 44 57 09 46 69 78 65 64 57 72 69 74 65 ..7..Input.flush...DW.FixedWrite
17200 09 09 3b 20 20 01 38 20 20 57 72 69 74 65 0d 0a 09 44 57 09 46 69 78 65 64 57 72 69 74 65 56 09 ..;...8..Write...DW.FixedWriteV.
17220 09 3b 20 20 39 20 20 57 72 69 74 65 20 77 69 74 68 20 76 65 72 69 66 79 0d 0a 09 44 57 09 43 6d .;..9..Write.with.verify...DW.Cm
17240 64 45 72 72 09 09 09 3b 20 31 30 20 20 4f 75 74 70 75 74 20 73 74 61 74 75 73 0d 0a 09 44 57 09 dErr...;.10..Output.status...DW.
17260 43 6d 64 45 72 72 09 09 09 3b 20 31 31 20 20 4f 75 74 70 75 74 20 66 6c 75 73 68 0d 0a 09 44 57 CmdErr...;.11..Output.flush...DW
17280 09 43 6d 64 45 72 72 09 09 09 3b 20 31 32 20 20 49 4f 43 54 4c 20 6f 75 74 70 75 74 0d 0a 09 44 .CmdErr...;.12..IOCTL.output...D
172a0 57 09 43 6d 64 45 72 72 09 09 09 3b 20 31 33 20 20 44 65 76 69 63 65 20 6f 70 65 6e 0d 0a 09 44 W.CmdErr...;.13..Device.open...D
172c0 57 09 43 6d 64 45 72 72 09 09 09 3b 20 31 34 20 20 44 65 76 69 63 65 20 63 6c 6f 73 65 0d 0a 09 W.CmdErr...;.14..Device.close...
172e0 44 57 09 43 6d 64 45 72 72 09 09 09 3b 20 31 35 20 20 52 65 6d 6f 76 61 62 6c 65 20 6d 65 64 69 DW.CmdErr...;.15..Removable.medi
17300 61 0d 0a 09 44 57 09 43 6d 64 45 72 72 09 09 09 3b 20 31 36 20 20 47 65 6e 65 72 69 63 20 49 4f a...DW.CmdErr...;.16..Generic.IO
17320 43 54 4c 20 72 65 71 75 65 73 74 0d 0a 0d 0a 0d 0a 53 55 42 54 54 4c 09 44 61 74 61 20 66 6f 72 CTL.request......SUBTTL.Data.for
17340 20 72 6f 75 74 69 6e 65 73 20 74 68 61 74 20 6d 61 6b 65 20 64 69 72 65 63 74 20 49 6e 74 20 31 .routines.that.make.direct.Int.1
17360 33 20 72 65 71 75 65 73 74 73 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 0d 0a 52 65 61 6c 49 6e 74 31 3.requests..PAGE.+......RealInt1
17380 33 56 65 63 09 64 77 09 30 09 09 3b 20 55 73 65 64 20 74 6f 20 6d 61 6b 65 20 49 6e 74 20 31 33 3Vec.dw.0..;.Used.to.make.Int.13
173a0 20 72 65 71 75 65 73 74 73 0d 0a 09 09 64 77 09 30 0d 0a 4f 6c 64 49 6e 74 44 56 65 63 09 64 77 .requests....dw.0..OldIntDVec.dw
173c0 09 30 09 09 3b 20 4d 75 73 74 20 62 65 20 72 65 73 65 74 20 77 68 65 6e 20 49 6e 74 20 31 33 27 .0..;.Must.be.reset.when.Int.13'
173e0 73 20 6f 6e 20 68 61 72 64 0d 0a 09 09 64 77 09 30 09 09 3b 20 20 64 69 73 6b 2e 0d 0a 4f 6c 64 s.on.hard....dw.0..;..disk...Old
17400 49 6e 74 45 56 65 01 63 09 64 77 09 30 09 09 3b 20 4d 75 73 74 20 62 65 20 72 65 73 65 74 20 77 IntEVe.c.dw.0..;.Must.be.reset.w
17420 68 65 6e 20 49 6e 74 20 31 33 27 73 20 6f 6e 20 66 6c 6f 70 70 79 0d 0a 09 09 64 77 09 30 09 09 hen.Int.13's.on.floppy....dw.0..
17440 3b 20 20 64 69 73 6b 2e 0d 0a 53 65 6d 44 69 73 6b 49 4f 09 64 62 09 30 09 09 3b 20 53 65 6d 61 ;..disk...SemDiskIO.db.0..;.Sema
17460 70 68 6f 72 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 64 69 73 6b 20 69 6f 0d 0a 53 65 6d 49 6e phore.controlling.disk.io..SemIn
17480 74 31 33 09 64 62 09 30 09 09 3b 20 53 65 6d 61 70 68 6f 72 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e t13.db.0..;.Semaphore.controllin
174a0 67 20 49 6e 74 20 31 33 27 73 0d 0a 0d 0a 0d 0a 53 55 42 54 54 4c 09 34 2e 30 20 64 65 76 69 63 g.Int.13's......SUBTTL.4.0.devic
174c0 65 20 64 72 69 76 65 72 20 72 6f 75 74 69 6e 65 73 20 28 73 79 73 74 65 6d 20 65 6e 74 72 79 20 e.driver.routines.(system.entry.
174e0 70 6f 69 6e 74 73 29 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 42 69 6f 73 49 6e 69 74 09 53 45 47 4d points)..PAGE.+....BiosInit.SEGM
17500 45 4e 54 20 50 41 52 41 20 50 55 42 4c 49 43 09 27 43 4f 44 45 27 0d 0a 20 20 20 20 41 53 53 55 ENT.PARA.PUBLIC.'CODE'......ASSU
17520 4d 45 09 43 53 3a 42 69 6f 73 53 65 67 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 44 69 73 6b 5f 49 6e ME.CS:BiosSeg.....PUBLIC.Disk_In
17540 69 74 0d 0a 44 69 73 6b 5f 49 6e 69 74 09 50 52 4f 43 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a it..Disk_Init.PROC..;***********
17560 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
17580 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 09 54 68 69 73 20 72 6f 75 74 *******************..;.This.rout
175a0 69 6e 65 20 70 65 72 66 6f 72 6d 73 20 64 65 76 69 63 65 20 64 65 70 65 6e 64 65 6e 74 20 69 6e ine.performs.device.dependent.in
175c0 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 3b 09 64 75 72 69 6e 67 20 74 68 65 20 42 49 4f 53 20 itialization..;.during.the.BIOS.
175e0 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 09 20 4e 6f 74 20 74 6f 20 62 65 20 63 6f 6e 66 75 initialization...Not.to.be.confu
17600 73 65 64 0d 0a 3b 09 01 77 69 74 68 20 74 68 65 20 64 65 76 69 63 65 20 69 6e 69 74 69 61 6c 69 sed..;..with.the.device.initiali
17620 7a 61 74 69 6f 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 20 77 68 69 63 68 20 61 72 65 0d 0a 3b zation.entry.points.which.are..;
17640 09 63 61 6c 6c 65 64 20 6c 61 74 65 72 20 6f 6e 20 61 6e 64 20 70 65 72 66 6f 72 6d 20 64 69 66 .called.later.on.and.perform.dif
17660 66 65 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 73 2e 0d 0a 3b 0d 0a 3b 09 41 46 54 45 52 20 54 48 ferent.functions...;..;.AFTER.TH
17680 45 20 45 51 55 49 50 4d 45 4e 54 20 43 41 4c 4c 20 28 49 4e 54 20 31 31 48 29 20 42 49 54 53 20 E.EQUIPMENT.CALL.(INT.11H).BITS.
176a0 36 26 37 20 57 49 4c 4c 20 54 45 4c 4c 0d 0a 3b 09 54 48 45 20 4e 55 4d 42 45 52 20 4f 46 20 46 6&7.WILL.TELL..;.THE.NUMBER.OF.F
176c0 4c 4f 50 50 59 20 44 49 53 4b 53 20 49 4e 20 54 48 45 20 53 59 53 54 45 4d 2e 0d 0a 3b 09 54 48 LOPPY.DISKS.IN.THE.SYSTEM...;.TH
176e0 45 20 49 4e 44 49 43 41 54 49 4f 4e 53 20 41 52 45 20 41 53 20 46 4f 4c 4c 4f 57 53 3a 0d 0a 3b E.INDICATIONS.ARE.AS.FOLLOWS:..;
17700 0d 0a 3b 09 42 49 54 53 09 37 09 36 09 44 52 49 56 45 53 0d 0a 3b 09 09 30 09 30 09 31 0d 0a 3b ..;.BITS.7.6.DRIVES..;..0.0.1..;
17720 09 09 30 09 31 09 32 0d 0a 3b 09 09 31 09 30 09 33 0d 0a 3b 09 09 31 09 31 09 34 0d 0a 3b 2a 2a ..0.1.2..;..1.0.3..;..1.1.4..;**
17740 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
17760 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a ****************************....
17780 09 64 65 62 75 67 09 31 32 2c 31 2c 3c 50 65 72 66 6f 72 6d 69 6e 67 20 64 69 73 6b 20 64 72 69 .debug.12,1,<Performing.disk.dri
177a0 76 65 72 20 70 72 65 2d 44 4f 53 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 5c 6e 3e 2c 3c 3e ver.pre-DOS.initialization\n>,<>
177c0 0d 0a 09 50 55 53 48 09 43 53 0d 0a 09 50 4f 50 09 44 53 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d ...PUSH.CS...POP.DS........ASSUM
177e0 45 09 44 53 3a 42 69 6f 73 53 65 67 0d 0a 09 49 4e 54 09 31 31 48 09 09 09 3b 47 45 54 20 45 51 E.DS:BiosSeg...INT.11H...;GET.EQ
17800 55 49 50 4d 45 4e 54 20 01 53 54 41 54 55 53 0d 0a 09 72 6f 6c 09 61 6c 2c 31 09 09 09 3b 20 72 UIPMENT..STATUS...rol.al,1...;.r
17820 6f 74 61 74 65 20 61 72 6f 75 6e 64 20 74 6f 20 6c 6f 77 20 6f 72 64 65 72 20 62 69 74 73 0d 0a otate.around.to.low.order.bits..
17840 09 72 6f 6c 09 61 6c 2c 31 0d 0a 09 41 4e 44 09 41 4c 2c 31 31 42 09 09 09 3b 4d 41 53 4b 20 44 .rol.al,1...AND.AL,11B...;MASK.D
17860 52 49 56 45 20 42 49 54 53 0d 0a 09 4a 4e 5a 09 4e 4f 54 53 4e 47 4c 09 09 3b 5a 65 72 6f 20 6d RIVE.BITS...JNZ.NOTSNGL..;Zero.m
17880 65 61 6e 73 20 73 69 6e 67 6c 65 20 64 72 69 76 65 20 73 79 73 74 65 6d 0d 0a 09 49 4e 43 09 5b eans.single.drive.system...INC.[
178a0 53 49 4e 47 4c 45 5d 09 3b 52 45 4d 45 4d 42 45 52 20 54 48 49 53 0d 0a 09 69 6e 63 09 61 6c 09 SINGLE].;REMEMBER.THIS...inc.al.
178c0 09 3b 20 6d 61 6b 65 20 69 74 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 77 6f 2d 64 72 69 76 65 20 73 .;.make.it.look.like.two-drive.s
178e0 79 73 74 65 6d 0d 0a 4e 4f 54 53 4e 47 4c 3a 0d 0a 09 69 6e 63 09 61 6c 0d 0a 09 4d 4f 56 09 5b ystem..NOTSNGL:...inc.al...MOV.[
17900 4e 75 6d 46 6c 6f 70 70 79 5d 2c 41 4c 09 09 3b 52 65 6d 65 6d 62 65 72 20 68 6f 77 20 6d 61 6e NumFloppy],AL..;Remember.how.man
17920 79 20 64 72 69 76 65 73 0d 0a 09 4d 4f 56 09 41 48 2c 38 0d 0a 09 4d 4f 56 09 44 4c 2c 38 30 48 y.drives...MOV.AH,8...MOV.DL,80H
17940 0d 0a 09 49 4e 54 09 31 33 48 09 09 3b 52 65 71 75 65 73 74 20 6e 75 6d 62 65 72 20 6f 66 20 68 ...INT.13H..;Request.number.of.h
17960 61 72 64 66 69 6c 65 73 20 61 74 74 61 63 68 65 64 0d 0a 09 4a 43 09 45 4e 44 44 52 56 09 09 3b ardfiles.attached...JC.ENDDRV..;
17980 43 61 72 72 79 20 69 6e 64 69 63 61 74 65 73 20 6f 6c 64 20 72 6f 6d 2c 20 73 6f 20 6e 6f 20 68 Carry.indicates.old.rom,.so.no.h
179a0 61 72 64 66 69 6c 65 0d 0a 09 4d 4f 56 09 5b 4e 75 6d 46 69 78 65 64 5d 2c 44 4c 0d 0a 09 74 65 ardfile...MOV.[NumFixed],DL...te
179c0 73 74 09 64 6c 2c 64 6c 09 09 09 3b 20 61 6e 79 20 73 70 65 63 69 66 69 65 64 3f 0d 0a 09 6a 7a st.dl,dl...;.any.specified?...jz
179e0 09 45 4e 44 44 52 56 09 09 09 3b 20 6e 6f 0d 0a 09 63 6d 70 09 4e 75 6d 46 6c 6f 70 70 79 2c 32 .ENDDRV...;.no...cmp.NumFloppy,2
17a00 09 09 3b 20 74 6f 6f 20 6d 01 61 6e 79 20 66 6c 6f 70 70 69 65 73 3f 0d 0a 09 6a 62 65 09 45 4e ..;.too.m.any.floppies?...jbe.EN
17a20 44 44 52 56 0d 0a 09 6d 6f 76 09 4e 75 6d 46 6c 6f 70 70 79 2c 32 09 09 3b 20 6c 69 6d 69 74 20 DDRV...mov.NumFloppy,2..;.limit.
17a40 74 6f 20 74 77 6f 20 66 6c 6f 70 70 69 65 73 20 6d 61 78 2e 0d 0a 45 4e 44 44 52 56 3a 0d 0a 0d to.two.floppies.max...ENDDRV:...
17a60 0a 3b 2a 09 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 68 61 72 64 20 64 69 73 6b 20 42 50 42 .;*.Initialize.the.hard.disk.BPB
17a80 73 0d 0a 0d 0a 09 4d 4f 56 09 44 4c 2c 38 30 48 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 45 54 s.....MOV.DL,80H...MOV.DI,OFFSET
17aa0 20 44 72 69 76 65 43 0d 0a 09 43 4d 50 09 5b 4e 75 6d 46 69 78 65 64 5d 2c 30 0d 0a 09 4a 4c 45 .DriveC...CMP.[NumFixed],0...JLE
17ac0 09 49 54 53 4f 4b 0d 0a 09 43 41 4c 4c 09 53 45 54 48 52 44 09 09 3b 53 45 54 20 55 50 20 46 49 .ITSOK...CALL.SETHRD..;SET.UP.FI
17ae0 52 53 54 20 48 41 52 44 46 49 4c 45 0d 0a 0d 0a 09 4d 4f 56 09 44 4c 2c 38 31 48 09 09 3b 53 45 RST.HARDFILE.....MOV.DL,81H..;SE
17b00 54 20 55 50 20 46 4f 52 20 4e 45 58 54 20 43 41 4c 4c 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 T.UP.FOR.NEXT.CALL...MOV.DI,OFFS
17b20 45 54 20 44 72 69 76 65 44 0d 0a 09 4a 43 09 4e 4f 54 4f 4b 0d 0a 09 43 4d 50 09 5b 4e 75 6d 46 ET.DriveD...JC.NOTOK...CMP.[NumF
17b40 69 78 65 64 5d 2c 32 0d 0a 09 4a 5a 09 53 45 54 49 54 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 49 ixed],2...JZ.SETIT...JMP.SHORT.I
17b60 54 53 4f 4b 0d 0a 4e 4f 54 4f 4b 3a 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 45 54 20 44 72 69 TSOK..NOTOK:...MOV.DI,OFFSET.Dri
17b80 76 65 43 0d 0a 09 44 45 43 09 5b 4e 75 6d 46 69 78 65 64 5d 0d 0a 09 43 4d 50 09 5b 4e 75 6d 46 veC...DEC.[NumFixed]...CMP.[NumF
17ba0 69 78 65 64 5d 2c 30 0d 0a 09 4a 5a 09 49 54 53 4f 4b 0d 0a 53 45 54 49 54 3a 09 43 41 4c 4c 09 ixed],0...JZ.ITSOK..SETIT:.CALL.
17bc0 53 45 54 48 52 44 09 09 3b 53 45 54 20 55 50 20 53 45 43 4f 4e 44 20 48 41 52 44 46 49 4c 45 0d SETHRD..;SET.UP.SECOND.HARDFILE.
17be0 0a 09 4a 4e 43 09 49 54 53 4f 4b 0d 0a 09 44 45 43 09 5b 4e 75 6d 46 69 78 65 64 5d 0d 0a 49 54 ..JNC.ITSOK...DEC.[NumFixed]..IT
17c00 53 4f 4b 3a 0d 0a 09 63 6d 70 05 0a 01 09 02 01 02 03 04 05 06 07 08 09 01 09 5b 4e 75 6d 46 69 SOK:...cmp................[NumFi
17c20 78 65 64 5d 2c 30 09 3b 20 61 6e 79 20 68 61 72 64 20 64 69 73 6b 73 20 66 6f 75 6e 64 3f 0d 0a xed],0.;.any.hard.disks.found?..
17c40 09 6a 6e 7a 09 69 74 73 6f 6b 32 09 09 3b 20 79 65 73 0d 0a 09 6d 6f 76 09 61 78 2c 5b 46 69 78 .jnz.itsok2..;.yes...mov.ax,[Fix
17c60 65 64 44 65 76 69 63 65 5d 20 20 3b 20 6e 6f 2c 20 70 61 74 63 68 20 64 65 76 69 63 65 20 63 68 edDevice]..;.no,.patch.device.ch
17c80 61 69 6e 20 74 6f 20 73 6b 69 70 20 66 69 78 65 64 20 64 69 73 6b 0d 0a 09 6d 6f 76 09 5b 46 6c ain.to.skip.fixed.disk...mov.[Fl
17ca0 6f 70 70 79 44 65 76 69 63 65 5d 2c 61 78 0d 0a 69 74 73 6f 6b 32 3a 0d 0a 09 70 75 73 68 09 65 oppyDevice],ax..itsok2:...push.e
17cc0 73 09 09 09 3b 20 49 6e 73 74 61 6c 6c 20 49 6e 74 20 31 33 20 68 61 6e 64 6c 65 72 20 61 6e 64 s...;.Install.Int.13.handler.and
17ce0 20 73 61 76 65 20 74 68 65 0d 0a 09 78 6f 72 09 61 78 2c 61 78 09 09 09 3b 20 20 6f 6c 64 20 76 .save.the...xor.ax,ax...;..old.v
17d00 61 6c 75 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 20 76 65 63 74 6f 72 2e 0d 0a 09 alue.of.the.interrupt.vector....
17d20 6d 6f 76 09 65 73 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 65 73 3a 5b 34 2a 31 33 68 5d 0d 0a 09 mov.es,ax...mov.ax,es:[4*13h]...
17d40 6d 6f 76 09 5b 52 65 61 6c 49 6e 74 31 33 56 65 63 5d 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 4f mov.[RealInt13Vec],ax...mov.ax,O
17d60 46 46 53 45 54 20 49 6e 74 31 33 48 61 6e 64 6c 65 72 0d 0a 09 6d 6f 76 09 65 73 3a 5b 34 2a 31 FFSET.Int13Handler...mov.es:[4*1
17d80 33 48 5d 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 65 73 3a 5b 34 2a 31 33 68 2b 32 5d 0d 0a 09 6d 3H],ax...mov.ax,es:[4*13h+2]...m
17da0 6f 76 09 5b 52 65 61 6c 49 6e 74 31 33 56 65 63 2b 32 5d 2c 61 78 0d 0a 09 6d 6f 76 09 65 73 3a ov.[RealInt13Vec+2],ax...mov.es:
17dc0 5b 34 2a 31 33 48 2b 32 5d 2c 63 73 0d 0a 09 6d 6f 76 09 61 78 2c 65 73 3a 5b 34 2a 30 64 68 5d [4*13H+2],cs...mov.ax,es:[4*0dh]
17de0 09 09 3b 20 53 61 76 65 20 6f 72 69 67 69 6e 61 6c 20 49 6e 74 20 44 20 76 65 63 74 6f 72 0d 0a ..;.Save.original.Int.D.vector..
17e00 09 6d 6f 76 09 5b 4f 6c 64 49 6e 74 44 56 65 63 5d 2c 61 78 0d 0a 09 6d 6f 01 76 09 61 78 2c 65 .mov.[OldIntDVec],ax...mo.v.ax,e
17e20 73 3a 5b 34 2a 30 64 68 2b 32 5d 0d 0a 09 6d 6f 76 09 5b 4f 6c 64 49 6e 74 44 56 65 63 2b 32 5d s:[4*0dh+2]...mov.[OldIntDVec+2]
17e40 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 65 73 3a 5b 34 2a 30 65 68 5d 09 09 3b 20 53 61 76 65 20 ,ax...mov.ax,es:[4*0eh]..;.Save.
17e60 6f 72 69 67 69 6e 61 6c 20 49 6e 74 20 45 20 76 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 5b 4f 6c 64 original.Int.E.vector...mov.[Old
17e80 49 6e 74 45 56 65 63 5d 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 65 73 3a 5b 34 2a 30 65 68 2b 32 IntEVec],ax...mov.ax,es:[4*0eh+2
17ea0 5d 0d 0a 09 6d 6f 76 09 5b 4f 6c 64 49 6e 74 45 56 65 63 2b 32 5d 2c 61 78 0d 0a 09 70 6f 70 09 ]...mov.[OldIntEVec+2],ax...pop.
17ec0 65 73 0d 0a 09 72 65 74 0d 0a 44 69 73 6b 5f 49 6e 69 74 09 45 4e 44 50 0d 0a 0d 0a 3b 0d 0a 3b es...ret..Disk_Init.ENDP....;..;
17ee0 09 52 45 41 44 20 41 20 42 4f 4f 54 20 52 45 43 4f 52 44 20 49 4e 54 4f 20 53 63 72 61 74 63 68 .READ.A.BOOT.RECORD.INTO.Scratch
17f00 20 62 75 66 66 65 72 0d 0a 3b 0d 0a 47 45 54 42 4f 4f 54 3a 0d 0a 09 4d 4f 56 09 43 58 2c 31 0d .buffer..;..GETBOOT:...MOV.CX,1.
17f20 0a 09 4d 4f 56 09 41 58 2c 30 32 30 31 48 0d 0a 09 70 75 73 68 09 43 53 0d 0a 09 70 6f 70 09 65 ..MOV.AX,0201H...push.CS...pop.e
17f40 73 0d 0a 09 6d 6f 76 09 42 58 2c 4f 46 46 53 45 54 20 53 63 72 61 74 63 68 42 75 66 66 65 72 0d s...mov.BX,OFFSET.ScratchBuffer.
17f60 0a 09 78 6f 72 09 44 48 2c 44 48 0d 0a 09 49 4e 54 09 31 33 48 0d 0a 09 4a 43 09 53 45 54 52 45 ..xor.DH,DH...INT.13H...JC.SETRE
17f80 54 0d 0a 09 43 4d 50 09 57 4f 52 44 20 50 54 52 20 45 53 3a 5b 42 58 2b 31 46 45 48 5d 2c 30 41 T...CMP.WORD.PTR.ES:[BX+1FEH],0A
17fa0 41 35 35 48 0d 0a 09 4a 4e 5a 09 53 45 54 52 45 54 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 09 53 45 A55H...JNZ.SETRET...RET..;..;.SE
17fc0 54 55 50 20 56 41 52 49 41 42 4c 45 20 53 49 5a 45 44 20 48 41 52 44 46 49 4c 45 0d 0a 3b 09 4f TUP.VARIABLE.SIZED.HARDFILE..;.O
17fe0 4e 20 45 4e 54 52 59 20 44 4c 3d 44 52 49 56 45 20 4e 55 4d 42 45 52 20 28 38 30 20 4f 52 20 38 N.ENTRY.DL=DRIVE.NUMBER.(80.OR.8
18000 31 29 0d 0a 3b 09 09 44 49 3d 50 54 52 20 54 4f 20 42 2e 50 2e 42 0d 0a 3b 0d 01 0a 53 45 54 48 1)..;..DI=PTR.TO.B.P.B..;...SETH
18020 52 44 3a 20 50 55 53 48 09 44 58 0d 0a 09 4d 4f 56 09 41 48 2c 38 09 09 3b 47 45 54 20 44 52 49 RD:.PUSH.DX...MOV.AH,8..;GET.DRI
18040 56 45 20 50 41 52 41 4d 45 54 45 52 53 0d 0a 09 49 4e 54 09 31 33 48 0d 0a 09 49 4e 43 09 44 48 VE.PARAMETERS...INT.13H...INC.DH
18060 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 5b 44 49 5d 2e 42 50 42 6e 68 65 61 64 2c 44 48 ...MOV.BYTE.PTR.[DI].BPBnhead,DH
18080 0d 0a 09 50 4f 50 09 44 58 0d 0a 09 4a 43 09 53 45 54 52 45 54 0d 0a 09 41 4e 44 09 43 4c 2c 33 ...POP.DX...JC.SETRET...AND.CL,3
180a0 46 48 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 5b 44 49 5d 2e 42 50 42 74 72 6b 73 69 7a FH...MOV.BYTE.PTR.[DI].BPBtrksiz
180c0 2c 43 4c 0d 0a 09 43 41 4c 4c 09 47 45 54 42 4f 4f 54 09 09 3b 47 45 54 20 54 48 45 20 42 4f 4f ,CL...CALL.GETBOOT..;GET.THE.BOO
180e0 54 20 52 45 43 4f 52 44 0d 0a 09 4a 43 09 53 45 54 52 45 54 0d 0a 09 61 64 64 09 42 58 2c 31 43 T.RECORD...JC.SETRET...add.BX,1C
18100 32 48 0d 0a 09 6d 6f 76 09 63 78 2c 34 0d 0a 53 45 54 31 3a 09 43 4d 50 09 42 59 54 45 20 50 54 2H...mov.cx,4..SET1:.CMP.BYTE.PT
18120 52 20 45 53 3a 5b 42 58 5d 2c 31 0d 0a 09 4a 5a 09 53 45 54 32 0d 0a 09 41 44 44 09 42 58 2c 31 R.ES:[BX],1...JZ.SET2...ADD.BX,1
18140 36 0d 0a 09 6c 6f 6f 70 09 53 45 54 31 0d 0a 53 45 54 52 45 54 3a 20 53 54 43 09 09 09 3b 4e 4f 6...loop.SET1..SETRET:.STC...;NO
18160 54 20 46 4f 55 4e 44 20 53 4f 20 55 53 45 20 44 45 46 41 55 4c 54 53 0d 0a 09 64 65 62 75 67 09 T.FOUND.SO.USE.DEFAULTS...debug.
18180 38 2c 33 2c 3c 53 65 74 68 72 64 20 65 72 72 20 72 74 6e 3a 20 64 72 69 76 65 20 24 78 20 73 74 8,3,<Sethrd.err.rtn:.drive.$x.st
181a0 61 74 20 24 78 5c 6e 3e 2c 3c 64 78 2c 61 78 3e 0d 0a 09 52 45 54 0d 0a 0d 0a 53 45 54 32 3a 09 at.$x\n>,<dx,ax>...RET....SET2:.
181c0 4d 4f 56 09 41 58 2c 45 53 3a 5b 42 58 2b 34 5d 0d 0a 09 4d 4f 56 09 44 53 3a 5b 44 49 5d 2e 42 MOV.AX,ES:[BX+4]...MOV.DS:[DI].B
181e0 50 42 68 69 64 73 65 63 2c 41 58 09 3b 53 45 54 20 48 49 44 44 45 4e 20 53 45 43 54 4f 52 20 43 PBhidsec,AX.;SET.HIDDEN.SECTOR.C
18200 4f 55 4e 54 0d 0a 09 4d 4f 56 09 41 58 2c 45 53 3a 5b 42 58 2b 38 5d 0d 0a 09 43 01 4d 50 09 41 OUNT...MOV.AX,ES:[BX+8]...C.MP.A
18220 58 2c 36 34 09 09 09 3b 48 41 53 20 54 4f 20 42 45 20 41 54 20 4c 45 41 53 54 20 33 32 4b 0d 0a X,64...;HAS.TO.BE.AT.LEAST.32K..
18240 09 4a 42 09 53 45 54 52 45 54 0d 0a 09 4d 4f 56 09 44 53 3a 5b 44 49 5d 2e 42 50 42 6e 73 65 63 .JB.SETRET...MOV.DS:[DI].BPBnsec
18260 2c 41 58 09 3b 53 41 56 45 20 4c 4f 47 49 43 41 4c 20 53 45 43 54 4f 52 20 43 4f 55 4e 54 0d 0a ,AX.;SAVE.LOGICAL.SECTOR.COUNT..
18280 09 4d 4f 56 09 43 58 2c 30 31 30 30 48 09 09 3b 53 45 54 20 43 4c 55 53 20 53 49 5a 45 20 41 4e .MOV.CX,0100H..;SET.CLUS.SIZE.AN
182a0 44 20 53 48 49 46 54 20 43 4f 55 4e 54 0d 0a 09 4d 4f 56 09 44 58 2c 36 34 09 09 09 3b 53 45 54 D.SHIFT.COUNT...MOV.DX,64...;SET
182c0 20 4e 55 4d 42 45 52 20 4f 46 20 44 49 52 20 45 4e 54 52 49 45 53 0d 0a 09 43 4d 50 09 41 58 2c .NUMBER.OF.DIR.ENTRIES...CMP.AX,
182e0 35 31 32 0d 0a 09 4a 42 45 09 53 45 54 33 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 512...JBE.SET3.....ADD.CH,CH...I
18300 4e 43 09 43 4c 0d 0a 09 4d 4f 56 09 44 58 2c 31 31 32 0d 0a 09 43 4d 50 09 41 58 2c 32 30 34 38 NC.CL...MOV.DX,112...CMP.AX,2048
18320 0d 0a 09 4a 42 45 09 53 45 54 33 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 4e 43 09 ...JBE.SET3.....ADD.CH,CH...INC.
18340 43 4c 0d 0a 09 4d 4f 56 09 44 58 2c 32 35 36 0d 0a 09 43 4d 50 09 41 58 2c 38 31 39 32 0d 0a 09 CL...MOV.DX,256...CMP.AX,8192...
18360 4a 42 45 09 53 45 54 33 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 4e 43 09 43 4c 0d JBE.SET3.....ADD.CH,CH...INC.CL.
18380 0a 09 41 44 44 09 44 58 2c 44 58 0d 0a 09 43 4d 50 09 41 58 2c 33 32 36 38 30 09 3b 4e 4f 54 20 ..ADD.DX,DX...CMP.AX,32680.;NOT.
183a0 33 32 37 36 38 21 20 4d 41 58 20 4e 55 4d 42 45 52 20 4f 46 20 43 4c 55 53 54 45 52 53 3d 34 30 32768!.MAX.NUMBER.OF.CLUSTERS=40
183c0 38 35 0d 0a 09 4a 42 45 09 53 45 54 33 0d 0a 0d 0a 09 41 44 44 09 43 48 2c 43 48 0d 0a 09 49 4e 85...JBE.SET3.....ADD.CH,CH...IN
183e0 43 09 43 4c 0d 0a 09 41 44 44 09 44 58 2c 44 58 0d 0a 53 45 54 33 3a 0d 0a 3b 0d 0a 3b 09 44 58 C.CL...ADD.DX,DX..SET3:..;..;.DX
18400 3d 4e 55 4d 42 45 52 20 4f 46 20 44 49 52 20 45 4e 54 52 49 45 53 2c 20 43 48 3d 4e 01 55 4d 42 =NUMBER.OF.DIR.ENTRIES,.CH=N.UMB
18420 45 52 20 4f 46 20 53 45 43 54 4f 52 53 20 50 45 52 20 43 4c 55 53 54 45 52 0d 0a 3b 09 09 09 09 ER.OF.SECTORS.PER.CLUSTER..;....
18440 20 20 43 4c 3d 4c 4f 47 20 42 41 53 45 20 32 20 4f 46 20 43 48 0d 0a 3b 0d 0a 3b 09 4e 4f 57 20 ..CL=LOG.BASE.2.OF.CH..;..;.NOW.
18460 43 41 4c 43 55 4c 41 54 45 20 53 49 5a 45 20 4f 46 20 46 41 54 20 54 41 42 4c 45 0d 0a 3b 0d 0a CALCULATE.SIZE.OF.FAT.TABLE..;..
18480 09 4d 4f 56 09 5b 44 49 5d 2e 42 50 42 6e 64 69 72 2c 44 58 09 09 3b 53 41 56 45 20 4e 55 4d 42 .MOV.[DI].BPBndir,DX..;SAVE.NUMB
184a0 45 52 20 4f 46 20 44 49 52 20 45 4e 54 52 49 45 53 0d 0a 09 4d 4f 56 09 5b 44 49 5d 2e 42 50 42 ER.OF.DIR.ENTRIES...MOV.[DI].BPB
184c0 73 65 63 70 61 75 2c 43 48 09 3b 53 41 56 45 20 53 45 43 54 4f 52 53 20 50 45 52 20 43 4c 55 53 secpau,CH.;SAVE.SECTORS.PER.CLUS
184e0 54 45 52 0d 0a 09 58 4f 52 09 42 58 2c 42 58 0d 0a 09 4d 4f 56 09 42 4c 2c 43 48 0d 0a 09 44 45 TER...XOR.BX,BX...MOV.BL,CH...DE
18500 43 09 42 58 0d 0a 09 41 44 44 09 42 58 2c 41 58 0d 0a 09 53 48 52 09 42 58 2c 43 4c 09 09 09 3b C.BX...ADD.BX,AX...SHR.BX,CL...;
18520 44 49 56 49 44 45 20 42 59 20 53 45 43 54 4f 52 53 2f 43 4c 55 53 54 45 52 0d 0a 09 49 4e 43 09 DIVIDE.BY.SECTORS/CLUSTER...INC.
18540 42 58 0d 0a 09 41 4e 44 09 42 4c 2c 31 31 31 31 31 31 31 30 42 09 09 3b 4d 41 4b 45 20 53 55 52 BX...AND.BL,11111110B..;MAKE.SUR
18560 45 20 43 4f 55 4e 54 20 49 53 20 45 56 45 4e 0d 0a 09 4d 4f 56 09 53 49 2c 42 58 0d 0a 09 53 48 E.COUNT.IS.EVEN...MOV.SI,BX...SH
18580 52 09 42 58 2c 31 0d 0a 09 41 44 44 09 42 58 2c 53 49 09 09 09 3b 4d 55 4c 54 49 50 59 20 42 59 R.BX,1...ADD.BX,SI...;MULTIPY.BY
185a0 20 31 2e 35 0d 0a 09 41 44 44 09 42 58 2c 35 31 31 0d 0a 09 53 48 52 09 42 48 2c 31 0d 0a 09 4d .1.5...ADD.BX,511...SHR.BH,1...M
185c0 4f 56 09 42 59 54 45 20 50 54 52 20 5b 44 49 5d 2e 42 50 42 6e 66 61 74 73 65 63 2c 42 48 09 3b OV.BYTE.PTR.[DI].BPBnfatsec,BH.;
185e0 53 41 56 45 20 4e 55 4d 42 45 52 20 4f 46 20 46 41 54 20 53 45 43 54 4f 52 53 0d 0a 09 4d 4f 56 SAVE.NUMBER.OF.FAT.SECTORS...MOV
18600 09 5b 44 49 5d 2e 42 50 42 6d 65 64 69 61 62 2c 30 46 38 48 09 3b 20 73 65 74 20 6d 65 01 64 69 .[DI].BPBmediab,0F8H.;.set.me.di
18620 61 20 62 79 74 65 0d 0a 09 43 4c 43 0d 0a 09 52 45 54 0d 0a 42 69 6f 73 49 6e 69 74 09 45 4e 44 a.byte...CLC...RET..BiosInit.END
18640 53 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 43 53 3a 42 69 6f 73 53 65 67 2c 44 53 3a 4e 4f S........ASSUME.CS:BiosSeg,DS:NO
18660 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 46 6c 6f 70 70 79 49 6e 69 74 09 50 THING,ES:NOTHING....FloppyInit.P
18680 52 4f 43 0d 0a 09 64 65 62 75 67 09 34 2c 33 2c 3c 44 69 73 6b 65 74 74 65 20 69 6e 69 74 69 61 ROC...debug.4,3,<Diskette.initia
186a0 6c 69 7a 61 74 69 6f 6e 3e 2c 3c 3e 0d 0a 09 70 75 73 68 09 64 73 09 09 09 3b 20 69 6e 73 74 61 lization>,<>...push.ds...;.insta
186c0 6c 6c 20 66 6c 6f 70 70 79 20 69 6e 74 65 72 72 75 70 74 20 72 6f 75 74 69 6e 65 0d 0a 09 78 6f ll.floppy.interrupt.routine...xo
186e0 72 09 61 78 2c 61 78 0d 0a 09 6d 6f 76 09 64 73 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 4f 46 46 r.ax,ax...mov.ds,ax...mov.ax,OFF
18700 53 45 54 20 46 6c 6f 70 70 79 49 6e 74 65 72 72 75 70 74 0d 0a 09 6d 6f 76 09 64 73 3a 5b 34 2a SET.FloppyInterrupt...mov.ds:[4*
18720 30 65 48 5d 2c 61 78 0d 0a 09 6d 6f 76 09 64 73 3a 5b 34 2a 30 65 48 2b 32 5d 2c 63 73 0d 0a 09 0eH],ax...mov.ds:[4*0eH+2],cs...
18740 70 6f 70 09 64 73 0d 0a 09 63 61 6c 6c 09 52 73 74 37 36 35 0d 0a 09 6d 6f 76 09 61 68 2c 5b 4e pop.ds...call.Rst765...mov.ah,[N
18760 75 6d 46 6c 6f 70 70 79 5d 0d 0a 09 6d 6f 76 09 64 69 2c 4f 46 46 53 45 54 20 46 44 69 6e 66 6f umFloppy]...mov.di,OFFSET.FDinfo
18780 0d 0a 44 42 42 45 47 09 34 2c 33 0d 0a 09 6a 6d 70 09 53 48 4f 52 54 20 69 6e 69 72 65 74 0d 0a ..DBBEG.4,3...jmp.SHORT.iniret..
187a0 44 42 45 4e 44 0d 0a 09 6a 6d 70 09 62 70 62 72 65 74 0d 0a 45 4c 53 45 0d 0a 09 6a 6d 70 09 53 DBEND...jmp.bpbret..ELSE...jmp.S
187c0 48 4f 52 54 20 62 70 62 72 65 74 0d 0a 45 4e 44 49 46 0d 0a 46 6c 6f 70 70 79 49 6e 69 74 09 45 HORT.bpbret..ENDIF..FloppyInit.E
187e0 4e 44 50 0d 0a 0d 0a 46 69 78 65 64 49 6e 69 74 09 50 52 4f 43 0d 0a 09 64 65 62 75 67 09 38 2c NDP....FixedInit.PROC...debug.8,
18800 33 2c 3c 48 61 72 64 20 64 69 73 6b 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 3e 2c 3c 01 3e 3,<Hard.disk.initialization>,<.>
18820 0d 0a 09 70 75 73 68 09 64 73 09 09 09 3b 20 69 6e 73 74 61 6c 6c 20 66 69 78 65 64 20 64 69 73 ...push.ds...;.install.fixed.dis
18840 6b 20 69 6e 74 65 72 72 75 70 74 20 72 6f 75 74 69 6e 65 0d 0a 09 78 6f 72 09 61 78 2c 61 78 0d k.interrupt.routine...xor.ax,ax.
18860 0a 09 6d 6f 76 09 64 73 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 4f 46 46 53 45 54 20 46 69 78 65 ..mov.ds,ax...mov.ax,OFFSET.Fixe
18880 64 49 6e 74 65 72 72 75 70 74 0d 0a 09 6d 6f 76 09 64 73 3a 5b 34 2a 30 64 48 5d 2c 61 78 0d 0a dInterrupt...mov.ds:[4*0dH],ax..
188a0 09 6d 6f 76 09 64 73 3a 5b 34 2a 30 64 48 2b 32 5d 2c 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 .mov.ds:[4*0dH+2],cs...pop.ds...
188c0 69 6e 09 61 6c 2c 32 31 48 09 09 09 3b 20 75 6e 6d 61 73 6b 20 66 69 78 65 64 20 64 69 73 6b 20 in.al,21H...;.unmask.fixed.disk.
188e0 69 6e 74 65 72 72 75 70 74 73 0d 0a 09 61 6e 64 09 61 6c 2c 30 44 46 48 0d 0a 09 6f 75 74 09 32 interrupts...and.al,0DFH...out.2
18900 31 48 2c 61 6c 0d 0a 09 6d 6f 76 09 64 78 2c 48 44 5f 50 4d 53 4b 09 09 3b 20 73 65 74 20 69 6e 1H,al...mov.dx,HD_PMSK..;.set.in
18920 74 65 72 72 75 70 74 20 61 6e 64 20 44 4d 41 20 6d 61 73 6b 20 62 69 74 73 0d 0a 09 6d 6f 76 09 terrupt.and.DMA.mask.bits...mov.
18940 61 6c 2c 33 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 09 6d 6f 76 09 61 68 2c 5b 4e 75 6d 46 69 al,3...out.dx,al...mov.ah,[NumFi
18960 78 65 64 5d 0d 0a 09 6d 6f 76 09 64 69 2c 4f 46 46 53 45 54 20 48 44 69 6e 66 6f 0d 0a 44 42 42 xed]...mov.di,OFFSET.HDinfo..DBB
18980 45 47 09 38 2c 33 0d 0a 69 6e 69 72 65 74 3a 20 64 65 62 75 67 09 31 32 2c 33 2c 3c 20 2d 20 4e EG.8,3..iniret:.debug.12,3,<.-.N
189a0 75 6d 3d 24 78 20 42 50 42 20 74 61 62 6c 65 3d 24 78 3a 24 78 5c 6e 3e 2c 3c 61 78 2c 63 73 2c um=$x.BPB.table=$x:$x\n>,<ax,cs,
189c0 64 69 3e 0d 0a 44 42 45 4e 44 0d 0a 45 4e 44 49 46 0d 0a 09 6a 6d 70 09 53 48 4f 52 54 20 62 70 di>..DBEND..ENDIF...jmp.SHORT.bp
189e0 62 72 65 74 0d 0a 46 69 78 65 64 49 6e 69 74 09 45 4e 44 50 0d 0a 0d 0a 46 6c 6f 70 70 79 42 75 bret..FixedInit.ENDP....FloppyBu
18a00 69 6c 64 09 50 52 4f 43 0d 0a 09 6d 6f 76 09 61 68 2c 62 79 74 65 20 70 74 72 20 65 73 3a 5b 01 ild.PROC...mov.ah,byte.ptr.es:[.
18a20 64 69 5d 0d 0a 09 63 61 6c 6c 09 46 44 47 65 74 42 50 42 0d 0a 62 70 62 72 65 74 3a 20 6d 6f 76 di]...call.FDGetBPB..bpbret:.mov
18a40 09 5b 62 78 2e 52 71 4d 65 64 69 61 5d 2c 61 68 0d 0a 09 6d 6f 76 09 5b 62 78 2e 52 71 43 6f 75 .[bx.RqMedia],ah...mov.[bx.RqCou
18a60 6e 74 5d 2c 64 69 0d 0a 09 6d 6f 76 09 5b 62 78 2e 52 71 43 6f 75 6e 74 2b 32 5d 2c 43 53 0d 0a nt],di...mov.[bx.RqCount+2],CS..
18a80 09 6a 6d 70 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 46 6c 6f 70 70 79 42 75 69 6c 64 .jmp.StatusComplete..FloppyBuild
18aa0 09 45 4e 44 50 0d 0a 0d 0a 46 69 78 65 64 42 75 69 6c 64 09 50 52 4f 43 0d 0a 09 6d 6f 76 09 61 .ENDP....FixedBuild.PROC...mov.a
18ac0 68 2c 62 79 74 65 20 70 74 72 20 65 73 3a 5b 64 69 5d 0d 0a 09 63 61 6c 6c 09 48 44 47 65 74 42 h,byte.ptr.es:[di]...call.HDGetB
18ae0 50 42 0d 0a 09 6a 6d 70 09 53 48 4f 52 54 20 62 70 62 72 65 74 0d 0a 46 69 78 65 64 42 75 69 6c PB...jmp.SHORT.bpbret..FixedBuil
18b00 64 09 45 4e 44 50 0d 0a 0d 0a 3b 2a 2a 2a 09 46 6c 6f 70 70 79 43 68 65 63 6b 20 2d 20 63 68 65 d.ENDP....;***.FloppyCheck.-.che
18b20 63 6b 20 74 6f 20 73 65 65 20 69 66 20 74 68 65 20 64 69 73 6b 20 6d 61 79 20 68 61 76 65 20 62 ck.to.see.if.the.disk.may.have.b
18b40 65 65 6e 20 63 68 61 6e 67 65 64 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 41 4c 20 3d 20 75 6e een.changed...;..;.ENTRY.AL.=.un
18b60 69 74 20 23 0d 0a 3b 09 09 41 48 20 3d 20 6d 65 64 69 61 20 62 79 74 65 0d 0a 3b 09 45 58 49 54 it.#..;..AH.=.media.byte..;.EXIT
18b80 09 52 65 74 75 72 6e 20 76 61 6c 75 65 20 69 6e 20 72 65 71 75 65 73 74 20 68 65 61 64 65 72 20 .Return.value.in.request.header.
18ba0 73 65 74 20 74 6f 20 6f 6e 65 20 6f 66 3a 0d 0a 3b 09 09 09 31 09 4d 65 64 69 61 20 6d 61 79 20 set.to.one.of:..;...1.Media.may.
18bc0 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 0d 0a 3b 09 09 09 30 09 4d 65 64 69 61 20 6e have.been.changed..;...0.Media.n
18be0 6f 74 20 63 68 61 6e 67 65 64 0d 0a 3b 09 09 09 2d 31 09 4d 65 64 69 61 20 77 61 73 20 70 72 6f ot.changed..;...-1.Media.was.pro
18c00 62 61 62 6c 79 20 63 68 61 6e 67 65 64 0d 0a 3b 0d 0a 0d 0a 46 6c 6f 70 70 79 43 68 65 63 6b 09 bably.changed..;....FloppyCheck.
18c20 01 50 52 4f 43 0d 0a 09 4d 4f 56 09 44 4c 2c 31 09 09 09 3b 20 41 73 73 75 6d 65 20 6e 6f 74 20 .PROC...MOV.DL,1...;.Assume.not.
18c40 63 68 61 6e 67 65 64 0d 0a 09 63 6d 70 09 41 48 2c 30 66 38 48 09 09 09 3b 20 49 73 20 64 69 73 changed...cmp.AH,0f8H...;.Is.dis
18c60 6b 20 72 65 6d 6f 76 61 62 6c 65 3f 0d 0a 09 4a 45 09 46 6c 6f 70 70 79 43 68 65 63 6b 44 6f 6e k.removable?...JE.FloppyCheckDon
18c80 65 09 09 3b 20 4e 6f 2c 20 63 61 6e 27 74 20 62 65 20 63 68 61 6e 67 65 64 20 74 68 65 6e 0d 0a e..;.No,.can't.be.changed.then..
18ca0 09 63 6d 70 09 53 69 6e 67 6c 65 2c 30 09 09 3b 20 73 69 6e 67 6c 65 20 64 72 69 76 65 20 73 79 .cmp.Single,0..;.single.drive.sy
18cc0 73 74 65 6d 3f 0d 0a 09 6a 65 09 66 6c 63 68 6b 31 09 09 09 3b 20 6e 6f 2c 20 63 68 65 63 6b 20 stem?...je.flchk1...;.no,.check.
18ce0 64 72 69 76 65 20 73 74 61 74 65 0d 0a 09 63 6d 70 09 46 6c 6f 70 70 79 2e 55 6e 69 74 2c 61 6c drive.state...cmp.Floppy.Unit,al
18d00 09 09 3b 20 75 6e 69 74 20 3d 20 63 75 72 72 65 6e 74 20 64 72 69 76 65 3f 0d 0a 09 6a 65 09 66 ..;.unit.=.current.drive?...je.f
18d20 6c 63 68 6b 31 09 09 09 3b 20 79 65 73 2c 20 63 68 65 63 6b 20 64 72 69 76 65 20 73 74 61 74 65 lchk1...;.yes,.check.drive.state
18d40 0d 0a 09 6d 6f 76 09 44 4c 2c 2d 31 09 09 09 3b 20 73 61 79 20 6d 65 64 69 61 20 63 68 61 6e 67 ...mov.DL,-1...;.say.media.chang
18d60 65 64 20 66 6f 72 20 73 75 72 65 0d 0a 09 6a 6d 70 09 46 6c 6f 70 70 79 43 68 65 63 6b 44 6f 6e ed.for.sure...jmp.FloppyCheckDon
18d80 65 0d 0a 66 6c 63 68 6b 31 3a 20 4d 4f 56 09 43 58 2c 41 58 0d 0a 09 58 4f 52 09 43 48 2c 43 48 e..flchk1:.MOV.CX,AX...XOR.CH,CH
18da0 0d 0a 09 4d 4f 56 09 53 49 2c 43 58 0d 0a 09 41 44 44 09 53 49 2c 53 49 0d 0a 09 4d 4f 56 09 53 ...MOV.SI,CX...ADD.SI,SI...MOV.S
18dc0 49 2c 46 44 69 6e 66 6f 5b 53 49 5d 09 09 3b 20 47 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 64 I,FDinfo[SI]..;.Get.pointer.to.d
18de0 72 69 76 65 20 69 6e 66 6f 0d 0a 09 54 45 53 54 09 43 53 3a 5b 53 49 5d 2e 44 72 76 46 6c 61 67 rive.info...TEST.CS:[SI].DrvFlag
18e00 2c 46 6d 6f 74 6f 72 6f 6e 09 3b 20 49 73 20 6d 6f 74 6f 72 20 6f 6e 3f 0d 0a 09 4a 4e 5a 09 46 ,Fmotoron.;.Is.motor.on?...JNZ.F
18e20 6c 05 0b 00 09 02 01 02 03 04 05 06 07 08 09 01 6f 70 70 79 43 68 65 63 6b 44 6f 6e 65 09 09 3b l...............oppyCheckDone..;
18e40 20 59 65 73 2c 20 6d 65 64 69 61 20 6e 6f 74 20 63 68 61 6e 67 65 64 20 74 68 65 6e 0d 0a 09 58 .Yes,.media.not.changed.then...X
18e60 4f 52 09 44 4c 2c 44 4c 09 09 09 3b 20 4e 6f 2c 20 6d 69 67 68 74 20 68 61 76 65 20 62 65 65 6e OR.DL,DL...;.No,.might.have.been
18e80 20 63 68 61 6e 67 65 64 0d 0a 46 6c 6f 70 70 79 43 68 65 63 6b 44 6f 6e 65 3a 0d 0a 09 4d 4f 56 .changed..FloppyCheckDone:...MOV
18ea0 09 42 59 54 45 20 50 54 52 20 44 53 3a 5b 42 58 5d 2e 52 71 41 64 64 72 2c 44 4c 0d 0a 09 4a 4d .BYTE.PTR.DS:[BX].RqAddr,DL...JM
18ec0 50 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 52 65 74 75 72 6e 20 77 68 65 74 68 P.StatusComplete..;.Return.wheth
18ee0 65 72 20 6d 65 64 69 61 20 63 68 61 6e 67 65 64 0d 0a 46 6c 6f 70 70 79 43 68 65 63 6b 09 45 4e er.media.changed..FloppyCheck.EN
18f00 44 50 0d 0a 0d 0a 0d 0a 46 69 78 65 64 43 68 65 63 6b 09 50 52 4f 43 0d 0a 09 4d 4f 56 09 44 4c DP......FixedCheck.PROC...MOV.DL
18f20 2c 31 0d 0a 09 4a 4d 50 09 46 6c 6f 70 70 79 43 68 65 63 6b 44 6f 6e 65 0d 0a 46 69 78 65 64 43 ,1...JMP.FloppyCheckDone..FixedC
18f40 68 65 63 6b 09 45 4e 44 50 0d 0a 3b 2a 2a 2a 09 46 6c 6f 70 70 79 52 65 61 64 2c 20 46 6c 6f 70 heck.ENDP..;***.FloppyRead,.Flop
18f60 70 79 57 72 69 74 65 2c 20 46 6c 6f 70 70 79 57 72 69 74 65 56 20 2d 20 42 61 73 69 63 20 49 2f pyWrite,.FloppyWriteV.-.Basic.I/
18f80 4f 20 65 6e 74 72 79 20 70 6f 69 6e 74 73 0d 0a 3b 0d 0a 3b 09 46 6c 6f 70 70 79 52 65 61 64 2c O.entry.points..;..;.FloppyRead,
18fa0 20 46 6c 6f 70 70 79 57 72 69 74 65 20 61 6e 64 20 46 6c 6f 70 70 79 57 72 69 74 65 56 20 61 72 .FloppyWrite.and.FloppyWriteV.ar
18fc0 65 20 74 68 65 20 62 61 73 69 63 20 49 2f 4f 0d 0a 3b 09 72 6f 75 74 69 6e 65 73 20 75 73 65 64 e.the.basic.I/O..;.routines.used
18fe0 20 62 79 20 74 68 65 20 44 4f 53 2e 20 20 54 68 65 79 20 72 65 61 6c 6c 79 20 64 6f 20 6e 6f 74 .by.the.DOS...They.really.do.not
19000 20 64 6f 20 6d 75 63 68 20 65 78 63 65 70 74 0d 0a 3b 09 71 75 65 75 65 20 74 68 65 20 72 65 71 .do.much.except..;.queue.the.req
19020 75 65 73 74 20 61 6e 64 20 73 74 61 72 74 20 74 01 68 65 20 64 65 76 69 63 65 20 69 66 20 69 74 uest.and.start.t.he.device.if.it
19040 20 69 73 20 69 64 6c 65 2e 0d 0a 3b 09 46 6f 72 20 73 69 6e 67 6c 65 20 64 72 69 76 65 20 66 6c .is.idle...;.For.single.drive.fl
19060 6f 70 70 79 20 73 79 73 74 65 6d 73 2c 20 74 68 65 79 20 61 6c 73 6f 20 68 61 6e 64 6c 65 20 74 oppy.systems,.they.also.handle.t
19080 68 65 0d 0a 3b 09 73 77 69 74 63 68 69 6e 67 20 6f 66 20 64 69 73 6b 73 20 77 68 65 6e 20 49 2f he..;.switching.of.disks.when.I/
190a0 4f 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 41 20 74 6f 20 42 20 6f 72 20 76 69 63 65 2d 76 65 O.changes.from.A.to.B.or.vice-ve
190c0 72 73 61 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 44 53 3a 42 58 09 50 61 63 6b 65 74 20 61 64 rsa...;..;.ENTRY.DS:BX.Packet.ad
190e0 64 72 65 73 73 0d 0a 3b 09 09 45 53 3a 44 49 09 54 72 61 6e 73 66 65 72 20 61 64 64 72 65 73 73 dress..;..ES:DI.Transfer.address
19100 0d 0a 3b 09 09 41 4c 09 55 6e 69 74 20 23 0d 0a 3b 09 09 41 48 09 4d 65 64 69 61 20 42 79 74 65 ..;..AL.Unit.#..;..AH.Media.Byte
19120 0d 0a 3b 09 09 43 58 09 23 20 6f 66 20 73 65 63 74 6f 72 73 0d 0a 3b 09 09 44 58 09 53 74 61 72 ..;..CX.#.of.sectors..;..DX.Star
19140 74 69 6e 67 20 73 65 63 74 6f 72 0d 0a 3b 0d 0a 3b 09 45 58 49 54 09 44 53 3a 42 58 09 50 61 63 ting.sector..;..;.EXIT.DS:BX.Pac
19160 6b 65 74 20 41 64 64 72 0d 0a 3b 09 09 43 58 09 23 20 6f 66 20 73 65 63 74 6f 72 73 20 6c 65 66 ket.Addr..;..CX.#.of.sectors.lef
19180 74 20 74 6f 20 64 6f 0d 0a 3b 0d 0a 3b 09 55 53 45 53 09 53 49 0d 0a 0d 0a 46 6c 6f 70 70 79 52 t.to.do..;..;.USES.SI....FloppyR
191a0 65 61 64 09 4c 41 42 45 4c 09 4e 45 41 52 0d 0a 46 6c 6f 70 70 79 57 72 69 74 65 09 4c 41 42 45 ead.LABEL.NEAR..FloppyWrite.LABE
191c0 4c 09 4e 45 41 52 0d 0a 46 6c 6f 70 70 79 57 72 69 74 65 56 09 50 52 4f 43 0d 0a 09 64 65 62 75 L.NEAR..FloppyWriteV.PROC...debu
191e0 67 09 34 2c 32 2c 3c 46 6c 20 72 64 2f 77 74 2f 76 65 72 20 20 52 65 71 20 24 78 3a 24 78 20 20 g.4,2,<Fl.rd/wt/ver..Req.$x:$x..
19200 75 6e 69 74 20 24 62 20 20 73 65 63 20 24 64 20 20 6e 73 65 63 20 24 64 5c 6e 3e 2c 3c 64 73 2c unit.$b..sec.$d..nsec.$d\n>,<ds,
19220 62 78 2c 61 78 2c 64 78 2c 63 78 3e 0d 0a 09 63 61 01 6c 6c 09 42 6c 6f 63 6b 49 66 4c 6f 63 6b bx,ax,dx,cx>...ca.ll.BlockIfLock
19240 65 64 0d 0a 09 70 75 73 68 09 64 69 0d 0a 09 63 61 6c 6c 09 46 44 47 65 74 42 50 42 09 09 3b 20 ed...push.di...call.FDGetBPB..;.
19260 63 73 3a 64 69 20 3d 3e 20 42 50 42 0d 0a 09 6d 6f 76 09 73 69 2c 64 78 0d 0a 09 61 64 64 09 73 cs:di.=>.BPB...mov.si,dx...add.s
19280 69 2c 63 78 09 09 09 3b 20 63 6f 6d 70 75 74 65 20 6c 61 73 74 20 73 65 63 74 6f 72 20 2b 20 31 i,cx...;.compute.last.sector.+.1
192a0 0d 0a 09 63 6d 70 09 73 69 2c 63 73 3a 5b 64 69 2e 42 50 42 6e 73 65 63 5d 0d 0a 09 6d 6f 76 09 ...cmp.si,cs:[di.BPBnsec]...mov.
192c0 73 69 2c 64 69 0d 0a 09 70 6f 70 09 64 69 0d 0a 09 6a 62 65 09 66 6c 72 77 31 0d 0a 09 6d 6f 76 si,di...pop.di...jbe.flrw1...mov
192e0 09 61 6c 2c 38 09 09 09 3b 20 45 52 52 4f 52 20 2d 20 53 65 63 74 6f 72 20 6e 6f 74 20 66 6f 75 .al,8...;.ERROR.-.Sector.not.fou
19300 6e 64 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 45 72 72 6f 72 0d 0a 0d 0a 66 6c 72 77 31 3a 09 4f nd...jmp.StatusError....flrw1:.O
19320 52 09 43 58 2c 43 58 09 09 09 3b 20 41 6e 79 74 68 69 6e 67 20 74 6f 20 64 6f 3f 0d 0a 09 4a 4e R.CX,CX...;.Anything.to.do?...JN
19340 5a 09 66 6c 72 77 32 09 09 09 3b 20 59 65 73 0d 0a 09 4a 4d 50 09 53 74 61 74 75 73 43 6f 6d 70 Z.flrw2...;.Yes...JMP.StatusComp
19360 6c 65 74 65 09 09 3b 20 4e 6f 2c 20 61 6c 6c 20 64 6f 6e 65 20 6e 6f 77 0d 0a 66 6c 72 77 32 3a lete..;.No,.all.done.now..flrw2:
19380 0d 0a 09 43 4d 50 09 53 69 6e 67 6c 65 2c 30 09 09 3b 20 49 73 20 74 68 69 73 20 61 20 73 69 6e ...CMP.Single,0..;.Is.this.a.sin
193a0 67 6c 65 20 64 72 69 76 65 20 73 79 73 74 65 6d 3f 0d 0a 09 4a 45 09 66 6c 72 77 33 09 09 09 3b gle.drive.system?...JE.flrw3...;
193c0 20 4e 6f 2c 20 64 6f 6e 27 74 20 63 68 65 63 6b 20 66 6f 72 20 64 72 69 76 65 20 63 68 61 6e 67 .No,.don't.check.for.drive.chang
193e0 65 0d 0a 09 43 41 4c 4c 09 46 6c 6f 70 70 79 43 68 61 6e 67 65 09 09 3b 20 53 65 65 20 69 66 20 e...CALL.FloppyChange..;.See.if.
19400 73 68 6f 75 6c 64 20 63 68 61 6e 67 65 20 64 69 73 6b 73 0d 0a 66 6c 72 77 33 3a 0d 0a 09 63 61 should.change.disks..flrw3:...ca
19420 6c 6c 09 43 68 65 63 6b 57 72 61 70 0d 0a 09 70 75 73 01 68 09 64 73 0d 0a 09 70 6f 70 09 65 73 ll.CheckWrap...pus.h.ds...pop.es
19440 09 09 09 3b 20 45 53 3a 42 58 20 3d 20 52 65 71 75 65 73 74 20 61 64 64 72 0d 0a 09 70 75 73 68 ...;.ES:BX.=.Request.addr...push
19460 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 4c 45 41 09 53 49 2c 46 6c 6f 70 70 79 51 75 65 75 .cs...pop.ds...LEA.SI,FloppyQueu
19480 65 09 09 3b 20 44 53 3a 53 49 20 3d 20 70 74 72 20 74 6f 20 68 65 61 64 20 6f 66 20 71 75 65 75 e..;.DS:SI.=.ptr.to.head.of.queu
194a0 65 0d 0a 09 4d 4f 56 09 44 58 2c 50 75 73 68 52 65 71 75 65 73 74 0d 0a 09 43 41 4c 4c 09 44 6f e...MOV.DX,PushRequest...CALL.Do
194c0 73 46 75 6e 63 74 69 6f 6e 09 09 3b 20 41 64 64 20 72 65 71 75 65 73 74 20 74 6f 20 6c 69 73 74 sFunction..;.Add.request.to.list
194e0 0d 0a 09 70 75 73 68 09 65 73 0d 0a 09 70 6f 70 09 64 73 09 09 09 3b 20 42 61 63 6b 20 74 6f 20 ...push.es...pop.ds...;.Back.to.
19500 44 53 3a 42 58 20 69 73 20 72 65 71 75 65 73 74 0d 0a 09 70 75 73 68 66 0d 0a 09 63 6c 69 09 09 DS:BX.is.request...pushf...cli..
19520 09 09 3b 20 69 6e 74 65 72 72 75 70 74 73 20 6f 66 66 20 77 68 69 6c 65 20 74 65 73 74 69 6e 67 ..;.interrupts.off.while.testing
19540 20 73 74 61 74 65 0d 0a 09 54 45 53 54 09 46 6c 6f 70 70 79 2e 46 6c 61 67 73 2c 46 61 63 74 69 .state...TEST.Floppy.Flags,Facti
19560 76 65 09 3b 20 49 73 20 64 72 69 76 65 72 20 61 63 74 69 76 65 3f 0d 0a 09 4a 4e 45 09 46 6c 6f ve.;.Is.driver.active?...JNE.Flo
19580 70 70 79 41 63 74 69 76 65 09 09 3b 20 59 65 73 2c 20 64 72 69 76 65 72 20 77 69 6c 6c 20 67 65 ppyActive..;.Yes,.driver.will.ge
195a0 74 20 74 6f 20 69 74 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 50 55 53 48 09 42 58 09 09 09 3b 20 t.to.it...PUSH.DS...PUSH.BX...;.
195c0 53 61 76 65 20 73 6f 6d 65 20 72 65 67 73 0d 0a 09 4f 52 09 46 6c 6f 70 70 79 2e 46 6c 61 67 73 Save.some.regs...OR.Floppy.Flags
195e0 2c 46 61 63 74 69 76 65 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 53 74 61 72 ,Factive...MOV.Floppy.State,Star
19600 74 09 3b 20 57 61 6e 74 20 74 6f 20 73 74 61 72 74 20 49 2f 4f 0d 0a 09 43 41 4c 4c 09 46 6c 6f t.;.Want.to.start.I/O...CALL.Flo
19620 70 70 79 45 78 65 63 75 74 65 09 09 3b 20 53 74 61 72 74 01 20 75 70 20 74 68 65 20 64 72 69 76 ppyExecute..;.Start..up.the.driv
19640 65 72 0d 0a 09 50 4f 50 09 42 58 0d 0a 09 50 4f 50 09 44 53 09 09 09 3b 20 52 65 73 74 6f 72 65 er...POP.BX...POP.DS...;.Restore
19660 20 72 65 67 73 0d 0a 66 6c 72 77 34 3a 09 74 65 73 74 09 44 53 3a 5b 42 58 5d 2e 52 71 53 74 61 .regs..flrw4:.test.DS:[BX].RqSta
19680 74 75 73 2c 30 31 30 30 48 09 3b 20 49 4f 20 63 6f 6d 70 6c 65 74 65 64 3f 0d 0a 09 4a 4e 5a 09 tus,0100H.;.IO.completed?...JNZ.
196a0 46 6c 6f 70 70 79 49 4f 64 6f 6e 65 09 09 3b 20 79 65 73 0d 0a 0d 0a 46 6c 6f 70 70 79 41 63 74 FloppyIOdone..;.yes....FloppyAct
196c0 69 76 65 3a 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 09 09 09 3b 20 41 58 3a 42 58 20 3d 20 72 65 71 ive:...MOV.AX,DS...;.AX:BX.=.req
196e0 75 65 73 74 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 4d 4f 56 uest...xor.cx,cx...push.bx...MOV
19700 09 44 58 2c 42 6c 6f 63 6b 50 72 6f 63 65 73 73 0d 0a 09 43 41 4c 4c 09 44 6f 73 46 75 6e 63 74 .DX,BlockProcess...CALL.DosFunct
19720 69 6f 6e 09 09 3b 20 42 6c 6f 63 6b 20 75 6e 74 69 6c 20 49 2f 4f 20 69 73 20 64 6f 6e 65 0d 0a ion..;.Block.until.I/O.is.done..
19740 09 70 6f 70 09 62 78 0d 0a 09 6a 6d 70 09 66 6c 72 77 34 09 09 09 3b 20 74 65 73 74 20 63 6f 6d .pop.bx...jmp.flrw4...;.test.com
19760 70 6c 65 74 69 6f 6e 20 73 74 61 74 75 73 20 61 67 61 69 6e 0d 0a 46 6c 6f 70 70 79 49 4f 64 6f pletion.status.again..FloppyIOdo
19780 6e 65 3a 0d 0a 09 70 6f 70 66 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 42 58 5d 2e 52 71 53 74 ne:...popf...MOV.AX,DS:[BX].RqSt
197a0 61 74 75 73 09 3b 20 4e 65 65 64 20 41 58 20 3d 20 73 74 61 74 75 73 0d 0a 09 4d 4f 56 09 43 58 atus.;.Need.AX.=.status...MOV.CX
197c0 2c 44 53 3a 5b 42 58 5d 2e 52 71 43 6f 75 6e 74 09 3b 20 4e 65 65 64 20 43 58 20 3d 20 63 6f 75 ,DS:[BX].RqCount.;.Need.CX.=.cou
197e0 6e 74 20 6c 65 66 74 20 74 6f 20 64 6f 0d 0a 09 64 65 62 75 67 09 34 2c 32 2c 3c 46 6c 20 72 64 nt.left.to.do...debug.4,2,<Fl.rd
19800 2f 77 74 2f 76 65 72 20 44 4f 4e 45 09 52 65 71 20 24 78 3a 24 78 20 20 73 74 61 74 20 24 78 20 /wt/ver.DONE.Req.$x:$x..stat.$x.
19820 20 72 65 73 69 64 20 24 64 5c 6e 3e 2c 3c 64 73 2c 62 78 2c 01 61 78 2c 63 78 3e 0d 0a 09 4a 4d .resid.$d\n>,<ds,bx,.ax,cx>...JM
19840 50 09 53 65 74 53 74 61 74 75 73 09 09 3b 20 52 65 74 75 72 6e 20 74 6f 20 44 4f 53 20 77 69 74 P.SetStatus..;.Return.to.DOS.wit
19860 68 20 72 65 73 75 6c 74 73 0d 0a 46 6c 6f 70 70 79 57 72 69 74 65 56 09 45 4e 44 50 0d 0a 0d 0a h.results..FloppyWriteV.ENDP....
19880 0d 0a 46 69 78 65 64 52 65 61 64 09 4c 41 42 45 4c 09 4e 45 41 52 0d 0a 46 69 78 65 64 57 72 69 ..FixedRead.LABEL.NEAR..FixedWri
198a0 74 65 09 4c 41 42 45 4c 09 4e 45 41 52 0d 0a 46 69 78 65 64 57 72 69 74 65 56 09 50 52 4f 43 0d te.LABEL.NEAR..FixedWriteV.PROC.
198c0 0a 09 64 65 62 75 67 09 38 2c 32 2c 3c 46 69 78 20 72 64 2f 77 74 2f 76 65 72 20 20 52 65 71 20 ..debug.8,2,<Fix.rd/wt/ver..Req.
198e0 24 78 3a 24 78 20 20 75 6e 69 74 20 24 62 09 73 65 63 20 24 64 09 6e 73 65 63 20 24 64 5c 6e 3e $x:$x..unit.$b.sec.$d.nsec.$d\n>
19900 2c 3c 64 73 2c 62 78 2c 61 78 2c 64 78 2c 63 78 3e 0d 0a 09 63 61 6c 6c 09 42 6c 6f 63 6b 49 66 ,<ds,bx,ax,dx,cx>...call.BlockIf
19920 4c 6f 63 6b 65 64 0d 0a 09 70 75 73 68 09 64 69 0d 0a 09 63 61 6c 6c 09 48 44 47 65 74 42 50 42 Locked...push.di...call.HDGetBPB
19940 09 09 3b 20 63 73 3a 64 69 20 3d 3e 20 42 50 42 0d 0a 09 6d 6f 76 09 73 69 2c 64 78 0d 0a 09 61 ..;.cs:di.=>.BPB...mov.si,dx...a
19960 64 64 09 73 69 2c 63 78 09 09 09 3b 20 63 6f 6d 70 75 74 65 20 6c 61 73 74 20 73 65 63 74 6f 72 dd.si,cx...;.compute.last.sector
19980 20 2b 20 31 0d 0a 09 63 6d 70 09 73 69 2c 63 73 3a 5b 64 69 2e 42 50 42 6e 73 65 63 5d 0d 0a 09 .+.1...cmp.si,cs:[di.BPBnsec]...
199a0 6d 6f 76 09 73 69 2c 64 69 0d 0a 09 70 6f 70 09 64 69 0d 0a 09 6a 62 65 09 66 78 72 77 31 0d 0a mov.si,di...pop.di...jbe.fxrw1..
199c0 09 6d 6f 76 09 61 6c 2c 38 09 09 09 3b 20 45 52 52 4f 52 20 2d 20 53 65 63 74 6f 72 20 6e 6f 74 .mov.al,8...;.ERROR.-.Sector.not
199e0 20 66 6f 75 6e 64 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 45 72 72 6f 72 0d 0a 0d 0a 66 78 72 77 .found...jmp.StatusError....fxrw
19a00 31 3a 09 4f 52 09 43 58 2c 43 58 09 09 09 3b 20 41 6e 79 74 68 69 6e 67 20 74 6f 20 64 6f 3f 0d 1:.OR.CX,CX...;.Anything.to.do?.
19a20 0a 09 4a 4e 5a 09 66 78 72 77 32 09 09 09 3b 20 59 65 73 0d 0a 01 09 4a 4d 50 09 53 74 61 74 75 ..JNZ.fxrw2...;.Yes....JMP.Statu
19a40 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 4e 6f 2c 20 61 6c 6c 20 64 6f 6e 65 20 6e 6f 77 0d 0a 66 sComplete..;.No,.all.done.now..f
19a60 78 72 77 32 3a 0d 0a 09 63 61 6c 6c 09 43 68 65 63 6b 57 72 61 70 0d 0a 09 70 75 73 68 09 64 73 xrw2:...call.CheckWrap...push.ds
19a80 0d 0a 09 70 6f 70 09 65 73 09 09 09 3b 20 45 53 3a 42 58 20 3d 20 52 65 71 75 65 73 74 20 61 64 ...pop.es...;.ES:BX.=.Request.ad
19aa0 64 72 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 4c 45 41 09 53 49 2c 46 dr...push.cs...pop.ds...LEA.SI,F
19ac0 69 78 65 64 51 75 65 75 65 09 09 3b 20 44 53 3a 53 49 20 3d 20 70 74 72 20 74 6f 20 68 65 61 64 ixedQueue..;.DS:SI.=.ptr.to.head
19ae0 20 6f 66 20 71 75 65 75 65 0d 0a 09 4d 4f 56 09 44 58 2c 50 75 73 68 52 65 71 75 65 73 74 0d 0a .of.queue...MOV.DX,PushRequest..
19b00 09 43 41 4c 4c 09 44 6f 73 46 75 6e 63 74 69 6f 6e 09 09 3b 20 41 64 64 20 72 65 71 75 65 73 74 .CALL.DosFunction..;.Add.request
19b20 20 74 6f 20 6c 69 73 74 0d 0a 09 70 75 73 68 09 65 73 0d 0a 09 70 6f 70 09 64 73 09 09 09 3b 20 .to.list...push.es...pop.ds...;.
19b40 42 61 63 6b 20 74 6f 20 44 53 3a 42 58 20 69 73 20 72 65 71 75 65 73 74 0d 0a 09 70 75 73 68 66 Back.to.DS:BX.is.request...pushf
19b60 0d 0a 09 63 6c 69 09 09 09 09 3b 20 69 6e 74 65 72 72 75 70 74 73 20 6f 66 66 20 77 68 69 6c 65 ...cli....;.interrupts.off.while
19b80 20 74 65 73 74 69 6e 67 20 73 74 61 74 65 0d 0a 09 54 45 53 54 09 46 69 78 65 64 2e 46 6c 61 67 .testing.state...TEST.Fixed.Flag
19ba0 73 2c 46 61 63 74 69 76 65 09 3b 20 49 73 20 64 72 69 76 65 72 20 61 63 74 69 76 65 3f 0d 0a 09 s,Factive.;.Is.driver.active?...
19bc0 4a 4e 45 09 46 69 78 65 64 41 63 74 69 76 65 09 09 3b 20 59 65 73 2c 20 64 72 69 76 65 72 20 77 JNE.FixedActive..;.Yes,.driver.w
19be0 69 6c 6c 20 67 65 74 20 74 6f 20 69 74 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 50 55 53 48 09 42 ill.get.to.it...PUSH.DS...PUSH.B
19c00 58 09 09 09 3b 20 53 61 76 65 20 73 6f 6d 65 20 72 65 67 73 0d 0a 09 4f 52 09 46 69 78 65 64 2e X...;.Save.some.regs...OR.Fixed.
19c20 46 6c 61 67 73 2c 46 61 63 74 69 76 65 0d 0a 09 4d 4f 56 09 46 69 01 78 65 64 2e 53 74 61 74 65 Flags,Factive...MOV.Fi.xed.State
19c40 2c 53 74 61 72 74 09 3b 20 57 61 6e 74 20 74 6f 20 73 74 61 72 74 20 49 2f 4f 0d 0a 09 43 41 4c ,Start.;.Want.to.start.I/O...CAL
19c60 4c 09 46 69 78 65 64 45 78 65 63 75 74 65 09 09 3b 20 53 74 61 72 74 20 75 70 20 74 68 65 20 64 L.FixedExecute..;.Start.up.the.d
19c80 72 69 76 65 72 0d 0a 09 50 4f 50 09 42 58 0d 0a 09 50 4f 50 09 44 53 09 09 09 3b 20 52 65 73 74 river...POP.BX...POP.DS...;.Rest
19ca0 6f 72 65 20 72 65 67 73 0d 0a 66 78 72 77 34 3a 09 74 65 73 74 09 44 53 3a 5b 42 58 5d 2e 52 71 ore.regs..fxrw4:.test.DS:[BX].Rq
19cc0 53 74 61 74 75 73 2c 30 31 30 30 48 09 3b 20 49 4f 20 63 6f 6d 70 6c 65 74 65 64 3f 0d 0a 09 4a Status,0100H.;.IO.completed?...J
19ce0 4e 5a 09 46 69 78 65 64 49 4f 64 6f 6e 65 09 09 3b 20 79 65 73 0d 0a 0d 0a 46 69 78 65 64 41 63 NZ.FixedIOdone..;.yes....FixedAc
19d00 74 69 76 65 3a 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 09 09 09 3b 20 41 58 3a 42 58 20 3d 20 72 65 tive:...MOV.AX,DS...;.AX:BX.=.re
19d20 71 75 65 73 74 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 4d 4f quest...xor.cx,cx...push.bx...MO
19d40 56 09 44 58 2c 42 6c 6f 63 6b 50 72 6f 63 65 73 73 0d 0a 09 43 41 4c 4c 09 44 6f 73 46 75 6e 63 V.DX,BlockProcess...CALL.DosFunc
19d60 74 69 6f 6e 09 09 3b 20 42 6c 6f 63 6b 20 75 6e 74 69 6c 20 49 2f 4f 20 69 73 20 64 6f 6e 65 0d tion..;.Block.until.I/O.is.done.
19d80 0a 09 70 6f 70 09 62 78 0d 0a 09 6a 6d 70 09 66 78 72 77 34 09 09 09 3b 20 74 65 73 74 20 63 6f ..pop.bx...jmp.fxrw4...;.test.co
19da0 6d 70 6c 65 74 69 6f 6e 20 73 74 61 74 75 73 20 61 67 61 69 6e 0d 0a 46 69 78 65 64 49 4f 64 6f mpletion.status.again..FixedIOdo
19dc0 6e 65 3a 0d 0a 09 70 6f 70 66 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 42 58 5d 2e 52 71 53 74 ne:...popf...MOV.AX,DS:[BX].RqSt
19de0 61 74 75 73 09 3b 20 4e 65 65 64 20 41 58 20 3d 20 73 74 61 74 75 73 0d 0a 09 4d 4f 56 09 43 58 atus.;.Need.AX.=.status...MOV.CX
19e00 2c 44 53 3a 5b 42 58 5d 2e 52 71 43 6f 75 6e 74 09 3b 20 4e 65 65 64 20 43 58 20 3d 20 63 6f 75 ,DS:[BX].RqCount.;.Need.CX.=.cou
19e20 6e 74 20 6c 65 66 74 20 74 6f 20 64 6f 0d 0a 09 64 65 62 75 67 09 38 01 2c 32 2c 3c 46 78 20 72 nt.left.to.do...debug.8.,2,<Fx.r
19e40 64 2f 77 74 2f 76 65 72 20 44 4f 4e 45 09 52 65 71 20 24 78 3a 24 78 20 20 73 74 61 74 20 24 78 d/wt/ver.DONE.Req.$x:$x..stat.$x
19e60 20 20 72 65 73 69 64 20 24 64 5c 6e 3e 2c 3c 64 73 2c 62 78 2c 61 78 2c 63 78 3e 0d 0a 09 4a 4d ..resid.$d\n>,<ds,bx,ax,cx>...JM
19e80 50 09 53 65 74 53 74 61 74 75 73 09 09 3b 20 52 65 74 75 72 6e 20 74 6f 20 44 4f 53 20 77 69 74 P.SetStatus..;.Return.to.DOS.wit
19ea0 68 20 72 65 73 75 6c 74 73 0d 0a 46 69 78 65 64 57 72 69 74 65 56 09 45 4e 44 50 0d 0a 0d 0a 3b h.results..FixedWriteV.ENDP....;
19ec0 2a 2a 2a 09 43 68 65 63 6b 57 72 61 70 20 2d 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 61 20 ***.CheckWrap.-.check.whether.a.
19ee0 72 65 71 75 65 73 74 20 63 72 6f 73 73 65 73 20 61 20 36 34 4b 62 20 62 6f 75 6e 64 61 72 79 0d request.crosses.a.64Kb.boundary.
19f00 0a 3b 0d 0a 3b 09 43 68 65 63 6b 57 72 61 70 20 77 69 6c 6c 20 63 68 65 63 6b 20 77 68 65 74 68 .;..;.CheckWrap.will.check.wheth
19f20 65 72 20 74 68 65 20 72 65 71 75 65 73 74 20 67 69 76 65 6e 20 69 6e 20 44 53 3a 42 58 0d 0a 3b er.the.request.given.in.DS:BX..;
19f40 09 63 72 6f 73 73 65 73 20 61 20 36 34 4b 62 20 62 6f 75 6e 64 61 72 79 2e 20 20 41 20 70 6f 72 .crosses.a.64Kb.boundary...A.por
19f60 74 69 6f 6e 20 6f 66 20 73 75 63 68 20 72 65 71 75 65 73 74 73 20 6d 75 73 74 0d 0a 3b 09 62 65 tion.of.such.requests.must..;.be
19f80 20 64 6f 6e 65 20 75 73 69 6e 67 20 53 63 72 61 74 63 68 42 75 66 66 65 72 20 66 6f 72 20 61 20 .done.using.ScratchBuffer.for.a.
19fa0 73 69 6e 67 6c 65 20 73 65 63 74 6f 72 20 74 72 61 6e 73 66 65 72 2e 0d 0a 3b 09 54 68 69 73 20 single.sector.transfer...;.This.
19fc0 72 6f 75 74 69 6e 65 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 6f 6e 6c 79 20 6f 6e 65 20 73 75 routine.ensures.that.only.one.su
19fe0 63 68 20 72 65 71 75 65 73 74 20 69 73 20 70 75 74 20 69 6e 74 6f 0d 0a 3b 09 65 69 74 68 65 72 ch.request.is.put.into..;.either
1a000 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 20 71 75 65 75 65 73 20 61 74 20 61 6e 79 20 74 69 .of.the.request.queues.at.any.ti
1a020 6d 65 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 44 53 3a 42 58 09 52 65 05 0b 01 09 02 01 02 03 me...;..;.ENTRY.DS:BX.Re........
1a040 04 05 06 07 08 09 01 71 75 65 73 74 20 68 65 61 64 65 72 0d 0a 3b 09 09 45 53 3a 44 49 09 54 72 .......quest.header..;..ES:DI.Tr
1a060 61 6e 73 66 65 72 20 61 64 64 72 65 73 73 0d 0a 3b 09 09 43 53 3a 53 49 09 50 6f 69 6e 74 65 72 ansfer.address..;..CS:SI.Pointer
1a080 20 74 6f 20 42 50 42 0d 0a 3b 09 09 43 58 09 53 65 63 74 6f 72 20 63 6f 75 6e 74 0d 0a 3b 09 45 .to.BPB..;..CX.Sector.count..;.E
1a0a0 58 49 54 09 57 68 65 6e 20 69 74 27 73 20 73 61 66 65 20 74 6f 20 70 72 6f 63 65 65 64 2e 0d 0a XIT.When.it's.safe.to.proceed...
1a0c0 3b 09 55 53 45 53 09 41 58 2c 42 50 0d 0a 0d 0a 43 68 65 63 6b 57 72 61 70 09 50 52 4f 43 0d 0a ;.USES.AX,BP....CheckWrap.PROC..
1a0e0 09 70 75 73 68 09 64 78 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 6d 6f 76 09 61 78 2c 63 78 0d 0a .push.dx...push.cx...mov.ax,cx..
1a100 09 6d 75 6c 09 63 73 3a 5b 73 69 2e 42 50 42 73 65 63 73 69 7a 5d 0d 0a 09 6d 6f 76 09 64 78 2c .mul.cs:[si.BPBsecsiz]...mov.dx,
1a120 65 73 09 09 09 3b 20 63 6f 6d 70 75 74 65 20 6f 66 66 73 65 74 0d 0a 09 6d 6f 76 09 63 6c 2c 34 es...;.compute.offset...mov.cl,4
1a140 0d 0a 09 73 68 6c 09 64 78 2c 63 6c 0d 0a 09 61 64 64 09 64 78 2c 64 69 0d 0a 09 63 6c 63 09 09 ...shl.dx,cl...add.dx,di...clc..
1a160 09 09 3b 20 6e 6f 77 20 73 65 65 20 69 66 20 6f 66 66 73 65 74 2b 6e 62 79 74 65 73 20 6f 76 65 ..;.now.see.if.offset+nbytes.ove
1a180 72 66 6c 6f 77 73 0d 0a 09 61 64 64 09 64 78 2c 61 78 0d 0a 09 6a 6e 63 09 63 68 6b 77 38 0d 0a rflows...add.dx,ax...jnc.chkw8..
1a1a0 09 64 65 62 75 67 09 31 32 2c 31 30 68 2c 3c 43 68 65 63 6b 57 72 61 70 20 24 78 20 24 78 3a 24 .debug.12,10h,<CheckWrap.$x.$x:$
1a1c0 78 09 3e 2c 3c 61 78 2c 65 73 2c 64 69 3e 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 53 65 6d 57 61 x.>,<ax,es,di>...push.bx...SemWa
1a1e0 69 74 20 53 63 72 61 74 63 68 42 75 66 53 65 6d 09 09 3b 20 77 61 69 74 20 66 6f 72 20 53 63 72 it.ScratchBufSem..;.wait.for.Scr
1a200 61 74 63 68 42 75 66 66 65 72 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 0d 0a 09 70 6f 70 atchBuffer.to.be.available...pop
1a220 09 62 78 0d 0a 0d 0a 63 68 6b 77 38 3a 09 70 6f 70 09 63 78 0d 0a 09 70 6f 70 09 64 78 0d 0a 09 .bx....chkw8:.pop.cx...pop.dx...
1a240 72 65 74 0d 0a 43 68 01 65 63 6b 57 72 61 70 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 2a 2a 2a 09 46 ret..Ch.eckWrap.ENDP......;***.F
1a260 6c 6f 70 70 79 43 68 61 6e 67 65 20 2d 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 66 6c 6f 70 loppyChange.-.check.whether.flop
1a280 70 79 20 64 69 73 6b 20 6d 75 73 74 20 62 65 20 63 68 61 6e 67 65 64 0d 0a 3b 0d 0a 3b 09 46 6c py.disk.must.be.changed..;..;.Fl
1a2a0 6f 70 70 79 43 68 61 6e 67 65 20 69 73 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 73 69 6e 67 6c 65 oppyChange.is.called.on.a.single
1a2c0 20 64 72 69 76 65 20 73 79 73 74 65 6d 20 74 6f 20 73 69 6d 75 6c 61 74 65 20 61 0d 0a 3b 09 74 .drive.system.to.simulate.a..;.t
1a2e0 77 6f 20 64 72 69 76 65 20 73 79 73 74 65 6d 2e 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 72 65 wo.drive.system...The.current.re
1a300 71 75 65 73 74 20 66 6f 72 20 49 2f 4f 20 69 73 20 63 68 65 63 6b 65 64 20 61 67 61 69 6e 73 74 quest.for.I/O.is.checked.against
1a320 0d 0a 3b 09 77 68 61 74 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 73 69 64 65 72 73 20 74 6f ..;.what.the.driver.considers.to
1a340 20 62 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 72 69 76 65 2e 20 20 49 66 20 74 68 65 79 20 .be.the.current.drive...If.they.
1a360 61 72 65 0d 0a 3b 09 74 68 65 20 73 61 6d 65 2c 20 46 6c 6f 70 70 79 43 68 61 6e 67 65 20 6a 75 are..;.the.same,.FloppyChange.ju
1a380 73 74 20 72 65 74 75 72 6e 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 53 77 61 70 53 65 6d 32 st.returns...Otherwise,.SwapSem2
1a3a0 20 69 73 20 73 65 74 0d 0a 3b 09 61 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 .is.set..;.and.the.current.proce
1a3c0 73 73 20 69 73 20 62 6c 6f 63 6b 65 64 20 6f 6e 20 53 77 61 70 53 65 6d 32 2e 09 20 41 6e 79 20 ss.is.blocked.on.SwapSem2...Any.
1a3e0 70 72 6f 63 65 73 73 20 74 68 61 74 0d 0a 3b 09 61 74 74 65 6d 70 74 73 20 49 2f 4f 20 77 68 69 process.that..;.attempts.I/O.whi
1a400 6c 65 20 53 77 61 70 53 65 6d 32 20 69 73 20 73 65 74 20 69 73 20 62 6c 6f 63 6b 65 64 20 6f 6e le.SwapSem2.is.set.is.blocked.on
1a420 20 53 77 61 70 53 65 6d 31 2e 20 20 57 68 65 6e 0d 0a 3b 09 53 77 61 70 53 65 6d 32 20 69 73 20 .SwapSem1...When..;.SwapSem2.is.
1a440 63 6c 65 61 72 65 64 2c 01 20 74 68 65 73 65 20 70 72 6f 63 65 73 73 65 73 20 61 72 65 20 63 6f cleared,..these.processes.are.co
1a460 6e 74 69 6e 75 65 64 2e 20 20 57 68 65 6e 20 74 68 65 0d 0a 3b 09 64 72 69 76 65 72 20 62 65 63 ntinued...When.the..;.driver.bec
1a480 6f 6d 65 73 20 69 64 6c 65 20 61 6e 64 20 53 77 61 70 53 65 6d 32 20 69 73 20 73 65 74 2c 20 74 omes.idle.and.SwapSem2.is.set,.t
1a4a0 68 65 20 49 64 6c 65 20 73 74 61 74 65 20 63 6f 6e 74 69 6e 75 65 73 0d 0a 3b 09 74 68 65 20 62 he.Idle.state.continues..;.the.b
1a4c0 6c 6f 63 6b 65 64 20 70 72 6f 63 65 73 73 2e 20 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 74 68 locked.process...This.process.th
1a4e0 65 6e 20 70 75 74 73 20 6f 75 74 20 74 68 65 20 6d 65 73 73 61 67 65 20 61 62 6f 75 74 0d 0a 3b en.puts.out.the.message.about..;
1a500 09 73 77 69 74 63 68 69 6e 67 20 64 69 73 6b 73 20 61 6e 64 20 77 61 69 74 73 20 66 6f 72 20 61 .switching.disks.and.waits.for.a
1a520 20 75 73 65 72 20 72 65 70 6c 79 2e 20 20 57 68 65 6e 20 69 74 20 69 73 20 67 69 76 65 6e 2c 0d .user.reply...When.it.is.given,.
1a540 0a 3b 09 46 6c 6f 70 70 79 43 68 61 6e 67 65 20 63 6c 65 61 72 73 20 53 77 61 70 53 65 6d 31 20 .;.FloppyChange.clears.SwapSem1.
1a560 61 6e 64 20 63 61 75 73 65 73 20 74 68 65 20 49 2f 4f 20 74 6f 20 62 65 20 73 74 61 72 74 65 64 and.causes.the.I/O.to.be.started
1a580 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 44 53 3a 42 58 09 50 6f 69 6e 74 65 72 20 74 6f 20 49 ...;..;.ENTRY.DS:BX.Pointer.to.I
1a5a0 2f 4f 20 72 65 71 75 65 73 74 0d 0a 3b 0d 0a 3b 09 55 53 45 53 09 41 58 2c 44 58 0d 0a 3b 0d 0a /O.request..;..;.USES.AX,DX..;..
1a5c0 0d 0a 0d 0a 46 6c 6f 70 70 79 43 68 61 6e 67 65 09 50 52 4f 43 0d 0a 09 70 75 73 68 09 63 78 0d ....FloppyChange.PROC...push.cx.
1a5e0 0a 09 70 75 73 68 66 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 53 65 6d 57 61 69 74 20 53 77 61 70 ..pushf...push.bx...SemWait.Swap
1a600 53 65 6d 31 09 09 3b 20 43 75 72 72 65 6e 74 6c 79 20 77 61 69 74 69 6e 67 20 74 6f 20 73 77 69 Sem1..;.Currently.waiting.to.swi
1a620 74 63 68 20 64 69 73 6b 3f 0d 0a 09 70 6f 70 09 62 78 0d 0a 0d 0a 66 6c 63 68 61 31 3a 20 61 6e tch.disk?...pop.bx....flcha1:.an
1a640 64 09 53 77 61 70 53 65 6d 01 31 2c 4e 4f 54 20 53 45 4d 5f 42 55 53 59 09 3b 20 72 65 73 65 74 d.SwapSem.1,NOT.SEM_BUSY.;.reset
1a660 20 42 55 53 59 20 66 6f 72 20 6e 6f 77 0d 0a 09 4d 4f 56 09 41 4c 2c 44 53 3a 5b 42 58 5d 2e 52 .BUSY.for.now...MOV.AL,DS:[BX].R
1a680 71 55 6e 69 74 09 3b 20 47 65 74 20 64 65 73 69 72 65 64 20 75 6e 69 74 0d 0a 09 43 4d 50 09 41 qUnit.;.Get.desired.unit...CMP.A
1a6a0 4c 2c 46 6c 6f 70 70 79 2e 55 6e 69 74 09 09 3b 20 53 77 69 74 63 68 69 6e 67 20 41 20 61 6e 64 L,Floppy.Unit..;.Switching.A.and
1a6c0 20 42 20 64 72 69 76 65 3f 0d 0a 09 4a 45 09 66 6c 63 68 61 37 09 09 09 3b 20 4e 6f 2c 20 6b 65 .B.drive?...JE.flcha7...;.No,.ke
1a6e0 65 70 20 75 73 69 6e 67 20 74 68 69 73 20 64 72 69 76 65 0d 0a 09 43 4c 49 09 09 09 09 3b 20 2a ep.using.this.drive...CLI....;.*
1a700 2a 20 44 69 73 61 62 6c 65 20 69 6e 74 65 72 72 75 70 74 73 0d 0a 09 4f 52 09 53 77 61 70 53 65 *.Disable.interrupts...OR.SwapSe
1a720 6d 31 2c 53 45 4d 5f 42 55 53 59 09 3b 20 46 6c 61 67 20 77 61 69 74 69 6e 67 20 74 6f 20 73 77 m1,SEM_BUSY.;.Flag.waiting.to.sw
1a740 69 74 63 68 0d 0a 09 74 65 73 74 09 46 6c 6f 70 70 79 2e 46 6c 61 67 73 2c 46 61 63 74 69 76 65 itch...test.Floppy.Flags,Factive
1a760 09 3b 20 49 73 20 64 72 69 76 65 72 20 69 64 6c 65 3f 0d 0a 09 4a 45 09 66 6c 63 68 61 32 09 09 .;.Is.driver.idle?...JE.flcha2..
1a780 09 3b 20 59 65 73 2c 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 77 61 69 74 0d 0a 09 70 75 73 .;.Yes,.don't.need.to.wait...pus
1a7a0 68 09 62 78 0d 0a 09 53 65 6d 57 61 69 74 20 53 77 61 70 53 65 6d 32 0d 0a 09 70 6f 70 09 62 78 h.bx...SemWait.SwapSem2...pop.bx
1a7c0 0d 0a 09 6a 6d 70 09 66 6c 63 68 61 31 0d 0a 66 6c 63 68 61 32 3a 0d 0a 09 70 6f 70 66 09 09 09 ...jmp.flcha1..flcha2:...popf...
1a7e0 09 3b 20 72 65 73 74 6f 72 65 20 69 6e 74 65 72 72 75 70 74 20 73 74 61 74 65 0d 0a 09 70 75 73 .;.restore.interrupt.state...pus
1a800 68 66 0d 0a 09 41 44 44 09 41 4c 2c 22 41 22 09 09 09 3b 20 43 6f 6e 76 65 72 74 20 74 6f 20 64 hf...ADD.AL,"A"...;.Convert.to.d
1a820 72 69 76 65 20 6c 65 74 74 65 72 0d 0a 09 4d 4f 56 09 43 53 3a 44 72 69 76 65 4c 65 74 74 65 72 rive.letter...MOV.CS:DriveLetter
1a840 2c 41 4c 09 3b 20 53 65 74 20 01 74 68 65 20 6c 65 74 74 65 72 0d 0a 09 50 55 53 48 09 44 53 0d ,AL.;.Set..the.letter...PUSH.DS.
1a860 0a 09 50 55 53 48 09 53 49 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 ..PUSH.SI...push.bx...push.cs...
1a880 70 6f 70 09 64 73 0d 0a 09 4c 45 41 09 53 49 2c 53 77 69 74 63 68 4d 73 67 0d 0a 66 6c 63 68 61 pop.ds...LEA.SI,SwitchMsg..flcha
1a8a0 34 3a 0d 0a 09 4c 4f 44 53 42 0d 0a 09 4f 52 09 41 4c 2c 41 4c 09 09 09 3b 20 45 6e 64 20 6f 66 4:...LODSB...OR.AL,AL...;.End.of
1a8c0 20 6d 65 73 73 61 67 65 3f 0d 0a 09 4a 5a 09 66 6c 63 68 61 35 09 09 09 3b 20 59 65 73 0d 0a 09 .message?...JZ.flcha5...;.Yes...
1a8e0 49 4e 54 09 32 39 48 09 09 09 3b 20 4e 6f 2c 20 6f 75 74 70 75 74 20 63 68 61 72 0d 0a 09 4a 4d INT.29H...;.No,.output.char...JM
1a900 50 09 66 6c 63 68 61 34 09 09 09 3b 20 50 75 74 20 6f 75 74 20 77 68 6f 6c 65 20 6d 73 67 0d 0a P.flcha4...;.Put.out.whole.msg..
1a920 0d 0a 66 6c 63 68 61 35 3a 0d 0a 09 6d 6f 76 09 61 68 2c 31 09 09 09 3b 20 46 6c 75 73 68 20 6b ..flcha5:...mov.ah,1...;.Flush.k
1a940 65 79 62 6f 61 72 64 20 69 6e 70 75 74 0d 0a 09 69 6e 74 09 31 36 48 0d 0a 09 6a 7a 09 66 6c 63 eyboard.input...int.16H...jz.flc
1a960 68 61 35 0d 0a 09 58 4f 52 09 41 48 2c 41 48 0d 0a 09 49 4e 54 09 31 36 48 09 09 09 3b 20 57 61 ha5...XOR.AH,AH...INT.16H...;.Wa
1a980 69 74 20 66 6f 72 20 61 20 63 68 61 72 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 50 4f 50 09 53 49 0d it.for.a.char...pop.bx...POP.SI.
1a9a0 0a 09 50 4f 50 09 44 53 0d 0a 66 6c 63 68 61 37 3a 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 53 65 ..POP.DS..flcha7:...push.bx...Se
1a9c0 6d 53 69 67 09 53 77 61 70 53 65 6d 31 09 09 3b 20 41 6c 6c 6f 77 20 62 6c 6f 63 6b 65 64 20 70 mSig.SwapSem1..;.Allow.blocked.p
1a9e0 72 6f 63 65 73 73 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 65 0d 0a 09 70 6f 70 09 62 78 0d 0a 66 rocesses.to.continue...pop.bx..f
1aa00 6c 63 68 61 38 3a 0d 0a 09 70 6f 70 66 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 52 45 54 0d 0a 0d 0a lcha8:...popf...pop.cx...RET....
1aa20 46 6c 6f 70 70 79 43 68 61 6e 67 65 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 53 77 69 74 63 68 4d 73 67 FloppyChange.ENDP......SwitchMsg
1aa40 09 4c 41 42 45 4c 09 57 4f 52 44 01 0d 0a 09 44 42 09 31 33 2c 31 30 2c 22 49 6e 73 65 72 74 20 .LABEL.WORD....DB.13,10,"Insert.
1aa60 64 69 73 6b 65 74 74 65 20 66 6f 72 20 64 72 69 76 65 20 22 0d 0a 44 72 69 76 65 4c 65 74 74 65 diskette.for.drive."..DriveLette
1aa80 72 09 4c 41 42 45 4c 09 42 59 54 45 0d 0a 09 44 42 09 22 41 3a 20 61 6e 64 20 73 74 72 69 6b 65 r.LABEL.BYTE...DB."A:.and.strike
1aaa0 22 2c 31 33 2c 31 30 2c 22 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 79 22 2c 31 33 2c ",13,10,"any.key.when.ready",13,
1aac0 31 30 2c 31 30 2c 30 0d 0a 0d 0a 0d 0a 49 6e 74 31 33 48 61 6e 64 6c 65 72 09 50 72 6f 63 09 46 10,10,0......Int13Handler.Proc.F
1aae0 61 72 0d 0a 09 70 75 73 68 09 64 78 09 09 09 3b 20 53 61 76 65 20 72 65 67 73 20 75 73 65 64 20 ar...push.dx...;.Save.regs.used.
1ab00 69 6e 20 6c 6f 63 61 6c 20 70 72 6f 63 65 73 73 69 6e 67 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 in.local.processing...push.cx...
1ab20 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 61 78 0d 0a 09 70 75 73 68 66 0d 0a 4c 6f 63 6b 43 push.bx...push.ax...pushf..LockC
1ab40 68 65 63 6b 3a 0d 0a 09 63 6c 69 09 09 09 09 3b 20 49 66 20 61 6e 79 20 49 6e 74 20 31 33 20 72 heck:...cli....;.If.any.Int.13.r
1ab60 65 71 75 65 73 74 20 69 73 20 61 6c 72 65 61 64 79 0d 0a 09 63 6d 70 09 53 65 6d 49 6e 74 31 33 equest.is.already...cmp.SemInt13
1ab80 2c 30 09 09 3b 20 20 70 65 6e 64 69 6e 67 2c 20 62 6c 6f 63 6b 20 74 68 69 73 20 70 72 6f 63 65 ,0..;..pending,.block.this.proce
1aba0 73 73 20 75 6e 74 69 6c 0d 0a 09 6a 7a 09 4e 6f 74 4c 6f 63 6b 65 64 09 09 3b 20 20 74 68 65 20 ss.until...jz.NotLocked..;..the.
1abc0 70 72 65 76 69 6f 75 73 20 6f 6e 65 20 66 69 6e 69 73 68 65 73 2e 0d 0a 09 6d 6f 76 09 61 78 2c previous.one.finishes....mov.ax,
1abe0 63 73 0d 0a 09 6d 6f 76 09 62 78 2c 6f 66 66 73 65 74 20 53 65 6d 49 6e 74 31 33 0d 0a 09 78 6f cs...mov.bx,offset.SemInt13...xo
1ac00 72 09 63 78 2c 63 78 0d 0a 09 6d 6f 76 09 64 78 2c 42 6c 6f 63 6b 50 72 6f 63 65 73 73 0d 0a 09 r.cx,cx...mov.dx,BlockProcess...
1ac20 63 61 6c 6c 09 44 6f 73 46 75 6e 63 74 69 6f 6e 0d 0a 09 6a 6d 70 09 4c 6f 63 6b 43 68 65 63 6b call.DosFunction...jmp.LockCheck
1ac40 0d 0a 4e 6f 74 4c 6f 63 6b 65 64 3a 01 0d 0a 09 6d 6f 76 09 53 65 6d 49 6e 74 31 33 2c 31 09 09 ..NotLocked:....mov.SemInt13,1..
1ac60 3b 20 4c 6f 63 6b 20 6f 75 74 20 6f 74 68 65 72 20 64 69 73 6b 20 72 65 71 75 65 73 74 73 0d 0a ;.Lock.out.other.disk.requests..
1ac80 09 70 6f 70 66 0d 0a 09 70 75 73 68 66 0d 0a 42 75 73 79 43 68 65 63 6b 3a 0d 0a 09 63 6c 69 0d .popf...pushf..BusyCheck:...cli.
1aca0 0a 09 63 6d 70 09 53 65 6d 44 69 73 6b 49 4f 2c 30 09 09 3b 20 49 66 20 74 68 65 20 64 69 73 6b ..cmp.SemDiskIO,0..;.If.the.disk
1acc0 73 20 61 72 65 20 62 75 73 79 2c 20 62 6c 6f 63 6b 20 74 68 69 73 0d 0a 09 6a 7a 09 44 69 73 6b s.are.busy,.block.this...jz.Disk
1ace0 46 72 65 65 09 09 3b 20 20 70 72 6f 63 65 73 73 20 74 69 6c 6c 20 74 68 65 79 20 66 72 65 65 20 Free..;..process.till.they.free.
1ad00 75 70 2e 0d 0a 09 6d 6f 76 09 61 78 2c 63 73 0d 0a 09 6d 6f 76 09 62 78 2c 6f 66 66 73 65 74 20 up....mov.ax,cs...mov.bx,offset.
1ad20 53 65 6d 44 69 73 6b 49 4f 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 6d 6f 76 09 64 78 2c 42 SemDiskIO...xor.cx,cx...mov.dx,B
1ad40 6c 6f 63 6b 50 72 6f 63 65 73 73 0d 0a 09 63 61 6c 6c 09 44 6f 73 46 75 6e 63 74 69 6f 6e 0d 0a lockProcess...call.DosFunction..
1ad60 09 6a 6d 70 09 42 75 73 79 43 68 65 63 6b 0d 0a 44 69 73 6b 46 72 65 65 3a 0d 0a 09 70 6f 70 66 .jmp.BusyCheck..DiskFree:...popf
1ad80 0d 0a 09 73 74 69 0d 0a 09 70 6f 70 09 61 78 09 09 09 3b 20 52 65 73 74 6f 72 65 20 72 65 67 73 ...sti...pop.ax...;.Restore.regs
1ada0 20 66 6f 72 20 63 61 6c 6c 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 70 6f .for.call...pop.bx...pop.cx...po
1adc0 70 09 64 78 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 70 75 73 68 09 p.dx...push.dx...push.cx...push.
1ade0 62 78 0d 0a 09 70 75 73 68 66 0d 0a 09 63 61 6c 6c 09 64 77 6f 72 64 20 70 74 72 20 5b 52 65 61 bx...pushf...call.dword.ptr.[Rea
1ae00 6c 49 6e 74 31 33 56 65 63 5d 0d 0a 09 6d 6f 76 09 53 65 6d 49 6e 74 31 33 2c 30 0d 0a 09 70 75 lInt13Vec]...mov.SemInt13,0...pu
1ae20 73 68 09 61 78 0d 0a 09 70 75 73 68 66 0d 0a 09 6d 6f 76 09 61 78 2c 63 73 09 09 09 3b 20 55 6e sh.ax...pushf...mov.ax,cs...;.Un
1ae40 62 6c 6f 63 6b 20 61 6e 79 74 68 69 6e 01 67 20 74 68 61 74 20 69 73 20 77 61 69 74 69 6e 67 0d block.anythin.g.that.is.waiting.
1ae60 0a 09 6d 6f 76 09 62 78 2c 6f 66 66 73 65 74 20 53 65 6d 49 6e 74 31 33 0d 0a 09 6d 6f 76 09 64 ..mov.bx,offset.SemInt13...mov.d
1ae80 78 2c 43 6f 6e 74 69 6e 75 65 50 72 6f 63 65 73 73 0d 0a 09 63 61 6c 6c 09 44 6f 73 46 75 6e 63 x,ContinueProcess...call.DosFunc
1aea0 74 69 6f 6e 0d 0a 09 70 6f 70 66 09 09 09 09 3b 20 52 65 73 74 6f 72 65 20 75 73 65 72 20 72 65 tion...popf....;.Restore.user.re
1aec0 67 73 0d 0a 09 70 6f 70 09 61 78 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 gs...pop.ax...pop.bx...pop.cx...
1aee0 70 6f 70 09 64 78 0d 0a 09 72 65 74 09 32 0d 0a 49 6e 74 31 33 48 61 6e 64 6c 65 72 09 65 6e 64 pop.dx...ret.2..Int13Handler.end
1af00 70 0d 0a 0d 0a 0d 0a 53 55 42 54 54 4c 09 46 69 78 65 64 20 64 69 73 6b 20 73 74 61 72 74 75 70 p......SUBTTL.Fixed.disk.startup
1af20 20 72 6f 75 74 69 6e 65 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 3b 09 46 69 78 65 64 45 78 65 63 75 .routine..PAGE.+....;.FixedExecu
1af40 74 65 20 70 72 6f 63 65 73 73 65 73 20 61 20 64 69 73 6b 20 72 65 71 75 65 73 74 20 61 66 74 65 te.processes.a.disk.request.afte
1af60 72 20 69 74 20 68 61 73 20 62 65 65 6e 20 73 65 74 20 75 70 2e 09 20 57 68 65 6e 20 74 68 65 0d r.it.has.been.set.up...When.the.
1af80 0a 3b 20 20 64 69 73 6b 20 69 73 20 69 6e 61 63 74 69 76 65 20 28 53 74 61 74 65 20 3d 20 49 64 .;..disk.is.inactive.(State.=.Id
1afa0 6c 65 29 2c 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 73 74 61 72 74 20 74 68 65 20 64 le),.it.is.called.to.start.the.d
1afc0 65 76 69 63 65 2e 20 20 46 6f 72 20 61 6c 6c 0d 0a 3b 20 20 73 75 62 73 65 71 75 65 6e 74 20 65 evice...For.all..;..subsequent.e
1afe0 76 65 6e 74 73 2c 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 65 20 64 69 73 6b 20 vents,.it.is.called.on.the.disk.
1b000 69 6e 74 65 72 72 75 70 74 20 77 68 69 63 68 20 73 69 67 6e 61 6c 65 64 20 74 68 65 0d 0a 3b 20 interrupt.which.signaled.the..;.
1b020 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 66 20 74 68 61 74 20 73 75 62 66 75 6e 63 74 69 6f 6e 2e .completion.of.that.subfunction.
1b040 20 20 53 6f 6d 65 20 73 74 61 74 65 73 20 01 64 6f 20 6e 6f 74 20 69 6e 76 6f 6c 76 65 20 77 61 ..Some.states..do.not.involve.wa
1b060 69 74 69 6e 67 20 66 6f 72 20 61 6e 0d 0a 3b 20 20 69 6e 74 65 72 72 75 70 74 20 74 6f 20 6f 63 iting.for.an..;..interrupt.to.oc
1b080 63 75 72 2e 09 54 68 69 73 20 72 6f 75 74 69 6e 65 20 72 75 6e 73 20 65 6e 74 69 72 65 6c 79 20 cur..This.routine.runs.entirely.
1b0a0 6f 66 66 20 74 68 65 20 27 46 69 78 65 64 27 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0d 0a off.the.'Fixed'.data.structure..
1b0c0 0d 0a 46 69 78 65 64 44 69 73 70 61 74 63 68 09 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 09 44 57 09 ..FixedDispatch.LABEL.WORD...DW.
1b0e0 46 78 45 78 53 74 61 72 74 0d 0a 09 44 57 09 46 78 45 78 43 61 6c 63 0d 0a 09 44 57 09 46 78 45 FxExStart...DW.FxExCalc...DW.FxE
1b100 78 45 72 72 6f 72 09 09 3b 3b 20 42 55 47 42 55 47 20 72 65 61 6c 6c 79 20 65 72 72 6f 72 20 69 xError..;;.BUGBUG.really.error.i
1b120 6e 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0d 0a 09 44 57 09 46 78 45 78 45 72 72 6f 72 09 09 n.state.machine...DW.FxExError..
1b140 3b 3b 20 42 55 47 42 55 47 20 72 65 61 6c 6c 79 20 65 72 72 6f 72 20 69 6e 20 73 74 61 74 65 20 ;;.BUGBUG.really.error.in.state.
1b160 6d 61 63 68 69 6e 65 0d 0a 09 44 57 09 46 78 45 78 45 72 72 6f 72 09 09 3b 3b 20 42 55 47 42 55 machine...DW.FxExError..;;.BUGBU
1b180 47 20 72 65 61 6c 6c 79 20 65 72 72 6f 72 20 69 6e 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0d G.really.error.in.state.machine.
1b1a0 0a 09 44 57 09 46 78 45 78 45 72 72 6f 72 09 09 3b 3b 20 42 55 47 42 55 47 20 72 65 61 6c 6c 79 ..DW.FxExError..;;.BUGBUG.really
1b1c0 20 65 72 72 6f 72 20 69 6e 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0d 0a 09 44 57 09 46 78 45 .error.in.state.machine...DW.FxE
1b1e0 78 56 65 72 69 66 79 0d 0a 09 44 57 09 46 78 45 78 44 6f 6e 65 0d 0a 09 44 57 09 46 78 45 78 49 xVerify...DW.FxExDone...DW.FxExI
1b200 64 6c 65 0d 0a 09 44 57 09 46 78 45 78 45 72 72 6f 72 0d 0a 0d 0a 46 69 78 65 64 45 78 65 63 75 dle...DW.FxExError....FixedExecu
1b220 74 65 09 50 52 4f 43 0d 0a 09 70 75 73 68 09 63 73 09 09 09 3b 20 43 53 20 2d 3e 20 44 53 0d 0a te.PROC...push.cs...;.CS.->.DS..
1b240 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 41 53 05 0c 00 09 02 01 02 03 04 05 06 07 08 09 01 53 55 .pop.ds......AS...............SU
1b260 4d 45 09 44 53 3a 42 69 6f 73 53 65 67 0d 0a 09 4d 4f 56 09 42 58 2c 46 69 78 65 64 2e 53 74 61 ME.DS:BiosSeg...MOV.BX,Fixed.Sta
1b280 74 65 09 09 3b 20 47 65 74 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 0d 0a 09 64 65 62 75 67 09 te..;.Get.current.state...debug.
1b2a0 38 2c 34 2c 3c 46 78 45 78 20 73 74 61 74 65 20 24 64 09 3e 2c 3c 62 78 3e 0d 0a 09 41 44 44 09 8,4,<FxEx.state.$d.>,<bx>...ADD.
1b2c0 42 58 2c 42 58 0d 0a 09 4a 4d 50 09 46 69 78 65 64 44 69 73 70 61 74 63 68 5b 42 58 5d 09 3b 20 BX,BX...JMP.FixedDispatch[BX].;.
1b2e0 44 69 73 70 61 74 63 68 20 74 6f 20 63 6f 72 72 65 63 74 20 72 6f 75 74 69 6e 65 0d 0a 0d 0a 0d Dispatch.to.correct.routine.....
1b300 0a 3b 2a 09 46 69 78 65 64 20 73 74 61 74 65 20 53 74 61 72 74 0d 0a 3b 0d 0a 3b 09 44 6f 20 73 .;*.Fixed.state.Start..;..;.Do.s
1b320 65 74 75 70 20 63 61 6c 63 75 6c 61 74 69 6f 6e 73 20 74 6f 20 66 69 67 75 72 65 20 6f 75 74 20 etup.calculations.to.figure.out.
1b340 73 65 63 74 6f 72 2c 20 73 74 61 72 74 0d 0a 3b 20 20 75 70 20 6d 6f 74 6f 72 2c 20 61 64 76 61 sector,.start..;..up.motor,.adva
1b360 6e 63 65 20 74 6f 20 43 61 6c 63 20 73 74 61 74 65 2e 0d 0a 3b 0d 0a 3b 20 20 45 6e 74 65 72 65 nce.to.Calc.state...;..;..Entere
1b380 64 20 6f 6e 20 69 6e 69 74 69 61 6c 6c 79 20 70 69 63 6b 69 6e 67 20 75 70 20 61 20 6e 65 77 20 d.on.initially.picking.up.a.new.
1b3a0 72 65 71 75 65 73 74 20 74 6f 20 64 6f 20 61 6e 64 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 request.to.do.and.on.error.retri
1b3c0 65 73 2e 0d 0a 3b 20 20 49 66 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 20 73 74 61 72 74 20 68 es...;..If.error.retries.start.h
1b3e0 65 72 65 2c 20 74 68 65 6e 20 6d 75 6c 74 69 70 6c 65 20 73 65 63 74 6f 72 20 72 65 71 75 65 73 ere,.then.multiple.sector.reques
1b400 74 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 73 74 61 72 74 0d 0a 3b 20 20 61 74 20 74 68 65 20 ts.will.always.start..;..at.the.
1b420 62 65 67 69 6e 6e 69 6e 67 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 74 20 74 68 65 20 70 6f 69 beginning.rather.than.at.the.poi
1b440 6e 74 20 6f 66 20 74 68 65 20 65 72 72 6f 72 21 20 57 68 79 3f 0d 0a 0d 0a 46 78 45 78 53 01 74 nt.of.the.error!.Why?....FxExS.t
1b460 61 72 74 3a 0d 0a 09 6d 6f 76 09 73 69 2c 4f 46 46 53 45 54 20 46 69 78 65 64 09 09 3b 20 53 49 art:...mov.si,OFFSET.Fixed..;.SI
1b480 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 65 72 2d 64 65 76 69 63 65 20 69 6e 66 6f 2e 0d 0a .=.pointer.to.per-device.info...
1b4a0 09 6c 65 73 09 62 78 2c 46 69 78 65 64 51 75 65 75 65 09 09 3b 20 45 53 3a 42 58 20 3d 20 70 6f .les.bx,FixedQueue..;.ES:BX.=.po
1b4c0 69 6e 74 65 72 20 74 6f 20 63 75 72 72 65 6e 74 20 72 65 71 75 65 73 74 0d 0a 09 6d 6f 76 09 61 inter.to.current.request...mov.a
1b4e0 6c 2c 65 73 3a 5b 62 78 5d 2e 52 71 55 6e 69 74 0d 0a 09 63 61 6c 6c 09 48 44 47 65 74 42 50 42 l,es:[bx].RqUnit...call.HDGetBPB
1b500 09 09 3b 20 44 49 20 3d 20 64 72 69 76 65 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 09 43 41 4c 4c ..;.DI.=.drive.parameters...CALL
1b520 09 53 65 74 75 70 09 09 09 3b 20 44 6f 20 73 65 74 75 70 20 63 61 6c 63 75 6c 61 74 69 6f 6e 73 .Setup...;.Do.setup.calculations
1b540 0d 0a 09 4d 4f 56 09 46 69 78 65 64 2e 53 74 61 74 65 2c 43 61 6c 63 09 3b 20 41 64 76 61 6e 63 ...MOV.Fixed.State,Calc.;.Advanc
1b560 65 20 74 6f 20 6e 65 78 74 20 73 74 61 74 65 0d 0a 09 4a 4d 50 09 46 69 78 65 64 45 78 65 63 75 e.to.next.state...JMP.FixedExecu
1b580 74 65 09 09 3b 20 4e 6f 77 20 72 65 74 75 72 6e 20 74 6f 20 64 6f 20 43 61 6c 63 20 63 6f 64 65 te..;.Now.return.to.do.Calc.code
1b5a0 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 09 46 69 78 65 64 20 73 74 61 74 65 20 43 61 6c 63 0d 0a 3b 0d 0a ........;*.Fixed.state.Calc..;..
1b5c0 3b 09 43 61 6c 63 75 6c 61 74 65 20 63 79 6c 69 6e 64 65 72 2c 20 68 65 61 64 20 61 6e 64 20 73 ;.Calculate.cylinder,.head.and.s
1b5e0 65 63 74 6f 72 2c 20 77 61 69 74 20 66 6f 72 20 6d 6f 74 6f 72 0d 0a 3b 20 20 73 74 61 72 74 20 ector,.wait.for.motor..;..start.
1b600 6f 72 20 68 65 61 64 20 6c 6f 61 64 2c 20 61 64 76 61 6e 63 65 20 74 6f 20 53 65 6c 65 63 74 20 or.head.load,.advance.to.Select.
1b620 73 74 61 74 65 2e 0d 0a 3b 0d 0a 3b 20 20 45 6e 74 65 72 65 64 20 61 66 74 65 72 20 53 74 61 72 state...;..;..Entered.after.Star
1b640 74 20 73 74 61 74 65 20 61 6e 64 20 61 6c 73 6f 20 6f 6e 20 66 75 72 74 68 65 72 20 73 65 63 01 t.state.and.also.on.further.sec.
1b660 74 6f 72 73 20 6f 66 20 61 20 6d 75 6c 74 69 70 6c 65 20 73 65 63 74 6f 72 0d 0a 3b 20 20 72 65 tors.of.a.multiple.sector..;..re
1b680 71 75 65 73 74 2e 0d 0a 0d 0a 46 78 45 78 43 61 6c 63 3a 0d 0a 09 6d 6f 76 09 73 69 2c 4f 46 46 quest.....FxExCalc:...mov.si,OFF
1b6a0 53 45 54 20 46 69 78 65 64 09 09 3b 20 53 49 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 65 72 SET.Fixed..;.SI.=.pointer.to.per
1b6c0 2d 64 65 76 69 63 65 20 69 6e 66 6f 2e 0d 0a 09 6c 65 73 09 62 78 2c 46 69 78 65 64 51 75 65 75 -device.info....les.bx,FixedQueu
1b6e0 65 09 09 3b 20 45 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 75 72 72 65 6e 74 20 e..;.ES:BX.=.pointer.to.current.
1b700 72 65 71 75 65 73 74 0d 0a 09 6d 6f 76 09 61 6c 2c 65 73 3a 5b 62 78 5d 2e 52 71 55 6e 69 74 0d request...mov.al,es:[bx].RqUnit.
1b720 0a 09 63 61 6c 6c 09 48 44 47 65 74 42 50 42 09 09 3b 20 44 49 20 3d 20 64 72 69 76 65 20 70 61 ..call.HDGetBPB..;.DI.=.drive.pa
1b740 72 61 6d 65 74 65 72 73 0d 0a 09 43 41 4c 4c 09 4d 61 70 53 65 63 74 6f 72 09 09 3b 20 47 65 74 rameters...CALL.MapSector..;.Get
1b760 20 68 65 61 64 2c 20 63 79 6c 69 6e 64 65 72 20 61 6e 64 20 73 65 63 74 6f 72 0d 0a 09 74 65 73 .head,.cylinder.and.sector...tes
1b780 74 09 46 69 78 65 64 2e 46 6c 61 67 73 2c 46 77 72 69 74 65 0d 0a 09 6a 6e 7a 09 66 78 78 63 31 t.Fixed.Flags,Fwrite...jnz.fxxc1
1b7a0 0d 0a 09 6d 6f 76 09 61 6c 2c 44 4d 41 5f 72 65 61 64 0d 0a 09 6d 6f 76 09 46 69 78 65 64 2e 44 ...mov.al,DMA_read...mov.Fixed.D
1b7c0 43 42 2c 48 44 5f 43 52 45 41 44 0d 0a 09 6a 6d 70 09 53 48 4f 52 54 20 66 78 78 63 32 0d 0a 66 CB,HD_CREAD...jmp.SHORT.fxxc2..f
1b7e0 78 78 63 31 3a 09 6d 6f 76 09 61 6c 2c 44 4d 41 5f 77 72 69 74 65 0d 0a 09 6d 6f 76 09 46 69 78 xxc1:.mov.al,DMA_write...mov.Fix
1b800 65 64 2e 44 43 42 2c 48 44 5f 43 57 52 49 54 45 0d 0a 66 78 78 63 32 3a 09 6d 6f 76 09 61 68 2c ed.DCB,HD_CWRITE..fxxc2:.mov.ah,
1b820 48 44 5f 44 4d 41 0d 0a 09 63 61 6c 6c 09 44 4d 41 73 65 74 75 70 09 09 3b 20 73 65 74 20 75 70 HD_DMA...call.DMAsetup..;.set.up
1b840 20 44 4d 41 20 74 72 61 6e 73 66 65 72 0d 0a 09 6d 6f 76 09 61 6c 2c 46 69 78 65 64 2e 55 6e 69 .DMA.transfer...mov.al,Fixed.Uni
1b860 01 74 0d 0a 09 6d 6f 76 09 63 6c 2c 35 0d 0a 09 73 68 6c 09 61 78 2c 63 6c 0d 0a 09 6f 72 09 61 .t...mov.cl,5...shl.ax,cl...or.a
1b880 6c 2c 46 69 78 65 64 2e 48 65 61 64 0d 0a 09 6d 6f 76 09 46 69 78 65 64 2e 44 43 42 2b 31 2c 61 l,Fixed.Head...mov.Fixed.DCB+1,a
1b8a0 6c 09 09 3b 20 73 65 74 20 68 65 61 64 2f 75 6e 69 74 0d 0a 09 6d 6f 76 09 61 78 2c 46 69 78 65 l..;.set.head/unit...mov.ax,Fixe
1b8c0 64 2e 63 79 6c 0d 0a 09 6d 6f 76 09 46 69 78 65 64 2e 44 43 42 2b 33 2c 61 6c 09 09 3b 20 73 65 d.cyl...mov.Fixed.DCB+3,al..;.se
1b8e0 74 20 6c 6f 77 20 63 79 6c 69 6e 64 65 72 0d 0a 09 73 68 72 09 61 78 2c 31 0d 0a 09 73 68 72 09 t.low.cylinder...shr.ax,1...shr.
1b900 61 78 2c 31 0d 0a 09 61 6e 64 09 61 6c 2c 30 43 30 48 0d 0a 09 6f 72 09 61 6c 2c 46 69 78 65 64 ax,1...and.al,0C0H...or.al,Fixed
1b920 2e 53 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 46 69 78 65 64 2e 44 43 42 2b 32 2c 61 6c 09 09 3b 20 .Sector...mov.Fixed.DCB+2,al..;.
1b940 73 65 74 20 68 69 67 68 20 63 79 6c 69 6e 64 65 72 2f 73 65 63 74 6f 72 0d 0a 09 6d 6f 76 09 61 set.high.cylinder/sector...mov.a
1b960 6c 2c 42 59 54 45 20 50 54 52 20 46 69 78 65 64 2e 4e 75 6d 73 65 63 74 6f 72 73 0d 0a 09 6d 6f l,BYTE.PTR.Fixed.Numsectors...mo
1b980 76 09 46 69 78 65 64 2e 44 43 42 2b 34 2c 61 6c 09 09 3b 20 73 65 74 20 73 65 63 74 6f 72 20 63 v.Fixed.DCB+4,al..;.set.sector.c
1b9a0 6f 75 6e 74 0d 0a 09 6d 6f 76 09 46 69 78 65 64 2e 44 43 42 2b 35 2c 48 44 63 6f 6e 74 72 6f 6c ount...mov.Fixed.DCB+5,HDcontrol
1b9c0 62 79 74 65 09 3b 42 55 47 42 55 47 20 2d 20 77 68 61 74 20 64 6f 20 77 65 20 77 61 6e 74 20 68 byte.;BUGBUG.-.what.do.we.want.h
1b9e0 65 72 65 3f 0d 0a 09 6d 6f 76 09 61 6c 2c 33 0d 0a 09 63 61 6c 6c 09 48 44 43 6f 6d 6d 61 6e 64 ere?...mov.al,3...call.HDCommand
1ba00 0d 0a 09 6d 6f 76 09 61 6c 2c 44 6f 6e 65 09 09 09 3b 20 61 73 73 75 6d 65 20 6e 65 78 74 20 73 ...mov.al,Done...;.assume.next.s
1ba20 74 61 74 65 20 69 73 20 44 6f 6e 65 0d 0a 09 74 65 73 74 09 46 69 78 65 64 2e 46 6c 61 67 73 2c tate.is.Done...test.Fixed.Flags,
1ba40 46 76 65 72 69 66 79 0d 0a 09 6a 7a 09 66 78 78 63 33 0d 0a 09 6d 6f 76 09 61 6c 2c 56 65 72 69 Fverify...jz.fxxc3...mov.al,Veri
1ba60 66 01 79 0d 0a 66 78 78 63 33 3a 09 6d 6f 76 09 42 59 54 45 20 50 54 52 20 46 69 78 65 64 2e 53 f.y..fxxc3:.mov.BYTE.PTR.Fixed.S
1ba80 74 61 74 65 2c 61 6c 09 09 3b 20 73 65 74 20 6e 65 78 74 20 73 74 61 74 65 0d 0a 09 72 65 74 0d tate,al..;.set.next.state...ret.
1baa0 0a 0d 0a 0d 0a 3b 2a 09 46 69 78 65 64 20 73 74 61 74 65 20 56 65 72 69 66 79 0d 0a 3b 0d 0a 3b .....;*.Fixed.state.Verify..;..;
1bac0 09 48 61 76 65 20 65 78 65 63 75 74 65 64 20 61 20 77 72 69 74 65 20 66 75 6e 63 74 69 6f 6e 2c .Have.executed.a.write.function,
1bae0 20 6d 75 73 74 20 6e 6f 77 20 76 65 72 69 66 79 2e 0d 0a 3b 20 42 55 47 42 55 47 09 46 6f 72 20 .must.now.verify...;.BUGBUG.For.
1bb00 6e 6f 77 20 6a 75 73 74 20 67 6f 20 74 6f 20 64 6f 6e 65 20 73 74 61 74 65 2e 0d 0a 0d 0a 46 78 now.just.go.to.done.state.....Fx
1bb20 45 78 56 65 72 69 66 79 3a 0d 0a 09 6d 6f 76 09 46 69 78 65 64 2e 53 74 61 74 65 2c 44 6f 6e 65 ExVerify:...mov.Fixed.State,Done
1bb40 0d 0a 09 6a 6d 70 09 46 69 78 65 64 45 78 65 63 75 74 65 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 09 46 69 ...jmp.FixedExecute........;*.Fi
1bb60 78 65 64 20 73 74 61 74 65 20 44 6f 6e 65 0d 0a 3b 0d 0a 3b 09 49 66 20 77 68 6f 6c 65 20 72 65 xed.state.Done..;..;.If.whole.re
1bb80 71 75 65 73 74 20 69 73 20 6e 6f 77 20 63 6f 6d 70 6c 65 74 65 2c 20 6d 61 72 6b 20 74 68 65 20 quest.is.now.complete,.mark.the.
1bba0 72 65 71 75 65 73 74 0d 0a 3b 20 20 61 73 20 64 6f 6e 65 20 61 6e 64 20 74 68 65 6e 20 73 74 61 request..;..as.done.and.then.sta
1bbc0 72 74 20 74 68 65 20 6e 65 78 74 20 6f 6e 65 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 2e rt.the.next.one.if.there.is.one.
1bbe0 09 20 49 66 20 74 68 65 20 72 65 71 75 65 73 74 20 69 73 20 6e 6f 74 0d 0a 3b 20 20 79 65 74 20 ..If.the.request.is.not..;..yet.
1bc00 64 6f 6e 65 2c 20 61 64 6a 75 73 74 20 76 61 6c 75 65 73 20 74 6f 20 73 68 6f 77 20 74 68 65 20 done,.adjust.values.to.show.the.
1bc20 61 6d 6f 75 6e 74 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 20 64 6f 6e 65 20 61 6e 64 20 74 amount.of.the.request.done.and.t
1bc40 68 65 6e 20 67 6f 0d 0a 3b 20 20 62 61 63 6b 20 74 6f 20 74 68 65 20 43 61 6c 63 20 73 74 61 74 hen.go..;..back.to.the.Calc.stat
1bc60 65 20 01 74 6f 20 64 6f 20 6e 65 78 74 20 70 61 72 74 2e 0d 0a 0d 0a 46 78 45 78 44 6f 6e 65 3a e..to.do.next.part.....FxExDone:
1bc80 0d 0a 09 4d 4f 56 09 41 4c 2c 46 69 78 65 64 2e 46 6c 61 67 73 0d 0a 09 41 4e 44 09 41 4c 2c 46 ...MOV.AL,Fixed.Flags...AND.AL,F
1bca0 77 72 69 74 65 2b 46 77 72 61 70 31 09 3b 20 4f 6e 6c 79 20 69 6e 74 65 72 65 73 74 65 64 20 69 write+Fwrap1.;.Only.interested.i
1bcc0 6e 20 74 68 65 73 65 20 62 69 74 73 0d 0a 09 43 4d 50 09 41 4c 2c 46 77 72 61 70 31 09 09 3b 20 n.these.bits...CMP.AL,Fwrap1..;.
1bce0 4a 75 73 74 20 72 65 61 64 20 69 6e 74 6f 20 73 63 72 61 74 63 68 3f 0d 0a 09 4a 4e 45 09 66 78 Just.read.into.scratch?...JNE.fx
1bd00 78 64 31 09 09 09 3b 20 4e 6f 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 50 55 53 48 09 45 53 0d 0a xd1...;.No...PUSH.DS...PUSH.ES..
1bd20 09 4d 4f 56 09 43 58 2c 46 69 78 65 64 2e 4e 75 6d 42 79 74 65 73 09 3b 20 43 53 20 3d 20 23 20 .MOV.CX,Fixed.NumBytes.;.CS.=.#.
1bd40 62 79 74 65 73 20 74 6f 20 77 72 69 74 65 20 66 72 6f 6d 20 73 63 72 0d 0a 09 4c 45 53 09 44 49 bytes.to.write.from.scr...LES.DI
1bd60 2c 46 69 78 65 64 2e 52 65 61 6c 41 64 64 72 09 3b 20 45 53 3a 44 49 20 3d 20 72 65 61 6c 20 62 ,Fixed.RealAddr.;.ES:DI.=.real.b
1bd80 75 66 66 65 72 0d 0a 09 4c 44 53 09 53 49 2c 46 69 78 65 64 2e 41 64 64 72 09 09 3b 20 44 53 3a uffer...LDS.SI,Fixed.Addr..;.DS:
1bda0 53 49 20 3d 20 73 63 72 61 74 63 68 20 62 75 66 66 65 72 0d 0a 09 43 4c 44 0d 0a 20 20 52 45 50 SI.=.scratch.buffer...CLD....REP
1bdc0 09 4d 4f 56 53 42 09 09 09 09 3b 20 43 6f 70 79 20 69 6e 74 6f 20 72 65 61 6c 20 62 75 66 66 65 .MOVSB....;.Copy.into.real.buffe
1bde0 72 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 50 4f 50 09 44 53 0d 0a 66 78 78 64 31 3a 0d 0a 09 4d 4f r...POP.ES...POP.DS..fxxd1:...MO
1be00 56 09 41 58 2c 46 69 78 65 64 2e 4e 75 6d 53 65 63 74 6f 72 73 09 3b 20 41 58 20 3d 20 23 20 6f V.AX,Fixed.NumSectors.;.AX.=.#.o
1be20 66 20 73 65 63 74 6f 72 73 20 77 65 20 64 69 64 0d 0a 09 53 55 42 09 46 69 78 65 64 2e 43 6f 75 f.sectors.we.did...SUB.Fixed.Cou
1be40 6e 74 2c 41 58 09 09 3b 20 41 64 6a 75 73 74 20 63 6f 75 6e 74 20 74 6f 20 6e 75 6d 62 65 72 20 nt,AX..;.Adjust.count.to.number.
1be60 6c 65 66 01 74 0d 0a 09 4a 5a 09 66 78 78 64 33 09 09 3b 20 52 65 71 75 65 73 74 20 69 73 20 64 lef.t...JZ.fxxd3..;.Request.is.d
1be80 6f 6e 65 2c 20 74 65 6c 6c 20 44 4f 53 0d 0a 09 41 44 44 09 46 69 78 65 64 2e 46 69 72 73 74 2c one,.tell.DOS...ADD.Fixed.First,
1bea0 41 58 09 09 3b 20 41 64 76 61 6e 63 65 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 09 4d 4f AX..;.Advance.sector.number...MO
1bec0 56 09 41 58 2c 46 69 78 65 64 2e 4e 75 6d 42 79 74 65 73 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 V.AX,Fixed.NumBytes.;.Number.of.
1bee0 62 79 74 65 73 20 68 61 6e 64 6c 65 64 0d 0a 09 41 44 44 09 57 4f 52 44 20 50 54 52 20 46 69 78 bytes.handled...ADD.WORD.PTR.Fix
1bf00 65 64 2e 52 65 61 6c 41 64 64 72 2c 41 58 20 3b 20 41 64 76 61 6e 63 65 20 64 61 74 61 20 61 64 ed.RealAddr,AX.;.Advance.data.ad
1bf20 64 72 65 73 73 0d 0a 09 4d 4f 56 09 46 69 78 65 64 2e 53 74 61 74 65 2c 43 61 6c 63 09 3b 20 47 dress...MOV.Fixed.State,Calc.;.G
1bf40 6f 20 74 6f 20 43 61 6c 63 20 73 74 61 74 65 0d 0a 66 78 65 78 6a 34 3a 20 4a 4d 50 09 46 69 78 o.to.Calc.state..fxexj4:.JMP.Fix
1bf60 65 64 45 78 65 63 75 74 65 0d 0a 0d 0a 66 78 78 64 33 3a 0d 0a 09 6d 6f 76 09 44 49 2c 4f 46 46 edExecute....fxxd3:...mov.DI,OFF
1bf80 53 45 54 20 46 69 78 65 64 0d 0a 09 6d 6f 76 09 53 49 2c 4f 46 46 53 45 54 20 46 69 78 65 64 51 SET.Fixed...mov.SI,OFFSET.FixedQ
1bfa0 75 65 75 65 09 3b 20 44 53 3a 53 49 20 3d 20 68 65 61 64 20 6f 66 20 71 75 65 75 65 0d 0a 09 63 ueue.;.DS:SI.=.head.of.queue...c
1bfc0 61 6c 6c 09 44 6f 6e 65 52 65 71 75 65 73 74 0d 0a 09 4a 4d 50 09 66 78 65 78 6a 34 0d 0a 0d 0a all.DoneRequest...JMP.fxexj4....
1bfe0 0d 0a 3b 2a 09 46 69 78 65 64 20 73 74 61 74 65 20 49 64 6c 65 0d 0a 3b 0d 0a 3b 09 4e 6f 74 68 ..;*.Fixed.state.Idle..;..;.Noth
1c000 69 6e 67 20 68 61 70 65 6e 6e 69 6e 67 2c 20 62 65 63 6f 6d 65 20 69 6e 61 63 74 69 76 65 2e 0d ing.hapenning,.become.inactive..
1c020 0a 0d 0a 46 78 45 78 49 64 6c 65 3a 0d 0a 09 61 6e 64 09 46 69 78 65 64 2e 46 6c 61 67 73 2c 4e ...FxExIdle:...and.Fixed.Flags,N
1c040 4f 54 20 46 61 63 74 69 76 65 0d 0a 09 52 45 54 0d 0a 0d 0a 0d 0a 3b 2a 09 46 69 78 65 64 20 73 OT.Factive...RET......;*.Fixed.s
1c060 74 61 74 65 01 20 45 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 45 6e 74 65 72 65 64 20 77 68 65 6e 20 61 tate..Error..;..;.Entered.when.a
1c080 20 6e 6f 6e 2d 72 65 63 6f 76 65 72 61 62 6c 65 20 65 72 72 6f 72 20 69 73 20 64 65 74 65 63 74 .non-recoverable.error.is.detect
1c0a0 65 64 2e 0d 0a 3b 09 41 20 73 65 6e 73 65 20 62 6c 6f 63 6b 20 68 61 73 20 62 65 65 6e 20 72 65 ed...;.A.sense.block.has.been.re
1c0c0 71 75 65 73 74 65 64 20 61 6e 64 20 70 75 74 20 69 6e 74 6f 20 74 68 65 0d 0a 3b 09 44 43 42 2e quested.and.put.into.the..;.DCB.
1c0e0 0d 0a 0d 0a 46 78 45 78 45 72 72 6f 72 3a 0d 0a 09 4d 4f 56 09 46 69 78 65 64 2e 53 74 61 74 65 ....FxExError:...MOV.Fixed.State
1c100 2c 44 6f 6e 65 09 3b 20 52 65 71 75 65 73 74 20 69 73 20 64 6f 6e 65 0d 0a 3b 20 53 65 74 20 65 ,Done.;.Request.is.done..;.Set.e
1c120 72 72 6f 72 20 62 69 74 73 20 69 6e 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 09 4d 4f rror.bits.in.request.packet...MO
1c140 56 09 41 4c 2c 46 69 78 65 64 2e 44 43 42 09 09 3b 20 47 65 74 20 73 74 61 74 75 73 20 62 79 74 V.AL,Fixed.DCB..;.Get.status.byt
1c160 65 0d 0a 09 6d 6f 76 09 62 6c 2c 61 6c 09 09 09 3b 20 69 73 6f 6c 61 74 65 20 65 72 72 6f 72 20 e...mov.bl,al...;.isolate.error.
1c180 74 79 70 65 20 61 73 20 77 6f 72 64 20 61 64 64 72 65 73 73 0d 0a 09 61 6e 64 09 62 78 2c 30 30 type.as.word.address...and.bx,00
1c1a0 33 30 68 0d 0a 09 6d 6f 76 09 63 6c 2c 33 0d 0a 09 73 68 72 09 62 78 2c 63 6c 0d 0a 09 6d 6f 76 30h...mov.cl,3...shr.bx,cl...mov
1c1c0 09 62 78 2c 48 44 45 72 72 54 79 70 65 5b 42 58 5d 09 3b 20 69 6e 64 65 78 20 69 6e 74 6f 20 65 .bx,HDErrType[BX].;.index.into.e
1c1e0 72 72 6f 72 20 74 61 62 6c 65 20 62 79 20 74 79 70 65 0d 0a 09 61 6e 64 09 61 78 2c 30 46 68 09 rror.table.by.type...and.ax,0Fh.
1c200 09 09 3b 20 67 65 74 20 65 72 72 6f 72 20 63 6f 64 65 0d 0a 09 63 6d 70 09 61 6c 2c 64 73 3a 5b ..;.get.error.code...cmp.al,ds:[
1c220 62 78 5d 09 09 3b 20 6f 75 74 73 69 64 65 20 72 61 6e 67 65 20 6f 66 20 74 61 62 6c 65 3f 0d 0a bx]..;.outside.range.of.table?..
1c240 09 6a 61 65 09 66 78 78 65 31 0d 0a 09 61 64 64 09 62 78 2c 61 78 0d 0a 09 6d 6f 76 09 61 68 2c .jae.fxxe1...add.bx,ax...mov.ah,
1c260 64 73 3a 5b 62 01 78 2b 31 5d 09 09 3b 20 74 72 61 6e 73 6c 61 74 65 20 65 72 72 6f 72 20 63 6f ds:[b.x+1]..;.translate.error.co
1c280 64 65 0d 0a 09 6a 6d 70 09 53 48 4f 52 54 20 66 78 78 65 32 0d 0a 66 78 78 65 31 3a 0d 0a 09 6d de...jmp.SHORT.fxxe2..fxxe1:...m
1c2a0 6f 76 09 61 68 2c 31 32 0d 0a 66 78 78 65 32 3a 09 64 62 62 65 67 09 38 2c 34 0d 0a 09 6d 6f 76 ov.ah,12..fxxe2:.dbbeg.8,4...mov
1c2c0 09 64 69 2c 4f 46 46 53 45 54 20 46 69 78 65 64 2e 44 43 42 0d 0a 09 64 65 62 75 67 09 38 2c 34 .di,OFFSET.Fixed.DCB...debug.8,4
1c2e0 2c 3c 48 44 20 65 72 72 6f 72 3a 20 73 65 6e 73 65 20 24 62 24 62 24 62 24 62 20 63 6f 64 65 20 ,<HD.error:.sense.$b$b$b$b.code.
1c300 24 78 5c 6e 3e 2c 3c 3c 5b 64 69 5d 3e 2c 3c 5b 64 69 2b 31 5d 3e 2c 3c 5b 64 69 2b 32 5d 3e 2c $x\n>,<<[di]>,<[di+1]>,<[di+2]>,
1c320 3c 5b 64 69 2b 33 5d 3e 2c 61 78 3e 0d 0a 09 64 62 65 6e 64 0d 0a 09 65 6e 64 69 66 0d 0a 09 50 <[di+3]>,ax>...dbend...endif...P
1c340 55 53 48 09 45 53 0d 0a 09 4c 45 53 09 44 49 2c 46 69 78 65 64 51 75 65 75 65 09 09 3b 20 47 65 USH.ES...LES.DI,FixedQueue..;.Ge
1c360 74 20 70 74 72 20 74 6f 20 72 65 71 75 65 73 74 0d 0a 09 4d 4f 56 09 41 4c 2c 61 68 0d 0a 09 4d t.ptr.to.request...MOV.AL,ah...M
1c380 4f 56 09 41 48 2c 31 30 30 30 30 30 30 31 42 0d 0a 09 4d 4f 56 09 45 53 3a 5b 44 49 5d 2e 52 71 OV.AH,10000001B...MOV.ES:[DI].Rq
1c3a0 53 74 61 74 75 73 2c 41 58 09 3b 20 53 65 74 20 65 72 72 6f 72 20 61 6e 64 20 63 6f 64 65 0d 0a Status,AX.;.Set.error.and.code..
1c3c0 09 50 4f 50 09 45 53 0d 0a 09 4a 4d 50 09 66 78 78 64 33 09 09 3b 20 41 64 76 61 6e 63 65 20 74 .POP.ES...JMP.fxxd3..;.Advance.t
1c3e0 6f 20 44 6f 6e 65 20 73 74 61 74 65 0d 0a 46 69 78 65 64 45 78 65 63 75 74 65 09 45 4e 44 50 0d o.Done.state..FixedExecute.ENDP.
1c400 0a 0d 0a 3b 2a 09 54 72 61 73 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 65 ...;*.Traslation.of.controller.e
1c420 72 72 6f 72 20 63 6f 64 65 73 20 74 6f 20 44 4f 53 20 65 72 72 6f 72 20 63 6f 64 65 73 0d 0a 0d rror.codes.to.DOS.error.codes...
1c440 0a 48 44 45 72 72 54 79 70 65 09 44 57 09 48 44 45 72 72 54 79 70 30 0d 0a 09 09 44 57 09 48 44 .HDErrType.DW.HDErrTyp0....DW.HD
1c460 45 72 72 54 79 70 05 0c 01 09 02 01 02 03 04 05 06 07 08 09 01 31 0d 0a 09 09 44 57 09 48 44 45 ErrTyp...............1....DW.HDE
1c480 72 72 54 79 70 32 0d 0a 09 09 44 57 09 48 44 45 72 72 54 79 70 33 0d 0a 0d 0a 48 44 45 72 72 54 rrTyp2....DW.HDErrTyp3....HDErrT
1c4a0 79 70 30 09 44 42 09 39 2c 20 31 32 2c 20 32 2c 20 36 2c 31 30 2c 20 32 2c 31 32 2c 20 36 2c 31 yp0.DB.9,.12,.2,.6,10,.2,12,.6,1
1c4c0 32 2c 20 36 0d 0a 48 44 45 72 72 54 79 70 31 09 44 42 09 31 30 2c 20 34 2c 20 34 2c 20 38 2c 31 2,.6..HDErrTyp1.DB.10,.4,.4,.8,1
1c4e0 32 2c 20 38 2c 20 36 2c 31 32 2c 31 32 2c 20 34 2c 20 36 0d 0a 48 44 45 72 72 54 79 70 32 09 44 2,.8,.6,12,12,.4,.6..HDErrTyp2.D
1c500 42 09 32 2c 20 20 33 2c 20 38 0d 0a 48 44 45 72 72 54 79 70 33 09 44 42 09 33 2c 20 20 34 2c 20 B.2,..3,.8..HDErrTyp3.DB.3,..4,.
1c520 34 2c 20 34 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 43 53 3a 42 69 6f 73 53 65 67 2c 44 53 4,.4........ASSUME.CS:BiosSeg,DS
1c540 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 46 69 78 65 64 49 6e 74 65 :NOTHING,ES:NOTHING....FixedInte
1c560 72 72 75 70 74 09 50 52 4f 43 09 46 41 52 0d 0a 09 64 65 62 75 67 09 38 2c 38 2c 3c 46 78 49 6e rrupt.PROC.FAR...debug.8,8,<FxIn
1c580 74 72 5c 6e 3e 2c 3c 3e 0d 0a 09 63 6d 70 09 77 6f 72 64 20 5b 53 65 6d 44 69 73 6b 49 4f 5d 2c tr\n>,<>...cmp.word.[SemDiskIO],
1c5a0 30 30 30 31 68 0d 0a 09 6a 6e 7a 09 66 78 69 6e 6f 74 31 33 0d 0a 09 63 6d 70 09 53 65 6d 49 6e 0001h...jnz.fxinot13...cmp.SemIn
1c5c0 74 31 33 2c 30 09 09 3b 20 49 66 20 61 20 64 69 72 65 63 74 20 49 6e 74 31 33 20 72 65 71 75 65 t13,0..;.If.a.direct.Int13.reque
1c5e0 73 74 20 69 73 20 62 65 69 6e 67 0d 0a 09 6a 7a 09 66 78 69 6e 6f 74 31 33 09 09 3b 20 20 6d 61 st.is.being...jz.fxinot13..;..ma
1c600 64 65 20 63 61 6c 6c 20 74 68 65 20 52 4f 4d 20 66 6c 6f 70 70 79 20 69 6e 74 65 72 72 75 70 74 de.call.the.ROM.floppy.interrupt
1c620 0d 0a 09 63 6d 70 09 53 65 6d 44 69 73 6b 49 4f 2c 30 09 09 3b 20 20 72 6f 75 74 69 6e 65 20 74 ...cmp.SemDiskIO,0..;..routine.t
1c640 6f 20 68 61 6e 64 6c 65 20 69 74 2e 0d 0a 09 6a 6e 7a 09 66 78 69 6e 6f 74 31 33 0d 0a 09 69 6e o.handle.it....jnz.fxinot13...in
1c660 74 09 69 6e 74 5f 73 61 76 72 65 67 73 0d 0a 3b 3b 09 69 6e 09 01 61 6c 2c 32 31 48 09 09 09 3b t.int_savregs..;;.in..al,21H...;
1c680 20 4d 61 73 6b 20 66 69 78 65 64 20 64 69 73 6b 20 69 6e 74 65 72 72 75 70 74 73 0d 0a 3b 3b 09 .Mask.fixed.disk.interrupts..;;.
1c6a0 6f 72 09 61 6c 2c 32 30 68 0d 0a 3b 3b 09 6f 75 74 09 32 31 48 2c 61 6c 0d 0a 09 70 75 73 68 66 or.al,20h..;;.out.21H,al...pushf
1c6c0 0d 0a 09 63 61 6c 6c 09 64 77 6f 72 64 20 70 74 72 20 5b 4f 6c 64 49 6e 74 44 56 65 63 5d 0d 0a ...call.dword.ptr.[OldIntDVec]..
1c6e0 09 69 6e 09 61 6c 2c 32 31 48 09 09 09 3b 20 55 6e 6d 61 73 6b 20 66 69 78 65 64 20 64 69 73 6b .in.al,21H...;.Unmask.fixed.disk
1c700 20 69 6e 74 65 72 72 75 70 74 73 0d 0a 09 61 6e 64 09 61 6c 2c 30 44 46 48 0d 0a 09 6f 75 74 09 .interrupts...and.al,0DFH...out.
1c720 32 31 48 2c 61 6c 0d 0a 09 6d 6f 76 09 64 78 2c 48 44 5f 50 4d 53 4b 09 09 3b 20 73 65 74 20 69 21H,al...mov.dx,HD_PMSK..;.set.i
1c740 6e 74 65 72 72 75 70 74 20 61 6e 64 20 44 4d 41 20 6d 61 73 6b 20 62 69 74 73 0d 0a 09 6d 6f 76 nterrupt.and.DMA.mask.bits...mov
1c760 09 61 6c 2c 33 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 09 69 72 65 74 0d 0a 66 78 69 6e 6f 74 .al,3...out.dx,al...iret..fxinot
1c780 31 33 3a 0d 0a 09 54 45 53 54 09 46 69 78 65 64 2e 46 6c 61 67 73 2c 46 61 63 74 69 76 65 09 3b 13:...TEST.Fixed.Flags,Factive.;
1c7a0 20 64 65 76 69 63 65 20 61 63 74 69 76 65 3f 0d 0a 09 4a 5a 09 66 78 69 6e 72 65 74 09 09 09 3b .device.active?...JZ.fxinret...;
1c7c0 20 6e 6f 2c 20 67 6f 20 61 77 61 79 0d 0a 09 49 4e 54 09 69 6e 74 5f 73 61 76 72 65 67 73 09 09 .no,.go.away...INT.int_savregs..
1c7e0 3b 20 73 61 76 65 20 72 65 67 69 73 74 65 72 73 0d 0a 09 6d 6f 76 09 64 78 2c 48 44 5f 50 44 41 ;.save.registers...mov.dx,HD_PDA
1c800 54 0d 0a 09 69 6e 09 61 6c 2c 64 78 09 09 09 3b 20 67 65 74 20 73 74 61 74 75 73 20 72 65 67 2e T...in.al,dx...;.get.status.reg.
1c820 0d 0a 3b 3b 09 6d 6f 76 09 61 68 2c 61 6c 0d 0a 3b 3b 09 6d 6f 76 09 64 78 2c 48 44 5f 50 4d 53 ..;;.mov.ah,al..;;.mov.dx,HD_PMS
1c840 4b 0d 0a 3b 3b 09 78 6f 72 09 61 6c 2c 61 6c 0d 0a 3b 3b 09 6f 75 74 09 64 78 2c 61 6c 09 09 09 K..;;.xor.al,al..;;.out.dx,al...
1c860 3b 20 74 75 72 6e 20 6f 66 66 20 69 6e 74 72 2e 20 61 6e 64 20 44 01 4d 41 2e 0d 0a 3b 3b 09 74 ;.turn.off.intr..and.D.MA...;;.t
1c880 65 73 74 09 61 68 2c 30 32 68 09 09 09 3b 20 65 72 72 6f 72 20 62 69 74 20 73 65 74 3f 0d 0a 09 est.ah,02h...;.error.bit.set?...
1c8a0 74 65 73 74 09 61 6c 2c 30 32 68 09 09 09 3b 20 65 72 72 6f 72 20 62 69 74 20 73 65 74 3f 0d 0a test.al,02h...;.error.bit.set?..
1c8c0 09 6a 7a 09 66 78 69 6e 34 09 09 09 3b 20 6e 6f 0d 0a 3b 2a 20 65 72 72 6f 72 20 6f 63 63 75 72 .jz.fxin4...;.no..;*.error.occur
1c8e0 72 65 64 2e 20 20 73 65 65 20 69 66 20 72 65 74 72 79 2c 20 65 6c 73 65 20 67 65 74 20 65 72 72 red...see.if.retry,.else.get.err
1c900 6f 72 20 63 6f 64 65 2e 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 or.code....push.cs...pop.ds.....
1c920 20 41 53 53 55 4d 45 09 64 73 3a 42 69 6f 73 53 65 67 0d 0a 09 43 4d 50 09 46 69 78 65 64 2e 45 .ASSUME.ds:BiosSeg...CMP.Fixed.E
1c940 72 72 43 6e 74 2c 45 72 72 4c 69 6d 09 3b 20 52 65 61 63 68 20 65 72 72 6f 72 20 6c 69 6d 69 74 rrCnt,ErrLim.;.Reach.error.limit
1c960 3f 0d 0a 09 4a 41 45 09 66 78 69 6e 30 09 09 09 3b 20 59 65 73 2c 20 72 65 71 75 65 73 74 20 66 ?...JAE.fxin0...;.Yes,.request.f
1c980 61 69 6c 73 0d 0a 09 49 4e 43 09 46 69 78 65 64 2e 45 72 72 43 6e 74 09 09 3b 20 57 65 20 61 72 ails...INC.Fixed.ErrCnt..;.We.ar
1c9a0 65 20 64 6f 69 6e 67 20 61 6e 6f 74 68 65 72 20 74 72 79 0d 0a 09 4d 4f 56 09 46 69 78 65 64 2e e.doing.another.try...MOV.Fixed.
1c9c0 53 74 61 74 65 2c 53 74 61 72 74 09 3b 20 52 65 73 74 61 72 74 20 74 68 65 20 72 65 71 75 65 73 State,Start.;.Restart.the.reques
1c9e0 74 0d 0a 09 4a 4d 50 09 66 78 69 6e 34 0d 0a 66 78 69 6e 30 3a 09 6d 6f 76 09 46 69 78 65 64 2e t...JMP.fxin4..fxin0:.mov.Fixed.
1ca00 44 43 42 2c 48 44 5f 43 53 45 4e 53 09 3b 20 73 65 6e 64 20 73 65 6e 73 65 20 63 6f 6d 6d 61 6e DCB,HD_CSENS.;.send.sense.comman
1ca20 64 0d 0a 09 78 6f 72 09 61 6c 2c 61 6c 09 09 09 3b 20 72 65 73 65 74 20 69 6e 74 72 2e 20 26 20 d...xor.al,al...;.reset.intr..&.
1ca40 44 4d 41 20 6d 61 73 6b 73 0d 0a 09 63 61 6c 6c 09 48 44 43 6f 6d 6d 61 6e 64 0d 0a 09 70 75 73 DMA.masks...call.HDCommand...pus
1ca60 68 09 63 73 0d 0a 09 70 6f 70 09 65 73 0d 0a 09 6d 6f 76 09 64 69 2c 01 4f 46 46 53 45 54 20 46 h.cs...pop.es...mov.di,.OFFSET.F
1ca80 69 78 65 64 2e 44 43 42 0d 0a 09 6d 6f 76 09 63 78 2c 35 0d 0a 66 78 69 6e 31 3a 09 63 61 6c 6c ixed.DCB...mov.cx,5..fxin1:.call
1caa0 09 48 44 57 61 69 74 52 65 71 09 09 3b 20 67 65 74 20 74 68 65 20 73 65 6e 73 65 20 62 6c 6f 63 .HDWaitReq..;.get.the.sense.bloc
1cac0 6b 20 62 61 63 6b 0d 0a 09 6d 6f 76 09 64 78 2c 48 44 5f 50 44 41 54 0d 0a 09 69 6e 09 61 6c 2c k.back...mov.dx,HD_PDAT...in.al,
1cae0 64 78 0d 0a 09 73 74 6f 73 62 0d 0a 09 6c 6f 6f 70 09 66 78 69 6e 31 0d 0a 09 6d 6f 76 09 46 69 dx...stosb...loop.fxin1...mov.Fi
1cb00 78 65 64 2e 53 74 61 74 65 2c 45 72 72 6f 72 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 64 73 xed.State,Error........ASSUME.ds
1cb20 3a 4e 4f 54 48 49 4e 47 0d 0a 66 78 69 6e 34 3a 09 43 41 4c 4c 09 46 69 78 65 64 45 78 65 63 75 :NOTHING..fxin4:.CALL.FixedExecu
1cb40 74 65 0d 0a 66 78 69 6e 72 65 74 3a 20 70 75 73 68 09 61 78 0d 0a 09 4d 4f 56 09 41 4c 2c 32 30 te..fxinret:.push.ax...MOV.AL,20
1cb60 48 09 09 09 3b 20 73 65 6e 64 20 45 4f 49 20 74 6f 20 38 32 35 39 0d 0a 09 4f 55 54 09 32 30 48 H...;.send.EOI.to.8259...OUT.20H
1cb80 2c 41 4c 0d 0a 09 70 6f 70 09 61 78 0d 0a 09 49 52 45 54 0d 0a 46 69 78 65 64 49 6e 74 65 72 72 ,AL...pop.ax...IRET..FixedInterr
1cba0 75 70 74 09 45 4e 44 50 0d 0a 0d 0a 53 55 42 54 54 4c 09 46 6c 6f 70 70 79 20 64 69 73 6b 20 73 upt.ENDP....SUBTTL.Floppy.disk.s
1cbc0 74 61 72 74 75 70 20 72 6f 75 74 69 6e 65 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 3b 09 46 6c 6f 70 tartup.routine..PAGE.+....;.Flop
1cbe0 70 79 45 78 65 63 75 74 65 20 70 72 6f 63 65 73 73 65 73 20 61 20 64 69 73 6b 20 72 65 71 75 65 pyExecute.processes.a.disk.reque
1cc00 73 74 20 61 66 74 65 72 20 69 74 20 68 61 73 20 62 65 65 6e 20 73 65 74 20 75 70 2e 0d 0a 3b 09 st.after.it.has.been.set.up...;.
1cc20 57 68 65 6e 20 74 68 65 20 64 69 73 6b 20 69 73 20 69 6e 61 63 74 69 76 65 20 28 53 74 61 74 65 When.the.disk.is.inactive.(State
1cc40 20 3d 20 49 64 6c 65 29 2c 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 73 74 61 72 74 0d .=.Idle),.it.is.called.to.start.
1cc60 0a 3b 09 74 68 65 20 64 65 76 69 63 65 2e 20 20 46 6f 72 20 61 6c 6c 20 01 73 75 62 73 65 71 75 .;.the.device...For.all..subsequ
1cc80 65 6e 74 20 65 76 65 6e 74 73 2c 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 65 20 ent.events,.it.is.called.on.the.
1cca0 64 69 73 6b 0d 0a 3b 09 69 6e 74 65 72 72 75 70 74 20 77 68 69 63 68 20 73 69 67 6e 61 6c 65 64 disk..;.interrupt.which.signaled
1ccc0 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 66 20 74 68 61 74 20 73 75 62 66 75 6e 63 74 .the.completion.of.that.subfunct
1cce0 69 6f 6e 2e 0d 0a 3b 09 53 6f 6d 65 20 73 74 61 74 65 73 20 64 6f 20 6e 6f 74 20 69 6e 76 6f 6c ion...;.Some.states.do.not.invol
1cd00 76 65 20 77 61 69 74 69 6e 67 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 72 75 70 74 20 74 6f 20 6f ve.waiting.for.an.interrupt.to.o
1cd20 63 63 75 72 2e 0d 0a 3b 09 54 68 69 73 20 72 6f 75 74 69 6e 65 20 72 75 6e 73 20 65 6e 74 69 72 ccur...;.This.routine.runs.entir
1cd40 65 6c 79 20 6f 66 66 20 74 68 65 20 27 46 6c 6f 70 70 79 27 20 64 61 74 61 20 73 74 72 75 63 74 ely.off.the.'Floppy'.data.struct
1cd60 75 72 65 0d 0a 0d 0a 46 6c 6f 70 70 79 44 69 73 70 61 74 63 68 09 4c 41 42 45 4c 09 57 4f 52 44 ure....FloppyDispatch.LABEL.WORD
1cd80 0d 0a 09 44 57 09 46 6c 45 78 53 74 61 72 74 0d 0a 09 44 57 09 46 6c 45 78 43 61 6c 63 0d 0a 09 ...DW.FlExStart...DW.FlExCalc...
1cda0 44 57 09 46 6c 45 78 53 65 6c 65 63 74 0d 0a 09 44 57 09 46 6c 45 78 52 65 63 61 6c 0d 0a 09 44 DW.FlExSelect...DW.FlExRecal...D
1cdc0 57 09 46 6c 45 78 53 65 65 6b 0d 0a 09 44 57 09 46 6c 45 78 53 65 74 74 6c 65 0d 0a 09 44 57 09 W.FlExSeek...DW.FlExSettle...DW.
1cde0 46 6c 45 78 52 64 57 72 69 0d 0a 09 44 57 09 46 6c 45 78 44 6f 6e 65 0d 0a 09 44 57 09 46 6c 45 FlExRdWri...DW.FlExDone...DW.FlE
1ce00 78 49 64 6c 65 0d 0a 09 44 57 09 46 6c 45 78 45 72 72 6f 72 0d 0a 0d 0a 46 6c 6f 70 70 79 45 78 xIdle...DW.FlExError....FloppyEx
1ce20 65 63 75 74 65 09 50 52 4f 43 0d 0a 09 70 75 73 68 09 63 73 09 09 09 3b 20 43 53 20 2d 3e 20 44 ecute.PROC...push.cs...;.CS.->.D
1ce40 53 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 44 53 3a 42 69 6f 73 53 65 S...pop.ds......ASSUME.DS:BiosSe
1ce60 67 0d 0a 09 4d 4f 56 09 42 58 2c 46 6c 6f 70 70 79 2e 53 74 61 74 65 09 09 01 3b 20 47 65 74 20 g...MOV.BX,Floppy.State...;.Get.
1ce80 63 75 72 72 65 6e 74 20 73 74 61 74 65 0d 0a 09 64 65 62 75 67 09 34 2c 34 2c 3c 46 6c 45 78 20 current.state...debug.4,4,<FlEx.
1cea0 73 74 61 74 65 20 24 64 09 3e 2c 3c 62 78 3e 0d 0a 09 41 44 44 09 42 58 2c 42 58 0d 0a 09 4a 4d state.$d.>,<bx>...ADD.BX,BX...JM
1cec0 50 09 46 6c 6f 70 70 79 44 69 73 70 61 74 63 68 5b 42 58 5d 09 3b 20 44 69 73 70 61 74 63 68 20 P.FloppyDispatch[BX].;.Dispatch.
1cee0 74 6f 20 63 6f 72 72 65 63 74 20 72 6f 75 74 69 6e 65 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c 6f 70 70 to.correct.routine......;*.Flopp
1cf00 79 20 73 74 61 74 65 20 53 74 61 72 74 0d 0a 3b 0d 0a 3b 09 44 6f 20 73 65 74 75 70 20 63 61 6c y.state.Start..;..;.Do.setup.cal
1cf20 63 75 6c 61 74 69 6f 6e 73 20 74 6f 20 66 69 67 75 72 65 20 6f 75 74 20 73 65 63 74 6f 72 2c 20 culations.to.figure.out.sector,.
1cf40 73 74 61 72 74 0d 0a 3b 20 20 75 70 20 6d 6f 74 6f 72 2c 20 61 64 76 61 6e 63 65 20 74 6f 20 43 start..;..up.motor,.advance.to.C
1cf60 61 6c 63 20 73 74 61 74 65 2e 0d 0a 3b 0d 0a 3b 20 20 45 6e 74 65 72 65 64 20 6f 6e 20 69 6e 69 alc.state...;..;..Entered.on.ini
1cf80 74 69 61 6c 6c 79 20 70 69 63 6b 69 6e 67 20 75 70 20 61 20 6e 65 77 20 72 65 71 75 65 73 74 20 tially.picking.up.a.new.request.
1cfa0 74 6f 20 64 6f 20 61 6e 64 20 6f 6e 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 2e 0d 0a 3b 20 20 to.do.and.on.error.retries...;..
1cfc0 49 66 20 65 72 72 6f 72 20 72 65 74 72 69 65 73 20 73 74 61 72 74 20 68 65 72 65 2c 20 74 68 65 If.error.retries.start.here,.the
1cfe0 6e 20 6d 75 6c 74 69 70 6c 65 20 73 65 63 74 6f 72 20 72 65 71 75 65 73 74 73 20 77 69 6c 6c 20 n.multiple.sector.requests.will.
1d000 61 6c 77 61 79 73 20 73 74 61 72 74 0d 0a 3b 20 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e always.start..;..at.the.beginnin
1d020 67 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 74 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 g.rather.than.at.the.point.of.th
1d040 65 20 65 72 72 6f 72 21 20 57 68 79 3f 0d 0a 0d 0a 46 6c 45 78 53 74 61 72 74 3a 0d 0a 09 6d 6f e.error!.Why?....FlExStart:...mo
1d060 76 09 73 69 2c 4f 46 46 53 45 54 20 46 6c 6f 70 70 79 09 3b 20 53 49 20 3d 20 01 70 6f 69 6e 74 v.si,OFFSET.Floppy.;.SI.=..point
1d080 65 72 20 74 6f 20 70 65 72 2d 64 65 76 69 63 65 20 69 6e 66 6f 2e 0d 0a 09 6c 65 73 09 62 78 2c er.to.per-device.info....les.bx,
1d0a0 46 6c 6f 70 70 79 51 75 65 75 65 09 09 3b 20 45 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 FloppyQueue..;.ES:BX.=.pointer.t
1d0c0 6f 20 63 75 72 72 65 6e 74 20 72 65 71 75 65 73 74 0d 0a 09 6d 6f 76 09 61 6c 2c 65 73 3a 5b 62 o.current.request...mov.al,es:[b
1d0e0 78 5d 2e 52 71 55 6e 69 74 0d 0a 09 6d 6f 76 09 61 68 2c 65 73 3a 5b 62 78 5d 2e 52 71 4d 65 64 x].RqUnit...mov.ah,es:[bx].RqMed
1d100 69 61 0d 0a 09 63 61 6c 6c 09 46 44 47 65 74 42 50 42 09 09 3b 20 44 49 20 3d 20 64 72 69 76 65 ia...call.FDGetBPB..;.DI.=.drive
1d120 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 09 43 41 4c 4c 09 53 65 74 75 70 09 09 09 3b 20 44 6f 20 .parameters...CALL.Setup...;.Do.
1d140 73 65 74 75 70 20 63 61 6c 63 75 6c 61 74 69 6f 6e 73 0d 0a 09 4d 4f 56 09 44 58 2c 46 44 5f 50 setup.calculations...MOV.DX,FD_P
1d160 43 4d 44 0d 0a 09 4d 4f 56 09 41 4c 2c 52 61 74 65 34 34 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 CMD...MOV.AL,Rate44...OUT.DX,AL.
1d180 09 09 3b 20 53 65 74 20 73 74 65 70 20 72 61 74 65 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 ..;.Set.step.rate...MOV.Floppy.S
1d1a0 74 61 74 65 2c 43 61 6c 63 09 3b 20 41 64 76 61 6e 63 65 20 74 6f 20 6e 65 78 74 20 73 74 61 74 tate,Calc.;.Advance.to.next.stat
1d1c0 65 0d 0a 66 6c 65 78 6a 31 3a 20 4a 4d 50 09 46 6c 6f 70 70 79 45 78 65 63 75 74 65 09 09 3b 20 e..flexj1:.JMP.FloppyExecute..;.
1d1e0 4e 6f 77 20 72 65 74 75 72 6e 20 74 6f 20 64 6f 20 43 61 6c 63 20 63 6f 64 65 0d 0a 0d 0a 0d 0a Now.return.to.do.Calc.code......
1d200 0d 0a 3b 2a 09 46 6c 6f 70 70 79 20 73 74 61 74 65 20 43 61 6c 63 0d 0a 3b 0d 0a 3b 09 43 61 6c ..;*.Floppy.state.Calc..;..;.Cal
1d220 63 75 6c 61 74 65 20 63 79 6c 69 6e 64 65 72 2c 20 68 65 61 64 20 61 6e 64 20 73 65 63 74 6f 72 culate.cylinder,.head.and.sector
1d240 2c 20 77 61 69 74 20 66 6f 72 20 6d 6f 74 6f 72 0d 0a 3b 20 20 73 74 61 72 74 20 6f 72 20 68 65 ,.wait.for.motor..;..start.or.he
1d260 61 64 20 6c 6f 61 64 2c 20 61 64 76 61 6e 63 65 20 74 6f 20 53 65 6c 65 63 74 20 01 73 74 61 74 ad.load,.advance.to.Select..stat
1d280 65 2e 0d 0a 3b 0d 0a 3b 20 20 45 6e 74 65 72 65 64 20 61 66 74 65 72 20 53 74 61 72 74 20 73 74 e...;..;..Entered.after.Start.st
1d2a0 61 74 65 20 61 6e 64 20 61 6c 73 6f 20 6f 6e 20 66 75 72 74 68 65 72 20 73 65 63 74 6f 72 73 20 ate.and.also.on.further.sectors.
1d2c0 6f 66 20 61 20 6d 75 6c 74 69 70 6c 65 20 73 65 63 74 6f 72 0d 0a 3b 20 20 72 65 71 75 65 73 74 of.a.multiple.sector..;..request
1d2e0 2e 0d 0a 0d 0a 46 6c 45 78 43 61 6c 63 3a 0d 0a 09 6d 6f 76 09 73 69 2c 4f 46 46 53 45 54 20 46 .....FlExCalc:...mov.si,OFFSET.F
1d300 6c 6f 70 70 79 09 3b 20 53 49 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 65 72 2d 64 65 76 69 loppy.;.SI.=.pointer.to.per-devi
1d320 63 65 20 69 6e 66 6f 2e 0d 0a 09 6c 65 73 09 62 78 2c 46 6c 6f 70 70 79 51 75 65 75 65 09 09 3b ce.info....les.bx,FloppyQueue..;
1d340 20 45 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 75 72 72 65 6e 74 20 72 65 71 75 .ES:BX.=.pointer.to.current.requ
1d360 65 73 74 0d 0a 09 6d 6f 76 09 61 6c 2c 65 73 3a 5b 62 78 5d 2e 52 71 55 6e 69 74 0d 0a 09 6d 6f est...mov.al,es:[bx].RqUnit...mo
1d380 76 09 61 68 2c 65 73 3a 5b 62 78 5d 2e 52 71 4d 65 64 69 61 0d 0a 09 63 61 6c 6c 09 46 44 47 65 v.ah,es:[bx].RqMedia...call.FDGe
1d3a0 74 42 50 42 09 09 09 3b 20 44 49 20 3d 20 64 72 69 76 65 20 70 61 72 61 6d 65 74 65 72 73 0d 0a tBPB...;.DI.=.drive.parameters..
1d3c0 09 43 41 4c 4c 09 4d 61 70 53 65 63 74 6f 72 09 09 3b 20 47 65 74 20 68 65 61 64 2c 20 63 79 6c .CALL.MapSector..;.Get.head,.cyl
1d3e0 69 6e 64 65 72 20 61 6e 64 20 73 65 63 74 6f 72 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 74 inder.and.sector...MOV.Floppy.St
1d400 61 74 65 2c 53 65 6c 65 63 74 09 3b 20 57 69 6c 6c 20 61 64 76 61 6e 63 65 20 74 6f 20 53 65 6c ate,Select.;.Will.advance.to.Sel
1d420 65 63 74 20 73 74 61 74 65 0d 0a 09 43 41 4c 4c 09 53 65 6c 37 36 35 09 09 09 3b 20 53 65 6c 65 ect.state...CALL.Sel765...;.Sele
1d440 63 74 20 74 68 65 20 64 72 69 76 65 20 61 6e 64 20 6d 61 79 62 65 20 77 61 69 74 0d 0a 09 4a 4e ct.the.drive.and.maybe.wait...JN
1d460 43 09 46 6c 6f 70 70 79 45 78 65 63 75 74 65 09 09 3b 20 44 69 64 20 73 65 6c 65 63 01 74 20 77 C.FloppyExecute..;.Did.selec.t.w
1d480 69 74 68 20 6e 6f 20 77 61 69 74 69 6e 67 0d 0a 09 52 45 54 09 09 09 09 3b 20 48 61 76 65 20 73 ith.no.waiting...RET....;.Have.s
1d4a0 65 74 20 61 20 74 69 6d 65 72 2c 20 67 65 74 20 6f 75 74 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c et.a.timer,.get.out........;*.Fl
1d4c0 6f 70 70 79 20 73 74 61 74 65 20 53 65 6c 65 63 74 0d 0a 3b 0d 0a 3b 09 52 65 63 61 6c 69 62 72 oppy.state.Select..;..;.Recalibr
1d4e0 61 74 65 20 74 68 65 20 64 72 69 76 65 20 69 66 20 6e 65 65 64 65 64 2e 20 20 49 66 20 53 65 65 ate.the.drive.if.needed...If.See
1d500 6b 20 69 73 0d 0a 3b 20 20 6e 65 65 64 65 64 2c 20 73 74 61 72 74 20 69 74 20 61 6e 64 20 61 64 k.is..;..needed,.start.it.and.ad
1d520 76 61 6e 63 65 20 74 6f 20 53 65 65 6b 20 73 74 61 74 65 2e 09 4f 74 68 65 72 77 69 73 65 20 61 vance.to.Seek.state..Otherwise.a
1d540 64 76 61 6e 63 65 20 74 6f 20 53 65 74 74 6c 65 0d 0a 3b 20 20 73 74 61 74 65 2e 0d 0a 0d 0a 46 dvance.to.Settle..;..state.....F
1d560 6c 45 78 53 65 6c 65 63 74 3a 0d 0a 09 63 61 6c 6c 09 47 65 74 44 72 69 76 65 50 74 72 0d 0a 09 lExSelect:...call.GetDrivePtr...
1d580 4f 52 09 5b 42 58 5d 2e 44 72 76 46 6c 61 67 2c 46 6d 6f 74 6f 72 6f 6e 09 3b 20 77 65 27 76 65 OR.[BX].DrvFlag,Fmotoron.;.we've
1d5a0 20 62 65 65 6e 20 73 65 6c 65 63 74 65 64 2c 20 73 6f 20 6d 6f 74 6f 72 20 69 73 20 6f 6e 0d 0a .been.selected,.so.motor.is.on..
1d5c0 09 54 45 53 54 09 5b 42 58 5d 2e 44 72 76 46 6c 61 67 2c 46 72 65 73 74 6f 72 09 3b 20 49 73 20 .TEST.[BX].DrvFlag,Frestor.;.Is.
1d5e0 61 20 72 65 73 74 6f 72 65 20 6e 65 65 64 65 64 3f 0d 0a 09 4a 45 09 4e 6f 52 65 73 74 6f 72 65 a.restore.needed?...JE.NoRestore
1d600 09 09 3b 20 4e 6f 0d 0a 09 63 61 6c 6c 09 53 65 74 54 69 6d 65 72 32 09 09 3b 20 73 65 74 20 61 ..;.No...call.SetTimer2..;.set.a
1d620 20 73 61 6e 69 74 79 2f 6d 6f 74 6f 72 20 73 74 6f 70 20 74 69 6d 65 72 0d 0a 09 4d 4f 56 09 46 .sanity/motor.stop.timer...MOV.F
1d640 6c 6f 70 70 79 2e 53 74 61 74 65 2c 52 65 63 61 6c 09 3b 20 4e 65 78 74 20 73 74 61 74 65 20 77 loppy.State,Recal.;.Next.state.w
1d660 69 6c 6c 20 62 65 20 72 65 63 61 6c 69 62 72 61 74 65 0d 0a 09 43 41 4c 4c 09 52 63 6c 05 0d 00 ill.be.recalibrate...CALL.Rcl...
1d680 09 02 01 02 03 04 05 06 07 08 09 01 37 36 35 09 09 09 3b 20 53 74 61 72 74 20 74 68 65 20 72 65 ............765...;.Start.the.re
1d6a0 63 61 6c 69 62 72 61 74 65 0d 0a 09 52 45 54 09 09 09 09 3b 20 44 6f 6e 65 20 75 6e 74 69 6c 20 calibrate...RET....;.Done.until.
1d6c0 66 6c 6f 70 70 79 20 69 6e 74 65 72 72 75 70 74 20 61 72 72 69 76 65 73 0d 0a 0d 0a 4e 6f 52 65 floppy.interrupt.arrives....NoRe
1d6e0 73 74 6f 72 65 3a 09 09 09 09 3b 20 53 74 61 72 74 20 74 68 65 20 73 65 65 6b 20 69 66 20 61 6e store:....;.Start.the.seek.if.an
1d700 79 0d 0a 09 43 41 4c 4c 09 53 65 65 6b 37 36 35 09 09 09 3b 20 53 74 61 72 74 20 74 68 65 20 73 y...CALL.Seek765...;.Start.the.s
1d720 65 65 6b 20 74 6f 20 63 79 6c 69 6e 64 65 72 0d 0a 09 4a 4e 43 09 53 65 65 6b 4f 4b 09 09 09 3b eek.to.cylinder...JNC.SeekOK...;
1d740 20 41 6c 72 65 61 64 79 20 6f 6e 20 63 6f 72 72 65 63 74 20 63 79 6c 69 6e 64 65 72 0d 0a 09 4d .Already.on.correct.cylinder...M
1d760 4f 56 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 53 65 65 6b 09 3b 20 4e 65 78 74 20 73 74 61 74 OV.Floppy.State,Seek.;.Next.stat
1d780 65 20 69 73 20 53 65 65 6b 0d 0a 09 63 61 6c 6c 09 47 65 74 44 72 69 76 65 50 74 72 0d 0a 09 63 e.is.Seek...call.GetDrivePtr...c
1d7a0 61 6c 6c 09 53 65 74 54 69 6d 65 72 32 09 09 3b 20 73 65 74 20 73 61 6e 69 74 79 20 74 69 6d 65 all.SetTimer2..;.set.sanity.time
1d7c0 72 0d 0a 09 52 45 54 09 09 09 09 3b 20 44 6f 6e 65 20 75 6e 74 69 6c 20 69 6e 74 65 72 72 75 70 r...RET....;.Done.until.interrup
1d7e0 74 20 6f 6e 20 73 65 65 6b 20 64 6f 6e 65 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c 6f 70 70 79 20 t.on.seek.done........;*.Floppy.
1d800 73 74 61 74 65 20 52 65 63 61 6c 0d 0a 3b 0d 0a 3b 09 49 66 20 65 72 72 6f 72 2c 20 73 65 74 20 state.Recal..;..;.If.error,.set.
1d820 73 74 61 74 65 20 69 73 20 45 72 72 6f 72 2e 20 20 45 6c 73 65 2c 20 6c 6f 61 64 20 64 72 69 76 state.is.Error...Else,.load.driv
1d840 65 0d 0a 3b 20 20 73 70 65 63 73 20 69 6e 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 61 6e 64 20 e..;..specs.into.controller.and.
1d860 61 64 76 61 6e 63 65 20 74 6f 20 53 65 6c 65 63 74 20 73 74 61 74 65 2e 0d 0a 0d 0a 46 6c 45 78 advance.to.Select.state.....FlEx
1d880 52 65 63 61 6c 3a 0d 0a 09 43 41 4c 01 4c 09 53 65 6e 73 65 37 36 35 0d 0a 09 4f 52 09 41 58 2c Recal:...CAL.L.Sense765...OR.AX,
1d8a0 41 58 09 09 09 3b 20 45 72 72 6f 72 20 69 6e 20 72 65 63 61 6c 3f 0d 0a 09 4a 4e 5a 09 53 65 65 AX...;.Error.in.recal?...JNZ.See
1d8c0 6b 45 72 72 09 09 09 3b 20 59 65 73 0d 0a 52 65 63 61 6c 4f 4b 3a 0d 0a 09 43 41 4c 4c 09 53 70 kErr...;.Yes..RecalOK:...CALL.Sp
1d8e0 65 63 37 36 35 09 09 09 3b 20 4c 6f 61 64 20 64 72 69 76 65 20 73 70 65 63 73 0d 0a 09 4d 4f 56 ec765...;.Load.drive.specs...MOV
1d900 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 53 65 6c 65 63 74 09 3b 20 42 61 63 6b 20 74 6f 20 73 .Floppy.State,Select.;.Back.to.s
1d920 65 6c 65 63 74 20 73 74 61 74 65 20 6e 6f 77 0d 0a 66 6c 65 78 6a 32 3a 20 4a 4d 50 09 66 6c 65 elect.state.now..flexj2:.JMP.fle
1d940 78 6a 31 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c 6f 70 70 79 20 73 74 61 74 65 20 53 65 65 6b 0d xj1........;*.Floppy.state.Seek.
1d960 0a 3b 0d 0a 3b 09 49 66 20 65 72 72 6f 72 2c 20 61 64 76 61 6e 63 65 20 74 6f 20 45 72 72 6f 72 .;..;.If.error,.advance.to.Error
1d980 20 73 74 61 74 65 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 77 61 69 74 0d 0a 3b 20 20 66 6f 72 .state...Otherwise,.wait..;..for
1d9a0 20 68 65 61 64 20 74 6f 20 73 65 74 74 6c 65 20 61 6e 64 20 61 64 76 61 6e 63 65 20 74 6f 20 53 .head.to.settle.and.advance.to.S
1d9c0 65 74 74 6c 65 20 73 74 61 74 65 2e 0d 0a 0d 0a 46 6c 45 78 53 65 65 6b 3a 0d 0a 09 43 41 4c 4c ettle.state.....FlExSeek:...CALL
1d9e0 09 53 65 6e 73 65 37 36 35 09 09 3b 20 47 65 74 20 73 74 61 74 75 73 20 6f 66 20 73 65 65 6b 0d .Sense765..;.Get.status.of.seek.
1da00 0a 09 4f 52 09 41 58 2c 41 58 09 09 09 3b 20 41 6e 79 20 65 72 72 6f 72 3f 0d 0a 09 4a 5a 09 53 ..OR.AX,AX...;.Any.error?...JZ.S
1da20 65 65 6b 4f 4b 09 09 09 3b 20 4e 6f 0d 0a 53 65 65 6b 45 72 72 3a 0d 0a 09 43 41 4c 4c 09 47 65 eekOK...;.No..SeekErr:...CALL.Ge
1da40 74 44 72 69 76 65 50 74 72 0d 0a 09 4f 52 09 5b 42 58 5d 2e 44 72 76 46 6c 61 67 2c 46 72 65 73 tDrivePtr...OR.[BX].DrvFlag,Fres
1da60 74 6f 72 09 3b 20 66 6c 61 67 20 72 65 73 74 6f 72 65 20 6e 65 65 64 65 64 0d 0a 09 4d 4f 56 09 tor.;.flag.restore.needed...MOV.
1da80 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 01 45 72 72 6f 72 09 3b 20 59 65 73 2c 20 6e 65 78 74 20 Floppy.State,.Error.;.Yes,.next.
1daa0 73 74 61 74 65 20 69 73 20 45 72 72 6f 72 0d 0a 09 6f 72 09 46 6c 6f 70 70 79 2e 53 54 31 2c 38 state.is.Error...or.Floppy.ST1,8
1dac0 09 09 3b 20 69 6e 64 69 63 61 74 65 20 73 65 65 6b 20 65 72 72 6f 72 20 69 6e 20 61 6e 20 75 6e ..;.indicate.seek.error.in.an.un
1dae0 75 73 65 64 20 62 69 74 0d 0a 09 4a 4d 50 09 66 6c 65 78 6a 32 0d 0a 0d 0a 53 65 65 6b 4f 4b 3a used.bit...JMP.flexj2....SeekOK:
1db00 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 53 65 74 74 6c 65 09 3b 20 4e 65 78 ...MOV.Floppy.State,Settle.;.Nex
1db20 74 20 73 74 61 74 65 20 69 73 20 53 65 74 74 6c 65 0d 0a 09 4d 4f 56 09 41 4c 2c 44 65 6c 61 79 t.state.is.Settle...MOV.AL,Delay
1db40 53 65 74 74 6c 65 0d 0a 09 43 41 4c 4c 09 47 65 74 46 6c 6f 70 70 79 50 61 72 61 6d 09 09 3b 20 Settle...CALL.GetFloppyParam..;.
1db60 47 65 74 20 74 68 65 20 73 65 74 74 6c 65 20 74 69 6d 65 20 69 6e 20 4d 73 65 63 73 0d 0a 09 78 Get.the.settle.time.in.Msecs...x
1db80 6f 72 09 61 68 2c 61 68 0d 0a 09 43 41 4c 4c 09 53 65 74 54 69 6d 65 72 31 09 09 3b 20 53 65 74 or.ah,ah...CALL.SetTimer1..;.Set
1dba0 20 74 68 65 20 74 69 6d 65 72 0d 0a 09 4a 4e 43 09 66 6c 65 78 6a 32 0d 0a 09 52 45 54 0d 0a 0d .the.timer...JNC.flexj2...RET...
1dbc0 0a 0d 0a 0d 0a 3b 2a 09 46 6c 6f 70 70 79 20 73 74 61 74 65 20 53 65 74 74 6c 65 0d 0a 3b 0d 0a .....;*.Floppy.state.Settle..;..
1dbe0 3b 09 53 74 61 72 74 20 74 68 65 20 72 65 61 64 2f 77 72 69 74 65 20 72 65 71 75 65 73 74 20 61 ;.Start.the.read/write.request.a
1dc00 6e 64 20 61 64 76 61 6e 63 65 20 74 6f 20 74 68 65 20 52 64 57 72 69 20 73 74 61 74 65 2e 0d 0a nd.advance.to.the.RdWri.state...
1dc20 0d 0a 46 6c 45 78 53 65 74 74 6c 65 3a 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 ..FlExSettle:...MOV.Floppy.State
1dc40 2c 52 64 57 72 69 09 3b 20 41 64 76 61 6e 63 65 20 74 6f 20 72 65 61 64 2f 77 72 69 74 65 20 73 ,RdWri.;.Advance.to.read/write.s
1dc60 74 61 74 65 0d 0a 09 43 41 4c 4c 09 52 64 57 72 37 36 35 09 09 09 3b 20 53 74 61 72 74 20 74 68 tate...CALL.RdWr765...;.Start.th
1dc80 65 20 49 2f 4f 0d 0a 09 63 61 6c 6c 09 47 01 65 74 44 72 69 76 65 50 74 72 0d 0a 09 63 61 6c 6c e.I/O...call.G.etDrivePtr...call
1dca0 09 53 65 74 54 69 6d 65 72 32 09 09 3b 20 73 65 74 20 73 61 6e 69 74 79 20 74 69 6d 65 72 0d 0a .SetTimer2..;.set.sanity.timer..
1dcc0 09 52 45 54 09 09 09 09 3b 20 44 6f 6e 65 20 75 6e 74 69 6c 20 66 6c 6f 70 70 79 20 69 6e 74 65 .RET....;.Done.until.floppy.inte
1dce0 72 72 75 70 74 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c 6f 70 70 79 20 73 74 61 74 65 20 52 64 57 rrupt........;*.Floppy.state.RdW
1dd00 72 69 0d 0a 3b 0d 0a 3b 09 49 66 20 65 72 72 6f 72 2c 20 6e 65 78 74 20 73 74 61 74 65 20 69 73 ri..;..;.If.error,.next.state.is
1dd20 20 45 72 72 6f 72 2e 09 4f 74 68 65 72 77 69 73 65 20 6e 65 78 74 20 73 74 61 74 65 20 69 73 20 .Error..Otherwise.next.state.is.
1dd40 44 6f 6e 65 2e 0d 0a 0d 0a 46 6c 45 78 52 64 57 72 69 3a 0d 0a 09 43 41 4c 4c 09 46 69 6e 69 37 Done.....FlExRdWri:...CALL.Fini7
1dd60 36 35 09 09 09 3b 20 47 65 74 20 73 74 61 74 75 73 20 6f 66 20 49 2f 4f 0d 0a 09 4f 52 09 41 58 65...;.Get.status.of.I/O...OR.AX
1dd80 2c 41 58 09 09 09 3b 20 41 6e 79 20 65 72 72 6f 72 3f 0d 0a 09 4a 5a 09 52 64 57 72 69 4f 4b 09 ,AX...;.Any.error?...JZ.RdWriOK.
1dda0 09 09 3b 20 4e 6f 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 45 72 72 6f 72 09 ..;.No...MOV.Floppy.State,Error.
1ddc0 3b 20 59 65 73 2c 20 67 6f 20 74 6f 20 65 72 72 6f 72 20 73 74 61 74 65 0d 0a 09 4a 4d 50 09 66 ;.Yes,.go.to.error.state...JMP.f
1dde0 6c 65 78 6a 32 0d 0a 0d 0a 52 64 57 72 69 4f 4b 3a 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 lexj2....RdWriOK:...MOV.Floppy.S
1de00 74 61 74 65 2c 44 6f 6e 65 09 3b 20 49 2f 4f 20 69 73 20 64 6f 6e 65 0d 0a 66 6c 65 78 6a 33 3a tate,Done.;.I/O.is.done..flexj3:
1de20 20 4a 4d 50 09 66 6c 65 78 6a 32 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c 6f 70 70 79 20 73 74 61 .JMP.flexj2........;*.Floppy.sta
1de40 74 65 20 44 6f 6e 65 0d 0a 3b 0d 0a 3b 09 49 66 20 77 68 6f 6c 65 20 72 65 71 75 65 73 74 20 69 te.Done..;..;.If.whole.request.i
1de60 73 20 6e 6f 77 20 63 6f 6d 70 6c 65 74 65 2c 20 6d 61 72 6b 20 74 68 65 20 72 65 71 75 65 73 74 s.now.complete,.mark.the.request
1de80 0d 0a 3b 20 20 61 73 20 64 6f 6e 65 20 61 6e 01 64 20 74 68 65 6e 20 73 74 61 72 74 20 74 68 65 ..;..as.done.an.d.then.start.the
1dea0 20 6e 65 78 74 20 6f 6e 65 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 2e 09 20 49 66 20 74 .next.one.if.there.is.one...If.t
1dec0 68 65 20 72 65 71 75 65 73 74 20 69 73 20 6e 6f 74 0d 0a 3b 20 20 79 65 74 20 64 6f 6e 65 2c 20 he.request.is.not..;..yet.done,.
1dee0 61 64 6a 75 73 74 20 76 61 6c 75 65 73 20 74 6f 20 73 68 6f 77 20 74 68 65 20 61 6d 6f 75 6e 74 adjust.values.to.show.the.amount
1df00 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 20 64 6f 6e 65 20 61 6e 64 20 74 68 65 6e 20 67 6f .of.the.request.done.and.then.go
1df20 0d 0a 3b 20 20 62 61 63 6b 20 74 6f 20 74 68 65 20 43 61 6c 63 20 73 74 61 74 65 20 74 6f 20 64 ..;..back.to.the.Calc.state.to.d
1df40 6f 20 6e 65 78 74 20 70 61 72 74 2e 0d 0a 0d 0a 46 6c 45 78 44 6f 6e 65 3a 0d 0a 09 4d 4f 56 09 o.next.part.....FlExDone:...MOV.
1df60 41 4c 2c 46 6c 6f 70 70 79 2e 46 6c 61 67 73 0d 0a 09 41 4e 44 09 41 4c 2c 46 77 72 69 74 65 2b AL,Floppy.Flags...AND.AL,Fwrite+
1df80 46 76 65 72 69 66 79 2b 46 77 72 61 70 31 09 3b 20 4f 6e 6c 79 20 69 6e 74 65 72 65 73 74 65 64 Fverify+Fwrap1.;.Only.interested
1dfa0 20 69 6e 20 74 68 65 73 65 20 62 69 74 73 0d 0a 09 43 4d 50 09 41 4c 2c 46 77 72 61 70 31 09 09 .in.these.bits...CMP.AL,Fwrap1..
1dfc0 3b 20 4a 75 73 74 20 72 65 61 64 20 69 6e 74 6f 20 73 63 72 61 74 63 68 3f 0d 0a 09 4a 4e 45 09 ;.Just.read.into.scratch?...JNE.
1dfe0 44 6f 6e 65 4e 6f 74 57 72 61 70 09 09 3b 20 4e 6f 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 50 55 DoneNotWrap..;.No...PUSH.DS...PU
1e000 53 48 09 45 53 0d 0a 09 4d 4f 56 09 43 58 2c 46 6c 6f 70 70 79 2e 4e 75 6d 42 79 74 65 73 09 3b SH.ES...MOV.CX,Floppy.NumBytes.;
1e020 20 43 53 20 3d 20 23 20 62 79 74 65 73 20 74 6f 20 77 72 69 74 65 20 66 72 6f 6d 20 73 63 72 0d .CS.=.#.bytes.to.write.from.scr.
1e040 0a 09 4c 45 53 09 44 49 2c 46 6c 6f 70 70 79 2e 52 65 61 6c 41 64 64 72 09 3b 20 45 53 3a 44 49 ..LES.DI,Floppy.RealAddr.;.ES:DI
1e060 20 3d 20 72 65 61 6c 20 62 75 66 66 65 72 0d 0a 09 4c 44 53 09 53 49 2c 46 6c 6f 70 70 79 2e 41 .=.real.buffer...LDS.SI,Floppy.A
1e080 64 64 72 09 09 3b 20 44 53 3a 53 49 20 3d 20 73 01 63 72 61 74 63 68 20 62 75 66 66 65 72 0d 0a ddr..;.DS:SI.=.s.cratch.buffer..
1e0a0 09 43 4c 44 0d 0a 20 20 52 45 50 09 4d 4f 56 53 42 09 09 09 09 3b 20 43 6f 70 79 20 69 6e 74 6f .CLD....REP.MOVSB....;.Copy.into
1e0c0 20 72 65 61 6c 20 62 75 66 66 65 72 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 50 4f 50 09 44 53 0d 0a .real.buffer...POP.ES...POP.DS..
1e0e0 44 6f 6e 65 4e 6f 74 57 72 61 70 3a 0d 0a 09 41 4e 44 09 41 4c 2c 46 77 72 69 74 65 2b 46 76 65 DoneNotWrap:...AND.AL,Fwrite+Fve
1e100 72 69 66 79 09 3b 20 4a 75 73 74 20 77 61 6e 74 20 74 6f 20 73 65 65 20 74 68 65 73 65 20 62 69 rify.;.Just.want.to.see.these.bi
1e120 74 73 0d 0a 09 43 4d 50 09 41 4c 2c 46 77 72 69 74 65 2b 46 76 65 72 69 66 79 09 3b 20 4a 75 73 ts...CMP.AL,Fwrite+Fverify.;.Jus
1e140 74 20 64 6f 20 77 72 69 74 65 20 70 61 72 74 20 6f 66 20 77 72 69 74 65 2b 76 65 72 69 66 79 3f t.do.write.part.of.write+verify?
1e160 0d 0a 09 4a 4e 45 09 44 6f 6e 65 4e 6f 74 57 72 69 74 65 50 61 72 74 09 3b 20 4e 6f 0d 0a 09 41 ...JNE.DoneNotWritePart.;.No...A
1e180 4e 44 09 46 6c 6f 70 70 79 2e 46 6c 61 67 73 2c 4e 4f 54 20 46 77 72 69 74 65 20 3b 20 59 65 73 ND.Floppy.Flags,NOT.Fwrite.;.Yes
1e1a0 2c 20 64 6f 20 76 65 72 69 66 79 20 6e 65 78 74 0d 0a 09 6d 6f 76 09 46 6c 6f 70 70 79 2e 53 74 ,.do.verify.next...mov.Floppy.St
1e1c0 61 74 65 2c 53 65 74 74 6c 65 09 3b 20 20 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 63 61 6c ate,Settle.;...don't.need.to.cal
1e1e0 63 20 6f 72 20 73 65 65 6b 0d 0a 09 6a 6d 70 09 66 6c 65 78 6a 33 0d 0a 0d 0a 44 6f 6e 65 4e 6f c.or.seek...jmp.flexj3....DoneNo
1e200 74 57 72 69 74 65 50 61 72 74 3a 0d 0a 09 43 4d 50 09 41 4c 2c 46 76 65 72 69 66 79 09 09 3b 20 tWritePart:...CMP.AL,Fverify..;.
1e220 4a 75 73 74 20 64 6f 20 76 65 72 69 66 79 20 70 61 72 74 20 6f 66 20 77 72 69 74 65 2b 76 65 72 Just.do.verify.part.of.write+ver
1e240 69 66 79 3f 0d 0a 09 4a 4e 45 09 44 6f 6e 65 4e 6f 74 56 65 72 69 66 79 09 09 3b 20 4e 6f 0d 0a ify?...JNE.DoneNotVerify..;.No..
1e260 09 4f 52 09 46 6c 6f 70 70 79 2e 46 6c 61 67 73 2c 46 77 72 69 74 65 09 3b 20 59 65 73 2c 20 66 .OR.Floppy.Flags,Fwrite.;.Yes,.f
1e280 6c 69 70 20 77 72 69 74 65 20 62 61 63 6b 20 75 70 01 20 66 6f 72 20 6e 65 78 74 0d 0a 44 6f 6e lip.write.back.up..for.next..Don
1e2a0 65 4e 6f 74 56 65 72 69 66 79 3a 0d 0a 09 4d 4f 56 09 41 58 2c 46 6c 6f 70 70 79 2e 4e 75 6d 53 eNotVerify:...MOV.AX,Floppy.NumS
1e2c0 65 63 74 6f 72 73 09 3b 20 41 58 20 3d 20 23 20 6f 66 20 73 65 63 74 6f 72 73 20 77 65 20 64 69 ectors.;.AX.=.#.of.sectors.we.di
1e2e0 64 0d 0a 09 53 55 42 09 46 6c 6f 70 70 79 2e 43 6f 75 6e 74 2c 41 58 09 09 3b 20 41 64 6a 75 73 d...SUB.Floppy.Count,AX..;.Adjus
1e300 74 20 63 6f 75 6e 74 20 74 6f 20 6e 75 6d 62 65 72 20 6c 65 66 74 0d 0a 09 4a 5a 09 66 6c 78 64 t.count.to.number.left...JZ.flxd
1e320 33 09 09 3b 20 52 65 71 75 65 73 74 20 69 73 20 64 6f 6e 65 2c 20 74 65 6c 6c 20 44 4f 53 0d 0a 3..;.Request.is.done,.tell.DOS..
1e340 09 41 44 44 09 46 6c 6f 70 70 79 2e 46 69 72 73 74 2c 41 58 09 09 3b 20 41 64 76 61 6e 63 65 20 .ADD.Floppy.First,AX..;.Advance.
1e360 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 09 4d 4f 56 09 41 58 2c 46 6c 6f 70 70 79 2e 4e 75 sector.number...MOV.AX,Floppy.Nu
1e380 6d 42 79 74 65 73 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 68 61 6e 64 6c 65 64 mBytes.;.Number.of.bytes.handled
1e3a0 0d 0a 09 41 44 44 09 57 4f 52 44 20 50 54 52 20 46 6c 6f 70 70 79 2e 52 65 61 6c 41 64 64 72 2c ...ADD.WORD.PTR.Floppy.RealAddr,
1e3c0 41 58 20 3b 20 41 64 76 61 6e 63 65 20 64 61 74 61 20 61 64 64 72 65 73 73 0d 0a 09 4d 4f 56 09 AX.;.Advance.data.address...MOV.
1e3e0 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 43 61 6c 63 09 3b 20 47 6f 20 74 6f 20 43 61 6c 63 20 73 Floppy.State,Calc.;.Go.to.Calc.s
1e400 74 61 74 65 0d 0a 66 6c 65 78 6a 34 3a 20 4a 4d 50 09 66 6c 65 78 6a 33 0d 0a 0d 0a 66 6c 78 64 tate..flexj4:.JMP.flexj3....flxd
1e420 33 3a 0d 0a 09 6d 6f 76 09 64 69 2c 4f 46 46 53 45 54 20 46 6c 6f 70 70 79 0d 0a 09 6d 6f 76 09 3:...mov.di,OFFSET.Floppy...mov.
1e440 53 49 2c 4f 46 46 53 45 54 20 46 6c 6f 70 70 79 51 75 65 75 65 09 3b 20 44 53 3a 53 49 20 3d 20 SI,OFFSET.FloppyQueue.;.DS:SI.=.
1e460 68 65 61 64 20 6f 66 20 66 6c 6f 70 70 79 20 71 75 65 75 65 0d 0a 09 63 61 6c 6c 09 44 6f 6e 65 head.of.floppy.queue...call.Done
1e480 52 65 71 75 65 73 74 0d 0a 09 4a 4d 50 09 66 6c 65 78 01 6a 34 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c Request...JMP.flex.j4......;*.Fl
1e4a0 6f 70 70 79 20 73 74 61 74 65 20 49 64 6c 65 0d 0a 3b 0d 0a 3b 09 4e 6f 74 68 69 6e 67 20 68 61 oppy.state.Idle..;..;.Nothing.ha
1e4c0 70 65 6e 6e 69 6e 67 20 65 78 63 65 70 74 20 70 6f 73 73 69 62 6c 65 20 6d 6f 74 6f 72 20 6f 66 penning.except.possible.motor.of
1e4e0 66 20 74 69 6d 65 6f 75 74 2e 0d 0a 0d 0a 46 6c 45 78 49 64 6c 65 3a 0d 0a 09 63 61 6c 6c 09 47 f.timeout.....FlExIdle:...call.G
1e500 65 74 44 72 69 76 65 50 74 72 0d 0a 09 43 41 4c 4c 09 53 65 74 54 69 6d 65 72 32 09 09 3b 20 53 etDrivePtr...CALL.SetTimer2..;.S
1e520 65 74 20 74 68 65 20 6d 6f 74 6f 72 20 74 69 6d 65 72 0d 0a 09 61 6e 64 09 46 6c 6f 70 70 79 2e et.the.motor.timer...and.Floppy.
1e540 46 6c 61 67 73 2c 4e 4f 54 20 46 61 63 74 69 76 65 0d 0a 09 53 65 6d 53 69 67 09 53 77 61 70 53 Flags,NOT.Factive...SemSig.SwapS
1e560 65 6d 32 09 09 3b 20 73 6f 6d 65 6f 6e 65 20 77 61 69 74 69 6e 67 20 74 6f 20 73 77 69 74 63 68 em2..;.someone.waiting.to.switch
1e580 20 64 72 69 76 65 3f 0d 0a 09 52 45 54 0d 0a 0d 0a 0d 0a 3b 2a 09 46 6c 6f 70 70 79 20 73 74 61 .drive?...RET......;*.Floppy.sta
1e5a0 74 65 20 45 72 72 6f 72 0d 0a 3b 0d 0a 3b 09 49 66 20 65 72 72 6f 72 20 63 6f 75 6e 74 20 6e 6f te.Error..;..;.If.error.count.no
1e5c0 74 20 65 78 63 65 65 64 65 64 2c 20 72 65 73 74 6f 72 65 20 74 68 65 20 64 72 69 76 65 20 61 6e t.exceeded,.restore.the.drive.an
1e5e0 64 20 73 74 61 72 74 0d 0a 3b 20 20 74 68 65 20 72 65 71 75 65 73 74 20 6f 76 65 72 20 61 67 61 d.start..;..the.request.over.aga
1e600 69 6e 2e 20 20 4f 74 68 65 72 77 69 73 65 20 73 65 74 20 65 72 72 6f 72 20 69 6e 20 74 68 65 20 in...Otherwise.set.error.in.the.
1e620 70 61 63 6b 65 74 20 61 6e 64 0d 0a 3b 20 20 61 64 76 61 6e 63 65 20 74 6f 20 74 68 65 20 44 6f packet.and..;..advance.to.the.Do
1e640 6e 65 20 73 74 61 74 65 2e 0d 0a 0d 0a 46 6c 45 78 45 72 72 6f 72 3a 0d 0a 09 43 41 4c 4c 09 52 ne.state.....FlExError:...CALL.R
1e660 73 74 37 36 35 09 09 09 3b 20 52 65 73 65 74 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a st765...;.Reset.the.controller..
1e680 09 43 4d 50 09 46 6c 6f 70 70 79 2e 45 72 72 43 6e 74 2c 01 45 72 72 4c 69 6d 09 3b 20 52 65 61 .CMP.Floppy.ErrCnt,.ErrLim.;.Rea
1e6a0 63 68 20 65 72 72 6f 72 20 6c 69 6d 69 74 3f 0d 0a 09 4a 41 45 09 46 6c 6f 70 70 79 46 61 69 6c ch.error.limit?...JAE.FloppyFail
1e6c0 73 09 09 3b 20 59 65 73 2c 20 72 65 71 75 65 73 74 20 66 61 69 6c 73 0d 0a 09 49 4e 43 09 46 6c s..;.Yes,.request.fails...INC.Fl
1e6e0 6f 70 70 79 2e 45 72 72 43 6e 74 09 09 3b 20 57 65 20 61 72 65 20 64 6f 69 6e 67 20 61 6e 6f 74 oppy.ErrCnt..;.We.are.doing.anot
1e700 68 65 72 20 74 72 79 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 53 74 61 72 74 her.try...MOV.Floppy.State,Start
1e720 09 3b 20 52 65 73 74 61 72 74 20 74 68 65 20 72 65 71 75 65 73 74 0d 0a 09 4a 4d 50 09 66 6c 65 .;.Restart.the.request...JMP.fle
1e740 78 6a 34 09 09 3b 20 42 61 63 6b 20 74 6f 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 20 6c 6f 6f xj4..;.Back.to.state.machine.loo
1e760 70 0d 0a 0d 0a 46 6c 6f 70 70 79 46 61 69 6c 73 3a 0d 0a 09 63 61 6c 6c 09 47 65 74 44 72 69 76 p....FloppyFails:...call.GetDriv
1e780 65 50 74 72 0d 0a 09 4f 52 09 43 53 3a 5b 42 58 5d 2e 44 72 76 46 6c 61 67 2c 46 72 65 73 74 6f ePtr...OR.CS:[BX].DrvFlag,Fresto
1e7a0 72 20 3b 20 53 65 74 20 64 72 69 76 65 20 6e 65 65 64 73 20 61 20 72 65 73 74 6f 72 65 0d 0a 09 r.;.Set.drive.needs.a.restore...
1e7c0 4d 4f 56 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 44 6f 6e 65 09 3b 20 52 65 71 75 65 73 74 20 MOV.Floppy.State,Done.;.Request.
1e7e0 69 73 20 64 6f 6e 65 0d 0a 3b 20 53 65 74 20 65 72 72 6f 72 20 62 69 74 73 20 69 6e 20 72 65 71 is.done..;.Set.error.bits.in.req
1e800 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 09 4d 4f 56 09 41 58 2c 20 57 4f 52 44 20 50 54 52 20 46 uest.packet...MOV.AX,.WORD.PTR.F
1e820 6c 6f 70 70 79 2e 53 54 30 20 3b 20 47 65 74 20 53 54 30 2c 20 53 54 31 0d 0a 09 6d 6f 76 09 42 loppy.ST0.;.Get.ST0,.ST1...mov.B
1e840 4c 2c 32 09 09 09 3b 20 44 72 69 76 65 20 6e 6f 74 20 72 65 61 64 79 3f 0d 0a 09 74 65 73 74 09 L,2...;.Drive.not.ready?...test.
1e860 41 4c 2c 30 63 48 0d 0a 09 6a 6e 65 09 45 72 72 6f 72 46 6f 75 6e 64 0d 0a 09 4d 4f 56 09 42 4c AL,0cH...jne.ErrorFound...MOV.BL
1e880 2c 36 09 09 09 3b 20 42 61 64 20 73 65 65 6b 3f 0d 0a 09 54 05 0d 01 09 02 01 02 03 04 05 06 07 ,6...;.Bad.seek?...T............
1e8a0 08 09 01 45 53 54 09 41 48 2c 38 0d 0a 09 4a 4e 45 09 45 72 72 6f 72 46 6f 75 6e 64 0d 0a 09 4d ...EST.AH,8...JNE.ErrorFound...M
1e8c0 4f 56 09 42 4c 2c 34 09 09 09 3b 20 43 52 43 20 65 72 72 6f 72 3f 0d 0a 09 54 45 53 54 09 41 48 OV.BL,4...;.CRC.error?...TEST.AH
1e8e0 2c 33 30 48 0d 0a 09 4a 4e 45 09 45 72 72 6f 72 46 6f 75 6e 64 0d 0a 09 4d 4f 56 09 42 4c 2c 38 ,30H...JNE.ErrorFound...MOV.BL,8
1e900 09 09 09 3b 20 53 65 63 74 6f 72 20 6e 6f 74 20 66 6f 75 6e 64 3f 0d 0a 09 54 45 53 54 09 41 48 ...;.Sector.not.found?...TEST.AH
1e920 2c 38 35 48 0d 0a 09 4a 4e 45 09 45 72 72 6f 72 46 6f 75 6e 64 0d 0a 09 4d 4f 56 09 42 4c 2c 30 ,85H...JNE.ErrorFound...MOV.BL,0
1e940 09 09 09 3b 20 57 72 69 74 65 20 70 72 6f 74 65 63 74 3f 0d 0a 09 54 45 53 54 09 41 48 2c 32 0d ...;.Write.protect?...TEST.AH,2.
1e960 0a 09 4a 4e 45 09 45 72 72 6f 72 46 6f 75 6e 64 0d 0a 09 4d 4f 56 09 42 4c 2c 31 32 09 09 09 3b ..JNE.ErrorFound...MOV.BL,12...;
1e980 20 43 61 74 63 68 2d 61 6c 6c 20 65 72 72 6f 72 0d 0a 45 72 72 6f 72 46 6f 75 6e 64 3a 0d 0a 09 .Catch-all.error..ErrorFound:...
1e9a0 64 65 62 75 67 09 34 2c 34 2c 3c 46 44 20 65 72 72 6f 72 3a 20 73 74 61 74 75 73 20 24 78 20 63 debug.4,4,<FD.error:.status.$x.c
1e9c0 6f 64 65 20 24 62 5c 6e 3e 2c 3c 61 78 2c 62 78 3e 0d 0a 09 50 55 53 48 09 45 53 0d 0a 09 4c 45 ode.$b\n>,<ax,bx>...PUSH.ES...LE
1e9e0 53 09 44 49 2c 46 6c 6f 70 70 79 51 75 65 75 65 09 09 3b 20 47 65 74 20 70 74 72 20 74 6f 20 72 S.DI,FloppyQueue..;.Get.ptr.to.r
1ea00 65 71 75 65 73 74 0d 0a 09 4d 4f 56 09 41 4c 2c 42 4c 0d 0a 09 4d 4f 56 09 41 48 2c 31 30 30 30 equest...MOV.AL,BL...MOV.AH,1000
1ea20 30 30 30 31 42 0d 0a 09 4d 4f 56 09 45 53 3a 5b 44 49 5d 2e 52 71 53 74 61 74 75 73 2c 41 58 09 0001B...MOV.ES:[DI].RqStatus,AX.
1ea40 3b 20 53 65 74 20 65 72 72 6f 72 20 61 6e 64 20 63 6f 64 65 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 ;.Set.error.and.code...POP.ES...
1ea60 4a 4d 50 09 66 6c 78 64 33 09 09 09 3b 20 41 64 76 61 6e 63 65 20 74 6f 20 44 6f 6e 65 20 73 74 JMP.flxd3...;.Advance.to.Done.st
1ea80 61 74 65 20 28 76 69 61 20 73 68 6f 72 74 63 75 74 29 0d 0a 0d 0a 46 6c 6f 70 70 79 45 78 65 63 ate.(via.shortcut)....FloppyExec
1eaa0 75 74 65 01 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 43 53 3a 42 69 6f ute..ENDP..........ASSUME.CS:Bio
1eac0 73 53 65 67 2c 44 53 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 46 6c sSeg,DS:NOTHING,ES:NOTHING....Fl
1eae0 6f 70 70 79 49 6e 74 65 72 72 75 70 74 20 50 52 4f 43 09 46 41 52 0d 0a 09 64 65 62 75 67 09 34 oppyInterrupt.PROC.FAR...debug.4
1eb00 2c 38 2c 3c 46 6c 49 6e 74 72 5c 6e 3e 2c 3c 3e 0d 0a 09 63 6d 70 09 53 65 6d 49 6e 74 31 33 2c ,8,<FlIntr\n>,<>...cmp.SemInt13,
1eb20 30 09 09 3b 20 49 66 20 61 20 64 69 72 65 63 74 20 49 6e 74 31 33 20 72 65 71 75 65 73 74 20 69 0..;.If.a.direct.Int13.request.i
1eb40 73 20 62 65 69 6e 67 0d 0a 09 6a 7a 09 66 6c 69 6e 6f 74 31 33 09 09 3b 20 20 6d 61 64 65 20 63 s.being...jz.flinot13..;..made.c
1eb60 61 6c 6c 20 74 68 65 20 52 4f 4d 20 66 6c 6f 70 70 79 20 69 6e 74 65 72 72 75 70 74 0d 0a 09 63 all.the.ROM.floppy.interrupt...c
1eb80 6d 70 09 53 65 6d 44 69 73 6b 49 4f 2c 30 09 09 3b 20 20 72 6f 75 74 69 6e 65 20 74 6f 20 68 61 mp.SemDiskIO,0..;..routine.to.ha
1eba0 6e 64 6c 65 20 69 74 2e 0d 0a 09 6a 6e 7a 09 66 6c 69 6e 6f 74 31 33 0d 0a 09 69 6e 74 09 69 6e ndle.it....jnz.flinot13...int.in
1ebc0 74 5f 73 61 76 72 65 67 73 0d 0a 09 70 75 73 68 66 0d 0a 09 63 61 6c 6c 09 64 77 6f 72 64 20 70 t_savregs...pushf...call.dword.p
1ebe0 74 72 20 5b 4f 6c 64 49 6e 74 45 56 65 63 5d 0d 0a 09 69 72 65 74 0d 0a 66 6c 69 6e 6f 74 31 33 tr.[OldIntEVec]...iret..flinot13
1ec00 3a 0d 0a 09 54 45 53 54 09 46 6c 6f 70 70 79 2e 46 6c 61 67 73 2c 46 61 63 74 69 76 65 09 3b 20 :...TEST.Floppy.Flags,Factive.;.
1ec20 64 65 76 69 63 65 20 61 63 74 69 76 65 3f 0d 0a 09 4a 5a 09 66 6c 69 6e 72 65 74 09 09 09 3b 20 device.active?...JZ.flinret...;.
1ec40 6e 6f 2c 20 67 6f 20 61 77 61 79 0d 0a 09 49 4e 54 09 69 6e 74 5f 73 61 76 72 65 67 73 09 09 3b no,.go.away...INT.int_savregs..;
1ec60 20 73 61 76 65 20 72 65 67 69 73 74 65 72 73 0d 0a 09 43 41 4c 4c 09 46 6c 6f 70 70 79 45 78 65 .save.registers...CALL.FloppyExe
1ec80 63 75 74 65 0d 0a 66 6c 69 6e 72 65 74 3a 20 70 75 73 68 09 61 78 0d 0a 09 4d 4f 56 09 41 4c 2c cute..flinret:.push.ax...MOV.AL,
1eca0 32 30 48 09 01 09 09 3b 20 73 65 6e 64 20 45 4f 49 20 74 6f 20 38 32 35 39 0d 0a 09 4f 55 54 09 20H....;.send.EOI.to.8259...OUT.
1ecc0 32 30 48 2c 41 4c 0d 0a 09 70 6f 70 09 61 78 0d 0a 09 49 52 45 54 0d 0a 46 6c 6f 70 70 79 49 6e 20H,AL...pop.ax...IRET..FloppyIn
1ece0 74 65 72 72 75 70 74 20 45 4e 44 50 0d 0a 0d 0a 53 55 42 54 54 4c 09 54 69 6d 69 6e 67 20 72 6f terrupt.ENDP....SUBTTL.Timing.ro
1ed00 75 74 69 6e 65 73 20 66 6f 72 20 66 6c 6f 70 70 79 20 64 69 73 6b 0d 0a 50 41 47 45 09 2b 0d 0a utines.for.floppy.disk..PAGE.+..
1ed20 0d 0a 3b 2a 20 20 44 61 74 61 20 66 6f 72 20 74 69 6d 65 72 73 0d 0a 54 69 6d 65 72 41 63 74 69 ..;*..Data.for.timers..TimerActi
1ed40 76 65 09 44 42 09 30 09 09 3b 20 62 69 74 20 66 6c 61 67 73 20 66 6f 72 20 61 63 74 69 76 65 20 ve.DB.0..;.bit.flags.for.active.
1ed60 74 69 6d 65 72 73 0d 0a 54 69 6d 65 72 43 6f 6e 76 09 44 42 09 35 30 09 09 3b 20 63 6f 6e 76 65 timers..TimerConv.DB.50..;.conve
1ed80 72 73 69 6f 6e 20 66 61 63 74 6f 72 20 66 6f 72 20 6d 73 20 3d 3e 20 74 69 63 6b 73 0d 0a 54 69 rsion.factor.for.ms.=>.ticks..Ti
1eda0 6d 65 72 31 09 44 42 09 30 09 09 09 3b 20 4f 6e 65 2d 73 68 6f 74 20 74 69 6d 65 20 74 69 6c 6c mer1.DB.0...;.One-shot.time.till
1edc0 20 72 65 73 74 61 72 74 20 69 6e 74 72 2e 20 72 74 6e 2e 0d 0a 54 69 6d 65 72 32 09 44 42 09 30 .restart.intr..rtn...Timer2.DB.0
1ede0 09 09 09 3b 20 52 65 70 65 74 69 74 69 76 65 20 31 20 48 7a 20 74 69 6d 65 72 0d 0a 54 69 6d 65 ...;.Repetitive.1.Hz.timer..Time
1ee00 72 32 63 6f 75 6e 74 09 3d 09 32 30 09 09 3b 20 52 65 6c 6f 61 64 20 76 61 6c 75 65 20 66 6f 72 r2count.=.20..;.Reload.value.for
1ee20 20 74 69 6d 65 72 32 0d 0a 0d 0a 4d 4f 46 46 44 45 4c 41 59 3d 09 32 09 09 09 3b 20 74 75 72 6e .timer2....MOFFDELAY=.2...;.turn
1ee40 20 6f 66 66 20 6d 6f 74 6f 72 20 61 66 74 65 72 20 32 20 73 65 63 2e 20 69 6e 61 63 74 69 76 69 .off.motor.after.2.sec..inactivi
1ee60 74 79 0d 0a 0d 0a 3b 2a 2a 2a 09 53 65 74 54 69 6d 65 72 31 20 2d 20 41 72 6d 20 74 69 6d 65 72 ty....;***.SetTimer1.-.Arm.timer
1ee80 20 31 0d 0a 3b 0d 0a 3b 09 53 65 74 54 69 6d 65 72 31 20 77 69 6c 6c 20 61 72 6d 20 74 68 65 20 .1..;..;.SetTimer1.will.arm.the.
1eea0 54 69 6d 65 72 01 31 2e 09 49 6e 70 75 74 20 70 61 72 61 6d 65 74 65 72 0d 0a 3b 09 76 61 6c 75 Timer.1..Input.parameter..;.valu
1eec0 65 73 20 69 6e 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 77 69 6c 6c 20 62 65 20 63 6f 6e 76 65 es.in.milliseconds.will.be.conve
1eee0 72 74 65 64 20 74 6f 20 74 69 6d 65 72 0d 0a 3b 09 74 69 63 6b 73 2e 0d 0a 3b 0d 0a 3b 09 45 4e rted.to.timer..;.ticks...;..;.EN
1ef00 54 52 59 09 41 58 20 3d 20 64 65 6c 61 79 20 76 61 6c 75 65 20 69 6e 20 6d 69 6c 6c 69 73 65 63 TRY.AX.=.delay.value.in.millisec
1ef20 6f 6e 64 73 0d 0a 3b 09 45 58 49 54 09 41 4c 20 3d 20 74 69 6d 65 72 20 74 69 63 6b 73 0d 0a 3b onds..;.EXIT.AL.=.timer.ticks..;
1ef40 09 09 43 46 20 73 65 74 20 69 66 20 74 69 6d 65 72 20 61 72 6d 65 64 0d 0a 3b 09 09 43 46 20 63 ..CF.set.if.timer.armed..;..CF.c
1ef60 6c 65 61 72 20 69 66 20 7a 65 72 6f 20 63 6f 75 6e 74 20 70 61 73 73 65 64 0d 0a 3b 09 55 53 45 lear.if.zero.count.passed..;.USE
1ef80 53 09 41 58 0d 0a 0d 0a 53 65 74 54 69 6d 65 72 31 09 50 52 4f 43 0d 0a 09 54 45 53 54 09 41 58 S.AX....SetTimer1.PROC...TEST.AX
1efa0 2c 41 58 09 09 09 3b 20 7a 65 72 6f 20 63 6f 75 6e 74 3f 0d 0a 09 4a 4e 5a 09 73 65 74 74 31 30 ,AX...;.zero.count?...JNZ.sett10
1efc0 09 09 09 3b 20 6e 6f 0d 0a 09 43 4c 43 0d 0a 09 52 45 54 0d 0a 0d 0a 73 65 74 74 31 30 3a 20 44 ...;.no...CLC...RET....sett10:.D
1efe0 49 56 09 54 69 6d 65 72 43 6f 6e 76 0d 0a 09 54 45 53 54 09 41 48 2c 41 48 09 09 09 3b 20 72 65 IV.TimerConv...TEST.AH,AH...;.re
1f000 6d 61 69 6e 64 65 72 3f 0d 0a 09 4a 5a 09 73 65 74 74 31 31 0d 0a 09 49 4e 43 09 41 4c 09 09 09 mainder?...JZ.sett11...INC.AL...
1f020 3b 20 79 65 73 2c 20 72 6f 75 6e 64 20 75 70 0d 0a 73 65 74 74 31 31 3a 20 4d 4f 56 09 54 69 6d ;.yes,.round.up..sett11:.MOV.Tim
1f040 65 72 31 2c 41 4c 0d 0a 09 4f 52 09 54 69 6d 65 72 41 63 74 69 76 65 2c 31 0d 0a 09 64 65 62 75 er1,AL...OR.TimerActive,1...debu
1f060 67 09 34 2c 38 2c 3c 53 65 74 54 69 6d 65 72 31 20 24 62 5c 6e 3e 2c 3c 61 78 3e 0d 0a 09 53 54 g.4,8,<SetTimer1.$b\n>,<ax>...ST
1f080 43 0d 0a 09 52 45 54 0d 0a 53 65 74 54 69 6d 65 72 31 09 45 4e 44 50 0d 0a 0d 0a 3b 2a 2a 2a 09 C...RET..SetTimer1.ENDP....;***.
1f0a0 53 65 74 54 69 6d 01 65 72 32 20 2d 20 41 72 6d 20 74 69 6d 65 72 20 32 0d 0a 3b 0d 0a 3b 09 53 SetTim.er2.-.Arm.timer.2..;..;.S
1f0c0 65 74 54 69 6d 65 72 32 20 77 69 6c 6c 20 73 65 74 20 61 20 6d 6f 74 6f 72 20 6f 66 66 20 74 69 etTimer2.will.set.a.motor.off.ti
1f0e0 6d 65 6f 75 74 20 66 6f 72 20 74 68 65 0d 0a 3b 09 64 72 69 76 65 20 77 68 6f 73 65 20 70 61 72 meout.for.the..;.drive.whose.par
1f100 61 6d 65 74 65 72 20 62 6c 6f 63 6b 20 69 73 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0d 0a 3b ameter.block.is.pointed.to.by..;
1f120 09 43 53 3a 42 58 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 43 53 3a 42 58 20 3d 20 70 6f 69 6e 74 .CS:BX..;..;.ENTRY.CS:BX.=.point
1f140 65 72 20 74 6f 20 70 65 72 20 64 72 69 76 65 20 69 6e 66 6f 2e 0d 0a 3b 09 45 58 49 54 0d 0a 3b er.to.per.drive.info...;.EXIT..;
1f160 09 55 53 45 53 09 4e 4f 4e 45 0d 0a 0d 0a 53 65 74 54 69 6d 65 72 32 09 50 52 4f 43 0d 0a 09 54 .USES.NONE....SetTimer2.PROC...T
1f180 45 53 54 09 54 69 6d 65 72 41 63 74 69 76 65 2c 32 0d 0a 09 4a 4e 5a 09 73 65 74 74 32 31 0d 0a EST.TimerActive,2...JNZ.sett21..
1f1a0 09 4d 4f 56 09 54 69 6d 65 72 32 2c 54 69 6d 65 72 32 43 6f 75 6e 74 0d 0a 09 4f 52 09 54 69 6d .MOV.Timer2,Timer2Count...OR.Tim
1f1c0 65 72 41 63 74 69 76 65 2c 32 0d 0a 73 65 74 74 32 31 3a 20 4d 4f 56 09 43 53 3a 5b 42 58 5d 2e erActive,2..sett21:.MOV.CS:[BX].
1f1e0 54 69 6d 65 72 2c 4d 4f 46 46 44 45 4c 41 59 0d 0a 09 64 65 62 75 67 09 34 2c 38 2c 3c 53 65 74 Timer,MOFFDELAY...debug.4,8,<Set
1f200 54 69 6d 65 72 32 5c 6e 3e 2c 3c 3e 0d 0a 09 52 45 54 0d 0a 53 65 74 54 69 6d 65 72 32 09 45 4e Timer2\n>,<>...RET..SetTimer2.EN
1f220 44 50 0d 0a 0d 0a 0d 0a 0d 0a 3b 09 46 6c 6f 70 70 79 54 69 6d 65 72 20 69 73 20 63 61 6c 6c 65 DP........;.FloppyTimer.is.calle
1f240 64 20 65 76 65 72 79 20 73 63 68 65 64 75 6c 65 72 20 74 69 63 6b 20 74 6f 20 70 65 72 66 6f 72 d.every.scheduler.tick.to.perfor
1f260 6d 0d 0a 3b 20 20 74 69 6d 65 20 72 65 6c 61 74 65 64 20 73 65 72 76 69 63 65 73 20 66 6f 72 20 m..;..time.related.services.for.
1f280 74 68 65 20 66 6c 6f 70 70 79 20 64 72 69 76 65 72 2e 09 20 54 68 65 72 65 20 61 72 65 0d 0a 3b the.floppy.driver...There.are..;
1f2a0 20 20 74 77 6f 20 73 01 65 72 76 69 63 65 73 20 70 65 72 66 6f 72 6d 65 64 3b 20 72 65 73 63 68 ..two.s.ervices.performed;.resch
1f2c0 65 64 75 6c 69 6e 67 20 6f 66 20 69 6e 74 65 72 72 75 70 74 20 74 69 6d 65 0d 0a 3b 20 20 73 65 eduling.of.interrupt.time..;..se
1f2e0 72 76 69 63 65 20 61 66 74 65 72 20 61 20 68 65 61 64 20 6c 6f 61 64 20 6f 72 20 6d 6f 74 6f 72 rvice.after.a.head.load.or.motor
1f300 20 73 74 61 72 74 75 70 20 64 65 6c 61 79 2c 20 61 6e 64 0d 0a 3b 20 20 61 20 6d 6f 74 6f 72 20 .startup.delay,.and..;..a.motor.
1f320 74 75 72 6e 20 6f 66 66 20 73 65 72 76 69 63 65 20 77 68 65 6e 20 61 20 64 72 69 76 65 20 69 73 turn.off.service.when.a.drive.is
1f340 20 6e 6f 74 20 61 63 74 69 76 65 2e 0d 0a 3b 0d 0a 3b 20 20 49 74 27 73 20 61 73 73 75 6d 65 64 .not.active...;..;..It's.assumed
1f360 20 74 68 61 74 20 61 6c 6c 20 72 65 67 69 73 74 65 72 73 20 68 61 76 65 20 62 65 65 6e 20 73 61 .that.all.registers.have.been.sa
1f380 76 65 64 20 62 79 20 74 68 65 0d 0a 3b 20 20 63 61 6c 6c 65 72 2e 0d 0a 0d 0a 09 41 53 53 55 4d ved.by.the..;..caller......ASSUM
1f3a0 45 09 43 53 3a 42 69 6f 73 53 65 67 2c 44 53 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 E.CS:BiosSeg,DS:NOTHING,ES:NOTHI
1f3c0 4e 47 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 46 6c 6f 70 70 79 54 69 6d 65 72 0d 0a 46 6c 6f 70 70 NG.....PUBLIC.FloppyTimer..Flopp
1f3e0 79 54 69 6d 65 72 09 50 52 4f 43 09 46 41 52 0d 0a 09 54 45 53 54 09 54 69 6d 65 72 41 63 74 69 yTimer.PROC.FAR...TEST.TimerActi
1f400 76 65 2c 30 66 66 48 09 3b 20 61 6e 79 20 74 69 6d 65 72 73 20 61 63 74 69 76 65 3f 0d 0a 09 4a ve,0ffH.;.any.timers.active?...J
1f420 4e 5a 09 66 6c 74 69 6d 31 09 09 09 3b 20 79 65 73 0d 0a 09 52 45 54 09 09 09 09 3b 20 6e 6f 2c NZ.fltim1...;.yes...RET....;.no,
1f440 20 72 65 74 75 72 6e 20 71 75 69 63 6b 6c 79 0d 0a 66 6c 74 69 6d 31 3a 20 54 45 53 54 09 54 69 .return.quickly..fltim1:.TEST.Ti
1f460 6d 65 72 41 63 74 69 76 65 2c 31 09 09 3b 20 54 69 6d 65 72 31 20 61 63 74 69 76 65 3f 0d 0a 09 merActive,1..;.Timer1.active?...
1f480 4a 5a 09 66 6c 74 69 6d 33 09 09 09 3b 20 6e 6f 0d 0a 09 44 45 43 09 54 69 6d 65 72 31 09 09 09 JZ.fltim3...;.no...DEC.Timer1...
1f4a0 3b 20 54 69 6d 65 72 31 01 20 65 78 70 69 72 65 64 3f 0d 0a 09 4a 4e 5a 09 66 6c 74 69 6d 33 09 ;.Timer1..expired?...JNZ.fltim3.
1f4c0 09 09 3b 20 6e 6f 0d 0a 3b 2a 20 20 50 65 72 66 6f 72 6d 20 54 69 6d 65 72 31 20 73 65 72 76 69 ..;.no..;*..Perform.Timer1.servi
1f4e0 63 65 0d 0a 09 64 65 62 75 67 09 34 2c 38 2c 3c 54 69 6d 65 72 20 31 20 65 78 70 69 72 65 64 5c ce...debug.4,8,<Timer.1.expired\
1f500 6e 3e 2c 3c 3e 0d 0a 09 41 4e 44 09 54 69 6d 65 72 41 63 74 69 76 65 2c 4e 4f 54 20 31 0d 0a 09 n>,<>...AND.TimerActive,NOT.1...
1f520 43 41 4c 4c 09 46 6c 6f 70 70 79 45 78 65 63 75 74 65 09 09 3b 20 70 75 73 68 20 74 68 65 20 73 CALL.FloppyExecute..;.push.the.s
1f540 74 61 74 65 73 20 61 72 6f 75 6e 64 20 61 20 77 68 69 6c 65 0d 0a 09 52 45 54 09 09 09 09 3b 20 tates.around.a.while...RET....;.
1f560 64 6f 6e 27 74 20 64 6f 20 54 69 6d 65 72 32 20 73 65 72 76 69 63 65 20 74 68 69 73 20 74 69 6d don't.do.Timer2.service.this.tim
1f580 65 2e 0d 0a 0d 0a 66 6c 74 69 6d 33 3a 20 54 45 53 54 09 54 69 6d 65 72 41 63 74 69 76 65 2c 32 e.....fltim3:.TEST.TimerActive,2
1f5a0 09 09 3b 20 54 69 6d 65 72 32 20 61 63 74 69 76 65 3f 0d 0a 09 4a 5a 09 66 6c 74 69 6d 34 09 09 ..;.Timer2.active?...JZ.fltim4..
1f5c0 09 3b 20 6e 6f 0d 0a 09 44 45 43 09 54 69 6d 65 72 32 09 09 09 3b 20 31 20 48 7a 20 63 6c 6f 63 .;.no...DEC.Timer2...;.1.Hz.cloc
1f5e0 6b 20 74 69 6d 65 3f 0d 0a 09 4a 5a 09 66 6c 74 69 6d 35 09 09 09 3b 20 6e 6f 0d 0a 66 6c 74 69 k.time?...JZ.fltim5...;.no..flti
1f600 6d 34 3a 20 4a 4d 50 09 66 6c 74 69 6d 39 0d 0a 66 6c 74 69 6d 35 3a 0d 0a 09 64 65 62 75 67 09 m4:.JMP.fltim9..fltim5:...debug.
1f620 34 2c 38 2c 3c 54 69 6d 65 72 20 32 20 65 78 70 69 72 65 64 5c 6e 3e 2c 3c 3e 0d 0a 09 4d 4f 56 4,8,<Timer.2.expired\n>,<>...MOV
1f640 09 42 4c 2c 54 69 6d 65 72 32 63 6f 75 6e 74 09 09 3b 20 72 65 6c 6f 61 64 20 74 68 65 20 63 6f .BL,Timer2count..;.reload.the.co
1f660 75 6e 74 65 72 0d 0a 09 4d 4f 56 09 54 69 6d 65 72 32 2c 42 4c 0d 0a 0d 0a 3b 2a 20 20 50 65 72 unter...MOV.Timer2,BL....;*..Per
1f680 66 6f 72 6d 20 54 69 6d 65 72 32 20 73 65 72 76 69 63 65 0d 0a 09 58 4f 52 09 43 48 2c 43 48 09 form.Timer2.service...XOR.CH,CH.
1f6a0 09 09 3b 20 4e 6f 20 61 63 01 74 69 76 65 20 74 69 6d 65 6f 75 74 73 20 73 65 65 6e 0d 0a 09 58 ..;.No.ac.tive.timeouts.seen...X
1f6c0 4f 52 09 44 49 2c 44 49 09 09 09 3b 20 53 74 61 72 74 20 77 69 74 68 20 64 72 69 76 65 20 41 0d OR.DI,DI...;.Start.with.drive.A.
1f6e0 0a 54 69 6d 65 4f 75 74 4c 6f 6f 70 3a 0d 0a 09 4d 4f 56 09 42 58 2c 44 49 0d 0a 09 41 44 44 09 .TimeOutLoop:...MOV.BX,DI...ADD.
1f700 42 58 2c 42 58 0d 0a 09 4d 4f 56 09 42 58 2c 46 44 69 6e 66 6f 5b 42 58 5d 09 09 3b 20 47 65 74 BX,BX...MOV.BX,FDinfo[BX]..;.Get
1f720 20 70 74 72 20 74 6f 20 64 72 69 76 65 20 69 6e 66 6f 0d 0a 09 54 45 53 54 09 43 53 3a 5b 42 58 .ptr.to.drive.info...TEST.CS:[BX
1f740 5d 2e 44 72 76 46 6c 61 67 2c 46 6d 6f 74 6f 72 6f 6e 09 3b 20 6d 6f 74 6f 72 20 6f 6e 3f 0d 0a ].DrvFlag,Fmotoron.;.motor.on?..
1f760 09 4a 5a 09 66 6c 74 69 6d 38 09 09 09 3b 20 6e 6f 0d 0a 09 43 4d 50 09 43 53 3a 5b 42 58 5d 2e .JZ.fltim8...;.no...CMP.CS:[BX].
1f780 54 69 6d 65 72 2c 30 09 09 3b 20 49 73 20 74 69 6d 65 72 20 61 63 74 69 76 65 20 66 6f 72 20 64 Timer,0..;.Is.timer.active.for.d
1f7a0 72 69 76 65 3f 0d 0a 09 4a 5a 09 66 6c 74 69 6d 38 09 09 09 3b 20 4e 6f 0d 0a 09 44 45 43 09 43 rive?...JZ.fltim8...;.No...DEC.C
1f7c0 53 3a 5b 42 58 5d 2e 54 69 6d 65 72 09 09 3b 20 59 65 73 2c 20 61 6e 6f 74 68 65 72 20 74 69 63 S:[BX].Timer..;.Yes,.another.tic
1f7e0 6b 20 68 61 73 20 70 61 73 73 65 64 0d 0a 09 4a 4e 5a 09 66 6c 74 69 6d 37 0d 0a 09 63 6d 70 09 k.has.passed...JNZ.fltim7...cmp.
1f800 64 69 2c 46 6c 6f 70 70 79 2e 43 75 72 72 65 6e 74 09 3b 20 43 75 72 72 65 6e 74 20 64 72 69 76 di,Floppy.Current.;.Current.driv
1f820 65 3f 0d 0a 09 6a 6e 7a 09 66 6c 74 69 6d 36 09 09 09 3b 20 6e 6f 0d 0a 09 74 65 73 74 09 46 6c e?...jnz.fltim6...;.no...test.Fl
1f840 6f 70 70 79 2e 46 6c 61 67 73 2c 46 61 63 74 69 76 65 09 3b 20 64 65 76 69 63 65 20 61 63 74 69 oppy.Flags,Factive.;.device.acti
1f860 76 65 3f 0d 0a 09 6a 7a 09 66 6c 74 69 6d 36 09 09 09 3b 20 6e 6f 2c 20 67 6f 20 61 68 65 61 64 ve?...jz.fltim6...;.no,.go.ahead
1f880 0d 0a 09 6d 6f 76 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 45 72 72 6f 72 0d 0a 09 6d 6f 76 09 ...mov.Floppy.State,Error...mov.
1f8a0 46 6c 6f 70 70 79 2e 45 72 72 01 43 6e 74 2c 45 72 72 4c 69 6d 09 3b 20 64 6f 6e 27 74 20 72 65 Floppy.Err.Cnt,ErrLim.;.don't.re
1f8c0 74 72 79 20 74 68 69 73 20 6f 6e 65 0d 0a 09 6d 6f 76 09 46 6c 6f 70 70 79 2e 53 54 30 2c 30 34 try.this.one...mov.Floppy.ST0,04
1f8e0 38 48 09 09 3b 20 73 65 74 20 6e 6f 74 20 72 65 61 64 79 20 65 72 72 6f 72 0d 0a 09 63 61 6c 6c 8H..;.set.not.ready.error...call
1f900 09 46 6c 6f 70 70 79 45 78 65 63 75 74 65 09 09 3b 20 6f 6f 70 73 2c 20 73 61 6e 69 74 79 20 74 .FloppyExecute..;.oops,.sanity.t
1f920 69 6d 65 6f 75 74 0d 0a 09 6a 6d 70 09 66 6c 74 69 6d 39 0d 0a 66 6c 74 69 6d 36 3a 0d 0a 09 41 imeout...jmp.fltim9..fltim6:...A
1f940 4e 44 09 43 53 3a 5b 42 58 5d 2e 44 72 76 46 6c 61 67 2c 4e 4f 54 20 46 6d 6f 74 6f 72 6f 6e 09 ND.CS:[BX].DrvFlag,NOT.Fmotoron.
1f960 3b 20 73 74 6f 70 20 64 72 69 76 65 20 6d 6f 74 6f 72 0d 0a 09 4d 4f 56 09 41 58 2c 44 49 0d 0a ;.stop.drive.motor...MOV.AX,DI..
1f980 09 4d 4f 56 09 43 4c 2c 41 4c 0d 0a 09 41 44 44 09 43 4c 2c 34 0d 0a 09 4d 4f 56 09 41 4c 2c 31 .MOV.CL,AL...ADD.CL,4...MOV.AL,1
1f9a0 0d 0a 09 53 48 4c 09 41 4c 2c 43 4c 09 09 09 3b 20 47 65 74 20 62 69 74 20 6d 61 73 6b 20 66 6f ...SHL.AL,CL...;.Get.bit.mask.fo
1f9c0 72 20 6d 6f 74 6f 72 20 6f 6e 0d 0a 09 54 45 53 54 09 46 6c 6f 70 70 79 2e 44 4f 52 2c 41 4c 09 r.motor.on...TEST.Floppy.DOR,AL.
1f9e0 09 3b 20 49 73 20 6d 6f 74 6f 72 20 61 6c 72 65 61 64 79 20 6f 66 66 3f 0d 0a 09 4a 45 09 66 6c .;.Is.motor.already.off?...JE.fl
1fa00 74 69 6d 38 09 09 09 3b 20 59 65 73 2c 20 67 6f 20 6f 6e 20 74 6f 20 6e 65 78 74 20 64 72 69 76 tim8...;.Yes,.go.on.to.next.driv
1fa20 65 0d 0a 09 4e 4f 54 09 41 4c 09 09 09 3b 20 47 65 74 20 61 6c 6c 20 62 69 74 73 20 65 78 63 65 e...NOT.AL...;.Get.all.bits.exce
1fa40 70 74 20 74 68 69 73 20 6d 6f 74 6f 72 0d 0a 09 41 4e 44 09 46 6c 6f 70 70 79 2e 44 4f 52 2c 41 pt.this.motor...AND.Floppy.DOR,A
1fa60 4c 09 09 3b 20 43 6c 65 61 72 20 74 68 69 73 20 6d 6f 74 6f 72 20 6f 6e 0d 0a 09 4d 4f 56 09 44 L..;.Clear.this.motor.on...MOV.D
1fa80 58 2c 46 44 5f 50 53 45 4c 0d 0a 09 4d 4f 56 09 41 4c 2c 46 6c 6f 70 70 79 2e 44 4f 52 0d 0a 09 X,FD_PSEL...MOV.AL,Floppy.DOR...
1faa0 4f 55 54 09 44 58 2c 41 4c 09 09 05 0e 00 09 02 01 02 03 04 05 06 07 08 09 01 09 3b 20 54 75 72 OUT.DX,AL..................;.Tur
1fac0 6e 20 6f 66 66 20 6d 6f 74 6f 72 0d 0a 3b 3b 09 63 6d 70 09 64 69 2c 46 6c 6f 70 70 79 2e 43 75 n.off.motor..;;.cmp.di,Floppy.Cu
1fae0 72 72 65 6e 74 09 3b 20 43 75 72 72 65 6e 74 20 64 72 69 76 65 3f 0d 0a 3b 3b 09 6a 6e 7a 09 66 rrent.;.Current.drive?..;;.jnz.f
1fb00 6c 74 69 6d 38 09 09 09 3b 20 6e 6f 0d 0a 3b 3b 09 74 65 73 74 09 46 6c 6f 70 70 79 2e 46 6c 61 ltim8...;.no..;;.test.Floppy.Fla
1fb20 67 73 2c 46 61 63 74 69 76 65 09 3b 20 64 65 76 69 63 65 20 61 63 74 69 76 65 0d 0a 3b 3b 09 6a gs,Factive.;.device.active..;;.j
1fb40 7a 09 66 6c 74 69 6d 38 09 09 09 3b 20 6e 6f 2c 20 67 6f 20 6f 6e 20 74 6f 20 6e 65 78 74 20 64 z.fltim8...;.no,.go.on.to.next.d
1fb60 72 69 76 65 0d 0a 3b 3b 09 63 61 6c 6c 09 44 75 6d 70 52 65 67 73 09 09 3b 20 6f 6f 70 73 2c 20 rive..;;.call.DumpRegs..;.oops,.
1fb80 73 61 6e 69 74 79 20 74 69 6d 65 6f 75 74 0d 0a 0d 0a 66 6c 74 69 6d 37 3a 20 49 4e 43 09 43 48 sanity.timeout....fltim7:.INC.CH
1fba0 09 09 09 3b 20 46 6c 61 67 20 73 74 69 6c 6c 20 61 63 74 69 76 65 0d 0a 66 6c 74 69 6d 38 3a 20 ...;.Flag.still.active..fltim8:.
1fbc0 49 4e 43 09 44 49 09 09 09 3b 20 41 64 76 61 6e 63 65 20 74 6f 20 6e 65 78 74 20 64 72 69 76 65 INC.DI...;.Advance.to.next.drive
1fbe0 0d 0a 09 43 4d 50 09 44 49 2c 57 4f 52 44 20 50 54 52 20 4e 75 6d 46 6c 6f 70 70 79 09 3b 20 41 ...CMP.DI,WORD.PTR.NumFloppy.;.A
1fc00 6e 79 20 6d 6f 72 65 20 74 6f 20 63 68 65 63 6b 3f 0d 0a 09 4a 4e 45 09 54 69 6d 65 4f 75 74 4c ny.more.to.check?...JNE.TimeOutL
1fc20 6f 6f 70 09 09 3b 20 59 65 73 2c 20 64 6f 20 74 68 65 6d 0d 0a 09 4f 52 09 43 48 2c 43 48 09 09 oop..;.Yes,.do.them...OR.CH,CH..
1fc40 09 3b 20 4e 65 65 64 20 74 6f 20 6b 65 65 70 20 74 69 6d 65 72 20 61 63 74 69 76 65 3f 0d 0a 09 .;.Need.to.keep.timer.active?...
1fc60 4a 4e 5a 09 66 6c 74 69 6d 39 09 09 09 3b 20 59 65 73 0d 0a 09 41 4e 44 09 54 69 6d 65 72 41 63 JNZ.fltim9...;.Yes...AND.TimerAc
1fc80 74 69 76 65 2c 4e 4f 54 20 32 09 3b 20 4e 6f 2c 20 63 6c 65 61 72 20 74 69 6d 65 6f 75 74 20 69 tive,NOT.2.;.No,.clear.timeout.i
1fca0 73 20 61 63 74 69 76 65 0d 0a 66 6c 74 69 6d 39 3a 20 52 45 54 0d 0a 0d 0a 46 01 6c 6f 70 70 79 s.active..fltim9:.RET....F.loppy
1fcc0 54 69 6d 65 72 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 49 46 44 45 46 09 44 45 42 55 47 46 4c 47 0d 0a Timer.ENDP......IFDEF.DEBUGFLG..
1fce0 44 75 6d 70 52 65 67 73 09 50 52 4f 43 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 DumpRegs.PROC...push.cs...pop.ds
1fd00 0d 0a 09 64 65 62 75 67 09 34 2c 30 66 68 2c 3c 53 61 6e 69 74 79 20 54 69 6d 65 6f 75 74 21 21 ...debug.4,0fh,<Sanity.Timeout!!
1fd20 5c 6e 3e 2c 3c 3e 0d 0a 09 6d 6f 76 09 64 69 2c 4f 46 46 53 45 54 20 46 6c 6f 70 70 79 0d 0a 09 \n>,<>...mov.di,OFFSET.Floppy...
1fd40 64 65 62 75 67 09 34 2c 30 66 68 2c 3c 46 6c 6f 70 70 79 20 73 74 72 75 63 74 5c 6e 09 24 78 20 debug.4,0fh,<Floppy.struct\n.$x.
1fd60 24 78 20 24 78 20 24 78 20 20 24 78 20 24 78 20 24 78 20 24 78 5c 6e 3e 2c 3c 5b 64 69 5d 2c 5b $x.$x.$x..$x.$x.$x.$x\n>,<[di],[
1fd80 64 69 2e 32 5d 2c 5b 64 69 2e 34 5d 2c 5b 64 69 2e 36 5d 2c 5b 64 69 2e 38 5d 2c 5b 64 69 2e 31 di.2],[di.4],[di.6],[di.8],[di.1
1fda0 30 5d 2c 5b 64 69 2e 31 32 5d 2c 5b 64 69 2e 31 34 5d 3e 0d 0a 09 64 65 62 75 67 09 34 2c 30 66 0],[di.12],[di.14]>...debug.4,0f
1fdc0 68 2c 3c 09 20 24 78 20 24 78 20 24 78 20 24 78 20 20 24 78 20 24 78 20 24 78 20 24 78 5c 6e 3e h,<..$x.$x.$x.$x..$x.$x.$x.$x\n>
1fde0 2c 3c 5b 64 69 2e 31 30 68 5d 2c 5b 64 69 2e 31 32 68 5d 2c 5b 64 69 2e 31 34 68 5d 2c 5b 64 69 ,<[di.10h],[di.12h],[di.14h],[di
1fe00 2e 31 36 68 5d 2c 5b 64 69 2e 31 38 68 5d 2c 5b 64 69 2e 31 61 68 5d 2c 5b 64 69 2e 31 63 68 5d .16h],[di.18h],[di.1ah],[di.1ch]
1fe20 2c 5b 64 69 2e 31 65 68 5d 3e 0d 0a 09 63 61 6c 6c 09 47 65 74 44 72 69 76 65 50 74 72 0d 0a 09 ,[di.1eh]>...call.GetDrivePtr...
1fe40 64 65 62 75 67 09 34 2c 30 66 68 2c 3c 44 72 69 76 65 20 73 74 72 75 63 74 5c 6e 20 20 24 78 20 debug.4,0fh,<Drive.struct\n..$x.
1fe60 24 78 20 24 78 20 24 78 20 20 24 78 20 24 78 20 24 78 20 24 78 5c 6e 3e 2c 3c 5b 62 78 5d 2c 5b $x.$x.$x..$x.$x.$x.$x\n>,<[bx],[
1fe80 62 78 2e 32 5d 2c 5b 62 78 2e 34 5d 2c 5b 62 78 2e 36 5d 2c 5b 62 78 2e 38 5d 2c 5b 62 78 2e 31 bx.2],[bx.4],[bx.6],[bx.8],[bx.1
1fea0 30 5d 2c 5b 62 78 2e 31 32 5d 2c 5b 62 78 2e 31 34 5d 3e 0d 0a 09 64 65 62 75 67 01 09 34 2c 30 0],[bx.12],[bx.14]>...debug..4,0
1fec0 66 68 2c 3c 09 20 24 78 20 24 78 20 24 78 20 24 78 5c 6e 3e 2c 3c 5b 62 78 2e 31 36 5d 2c 5b 62 fh,<..$x.$x.$x.$x\n>,<[bx.16],[b
1fee0 78 2e 31 38 5d 2c 5b 62 78 2e 32 30 5d 2c 5b 62 78 2e 32 32 5d 3e 0d 0a 09 64 65 62 75 67 09 34 x.18],[bx.20],[bx.22]>...debug.4
1ff00 2c 30 66 68 2c 3c 09 20 49 4d 52 20 49 52 52 20 49 53 52 09 38 32 35 39 20 73 74 61 74 75 73 5c ,0fh,<..IMR.IRR.ISR.8259.status\
1ff20 6e 3e 2c 3c 3e 0d 0a 09 6d 6f 76 09 61 6c 2c 30 61 68 0d 0a 09 6f 75 74 09 32 30 68 2c 61 6c 0d n>,<>...mov.al,0ah...out.20h,al.
1ff40 0a 09 69 6e 09 61 6c 2c 32 30 68 0d 0a 09 6d 6f 76 09 62 6c 2c 61 6c 0d 0a 0d 0a 09 6d 6f 76 09 ..in.al,20h...mov.bl,al.....mov.
1ff60 61 6c 2c 30 62 68 0d 0a 09 6f 75 74 09 32 30 68 2c 61 6c 0d 0a 09 69 6e 09 61 6c 2c 32 30 68 0d al,0bh...out.20h,al...in.al,20h.
1ff80 0a 09 6d 6f 76 09 63 6c 2c 61 6c 0d 0a 09 69 6e 09 61 6c 2c 32 31 68 0d 0a 09 64 65 62 75 67 09 ..mov.cl,al...in.al,21h...debug.
1ffa0 34 2c 30 66 68 2c 3c 09 20 24 62 20 20 24 62 09 20 24 62 5c 6e 3e 2c 3c 61 78 2c 62 78 2c 63 78 4,0fh,<..$b..$b..$b\n>,<ax,bx,cx
1ffc0 3e 0d 0a 09 64 65 62 75 67 09 34 2c 30 66 68 2c 3c 37 36 35 20 73 74 61 74 75 73 2c 20 64 61 74 >...debug.4,0fh,<765.status,.dat
1ffe0 61 5c 6e 3e 2c 3c 3e 0d 0a 09 6d 6f 76 09 64 78 2c 46 44 5f 50 53 54 41 54 0d 0a 09 69 6e 09 61 a\n>,<>...mov.dx,FD_PSTAT...in.a
20000 6c 2c 64 78 0d 0a 09 6d 6f 76 09 62 6c 2c 61 6c 0d 0a 09 6d 6f 76 09 64 78 2c 46 44 5f 50 44 41 l,dx...mov.bl,al...mov.dx,FD_PDA
20020 54 0d 0a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 64 65 62 75 67 09 34 2c 30 66 68 2c 3c 09 20 20 20 T...in.al,dx...debug.4,0fh,<....
20040 20 24 62 09 20 20 20 20 24 62 5c 6e 3e 2c 3c 62 78 2c 61 78 3e 0d 0a 09 73 74 69 0d 0a 64 6d 70 .$b.....$b\n>,<bx,ax>...sti..dmp
20060 72 30 3a 09 6a 6d 70 09 64 6d 70 72 30 0d 0a 44 75 6d 70 52 65 67 73 09 45 4e 44 50 0d 0a 45 4e r0:.jmp.dmpr0..DumpRegs.ENDP..EN
20080 44 49 46 09 3b 44 45 55 42 47 46 4c 41 47 0d 0a 0d 0a 53 55 42 54 54 4c 09 52 6f 75 74 69 6e 65 DIF.;DEUBGFLAG....SUBTTL.Routine
200a0 73 20 73 68 61 72 65 64 20 62 65 74 77 65 65 6e 20 46 6c 6f 70 70 79 20 61 6e 64 20 01 48 61 72 s.shared.between.Floppy.and..Har
200c0 64 20 64 69 73 6b 20 64 72 69 76 65 72 73 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 3b 2a 2a 2a 09 53 d.disk.drivers..PAGE.+....;***.S
200e0 65 74 75 70 20 2d 20 53 65 74 20 72 65 71 75 65 73 74 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e etup.-.Set.request.parameters.in
20100 74 6f 20 6c 6f 63 61 6c 20 73 74 72 75 63 74 75 72 65 2e 0d 0a 3b 0d 0a 3b 09 53 65 74 75 70 20 to.local.structure...;..;.Setup.
20120 73 65 74 73 20 74 68 65 20 55 6e 69 74 2c 20 46 69 72 73 74 2c 20 41 64 64 72 2c 20 43 6f 75 6e sets.the.Unit,.First,.Addr,.Coun
20140 74 20 61 6e 64 20 46 6c 61 67 73 20 66 69 65 6c 64 73 20 69 6e 20 74 68 65 0d 0a 3b 09 64 65 76 t.and.Flags.fields.in.the..;.dev
20160 69 63 65 20 73 74 72 75 63 74 75 72 65 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 20 74 6f 20 ice.structure.which.are.used.to.
20180 64 72 69 76 65 20 74 68 65 20 49 2f 4f 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0d 0a 3b drive.the.I/O...The.following..;
201a0 09 66 6c 61 67 73 20 61 72 65 20 61 66 66 65 63 74 65 64 3a 0d 0a 3b 09 09 46 77 72 69 74 65 09 .flags.are.affected:..;..Fwrite.
201c0 54 68 69 73 20 69 73 20 61 20 77 72 69 74 65 20 72 65 71 75 65 73 74 2c 20 6e 6f 74 20 61 20 72 This.is.a.write.request,.not.a.r
201e0 65 61 64 0d 0a 3b 09 09 46 76 65 72 69 66 79 20 54 68 69 73 20 69 73 20 61 20 77 72 69 74 65 20 ead..;..Fverify.This.is.a.write.
20200 77 69 74 68 20 76 65 72 69 66 79 20 28 76 65 72 69 66 79 20 77 68 65 6e 20 77 72 69 74 65 0d 0a with.verify.(verify.when.write..
20220 3b 09 09 09 69 73 20 63 6c 65 61 72 65 64 29 2e 0d 0a 3b 09 4f 74 68 65 72 20 66 69 65 6c 64 73 ;...is.cleared)...;.Other.fields
20240 20 61 72 65 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 20 44 4f 53 20 72 65 71 75 65 73 74 .are.copied.from.the.DOS.request
20260 20 70 61 63 6b 65 74 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 53 49 09 50 6f 69 6e 74 65 72 20 .packet...;..;.ENTRY.SI.Pointer.
20280 74 6f 20 64 65 76 69 63 65 20 76 61 72 69 61 62 6c 65 73 0d 0a 3b 09 09 45 53 3a 42 58 09 43 75 to.device.variables..;..ES:BX.Cu
202a0 72 72 65 6e 74 20 72 65 71 75 65 73 74 0d 0a 3b 09 09 41 4c 09 55 6e 69 74 20 6e 75 6d 01 62 65 rrent.request..;..AL.Unit.num.be
202c0 72 0d 0a 3b 09 09 44 49 09 42 50 42 20 66 6f 72 20 64 72 69 76 65 0d 0a 3b 09 09 44 53 09 43 53 r..;..DI.BPB.for.drive..;..DS.CS
202e0 0d 0a 3b 0d 0a 3b 09 45 58 49 54 09 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 72 69 61 62 ..;..;.EXIT.The.following.variab
20300 6c 65 73 20 61 72 65 20 73 65 74 0d 0a 3b 09 09 09 5b 53 49 5d 2e 55 6e 69 74 0d 0a 3b 09 09 09 les.are.set..;...[SI].Unit..;...
20320 5b 53 49 5d 2e 46 69 72 73 74 09 54 68 65 20 68 69 64 64 65 6e 20 73 65 63 74 6f 72 73 20 61 72 [SI].First.The.hidden.sectors.ar
20340 65 20 61 64 64 65 64 0d 0a 3b 09 09 09 5b 53 49 5d 2e 52 65 61 6c 41 64 64 72 0d 0a 3b 09 09 09 e.added..;...[SI].RealAddr..;...
20360 5b 53 49 5d 2e 43 6f 75 6e 74 0d 0a 3b 09 09 09 5b 53 49 5d 2e 46 6c 61 67 73 0d 0a 0d 0a 20 20 [SI].Count..;...[SI].Flags......
20380 20 20 41 53 53 55 4d 45 09 43 53 3a 42 69 6f 73 53 65 67 2c 44 53 3a 42 69 6f 73 53 65 67 0d 0a ..ASSUME.CS:BiosSeg,DS:BiosSeg..
203a0 0d 0a 53 65 74 75 70 09 50 52 4f 43 0d 0a 09 4d 4f 56 09 41 58 2c 45 53 3a 5b 42 58 5d 2e 52 71 ..Setup.PROC...MOV.AX,ES:[BX].Rq
203c0 43 6f 75 6e 74 0d 0a 09 4d 4f 56 09 5b 53 49 5d 2e 43 6f 75 6e 74 2c 41 58 09 09 3b 20 53 65 74 Count...MOV.[SI].Count,AX..;.Set
203e0 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 74 6f 20 64 6f 0d 0a 09 4d 4f 56 09 41 .number.of.sectors.to.do...MOV.A
20400 58 2c 45 53 3a 5b 42 58 5d 2e 52 71 41 64 64 72 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 X,ES:[BX].RqAddr...MOV.WORD.PTR.
20420 5b 53 49 5d 2e 52 65 61 6c 41 64 64 72 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 2c 45 53 3a 5b 42 58 [SI].RealAddr,AX...MOV.AX,ES:[BX
20440 5d 2e 52 71 41 64 64 72 2b 32 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2e 52 ].RqAddr+2...MOV.WORD.PTR.[SI].R
20460 65 61 6c 41 64 64 72 2b 32 2c 41 58 20 20 3b 20 43 6f 70 79 20 64 61 74 61 20 61 64 64 72 65 73 ealAddr+2,AX..;.Copy.data.addres
20480 73 0d 0a 09 4d 4f 56 09 41 4c 2c 45 53 3a 5b 42 58 5d 2e 52 71 55 6e 69 74 09 3b 20 47 65 74 20 s...MOV.AL,ES:[BX].RqUnit.;.Get.
204a0 75 6e 69 74 20 6e 75 6d 62 65 72 0d 0a 09 4d 4f 56 09 5b 53 49 5d 2e 55 6e 69 74 2c 41 4c 01 09 unit.number...MOV.[SI].Unit,AL..
204c0 09 3b 20 53 65 74 20 64 72 69 76 65 20 6e 65 65 64 65 64 0d 0a 09 4d 4f 56 09 41 58 2c 45 53 3a .;.Set.drive.needed...MOV.AX,ES:
204e0 5b 42 58 5d 2e 52 71 46 69 72 73 74 09 3b 20 47 65 74 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 [BX].RqFirst.;.Get.the.starting.
20500 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d 0a 09 41 44 44 09 41 58 2c 5b 44 49 5d 2e 42 50 42 68 sector.number...ADD.AX,[DI].BPBh
20520 69 64 73 65 63 09 3b 20 41 64 64 20 23 20 6f 66 20 68 69 64 64 65 6e 20 73 65 63 74 6f 72 73 0d idsec.;.Add.#.of.hidden.sectors.
20540 0a 09 4d 4f 56 09 5b 53 49 5d 2e 46 69 72 73 74 2c 41 58 09 09 3b 20 53 65 74 20 31 73 74 20 73 ..MOV.[SI].First,AX..;.Set.1st.s
20560 65 63 74 6f 72 20 6f 66 20 49 2f 4f 0d 0a 09 61 6e 64 09 5b 53 49 5d 2e 46 6c 61 67 73 2c 46 61 ector.of.I/O...and.[SI].Flags,Fa
20580 63 74 69 76 65 2b 46 32 73 74 65 70 09 3b 20 6d 61 73 6b 20 65 78 63 65 73 73 20 66 6c 61 67 73 ctive+F2step.;.mask.excess.flags
205a0 0d 0a 09 43 4d 50 09 45 53 3a 5b 42 58 5d 2e 52 71 43 6d 64 2c 34 09 09 3b 20 49 73 20 74 68 69 ...CMP.ES:[BX].RqCmd,4..;.Is.thi
205c0 73 20 61 20 72 65 61 64 3f 0d 0a 09 4a 45 09 53 65 74 75 70 44 6f 6e 65 09 09 3b 20 59 65 73 2c s.a.read?...JE.SetupDone..;.Yes,
205e0 20 61 6c 6c 20 64 6f 6e 65 0d 0a 09 4f 52 09 5b 53 49 5d 2e 46 6c 61 67 73 2c 46 77 72 69 74 65 .all.done...OR.[SI].Flags,Fwrite
20600 09 3b 20 4e 6f 2c 20 66 6c 61 67 20 74 68 69 73 20 69 73 20 61 20 72 65 61 64 0d 0a 09 43 4d 50 .;.No,.flag.this.is.a.read...CMP
20620 09 45 53 3a 5b 42 58 5d 2e 52 71 43 6d 64 2c 39 09 09 3b 20 57 72 69 74 65 20 77 69 74 68 20 76 .ES:[BX].RqCmd,9..;.Write.with.v
20640 65 72 69 66 79 3f 0d 0a 09 4a 4e 45 09 53 65 74 75 70 44 6f 6e 65 09 09 3b 20 4e 6f 2c 20 6a 75 erify?...JNE.SetupDone..;.No,.ju
20660 73 74 20 77 72 69 74 65 0d 0a 09 4f 52 09 5b 53 49 5d 2e 46 6c 61 67 73 2c 46 76 65 72 69 66 79 st.write...OR.[SI].Flags,Fverify
20680 09 3b 20 59 65 73 2c 20 73 65 74 20 74 6f 20 76 65 72 69 66 79 20 74 6f 6f 0d 0a 53 65 74 75 70 .;.Yes,.set.to.verify.too..Setup
206a0 44 6f 6e 65 3a 0d 0a 09 52 45 54 0d 0a 53 65 74 75 70 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 2a 01 Done:...RET..Setup.ENDP......;*.
206c0 2a 2a 09 4d 61 70 53 65 63 74 6f 72 20 2d 20 63 6f 6d 70 75 74 65 20 68 65 61 64 2c 20 73 65 63 **.MapSector.-.compute.head,.sec
206e0 74 6f 72 2c 20 63 79 6c 69 6e 64 65 72 0d 0a 3b 0d 0a 3b 09 4d 61 70 53 65 63 74 6f 72 20 74 61 tor,.cylinder..;..;.MapSector.ta
20700 6b 65 73 20 74 68 65 20 66 69 65 6c 64 73 20 73 65 74 20 75 70 20 62 79 20 53 65 74 75 70 20 61 kes.the.fields.set.up.by.Setup.a
20720 6e 64 20 66 69 67 75 72 65 73 20 6f 75 74 20 74 68 65 0d 0a 3b 09 68 65 61 64 2c 20 63 79 6c 69 nd.figures.out.the..;.head,.cyli
20740 6e 64 65 72 20 61 6e 64 20 73 65 63 74 6f 72 20 69 6e 76 6f 6c 76 65 64 2e 20 20 49 66 20 74 68 nder.and.sector.involved...If.th
20760 65 20 72 65 71 75 65 73 74 20 69 6e 76 6f 6c 76 65 73 0d 0a 3b 09 6d 75 6c 74 69 70 6c 65 20 73 e.request.involves..;.multiple.s
20780 65 63 74 6f 72 73 2c 20 69 74 20 66 69 67 75 72 65 73 20 6f 75 74 20 68 6f 77 20 6d 61 6e 79 20 ectors,.it.figures.out.how.many.
207a0 63 61 6e 20 62 65 20 64 6f 6e 65 20 61 74 20 6f 6e 63 65 0d 0a 3b 09 62 61 73 65 64 20 6f 6e 20 can.be.done.at.once..;.based.on.
207c0 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 6c 65 66 74 20 6f 6e 20 74 68 the.number.of.sectors.left.on.th
207e0 65 20 74 72 61 63 6b 20 61 6e 64 20 74 68 61 74 20 74 68 65 0d 0a 3b 09 74 61 72 67 65 74 20 61 e.track.and.that.the..;.target.a
20800 64 64 72 65 73 73 27 20 6f 66 66 73 65 74 20 64 6f 65 73 20 6e 6f 74 20 77 72 61 70 20 61 72 6f ddress'.offset.does.not.wrap.aro
20820 75 6e 64 20 36 34 6b 20 28 74 68 65 20 44 4d 41 20 6f 6e 20 74 68 65 0d 0a 3b 09 50 43 20 75 73 und.64k.(the.DMA.on.the..;.PC.us
20840 65 73 20 61 20 32 30 20 62 69 74 20 61 64 64 72 65 73 73 2c 20 62 75 74 20 74 68 65 20 68 69 67 es.a.20.bit.address,.but.the.hig
20860 68 20 34 20 62 69 74 73 20 64 6f 20 6e 6f 74 20 63 68 61 6e 67 65 20 77 68 65 6e 0d 0a 3b 09 74 h.4.bits.do.not.change.when..;.t
20880 68 65 20 6c 6f 77 20 31 36 20 63 79 63 6c 65 20 62 61 63 6b 20 74 6f 20 30 29 2e 20 20 49 66 20 he.low.16.cycle.back.to.0)...If.
208a0 74 68 65 20 72 65 71 75 65 73 74 20 77 72 61 70 73 20 61 72 6f 75 6e 64 20 36 34 6b 2c 20 69 74 the.request.wraps.around.64k,.it
208c0 01 0d 0a 3b 09 69 73 20 73 70 6c 69 74 20 69 6e 74 6f 20 32 20 6f 72 20 33 20 70 69 65 63 65 73 ...;.is.split.into.2.or.3.pieces
208e0 20 77 68 69 63 68 20 61 72 65 20 61 6c 6c 20 64 61 74 61 20 62 65 66 6f 72 65 20 77 72 61 70 2c .which.are.all.data.before.wrap,
20900 20 61 66 74 65 72 0d 0a 3b 09 77 72 61 70 20 61 6e 64 20 74 68 65 20 77 72 61 70 20 69 74 73 65 .after..;.wrap.and.the.wrap.itse
20920 6c 66 2e 20 20 54 68 65 20 77 72 61 70 20 69 74 73 65 6c 66 20 69 73 20 74 72 61 6e 73 66 65 72 lf...The.wrap.itself.is.transfer
20940 72 65 64 20 76 69 61 20 61 20 74 65 6d 70 0d 0a 3b 09 62 75 66 66 65 72 20 28 53 63 72 61 74 63 red.via.a.temp..;.buffer.(Scratc
20960 68 42 75 66 66 65 72 29 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 53 49 09 50 6f 69 6e 74 65 72 hBuffer)...;..;.ENTRY.SI.Pointer
20980 20 74 6f 20 64 65 76 69 63 65 20 76 61 72 69 61 62 6c 65 73 0d 0a 3b 09 09 45 53 3a 42 58 09 43 .to.device.variables..;..ES:BX.C
209a0 75 72 72 65 6e 74 20 72 65 71 75 65 73 74 0d 0a 3b 09 09 41 4c 09 55 6e 69 74 20 6e 75 6d 62 65 urrent.request..;..AL.Unit.numbe
209c0 72 0d 0a 3b 09 09 44 49 09 42 50 42 20 66 6f 72 20 64 72 69 76 65 0d 0a 3b 09 09 44 53 09 43 53 r..;..DI.BPB.for.drive..;..DS.CS
209e0 0d 0a 3b 09 45 58 49 54 09 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 72 69 61 62 6c 65 73 ..;.EXIT.The.following.variables
20a00 20 61 72 65 20 73 65 74 0d 0a 3b 09 09 09 5b 53 49 5d 2e 46 6c 61 67 73 0d 0a 3b 09 09 09 5b 53 .are.set..;...[SI].Flags..;...[S
20a20 49 5d 2e 48 65 61 64 0d 0a 3b 09 09 09 5b 53 49 5d 2e 43 79 6c 0d 0a 3b 09 09 09 5b 53 49 5d 2e I].Head..;...[SI].Cyl..;...[SI].
20a40 53 65 63 74 6f 72 0d 0a 3b 09 09 09 5b 53 49 5d 2e 4e 75 6d 53 65 63 74 6f 72 73 0d 0a 3b 09 09 Sector..;...[SI].NumSectors..;..
20a60 09 5b 53 49 5d 2e 4e 75 6d 42 79 74 65 73 0d 0a 3b 09 09 09 5b 53 49 5d 2e 41 64 64 72 0d 0a 3b .[SI].NumBytes..;...[SI].Addr..;
20a80 09 55 53 45 53 09 41 58 2c 43 58 2c 44 58 2c 44 49 0d 0a 3b 0d 0a 0d 0a 4d 61 70 53 65 63 74 6f .USES.AX,CX,DX,DI..;....MapSecto
20aa0 72 09 50 52 4f 43 0d 0a 09 50 55 53 48 09 45 53 0d 0a 09 6c 65 73 09 43 58 2c 5b 53 49 5d 2e 52 r.PROC...PUSH.ES...les.CX,[SI].R
20ac0 65 01 61 6c 41 64 64 72 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2e 41 64 64 e.alAddr...MOV.WORD.PTR.[SI].Add
20ae0 72 2c 43 58 09 09 3b 20 63 6f 70 79 20 52 65 61 6c 41 64 64 72 20 74 6f 20 41 64 64 72 0d 0a 09 r,CX..;.copy.RealAddr.to.Addr...
20b00 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2e 41 64 64 72 2b 32 2c 45 53 0d 0a 09 41 4e MOV.WORD.PTR.[SI].Addr+2,ES...AN
20b20 44 09 5b 53 49 5d 2e 46 6c 61 67 73 2c 4e 4f 54 20 46 77 72 61 70 31 09 09 3b 20 43 6c 65 61 72 D.[SI].Flags,NOT.Fwrap1..;.Clear
20b40 20 62 75 66 66 65 72 20 77 72 61 70 20 66 6c 61 67 0d 0a 0d 0a 3b 20 43 61 6c 63 75 6c 61 74 65 .buffer.wrap.flag....;.Calculate
20b60 20 74 68 65 20 68 65 61 64 2c 20 63 79 6c 69 6e 64 65 72 20 61 6e 64 20 73 65 63 74 6f 72 20 6f .the.head,.cylinder.and.sector.o
20b80 66 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 0d 0a 3b 20 66 72 f.the.start.of.the.request..;.fr
20ba0 6f 6d 20 5b 53 49 5d 2e 46 69 72 73 74 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 4d 4f 56 09 41 58 2c om.[SI].First...POP.ES...MOV.AX,
20bc0 5b 53 49 5d 2e 46 69 72 73 74 0d 0a 09 58 4f 52 09 44 58 2c 44 58 0d 0a 09 44 49 56 09 5b 44 49 [SI].First...XOR.DX,DX...DIV.[DI
20be0 5d 2e 42 50 42 74 72 6b 73 69 7a 09 09 3b 20 44 69 76 69 64 65 20 62 79 20 73 65 63 74 6f 72 73 ].BPBtrksiz..;.Divide.by.sectors
20c00 2f 74 72 61 63 6b 0d 0a 3b 3b 09 49 4e 43 09 44 4c 0d 0a 09 4d 4f 56 09 5b 53 49 5d 2e 53 65 63 /track..;;.INC.DL...MOV.[SI].Sec
20c20 74 6f 72 2c 44 4c 09 09 3b 20 53 65 74 20 73 65 63 74 6f 72 20 74 6f 20 73 74 61 72 74 20 61 74 tor,DL..;.Set.sector.to.start.at
20c40 0d 0a 09 58 4f 52 09 44 58 2c 44 58 0d 0a 09 44 49 56 09 5b 44 49 5d 2e 42 50 42 6e 68 65 61 64 ...XOR.DX,DX...DIV.[DI].BPBnhead
20c60 09 09 3b 20 44 69 76 69 64 65 20 62 79 20 6e 75 6d 62 65 72 20 6f 66 20 68 65 61 64 73 0d 0a 09 ..;.Divide.by.number.of.heads...
20c80 4d 4f 56 09 5b 53 49 5d 2e 48 65 61 64 2c 44 4c 09 09 3b 20 53 65 74 20 68 65 61 64 20 6e 75 6d MOV.[SI].Head,DL..;.Set.head.num
20ca0 62 65 72 0d 0a 09 4d 4f 56 09 5b 53 49 5d 2e 43 79 6c 2c 41 58 09 09 3b 20 53 65 74 20 63 79 6c ber...MOV.[SI].Cyl,AX..;.Set.cyl
20cc0 69 6e 05 0e 01 09 02 01 02 03 04 05 06 07 08 09 01 64 65 72 20 6e 75 6d 62 65 72 0d 0a 09 64 65 in...............der.number...de
20ce0 62 75 67 09 38 2c 34 2c 3c 43 79 6c 20 24 64 20 20 48 64 20 24 62 20 20 53 65 63 20 24 62 09 3e bug.8,4,<Cyl.$d..Hd.$b..Sec.$b.>
20d00 2c 3c 61 78 2c 64 78 2c 3c 77 6f 72 64 20 70 74 72 20 5b 53 49 5d 2e 53 65 63 74 6f 72 3e 3e 0d ,<ax,dx,<word.ptr.[SI].Sector>>.
20d20 0a 3b 0d 0a 3b 20 4e 6f 77 20 73 65 65 20 68 6f 77 20 6d 61 6e 79 20 73 65 63 74 6f 72 73 20 6f .;..;.Now.see.how.many.sectors.o
20d40 66 20 72 65 71 75 65 73 74 20 63 61 6e 20 62 65 20 64 6f 6e 65 2e 20 20 54 68 65 20 66 6c 6f 70 f.request.can.be.done...The.flop
20d60 70 79 0d 0a 3b 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 77 69 6c 6c 20 6e 6f 74 20 61 64 76 61 6e 63 py..;.controller.will.not.advanc
20d80 65 20 74 72 61 63 6b 73 2c 20 62 75 74 20 77 69 6c 6c 20 61 6c 6c 6f 77 20 72 65 61 64 69 6e 67 e.tracks,.but.will.allow.reading
20da0 20 6f 72 0d 0a 3b 20 77 72 69 74 69 6e 67 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 65 63 .or..;.writing.the.remaining.sec
20dc0 74 6f 72 73 20 6f 6e 20 74 68 65 20 74 72 61 63 6b 2e 0d 0a 3b 0d 0a 09 4d 4f 56 09 41 58 2c 5b tors.on.the.track...;...MOV.AX,[
20de0 44 49 5d 2e 42 50 42 74 72 6b 73 69 7a 0d 0a 09 53 55 42 09 41 4c 2c 5b 53 49 5d 2e 53 65 63 74 DI].BPBtrksiz...SUB.AL,[SI].Sect
20e00 6f 72 09 09 3b 20 41 4c 20 3d 20 23 20 6f 66 20 73 65 63 74 6f 72 73 20 6c 65 66 74 20 6f 6e 0d or..;.AL.=.#.of.sectors.left.on.
20e20 0a 09 09 09 09 09 3b 20 74 72 61 63 6b 20 61 66 74 65 72 20 64 65 73 69 72 65 64 2e 0d 0a 09 58 ......;.track.after.desired....X
20e40 4f 52 09 41 48 2c 41 48 0d 0a 3b 3b 09 69 6e 63 09 61 78 0d 0a 09 43 4d 50 09 41 58 2c 5b 53 49 OR.AH,AH..;;.inc.ax...CMP.AX,[SI
20e60 5d 2e 43 6f 75 6e 74 09 09 3b 20 49 73 20 77 68 6f 6c 65 20 72 65 71 75 65 73 74 20 6f 6e 20 74 ].Count..;.Is.whole.request.on.t
20e80 68 69 73 20 63 79 6c 3f 0d 0a 09 4a 42 09 6d 61 70 73 32 09 09 3b 20 4e 6f 2c 20 63 61 6e 20 6f his.cyl?...JB.maps2..;.No,.can.o
20ea0 6e 6c 79 20 64 6f 20 77 68 61 74 20 69 73 20 6c 65 66 74 0d 0a 09 4d 4f 56 09 41 58 2c 5b 53 49 nly.do.what.is.left...MOV.AX,[SI
20ec0 5d 2e 43 6f 75 6e 74 09 09 3b 20 59 65 73 2c 20 75 01 73 65 20 74 68 65 20 61 63 74 75 61 6c 20 ].Count..;.Yes,.u.se.the.actual.
20ee0 23 20 77 61 6e 74 65 64 0d 0a 6d 61 70 73 32 3a 0d 0a 09 4d 4f 56 09 5b 53 49 5d 2e 4e 75 6d 73 #.wanted..maps2:...MOV.[SI].Nums
20f00 65 63 74 6f 72 73 2c 41 58 09 3b 20 53 65 74 20 6e 75 6d 62 65 72 20 74 6f 20 64 6f 20 74 68 69 ectors,AX.;.Set.number.to.do.thi
20f20 73 20 74 69 6d 65 0d 0a 3b 0d 0a 3b 20 4e 6f 77 20 68 61 76 65 20 74 6f 20 6e 6f 72 6d 61 6c 69 s.time..;..;.Now.have.to.normali
20f40 7a 65 20 6f 66 66 73 65 74 20 28 61 64 64 20 69 6e 20 70 61 72 61 67 72 61 70 68 29 20 61 6e 64 ze.offset.(add.in.paragraph).and
20f60 20 74 68 65 6e 20 73 65 65 20 69 66 20 61 64 64 69 6e 67 0d 0a 3b 20 5b 53 49 5d 2e 4e 75 6d 73 .then.see.if.adding..;.[SI].Nums
20f80 65 63 74 6f 72 73 20 63 61 75 73 65 73 20 6f 76 65 72 66 6c 6f 77 2e 20 20 49 66 20 69 74 20 64 ectors.causes.overflow...If.it.d
20fa0 6f 65 73 2c 20 44 4d 41 20 77 69 6c 6c 20 74 72 61 73 68 20 6d 65 6d 6f 72 79 2c 20 73 6f 0d 0a oes,.DMA.will.trash.memory,.so..
20fc0 3b 20 64 65 63 72 65 6d 65 6e 74 20 4e 75 6d 73 65 63 74 6f 72 73 20 61 6e 64 20 6c 6f 6f 70 2e ;.decrement.Numsectors.and.loop.
20fe0 0d 0a 3b 0d 0a 09 4d 4f 56 09 41 58 2c 57 4f 52 44 20 50 54 52 28 5b 53 49 5d 2e 41 64 64 72 2b ..;...MOV.AX,WORD.PTR([SI].Addr+
21000 32 29 0d 0a 09 4d 4f 56 09 43 4c 2c 34 0d 0a 09 53 48 4c 09 41 58 2c 43 4c 09 09 09 3b 20 43 6f 2)...MOV.CL,4...SHL.AX,CL...;.Co
21020 6e 76 65 72 74 20 70 61 72 61 20 74 6f 20 6f 66 66 73 65 74 0d 0a 09 41 44 44 09 41 58 2c 57 4f nvert.para.to.offset...ADD.AX,WO
21040 52 44 20 50 54 52 20 5b 53 49 5d 2e 41 64 64 72 09 3b 20 41 64 64 20 69 6e 20 6f 66 66 73 65 74 RD.PTR.[SI].Addr.;.Add.in.offset
21060 0d 0a 09 4d 4f 56 09 43 58 2c 41 58 09 09 09 3b 20 53 61 76 65 20 6f 66 66 73 65 74 20 6f 66 20 ...MOV.CX,AX...;.Save.offset.of.
21080 62 75 66 66 65 72 0d 0a 6d 61 70 73 34 3a 0d 0a 09 4d 4f 56 09 41 58 2c 5b 44 49 5d 2e 42 50 42 buffer..maps4:...MOV.AX,[DI].BPB
210a0 73 65 63 73 69 7a 0d 0a 09 4d 55 4c 09 5b 53 49 5d 2e 4e 75 6d 53 65 63 74 6f 72 73 09 09 3b 20 secsiz...MUL.[SI].NumSectors..;.
210c0 47 65 74 20 23 20 62 79 74 65 73 20 69 6e 20 74 72 61 01 6e 73 66 65 72 0d 0a 09 4d 4f 56 09 5b Get.#.bytes.in.tra.nsfer...MOV.[
210e0 53 49 5d 2e 4e 75 6d 42 79 74 65 73 2c 41 58 09 3b 20 53 65 74 20 23 20 62 79 74 65 73 20 69 6e SI].NumBytes,AX.;.Set.#.bytes.in
21100 76 6f 6c 76 65 64 0d 0a 09 41 44 44 09 41 58 2c 43 58 09 09 09 3b 20 47 65 74 20 66 69 6e 61 6c volved...ADD.AX,CX...;.Get.final
21120 20 6f 66 66 73 65 74 0d 0a 09 4a 41 45 09 6d 61 70 73 36 09 09 09 3b 20 4e 6f 20 6f 76 65 72 66 .offset...JAE.maps6...;.No.overf
21140 6c 6f 77 2c 20 44 4d 41 20 77 69 6c 6c 20 62 65 20 6f 6b 0d 0a 09 4f 52 09 5b 53 49 5d 2e 46 6c low,.DMA.will.be.ok...OR.[SI].Fl
21160 61 67 73 2c 46 77 72 61 70 32 09 3b 20 46 6c 61 67 20 77 65 20 77 69 6c 6c 20 62 65 20 75 73 69 ags,Fwrap2.;.Flag.we.will.be.usi
21180 6e 67 20 73 63 72 61 74 63 68 0d 0a 09 44 45 43 09 5b 53 49 5d 2e 4e 75 6d 53 65 63 74 6f 72 73 ng.scratch...DEC.[SI].NumSectors
211a0 09 09 3b 20 4f 76 65 72 66 6c 6f 77 2c 20 74 72 79 20 75 73 69 6e 67 20 6f 6e 65 20 6c 65 73 73 ..;.Overflow,.try.using.one.less
211c0 0d 0a 09 4a 4e 5a 09 6d 61 70 73 34 0d 0a 3b 0d 0a 3b 20 49 66 20 77 65 20 67 6f 74 20 68 65 72 ...JNZ.maps4..;..;.If.we.got.her
211e0 65 2c 20 6e 6f 20 73 65 63 74 6f 72 73 20 63 61 6e 20 62 65 20 74 72 61 6e 73 66 65 72 72 65 64 e,.no.sectors.can.be.transferred
21200 20 62 65 66 6f 72 65 20 74 68 65 20 36 34 4b 0d 0a 3b 20 62 6f 75 6e 64 61 72 79 2e 20 20 4f 6e .before.the.64K..;.boundary...On
21220 65 20 73 65 63 74 6f 72 20 6d 75 73 74 20 62 65 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 68 72 e.sector.must.be.transferred.thr
21240 6f 75 67 68 20 61 20 73 63 72 61 74 63 68 20 62 75 66 66 65 72 2e 0d 0a 3b 0d 0a 09 64 65 62 75 ough.a.scratch.buffer...;...debu
21260 67 09 31 32 2c 31 30 68 2c 3c 4d 61 70 53 65 63 74 6f 72 20 24 78 20 24 78 20 3e 2c 3c 61 78 2c g.12,10h,<MapSector.$x.$x.>,<ax,
21280 63 78 3e 0d 0a 09 49 4e 43 09 5b 53 49 5d 2e 4e 75 6d 53 65 63 74 6f 72 73 09 09 3b 20 44 6f 69 cx>...INC.[SI].NumSectors..;.Doi
212a0 6e 67 20 31 20 73 65 63 74 6f 72 20 6f 66 20 49 2f 4f 0d 0a 09 4f 52 09 5b 53 49 5d 2e 46 6c 61 ng.1.sector.of.I/O...OR.[SI].Fla
212c0 67 73 2c 46 77 72 61 70 31 09 3b 20 46 6c 61 67 20 77 65 01 20 61 72 65 20 75 73 69 6e 67 20 73 gs,Fwrap1.;.Flag.we..are.using.s
212e0 63 72 61 74 63 68 0d 0a 09 4d 4f 56 09 41 58 2c 43 53 0d 0a 09 4d 4f 56 09 44 49 2c 4f 46 46 53 cratch...MOV.AX,CS...MOV.DI,OFFS
21300 45 54 20 53 63 72 61 74 63 68 42 75 66 66 65 72 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 28 ET.ScratchBuffer...MOV.WORD.PTR(
21320 5b 53 49 5d 2e 41 64 64 72 29 2c 44 49 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 28 5b 53 49 [SI].Addr),DI...MOV.WORD.PTR([SI
21340 5d 2e 41 64 64 72 2b 32 29 2c 41 58 20 20 3b 20 43 68 61 6e 67 65 20 62 75 66 66 65 72 20 74 6f ].Addr+2),AX..;.Change.buffer.to
21360 20 73 63 72 61 74 63 68 0d 0a 09 54 45 53 54 09 5b 53 49 5d 2e 46 6c 61 67 73 2c 46 77 72 69 74 .scratch...TEST.[SI].Flags,Fwrit
21380 65 09 3b 20 44 6f 69 6e 67 20 61 20 77 72 69 74 65 3f 0d 0a 09 4a 45 09 6d 61 70 73 36 09 09 09 e.;.Doing.a.write?...JE.maps6...
213a0 3b 20 4e 6f 2c 20 41 6c 6c 20 64 6f 6e 65 0d 0a 09 50 55 53 48 09 45 53 0d 0a 09 50 55 53 48 09 ;.No,.All.done...PUSH.ES...PUSH.
213c0 44 53 0d 0a 09 50 55 53 48 09 53 49 0d 0a 09 4d 4f 56 09 45 53 2c 41 58 09 09 09 3b 20 45 53 3a DS...PUSH.SI...MOV.ES,AX...;.ES:
213e0 44 49 20 3d 20 73 63 72 61 74 63 68 20 62 75 66 66 65 72 0d 0a 09 6d 6f 76 09 63 78 2c 5b 53 49 DI.=.scratch.buffer...mov.cx,[SI
21400 5d 2e 4e 75 6d 42 79 74 65 73 0d 0a 09 4c 44 53 09 53 49 2c 5b 53 49 5d 2e 52 65 61 6c 41 64 64 ].NumBytes...LDS.SI,[SI].RealAdd
21420 72 09 3b 20 44 53 3a 53 49 20 3d 20 44 61 74 61 20 62 75 66 66 65 72 0d 0a 09 43 4c 44 0d 0a 52 r.;.DS:SI.=.Data.buffer...CLD..R
21440 45 50 09 4d 4f 56 53 42 09 09 09 09 3b 20 43 6f 70 79 20 74 68 65 20 77 72 69 74 65 20 62 75 66 EP.MOVSB....;.Copy.the.write.buf
21460 66 65 72 0d 0a 09 50 4f 50 09 53 49 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 50 4f 50 09 45 53 0d 0a fer...POP.SI...POP.DS...POP.ES..
21480 6d 61 70 73 36 3a 0d 0a 09 52 45 54 0d 0a 4d 61 70 53 65 63 74 6f 72 09 45 4e 44 50 0d 0a 0d 0a maps6:...RET..MapSector.ENDP....
214a0 0d 0a 0d 0a 0d 0a 3b 2a 2a 2a 09 44 4d 41 73 65 74 75 70 20 2d 20 53 65 74 20 74 68 65 20 44 4d ......;***.DMAsetup.-.Set.the.DM
214c0 41 20 63 68 61 6e 6e 65 6c 20 75 70 20 74 6f 20 64 6f 20 74 01 68 65 20 49 2f 4f 0d 0a 3b 0d 0a A.channel.up.to.do.t.he.I/O..;..
214e0 3b 09 45 4e 54 52 59 09 41 4c 20 3d 20 44 4d 41 20 6d 6f 64 65 0d 0a 3b 09 09 41 48 20 3d 20 44 ;.ENTRY.AL.=.DMA.mode..;..AH.=.D
21500 4d 41 20 63 68 61 6e 6e 65 6c 20 6e 75 6d 62 65 72 20 28 32 20 6f 72 20 33 20 6f 6e 6c 79 29 0d MA.channel.number.(2.or.3.only).
21520 0a 3b 09 09 53 49 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 64 65 76 69 63 65 20 70 61 72 61 6d .;..SI.=.pointer.to.device.param
21540 65 74 65 72 73 0d 0a 3b 09 55 53 45 53 09 41 58 2c 43 58 2c 44 58 0d 0a 3b 0d 0a 0d 0a 44 4d 41 eters..;.USES.AX,CX,DX..;....DMA
21560 73 65 74 75 70 09 50 52 4f 43 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 58 43 48 47 09 41 48 2c 41 setup.PROC...PUSH.AX...XCHG.AH,A
21580 4c 0d 0a 09 4f 52 09 41 4c 2c 34 0d 0a 09 4f 55 54 09 50 44 4d 41 2b 31 30 2c 41 4c 09 09 3b 20 L...OR.AL,4...OUT.PDMA+10,AL..;.
215a0 73 65 74 20 63 68 61 6e 6e 65 6c 27 73 20 6d 61 73 6b 20 62 69 74 0d 0a 09 4f 55 54 09 50 44 4d set.channel's.mask.bit...OUT.PDM
215c0 41 2b 31 32 2c 41 4c 09 09 3b 20 63 6c 65 61 72 20 62 79 74 65 20 70 6f 69 6e 74 65 72 20 46 2f A+12,AL..;.clear.byte.pointer.F/
215e0 46 0d 0a 09 70 6f 70 09 61 78 0d 0a 09 70 75 73 68 09 61 78 09 09 09 3b 20 72 65 73 74 6f 72 65 F...pop.ax...push.ax...;.restore
21600 20 41 48 2c 20 41 4c 0d 0a 09 4f 52 09 41 4c 2c 41 48 09 09 09 3b 20 61 64 64 20 63 68 61 6e 6e .AH,.AL...OR.AL,AH...;.add.chann
21620 65 6c 20 6e 75 6d 62 65 72 20 74 6f 20 63 6f 6d 6d 61 6e 64 0d 0a 09 4f 55 54 09 50 44 4d 41 2b el.number.to.command...OUT.PDMA+
21640 31 31 2c 41 4c 09 09 3b 20 53 65 74 20 44 4d 41 20 6d 6f 64 65 0d 0a 09 4d 4f 56 09 44 58 2c 50 11,AL..;.Set.DMA.mode...MOV.DX,P
21660 44 4d 41 0d 0a 09 52 4f 4c 09 41 48 2c 31 0d 0a 09 41 44 44 09 44 4c 2c 41 48 0d 0a 09 4d 4f 56 DMA...ROL.AH,1...ADD.DL,AH...MOV
21680 09 41 58 2c 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2e 41 64 64 72 2b 32 20 3b 20 47 65 74 20 73 .AX,WORD.PTR.[SI].Addr+2.;.Get.s
216a0 65 67 6d 65 6e 74 20 6f 66 20 61 64 64 72 0d 0a 09 4d 4f 56 09 43 4c 2c 34 0d 0a 09 52 4f 4c 09 egment.of.addr...MOV.CL,4...ROL.
216c0 41 58 2c 43 4c 09 09 09 3b 20 43 6f 6e 76 65 72 74 20 70 61 72 01 61 20 74 6f 20 62 79 74 65 73 AX,CL...;.Convert.par.a.to.bytes
216e0 0d 0a 09 4d 4f 56 09 43 48 2c 41 4c 09 09 09 3b 20 43 48 20 3d 20 34 20 62 69 74 73 20 52 4f 4c ...MOV.CH,AL...;.CH.=.4.bits.ROL
21700 65 64 20 61 72 6f 75 6e 64 0d 0a 09 41 4e 44 09 41 4c 2c 30 46 30 48 09 09 09 3b 20 4c 6f 73 65 ed.around...AND.AL,0F0H...;.Lose
21720 20 68 69 67 68 20 62 69 74 73 20 72 6f 74 61 74 65 64 20 61 72 6f 75 6e 64 0d 0a 09 41 44 44 09 .high.bits.rotated.around...ADD.
21740 41 58 2c 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2e 41 64 64 72 09 3b 20 41 64 64 20 69 6e 20 6f AX,WORD.PTR.[SI].Addr.;.Add.in.o
21760 66 66 73 65 74 20 76 61 6c 75 65 0d 0a 09 41 44 43 09 43 48 2c 30 09 09 09 3b 20 41 64 64 20 69 ffset.value...ADC.CH,0...;.Add.i
21780 6e 20 61 6e 79 20 63 61 72 72 79 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 09 09 3b 20 4f 75 74 70 n.any.carry...OUT.DX,AL...;.Outp
217a0 75 74 20 6c 6f 77 20 62 79 74 65 20 6f 66 20 61 64 64 72 65 73 73 0d 0a 09 4d 4f 56 09 41 4c 2c ut.low.byte.of.address...MOV.AL,
217c0 41 48 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 09 09 3b 20 4f 75 74 70 75 74 20 68 69 67 68 20 62 AH...OUT.DX,AL...;.Output.high.b
217e0 79 74 65 20 6f 66 20 61 64 64 72 65 73 73 0d 0a 09 69 6e 63 09 64 78 09 09 09 3b 20 61 64 64 72 yte.of.address...inc.dx...;.addr
21800 65 73 73 20 60 77 6f 72 64 27 20 63 6f 75 6e 74 20 72 65 67 69 73 74 65 72 0d 0a 09 4d 4f 56 09 ess.`word'.count.register...MOV.
21820 41 58 2c 5b 53 49 5d 2e 4e 75 6d 42 79 74 65 73 09 3b 20 23 20 62 79 74 65 73 20 69 6e 20 72 65 AX,[SI].NumBytes.;.#.bytes.in.re
21840 71 75 65 73 74 0d 0a 09 64 65 63 09 61 78 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 0d 0a 09 4d 4f 56 quest...dec.ax...OUT.DX,AL...MOV
21860 09 41 4c 2c 41 48 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 09 09 3b 20 54 65 6c 6c 20 44 4d 41 20 .AL,AH...OUT.DX,AL...;.Tell.DMA.
21880 68 6f 77 20 6d 61 6e 79 20 62 79 74 65 73 0d 0a 09 70 6f 70 09 61 78 09 09 09 3b 20 67 65 74 20 how.many.bytes...pop.ax...;.get.
218a0 62 61 63 6b 20 63 68 61 6e 6e 65 6c 20 6e 75 6d 62 65 72 0d 0a 09 6d 6f 76 09 64 6c 2c 50 44 4d back.channel.number...mov.dl,PDM
218c0 41 58 0d 0a 09 61 64 64 09 64 6c 2c 61 68 0d 0a 09 4d 4f 56 09 41 01 4c 2c 43 48 0d 0a 09 41 4e AX...add.dl,ah...MOV.A.L,CH...AN
218e0 44 09 41 4c 2c 30 46 48 09 09 09 3b 20 4f 6e 6c 79 20 34 20 62 69 74 73 20 61 72 65 20 67 6f 6f D.AL,0FH...;.Only.4.bits.are.goo
21900 64 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 09 09 3b 20 4f 75 74 70 75 74 20 68 69 67 68 65 73 74 d...OUT.DX,AL...;.Output.highest
21920 20 34 20 62 69 74 73 20 6f 66 20 61 64 64 72 65 73 73 0d 0a 09 4d 4f 56 09 41 4c 2c 41 48 09 09 .4.bits.of.address...MOV.AL,AH..
21940 09 3b 20 43 68 61 6e 6e 65 6c 20 74 6f 20 73 74 61 72 74 0d 0a 09 4f 55 54 09 50 44 4d 41 2b 31 .;.Channel.to.start...OUT.PDMA+1
21960 30 2c 41 4c 09 09 3b 20 43 6c 65 61 72 20 63 68 61 6e 6e 65 6c 27 73 20 6d 61 73 6b 20 62 69 74 0,AL..;.Clear.channel's.mask.bit
21980 0d 0a 09 52 45 54 0d 0a 44 4d 41 73 65 74 75 70 09 45 4e 44 50 0d 0a 0d 0a 3b 2a 2a 2a 09 44 6f ...RET..DMAsetup.ENDP....;***.Do
219a0 6e 65 52 65 71 75 65 73 74 20 2d 20 4d 61 72 6b 20 61 20 72 65 71 75 65 73 74 20 63 6f 6d 70 6c neRequest.-.Mark.a.request.compl
219c0 65 74 65 2c 20 73 65 74 75 70 20 74 6f 20 73 74 61 72 74 20 6e 65 78 74 20 6f 6e 65 0d 0a 3b 0d ete,.setup.to.start.next.one..;.
219e0 0a 3b 09 44 6f 6e 65 52 65 71 75 65 73 74 20 64 6f 65 73 20 63 6f 6d 6d 6f 6e 20 70 72 6f 63 65 .;.DoneRequest.does.common.proce
21a00 73 73 69 6e 67 20 6e 65 65 64 65 64 20 77 68 65 6e 20 61 20 72 65 71 75 65 73 74 0d 0a 3b 09 68 ssing.needed.when.a.request..;.h
21a20 61 73 20 62 65 65 6e 20 63 6f 6d 70 6c 65 74 65 64 2e 20 20 49 74 20 77 69 6c 6c 20 72 65 73 65 as.been.completed...It.will.rese
21a40 74 20 74 68 65 20 64 65 76 69 63 65 20 73 74 61 74 65 2c 0d 0a 3b 09 64 65 71 75 65 75 65 20 74 t.the.device.state,..;.dequeue.t
21a60 68 65 20 72 65 71 75 65 73 74 2c 20 6d 61 72 6b 20 69 74 20 63 6f 6d 70 6c 65 74 65 2c 20 72 65 he.request,.mark.it.complete,.re
21a80 73 74 61 72 74 20 74 68 65 0d 0a 3b 09 70 72 6f 63 65 73 73 20 61 6e 64 20 72 65 73 74 61 72 74 start.the..;.process.and.restart
21aa0 20 61 6e 79 20 70 72 6f 63 65 73 73 20 77 61 69 74 69 6e 67 20 6f 6e 20 53 63 72 61 74 63 68 42 .any.process.waiting.on.ScratchB
21ac0 75 66 66 65 72 0d 0a 3b 09 69 66 20 74 68 69 73 20 72 65 71 75 65 73 01 74 20 68 61 64 20 72 65 uffer..;.if.this.reques.t.had.re
21ae0 73 65 72 76 65 64 20 69 74 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 53 49 09 50 6f 69 6e 74 65 served.it...;..;.ENTRY.SI.Pointe
21b00 72 20 74 6f 20 68 65 61 64 20 6f 66 20 71 75 65 75 65 0d 0a 3b 09 09 44 49 09 50 6f 69 6e 74 65 r.to.head.of.queue..;..DI.Pointe
21b20 72 20 74 6f 20 64 65 76 69 63 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0d 0a 3b 09 45 58 49 54 09 r.to.device.information..;.EXIT.
21b40 45 53 3a 42 58 09 4e 65 78 74 20 72 65 71 75 65 73 74 0d 0a 3b 09 55 53 45 53 09 41 58 2c 42 58 ES:BX.Next.request..;.USES.AX,BX
21b60 2c 44 58 2c 42 50 2c 45 53 0d 0a 0d 0a 0d 0a 44 6f 6e 65 52 65 71 75 65 73 74 09 50 52 4f 43 0d ,DX,BP,ES......DoneRequest.PROC.
21b80 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 41 53 53 55 4d 45 09 64 ..push.cs...pop.ds......ASSUME.d
21ba0 73 3a 42 69 6f 73 53 65 67 0d 0a 09 4d 4f 56 09 5b 44 49 5d 2e 45 72 72 43 6e 74 2c 30 09 09 3b s:BiosSeg...MOV.[DI].ErrCnt,0..;
21bc0 20 52 65 73 65 74 20 65 72 72 6f 72 20 63 6f 75 6e 74 0d 0a 09 4d 4f 56 09 5b 44 49 5d 2e 53 74 .Reset.error.count...MOV.[DI].St
21be0 61 74 65 2c 49 64 6c 65 09 09 3b 20 41 73 73 75 6d 65 20 77 69 6c 6c 20 62 65 20 69 64 6c 65 0d ate,Idle..;.Assume.will.be.idle.
21c00 0a 09 4d 4f 56 09 44 58 2c 50 75 6c 6c 52 65 71 75 65 73 74 0d 0a 09 43 41 4c 4c 09 44 6f 73 46 ..MOV.DX,PullRequest...CALL.DosF
21c20 75 6e 63 74 69 6f 6e 09 09 3b 20 50 75 6c 6c 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 71 75 unction..;.Pull.the.current.requ
21c40 65 73 74 20 6f 75 74 0d 0a 09 4a 5a 09 64 6e 72 71 32 09 09 09 3b 20 4e 6f 74 68 69 6e 67 20 72 est.out...JZ.dnrq2...;.Nothing.r
21c60 65 61 6c 6c 79 20 63 6f 6d 70 6c 65 74 65 64 0d 0a 09 4d 4f 56 09 41 58 2c 5b 44 49 5d 2e 43 6f eally.completed...MOV.AX,[DI].Co
21c80 75 6e 74 09 09 3b 20 47 65 74 20 49 2f 4f 20 6c 65 66 74 20 74 6f 20 64 6f 0d 0a 09 53 55 42 09 unt..;.Get.I/O.left.to.do...SUB.
21ca0 45 53 3a 5b 42 58 5d 2e 52 71 43 6f 75 6e 74 2c 41 58 09 3b 20 41 64 6a 75 73 74 20 72 65 71 75 ES:[BX].RqCount,AX.;.Adjust.requ
21cc0 65 73 74 65 64 20 63 6f 75 6e 74 20 62 79 20 72 65 73 69 64 75 61 6c 0d 01 0a 09 4f 52 09 45 53 ested.count.by.residual....OR.ES
21ce0 3a 5b 42 58 5d 2e 52 71 53 74 61 74 75 73 2c 30 31 30 30 68 09 3b 20 73 65 74 20 64 6f 6e 65 20 :[BX].RqStatus,0100h.;.set.done.
21d00 62 69 74 0d 0a 09 4d 4f 56 09 41 58 2c 45 53 09 09 09 3b 20 41 58 3a 42 58 20 3d 20 52 65 71 75 bit...MOV.AX,ES...;.AX:BX.=.Requ
21d20 65 73 74 20 63 6f 6d 70 6c 65 74 65 64 0d 0a 09 4d 4f 56 09 44 58 2c 43 6f 6e 74 69 6e 75 65 50 est.completed...MOV.DX,ContinueP
21d40 72 6f 63 65 73 73 0d 0a 09 43 41 4c 4c 09 44 6f 73 46 75 6e 63 74 69 6f 6e 09 09 3b 20 4d 61 6b rocess...CALL.DosFunction..;.Mak
21d60 65 20 70 72 6f 63 65 73 73 20 72 75 6e 20 61 67 61 69 6e 0d 0a 09 43 4d 50 09 57 4f 52 44 20 50 e.process.run.again...CMP.WORD.P
21d80 54 52 20 5b 53 49 5d 2b 32 2c 30 09 3b 20 49 73 20 74 68 65 72 65 20 61 6e 6f 74 68 65 72 20 72 TR.[SI]+2,0.;.Is.there.another.r
21da0 65 71 75 65 73 74 20 74 6f 20 64 6f 3f 0d 0a 09 4a 5a 09 64 6e 72 71 32 09 09 09 3b 20 4e 6f 2c equest.to.do?...JZ.dnrq2...;.No,
21dc0 20 6c 65 74 20 64 65 76 69 63 65 20 73 68 75 74 20 64 6f 77 6e 0d 0a 09 4d 4f 56 09 5b 44 49 5d .let.device.shut.down...MOV.[DI]
21de0 2e 53 74 61 74 65 2c 53 74 61 72 74 09 3b 20 59 65 73 2c 20 73 74 61 72 74 20 75 70 20 6e 65 78 .State,Start.;.Yes,.start.up.nex
21e00 74 20 72 65 71 75 65 73 74 0d 0a 64 6e 72 71 32 3a 0d 0a 09 74 65 73 74 09 5b 44 49 5d 2e 46 6c t.request..dnrq2:...test.[DI].Fl
21e20 61 67 73 2c 46 77 72 61 70 32 09 3b 20 68 61 64 20 74 68 69 73 20 72 65 71 75 65 73 74 20 75 73 ags,Fwrap2.;.had.this.request.us
21e40 65 64 20 53 63 72 61 74 63 68 42 75 66 66 65 72 3f 0d 0a 09 6a 7a 09 64 6e 72 71 34 09 09 09 3b ed.ScratchBuffer?...jz.dnrq4...;
21e60 20 6e 6f 0d 0a 09 53 65 6d 53 69 67 09 53 63 72 61 74 63 68 42 75 66 53 65 6d 09 09 3b 20 6c 65 .no...SemSig.ScratchBufSem..;.le
21e80 74 20 61 6e 79 6f 6e 65 20 77 61 69 74 69 6e 67 20 70 72 6f 63 65 65 64 0d 0a 09 61 6e 64 09 5b t.anyone.waiting.proceed...and.[
21ea0 44 49 5d 2e 46 6c 61 67 73 2c 4e 4f 54 20 46 77 72 61 70 32 0d 0a 64 6e 72 71 34 3a 09 09 09 09 DI].Flags,NOT.Fwrap2..dnrq4:....
21ec0 09 3b 20 49 66 20 62 6f 74 68 20 74 68 65 20 66 69 78 65 64 20 61 6e 64 20 05 0f 00 09 02 01 02 .;.If.both.the.fixed.and........
21ee0 03 04 05 06 07 08 09 01 66 6c 6f 70 70 79 20 64 72 69 76 65 72 73 0d 0a 09 70 75 73 68 09 62 78 ........floppy.drivers...push.bx
21f00 09 09 09 3b 20 20 61 72 65 20 69 64 6c 65 2c 20 72 65 73 65 74 20 74 68 65 20 62 75 73 79 20 66 ...;..are.idle,.reset.the.busy.f
21f20 6c 61 67 20 61 6e 64 0d 0a 09 63 6d 70 09 46 6c 6f 70 70 79 2e 53 74 61 74 65 2c 49 64 6c 65 09 lag.and...cmp.Floppy.State,Idle.
21f40 3b 20 20 63 6f 6e 74 69 6e 75 65 20 61 6e 79 20 70 72 6f 63 65 73 73 65 73 20 74 68 61 74 20 77 ;..continue.any.processes.that.w
21f60 65 72 65 0d 0a 09 6a 6e 65 09 64 6e 72 71 35 09 09 09 3b 20 20 77 61 69 74 69 6e 67 20 66 6f 72 ere...jne.dnrq5...;..waiting.for
21f80 20 69 74 2e 0d 0a 09 63 6d 70 09 46 69 78 65 64 2e 53 74 61 74 65 2c 49 64 6c 65 0d 0a 09 6a 6e .it....cmp.Fixed.State,Idle...jn
21fa0 65 09 64 6e 72 71 35 0d 0a 09 6d 6f 76 09 53 65 6d 44 69 73 6b 49 4f 2c 30 0d 0a 09 6d 6f 76 09 e.dnrq5...mov.SemDiskIO,0...mov.
21fc0 61 78 2c 64 73 0d 0a 09 6d 6f 76 09 62 78 2c 6f 66 66 73 65 74 20 53 65 6d 44 69 73 6b 49 4f 0d ax,ds...mov.bx,offset.SemDiskIO.
21fe0 0a 09 6d 6f 76 09 64 78 2c 43 6f 6e 74 69 6e 75 65 50 72 6f 63 65 73 73 0d 0a 09 63 61 6c 6c 09 ..mov.dx,ContinueProcess...call.
22000 44 6f 73 46 75 6e 63 74 69 6f 6e 0d 0a 64 6e 72 71 35 3a 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 72 DosFunction..dnrq5:...pop.bx...r
22020 65 74 0d 0a 44 6f 6e 65 52 65 71 75 65 73 74 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 09 46 44 47 65 et..DoneRequest.ENDP......;.FDGe
22040 74 42 50 42 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 6c tBPB.returns.a.pointer.to.the.fl
22060 6f 70 70 79 20 64 69 73 6b 20 42 50 42 20 66 6f 72 20 74 68 65 0d 0a 3b 20 20 73 65 6c 65 63 74 oppy.disk.BPB.for.the..;..select
22080 65 64 20 6d 65 64 69 61 20 62 79 74 65 2e 09 20 54 68 65 20 42 50 42 20 63 6f 6e 74 61 69 6e 73 ed.media.byte...The.BPB.contains
220a0 20 76 61 72 69 6f 75 73 20 64 72 69 76 65 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 3b 20 20 73 75 .various.drive.parameters..;..su
220c0 63 68 20 61 73 20 70 68 79 73 69 63 61 6c 20 64 69 73 6b 20 64 69 6d 65 6e 73 69 6f 6e 73 20 61 ch.as.physical.disk.dimensions.a
220e0 6e 64 20 74 68 65 20 73 01 69 7a 65 20 6f 66 20 46 41 54 73 20 61 6e 64 20 74 68 65 0d 0a 3b 20 nd.the.s.ize.of.FATs.and.the..;.
22100 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 2e 0d 0a 3b 0d 0a 3b 20 20 49 6e 70 75 74 3a 09 41 .root.directory...;..;..Input:.A
22120 48 20 3d 09 4d 65 64 69 61 20 62 79 74 65 0d 0a 3b 09 09 41 4c 20 3d 09 44 72 69 76 65 20 6e 75 H.=.Media.byte..;..AL.=.Drive.nu
22140 6d 62 65 72 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 4e 6f 6e 65 0d 0a 3b 20 20 4f 75 74 70 mber..;..Destroys:.None..;..Outp
22160 75 74 3a 09 43 53 3a 44 49 20 3d 20 50 6f 69 6e 74 65 72 20 74 6f 20 42 50 42 0d 0a 0d 0a 09 41 ut:.CS:DI.=.Pointer.to.BPB.....A
22180 53 53 55 4d 45 09 44 53 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 46 SSUME.DS:NOTHING,ES:NOTHING....F
221a0 44 47 65 74 42 50 42 09 50 52 4f 43 0d 0a 0d 0a 09 50 55 53 48 09 41 58 0d 0a 09 50 55 53 48 09 DGetBPB.PROC.....PUSH.AX...PUSH.
221c0 42 58 0d 0a 09 50 55 53 48 09 43 58 0d 0a 09 50 55 53 48 09 44 58 09 09 09 3b 20 53 61 76 65 20 BX...PUSH.CX...PUSH.DX...;.Save.
221e0 72 65 67 73 0d 0a 09 4d 4f 56 09 43 4c 2c 41 48 09 09 09 3b 20 43 6f 70 79 20 6d 65 64 69 61 20 regs...MOV.CL,AH...;.Copy.media.
22200 76 61 6c 75 65 0d 0a 09 41 4e 44 09 43 4c 2c 30 46 38 48 09 09 09 3b 20 4c 6f 6f 6b 20 61 74 20 value...AND.CL,0F8H...;.Look.at.
22220 6a 75 73 74 20 74 6f 70 20 35 20 62 69 74 73 0d 0a 09 43 4d 50 09 43 4c 2c 30 46 38 48 09 09 09 just.top.5.bits...CMP.CL,0F8H...
22240 3b 20 56 61 6c 69 64 20 6d 65 64 69 61 20 62 79 74 65 3f 0d 0a 09 4a 45 09 42 50 42 47 6f 6f 64 ;.Valid.media.byte?...JE.BPBGood
22260 09 09 09 3b 20 59 65 73 0d 0a 09 4d 4f 56 09 41 48 2c 30 46 45 48 09 09 09 3b 20 4e 6f 2c 20 6d ...;.Yes...MOV.AH,0FEH...;.No,.m
22280 61 6b 65 20 69 74 20 38 20 73 65 63 74 6f 72 20 31 20 73 69 64 65 64 0d 0a 42 50 42 67 6f 6f 64 ake.it.8.sector.1.sided..BPBgood
222a0 3a 0d 0a 09 4d 4f 56 09 42 4c 2c 41 4c 09 09 09 3b 20 47 65 74 20 70 6f 69 6e 74 65 72 20 74 6f :...MOV.BL,AL...;.Get.pointer.to
222c0 20 70 65 72 20 64 72 69 76 65 20 69 6e 66 6f 2e 0d 0a 09 58 4f 52 09 42 48 2c 42 48 0d 0a 09 41 .per.drive.info....XOR.BH,BH...A
222e0 44 44 09 42 58 2c 42 58 0d 01 0a 09 4d 4f 56 09 44 49 2c 43 53 3a 46 44 69 6e 66 6f 5b 42 58 5d DD.BX,BX....MOV.DI,CS:FDinfo[BX]
22300 0d 0a 09 43 4d 50 09 41 48 2c 43 53 3a 5b 44 49 5d 2e 42 50 42 6d 65 64 69 61 62 09 3b 20 61 6c ...CMP.AH,CS:[DI].BPBmediab.;.al
22320 72 65 61 64 79 20 73 65 74 3f 0d 0a 09 4a 45 09 42 50 42 64 6f 6e 65 09 09 09 3b 20 79 65 73 2c ready.set?...JE.BPBdone...;.yes,
22340 20 64 6f 6e 27 74 20 62 6f 74 68 65 72 20 72 65 62 75 69 6c 64 69 6e 67 0d 0a 09 4d 4f 56 09 41 .don't.bother.rebuilding...MOV.A
22360 4c 2c 31 09 09 09 3b 20 41 73 73 75 6d 65 20 77 69 6c 6c 20 68 61 76 65 20 31 20 46 41 54 20 73 L,1...;.Assume.will.have.1.FAT.s
22380 65 63 74 6f 72 0d 0a 09 4d 4f 56 09 42 58 2c 36 34 2a 32 35 36 2b 38 09 09 3b 20 41 73 73 75 6d ector...MOV.BX,64*256+8..;.Assum
223a0 65 20 23 20 64 69 72 20 3d 20 36 34 2c 20 20 38 20 73 65 63 74 6f 72 0d 0a 09 4d 4f 56 09 43 58 e.#.dir.=.64,..8.sector...MOV.CX
223c0 2c 34 30 2a 38 09 09 09 3b 20 41 73 73 75 6d 65 20 33 32 30 20 73 65 63 74 6f 72 73 2f 64 69 73 ,40*8...;.Assume.320.sectors/dis
223e0 6b 0d 0a 09 4d 4f 56 09 44 58 2c 31 2a 32 35 36 2b 31 09 09 3b 20 41 73 73 75 6d 65 20 31 20 68 k...MOV.DX,1*256+1..;.Assume.1.h
22400 65 61 64 2c 20 31 20 73 65 63 74 6f 72 2f 61 6c 6c 6f 63 61 74 65 0d 0a 09 54 45 53 54 09 41 48 ead,.1.sector/allocate...TEST.AH
22420 2c 32 09 09 09 3b 20 49 73 20 64 72 69 76 65 20 38 20 6f 72 20 39 20 73 65 63 74 6f 72 3f 0d 0a ,2...;.Is.drive.8.or.9.sector?..
22440 09 4a 4e 5a 09 42 50 42 4b 6e 6f 77 53 65 63 74 6f 72 73 09 09 3b 20 49 74 27 73 20 38 2c 20 77 .JNZ.BPBKnowSectors..;.It's.8,.w
22460 65 20 61 73 73 75 6d 65 64 20 72 69 67 68 74 0d 0a 09 49 4e 43 09 41 4c 09 09 09 3b 20 39 20 73 e.assumed.right...INC.AL...;.9.s
22480 65 63 74 6f 72 2c 20 69 6e 63 72 20 23 20 6f 66 20 46 41 54 20 73 65 63 74 6f 72 73 0d 0a 09 49 ector,.incr.#.of.FAT.sectors...I
224a0 4e 43 09 42 4c 09 09 09 3b 20 53 65 74 20 77 65 20 68 61 76 65 20 39 20 73 65 63 74 6f 72 73 2f NC.BL...;.Set.we.have.9.sectors/
224c0 63 79 6c 69 6e 64 65 72 0d 0a 09 41 44 44 09 43 58 2c 34 30 09 09 09 3b 20 49 6e 63 72 65 61 73 cylinder...ADD.CX,40...;.Increas
224e0 65 20 73 69 7a 65 20 74 6f 20 01 33 36 30 20 73 65 63 74 6f 72 73 0d 0a 42 50 42 4b 6e 6f 77 53 e.size.to..360.sectors..BPBKnowS
22500 65 63 74 6f 72 73 3a 0d 0a 09 54 45 53 54 09 41 48 2c 31 09 09 09 3b 20 49 73 20 64 69 73 6b 20 ectors:...TEST.AH,1...;.Is.disk.
22520 64 6f 75 62 6c 65 20 73 69 64 65 64 3f 0d 0a 09 4a 45 09 42 50 42 4b 6e 6f 77 48 65 61 64 73 09 double.sided?...JE.BPBKnowHeads.
22540 09 3b 20 4e 6f 2c 20 77 65 20 67 75 65 73 73 65 64 20 72 69 67 68 74 0d 0a 09 41 44 44 09 43 58 .;.No,.we.guessed.right...ADD.CX
22560 2c 43 58 09 09 09 3b 20 44 6f 75 62 6c 65 20 73 69 7a 65 20 6f 66 20 64 69 73 6b 0d 0a 09 4d 4f ,CX...;.Double.size.of.disk...MO
22580 56 09 42 48 2c 31 31 32 09 09 09 3b 20 49 6e 63 72 65 61 73 65 20 23 20 6f 66 20 64 69 72 65 63 V.BH,112...;.Increase.#.of.direc
225a0 74 6f 72 79 20 65 6e 74 72 69 65 73 0d 0a 09 49 4e 43 09 44 48 09 09 09 3b 20 53 65 74 20 32 20 tory.entries...INC.DH...;.Set.2.
225c0 73 65 63 74 6f 72 73 2f 61 6c 6c 6f 63 61 74 69 6f 6e 20 75 6e 69 74 0d 0a 09 49 4e 43 09 44 4c sectors/allocation.unit...INC.DL
225e0 09 09 09 3b 20 53 65 74 20 32 20 68 65 61 64 73 0d 0a 42 50 42 4b 6e 6f 77 48 65 61 64 73 3a 0d ...;.Set.2.heads..BPBKnowHeads:.
22600 0a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d 2e 42 50 42 73 65 63 70 61 75 2c 44 48 09 09 3b 20 53 65 ..MOV.CS:[DI].BPBsecpau,DH..;.Se
22620 74 20 73 65 63 74 6f 72 73 2f 61 6c 6c 6f 63 61 74 69 6f 6e 20 75 6e 69 74 0d 0a 09 4d 4f 56 09 t.sectors/allocation.unit...MOV.
22640 42 59 54 45 20 50 54 52 20 43 53 3a 5b 44 49 5d 2e 42 50 42 6e 64 69 72 2c 42 48 09 3b 20 53 65 BYTE.PTR.CS:[DI].BPBndir,BH.;.Se
22660 74 20 23 20 6f 66 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 0d 0a 09 4d 4f 56 09 43 t.#.of.directory.entries...MOV.C
22680 53 3a 5b 44 49 5d 2e 42 50 42 6e 73 65 63 2c 43 58 09 09 3b 20 53 65 74 20 73 69 7a 65 20 6f 66 S:[DI].BPBnsec,CX..;.Set.size.of
226a0 20 64 69 73 6b 20 69 6e 20 73 65 63 74 6f 72 73 0d 0a 09 4d 4f 56 09 43 53 3a 5b 44 49 5d 2e 42 .disk.in.sectors...MOV.CS:[DI].B
226c0 50 42 6d 65 64 69 61 62 2c 41 48 09 09 3b 20 53 65 74 20 6d 65 64 69 61 20 62 79 74 65 0d 0a 09 PBmediab,AH..;.Set.media.byte...
226e0 4d 4f 56 09 42 59 54 45 20 50 54 01 52 20 43 53 3a 5b 44 49 5d 2e 42 50 42 6e 66 61 74 73 65 63 MOV.BYTE.PT.R.CS:[DI].BPBnfatsec
22700 2c 41 4c 09 3b 20 53 65 74 20 6e 75 6d 62 65 72 20 6f 66 20 46 41 54 20 73 65 63 74 6f 72 73 0d ,AL.;.Set.number.of.FAT.sectors.
22720 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 43 53 3a 5b 44 49 5d 2e 42 50 42 74 72 6b 73 69 7a ..MOV.BYTE.PTR.CS:[DI].BPBtrksiz
22740 2c 42 4c 09 3b 20 53 65 74 20 73 65 63 74 6f 72 73 2f 74 72 61 63 6b 0d 0a 09 4d 4f 56 09 42 59 ,BL.;.Set.sectors/track...MOV.BY
22760 54 45 20 50 54 52 20 43 53 3a 5b 44 49 5d 2e 42 50 42 6e 68 65 61 64 2c 44 4c 09 3b 20 53 65 74 TE.PTR.CS:[DI].BPBnhead,DL.;.Set
22780 20 23 20 6f 66 20 68 65 61 64 73 0d 0a 42 50 42 64 6f 6e 65 3a 0d 0a 09 50 4f 50 09 44 58 0d 0a .#.of.heads..BPBdone:...POP.DX..
227a0 09 50 4f 50 09 43 58 0d 0a 09 50 4f 50 09 42 58 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 52 45 54 0d .POP.CX...POP.BX...POP.AX...RET.
227c0 0a 46 44 47 65 74 42 50 42 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 09 48 44 47 65 74 42 50 42 20 72 .FDGetBPB.ENDP......;.HDGetBPB.r
227e0 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 68 61 72 64 20 64 69 73 eturns.a.pointer.to.the.hard.dis
22800 6b 20 42 50 42 20 66 6f 72 20 74 68 65 0d 0a 3b 20 20 73 65 6c 65 63 74 65 64 20 75 6e 69 74 2e k.BPB.for.the..;..selected.unit.
22820 20 20 54 68 65 20 42 50 42 20 63 6f 6e 74 61 69 6e 73 20 76 61 72 69 6f 75 73 20 64 72 69 76 65 ..The.BPB.contains.various.drive
22840 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 3b 20 20 73 75 63 68 20 61 73 20 70 68 79 73 69 63 61 6c .parameters..;..such.as.physical
22860 20 64 69 73 6b 20 64 69 6d 65 6e 73 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 .disk.dimensions.and.the.size.of
22880 20 46 41 54 73 20 61 6e 64 20 74 68 65 0d 0a 3b 20 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 .FATs.and.the..;..root.directory
228a0 2e 0d 0a 3b 0d 0a 3b 20 20 49 6e 70 75 74 3a 09 41 4c 20 3d 09 44 72 69 76 65 20 6e 75 6d 62 65 ...;..;..Input:.AL.=.Drive.numbe
228c0 72 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 4e 6f 6e 65 0d 0a 3b 20 20 4f 75 74 70 75 74 3a r..;..Destroys:.None..;..Output:
228e0 09 43 53 3a 44 49 20 3d 20 50 6f 69 01 6e 74 65 72 20 74 6f 20 42 50 42 0d 0a 0d 0a 09 41 53 53 .CS:DI.=.Poi.nter.to.BPB.....ASS
22900 55 4d 45 09 44 53 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 48 44 47 UME.DS:NOTHING,ES:NOTHING....HDG
22920 65 74 42 50 42 09 50 52 4f 43 0d 0a 09 50 55 53 48 09 42 58 0d 0a 09 4d 4f 56 09 42 4c 2c 41 4c etBPB.PROC...PUSH.BX...MOV.BL,AL
22940 09 09 09 3b 20 47 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 65 72 20 64 72 69 76 65 20 69 6e ...;.Get.pointer.to.per.drive.in
22960 66 6f 2e 0d 0a 09 58 4f 52 09 42 48 2c 42 48 0d 0a 09 41 44 44 09 42 58 2c 42 58 0d 0a 09 4d 4f fo....XOR.BH,BH...ADD.BX,BX...MO
22980 56 09 44 49 2c 43 53 3a 48 44 69 6e 66 6f 5b 42 58 5d 0d 0a 09 50 4f 50 09 42 58 0d 0a 09 52 45 V.DI,CS:HDinfo[BX]...POP.BX...RE
229a0 54 0d 0a 48 44 47 65 74 42 50 42 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 09 41 53 53 55 4d 45 09 44 53 T..HDGetBPB.ENDP.......ASSUME.DS
229c0 3a 4e 4f 54 48 49 4e 47 2c 45 53 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 42 6c 6f 63 6b 49 66 4c 6f :NOTHING,ES:NOTHING....BlockIfLo
229e0 63 6b 65 64 09 50 72 6f 63 09 4e 65 61 72 09 09 3b 20 42 6c 6f 63 6b 20 74 68 65 20 63 75 72 72 cked.Proc.Near..;.Block.the.curr
22a00 65 6e 74 20 70 72 6f 63 65 73 73 20 69 66 20 69 74 20 68 61 73 0d 0a 09 70 75 73 68 66 09 09 09 ent.process.if.it.has...pushf...
22a20 09 3b 20 20 62 65 65 6e 20 6c 6f 63 6b 65 64 20 6f 75 74 20 62 79 20 61 6e 20 49 6e 74 20 31 33 .;..been.locked.out.by.an.Int.13
22a40 20 72 65 71 75 65 73 74 2e 0d 0a 62 69 66 6c 31 3a 09 63 6c 69 09 09 09 09 3b 20 20 4f 74 68 65 .request...bifl1:.cli....;..Othe
22a60 72 77 69 73 65 2c 20 73 65 74 20 74 68 65 20 62 75 73 79 20 66 6c 61 67 20 74 6f 20 62 6c 6f 63 rwise,.set.the.busy.flag.to.bloc
22a80 6b 0d 0a 09 63 6d 70 09 53 65 6d 49 6e 74 31 33 2c 30 09 09 3b 20 20 6f 75 74 20 49 6e 74 20 31 k...cmp.SemInt13,0..;..out.Int.1
22aa0 33 20 72 65 71 75 65 73 74 73 2e 0d 0a 09 6a 7a 09 62 69 66 6c 32 0d 0a 09 70 75 73 68 09 64 78 3.requests....jz.bifl2...push.dx
22ac0 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 61 78 0d 0a ...push.cx...push.bx...push.ax..
22ae0 09 6d 6f 76 09 61 78 2c 63 73 0d 0a 09 01 6d 6f 76 09 62 78 2c 6f 66 66 73 65 74 20 53 65 6d 49 .mov.ax,cs....mov.bx,offset.SemI
22b00 6e 74 31 33 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 6d 6f 76 09 64 78 2c 42 6c 6f 63 6b 50 nt13...xor.cx,cx...mov.dx,BlockP
22b20 72 6f 63 65 73 73 0d 0a 09 63 61 6c 6c 09 44 6f 73 46 75 6e 63 74 69 6f 6e 0d 0a 09 70 6f 70 09 rocess...call.DosFunction...pop.
22b40 61 78 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 70 6f 70 09 64 78 0d 0a 09 ax...pop.bx...pop.cx...pop.dx...
22b60 6a 6d 70 09 62 69 66 6c 31 0d 0a 62 69 66 6c 32 3a 0d 0a 09 6d 6f 76 09 53 65 6d 44 69 73 6b 49 jmp.bifl1..bifl2:...mov.SemDiskI
22b80 4f 2c 31 0d 0a 09 70 6f 70 66 0d 0a 09 72 65 74 0d 0a 42 6c 6f 63 6b 49 66 4c 6f 63 6b 65 64 09 O,1...popf...ret..BlockIfLocked.
22ba0 65 6e 64 70 0d 0a 0d 0a 53 55 42 54 54 4c 09 52 6f 75 74 69 6e 65 73 20 74 68 61 74 20 69 6e 74 endp....SUBTTL.Routines.that.int
22bc0 65 72 66 61 63 65 20 74 6f 20 68 61 72 64 20 64 69 73 6b 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a erface.to.hard.disk.controller..
22be0 50 41 47 45 09 2b 0d 0a 0d 0a 3b 2a 2a 2a 09 48 44 43 6f 6d 6d 61 6e 64 20 2d 20 73 65 6e 64 20 PAGE.+....;***.HDCommand.-.send.
22c00 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 68 61 72 64 20 64 69 73 6b 20 63 6f 6e 74 72 a.command.to.the.hard.disk.contr
22c20 6f 6c 6c 65 72 0d 0a 3b 0d 0a 3b 09 48 44 43 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 73 65 6e 64 20 oller..;..;.HDCommand.will.send.
22c40 74 68 65 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 75 70 20 63 6f 6d 6d 61 6e 64 20 62 6c the.previously.set.up.command.bl
22c60 6f 63 6b 0d 0a 3b 09 74 6f 20 74 68 65 20 68 61 72 64 20 64 69 73 6b 20 63 6f 6e 74 72 6f 6c 6c ock..;.to.the.hard.disk.controll
22c80 65 72 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 41 4c 20 3d 20 76 61 6c 75 65 20 74 6f 20 62 65 er...;..;.ENTRY.AL.=.value.to.be
22ca0 20 70 75 74 20 69 6e 20 69 6e 74 65 72 72 75 70 74 2f 44 4d 41 20 6d 61 73 6b 0d 0a 3b 09 45 58 .put.in.interrupt/DMA.mask..;.EX
22cc0 49 54 09 41 4c 20 3d 20 73 74 61 74 75 73 20 70 6f 72 74 20 76 61 6c 75 65 0d 0a 3b 09 55 53 45 IT.AL.=.status.port.value..;.USE
22ce0 53 09 41 58 2c 43 58 2c 44 58 2c 53 49 0d 01 0a 0d 0a 48 44 43 6f 6d 6d 61 6e 64 09 50 52 4f 43 S.AX,CX,DX,SI.....HDCommand.PROC
22d00 0d 0a 09 6d 6f 76 09 64 78 2c 48 44 5f 50 53 45 4c 09 09 3b 20 70 6f 69 6e 74 20 74 6f 20 73 65 ...mov.dx,HD_PSEL..;.point.to.se
22d20 6c 65 63 74 20 70 6f 72 74 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 3b 3b 09 6d 6f 76 09 63 78 lect.port...out.dx,al..;;.mov.cx
22d40 2c 31 30 09 09 09 3b 42 55 47 42 55 47 20 2d 20 74 69 6d 69 6e 67 20 70 72 6f 62 2e 20 77 2f 20 ,10...;BUGBUG.-.timing.prob..w/.
22d60 65 78 70 61 6e 73 69 6f 6e 20 62 6f 78 3f 0d 0a 3b 3b 68 64 63 6f 6d 30 3a 20 6c 6f 6f 70 09 68 expansion.box?..;;hdcom0:.loop.h
22d80 64 63 6f 6d 30 09 09 09 3b 42 55 47 42 55 47 20 2d 20 74 69 6d 69 6e 67 20 70 72 6f 62 2e 20 77 dcom0...;BUGBUG.-.timing.prob..w
22da0 2f 20 65 78 70 61 6e 73 69 6f 6e 20 62 6f 78 3f 0d 0a 09 69 6e 63 09 64 78 09 09 09 3b 20 70 6f /.expansion.box?...inc.dx...;.po
22dc0 69 6e 74 20 74 6f 20 6d 61 73 6b 20 70 6f 72 74 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 09 6d int.to.mask.port...out.dx,al...m
22de0 6f 76 09 64 78 2c 48 44 5f 50 53 54 41 54 0d 0a 68 64 63 6f 6d 31 3a 20 69 6e 09 61 6c 2c 64 78 ov.dx,HD_PSTAT..hdcom1:.in.al,dx
22e00 09 09 09 3b 20 67 65 74 20 73 74 61 74 75 73 0d 0a 09 61 6e 64 09 61 6c 2c 30 46 48 0d 0a 09 63 ...;.get.status...and.al,0FH...c
22e20 6d 70 09 61 6c 2c 30 44 48 09 09 09 3b 20 74 65 73 74 20 66 6f 72 20 62 75 73 79 2c 20 63 6f 6d mp.al,0DH...;.test.for.busy,.com
22e40 6d 61 6e 64 2f 64 61 74 61 2c 20 72 65 71 75 65 73 74 0d 0a 09 6a 6e 7a 09 68 64 63 6f 6d 31 0d mand/data,.request...jnz.hdcom1.
22e60 0a 09 6d 6f 76 09 73 69 2c 4f 46 46 53 45 54 20 46 69 78 65 64 2e 44 43 42 0d 0a 09 6d 6f 76 09 ..mov.si,OFFSET.Fixed.DCB...mov.
22e80 63 78 2c 36 0d 0a 09 63 6c 64 0d 0a 09 64 65 63 09 64 78 09 09 09 3b 20 70 6f 69 6e 74 20 74 6f cx,6...cld...dec.dx...;.point.to
22ea0 20 64 61 74 61 20 70 6f 72 74 0d 0a 68 64 63 6f 6d 32 3a 20 6c 6f 64 73 62 0d 0a 09 6f 75 74 09 .data.port..hdcom2:.lodsb...out.
22ec0 64 78 2c 61 6c 0d 0a 09 6c 6f 6f 70 09 68 64 63 6f 6d 32 0d 0a 09 69 6e 63 09 64 78 0d 0a 3b 3b dx,al...loop.hdcom2...inc.dx..;;
22ee0 09 6d 6f 76 09 63 78 2c 31 30 09 09 09 3b 42 01 55 47 42 55 47 20 2d 20 74 69 6d 69 6e 67 20 70 .mov.cx,10...;B.UGBUG.-.timing.p
22f00 72 6f 62 2e 20 77 2f 20 65 78 70 61 6e 73 69 6f 6e 20 62 6f 78 3f 0d 0a 3b 3b 68 64 63 6f 6d 33 rob..w/.expansion.box?..;;hdcom3
22f20 3a 20 6c 6f 6f 70 09 68 64 63 6f 6d 33 09 09 09 3b 42 55 47 42 55 47 20 2d 20 74 69 6d 69 6e 67 :.loop.hdcom3...;BUGBUG.-.timing
22f40 20 70 72 6f 62 2e 20 77 2f 20 65 78 70 61 6e 73 69 6f 6e 20 62 6f 78 3f 0d 0a 09 69 6e 09 61 6c .prob..w/.expansion.box?...in.al
22f60 2c 64 78 0d 0a 09 72 65 74 0d 0a 48 44 43 6f 6d 6d 61 6e 64 09 45 4e 44 50 0d 0a 0d 0a 3b 2a 2a ,dx...ret..HDCommand.ENDP....;**
22f80 2a 09 48 44 57 61 69 74 52 65 71 20 2d 20 77 61 69 74 20 66 6f 72 20 72 65 71 75 65 73 74 20 62 *.HDWaitReq.-.wait.for.request.b
22fa0 69 74 20 69 6e 20 73 74 61 74 75 73 20 72 65 67 69 73 74 65 72 0d 0a 3b 0d 0a 3b 09 48 44 57 61 it.in.status.register..;..;.HDWa
22fc0 69 74 52 65 71 20 77 69 6c 6c 20 70 61 75 73 65 20 75 6e 74 69 6c 20 74 68 65 20 72 65 71 75 65 itReq.will.pause.until.the.reque
22fe0 73 74 20 62 69 74 20 69 6e 20 74 68 65 20 68 61 72 64 20 64 69 73 6b 0d 0a 3b 09 73 74 61 74 75 st.bit.in.the.hard.disk..;.statu
23000 73 20 72 65 67 69 73 74 65 72 20 69 73 20 73 65 74 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 0d 0a s.register.is.set...;..;.ENTRY..
23020 3b 09 45 58 49 54 09 41 4c 20 3d 20 73 74 61 74 75 73 20 62 79 74 65 0d 0a 3b 09 55 53 45 53 09 ;.EXIT.AL.=.status.byte..;.USES.
23040 41 58 2c 44 58 0d 0a 0d 0a 48 44 57 61 69 74 52 65 71 09 50 52 4f 43 0d 0a 09 6d 6f 76 09 64 78 AX,DX....HDWaitReq.PROC...mov.dx
23060 2c 48 44 5f 50 53 54 41 54 0d 0a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 74 65 73 74 09 61 6c 2c 30 ,HD_PSTAT...in.al,dx...test.al,0
23080 31 68 09 09 09 3b 20 72 65 71 75 65 73 74 20 62 69 74 3f 0d 0a 09 6a 7a 09 48 44 57 61 69 74 52 1h...;.request.bit?...jz.HDWaitR
230a0 65 71 0d 0a 09 72 65 74 0d 0a 48 44 57 61 69 74 52 65 71 09 45 4e 44 50 0d 0a 53 55 42 54 54 4c eq...ret..HDWaitReq.ENDP..SUBTTL
230c0 09 52 6f 75 74 69 6e 65 73 20 74 68 61 74 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 66 6c 6f 70 .Routines.that.interface.to.flop
230e0 70 79 20 64 69 73 6b 20 63 6f 6e 74 72 6f 6c 6c 05 0f 01 09 02 01 02 03 04 05 06 07 08 09 01 65 py.disk.controll...............e
23100 72 0d 0a 50 41 47 45 09 2b 0d 0a 0d 0a 3b 2a 2a 2a 09 47 65 74 44 72 69 76 65 50 74 72 20 2d 20 r..PAGE.+....;***.GetDrivePtr.-.
23120 63 6f 6d 70 75 74 65 20 70 74 72 20 74 6f 20 70 65 72 20 64 72 69 76 65 20 69 6e 66 6f 2e 0d 0a compute.ptr.to.per.drive.info...
23140 3b 0d 0a 3b 09 47 65 74 44 72 69 76 65 50 74 72 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 ;..;.GetDrivePtr.returns.a.point
23160 65 72 20 74 6f 20 74 68 65 20 70 65 72 2d 64 72 69 76 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0d er.to.the.per-drive.information.
23180 0a 3b 09 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 72 69 76 65 2e 09 53 68 6f 75 6c 64 .;.for.the.current.drive..Should
231a0 20 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 74 68 65 0d 0a 3b 09 63 75 72 .not.be.called.before.the..;.cur
231c0 72 65 6e 74 20 64 72 69 76 65 20 69 73 20 73 65 74 20 75 70 20 62 79 20 53 65 6c 37 36 35 20 69 rent.drive.is.set.up.by.Sel765.i
231e0 6e 20 73 74 61 74 65 20 43 41 4c 43 2e 0d 0a 3b 0d 0a 3b 09 45 58 49 54 09 42 58 20 3d 20 70 6f n.state.CALC...;..;.EXIT.BX.=.po
23200 69 6e 74 65 72 20 74 6f 20 70 65 72 20 64 72 69 76 65 20 74 61 62 6c 65 0d 0a 3b 09 55 53 45 53 inter.to.per.drive.table..;.USES
23220 09 42 58 0d 0a 0d 0a 47 65 74 44 72 69 76 65 50 74 72 09 50 52 4f 43 0d 0a 09 6d 6f 76 09 62 78 .BX....GetDrivePtr.PROC...mov.bx
23240 2c 63 73 3a 46 6c 6f 70 70 79 2e 43 75 72 72 65 6e 74 0d 0a 09 61 64 64 09 62 78 2c 62 78 0d 0a ,cs:Floppy.Current...add.bx,bx..
23260 09 6d 6f 76 09 62 78 2c 63 73 3a 46 44 69 6e 66 6f 5b 62 78 5d 0d 0a 09 72 65 74 0d 0a 47 65 74 .mov.bx,cs:FDinfo[bx]...ret..Get
23280 44 72 69 76 65 50 74 72 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 09 47 65 74 46 6c 6f 70 70 79 50 61 DrivePtr.ENDP......;.GetFloppyPa
232a0 72 61 6d 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 67 65 74 20 61 20 64 69 73 6b 20 70 61 72 61 ram.is.called.to.get.a.disk.para
232c0 6d 65 74 65 72 20 66 72 6f 6d 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 0d 0a 3b 20 20 62 6c 6f meter.from.the.parameter..;..blo
232e0 63 6b 20 73 65 74 20 75 70 20 62 79 20 74 68 65 20 42 49 4f 53 2e 20 20 54 68 69 73 20 62 6c 01 ck.set.up.by.the.BIOS...This.bl.
23300 6f 63 6b 20 61 6c 6c 6f 77 73 20 64 69 73 6b 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 62 65 ock.allows.disk.parameters.to.be
23320 20 63 68 61 6e 67 65 64 0d 0a 3b 20 20 66 72 6f 6d 20 74 68 65 20 73 74 61 6e 64 61 72 64 2e 0d .changed..;..from.the.standard..
23340 0a 3b 0d 0a 3b 20 20 49 6e 70 75 74 3a 09 41 4c 20 3d 20 70 61 72 61 6d 65 74 65 72 20 64 65 73 .;..;..Input:.AL.=.parameter.des
23360 69 72 65 64 20 28 73 65 65 20 46 6c 6f 70 70 79 50 61 72 61 6d 20 73 74 72 75 63 74 75 72 65 29 ired.(see.FloppyParam.structure)
23380 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 41 58 0d 0a 3b 20 20 4f 75 74 70 75 74 3a 09 41 4c ..;..Destroys:.AX..;..Output:.AL
233a0 20 3d 20 70 61 72 61 6d 65 74 65 72 20 62 79 74 65 20 64 65 73 69 72 65 64 0d 0a 0d 0a 47 65 74 .=.parameter.byte.desired....Get
233c0 46 6c 6f 70 70 79 50 61 72 61 6d 09 50 52 4f 43 0d 0a 09 50 55 53 48 09 44 53 0d 0a 09 50 55 53 FloppyParam.PROC...PUSH.DS...PUS
233e0 48 09 42 58 0d 0a 09 58 4f 52 09 41 48 2c 41 48 0d 0a 09 4d 4f 56 09 42 58 2c 41 58 0d 0a 09 58 H.BX...XOR.AH,AH...MOV.BX,AX...X
23400 4f 52 09 41 58 2c 41 58 0d 0a 09 4d 4f 56 09 44 53 2c 41 58 09 09 09 3b 20 50 6f 69 6e 74 20 74 OR.AX,AX...MOV.DS,AX...;.Point.t
23420 6f 20 49 4e 54 20 61 72 65 61 0d 0a 09 4c 44 53 09 41 58 2c 44 57 4f 52 44 20 50 54 52 20 44 53 o.INT.area...LDS.AX,DWORD.PTR.DS
23440 3a 28 34 2a 31 45 48 29 20 3b 20 47 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 61 72 61 6d 20 :(4*1EH).;.Get.pointer.to.param.
23460 62 6c 6f 63 6b 0d 0a 09 41 44 44 09 42 58 2c 41 58 09 09 09 3b 20 41 64 64 20 69 6e 20 62 6c 6f block...ADD.BX,AX...;.Add.in.blo
23480 63 6b 20 6f 66 66 73 65 74 0d 0a 09 4d 4f 56 09 41 4c 2c 5b 42 58 5d 0d 0a 09 50 4f 50 09 42 58 ck.offset...MOV.AL,[BX]...POP.BX
234a0 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 52 45 54 0d 0a 47 65 74 46 6c 6f 70 70 79 50 61 72 61 6d 09 ...POP.DS...RET..GetFloppyParam.
234c0 45 4e 44 50 0d 0a 0d 0a 0d 0a 0d 0a 3b 09 52 65 63 61 6c 69 62 72 61 74 65 20 74 68 65 20 63 75 ENDP........;.Recalibrate.the.cu
234e0 72 72 65 6e 74 20 64 72 69 76 65 2e 09 43 6c 65 61 72 20 52 65 73 74 6f 72 65 20 66 6c 61 67 2c rrent.drive..Clear.Restore.flag,
23500 01 20 73 65 74 20 63 79 6c 69 6e 64 65 72 20 74 6f 0d 0a 3b 20 20 75 6e 6b 6e 6f 77 6e 20 61 6e ..set.cylinder.to..;..unknown.an
23520 64 20 69 73 73 75 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 63 6f 6e 74 72 6f 6c 6c 65 72 2e 0d 0a d.issue.command.to.controller...
23540 3b 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 41 58 2c 42 58 2c 44 58 0d 0a 3b 0d 0a 0d 0a 52 ;..;..Destroys:.AX,BX,DX..;....R
23560 63 6c 37 36 35 09 50 52 4f 43 0d 0a 09 41 4e 44 09 43 53 3a 5b 42 58 5d 2e 44 72 76 46 6c 61 67 cl765.PROC...AND.CS:[BX].DrvFlag
23580 2c 4e 4f 54 20 46 72 65 73 74 6f 72 09 3b 20 48 61 76 65 20 72 65 73 74 6f 72 65 64 20 64 72 69 ,NOT.Frestor.;.Have.restored.dri
235a0 76 65 0d 0a 09 4d 4f 56 09 43 53 3a 5b 42 58 5d 2e 43 75 72 43 79 6c 2c 2d 31 09 3b 20 46 6c 61 ve...MOV.CS:[BX].CurCyl,-1.;.Fla
235c0 67 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 65 72 65 20 77 65 20 61 72 65 0d 0a 09 4d 4f 56 09 g.don't.know.where.we.are...MOV.
235e0 41 4c 2c 46 44 5f 43 52 45 53 45 54 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 50 AL,FD_CRESET...CALL.Put765...;.P
23600 75 74 20 6f 75 74 20 72 65 73 65 74 20 63 6f 6d 6d 61 6e 64 0d 0a 09 4d 4f 56 09 41 58 2c 46 6c ut.out.reset.command...MOV.AX,Fl
23620 6f 70 70 79 2e 43 75 72 72 65 6e 74 09 3b 20 47 65 74 20 63 75 72 72 65 6e 74 20 64 72 69 76 65 oppy.Current.;.Get.current.drive
23640 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 54 65 6c 6c 20 63 6f 6e 74 72 6f 6c 6c ...CALL.Put765...;.Tell.controll
23660 65 72 20 77 68 69 63 68 20 64 72 69 76 65 0d 0a 09 52 45 54 0d 0a 52 63 6c 37 36 35 09 45 4e 44 er.which.drive...RET..Rcl765.END
23680 50 0d 0a 0d 0a 0d 0a 3b 09 52 65 73 65 74 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 2e 0d 0a P......;.Reset.the.controller...
236a0 3b 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 41 58 2c 43 58 2c 44 58 0d 0a 3b 0d 0a 0d 0a 52 ;..;..Destroys:.AX,CX,DX..;....R
236c0 73 74 37 36 35 09 50 52 4f 43 0d 0a 09 4d 4f 56 09 41 4c 2c 43 53 3a 46 6c 6f 70 70 79 2e 44 4f st765.PROC...MOV.AL,CS:Floppy.DO
236e0 52 0d 0a 09 41 4e 44 09 41 4c 2c 4e 4f 54 28 44 4f 52 6d 61 73 6b 29 0d 0a 09 4d 4f 56 09 44 58 R...AND.AL,NOT(DORmask)...MOV.DX
23700 2c 01 46 44 5f 50 53 45 4c 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 0d 0a 09 4d 4f 56 09 43 58 2c 31 ,.FD_PSEL...OUT.DX,AL...MOV.CX,1
23720 30 30 30 30 0d 0a 52 73 74 44 65 6c 61 79 4c 6f 6f 70 3a 0d 0a 09 6c 6f 6f 70 09 52 73 74 44 65 0000..RstDelayLoop:...loop.RstDe
23740 6c 61 79 4c 6f 6f 70 0d 0a 09 4f 52 09 41 4c 2c 44 4f 52 6d 61 73 6b 0d 0a 09 4d 4f 56 09 43 53 layLoop...OR.AL,DORmask...MOV.CS
23760 3a 46 6c 6f 70 70 79 2e 44 4f 52 2c 41 4c 09 09 3b 20 55 70 64 61 74 65 20 76 61 6c 75 65 0d 0a :Floppy.DOR,AL..;.Update.value..
23780 09 4f 55 54 09 44 58 2c 41 4c 0d 0a 09 52 45 54 0d 0a 52 73 74 37 36 35 09 45 4e 44 50 0d 0a 0d .OUT.DX,AL...RET..Rst765.ENDP...
237a0 0a 0d 0a 3b 09 4c 6f 61 64 20 74 68 65 20 64 72 69 76 65 20 73 70 65 63 73 20 69 6e 74 6f 20 74 ...;.Load.the.drive.specs.into.t
237c0 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 2e 0d 0a 3b 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 he.controller...;..;..Destroys:.
237e0 41 58 2c 44 58 0d 0a 3b 0d 0a 0d 0a 53 70 65 63 37 36 35 20 50 52 4f 43 0d 0a 09 4d 4f 56 09 41 AX,DX..;....Spec765.PROC...MOV.A
23800 4c 2c 46 44 5f 43 53 50 45 43 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 0d 0a 09 4d 4f 56 09 41 L,FD_CSPEC...CALL.Put765...MOV.A
23820 4c 2c 53 70 65 63 31 0d 0a 09 43 41 4c 4c 09 47 65 74 46 6c 6f 70 70 79 50 61 72 61 6d 0d 0a 09 L,Spec1...CALL.GetFloppyParam...
23840 43 41 4c 4c 09 50 75 74 37 36 35 0d 0a 09 4d 4f 56 09 41 4c 2c 53 70 65 63 32 0d 0a 09 43 41 4c CALL.Put765...MOV.AL,Spec2...CAL
23860 4c 09 47 65 74 46 6c 6f 70 70 79 50 61 72 61 6d 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 0d 0a L.GetFloppyParam...CALL.Put765..
23880 09 52 45 54 0d 0a 53 70 65 63 37 36 35 20 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 09 47 65 74 20 74 68 .RET..Spec765.ENDP......;.Get.th
238a0 65 20 69 6e 74 65 72 72 75 70 74 20 73 74 61 74 75 73 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 74 e.interrupt.status.from.the.cont
238c0 72 6f 6c 6c 65 72 20 61 6e 64 20 69 6e 74 6f 20 41 58 0d 0a 3b 0d 0a 3b 20 20 44 65 73 74 72 6f roller.and.into.AX..;..;..Destro
238e0 79 73 3a 09 41 58 2c 43 58 2c 44 58 0d 0a 3b 0d 0a 0d 0a 53 65 6e 73 65 37 36 35 09 50 52 4f 43 ys:.AX,CX,DX..;....Sense765.PROC
23900 0d 0a 01 09 4d 4f 56 09 41 4c 2c 46 44 5f 43 53 45 4e 53 45 09 09 3b 20 47 65 74 20 73 74 61 74 ....MOV.AL,FD_CSENSE..;.Get.stat
23920 75 73 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 0d 0a 09 43 41 4c 4c 09 47 65 74 37 36 35 09 09 us...CALL.Put765...CALL.Get765..
23940 09 3b 20 52 65 61 64 20 53 54 30 0d 0a 09 50 55 53 48 09 41 58 09 09 09 3b 20 53 61 76 65 20 73 .;.Read.ST0...PUSH.AX...;.Save.s
23960 74 61 74 75 73 0d 0a 09 43 41 4c 4c 09 47 65 74 37 36 35 09 09 09 3b 20 52 65 61 64 20 50 43 4e tatus...CALL.Get765...;.Read.PCN
23980 20 28 70 72 65 73 65 6e 74 20 63 79 6c 69 6e 64 65 72 20 6e 75 6d 62 65 72 29 0d 0a 09 50 4f 50 .(present.cylinder.number)...POP
239a0 09 41 58 09 09 09 3b 20 52 65 73 74 6f 72 65 20 73 74 61 74 75 73 0d 0a 09 4d 4f 56 09 43 4c 2c .AX...;.Restore.status...MOV.CL,
239c0 36 0d 0a 09 53 48 52 09 41 4c 2c 43 4c 09 09 09 3b 20 53 68 69 66 74 20 62 69 74 73 20 64 6f 77 6...SHR.AL,CL...;.Shift.bits.dow
239e0 6e 0d 0a 09 41 4e 44 09 41 58 2c 33 09 09 09 3b 20 4c 65 61 76 65 20 6f 6e 6c 79 20 65 72 72 6f n...AND.AX,3...;.Leave.only.erro
23a00 72 20 62 69 74 73 0d 0a 09 52 45 54 0d 0a 53 65 6e 73 65 37 36 35 09 45 4e 44 50 0d 0a 0d 0a 0d r.bits...RET..Sense765.ENDP.....
23a20 0a 3b 09 53 65 6c 65 63 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 72 69 76 65 2e 20 20 52 65 .;.Select.the.current.drive...Re
23a40 74 75 72 6e 20 63 61 72 72 79 20 73 65 74 20 69 66 20 6d 75 73 74 20 77 61 69 74 20 75 6e 74 69 turn.carry.set.if.must.wait.unti
23a60 6c 20 64 72 69 76 65 20 69 73 0d 0a 3b 20 20 72 65 61 64 79 2e 20 46 6c 6f 70 70 79 45 78 65 63 l.drive.is..;..ready..FloppyExec
23a80 75 74 65 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 61 67 61 69 6e 20 77 68 65 6e 20 74 68 ute.will.be.called.again.when.th
23aa0 65 20 64 72 69 76 65 20 69 73 20 72 65 61 64 79 2e 20 20 54 68 65 0d 0a 3b 20 20 63 6f 64 65 20 e.drive.is.ready...The..;..code.
23ac0 6d 75 73 74 20 77 61 69 74 20 65 69 74 68 65 72 20 66 6f 72 20 61 20 6d 6f 74 6f 72 20 73 74 61 must.wait.either.for.a.motor.sta
23ae0 72 74 20 6f 72 20 68 65 61 64 20 6c 6f 61 64 20 64 65 6c 61 79 2c 20 6f 74 68 65 72 77 69 73 65 rt.or.head.load.delay,.otherwise
23b00 20 69 74 01 0d 0a 3b 20 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 63 61 72 72 79 20 63 6c 65 61 .it...;..returns.with.carry.clea
23b20 72 2e 0d 0a 3b 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 41 58 2c 42 58 2c 43 58 2c 44 58 0d r...;..;..Destroys:.AX,BX,CX,DX.
23b40 0a 3b 0d 0a 0d 0a 53 65 6c 37 36 35 09 50 52 4f 43 0d 0a 09 4d 4f 56 09 44 58 2c 46 44 5f 50 53 .;....Sel765.PROC...MOV.DX,FD_PS
23b60 45 4c 09 09 3b 20 73 65 74 20 44 58 20 3d 20 44 69 67 69 74 61 6c 20 4f 75 74 70 75 74 20 52 65 EL..;.set.DX.=.Digital.Output.Re
23b80 67 69 73 74 65 72 0d 0a 09 4d 4f 56 09 43 4c 2c 46 6c 6f 70 70 79 2e 55 6e 69 74 09 09 3b 20 47 gister...MOV.CL,Floppy.Unit..;.G
23ba0 65 74 20 75 6e 69 74 20 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65 0d 0a 09 58 4f 52 09 43 48 2c et.unit.we.want.to.use...XOR.CH,
23bc0 43 48 09 09 09 3b 20 43 58 20 3d 20 77 61 6e 74 65 64 20 75 6e 69 74 0d 0a 09 43 4d 50 09 53 69 CH...;.CX.=.wanted.unit...CMP.Si
23be0 6e 67 6c 65 2c 30 09 09 3b 20 53 69 6e 67 6c 65 20 64 72 69 76 65 20 73 79 73 74 65 6d 3f 0d 0a ngle,0..;.Single.drive.system?..
23c00 09 4a 45 09 53 65 6c 37 36 35 44 6f 75 62 6c 65 09 09 3b 20 4e 6f 2c 20 55 6e 69 74 20 69 73 20 .JE.Sel765Double..;.No,.Unit.is.
23c20 61 63 63 75 72 61 74 65 0d 0a 09 4d 4f 56 09 43 4c 2c 43 48 09 09 09 3b 20 59 65 73 2c 20 74 68 accurate...MOV.CL,CH...;.Yes,.th
23c40 65 72 65 20 69 73 20 6f 6e 6c 79 20 64 72 69 76 65 20 30 0d 0a 53 65 6c 37 36 35 44 6f 75 62 6c ere.is.only.drive.0..Sel765Doubl
23c60 65 3a 0d 0a 09 43 4d 50 09 43 58 2c 46 6c 6f 70 70 79 2e 43 75 72 72 65 6e 74 09 3b 20 57 61 6e e:...CMP.CX,Floppy.Current.;.Wan
23c80 74 65 64 20 73 61 6d 65 20 61 73 20 63 75 72 72 65 6e 74 3f 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 ted.same.as.current?...MOV.Flopp
23ca0 79 2e 43 75 72 72 65 6e 74 2c 43 58 09 3b 20 53 65 74 20 6e 65 77 20 63 75 72 72 65 6e 74 20 75 y.Current,CX.;.Set.new.current.u
23cc0 6e 69 74 0d 0a 09 4a 4e 45 09 53 65 6c 65 63 74 55 6e 69 74 09 09 3b 20 4e 6f 2c 20 6d 75 73 74 nit...JNE.SelectUnit..;.No,.must
23ce0 20 73 65 6c 65 63 74 20 6e 65 77 20 64 72 69 76 65 0d 0a 09 41 44 44 09 43 4c 2c 34 0d 0a 09 4d .select.new.drive...ADD.CL,4...M
23d00 4f 56 09 41 01 4c 2c 31 0d 0a 09 53 48 4c 09 41 4c 2c 43 4c 09 09 09 3b 20 41 4c 20 3d 20 42 69 OV.A.L,1...SHL.AL,CL...;.AL.=.Bi
23d20 74 20 66 6f 72 20 64 72 69 76 65 27 73 20 6d 6f 74 6f 72 20 6f 6e 0d 0a 09 54 45 53 54 09 41 4c t.for.drive's.motor.on...TEST.AL
23d40 2c 46 6c 6f 70 70 79 2e 44 4f 52 09 09 3b 20 49 73 20 74 68 65 20 64 72 69 76 65 27 73 20 6d 6f ,Floppy.DOR..;.Is.the.drive's.mo
23d60 74 6f 72 20 73 74 69 6c 6c 20 6f 6e 3f 0d 0a 09 4a 45 09 53 65 6c 65 63 74 55 6e 69 74 09 09 3b tor.still.on?...JE.SelectUnit..;
23d80 20 4e 6f 2c 20 6d 75 73 74 20 74 75 72 6e 20 69 74 20 62 61 63 6b 20 6f 6e 0d 0a 09 4d 4f 56 09 .No,.must.turn.it.back.on...MOV.
23da0 41 4c 2c 46 6c 6f 70 70 79 2e 44 4f 52 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 09 09 3b 20 3f 20 AL,Floppy.DOR...OUT.DX,AL...;.?.
23dc0 46 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 20 6f 75 74 70 75 74 20 76 61 6c 75 65 20 61 67 61 For.some.reason.output.value.aga
23de0 69 6e 0d 0a 09 43 4c 43 09 09 09 09 3b 20 43 6c 65 61 72 20 63 61 72 72 79 2c 20 64 6f 6e 27 74 in...CLC....;.Clear.carry,.don't
23e00 20 68 61 76 65 20 74 6f 20 77 61 69 74 0d 0a 09 52 45 54 0d 0a 0d 0a 53 65 6c 65 63 74 55 6e 69 .have.to.wait...RET....SelectUni
23e20 74 3a 0d 0a 09 4d 4f 56 09 41 4c 2c 4e 4f 54 28 33 29 09 09 3b 20 44 72 69 76 65 20 73 65 6c 65 t:...MOV.AL,NOT(3)..;.Drive.sele
23e40 63 74 20 69 73 20 6c 6f 77 20 32 20 62 69 74 73 0d 0a 09 41 4e 44 09 41 4c 2c 46 6c 6f 70 70 79 ct.is.low.2.bits...AND.AL,Floppy
23e60 2e 44 4f 52 09 09 3b 20 4c 6f 73 65 20 6f 6c 64 20 73 65 6c 65 63 74 20 62 69 74 73 0d 0a 09 4f .DOR..;.Lose.old.select.bits...O
23e80 52 09 41 4c 2c 44 4f 52 6d 61 73 6b 0d 0a 09 4d 4f 56 09 43 4c 2c 42 59 54 45 20 50 54 52 20 46 R.AL,DORmask...MOV.CL,BYTE.PTR.F
23ea0 6c 6f 70 70 79 2e 43 75 72 72 65 6e 74 20 3b 20 67 65 74 20 75 6e 69 74 20 6e 75 6d 62 65 72 0d loppy.Current.;.get.unit.number.
23ec0 0a 09 4f 52 09 41 4c 2c 43 4c 09 09 09 3b 20 50 75 74 20 69 6e 20 6e 65 77 20 73 65 6c 65 63 74 ..OR.AL,CL...;.Put.in.new.select
23ee0 20 62 69 74 73 0d 0a 09 4d 4f 56 09 46 6c 6f 70 70 79 2e 44 4f 52 2c 41 4c 09 09 3b 20 53 61 76 .bits...MOV.Floppy.DOR,AL..;.Sav
23f00 65 20 6e 65 77 01 20 62 69 74 73 0d 0a 09 41 44 44 09 43 4c 2c 34 0d 0a 09 4d 4f 56 09 41 4c 2c e.new..bits...ADD.CL,4...MOV.AL,
23f20 31 0d 0a 09 53 48 4c 09 41 4c 2c 43 4c 09 09 09 3b 20 47 65 74 20 62 69 74 20 66 6f 72 20 6d 6f 1...SHL.AL,CL...;.Get.bit.for.mo
23f40 74 6f 72 20 69 73 20 6f 6e 0d 0a 09 54 45 53 54 09 41 4c 2c 46 6c 6f 70 70 79 2e 44 4f 52 09 09 tor.is.on...TEST.AL,Floppy.DOR..
23f60 3b 20 49 73 20 64 72 69 76 65 27 73 20 6d 6f 74 6f 72 20 6f 6e 3f 0d 0a 09 4a 45 09 53 65 6c 65 ;.Is.drive's.motor.on?...JE.Sele
23f80 63 74 53 74 61 72 74 4d 6f 74 6f 72 09 3b 20 4e 6f 2c 20 6d 75 73 74 20 73 74 61 72 74 20 6d 6f ctStartMotor.;.No,.must.start.mo
23fa0 74 6f 72 0d 0a 09 4d 4f 56 09 41 4c 2c 46 6c 6f 70 70 79 2e 44 4f 52 0d 0a 09 4f 55 54 09 44 58 tor...MOV.AL,Floppy.DOR...OUT.DX
23fc0 2c 41 4c 09 09 09 3b 20 4c 6f 61 64 20 74 68 65 20 68 65 61 64 0d 0a 09 4d 4f 56 09 41 58 2c 44 ,AL...;.Load.the.head...MOV.AX,D
23fe0 65 6c 61 79 4c 6f 61 64 09 09 3b 20 4c 6f 61 64 20 68 65 61 64 20 64 65 6c 61 79 0d 0a 09 43 41 elayLoad..;.Load.head.delay...CA
24000 4c 4c 09 53 65 74 54 69 6d 65 72 31 0d 0a 09 52 45 54 0d 0a 0d 0a 53 65 6c 65 63 74 53 74 61 72 LL.SetTimer1...RET....SelectStar
24020 74 4d 6f 74 6f 72 3a 0d 0a 09 4f 52 09 46 6c 6f 70 70 79 2e 44 4f 52 2c 41 4c 09 09 3b 20 41 64 tMotor:...OR.Floppy.DOR,AL..;.Ad
24040 64 20 69 6e 20 6d 6f 74 6f 72 20 73 74 61 72 74 20 62 69 74 0d 0a 09 4d 4f 56 09 41 4c 2c 46 6c d.in.motor.start.bit...MOV.AL,Fl
24060 6f 70 70 79 2e 44 4f 52 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 09 09 3b 20 53 74 61 72 74 20 74 oppy.DOR...OUT.DX,AL...;.Start.t
24080 68 65 20 6d 6f 74 6f 72 0d 0a 09 4d 4f 56 09 41 4c 2c 44 65 6c 61 79 4d 6f 74 6f 72 0d 0a 09 43 he.motor...MOV.AL,DelayMotor...C
240a0 41 4c 4c 09 47 65 74 46 6c 6f 70 70 79 50 61 72 61 6d 09 09 3b 20 47 65 74 20 74 68 65 20 70 72 ALL.GetFloppyParam..;.Get.the.pr
240c0 6f 70 65 72 20 64 65 6c 61 79 20 74 69 6d 65 20 69 6e 20 31 2f 38 20 73 65 63 0d 0a 09 6d 6f 76 oper.delay.time.in.1/8.sec...mov
240e0 09 63 6c 2c 31 32 35 0d 0a 09 6d 75 6c 09 63 6c 09 09 09 3b 20 63 6f 6e 76 65 72 74 20 74 6f 20 .cl,125...mul.cl...;.convert.to.
24100 6d 69 6c 6c 69 73 01 65 63 6f 6e 64 73 0d 0a 09 43 41 4c 4c 09 53 65 74 54 69 6d 65 72 31 09 09 millis.econds...CALL.SetTimer1..
24120 3b 20 53 65 74 20 74 69 6d 65 72 20 66 6f 72 20 6d 6f 74 6f 72 20 73 74 61 72 74 75 70 0d 0a 09 ;.Set.timer.for.motor.startup...
24140 52 45 54 0d 0a 53 65 6c 37 36 35 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 09 53 65 65 6b 20 74 6f 20 RET..Sel765.ENDP......;.Seek.to.
24160 74 68 65 20 63 6f 72 72 65 63 74 20 63 79 6c 69 6e 64 65 72 2e 20 20 53 65 74 20 63 61 72 72 79 the.correct.cylinder...Set.carry
24180 20 69 66 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 66 6f 72 20 6f 70 65 72 61 74 69 6f 6e 0d 0a .if.have.to.wait.for.operation..
241a0 3b 20 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 28 77 65 20 61 72 65 20 6e 6f 74 20 6f 6e 20 72 69 ;..to.complete.(we.are.not.on.ri
241c0 67 68 74 20 63 79 6c 69 6e 64 65 72 29 2e 0d 0a 3b 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 ght.cylinder)...;..;..Destroys:.
241e0 41 58 2c 42 58 2c 44 58 0d 0a 3b 0d 0a 0d 0a 53 65 65 6b 37 36 35 20 50 52 4f 43 0d 0a 09 4d 4f AX,BX,DX..;....Seek765.PROC...MO
24200 56 09 41 58 2c 46 6c 6f 70 70 79 2e 43 79 6c 09 09 3b 20 47 65 74 20 63 79 6c 69 6e 64 65 72 20 V.AX,Floppy.Cyl..;.Get.cylinder.
24220 77 61 6e 74 65 64 0d 0a 09 43 4d 50 09 41 58 2c 43 53 3a 5b 42 58 5d 2e 43 75 72 43 79 6c 09 3b wanted...CMP.AX,CS:[BX].CurCyl.;
24240 20 41 6c 72 65 61 64 79 20 6f 6e 20 63 79 6c 69 6e 64 65 72 3f 0d 0a 09 4a 45 09 53 65 65 6b 44 .Already.on.cylinder?...JE.SeekD
24260 6f 6e 65 09 09 3b 20 59 65 73 2c 20 72 65 74 75 72 6e 20 77 69 74 68 20 63 61 72 72 79 20 63 6c one..;.Yes,.return.with.carry.cl
24280 65 61 72 0d 0a 09 4d 4f 56 09 43 53 3a 5b 42 58 5d 2e 43 75 72 43 79 6c 2c 41 58 09 3b 20 53 65 ear...MOV.CS:[BX].CurCyl,AX.;.Se
242a0 74 20 74 68 65 20 6e 65 77 20 63 75 72 72 65 6e 74 20 63 79 6c 69 6e 64 65 72 0d 0a 09 4d 4f 56 t.the.new.current.cylinder...MOV
242c0 09 41 4c 2c 46 44 5f 43 53 45 45 4b 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 53 .AL,FD_CSEEK...CALL.Put765...;.S
242e0 65 65 6b 20 63 6f 6d 6d 61 6e 64 0d 0a 09 4d 4f 56 09 41 4c 2c 46 6c 6f 70 70 79 2e 48 65 61 64 eek.command...MOV.AL,Floppy.Head
24300 09 09 3b 20 47 65 74 05 10 00 09 02 01 02 03 04 05 06 07 08 09 01 20 68 65 61 64 20 64 65 73 69 ..;.Get................head.desi
24320 72 65 64 0d 0a 09 53 48 4c 09 41 4c 2c 31 0d 0a 09 53 48 4c 09 41 4c 2c 31 09 09 09 3b 20 4d 6f red...SHL.AL,1...SHL.AL,1...;.Mo
24340 76 65 20 68 65 61 64 20 23 20 32 20 62 69 74 73 20 6c 65 66 74 0d 0a 09 41 44 44 09 41 4c 2c 42 ve.head.#.2.bits.left...ADD.AL,B
24360 59 54 45 20 50 54 52 20 46 6c 6f 70 70 79 2e 43 75 72 72 65 6e 74 09 3b 20 4c 6f 77 20 32 20 62 YTE.PTR.Floppy.Current.;.Low.2.b
24380 69 74 73 20 61 72 65 20 75 6e 69 74 20 28 68 68 75 75 29 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 its.are.unit.(hhuu)...CALL.Put76
243a0 35 09 09 09 3b 20 50 75 74 20 6f 75 74 20 64 72 69 76 65 20 61 6e 64 20 68 65 61 64 20 73 65 6c 5...;.Put.out.drive.and.head.sel
243c0 65 63 74 0d 0a 09 4d 4f 56 09 41 58 2c 46 6c 6f 70 70 79 2e 43 79 6c 0d 0a 09 54 45 53 54 09 46 ect...MOV.AX,Floppy.Cyl...TEST.F
243e0 6c 6f 70 70 79 2e 46 6c 61 67 73 2c 46 32 73 74 65 70 09 3b 20 4e 65 65 64 20 74 6f 20 64 6f 75 loppy.Flags,F2step.;.Need.to.dou
24400 62 6c 65 20 73 74 65 70 3f 0d 0a 09 4a 45 09 53 65 65 6b 4e 6f 44 6f 75 62 6c 65 09 09 3b 20 4e ble.step?...JE.SeekNoDouble..;.N
24420 6f 0d 0a 09 41 44 44 09 41 58 2c 41 58 09 09 09 3b 20 59 65 73 2c 20 64 6f 75 62 6c 65 20 63 79 o...ADD.AX,AX...;.Yes,.double.cy
24440 6c 69 6e 64 65 72 20 6e 75 6d 62 65 72 0d 0a 53 65 65 6b 4e 6f 44 6f 75 62 6c 65 3a 0d 0a 09 43 linder.number..SeekNoDouble:...C
24460 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 47 69 76 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 74 ALL.Put765...;.Give.controller.t
24480 68 65 20 63 79 6c 69 6e 64 65 72 0d 0a 09 53 54 43 09 09 09 09 3b 20 53 65 74 20 63 61 72 72 79 he.cylinder...STC....;.Set.carry
244a0 2c 20 6d 75 73 74 20 77 61 69 74 20 66 6f 72 20 73 65 65 6b 20 69 6e 74 72 2e 0d 0a 53 65 65 6b ,.must.wait.for.seek.intr...Seek
244c0 44 6f 6e 65 3a 0d 0a 09 52 45 54 0d 0a 53 65 65 6b 37 36 35 20 45 4e 44 50 0d 0a 0d 0a 0d 0a 0d Done:...RET..Seek765.ENDP.......
244e0 0a 3b 09 53 74 61 72 74 20 74 68 65 20 52 65 61 64 2f 77 72 69 74 65 2e 20 20 53 65 74 20 75 70 .;.Start.the.Read/write...Set.up
24500 20 74 68 65 20 44 4d 41 20 63 68 61 6e 6e 65 6c 20 61 6e 64 20 67 01 69 76 65 20 61 20 72 65 61 .the.DMA.channel.and.g.ive.a.rea
24520 64 20 6f 72 20 77 72 69 74 65 0d 0a 3b 20 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 63 6f d.or.write..;..command.to.the.co
24540 6e 74 72 6f 6c 6c 65 72 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 66 6c 61 67 2e 0d 0a 3b 0d 0a ntroller.depending.on.flag...;..
24560 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 41 58 2c 43 58 2c 44 58 0d 0a 3b 0d 0a 0d 0a 52 64 57 72 ;..Destroys:.AX,CX,DX..;....RdWr
24580 37 36 35 20 50 52 4f 43 0d 0a 09 6d 6f 76 09 61 68 2c 46 44 5f 44 4d 41 0d 0a 09 6d 6f 76 09 73 765.PROC...mov.ah,FD_DMA...mov.s
245a0 69 2c 4f 46 46 53 45 54 20 46 6c 6f 70 70 79 0d 0a 09 54 45 53 54 09 46 6c 6f 70 70 79 2e 46 6c i,OFFSET.Floppy...TEST.Floppy.Fl
245c0 61 67 73 2c 46 77 72 69 74 65 09 3b 20 49 73 20 74 68 69 73 20 61 20 77 72 69 74 65 3f 0d 0a 09 ags,Fwrite.;.Is.this.a.write?...
245e0 4a 4e 45 09 57 72 69 74 65 53 65 74 75 70 09 09 3b 20 59 65 73 0d 0a 09 4d 4f 56 09 41 4c 2c 44 JNE.WriteSetup..;.Yes...MOV.AL,D
24600 4d 41 5f 52 45 41 44 09 09 3b 20 4e 6f 2c 20 72 65 61 64 0d 0a 09 43 41 4c 4c 09 44 4d 41 73 65 MA_READ..;.No,.read...CALL.DMAse
24620 74 75 70 09 09 3b 20 53 65 74 20 75 70 20 74 68 65 20 44 4d 41 0d 0a 09 4d 4f 56 09 41 4c 2c 46 tup..;.Set.up.the.DMA...MOV.AL,F
24640 44 5f 43 52 45 41 44 09 09 3b 20 57 61 6e 74 20 74 6f 20 72 65 61 64 0d 0a 09 4a 4d 50 09 53 48 D_CREAD..;.Want.to.read...JMP.SH
24660 4f 52 54 20 52 64 57 72 4c 6f 63 09 09 3b 20 4e 6f 77 20 70 75 74 20 6f 75 74 20 72 65 73 74 20 ORT.RdWrLoc..;.Now.put.out.rest.
24680 6f 66 20 63 6f 6d 6d 61 6e 64 0d 0a 0d 0a 57 72 69 74 65 53 65 74 75 70 3a 0d 0a 09 4d 4f 56 09 of.command....WriteSetup:...MOV.
246a0 41 4c 2c 44 4d 41 5f 57 52 49 54 45 0d 0a 09 43 41 4c 4c 09 44 4d 41 73 65 74 75 70 09 09 3b 20 AL,DMA_WRITE...CALL.DMAsetup..;.
246c0 53 65 74 20 44 4d 41 20 75 70 20 66 6f 72 20 77 72 69 74 65 0d 0a 09 4d 4f 56 09 41 4c 2c 46 44 Set.DMA.up.for.write...MOV.AL,FD
246e0 5f 43 57 52 49 54 45 09 09 3b 20 57 61 6e 74 20 74 6f 20 77 72 69 74 65 0d 0a 52 64 57 72 4c 6f _CWRITE..;.Want.to.write..RdWrLo
24700 63 3a 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 50 75 01 74 20 6f 75 74 20 63 6f c:...CALL.Put765...;.Pu.t.out.co
24720 6d 6d 61 6e 64 0d 0a 09 4d 4f 56 09 41 4c 2c 46 6c 6f 70 70 79 2e 48 65 61 64 0d 0a 09 41 44 44 mmand...MOV.AL,Floppy.Head...ADD
24740 09 41 4c 2c 41 4c 0d 0a 09 41 44 44 09 41 4c 2c 41 4c 09 09 09 3b 20 46 6f 72 6d 20 48 48 78 78 .AL,AL...ADD.AL,AL...;.Form.HHxx
24760 20 42 69 6e 61 72 79 0d 0a 09 41 44 44 09 41 4c 2c 42 59 54 45 20 50 54 52 20 46 6c 6f 70 70 79 .Binary...ADD.AL,BYTE.PTR.Floppy
24780 2e 43 75 72 72 65 6e 74 09 3b 20 46 6f 72 6d 20 48 48 55 55 0d 0a 09 43 41 4c 4c 09 50 75 74 37 .Current.;.Form.HHUU...CALL.Put7
247a0 36 35 09 09 09 3b 20 4f 75 74 70 75 74 20 75 6e 69 74 20 61 6e 64 20 68 65 61 64 0d 0a 09 4d 4f 65...;.Output.unit.and.head...MO
247c0 56 09 41 58 2c 46 6c 6f 70 70 79 2e 43 79 6c 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 V.AX,Floppy.Cyl...CALL.Put765...
247e0 3b 20 4f 75 74 70 75 74 20 63 79 6c 69 6e 64 65 72 0d 0a 09 4d 4f 56 09 41 4c 2c 46 6c 6f 70 70 ;.Output.cylinder...MOV.AL,Flopp
24800 79 2e 48 65 61 64 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 4f 75 74 70 75 74 20 y.Head...CALL.Put765...;.Output.
24820 68 65 61 64 20 61 67 61 69 6e 3f 0d 0a 09 4d 4f 56 09 41 4c 2c 46 6c 6f 70 70 79 2e 53 65 63 74 head.again?...MOV.AL,Floppy.Sect
24840 6f 72 0d 0a 09 69 6e 63 09 61 6c 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 4f 75 or...inc.al...CALL.Put765...;.Ou
24860 74 70 75 74 20 73 65 63 74 6f 72 0d 0a 09 4d 4f 56 09 41 4c 2c 53 65 63 74 6f 72 53 69 7a 65 0d tput.sector...MOV.AL,SectorSize.
24880 0a 09 43 41 4c 4c 09 47 65 74 46 6c 6f 70 70 79 50 61 72 61 6d 09 09 3b 20 47 65 74 20 73 65 63 ..CALL.GetFloppyParam..;.Get.sec
248a0 74 6f 72 20 73 69 7a 65 20 63 6f 64 65 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 tor.size.code...CALL.Put765...;.
248c0 54 65 6c 6c 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 73 65 63 74 6f 72 20 73 69 7a 65 0d 0a 09 4d 4f Tell.controller.sector.size...MO
248e0 56 09 41 4c 2c 43 79 6c 53 69 7a 65 0d 0a 09 43 41 4c 4c 09 47 65 74 46 6c 6f 70 70 79 50 61 72 V.AL,CylSize...CALL.GetFloppyPar
24900 61 6d 09 09 3b 20 47 65 74 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 01 6f 72 73 2f 63 79 6c am..;.Get.number.of.sect.ors/cyl
24920 69 6e 64 65 72 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 54 65 6c 6c 20 63 6f 6e inder...CALL.Put765...;.Tell.con
24940 74 72 6f 6c 6c 65 72 0d 0a 09 4d 4f 56 09 41 4c 2c 44 61 74 61 47 61 70 09 09 3b 20 47 61 70 20 troller...MOV.AL,DataGap..;.Gap.
24960 6c 65 6e 67 74 68 20 66 6f 72 20 72 65 61 64 2f 77 72 69 74 65 0d 0a 09 43 41 4c 4c 09 47 65 74 length.for.read/write...CALL.Get
24980 46 6c 6f 70 70 79 50 61 72 61 6d 0d 0a 09 43 41 4c 4c 09 50 75 74 37 36 35 09 09 09 3b 20 54 65 FloppyParam...CALL.Put765...;.Te
249a0 6c 6c 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 67 61 70 20 6c 65 6e 67 74 68 0d 0a 09 4d 4f 56 09 41 ll.controller.gap.length...MOV.A
249c0 4c 2c 56 61 6c 75 65 44 54 4c 0d 0a 09 43 41 4c 4c 09 47 65 74 46 6c 6f 70 70 79 50 61 72 61 6d L,ValueDTL...CALL.GetFloppyParam
249e0 09 09 3b 20 47 65 74 20 76 61 6c 75 65 20 66 6f 72 20 44 54 4c 0d 0a 09 43 41 4c 4c 09 50 75 74 ..;.Get.value.for.DTL...CALL.Put
24a00 37 36 35 09 09 09 3b 20 53 69 6e 63 65 20 62 79 74 65 73 2f 73 65 63 74 6f 72 23 30 2c 20 74 68 765...;.Since.bytes/sector#0,.th
24a20 69 73 20 69 73 20 61 0d 0a 09 09 09 09 09 3b 20 6d 65 61 6e 69 6e 67 6c 65 73 73 20 76 61 6c 75 is.is.a.......;.meaningless.valu
24a40 65 2c 20 62 75 74 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 09 09 09 09 3b 20 77 61 6e 74 73 20 e,.but.controller.......;.wants.
24a60 74 6f 20 73 65 65 20 73 6f 6d 65 74 68 69 6e 67 0d 0a 09 52 45 54 0d 0a 52 64 57 72 37 36 35 20 to.see.something...RET..RdWr765.
24a80 45 4e 44 50 0d 0a 0d 0a 0d 0a 0d 0a 3b 09 46 69 6e 69 37 36 35 20 67 65 74 73 20 74 68 65 20 63 ENDP........;.Fini765.gets.the.c
24aa0 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 61 74 75 73 2e 0d 0a 3b 0d 0a 3b 20 20 44 65 73 74 72 6f 79 ompletion.status...;..;..Destroy
24ac0 73 3a 09 41 58 2c 43 58 2c 44 58 0d 0a 3b 20 20 52 65 74 75 72 6e 73 3a 09 41 4c 0d 0a 3b 0d 0a s:.AX,CX,DX..;..Returns:.AL..;..
24ae0 0d 0a 46 69 6e 69 37 36 35 20 50 52 4f 43 0d 0a 09 70 75 73 68 09 65 73 0d 0a 09 70 75 73 68 09 ..Fini765.PROC...push.es...push.
24b00 64 69 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 65 73 0d 0a 09 6d 01 6f 76 09 64 69 2c di...push.cs...pop.es...m.ov.di,
24b20 4f 46 46 53 45 54 20 46 6c 6f 70 70 79 2e 53 54 30 0d 0a 09 4d 4f 56 09 43 58 2c 37 0d 0a 66 69 OFFSET.Floppy.ST0...MOV.CX,7..fi
24b40 6e 69 31 3a 09 43 41 4c 4c 09 47 65 74 37 36 35 0d 0a 09 73 74 6f 73 62 0d 0a 09 6c 6f 6f 70 09 ni1:.CALL.Get765...stosb...loop.
24b60 66 69 6e 69 31 0d 0a 09 6d 6f 76 09 61 6c 2c 46 6c 6f 70 70 79 2e 53 54 30 0d 0a 09 6d 6f 76 09 fini1...mov.al,Floppy.ST0...mov.
24b80 63 6c 2c 36 0d 0a 09 53 48 52 09 41 4c 2c 43 4c 0d 0a 09 41 4e 44 09 41 58 2c 33 09 09 09 3b 20 cl,6...SHR.AL,CL...AND.AX,3...;.
24ba0 4d 61 73 6b 20 64 6f 77 6e 20 74 6f 20 76 61 6c 75 65 20 74 6f 20 72 65 74 75 72 6e 0d 0a 09 70 Mask.down.to.value.to.return...p
24bc0 6f 70 09 64 69 0d 0a 09 70 6f 70 09 65 73 0d 0a 09 52 45 54 0d 0a 46 69 6e 69 37 36 35 20 45 4e op.di...pop.es...RET..Fini765.EN
24be0 44 50 0d 0a 0d 0a 0d 0a 0d 0a 3b 09 50 75 74 37 36 35 20 77 72 69 74 65 73 20 61 20 63 6f 6d 6d DP........;.Put765.writes.a.comm
24c00 61 6e 64 20 74 6f 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 2e 0d 0a 3b 0d 0a 3b 20 20 49 6e and.to.the.controller...;..;..In
24c20 70 75 74 3a 09 41 4c 20 3d 20 76 61 6c 75 65 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 41 58 put:.AL.=.value..;..Destroys:.AX
24c40 2c 44 58 0d 0a 3b 0d 0a 0d 0a 50 75 74 37 36 35 09 50 52 4f 43 0d 0a 09 50 55 53 48 09 41 58 09 ,DX..;....Put765.PROC...PUSH.AX.
24c60 09 09 3b 20 53 61 76 65 20 74 68 65 20 76 61 6c 75 65 20 74 6f 20 77 72 69 74 65 0d 0a 50 75 74 ..;.Save.the.value.to.write..Put
24c80 57 61 69 74 4c 6f 6f 70 3a 0d 0a 09 4d 4f 56 09 44 58 2c 46 44 5f 50 53 54 41 54 0d 0a 09 49 4e WaitLoop:...MOV.DX,FD_PSTAT...IN
24ca0 09 41 4c 2c 44 58 09 09 09 3b 20 47 65 74 20 73 74 61 74 75 73 0d 0a 09 41 4e 44 09 41 4c 2c 46 .AL,DX...;.Get.status...AND.AL,F
24cc0 44 5f 53 44 49 4f 2b 46 44 5f 53 52 51 4d 0d 0a 09 43 4d 50 09 41 4c 2c 46 44 5f 53 52 51 4d 09 D_SDIO+FD_SRQM...CMP.AL,FD_SRQM.
24ce0 09 09 3b 20 43 6f 6e 74 72 6f 6c 6c 65 72 20 72 65 61 64 79 20 66 6f 72 20 64 61 74 61 3f 0d 0a ..;.Controller.ready.for.data?..
24d00 09 4a 4e 45 09 50 75 74 57 61 69 74 4c 6f 6f 70 09 09 3b 20 4e 6f 2c 20 6b 65 01 65 70 20 77 61 .JNE.PutWaitLoop..;.No,.ke.ep.wa
24d20 69 74 69 6e 67 0d 0a 09 50 4f 50 09 41 58 09 09 09 3b 20 47 65 74 20 76 61 6c 75 65 20 62 61 63 iting...POP.AX...;.Get.value.bac
24d40 6b 0d 0a 09 4d 4f 56 09 44 58 2c 46 44 5f 50 44 41 54 0d 0a 09 4f 55 54 09 44 58 2c 41 4c 09 09 k...MOV.DX,FD_PDAT...OUT.DX,AL..
24d60 09 3b 20 50 75 74 20 6f 75 74 20 76 61 6c 75 65 0d 0a 09 52 45 54 0d 0a 50 75 74 37 36 35 09 45 .;.Put.out.value...RET..Put765.E
24d80 4e 44 50 0d 0a 0d 0a 0d 0a 3b 09 47 65 74 37 36 35 20 67 65 74 73 20 61 20 76 61 6c 75 65 20 62 NDP......;.Get765.gets.a.value.b
24da0 61 63 6b 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 69 6e 74 6f 20 41 4c 2e ack.from.the.controller.into.AL.
24dc0 0d 0a 3b 0d 0a 3b 20 20 44 65 73 74 72 6f 79 73 3a 09 41 58 2c 44 58 0d 0a 3b 20 20 52 65 74 75 ..;..;..Destroys:.AX,DX..;..Retu
24de0 72 6e 73 3a 09 41 4c 0d 0a 3b 0d 0a 0d 0a 47 65 74 37 36 35 09 50 52 4f 43 0d 0a 09 4d 4f 56 09 rns:.AL..;....Get765.PROC...MOV.
24e00 44 58 2c 46 44 5f 50 53 54 41 54 0d 0a 09 49 4e 09 41 4c 2c 44 58 09 09 09 3b 20 47 65 74 20 73 DX,FD_PSTAT...IN.AL,DX...;.Get.s
24e20 74 61 74 75 73 0d 0a 09 41 4e 44 09 41 4c 2c 46 44 5f 53 44 49 4f 2b 46 44 5f 53 52 51 4d 0d 0a tatus...AND.AL,FD_SDIO+FD_SRQM..
24e40 09 43 4d 50 09 41 4c 2c 46 44 5f 53 44 49 4f 2b 46 44 5f 53 52 51 4d 09 09 3b 20 43 6f 6e 74 72 .CMP.AL,FD_SDIO+FD_SRQM..;.Contr
24e60 6f 6c 6c 65 72 20 64 61 74 61 20 61 76 61 69 6c 61 62 6c 65 3f 0d 0a 09 4a 4e 45 09 47 65 74 37 oller.data.available?...JNE.Get7
24e80 36 35 09 09 09 3b 20 4e 6f 2c 20 77 61 69 74 20 66 6f 72 20 69 74 0d 0a 09 4d 4f 56 09 44 58 2c 65...;.No,.wait.for.it...MOV.DX,
24ea0 46 44 5f 50 44 41 54 0d 0a 09 49 4e 09 41 4c 2c 44 58 09 09 09 3b 20 47 65 74 20 76 61 6c 75 65 FD_PDAT...IN.AL,DX...;.Get.value
24ec0 20 66 72 6f 6d 20 63 6f 6e 74 72 6f 6c 6c 65 72 0d 0a 09 72 65 74 0d 0a 47 65 74 37 36 35 09 45 .from.controller...ret..Get765.E
24ee0 4e 44 50 0d 0a 0d 0a 43 6f 64 65 09 45 4e 44 53 0d 0a 09 45 4e 44 0d 0a 65 73 0d 0a 09 70 75 73 NDP....Code.ENDS...END..es...pus
24f00 68 09 64 69 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 65 73 0d 0a 09 6d 01 09 54 49 54 h.di...push.cs...pop.es...m..TIT
24f20 4c 45 09 4d 54 43 4f 4e 20 2d 20 43 6f 6e 73 6f 6c 65 20 64 65 76 69 63 65 20 64 72 69 76 65 72 LE.MTCON.-.Console.device.driver
24f40 20 66 6f 72 20 4d 54 2d 4d 53 44 4f 53 0d 0a 09 70 61 67 65 09 2c 31 33 32 0d 0a 0d 0a 0d 0a 3b .for.MT-MSDOS...page.,132......;
24f60 3b 09 54 4f 44 4f 20 2d 0d 0a 3b 3b 09 09 73 70 6c 69 74 20 43 4f 4e 20 61 6e 64 20 4b 42 44 0d ;.TODO.-..;;..split.CON.and.KBD.
24f80 0a 3b 3b 09 09 69 6e 74 65 72 72 75 70 74 69 62 6c 65 20 77 61 69 74 73 20 61 6e 64 20 75 6e 77 .;;..interruptible.waits.and.unw
24fa0 69 6e 64 69 6e 67 0d 0a 3b 3b 09 09 70 65 72 20 73 63 72 65 65 6e 20 6b 65 79 62 6f 61 72 64 20 inding..;;..per.screen.keyboard.
24fc0 62 75 66 66 65 72 73 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d buffers....;--------------------
24fe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 09 52 65 76 69 73 69 6f --------------------..;..Revisio
25020 6e 20 48 69 73 74 6f 72 79 0d 0a 3b 0d 0a 3b 09 56 31 2e 30 30 09 30 34 2f 31 30 2f 38 34 09 4d n.History..;..;.V1.00.04/10/84.M
25040 2e 41 2e 55 6c 6c 6f 61 0d 0a 3b 09 09 46 69 72 73 74 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f .A.Ulloa..;..First.Implementatio
25060 6e 3a 20 4f 6e 6c 79 20 6f 6e 65 20 73 65 67 6d 65 6e 74 20 75 73 65 64 20 61 6e 64 20 6f 6e 6c n:.Only.one.segment.used.and.onl
25080 79 0d 0a 3b 09 09 6f 6e 65 20 73 63 72 65 65 6e 20 69 6e 20 74 68 65 20 63 6f 6c 6f 72 20 63 61 y..;..one.screen.in.the.color.ca
250a0 72 64 20 28 61 6c 70 68 61 20 6d 6f 64 65 29 2e 0d 0a 3b 0d 0a 3b 09 56 31 2e 30 31 09 30 34 2f rd.(alpha.mode)...;..;.V1.01.04/
250c0 31 35 2f 38 34 09 4d 2e 41 2e 55 6c 6c 6f 61 0d 0a 3b 09 09 52 65 2d 65 6e 61 62 6c 65 64 20 74 15/84.M.A.Ulloa..;..Re-enabled.t
250e0 68 65 20 62 6c 6f 63 6b 69 6e 67 20 6f 66 20 77 72 69 74 69 6e 67 20 66 72 6f 6d 20 70 72 6f 63 he.blocking.of.writing.from.proc
25100 65 73 73 65 73 20 6e 6f 74 0d 0a 3b 09 09 77 69 74 68 20 74 68 65 20 63 75 72 72 65 01 6e 74 20 esses.not..;..with.the.curre.nt.
25120 73 63 72 65 65 6e 2e 0d 0a 3b 0d 0a 3b 09 56 31 2e 30 32 09 30 34 2f 31 36 2f 38 34 09 4d 2e 41 screen...;..;.V1.02.04/16/84.M.A
25140 2e 55 6c 6c 6f 61 0d 0a 3b 09 09 49 6e 63 72 65 61 73 65 64 20 74 6f 20 38 20 74 68 65 20 6e 75 .Ulloa..;..Increased.to.8.the.nu
25160 6d 20 6f 66 20 73 63 72 65 65 6e 73 2e 20 41 64 64 65 64 20 74 68 65 20 73 63 72 65 65 6e 0d 0a m.of.screens..Added.the.screen..
25180 3b 09 09 62 6c 61 6e 6b 69 6e 67 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 ;..blanking.when.reading.and.wri
251a0 74 69 6e 67 20 74 68 65 20 73 63 72 65 65 6e 20 64 61 74 61 0d 0a 3b 09 09 28 73 65 65 20 42 4c ting.the.screen.data..;..(see.BL
251c0 41 4e 4b 20 73 77 69 74 63 68 29 2e 20 41 64 64 65 64 20 73 63 72 65 65 6e 20 23 20 66 6f 72 20 ANK.switch)..Added.screen.#.for.
251e0 77 72 69 74 65 73 2e 0d 0a 3b 0d 0a 3b 09 56 31 2e 30 33 09 30 34 2f 31 37 2f 38 34 09 4d 2e 41 writes...;..;.V1.03.04/17/84.M.A
25200 2e 55 6c 6c 6f 61 0d 0a 3b 09 09 43 6f 72 72 65 63 74 65 64 20 70 72 6f 62 6c 65 6d 20 77 69 74 .Ulloa..;..Corrected.problem.wit
25220 68 20 66 6c 75 73 68 2e 0d 0a 3b 0d 0a 3b 09 56 31 2e 30 35 09 30 34 2f 33 30 2f 38 34 09 41 2e h.flush...;..;.V1.05.04/30/84.A.
25240 52 2e 57 68 69 74 6e 65 79 0d 0a 3b 09 09 41 64 64 65 64 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 R.Whitney..;..Added.conditional.
25260 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 74 6f 20 61 6c 6c 6f 77 20 6c 69 6e 6b 69 6e 67 20 77 69 74 compilation.to.allow.linking.wit
25280 68 0d 0a 3b 09 09 72 65 73 69 64 65 6e 74 20 42 49 4f 53 2e 0d 0a 3b 0d 0a 3b 09 56 31 2e 30 36 h..;..resident.BIOS...;..;.V1.06
252a0 09 30 35 2f 30 38 2f 38 34 09 41 2e 52 2e 57 68 69 74 6e 65 79 0d 0a 3b 09 09 41 64 64 65 64 20 .05/08/84.A.R.Whitney..;..Added.
252c0 41 4e 53 49 20 65 73 63 61 70 65 20 73 65 71 75 65 6e 63 65 73 2e 20 20 43 6f 6e 64 69 74 69 6f ANSI.escape.sequences...Conditio
252e0 6e 61 6c 20 6f 6e 20 41 4e 53 49 2e 0d 0a 3b 0d 0a 3b 09 56 31 2e 30 37 09 30 35 2f 31 35 2f 38 nal.on.ANSI...;..;.V1.07.05/15/8
25300 34 09 41 2e 52 2e 57 68 69 74 6e 65 79 0d 0a 3b 09 09 46 69 78 65 64 20 63 6f 6d 70 61 01 74 69 4.A.R.Whitney..;..Fixed.compa.ti
25320 62 69 6c 69 74 79 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 45 61 67 6c 65 20 50 43 20 54 75 bility.problems.with.Eagle.PC.Tu
25340 72 62 6f 2e 0d 0a 3b 09 09 46 69 78 65 64 20 42 4c 41 4e 4b 20 63 6f 6e 64 69 74 69 6f 6e 61 6c rbo...;..Fixed.BLANK.conditional
25360 20 63 6f 64 65 20 74 6f 20 61 6c 6c 6f 77 20 73 61 76 69 6e 67 20 67 72 61 70 68 69 63 73 0d 0a .code.to.allow.saving.graphics..
25380 3b 09 09 6d 6f 64 65 20 73 63 72 65 65 6e 73 2e 0d 0a 3b 09 09 41 64 64 65 64 20 65 6e 61 62 6c ;..mode.screens...;..Added.enabl
253a0 65 2f 64 69 73 61 62 6c 65 20 32 35 74 68 20 6c 69 6e 65 20 74 6f 20 41 6e 73 69 2e 0d 0a 3b 0d e/disable.25th.line.to.Ansi...;.
253c0 0a 3b 09 56 31 2e 30 38 09 30 35 2f 32 32 2f 38 34 09 41 2e 52 2e 57 68 69 74 6e 65 79 0d 0a 3b .;.V1.08.05/22/84.A.R.Whitney..;
253e0 09 09 46 69 78 65 64 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 73 63 72 6f 6c 6c 69 6e 67 20 69 ..Fixed.problem.with.scrolling.i
25400 6e 20 73 63 72 65 65 6e 20 6d 6f 64 65 73 20 6f 74 68 65 72 0d 0a 3b 09 09 74 68 61 6e 20 38 30 n.screen.modes.other..;..than.80
25420 78 32 35 2e 20 20 42 75 67 20 64 75 65 20 74 6f 20 32 35 74 68 20 6c 69 6e 65 20 73 74 75 66 66 x25...Bug.due.to.25th.line.stuff
25440 2e 0d 0a 3b 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...;..;-------------------------
25460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25480 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 3b 44 45 42 55 47 46 4c 47 09 3d 09 31 ---------------....;DEBUGFLG.=.1
254a0 0d 0a 0d 0a 2e 78 6c 69 73 74 0d 0a 09 69 6e 63 6c 75 64 65 20 44 45 46 44 42 55 47 2e 49 4e 43 .....xlist...include.DEFDBUG.INC
254c0 0d 0a 2e 6c 69 73 74 0d 0a 0d 0a 46 41 4c 53 45 09 45 51 55 09 30 0d 0a 54 52 55 45 09 45 51 55 ...list....FALSE.EQU.0..TRUE.EQU
254e0 09 4e 4f 54 20 46 41 4c 53 45 0d 0a 0d 0a 43 56 45 52 53 09 65 71 75 09 30 31 09 09 09 3b 20 75 .NOT.FALSE....CVERS.equ.01...;.u
25500 70 64 61 74 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 21 21 0d 0a 43 52 45 56 09 65 05 10 pdate.version.number!!..CREV.e..
25520 01 09 02 01 02 03 04 05 06 07 08 09 01 71 75 09 30 38 0d 0a 0d 0a 42 4c 41 4e 4b 09 65 71 75 09 .............qu.08....BLANK.equ.
25540 54 52 55 45 09 09 09 3b 20 62 6c 61 6e 6b 20 73 63 72 65 65 6e 20 64 75 72 69 6e 67 20 64 61 74 TRUE...;.blank.screen.during.dat
25560 61 20 72 2f 77 0d 0a 49 4e 42 49 4f 53 09 65 71 75 09 54 52 55 45 09 09 09 3b 20 6c 69 6e 6b 20 a.r/w..INBIOS.equ.TRUE...;.link.
25580 77 69 74 68 20 42 49 4f 53 0d 0a 41 4e 53 49 09 65 71 75 09 54 52 55 45 09 09 09 3b 20 69 6e 63 with.BIOS..ANSI.equ.TRUE...;.inc
255a0 6c 75 64 65 20 41 4e 53 49 20 65 73 63 61 70 65 20 73 65 71 75 65 6e 63 65 73 0d 0a 20 20 4c 49 lude.ANSI.escape.sequences....LI
255c0 4e 45 32 35 20 65 71 75 09 54 52 55 45 09 09 09 3b 20 20 20 73 70 65 63 69 61 6c 20 32 35 74 68 NE25.equ.TRUE...;...special.25th
255e0 20 6c 69 6e 65 20 6c 69 6b 65 20 56 54 35 32 0d 0a 45 41 47 4c 45 09 65 71 75 09 54 52 55 45 09 .line.like.VT52..EAGLE.equ.TRUE.
25600 09 09 3b 20 45 61 67 6c 65 20 50 43 20 52 4f 4d 20 62 6f 74 63 68 65 73 20 43 52 54 5f 4c 45 4e ..;.Eagle.PC.ROM.botches.CRT_LEN
25620 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 53 63 72 65 65 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 ......subttl.Screen.Information.
25640 42 6c 6f 63 6b 20 44 65 66 69 6e 69 74 69 6f 6e 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d Block.Definition..page....;-----
25660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25680 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
256a0 2d 2d 2d 0d 0a 3b 09 53 63 72 65 65 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 42 6c 6f 63 6b 20 ---..;.Screen.Information.Block.
256c0 28 53 49 42 29 20 44 65 66 69 6e 69 74 69 6f 6e 0d 0a 3b 0d 0a 3b 09 54 68 69 73 20 73 74 72 75 (SIB).Definition..;..;.This.stru
256e0 63 74 75 72 65 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6e cture.contains.all.information.n
25700 65 63 65 73 73 61 72 79 20 74 6f 0d 0a 3b 20 64 65 73 63 72 69 62 65 20 74 68 65 20 73 74 61 74 ecessary.to..;.describe.the.stat
25720 65 20 6f 66 20 74 68 65 20 73 63 72 65 01 65 6e 2c 20 70 6c 75 73 20 70 6f 69 6e 74 65 72 73 20 e.of.the.scre.en,.plus.pointers.
25740 74 6f 20 62 75 66 66 65 72 73 0d 0a 3b 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 to.buffers..;.which.contain.the.
25760 61 63 74 75 61 6c 20 73 63 72 65 65 6e 20 63 6f 6e 74 65 6e 74 2e 0d 0a 3b 0d 0a 0d 0a 3b 2d 2d actual.screen.content...;....;--
25780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
257a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
257c0 2d 2d 2d 2d 2d 2d 0d 0a 4d 61 78 53 45 47 09 65 71 75 09 32 09 09 09 3b 20 4e 4f 54 45 3a 20 61 ------..MaxSEG.equ.2...;.NOTE:.a
257e0 73 73 75 6d 70 74 69 6f 6e 20 69 73 20 6d 61 64 65 20 69 6e 20 74 68 65 0d 0a 09 09 09 09 09 3b ssumption.is.made.in.the.......;
25800 20 20 20 63 6f 64 65 20 74 68 61 74 20 61 6c 6c 20 53 49 42 27 73 20 68 61 76 65 20 73 61 6d 65 ...code.that.all.SIB's.have.same
25820 0d 0a 09 09 09 09 09 3b 20 20 20 6e 75 6d 62 65 72 20 6f 73 20 53 45 47 73 0d 0a 53 45 47 73 74 .......;...number.os.SEGs..SEGst
25840 09 73 74 72 75 63 0d 0a 53 69 7a 65 4e 65 65 64 65 64 09 64 77 09 30 09 09 3b 20 6e 65 65 64 65 .struc..SizeNeeded.dw.0..;.neede
25860 64 20 73 69 7a 65 20 66 6f 72 20 73 65 67 2c 20 28 30 20 3d 20 75 6e 75 73 65 64 29 0d 0a 4d 65 d.size.for.seg,.(0.=.unused)..Me
25880 6d 46 6c 61 67 09 09 64 77 09 3f 09 09 3b 20 6d 61 69 6e 74 65 6e 65 64 20 62 79 20 73 79 73 74 mFlag..dw.?..;.maintened.by.syst
258a0 65 6d 20 28 30 20 3d 20 69 6e 20 6d 65 6d 29 0d 0a 4d 50 6f 69 6e 74 65 72 09 64 64 09 3f 09 09 em.(0.=.in.mem)..MPointer.dd.?..
258c0 3b 20 76 61 69 6c 64 20 69 66 66 20 4d 65 6d 46 6c 61 67 20 3d 3d 20 30 0d 0a 53 45 47 73 74 09 ;.vaild.iff.MemFlag.==.0..SEGst.
258e0 65 6e 64 73 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ends....;-----------------------
25900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 01 2d 2d 2d 0d 0a 4d 61 78 53 49 42 09 65 71 75 09 38 --------------.---..MaxSIB.equ.8
25940 09 09 09 3b 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 53 63 72 65 65 6e 73 0d 0a ...;.maximum.number.of.Screens..
25960 0d 0a 0d 0a 49 46 09 41 4e 53 49 0d 0a 54 65 72 6d 53 69 7a 65 09 45 51 55 09 32 30 09 09 3b 20 ....IF.ANSI..TermSize.EQU.20..;.
25980 6d 61 78 2e 20 73 69 7a 65 20 6f 66 20 74 65 72 6d 69 6e 61 6c 20 65 6d 75 6c 61 74 69 6f 6e 20 max..size.of.terminal.emulation.
259a0 73 74 61 74 65 0d 0a 45 4e 44 49 46 0d 0a 0d 0a 53 49 42 73 74 09 73 74 72 75 63 0d 0a 63 74 6c state..ENDIF....SIBst.struc..ctl
259c0 53 09 09 64 62 09 30 09 09 3b 20 69 66 20 74 68 65 20 73 63 72 65 65 6e 20 69 73 20 4e 4f 54 20 S..db.0..;.if.the.screen.is.NOT.
259e0 66 72 6f 7a 65 6e 20 3d 20 30 0d 0a 09 09 09 09 09 3b 20 4e 4f 54 45 3a 20 74 68 69 73 20 66 69 frozen.=.0.......;.NOTE:.this.fi
25a00 65 6c 64 20 73 68 6f 75 6c 64 20 62 65 20 74 68 65 0d 0a 09 09 09 09 09 3b 20 20 20 46 49 52 53 eld.should.be.the.......;...FIRS
25a20 54 20 6f 66 20 65 61 63 68 20 53 49 42 20 21 21 20 28 73 65 65 20 43 6f 6e 57 72 69 74 29 0d 0a T.of.each.SIB.!!.(see.ConWrit)..
25a40 4f 66 66 73 65 74 56 61 6c 09 64 77 09 37 09 09 3b 20 73 74 61 72 74 20 6f 66 20 53 65 67 20 44 OffsetVal.dw.7..;.start.of.Seg.D
25a60 65 73 63 72 69 70 74 6f 72 73 0d 0a 53 65 67 43 6e 74 09 09 64 77 09 4d 61 78 53 65 67 09 09 3b escriptors..SegCnt..dw.MaxSeg..;
25a80 20 6d 61 78 20 6e 75 6d 62 65 72 20 6f 66 20 53 65 67 6d 65 6e 74 73 0d 0a 53 49 42 6c 65 6e 09 .max.number.of.Segments..SIBlen.
25aa0 09 64 77 09 28 53 49 5a 45 20 53 49 42 73 74 29 09 3b 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 .dw.(SIZE.SIBst).;.length.of.the
25ac0 20 53 49 42 0d 0a 3b 2d 2d 2d 20 53 65 67 6d 65 6e 74 73 0d 0a 09 09 64 62 09 28 28 53 49 5a 45 .SIB..;---.Segments....db.((SIZE
25ae0 20 53 45 47 73 74 29 20 2a 20 4d 61 78 53 65 67 29 20 64 75 70 20 28 3f 29 0d 0a 3b 2d 2d 2d 20 .SEGst).*.MaxSeg).dup.(?)..;---.
25b00 50 43 20 76 69 64 65 6f 20 73 74 61 74 65 20 69 6e 66 6f 0d 0a 78 43 52 54 5f 4d 4f 44 45 09 44 PC.video.state.info..xCRT_MODE.D
25b20 42 09 3f 0d 0a 78 43 52 54 5f 43 4f 4c 53 09 01 44 57 09 3f 0d 0a 78 43 52 54 5f 4c 45 4e 09 44 B.?..xCRT_COLS..DW.?..xCRT_LEN.D
25b40 57 09 3f 0d 0a 78 43 52 54 5f 53 54 41 52 54 09 44 57 09 3f 0d 0a 78 43 55 52 53 4f 52 5f 50 4f W.?..xCRT_START.DW.?..xCURSOR_PO
25b60 53 4e 09 44 57 09 38 20 44 55 50 28 3f 29 0d 0a 78 43 55 52 53 4f 52 5f 4d 4f 44 45 09 44 57 09 SN.DW.8.DUP(?)..xCURSOR_MODE.DW.
25b80 3f 0d 0a 78 41 43 54 49 56 45 5f 50 41 47 45 09 44 42 09 3f 0d 0a 78 41 44 44 52 5f 36 38 34 35 ?..xACTIVE_PAGE.DB.?..xADDR_6845
25ba0 09 44 57 09 3f 0d 0a 78 43 52 54 5f 4d 4f 44 45 5f 53 45 54 09 44 42 09 3f 0d 0a 78 43 52 54 5f .DW.?..xCRT_MODE_SET.DB.?..xCRT_
25bc0 50 41 4c 45 54 54 45 09 44 42 09 3f 0d 0a 78 54 45 52 4d 5f 53 54 41 54 45 09 44 42 09 54 65 72 PALETTE.DB.?..xTERM_STATE.DB.Ter
25be0 6d 53 69 7a 65 20 44 55 50 28 3f 29 0d 0a 53 49 42 73 74 09 65 6e 64 73 0d 0a 0d 0a 0d 0a 73 75 mSize.DUP(?)..SIBst.ends......su
25c00 62 74 74 6c 09 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 20 64 65 66 69 6e 69 74 69 6f 6e 73 0d bttl.Request.packet.definitions.
25c20 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .page....;----------------------
25c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25c60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 52 65 71 75 65 73 74 20 70 61 ------------------..;.Request.pa
25c80 63 6b 65 74 20 6f 66 66 73 65 74 20 64 65 66 69 6e 69 74 69 6f 6e 73 0d 0a 3b 0d 0a 0d 0a 43 4d cket.offset.definitions..;....CM
25ca0 44 4c 45 4e 09 3d 09 30 09 09 09 3b 4c 45 4e 47 54 48 20 4f 46 20 54 48 49 53 20 43 4f 4d 4d 41 DLEN.=.0...;LENGTH.OF.THIS.COMMA
25cc0 4e 44 0d 0a 55 4e 49 54 09 3d 09 31 09 09 09 3b 53 55 42 20 55 4e 49 54 20 53 50 45 43 49 46 49 ND..UNIT.=.1...;SUB.UNIT.SPECIFI
25ce0 45 52 0d 0a 43 4d 44 09 3d 09 32 09 09 09 3b 43 4f 4d 4d 41 4e 44 20 43 4f 44 45 0d 0a 53 54 41 ER..CMD.=.2...;COMMAND.CODE..STA
25d00 54 55 53 09 3d 09 33 09 09 09 3b 53 54 41 54 55 53 0d 0a 4d 45 44 49 41 09 3d 09 31 33 09 09 09 TUS.=.3...;STATUS..MEDIA.=.13...
25d20 3b 4d 45 44 49 41 20 44 45 53 43 52 49 50 54 4f 01 52 0d 0a 54 52 41 4e 53 09 3d 09 31 34 09 09 ;MEDIA.DESCRIPTO.R..TRANS.=.14..
25d40 09 3b 54 52 41 4e 53 46 45 52 20 41 44 44 52 45 53 53 0d 0a 43 4f 55 4e 54 09 3d 09 31 38 09 09 .;TRANSFER.ADDRESS..COUNT.=.18..
25d60 09 3b 43 4f 55 4e 54 20 4f 46 20 42 4c 4f 43 4b 53 20 4f 52 20 43 48 41 52 41 43 54 45 52 53 0d .;COUNT.OF.BLOCKS.OR.CHARACTERS.
25d80 0a 53 54 41 52 54 09 3d 09 32 30 09 09 09 3b 46 49 52 53 54 20 42 4c 4f 43 4b 20 54 4f 20 54 52 .START.=.20...;FIRST.BLOCK.TO.TR
25da0 41 4e 53 46 45 52 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 49 42 4d 2d 50 43 20 52 4f 4d 20 44 61 ANSFER......subttl.IBM-PC.ROM.Da
25dc0 74 61 20 61 72 65 61 20 4c 6f 63 61 74 69 6f 6e 73 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d ta.area.Locations..page....;----
25de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25e00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25e20 2d 2d 2d 2d 0d 0a 3b 09 49 42 4d 2d 50 43 20 52 4f 4d 20 44 61 74 61 20 61 72 65 61 20 4c 6f 63 ----..;.IBM-PC.ROM.Data.area.Loc
25e40 61 74 69 6f 6e 73 0d 0a 3b 0d 0a 0d 0a 52 6f 6d 44 61 74 61 20 53 45 47 4d 45 4e 54 20 41 54 20 ations..;....RomData.SEGMENT.AT.
25e60 34 30 48 0d 0a 09 4f 52 47 09 31 41 48 0d 0a 42 75 66 66 65 72 48 65 61 64 09 44 57 09 3f 0d 0a 40H...ORG.1AH..BufferHead.DW.?..
25e80 42 75 66 66 65 72 54 61 69 6c 09 44 57 09 3f 0d 0a 4b 65 79 42 75 66 66 65 72 09 44 57 09 31 36 BufferTail.DW.?..KeyBuffer.DW.16
25ea0 20 44 55 50 20 28 3f 29 0d 0a 4b 65 79 42 75 66 4c 65 6e 20 20 20 20 20 20 20 65 71 75 20 20 20 .DUP.(?)..KeyBufLen.......equ...
25ec0 20 20 28 24 2d 4b 65 79 42 75 66 66 65 72 29 09 3b 20 6c 65 6e 67 74 68 20 6f 66 20 4b 65 79 42 ..($-KeyBuffer).;.length.of.KeyB
25ee0 75 66 66 65 72 0d 0a 0d 0a 09 4f 52 47 09 34 39 48 0d 0a 43 52 54 5f 4d 4f 44 45 09 44 42 09 3f uffer.....ORG.49H..CRT_MODE.DB.?
25f00 0d 0a 43 52 54 5f 43 4f 4c 53 09 44 57 09 3f 0d 0a 43 52 54 5f 4c 45 4e 09 09 44 57 09 3f 0d 0a ..CRT_COLS.DW.?..CRT_LEN..DW.?..
25f20 43 52 54 5f 53 54 41 52 54 09 44 57 09 3f 0d 0a 43 01 55 52 53 4f 52 5f 50 4f 53 4e 09 44 57 09 CRT_START.DW.?..C.URSOR_POSN.DW.
25f40 38 20 44 55 50 28 3f 29 0d 0a 43 55 52 53 4f 52 5f 4d 4f 44 45 09 44 57 09 3f 0d 0a 41 43 54 49 8.DUP(?)..CURSOR_MODE.DW.?..ACTI
25f60 56 45 5f 50 41 47 45 09 44 42 09 3f 0d 0a 41 44 44 52 5f 36 38 34 35 09 44 57 09 3f 0d 0a 43 52 VE_PAGE.DB.?..ADDR_6845.DW.?..CR
25f80 54 5f 4d 4f 44 45 5f 53 45 54 09 44 42 09 3f 0d 0a 43 52 54 5f 50 41 4c 45 54 54 45 09 44 42 09 T_MODE_SET.DB.?..CRT_PALETTE.DB.
25fa0 3f 0d 0a 0d 0a 43 72 74 4c 65 6e 09 09 45 51 55 09 28 24 2d 43 52 54 5f 4d 4f 44 45 29 09 3b 20 ?....CrtLen..EQU.($-CRT_MODE).;.
25fc0 6c 65 6e 67 74 68 20 6f 66 20 73 63 72 65 65 6e 20 73 74 61 74 65 20 61 72 65 61 0d 0a 52 6f 6d length.of.screen.state.area..Rom
25fe0 44 61 74 61 20 45 4e 44 53 0d 0a 0d 0a 4d 6f 6e 6f 53 63 09 53 45 47 4d 45 4e 54 20 41 54 20 30 Data.ENDS....MonoSc.SEGMENT.AT.0
26000 42 30 30 30 48 0d 0a 3b 2d 2d 2d 20 34 6b 20 6f 66 20 73 63 72 65 65 6e 20 6d 65 6d 6f 72 79 0d B000H..;---.4k.of.screen.memory.
26020 0a 4d 6f 6e 6f 53 63 09 45 4e 44 53 0d 0a 0d 0a 43 6f 6c 6f 72 53 63 20 53 45 47 4d 45 4e 54 20 .MonoSc.ENDS....ColorSc.SEGMENT.
26040 41 54 20 30 42 38 30 30 48 0d 0a 3b 2d 2d 2d 20 31 36 6b 20 6f 66 20 73 63 72 65 65 6e 20 6d 65 AT.0B800H..;---.16k.of.screen.me
26060 6d 6f 72 79 0d 0a 43 6f 6c 6f 72 53 63 20 45 4e 44 53 0d 0a 0d 0a 42 52 4b 41 44 52 09 65 71 75 mory..ColorSc.ENDS....BRKADR.equ
26080 09 30 30 36 43 48 09 09 09 3b 20 42 72 65 61 6b 20 76 65 63 74 6f 72 20 61 64 64 72 65 73 73 0d .006CH...;.Break.vector.address.
260a0 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 44 65 76 69 63 65 20 48 65 61 64 65 72 0d 0a 70 61 67 65 0d .....subttl.Device.Header..page.
260c0 0a 0d 0a 0d 0a 42 69 6f 73 53 65 67 09 09 67 72 6f 75 70 09 43 6f 64 65 2c 42 69 6f 73 49 6e 69 .....BiosSeg..group.Code,BiosIni
260e0 74 0d 0a 43 6f 64 65 09 53 65 67 6d 65 6e 74 20 62 79 74 65 20 70 75 62 6c 69 63 09 27 43 4f 44 t..Code.Segment.byte.public.'COD
26100 45 27 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d E'....;-------------------------
26120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 01 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ------------------.-------------
26140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 44 65 76 69 63 65 20 48 65 61 64 65 ----------------..;.Device.Heade
26160 72 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 63 73 3a 43 6f 64 65 2c 64 73 3a 4e 4f 54 48 49 4e r..;....assume.cs:Code,ds:NOTHIN
26180 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 2c 73 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 09 50 55 42 4c G,es:NOTHING,ss:NOTHING.....PUBL
261a0 49 43 09 43 4f 4e 44 45 56 0d 0a 49 46 09 49 4e 42 49 4f 53 0d 0a 09 65 78 74 72 6e 09 41 55 58 IC.CONDEV..IF.INBIOS...extrn.AUX
261c0 44 45 56 3a 46 41 52 0d 0a 43 4f 4e 44 45 56 09 64 64 09 41 55 58 44 45 56 0d 0a 45 4c 53 45 0d DEV:FAR..CONDEV.dd.AUXDEV..ELSE.
261e0 0a 43 4f 4e 44 45 56 09 64 77 09 30 46 46 46 46 68 2c 30 46 46 46 46 68 0d 0a 45 4e 44 49 46 09 .CONDEV.dw.0FFFFh,0FFFFh..ENDIF.
26200 3b 49 4e 42 49 4f 53 0d 0a 3b 2a 2a 2a 20 73 68 6f 75 6c 64 20 69 6f 63 74 6c 20 62 69 74 20 62 ;INBIOS..;***.should.ioctl.bit.b
26220 65 20 73 65 74 20 66 6f 72 20 67 65 6e 20 69 6f 63 74 6c 20 74 6f 6f 3f 0d 0a 09 64 77 09 31 31 e.set.for.gen.ioctl.too?...dw.11
26240 30 30 30 30 30 30 30 30 30 31 30 30 31 31 62 09 3b 20 63 6f 6e 73 6f 6c 65 20 69 6e 20 61 6e 64 00000000010011b.;.console.in.and
26260 20 6f 75 74 0d 0a 09 64 77 09 53 74 72 61 74 65 67 79 0d 0a 09 64 77 09 45 6e 74 72 79 0d 0a 09 .out...dw.Strategy...dw.Entry...
26280 64 62 09 22 43 4f 4e 20 20 20 20 20 22 0d 0a 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d db."CON....."......;------------
262a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
262c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 ----------------------------..;.
262e0 43 6f 6d 6d 61 6e 64 20 64 69 73 70 61 74 63 68 20 74 61 62 6c 65 0d 0a 3b 0d 0a 0d 0a 43 6f 6d Command.dispatch.table..;....Com
26300 54 62 6c 3a 0d 0a 3b 2d 2d 2d 20 32 2e 30 0d 0a 09 64 77 09 4f 46 46 53 45 54 20 42 69 6f 73 53 Tbl:..;---.2.0...dw.OFFSET.BiosS
26320 65 67 3a 24 43 6f 6e 49 6e 69 74 09 3b 20 49 6e 69 74 69 01 61 6c 69 7a 61 74 69 6f 6e 20 66 75 eg:$ConInit.;.Initi.alization.fu
26340 6e 63 74 69 6f 6e 0d 0a 09 64 77 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 4d 65 nction...dw.StatusComplete..;.Me
26360 64 69 61 20 43 68 65 63 6b 0d 0a 09 64 77 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b dia.Check...dw.StatusComplete..;
26380 20 42 75 69 6c 64 20 42 50 42 0d 0a 09 64 77 09 43 6d 64 45 72 72 09 09 09 3b 20 49 4f 43 54 4c .Build.BPB...dw.CmdErr...;.IOCTL
263a0 20 49 6e 70 75 74 0d 0a 09 64 77 09 24 43 6f 6e 52 65 61 64 09 09 3b 20 49 6e 70 75 74 20 28 52 .Input...dw.$ConRead..;.Input.(R
263c0 65 61 64 29 0d 0a 09 64 77 09 24 43 6f 6e 52 64 6e 64 09 09 3b 20 4e 6f 6e 2d 44 65 73 74 72 75 ead)...dw.$ConRdnd..;.Non-Destru
263e0 63 74 69 76 65 20 72 65 61 64 2c 20 6e 6f 20 77 61 69 74 0d 0a 09 64 77 09 53 74 61 74 75 73 43 ctive.read,.no.wait...dw.StatusC
26400 6f 6d 70 6c 65 74 65 09 09 3b 20 49 6e 70 75 74 20 53 74 61 74 75 73 0d 0a 09 64 77 09 24 43 6f omplete..;.Input.Status...dw.$Co
26420 6e 46 6c 73 68 09 09 3b 20 49 6e 70 75 74 20 46 6c 75 73 68 0d 0a 09 64 77 09 24 43 6f 6e 57 72 nFlsh..;.Input.Flush...dw.$ConWr
26440 69 74 09 09 3b 20 4f 75 74 70 75 74 20 28 57 72 69 74 65 29 0d 0a 09 64 77 09 24 43 6f 6e 57 72 it..;.Output.(Write)...dw.$ConWr
26460 69 74 09 09 3b 20 4f 75 74 70 75 74 20 77 69 74 68 20 76 65 72 69 66 79 0d 0a 09 64 77 09 53 74 it..;.Output.with.verify...dw.St
26480 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 4f 75 74 70 75 74 20 53 74 61 74 75 73 0d 0a 09 atusComplete..;.Output.Status...
264a0 64 77 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 4f 75 74 70 75 74 20 46 6c 75 73 dw.StatusComplete..;.Output.Flus
264c0 68 0d 0a 09 64 77 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 49 4f 43 54 4c 20 4f h...dw.StatusComplete..;.IOCTL.O
264e0 75 74 70 75 74 0d 0a 3b 2d 2d 2d 20 33 2e 30 0d 0a 09 64 77 09 53 74 61 74 75 73 43 6f 6d 70 6c utput..;---.3.0...dw.StatusCompl
26500 65 74 65 09 09 3b 20 44 65 76 69 63 65 20 4f 70 65 6e 0d 0a 09 64 77 09 53 74 61 74 75 73 43 6f ete..;.Device.Open...dw.StatusCo
26520 6d 70 6c 65 74 65 09 09 3b 20 44 65 76 69 63 65 20 43 6c 6f 01 73 65 0d 0a 09 64 77 09 53 74 61 mplete..;.Device.Clo.se...dw.Sta
26540 74 75 73 43 6f 6d 70 6c 65 74 65 09 09 3b 20 52 65 6d 6f 76 61 62 6c 65 20 4d 65 64 69 61 0d 0a tusComplete..;.Removable.Media..
26560 3b 2d 2d 2d 20 34 2e 30 0d 0a 09 64 77 09 24 47 65 6e 49 4f 43 54 4c 09 09 3b 20 47 65 6e 65 72 ;---.4.0...dw.$GenIOCTL..;.Gener
26580 69 63 20 49 4f 43 54 4c 0d 0a 09 64 77 09 24 43 6f 6e 53 74 6f 70 09 09 3b 20 50 61 75 73 65 20 ic.IOCTL...dw.$ConStop..;.Pause.
265a0 44 65 76 69 63 65 0d 0a 09 64 77 09 24 43 6f 6e 53 74 61 72 74 09 09 3b 20 43 6f 6e 74 69 6e 75 Device...dw.$ConStart..;.Continu
265c0 65 20 44 65 76 69 63 65 0d 0a 0d 0a 43 6f 6d 54 62 6c 45 6e 64 3a 0d 0a 0d 0a 43 54 53 49 5a 45 e.Device....ComTblEnd:....CTSIZE
265e0 09 65 71 75 09 28 43 6f 6d 54 62 6c 45 6e 64 20 2d 20 43 6f 6d 54 62 6c 29 2f 32 09 3b 20 6e 75 .equ.(ComTblEnd.-.ComTbl)/2.;.nu
26600 6d 62 65 72 20 6f 66 20 74 61 62 6c 65 20 65 6e 74 72 69 65 73 0d 0a 0d 0a 0d 0a 73 75 62 74 74 mber.of.table.entries......subtt
26620 6c 09 44 65 76 69 63 65 20 44 61 74 61 20 41 72 65 61 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d l.Device.Data.Area..page....;---
26640 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
26660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
26680 2d 2d 2d 2d 2d 0d 0a 3b 09 44 65 76 69 63 65 20 44 61 74 61 20 41 72 65 61 0d 0a 3b 0d 0a 0d 0a -----..;.Device.Data.Area..;....
266a0 53 61 76 65 46 6c 67 20 64 62 09 30 09 09 09 3b 20 53 63 72 65 65 6e 20 62 65 69 6e 67 20 73 61 SaveFlg.db.0...;.Screen.being.sa
266c0 76 65 64 20 66 6c 61 67 2c 20 28 74 72 75 65 20 3d 20 31 29 0d 0a 49 46 09 49 4e 42 49 4f 53 0d ved.flag,.(true.=.1)..IF.INBIOS.
266e0 0a 09 45 58 54 52 4e 09 44 6f 73 46 75 6e 63 74 69 6f 6e 3a 44 57 4f 52 44 0d 0a 45 4c 53 45 0d ..EXTRN.DosFunction:DWORD..ELSE.
26700 0a 44 6f 73 46 75 6e 63 74 69 6f 6e 20 64 64 09 3f 09 09 09 3b 20 70 6f 69 6e 74 65 72 20 74 6f .DosFunction.dd.?...;.pointer.to
26720 20 64 6f 73 20 22 68 65 6c 70 65 72 22 20 66 75 6e 63 74 69 6f 05 11 00 09 02 01 02 03 04 05 06 .dos."helper".functio...........
26740 07 08 09 01 6e 73 0d 0a 45 4e 44 49 46 09 3b 49 4e 42 49 4f 53 0d 0a 41 6c 74 41 48 09 64 62 09 ....ns..ENDIF.;INBIOS..AltAH.db.
26760 30 09 09 09 3b 20 53 69 64 65 20 62 75 66 66 65 72 20 66 6f 72 20 69 6e 70 75 74 0d 0a 43 75 72 0...;.Side.buffer.for.input..Cur
26780 72 53 63 09 64 77 09 30 09 09 09 3b 20 43 75 72 72 65 6e 74 20 73 63 72 65 65 6e 20 6e 75 6d 62 rSc.dw.0...;.Current.screen.numb
267a0 65 72 0d 0a 43 75 72 72 53 49 42 20 64 77 09 53 49 42 09 09 09 3b 20 6f 66 66 73 65 74 20 74 6f er..CurrSIB.dw.SIB...;.offset.to
267c0 20 74 68 65 20 63 75 72 72 65 6e 74 20 53 49 42 0d 0a 53 49 42 09 53 49 42 73 74 09 4d 61 78 53 .the.current.SIB..SIB.SIBst.MaxS
267e0 49 42 20 64 75 70 20 28 3c 3e 29 09 09 3b 20 61 6c 6c 6f 63 61 74 65 20 72 6f 6f 6d 20 66 6f 72 IB.dup.(<>)..;.allocate.room.for
26800 20 53 49 42 27 73 0d 0a 0d 0a 49 46 09 45 41 47 4c 45 0d 0a 53 63 72 65 65 6e 4c 65 6e 09 64 62 .SIB's....IF.EAGLE..ScreenLen.db
26820 09 30 38 68 09 09 3b 20 74 61 62 6c 65 20 6f 66 20 28 68 69 67 68 20 62 79 74 65 20 6f 66 29 20 .08h..;.table.of.(high.byte.of).
26840 72 65 67 65 6e 2e 20 62 75 66 66 65 72 0d 0a 09 09 64 62 09 30 38 68 09 09 3b 20 20 6c 65 6e 2e regen..buffer....db.08h..;..len.
26860 20 20 49 6e 64 65 78 65 64 20 62 79 20 73 63 72 65 65 6e 20 6d 6f 64 65 2e 0d 0a 09 09 64 62 09 ..Indexed.by.screen.mode.....db.
26880 31 30 68 09 09 3b 20 38 30 78 32 35 20 74 65 78 74 20 6d 6f 64 65 73 0d 0a 09 09 64 62 09 31 30 10h..;.80x25.text.modes....db.10
268a0 68 0d 0a 09 09 64 62 09 34 30 68 09 09 3b 20 67 72 61 70 68 69 63 73 20 6d 6f 64 65 73 0d 0a 09 h....db.40h..;.graphics.modes...
268c0 09 64 62 09 34 30 68 0d 0a 09 09 64 62 09 34 30 68 0d 0a 09 09 64 62 09 31 30 68 09 09 3b 20 6d .db.40h....db.40h....db.10h..;.m
268e0 6f 6e 6f 63 68 72 6f 6d 65 0d 0a 45 4e 44 49 46 0d 0a 0d 0a 0d 0a 49 46 44 45 46 09 44 45 42 55 onochrome..ENDIF......IFDEF.DEBU
26900 47 46 4c 47 0d 0a 49 46 09 49 4e 42 49 4f 53 0d 0a 09 45 58 54 52 4e 09 42 55 47 42 49 54 53 3a GFLG..IF.INBIOS...EXTRN.BUGBITS:
26920 42 59 54 45 2c 44 50 52 49 4e 54 46 3a 4e 45 41 52 0d 0a 45 4c 53 45 0d 0a 42 55 47 42 49 54 53 BYTE,DPRINTF:NEAR..ELSE..BUGBITS
26940 20 64 62 09 01 30 66 66 68 2c 30 66 66 68 0d 0a 45 4e 44 49 46 0d 0a 45 4e 44 49 46 0d 0a 0d 0a .db..0ffh,0ffh..ENDIF..ENDIF....
26960 73 75 62 74 74 6c 09 44 65 76 69 63 65 20 45 6e 74 72 79 20 50 6f 69 6e 74 73 0d 0a 70 61 67 65 subttl.Device.Entry.Points..page
26980 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....;---------------------------
269a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
269c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 32 2e 30 20 49 6e 74 65 72 72 75 70 74 20 52 -------------..;.2.0.Interrupt.R
269e0 6f 75 74 69 6e 65 20 28 4e 6f 74 20 55 73 65 64 29 0d 0a 3b 0d 0a 0d 0a 45 6e 74 72 79 50 09 70 outine.(Not.Used)..;....EntryP.p
26a00 72 6f 63 09 66 61 72 0d 0a 45 6e 74 72 79 3a 09 72 65 74 0d 0a 45 6e 74 72 79 50 09 65 6e 64 70 roc.far..Entry:.ret..EntryP.endp
26a20 0d 0a 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ......;-------------------------
26a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
26a60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 32 2e 30 20 53 74 72 61 74 65 67 79 20 ---------------..;.2.0.Strategy.
26a80 52 6f 75 74 69 6e 65 2c 20 6d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 0d 0a 3b 0d 0a 3b 20 Routine,.main.entry.point..;..;.
26aa0 65 6e 74 72 79 0d 0a 3b 09 45 53 3a 42 58 09 70 6f 69 6e 74 73 20 74 6f 20 52 65 71 75 65 73 74 entry..;.ES:BX.points.to.Request
26ac0 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d 0a 53 74 72 61 74 50 09 70 72 6f 63 09 66 61 72 0d 0a 0d .packet..;....StratP.proc.far...
26ae0 0a 53 74 72 61 74 65 67 79 3a 0d 0a 49 46 09 49 4e 42 49 4f 53 0d 0a 09 65 78 74 72 6e 09 49 6e .Strategy:..IF.INBIOS...extrn.In
26b00 74 65 72 72 75 70 74 3a 4e 45 41 52 0d 0a 0d 0a 09 70 75 73 68 09 73 69 0d 0a 09 6d 6f 76 09 73 terrupt:NEAR.....push.si...mov.s
26b20 69 2c 4f 46 46 53 45 54 20 43 53 3a 43 6f 6d 54 62 6c 0d 0a 09 6a 6d 70 09 49 6e 74 65 72 72 75 i,OFFSET.CS:ComTbl...jmp.Interru
26b40 70 74 0d 0a 45 01 4c 53 45 0d 0a 09 70 75 73 68 09 61 78 09 09 09 3b 20 73 61 76 65 20 61 6c 6c pt..E.LSE...push.ax...;.save.all
26b60 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 70 75 73 68 09 73 69 0d 0a ...push.cx...push.dx...push.si..
26b80 09 70 75 73 68 09 64 69 0d 0a 09 70 75 73 68 09 62 70 0d 0a 09 70 75 73 68 09 64 73 0d 0a 0d 0a .push.di...push.bp...push.ds....
26ba0 09 70 75 73 68 09 65 73 09 09 09 3b 20 44 53 20 3d 20 45 53 0d 0a 09 70 6f 70 09 64 73 0d 0a 0d .push.es...;.DS.=.ES...pop.ds...
26bc0 0a 09 70 75 73 68 09 65 73 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 6d 6f 76 09 61 6c 2c 20 62 79 ..push.es...push.bx...mov.al,.by
26be0 74 65 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 43 4d 44 0d 0a 09 63 6d 70 09 61 6c 2c 43 54 53 49 te.ptr.ds:[bx].CMD...cmp.al,CTSI
26c00 5a 45 09 09 3b 20 43 6f 6d 6d 61 6e 64 20 77 69 74 68 69 6e 20 72 61 6e 67 65 3f 0d 0a 09 6a 61 ZE..;.Command.within.range?...ja
26c20 65 09 43 6d 64 45 72 72 09 09 09 3b 20 6e 6f 20 6d 75 73 74 20 62 65 20 61 6e 20 65 72 72 6f 72 e.CmdErr...;.no.must.be.an.error
26c40 0d 0a 09 6d 6f 76 09 63 78 2c 20 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 43 4f 55 4e ...mov.cx,.word.ptr.ds:[bx].COUN
26c60 54 0d 0a 09 6c 65 73 09 64 69 2c 20 64 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 54 52 T...les.di,.dword.ptr.ds:[bx].TR
26c80 41 4e 53 0d 0a 09 78 6f 72 09 61 68 2c 61 68 0d 0a 09 6d 6f 76 09 73 69 2c 20 6f 66 66 73 65 74 ANS...xor.ah,ah...mov.si,.offset
26ca0 20 43 6f 6d 54 62 6c 0d 0a 09 61 64 64 09 73 69 2c 61 78 0d 0a 09 61 64 64 09 73 69 2c 61 78 0d .ComTbl...add.si,ax...add.si,ax.
26cc0 0a 0d 0a 09 6a 6d 70 09 77 6f 72 64 20 70 74 72 20 63 73 3a 5b 73 69 5d 09 3b 20 64 69 73 70 61 ....jmp.word.ptr.cs:[si].;.dispa
26ce0 74 63 68 0d 0a 45 4e 44 49 46 09 3b 49 4e 42 49 4f 53 0d 0a 0d 0a 53 74 72 61 74 50 09 65 6e 64 tch..ENDIF.;INBIOS....StratP.end
26d00 70 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 45 78 69 74 20 52 6f 75 74 69 6e 65 73 0d 0a 70 61 67 p......subttl.Exit.Routines..pag
26d20 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e....;--------------------------
26d40 2d 2d 2d 2d 2d 2d 01 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ------.-------------------------
26d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 45 78 69 74 20 52 6f 75 74 69 6e 65 73 ---------------..;.Exit.Routines
26d80 2c 20 43 6f 6d 6d 6f 6e 20 74 6f 20 61 6c 6c 20 64 65 76 69 63 65 20 66 75 6e 63 74 69 6f 6e 73 ,.Common.to.all.device.functions
26da0 0d 0a 3b 0d 0a 0d 0a 49 46 09 49 4e 42 49 4f 53 0d 0a 09 65 78 74 72 6e 09 53 74 61 74 75 73 43 ..;....IF.INBIOS...extrn.StatusC
26dc0 6f 6d 70 6c 65 74 65 3a 4e 45 41 52 2c 53 74 61 74 75 73 45 72 72 6f 72 3a 4e 45 41 52 2c 53 74 omplete:NEAR,StatusError:NEAR,St
26de0 61 74 75 73 44 65 76 52 65 61 64 79 3a 4e 45 41 52 0d 0a 09 65 78 74 72 6e 09 43 6d 64 45 72 72 atusDevReady:NEAR...extrn.CmdErr
26e00 3a 4e 45 41 52 0d 0a 45 4c 53 45 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 :NEAR..ELSE....assume.ds:NOTHING
26e20 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 53 74 61 74 75 73 44 65 76 52 65 61 64 79 3a 0d 0a ,es:NOTHING....StatusDevReady:..
26e40 09 6d 6f 76 09 61 68 2c 30 30 30 30 30 30 31 31 62 09 09 3b 20 64 65 76 69 63 65 20 62 75 73 79 .mov.ah,00000011b..;.device.busy
26e60 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 65 72 72 45 78 0d 0a 0d 0a 43 6d 64 45 72 72 3a 0d 0a 09 ...jmp.short.errEx....CmdErr:...
26e80 6d 6f 76 09 61 6c 2c 33 09 09 09 3b 20 55 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e 64 20 45 72 72 mov.al,3...;.Unknown.command.Err
26ea0 6f 72 0d 0a 53 74 61 74 75 73 45 72 72 6f 72 3a 0d 0a 09 6d 6f 76 09 61 68 2c 31 30 30 30 30 30 or..StatusError:...mov.ah,100000
26ec0 30 31 62 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 65 72 72 45 78 0d 0a 0d 0a 45 78 69 74 50 09 70 01b...jmp.short.errEx....ExitP.p
26ee0 72 6f 63 09 66 61 72 0d 0a 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 3a 09 6d 6f 76 09 61 68 2c roc.far..StatusComplete:.mov.ah,
26f00 30 30 30 30 30 30 30 31 62 0d 0a 65 72 72 45 78 3a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 09 65 00000001b..errEx:.pop.bx...pop.e
26f20 73 0d 0a 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 65 73 3a 5b 62 78 5d 2e 53 54 41 54 55 s.....mov.word.ptr.es:[bx].STATU
26f40 53 2c 61 78 09 3b 20 01 70 75 74 20 73 74 61 74 75 73 20 6f 75 74 0d 0a 0d 0a 09 70 6f 70 09 64 S,ax.;..put.status.out.....pop.d
26f60 73 0d 0a 09 70 6f 70 09 62 70 0d 0a 09 70 6f 70 09 64 69 0d 0a 09 70 6f 70 09 73 69 0d 0a 09 70 s...pop.bp...pop.di...pop.si...p
26f80 6f 70 09 64 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 70 6f 70 09 61 78 0d 0a 09 72 65 74 0d 0a 45 op.dx...pop.cx...pop.ax...ret..E
26fa0 78 69 74 50 09 65 6e 64 70 0d 0a 0d 0a 45 4e 44 49 46 09 3b 49 4e 42 49 4f 53 0d 0a 0d 0a 0d 0a xitP.endp....ENDIF.;INBIOS......
26fc0 73 75 62 74 74 6c 09 42 72 65 61 6b 20 2d 20 42 72 65 61 6b 20 69 6e 74 65 72 72 75 70 74 20 72 subttl.Break.-.Break.interrupt.r
26fe0 6f 75 74 69 6e 65 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d outine..page....;---------------
27000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
27020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 42 72 65 -------------------------..;.Bre
27040 61 6b 20 69 6e 74 65 72 72 75 70 74 20 72 6f 75 74 69 6e 65 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d ak.interrupt.routine..;....assum
27060 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 42 72 65 61 6b e.ds:NOTHING,es:NOTHING....Break
27080 09 50 52 4f 43 09 4e 45 41 52 0d 0a 09 69 6e 74 09 33 32 48 09 09 09 3b 20 73 61 76 65 20 72 65 .PROC.NEAR...int.32H...;.save.re
270a0 67 69 73 74 65 72 73 0d 0a 09 63 6c 69 09 09 09 09 3b 20 69 6e 74 73 20 73 68 6f 75 6c 64 20 62 gisters...cli....;.ints.should.b
270c0 65 20 6f 66 66 2c 20 6d 61 6b 65 20 73 75 72 65 21 0d 0a 09 6d 6f 76 09 61 78 2c 52 6f 6d 44 61 e.off,.make.sure!...mov.ax,RomDa
270e0 74 61 0d 0a 09 6d 6f 76 09 64 73 2c 61 78 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 52 6f ta...mov.ds,ax......assume.ds:Ro
27100 6d 44 61 74 61 0d 0a 09 6d 6f 76 09 61 78 2c 6f 66 66 73 65 74 20 52 6f 6d 44 61 74 61 3a 4b 65 mData...mov.ax,offset.RomData:Ke
27120 79 42 75 66 66 65 72 0d 0a 09 6d 6f 76 09 5b 42 75 66 66 65 72 48 65 61 64 5d 2c 61 78 0d 0a 09 yBuffer...mov.[BufferHead],ax...
27140 6d 6f 76 09 5b 42 75 66 01 66 65 72 54 61 69 6c 5d 2c 61 78 0d 0a 20 20 20 20 61 73 73 75 6d 65 mov.[Buf.ferTail],ax......assume
27160 09 64 73 3a 4e 4f 54 48 49 4e 47 0d 0a 09 6d 6f 76 09 61 78 2c 33 09 09 09 3b 20 73 65 6e 64 20 .ds:NOTHING...mov.ax,3...;.send.
27180 63 68 61 72 20 74 6f 20 73 79 73 74 65 6d 0d 0a 09 6d 6f 76 20 20 20 20 20 64 78 2c 35 20 20 20 char.to.system...mov.....dx,5...
271a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 43 6f 6e 73 49 6e 70 75 74 46 69 6c 74 .................;.ConsInputFilt
271c0 65 72 20 73 75 62 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 20 20 20 20 5b 44 6f 73 46 75 6e er.subfunction...call....[DosFun
271e0 63 74 69 6f 6e 5d 0d 0a 09 6a 7a 09 62 72 6b 31 09 09 09 3b 20 6b 65 79 20 77 61 73 20 65 61 74 ction]...jz.brk1...;.key.was.eat
27200 65 6e 20 62 79 20 73 79 73 74 65 6d 0d 0a 09 6d 6f 76 09 5b 41 6c 74 41 48 5d 2c 61 6c 09 09 3b en.by.system...mov.[AltAH],al..;
27220 20 66 6f 72 63 65 20 61 20 5e 43 0d 0a 62 72 6b 31 3a 0d 0a 09 69 72 65 74 0d 0a 42 72 65 61 6b .force.a.^C..brk1:...iret..Break
27240 09 45 4e 44 50 0d 0a 0d 0a 53 55 42 54 54 4c 20 20 4b 65 79 62 6f 61 72 64 20 69 6e 74 65 72 72 .ENDP....SUBTTL..Keyboard.interr
27260 75 70 74 20 72 6f 75 74 69 6e 65 0d 0a 50 41 47 45 0d 0a 3b 20 52 65 70 6c 61 63 65 6d 65 6e 74 upt.routine..PAGE..;.Replacement
27280 20 66 6f 72 20 52 4f 4d 20 6b 65 79 62 6f 61 72 64 20 69 6e 74 65 72 72 75 70 74 2c 20 74 61 63 .for.ROM.keyboard.interrupt,.tac
272a0 6b 73 20 6f 6e 20 74 68 65 20 66 72 6f 6e 74 2e 0d 0a 3b 20 4f 6c 64 4b 65 79 49 6e 74 65 72 72 ks.on.the.front...;.OldKeyInterr
272c0 75 70 74 20 69 73 20 73 65 74 20 74 6f 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6e 74 65 6e 74 73 20 upt.is.set.to.original.contents.
272e0 6f 66 20 49 4e 54 20 30 39 48 2e 0d 0a 3b 20 54 68 65 20 69 6e 70 75 74 20 63 68 61 72 61 63 74 of.INT.09H...;.The.input.charact
27300 65 72 20 69 73 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 4f 2e 53 2e 20 63 6f 6e 73 6f 6c 65 er.is.passed.to.the.O.S..console
27320 20 69 6e 70 75 74 20 66 69 6c 74 65 72 0d 0a 3b 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 69 66 .input.filter..;.to.determine.if
27340 20 61 6e 79 20 73 70 65 63 01 69 61 6c 20 61 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 74 .any.spec.ial.action.should.be.t
27360 61 6b 65 6e 2e 20 20 54 68 65 20 66 69 6c 74 65 72 0d 0a 3b 20 72 65 74 75 72 6e 20 76 61 6c 75 aken...The.filter..;.return.valu
27380 65 20 69 6e 64 69 63 61 74 65 73 20 69 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 73 68 6f e.indicates.if.the.character.sho
273a0 75 6c 64 20 62 65 20 73 61 76 65 64 20 69 6e 20 74 68 65 0d 0a 3b 20 74 79 70 65 20 61 68 65 61 uld.be.saved.in.the..;.type.ahea
273c0 64 20 62 75 66 66 65 72 20 6f 72 20 69 66 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 64 69 73 63 d.buffer.or.if.it.should.be.disc
273e0 61 72 64 65 64 2e 20 20 41 20 6b 65 79 62 6f 61 72 64 0d 0a 3b 20 73 65 6d 61 70 68 6f 72 65 20 arded...A.keyboard..;.semaphore.
27400 65 78 69 73 74 73 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 66 20 61 20 70 72 6f 63 65 73 73 20 exists.to.indicate.if.a.process.
27420 69 73 20 77 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 2e 0d 0a 3b 20 49 66 20 74 68 65 20 is.waiting.for.input...;.If.the.
27440 6b 65 62 6f 61 72 64 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 73 65 74 20 61 6c 6c 20 6f 66 20 keboard.semaphore.is.set.all.of.
27460 74 68 65 20 70 72 6f 63 65 73 73 65 73 20 73 6c 65 65 70 69 6e 67 20 6f 6e 0d 0a 3b 20 69 74 20 the.processes.sleeping.on..;.it.
27480 61 72 65 20 77 6f 6b 65 6e 20 75 70 2e 0d 0a 0d 0a 4f 6c 64 4b 65 79 49 6e 74 65 72 72 75 70 74 are.woken.up.....OldKeyInterrupt
274a0 20 44 44 20 20 20 20 20 20 3f 0d 0a 4b 65 79 53 65 6d 20 20 20 20 20 20 20 20 20 20 64 62 20 20 .DD......?..KeySem..........db..
274c0 20 20 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 6e 6f 6e 2d 7a 65 72 6f 20 69 ....0...............;.non-zero.i
274e0 66 20 73 6f 6d 65 6f 6e 65 20 77 61 69 74 69 6e 67 20 6f 6e 20 69 6e 70 75 74 0d 0a 0d 0a 4b 65 f.someone.waiting.on.input....Ke
27500 79 62 6f 61 72 64 49 6e 74 65 72 72 75 70 74 20 20 20 20 20 20 20 50 52 4f 43 20 46 41 52 0d 0a yboardInterrupt.......PROC.FAR..
27520 09 49 4e 54 20 20 20 20 20 33 32 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .INT.....32H....................
27540 20 3b 20 53 61 76 65 20 72 65 01 67 73 0d 0a 09 4d 4f 56 20 20 20 20 20 41 58 2c 52 6f 6d 44 61 .;.Save.re.gs...MOV.....AX,RomDa
27560 74 61 0d 0a 09 4d 4f 56 20 20 20 20 20 44 53 2c 41 58 0d 0a 20 20 20 20 41 53 53 55 4d 45 20 20 ta...MOV.....DS,AX......ASSUME..
27580 20 20 20 20 44 53 3a 52 6f 6d 44 61 74 61 0d 0a 0d 0a 09 50 55 53 48 46 20 20 20 20 20 20 20 20 ....DS:RomData.....PUSHF........
275a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 53 61 76 65 20 66 6c 61 67 73 20 ...................;.Save.flags.
275c0 74 6f 20 73 69 6d 75 6c 61 74 65 20 49 4e 54 0d 0a 09 43 41 4c 4c 20 20 20 20 43 53 3a 4f 6c 64 to.simulate.INT...CALL....CS:Old
275e0 4b 65 79 49 6e 74 65 72 72 75 70 74 20 20 20 20 20 20 3b 20 4e 6f 77 20 64 6f 20 52 4f 4d 20 63 KeyInterrupt......;.Now.do.ROM.c
27600 6f 64 65 0d 0a 3b 20 4e 6f 77 20 74 65 6c 6c 20 44 4f 53 20 6b 65 79 62 6f 61 72 64 20 68 61 64 ode..;.Now.tell.DOS.keyboard.had
27620 20 63 68 61 72 0d 0a 09 63 6c 69 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .char...cli.....................
27640 20 20 20 20 20 20 20 20 3b 20 69 6e 74 65 72 72 75 70 74 73 20 6f 66 66 21 0d 0a 09 6d 6f 76 20 ........;.interrupts.off!...mov.
27660 20 20 20 20 62 78 2c 42 75 66 66 65 72 54 61 69 6c 20 20 20 20 20 20 20 20 20 20 20 3b 20 47 65 ....bx,BufferTail...........;.Ge
27680 74 20 74 61 69 6c 20 6f 66 20 71 75 65 75 65 0d 0a 09 63 6d 70 20 20 20 20 20 62 78 2c 42 75 66 t.tail.of.queue...cmp.....bx,Buf
276a0 66 65 72 48 65 61 64 20 20 20 20 20 20 20 20 20 20 20 3b 20 41 6e 79 74 68 69 6e 67 20 69 6e 20 ferHead...........;.Anything.in.
276c0 6b 65 79 62 6f 61 72 64 20 71 75 65 75 65 3f 0d 0a 09 4a 45 20 20 20 20 20 20 4e 6f 4b 65 79 20 keyboard.queue?...JE......NoKey.
276e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 4e 6f 2c 20 64 6f 6e 27 74 20 72 65 ..................;.No,.don't.re
27700 71 75 65 75 65 20 74 68 65 6e 0d 0a 09 64 65 63 20 20 20 20 20 62 78 0d 0a 09 64 65 63 20 20 20 queue.then...dec.....bx...dec...
27720 20 20 62 78 0d 0a 09 63 6d 70 20 20 20 20 20 62 78 2c 6f 66 66 73 65 74 20 52 6f 6d 44 61 74 61 ..bx...cmp.....bx,offset.RomData
27740 3a 4b 65 79 42 75 66 66 65 72 0d 01 0a 09 6a 61 65 20 20 20 20 20 6b 62 69 31 20 20 20 20 20 20 :KeyBuffer....jae.....kbi1......
27760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 6e 6f 20 77 72 61 70 20 61 72 6f 75 6e 64 20 69 ..............;.no.wrap.around.i
27780 6e 20 62 75 66 66 65 72 0d 0a 09 6d 6f 76 20 20 20 20 20 62 78 2c 6f 66 66 73 65 74 20 52 6f 6d n.buffer...mov.....bx,offset.Rom
277a0 44 61 74 61 3a 4b 65 79 42 75 66 66 65 72 2b 28 4b 65 79 42 75 66 4c 65 6e 2d 32 29 0d 0a 6b 62 Data:KeyBuffer+(KeyBufLen-2)..kb
277c0 69 31 3a 0d 0a 09 6d 6f 76 20 20 20 20 20 61 78 2c 5b 62 78 5d 20 20 20 20 20 20 20 20 20 20 20 i1:...mov.....ax,[bx]...........
277e0 20 20 20 20 20 20 3b 20 67 65 74 20 6c 61 73 74 20 71 75 65 75 65 64 20 63 68 61 72 2e 0d 0a 09 ......;.get.last.queued.char....
27800 6d 6f 76 20 20 20 20 20 64 78 2c 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mov.....dx,5....................
27820 3b 20 43 6f 6e 73 49 6e 70 75 74 46 69 6c 74 65 72 20 73 75 62 66 75 6e 63 74 69 6f 6e 0d 0a 09 ;.ConsInputFilter.subfunction...
27840 63 61 6c 6c 20 20 20 20 5b 44 6f 73 46 75 6e 63 74 69 6f 6e 5d 0d 0a 09 6a 6e 7a 20 20 20 20 20 call....[DosFunction]...jnz.....
27860 6b 62 69 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 6b 65 79 20 73 68 kbi2....................;.key.sh
27880 6f 75 6c 64 20 72 65 6d 61 69 6e 20 69 6e 20 62 75 66 66 65 72 0d 0a 09 6d 6f 76 20 20 20 20 20 ould.remain.in.buffer...mov.....
278a0 42 75 66 66 65 72 54 61 69 6c 2c 62 78 20 20 20 20 20 20 20 20 20 20 20 3b 20 64 69 73 63 61 72 BufferTail,bx...........;.discar
278c0 64 20 6b 65 79 20 66 72 6f 6d 20 62 75 66 66 65 72 0d 0a 09 6a 6d 70 20 20 20 20 20 53 48 4f 52 d.key.from.buffer...jmp.....SHOR
278e0 54 20 4e 6f 4b 65 79 0d 0a 6b 62 69 32 3a 0d 0a 09 63 6c 69 0d 0a 09 43 4d 50 20 20 20 20 20 4b T.NoKey..kbi2:...cli...CMP.....K
27900 65 79 53 65 6d 2c 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 4f 75 74 73 74 61 6e eySem,0................;.Outstan
27920 64 69 6e 67 20 72 65 71 75 65 73 74 3f 0d 0a 09 4a 45 20 20 20 20 20 20 4e 6f 4b 65 79 20 20 20 ding.request?...JE......NoKey...
27940 20 20 20 20 20 20 20 20 20 20 20 20 05 11 01 09 02 01 02 03 04 05 06 07 08 09 01 20 20 20 20 3b ...............................;
27960 20 4e 6f 2c 20 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e 69 74 65 64 20 65 69 74 68 65 72 0d 0a 09 .No,.may.not.be.inited.either...
27980 70 75 73 68 20 20 20 20 61 78 0d 0a 09 70 75 73 68 20 20 20 20 62 78 0d 0a 09 70 75 73 68 20 20 push....ax...push....bx...push..
279a0 20 20 63 78 0d 0a 09 70 75 73 68 20 20 20 20 64 78 0d 0a 09 6d 6f 76 20 20 20 20 20 61 78 2c 63 ..cx...push....dx...mov.....ax,c
279c0 73 0d 0a 09 6d 6f 76 20 20 20 20 20 62 78 2c 4f 46 46 53 45 54 20 4b 65 79 53 65 6d 0d 0a 09 6d s...mov.....bx,OFFSET.KeySem...m
279e0 6f 76 20 20 20 20 20 63 73 3a 62 79 74 65 20 70 74 72 20 5b 62 78 5d 2c 30 20 20 20 20 20 20 3b ov.....cs:byte.ptr.[bx],0......;
27a00 20 72 65 73 65 74 20 6b 65 79 62 6f 61 72 64 20 73 65 6d 61 70 68 6f 72 65 0d 0a 09 6d 6f 76 20 .reset.keyboard.semaphore...mov.
27a20 20 20 20 20 64 78 2c 31 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 50 ....dx,10...................;;.P
27a40 72 6f 63 52 75 6e 0d 0a 09 63 61 6c 6c 20 20 20 20 5b 44 6f 73 46 75 6e 63 74 69 6f 6e 5d 20 20 rocRun...call....[DosFunction]..
27a60 20 20 20 20 20 20 20 20 20 3b 20 61 77 61 6b 65 6e 20 61 6e 79 6f 6e 65 20 77 61 69 74 69 6e 67 .........;.awaken.anyone.waiting
27a80 20 6f 6e 20 69 6e 70 75 74 0d 0a 09 70 6f 70 20 20 20 20 20 64 78 0d 0a 09 70 6f 70 20 20 20 20 .on.input...pop.....dx...pop....
27aa0 20 63 78 0d 0a 09 70 6f 70 20 20 20 20 20 62 78 0d 0a 09 70 6f 70 20 20 20 20 20 61 78 0d 0a 4e .cx...pop.....bx...pop.....ax..N
27ac0 6f 4b 65 79 3a 0d 0a 09 49 52 45 54 0d 0a 4b 65 79 42 6f 61 72 64 49 6e 74 65 72 72 75 70 74 20 oKey:...IRET..KeyBoardInterrupt.
27ae0 20 20 20 20 20 20 45 4e 44 50 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ......ENDP....;-----------------
27b00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
27b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 20 4b 65 79 62 6f 61 72 64 20 49 4e 54 20 31 36 20 ------------..;.Keyboard.INT.16.
27b40 69 6e 74 65 72 63 65 70 74 20 72 6f 75 74 69 6e 65 20 74 6f 20 61 6c 6c 6f 77 20 01 63 6f 6e 73 intercept.routine.to.allow..cons
27b60 6f 6c 65 20 69 6e 70 75 74 20 74 6f 20 73 6c 65 65 70 2e 0d 0a 3b 20 4f 6e 6c 79 20 63 6f 6e 73 ole.input.to.sleep...;.Only.cons
27b80 6f 6c 65 20 69 6e 70 75 74 20 66 75 6e 63 74 69 6f 6e 20 31 20 69 73 20 69 6e 74 65 72 63 65 70 ole.input.function.1.is.intercep
27ba0 74 65 64 2c 20 61 6c 6c 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 3b 20 61 72 65 20 ted,.all.other.functions..;.are.
27bc0 61 6c 6c 6f 77 65 64 20 74 6f 20 67 6f 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 52 4f allowed.to.go.directly.to.the.RO
27be0 4d 20 42 49 4f 53 2e 20 20 46 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 31 0d 0a 3b 20 74 M.BIOS...For.the.function.1..;.t
27c00 68 65 20 69 6e 70 75 74 20 73 74 61 74 75 73 20 69 73 20 63 68 65 63 6b 65 64 2c 20 69 66 20 61 he.input.status.is.checked,.if.a
27c20 20 63 68 61 72 61 63 74 65 72 20 69 73 20 72 65 61 64 79 20 74 68 65 20 66 75 6e 63 74 69 6f 6e .character.is.ready.the.function
27c40 0d 0a 3b 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 67 6f 20 74 6f 20 74 68 65 20 52 4f 4d 20 ..;.is.allowed.to.go.to.the.ROM.
27c60 42 49 4f 53 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 73 65 BIOS...Otherwise.the.keyboard.se
27c80 6d 61 70 68 6f 72 65 0d 0a 3b 20 69 73 20 73 65 74 20 61 6e 64 20 74 68 65 20 70 72 6f 63 65 73 maphore..;.is.set.and.the.proces
27ca0 73 20 69 73 20 70 75 74 20 74 6f 20 73 6c 65 65 70 20 6f 6e 20 74 68 65 20 61 64 64 72 65 73 73 s.is.put.to.sleep.on.the.address
27cc0 20 6f 66 20 74 68 65 0d 0a 3b 20 73 65 6d 61 70 68 6f 72 65 2e 20 20 57 68 65 6e 20 61 20 6b 65 .of.the..;.semaphore...When.a.ke
27ce0 79 20 69 73 20 74 79 70 65 64 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 6e 74 65 72 72 75 70 y.is.typed.the.keyboard.interrup
27d00 74 20 72 6f 75 74 69 6e 65 0d 0a 3b 20 77 69 6c 6c 20 77 61 6b 65 75 70 20 61 6e 79 20 70 72 6f t.routine..;.will.wakeup.any.pro
27d20 63 65 73 73 65 73 20 73 6c 65 65 70 69 6e 67 20 6f 6e 20 74 68 69 73 20 73 65 6d 61 70 68 6f 72 cesses.sleeping.on.this.semaphor
27d40 65 2e 0d 0a 3b 0d 0a 3b 20 20 20 20 20 20 20 57 41 52 4e 49 4e 47 3a 20 54 68 65 20 01 66 6f 6c e...;..;.......WARNING:.The..fol
27d60 6c 6f 77 69 6e 67 20 72 6f 75 74 69 6e 65 73 20 63 61 6e 20 62 65 20 65 6e 74 65 72 65 64 20 72 lowing.routines.can.be.entered.r
27d80 65 63 75 72 73 69 76 65 6c 79 0d 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 65 ecursively..;................due
27da0 20 74 6f 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 20 52 4f 4d 20 42 49 4f 53 20 72 .to.the.fact.that.the.ROM.BIOS.r
27dc0 6f 75 74 69 6e 65 73 20 63 61 6c 6c 65 64 0d 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 outines.called..;...............
27de0 20 72 65 65 6e 61 62 6c 65 20 69 6e 74 65 72 72 75 70 74 73 2e 20 20 49 74 27 73 20 6e 6f 74 20 .reenable.interrupts...It's.not.
27e00 75 73 75 61 6c 6c 79 20 61 20 70 72 6f 62 6c 65 6d 0d 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 usually.a.problem..;............
27e20 20 20 20 20 73 69 6e 63 65 20 69 6e 74 65 72 72 75 70 74 73 20 77 69 6c 6c 20 67 65 6e 65 72 61 ....since.interrupts.will.genera
27e40 6c 6c 79 20 62 65 20 70 72 6f 63 65 73 73 65 64 20 66 61 73 74 65 72 0d 0a 3b 20 20 20 20 20 20 lly.be.processed.faster..;......
27e60 20 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 61 6e 79 6f 6e 65 20 63 61 6e 20 74 79 70 65 2e 0d ..........than.anyone.can.type..
27e80 0a 0d 0a 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 20 20 20 64 64 20 20 20 20 20 20 3f 0d 0a 53 63 ...OldKbdHandler...dd......?..Sc
27ea0 72 6e 49 6f 4f 6b 09 64 64 09 3f 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d rnIoOk.dd.?....;----------------
27ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
27ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 4b 65 79 42 6f 61 72 64 48 61 6e 64 6c 65 72 -------------....KeyBoardHandler
27f00 20 70 72 6f 63 20 20 20 20 66 61 72 0d 0a 09 6f 72 20 20 20 20 20 20 61 68 2c 61 68 0d 0a 09 6a .proc....far...or......ah,ah...j
27f20 65 20 20 20 20 20 20 44 6f 4c 6f 63 61 6c 52 65 61 64 0d 0a 09 63 6d 70 20 20 20 20 20 61 68 2c e......DoLocalRead...cmp.....ah,
27f40 31 0d 0a 09 6a 65 20 20 20 20 20 20 44 6f 4c 6f 63 61 6c 53 74 61 74 0d 0a 4f 6c 64 4b 01 42 69 1...je......DoLocalStat..OldK.Bi
27f60 6e 74 3a 0d 0a 09 6a 6d 70 20 20 20 20 20 5b 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 5d 0d 0a 0d nt:...jmp.....[OldKbdHandler]...
27f80 0a 44 6f 4c 6f 63 61 6c 53 74 61 74 3a 0d 0a 09 70 75 73 68 20 20 20 20 62 78 0d 0a 09 70 75 73 .DoLocalStat:...push....bx...pus
27fa0 68 20 20 20 20 64 73 0d 0a 09 6c 64 73 20 20 20 20 20 62 78 2c 53 63 72 6e 49 6f 4f 6b 0d 0a 09 h....ds...lds.....bx,ScrnIoOk...
27fc0 74 65 73 74 20 20 20 20 62 79 74 65 20 70 74 72 20 5b 62 78 5d 2c 30 46 46 68 0d 0a 09 70 6f 70 test....byte.ptr.[bx],0FFh...pop
27fe0 20 20 20 20 20 64 73 0d 0a 09 70 6f 70 20 20 20 20 20 62 78 0d 0a 09 6a 6e 7a 20 20 20 20 20 4f .....ds...pop.....bx...jnz.....O
28000 6c 64 4b 42 69 6e 74 0d 0a 09 78 6f 72 20 20 20 20 20 61 78 2c 61 78 0d 0a 09 72 65 74 20 20 20 ldKBint...xor.....ax,ax...ret...
28020 20 20 32 0d 0a 44 6f 49 6e 74 31 36 09 4c 41 42 45 4c 09 46 41 52 09 09 3b 20 65 6e 74 72 79 20 ..2..DoInt16.LABEL.FAR..;.entry.
28040 66 6f 72 20 43 68 72 49 6e 0d 0a 44 6f 4c 6f 63 61 6c 52 65 61 64 3a 0d 0a 09 70 75 73 68 20 20 for.ChrIn..DoLocalRead:...push..
28060 20 20 61 78 0d 0a 09 70 75 73 68 20 20 20 20 62 78 0d 0a 09 70 75 73 68 20 20 20 20 63 78 0d 0a ..ax...push....bx...push....cx..
28080 09 70 75 73 68 20 20 20 20 64 78 0d 0a 44 6f 4c 6f 63 61 6c 52 64 31 3a 0d 0a 09 70 75 73 68 20 .push....dx..DoLocalRd1:...push.
280a0 20 20 20 64 73 0d 0a 09 6c 64 73 20 20 20 20 20 62 78 2c 53 63 72 6e 49 6f 4f 6b 0d 0a 09 6d 6f ...ds...lds.....bx,ScrnIoOk...mo
280c0 76 20 20 20 20 20 61 78 2c 64 73 0d 0a 09 74 65 73 74 20 20 20 20 62 79 74 65 20 70 74 72 20 5b v.....ax,ds...test....byte.ptr.[
280e0 62 78 5d 2c 30 46 46 68 0d 0a 09 70 6f 70 20 20 20 20 20 64 73 0d 0a 09 6a 6e 7a 20 20 20 20 20 bx],0FFh...pop.....ds...jnz.....
28100 44 6f 4c 6f 63 61 6c 52 64 32 0d 0a 09 78 6f 72 20 20 20 20 20 63 78 2c 63 78 0d 0a 09 6d 6f 76 DoLocalRd2...xor.....cx,cx...mov
28120 20 20 20 20 20 64 78 2c 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 .....dx,9....................;;.
28140 50 72 6f 63 42 6c 6f 63 6b 0d 0a 09 63 61 6c 6c 20 20 20 20 5b 44 6f 73 46 75 6e 63 74 69 01 6f ProcBlock...call....[DosFuncti.o
28160 6e 5d 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 6c 65 65 70 20 75 6e 74 69 6c 20 61 20 73 63 72 n]...........;.sleep.until.a.scr
28180 65 65 6e 20 73 77 69 74 63 68 0d 0a 09 6a 6d 70 20 20 20 20 20 44 6f 4c 6f 63 61 6c 52 64 31 0d een.switch...jmp.....DoLocalRd1.
281a0 0a 0d 0a 44 6f 4c 6f 63 61 6c 52 64 32 3a 0d 0a 09 6d 6f 76 20 20 20 20 20 61 68 2c 31 20 20 20 ...DoLocalRd2:...mov.....ah,1...
281c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 67 65 74 20 63 6f 6e 73 6f 6c 65 20 73 .................;.get.console.s
281e0 74 61 74 75 73 0d 0a 09 70 75 73 68 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tatus...pushf...................
28200 20 20 20 20 20 20 20 20 3b 20 73 69 6d 75 6c 61 74 65 20 49 4e 54 20 74 6f 20 6f 6c 64 20 68 61 ........;.simulate.INT.to.old.ha
28220 6e 64 6c 65 72 0d 0a 09 63 6c 69 0d 0a 09 63 61 6c 6c 20 20 20 20 5b 4f 6c 64 4b 62 64 48 61 6e ndler...cli...call....[OldKbdHan
28240 64 6c 65 72 5d 0d 0a 09 63 6c 69 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dler]...cli.....................
28260 20 20 20 20 20 20 20 20 3b 20 73 75 62 66 75 6e 63 74 69 6f 6e 20 31 20 75 6e 63 6f 6e 64 69 74 ........;.subfunction.1.uncondit
28280 69 6f 6e 61 6c 6c 79 20 73 65 74 73 20 49 46 0d 0a 09 6a 6e 7a 20 20 20 20 20 4c 6f 63 61 6c 52 ionally.sets.IF...jnz.....LocalR
282a0 65 61 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 67 6f 20 72 65 61 64 20 63 68 61 72 ead...............;.go.read.char
282c0 61 63 74 65 72 0d 0a 09 6d 6f 76 20 20 20 20 20 61 78 2c 63 73 0d 0a 09 6d 6f 76 20 20 20 20 20 acter...mov.....ax,cs...mov.....
282e0 62 78 2c 4f 46 46 53 45 54 20 4b 65 79 53 65 6d 0d 0a 09 6d 6f 76 20 20 20 20 20 63 73 3a 62 79 bx,OFFSET.KeySem...mov.....cs:by
28300 74 65 20 70 74 72 20 5b 62 78 5d 2c 30 46 46 68 20 20 20 3b 20 73 65 74 20 6b 65 79 62 6f 61 72 te.ptr.[bx],0FFh...;.set.keyboar
28320 64 20 73 65 6d 61 70 68 6f 72 65 0d 0a 09 78 6f 72 20 20 20 20 20 63 78 2c 63 78 0d 0a 09 6d 6f d.semaphore...xor.....cx,cx...mo
28340 76 20 20 20 20 20 64 78 2c 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 01 v.....dx,9....................;.
28360 3b 20 50 72 6f 63 42 6c 6f 63 6b 0d 0a 09 63 61 6c 6c 20 20 20 20 5b 44 6f 73 46 75 6e 63 74 69 ;.ProcBlock...call....[DosFuncti
28380 6f 6e 5d 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 6c 65 65 70 20 75 6e 74 69 6c 20 61 20 63 68 on]...........;.sleep.until.a.ch
283a0 61 72 20 69 73 20 74 79 70 65 64 0d 0a 09 6a 6d 70 20 20 20 20 20 44 6f 4c 6f 63 61 6c 52 64 31 ar.is.typed...jmp.....DoLocalRd1
283c0 0d 0a 0d 0a 4c 6f 63 61 6c 52 65 61 64 3a 0d 0a 09 70 6f 70 20 20 20 20 20 64 78 0d 0a 09 70 6f ....LocalRead:...pop.....dx...po
283e0 70 20 20 20 20 20 63 78 0d 0a 09 70 6f 70 20 20 20 20 20 62 78 0d 0a 09 70 6f 70 20 20 20 20 20 p.....cx...pop.....bx...pop.....
28400 61 78 0d 0a 09 6a 6d 70 20 20 20 20 20 5b 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 5d 20 20 20 20 ax...jmp.....[OldKbdHandler]....
28420 20 20 20 20 20 3b 20 72 65 61 64 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 72 65 .....;.read.the.character.and.re
28440 74 75 72 6e 0d 0a 0d 0a 4b 65 79 42 6f 61 72 64 48 61 6e 64 6c 65 72 20 65 6e 64 70 0d 0a 0d 0a turn....KeyBoardHandler.endp....
28460 0d 0a 73 75 62 74 74 6c 09 24 43 6f 6e 52 65 61 64 20 2d 20 43 6f 6e 73 6f 6c 65 20 49 6e 70 75 ..subttl.$ConRead.-.Console.Inpu
28480 74 20 28 52 65 61 64 29 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t.(Read)..page....;-------------
284a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
284c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 43 ---------------------------..;.C
284e0 6f 6e 73 6f 6c 65 20 49 6e 70 75 74 20 28 52 65 61 64 29 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a onsole.Input.(Read)..;..;.entry:
28500 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 52 65 71 75 65 73 74 20 70 ..;.DS:BX.=.pointer.to.Request.p
28520 61 63 6b 65 74 0d 0a 3b 09 45 53 3a 44 49 20 3d 20 54 72 61 6e 73 66 65 72 20 61 64 64 72 65 73 acket..;.ES:DI.=.Transfer.addres
28540 73 0d 0a 3b 09 43 58 20 3d 20 43 6f 75 6e 74 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a s..;.CX.=.Count..;....assume.ds:
28560 01 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 24 43 6f 6e 52 65 61 64 3a .NOTHING,es:NOTHING....$ConRead:
28580 0d 0a 09 61 6e 64 09 63 78 2c 63 78 0d 0a 09 6a 6e 7a 09 6a 67 6c 32 0d 0a 09 6a 6d 70 09 43 52 ...and.cx,cx...jnz.jgl2...jmp.CR
285a0 45 78 69 74 0d 0a 3b 09 6a 63 78 7a 09 43 52 45 78 69 74 09 09 09 3b 20 6e 6f 20 63 68 61 72 73 Exit..;.jcxz.CRExit...;.no.chars
285c0 20 74 6f 20 72 65 61 64 20 42 55 47 42 55 47 20 72 65 73 74 6f 72 65 0d 0a 6a 67 6c 32 3a 09 63 .to.read.BUGBUG.restore..jgl2:.c
285e0 6c 64 09 09 09 09 3b 20 6d 61 6b 65 20 73 75 72 65 21 0d 0a 09 6d 6f 76 09 64 78 2c 77 6f 72 64 ld....;.make.sure!...mov.dx,word
28600 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 53 54 41 52 54 09 3b 20 67 65 74 20 73 63 72 65 65 6e 20 .ptr.ds:[bx].START.;.get.screen.
28620 6e 75 6d 62 65 72 0d 0a 09 63 6d 70 09 64 78 2c 28 4d 61 78 53 49 42 2d 31 29 09 09 3b 20 76 61 number...cmp.dx,(MaxSIB-1)..;.va
28640 6c 69 64 20 6e 75 6d 62 65 72 3f 0d 0a 09 6a 62 65 09 43 6f 6e 52 4c 6f 6f 70 09 09 3b 20 79 65 lid.number?...jbe.ConRLoop..;.ye
28660 73 2c 20 64 6f 20 69 6e 70 75 74 0d 0a 09 6d 6f 76 09 61 6c 2c 30 42 48 09 09 09 3b 20 6e 6f 2c s,.do.input...mov.al,0BH...;.no,
28680 20 52 45 41 44 20 46 41 55 4c 54 20 45 52 52 4f 52 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 45 72 .READ.FAULT.ERROR...jmp.StatusEr
286a0 72 6f 72 0d 0a 43 6f 6e 52 4c 6f 6f 70 3a 0d 0a 09 44 45 42 55 47 09 31 30 68 2c 31 2c 3c 43 4f ror..ConRLoop:...DEBUG.10h,1,<CO
286c0 4e 52 3a 24 78 3d 24 78 3f 20 3e 2c 3c 64 78 2c 43 75 72 72 53 63 3e 0d 0a 09 63 6d 70 09 64 78 NR:$x=$x?.>,<dx,CurrSc>...cmp.dx
286e0 2c 5b 43 75 72 72 53 63 5d 0d 0a 09 6a 65 09 73 6a 70 30 0d 0a 09 63 61 6c 6c 09 47 65 74 53 49 ,[CurrSc]...je.sjp0...call.GetSI
28700 42 41 64 72 09 09 3b 20 67 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 53 49 42 0d 0a BAdr..;.get.pointer.to.the.SIB..
28720 09 44 45 42 55 47 09 31 30 68 2c 31 2c 3c 42 6c 6f 63 6b 20 72 65 61 64 20 77 72 6f 6e 67 20 73 .DEBUG.10h,1,<Block.read.wrong.s
28740 63 72 65 65 6e 20 3e 2c 3c 3e 0d 0a 09 63 61 6c 6c 09 44 6f 50 42 6c 6f 63 6b 09 09 3b 20 62 6c creen.>,<>...call.DoPBlock..;.bl
28760 6f 01 63 6b 20 74 68 65 20 70 72 6f 63 65 73 73 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 43 6f 6e o.ck.the.process...jmp.short.Con
28780 52 4c 6f 6f 70 09 09 3b 20 74 65 73 74 20 66 6c 61 67 20 61 67 61 69 6e 0d 0a 73 6a 70 30 3a 0d RLoop..;.test.flag.again..sjp0:.
287a0 0a 09 63 61 6c 6c 09 43 68 72 49 6e 0d 0a 09 73 74 6f 73 62 0d 0a 3b 09 6c 6f 6f 70 09 43 6f 6e ..call.ChrIn...stosb..;.loop.Con
287c0 52 4c 6f 6f 70 0d 0a 09 6c 6f 6f 70 09 6a 67 6c 33 0d 0a 43 52 45 78 69 74 3a 20 6a 6d 70 09 53 RLoop...loop.jgl3..CRExit:.jmp.S
287e0 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 6a 67 6c 33 3a 09 6a 6d 70 09 43 6f 6e 52 4c tatusComplete....jgl3:.jmp.ConRL
28800 6f 6f 70 0d 0a 0d 0a 73 75 62 74 74 6c 09 43 68 72 49 6e 20 2d 20 52 65 61 64 20 61 20 73 69 6e oop....subttl.ChrIn.-.Read.a.sin
28820 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 49 6e 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d gle.character.In..page....;-----
28840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
28860 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
28880 2d 2d 2d 0d 0a 3b 09 52 65 61 64 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 49 ---..;.Read.a.single.character.I
288a0 6e 0d 0a 3b 0d 0a 3b 20 65 78 69 74 3a 0d 0a 3b 09 43 68 61 72 61 63 74 65 72 20 69 6e 20 41 4c n..;..;.exit:..;.Character.in.AL
288c0 0d 0a 3b 0d 0a 3b 20 6d 6f 64 69 66 69 65 73 3a 09 41 58 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 ..;..;.modifies:.AX..;....assume
288e0 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 43 68 72 49 6e 3a .ds:NOTHING,es:NOTHING....ChrIn:
28900 0d 0a 09 44 45 42 55 47 09 31 30 68 2c 31 2c 3c 69 6e 2e 43 68 72 49 6e 20 3e 2c 3c 3e 0d 0a 09 ...DEBUG.10h,1,<in.ChrIn.>,<>...
28920 78 6f 72 09 61 78 2c 61 78 0d 0a 09 78 63 68 67 09 61 6c 2c 5b 41 6c 74 41 48 5d 09 09 3b 20 47 xor.ax,ax...xchg.al,[AltAH]..;.G
28940 65 74 20 43 68 61 72 61 63 74 65 72 20 26 20 7a 65 72 6f 20 41 6c 74 41 48 0d 0a 09 6f 72 09 61 et.Character.&.zero.AltAH...or.a
28960 6c 2c 01 61 6c 09 09 09 3b 20 41 20 63 68 61 72 20 61 76 61 69 6c 61 62 6c 65 3f 0d 0a 09 6a 6e l,.al...;.A.char.available?...jn
28980 7a 09 4b 65 79 52 65 74 0d 0a 3b 0d 0a 3b 2d 2d 2d 20 4e 4f 54 45 3a 20 54 68 65 20 62 6c 6f 63 z.KeyRet..;..;---.NOTE:.The.bloc
289a0 6b 69 6e 67 20 6f 6e 20 72 65 61 64 20 69 73 20 64 6f 6e 65 20 61 74 20 69 6e 74 20 31 36 68 20 king.on.read.is.done.at.int.16h.
289c0 6c 65 76 65 6c 0d 0a 3b 09 69 6e 20 49 42 4d 42 49 4f 2e 20 4e 6f 20 6e 65 65 64 20 74 6f 20 62 level..;.in.IBMBIO..No.need.to.b
289e0 6c 6f 63 6b 20 68 65 72 65 2e 0d 0a 3b 0d 0a 09 44 45 42 55 47 09 31 30 68 2c 31 2c 3c 20 63 6f lock.here...;...DEBUG.10h,1,<.co
28a00 6e 2e 64 6f 2e 31 36 20 3e 2c 3c 3e 0d 0a 09 6d 6f 76 09 61 68 2c 30 09 09 09 3b 20 6e 6f 2c 20 n.do.16.>,<>...mov.ah,0...;.no,.
28a20 64 6f 20 61 20 72 65 61 64 20 63 61 6c 6c 0d 0a 09 70 75 73 68 66 0d 0a 09 63 61 6c 6c 09 44 6f do.a.read.call...pushf...call.Do
28a40 49 6e 74 31 36 0d 0a 3b 3b 09 69 6e 74 09 31 36 68 0d 0a 09 44 45 42 55 47 09 31 30 68 2c 31 2c Int16..;;.int.16h...DEBUG.10h,1,
28a60 3c 20 63 6f 6e 2e 67 6f 74 2e 24 78 20 3e 2c 3c 61 78 3e 0d 0a 09 6f 72 09 61 78 2c 61 78 09 09 <.con.got.$x.>,<ax>...or.ax,ax..
28a80 09 3b 20 63 68 65 63 6b 20 66 6f 72 20 6e 6f 6e 2d 6b 65 79 20 61 66 74 65 72 20 42 52 45 41 4b .;.check.for.non-key.after.BREAK
28aa0 0d 0a 09 6a 6e 7a 09 6a 67 6c 31 0d 0a 09 6a 6d 70 09 63 68 72 69 6e 0d 0a 0d 0a 6a 67 6c 31 3a ...jnz.jgl1...jmp.chrin....jgl1:
28ac0 09 63 6d 70 09 61 78 2c 37 32 30 30 68 09 09 3b 20 43 54 52 4c 2d 50 52 54 53 43 20 3f 0d 0a 09 .cmp.ax,7200h..;.CTRL-PRTSC.?...
28ae0 6a 6e 7a 09 73 6a 61 30 0d 0a 09 6d 6f 76 09 61 6c 2c 31 30 68 09 09 09 3b 20 79 65 73 2c 20 6d jnz.sja0...mov.al,10h...;.yes,.m
28b00 61 6b 65 20 69 74 20 61 20 63 74 72 6c 2d 50 0d 0a 73 6a 61 30 3a 09 6f 72 09 61 6c 2c 61 6c 09 ake.it.a.ctrl-P..sja0:.or.al,al.
28b20 09 09 3b 20 73 70 65 63 69 61 6c 20 63 61 73 65 3f 0d 0a 09 6a 6e 7a 09 4b 65 79 52 65 74 0d 0a ..;.special.case?...jnz.KeyRet..
28b40 09 6d 6f 76 09 5b 41 6c 74 41 48 5d 2c 61 68 0d 0a 4b 65 79 52 65 74 3a 0d 0a 09 72 65 74 0d 0a .mov.[AltAH],ah..KeyRet:...ret..
28b60 0d 0a 0d 05 12 00 09 02 01 02 03 04 05 06 07 08 09 01 0a 73 75 62 74 74 6c 09 24 43 6f 6e 52 64 ...................subttl.$ConRd
28b80 6e 64 20 2d 20 43 6f 6e 73 6f 6c 65 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 49 6e 70 nd.-.Console.non-destructive.Inp
28ba0 75 74 2c 20 6e 6f 20 77 61 69 74 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ut,.no.wait..page....;----------
28bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
28be0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a ------------------------------..
28c00 3b 09 43 6f 6e 73 6f 6c 65 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 49 6e 70 75 74 2c ;.Console.non-destructive.Input,
28c20 20 6e 6f 20 77 61 69 74 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 44 53 3a 42 58 20 3d .no.wait..;..;.entry:..;.DS:BX.=
28c40 20 70 6f 69 6e 74 65 72 20 74 6f 20 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d .pointer.to.Request.packet..;...
28c60 0a 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d .assume.ds:NOTHING,es:NOTHING...
28c80 0a 24 43 6f 6e 52 64 6e 64 3a 0d 0a 09 6d 6f 76 09 64 78 2c 77 6f 72 64 20 70 74 72 20 64 73 3a .$ConRdnd:...mov.dx,word.ptr.ds:
28ca0 5b 62 78 5d 2e 53 54 41 52 54 09 3b 20 67 65 74 20 73 63 72 65 65 6e 20 6e 75 6d 62 65 72 0d 0a [bx].START.;.get.screen.number..
28cc0 09 63 6d 70 09 64 78 2c 28 4d 61 78 53 49 42 2d 31 29 09 09 3b 20 76 61 6c 69 64 20 6e 75 6d 62 .cmp.dx,(MaxSIB-1)..;.valid.numb
28ce0 65 72 3f 0d 0a 09 6a 62 65 09 73 6a 71 30 09 09 09 3b 20 79 65 73 2c 20 64 6f 20 69 6e 70 75 74 er?...jbe.sjq0...;.yes,.do.input
28d00 0d 0a 09 6d 6f 76 09 61 6c 2c 30 42 48 09 09 09 3b 20 6e 6f 2c 20 52 45 41 44 20 46 41 55 4c 54 ...mov.al,0BH...;.no,.READ.FAULT
28d20 20 45 52 52 4f 52 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 45 72 72 6f 72 0d 0a 73 6a 71 30 3a 0d .ERROR...jmp.StatusError..sjq0:.
28d40 0a 09 44 45 42 55 47 09 31 30 68 2c 31 2c 3c 43 4e 44 52 3a 24 78 3d 24 78 3f 20 3e 2c 3c 64 78 ..DEBUG.10h,1,<CNDR:$x=$x?.>,<dx
28d60 2c 43 75 72 72 53 63 3e 0d 0a 09 63 6d 70 09 64 78 2c 01 5b 43 75 72 72 53 63 5d 0d 0a 49 46 44 ,CurrSc>...cmp.dx,.[CurrSc]..IFD
28d80 45 46 09 44 45 42 55 47 46 4c 47 0d 0a 09 6a 65 09 73 6a 71 31 0d 0a 09 6a 6d 70 09 43 6f 6e 42 EF.DEBUGFLG...je.sjq1...jmp.ConB
28da0 75 73 0d 0a 45 4c 53 45 0d 0a 09 6a 6e 65 09 43 6f 6e 42 75 73 09 09 09 3b 20 6e 6f 74 20 63 75 us..ELSE...jne.ConBus...;.not.cu
28dc0 72 72 65 6e 74 20 73 63 72 65 65 6e 2c 20 6e 6f 20 63 68 61 72 20 61 76 61 69 6c 0d 0a 45 4e 44 rrent.screen,.no.char.avail..END
28de0 49 46 0d 0a 3b 09 63 61 6c 6c 09 47 65 74 53 49 42 41 64 72 09 09 3b 20 67 65 74 20 70 6f 69 6e IF..;.call.GetSIBAdr..;.get.poin
28e00 74 65 72 20 74 6f 20 74 68 65 20 53 49 42 0d 0a 3b 09 63 61 6c 6c 09 44 6f 50 42 6c 6f 63 6b 09 ter.to.the.SIB..;.call.DoPBlock.
28e20 09 3b 20 62 6c 6f 63 6b 20 74 68 65 20 70 72 6f 63 65 73 73 0d 0a 3b 09 6a 6d 70 09 73 68 6f 72 .;.block.the.process..;.jmp.shor
28e40 74 20 73 6a 71 30 09 09 3b 20 74 65 73 74 20 66 6c 61 67 20 61 67 61 69 6e 0d 0a 73 6a 71 31 3a t.sjq0..;.test.flag.again..sjq1:
28e60 0d 0a 09 6d 6f 76 09 61 6c 2c 5b 41 6c 74 41 48 5d 09 09 3b 20 63 68 61 72 20 61 76 61 69 6c 20 ...mov.al,[AltAH]..;.char.avail.
28e80 61 6c 72 65 61 64 79 3f 0d 0a 09 6f 72 09 61 6c 2c 61 6c 0d 0a 09 6a 6e 7a 09 72 64 45 78 69 74 already?...or.al,al...jnz.rdExit
28ea0 0d 0a 09 44 45 42 55 47 09 31 30 68 2c 31 2c 3c 20 4e 52 44 3a 64 6f 2e 31 36 20 3e 2c 3c 3e 0d ...DEBUG.10h,1,<.NRD:do.16.>,<>.
28ec0 0a 09 6d 6f 76 09 61 68 2c 31 09 09 09 3b 20 6e 6f 2c 20 67 65 74 20 73 74 61 74 75 73 0d 0a 09 ..mov.ah,1...;.no,.get.status...
28ee0 69 6e 74 09 31 36 68 0d 0a 09 6a 7a 09 43 6f 6e 42 75 73 0d 0a 09 44 45 42 55 47 09 31 30 68 2c int.16h...jz.ConBus...DEBUG.10h,
28f00 31 2c 3c 20 4e 52 44 3a 6e 6f 6e 62 75 73 20 24 78 20 3e 2c 3c 61 78 3e 0d 0a 09 6f 72 09 61 78 1,<.NRD:nonbus.$x.>,<ax>...or.ax
28f20 2c 61 78 0d 0a 09 6a 6e 7a 09 4e 6f 74 42 6b 09 09 09 3b 20 43 68 65 63 6b 20 66 6f 72 20 6e 75 ,ax...jnz.NotBk...;.Check.for.nu
28f40 6c 6c 20 61 66 74 65 72 20 62 72 65 61 6b 0d 0a 09 6d 6f 76 09 61 68 2c 30 09 09 09 3b 20 66 6c ll.after.break...mov.ah,0...;.fl
28f60 75 73 68 20 74 68 65 20 6e 75 6c 6c 0d 0a 09 69 6e 74 09 01 31 36 68 0d 0a 09 6a 6d 70 09 24 43 ush.the.null...int..16h...jmp.$C
28f80 6f 6e 52 64 6e 64 09 09 3b 20 74 72 79 20 61 67 61 69 6e 0d 0a 3b 09 6a 6d 70 09 73 68 6f 72 74 onRdnd..;.try.again..;.jmp.short
28fa0 20 24 43 6f 6e 52 64 6e 64 09 09 3b 20 74 72 79 20 61 67 61 69 6e 20 42 55 47 42 55 47 0d 0a 4e .$ConRdnd..;.try.again.BUGBUG..N
28fc0 6f 74 42 6b 3a 0d 0a 09 63 6d 70 09 61 78 2c 37 32 30 30 68 09 09 3b 20 43 54 52 4c 2d 50 52 54 otBk:...cmp.ax,7200h..;.CTRL-PRT
28fe0 53 43 20 3f 0d 0a 09 6a 6e 7a 09 72 64 45 78 69 74 0d 0a 09 6d 6f 76 09 61 6c 2c 31 30 68 09 09 SC.?...jnz.rdExit...mov.al,10h..
29000 09 3b 20 79 65 73 2c 20 6d 61 6b 65 20 69 74 20 61 20 63 74 72 6c 2d 50 0d 0a 72 64 45 78 69 74 .;.yes,.make.it.a.ctrl-P..rdExit
29020 3a 0d 0a 09 6d 6f 76 09 62 79 74 65 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 4d 45 44 49 41 2c 61 :...mov.byte.ptr.ds:[bx].MEDIA,a
29040 6c 09 3b 20 73 61 76 65 20 63 68 61 72 61 63 74 65 72 0d 0a 44 6f 45 78 69 74 3a 20 6a 6d 70 09 l.;.save.character..DoExit:.jmp.
29060 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 43 6f 6e 42 75 73 3a 20 44 45 42 55 47 09 StatusComplete....ConBus:.DEBUG.
29080 31 30 68 2c 31 2c 3c 20 43 6f 6e 42 75 73 20 2d 20 3e 2c 3c 3e 0d 0a 09 6a 6d 70 09 53 74 61 74 10h,1,<.ConBus.-.>,<>...jmp.Stat
290a0 75 73 44 65 76 52 65 61 64 79 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 24 43 6f 6e 46 6c 73 68 20 usDevReady......subttl.$ConFlsh.
290c0 2d 20 43 6f 6e 73 6f 6c 65 20 46 6c 75 73 68 20 49 6e 70 75 74 0d 0a 70 61 67 65 0d 0a 0d 0a 3b -.Console.Flush.Input..page....;
290e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29120 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 43 6f 6e 73 6f 6c 65 20 46 6c 75 73 68 20 49 6e 70 75 74 0d --------..;.Console.Flush.Input.
29140 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 .;..;.entry:..;.DS:BX.=.pointer.
29160 74 6f 20 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 01 0d 0a 0d 0a 61 73 73 75 6d 65 09 to.Request.packet..;.....assume.
29180 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 24 43 6f 6e 46 6c 73 ds:NOTHING,es:NOTHING....$ConFls
291a0 68 3a 0d 0a 09 6d 6f 76 09 64 78 2c 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 53 54 41 h:...mov.dx,word.ptr.ds:[bx].STA
291c0 52 54 09 3b 20 67 65 74 20 73 63 72 65 65 6e 20 6e 75 6d 62 65 72 0d 0a 09 63 6d 70 09 64 78 2c RT.;.get.screen.number...cmp.dx,
291e0 28 4d 61 78 53 49 42 2d 31 29 09 09 3b 20 76 61 6c 69 64 20 6e 75 6d 62 65 72 3f 0d 0a 09 6a 62 (MaxSIB-1)..;.valid.number?...jb
29200 65 09 73 6a 72 30 09 09 09 3b 20 79 65 73 2c 20 64 6f 20 66 6c 75 73 68 0d 0a 09 6d 6f 76 09 61 e.sjr0...;.yes,.do.flush...mov.a
29220 6c 2c 30 42 48 09 09 09 3b 20 6e 6f 2c 20 52 45 41 44 20 46 41 55 4c 54 20 45 52 52 4f 52 0d 0a l,0BH...;.no,.READ.FAULT.ERROR..
29240 09 6a 6d 70 09 53 74 61 74 75 73 45 72 72 6f 72 0d 0a 73 6a 72 30 3a 0d 0a 09 63 6d 70 09 64 78 .jmp.StatusError..sjr0:...cmp.dx
29260 2c 5b 43 75 72 72 53 63 5d 0d 0a 09 6a 65 09 73 6a 72 31 0d 0a 09 63 61 6c 6c 09 47 65 74 53 49 ,[CurrSc]...je.sjr1...call.GetSI
29280 42 41 64 72 09 09 3b 20 67 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 53 49 42 0d 0a BAdr..;.get.pointer.to.the.SIB..
292a0 09 63 61 6c 6c 09 44 6f 50 42 6c 6f 63 6b 09 09 3b 20 62 6c 6f 63 6b 20 74 68 65 20 70 72 6f 63 .call.DoPBlock..;.block.the.proc
292c0 65 73 73 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 73 6a 72 30 09 09 3b 20 74 65 73 74 20 66 6c 61 ess...jmp.short.sjr0..;.test.fla
292e0 67 20 61 67 61 69 6e 0d 0a 73 6a 72 31 3a 0d 0a 09 6d 6f 76 09 5b 41 6c 74 41 48 5d 2c 30 09 09 g.again..sjr1:...mov.[AltAH],0..
29300 3b 20 63 6c 65 61 72 20 73 69 64 65 20 62 75 66 65 72 0d 0a 09 70 75 73 68 09 64 73 0d 0a 09 6d ;.clear.side.bufer...push.ds...m
29320 6f 76 09 61 78 2c 52 6f 6d 44 61 74 61 0d 0a 09 6d 6f 76 09 64 73 2c 61 78 0d 0a 20 20 20 20 61 ov.ax,RomData...mov.ds,ax......a
29340 73 73 75 6d 65 09 64 73 3a 52 6f 6d 44 61 74 61 0d 0a 09 63 6c 69 09 09 09 09 3b 20 44 69 73 61 ssume.ds:RomData...cli....;.Disa
29360 62 6c 65 20 69 6e 74 65 72 72 75 70 74 73 0d 0a 09 6d 6f 76 09 01 61 78 2c 6f 66 66 73 65 74 20 ble.interrupts...mov..ax,offset.
29380 52 6f 6d 44 61 74 61 3a 4b 65 79 42 75 66 66 65 72 09 3b 20 53 74 61 72 74 20 6f 66 20 52 6f 6d RomData:KeyBuffer.;.Start.of.Rom
293a0 20 62 75 66 66 65 72 0d 0a 09 6d 6f 76 09 5b 42 75 66 66 65 72 48 65 61 64 5d 2c 61 78 0d 0a 09 .buffer...mov.[BufferHead],ax...
293c0 6d 6f 76 09 5b 42 75 66 66 65 72 54 61 69 6c 5d 2c 61 78 09 09 3b 20 45 6d 70 74 79 20 74 68 65 mov.[BufferTail],ax..;.Empty.the
293e0 20 71 75 65 75 65 0d 0a 09 73 74 69 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 61 73 73 75 6d .queue...sti...pop.ds......assum
29400 65 09 64 73 3a 4e 4f 54 48 49 4e 47 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 e.ds:NOTHING...jmp.StatusComplet
29420 65 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 24 43 6f 6e 57 72 69 74 20 2d 20 43 6f 6e 73 6f 6c 65 e......subttl.$ConWrit.-.Console
29440 20 4f 75 74 70 75 74 20 28 57 72 69 74 65 29 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d .Output.(Write)..page....;------
29460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29480 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
294a0 2d 2d 0d 0a 3b 09 43 6f 6e 73 6f 6c 65 20 4f 75 74 70 75 74 20 28 57 72 69 74 65 29 0d 0a 3b 0d --..;.Console.Output.(Write)..;.
294c0 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 .;.entry:..;.DS:BX.=.pointer.to.
294e0 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 09 45 53 3a 44 49 20 3d 20 54 72 61 6e 73 66 Request.packet..;.ES:DI.=.Transf
29500 65 72 20 61 64 64 72 65 73 73 0d 0a 3b 09 43 58 20 3d 20 43 6f 75 6e 74 0d 0a 3b 0d 0a 0d 0a 61 er.address..;.CX.=.Count..;....a
29520 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 24 ssume.ds:NOTHING,es:NOTHING....$
29540 43 6f 6e 57 72 69 74 3a 0d 0a 09 6a 63 78 7a 09 43 57 45 78 69 74 0d 0a 09 6d 6f 76 09 64 78 2c ConWrit:...jcxz.CWExit...mov.dx,
29560 20 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 53 54 41 52 01 54 09 3b 20 67 65 74 20 73 .word.ptr.ds:[bx].STAR.T.;.get.s
29580 63 72 65 65 6e 20 6e 75 6d 62 65 72 0d 0a 09 63 6d 70 09 64 78 2c 28 4d 61 78 53 49 42 2d 31 29 creen.number...cmp.dx,(MaxSIB-1)
295a0 09 09 3b 20 76 61 6c 69 64 20 73 63 72 65 65 6e 20 6e 75 6d 62 65 72 3f 0d 0a 09 6a 62 65 09 73 ..;.valid.screen.number?...jbe.s
295c0 6a 62 30 0d 0a 09 6d 6f 76 09 61 6c 2c 30 41 48 09 09 09 3b 20 6e 6f 2c 20 77 72 69 74 65 20 66 jb0...mov.al,0AH...;.no,.write.f
295e0 61 75 6c 74 20 65 72 72 6f 72 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 45 72 72 6f 72 0d 0a 73 6a ault.error...jmp.StatusError..sj
29600 62 30 3a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 b0:.push.cs...pop.ds......assume
29620 09 64 73 3a 43 6f 64 65 0d 0a 09 6d 6f 76 09 62 78 2c 5b 43 75 72 72 53 49 42 5d 0d 0a 0d 0a 43 .ds:Code...mov.bx,[CurrSIB]....C
29640 6f 6e 57 4c 6f 6f 70 3a 0d 0a 09 63 6d 70 09 64 78 2c 5b 43 75 72 72 53 63 5d 09 09 3b 20 49 73 onWLoop:...cmp.dx,[CurrSc]..;.Is
29660 20 69 74 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 72 65 65 6e 3f 0d 0a 09 6a 65 09 .it.to.the.current.screen?...je.
29680 73 6a 62 32 09 09 09 3b 20 79 65 73 2c 20 64 6f 20 6e 6f 74 20 62 6c 6f 63 6b 0d 0a 09 63 61 6c sjb2...;.yes,.do.not.block...cal
296a0 6c 09 47 65 74 53 49 42 41 64 72 09 09 3b 20 67 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 l.GetSIBAdr..;.get.pointer.to.th
296c0 65 20 53 49 42 0d 0a 73 6a 62 31 3a 09 63 61 6c 6c 09 44 6f 50 42 6c 6f 63 6b 09 09 3b 20 62 6c e.SIB..sjb1:.call.DoPBlock..;.bl
296e0 6f 63 6b 20 74 68 65 20 70 72 6f 63 65 73 73 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 43 6f 6e 57 ock.the.process...jmp.short.ConW
29700 4c 6f 6f 70 09 09 3b 20 74 65 73 74 20 41 4c 4c 20 66 6c 61 67 73 20 61 67 61 69 6e 0d 0a 73 6a Loop..;.test.ALL.flags.again..sj
29720 62 32 3a 0d 0a 09 63 6d 70 09 5b 62 78 5d 2e 63 74 6c 53 2c 30 09 09 3b 20 69 73 20 74 68 65 20 b2:...cmp.[bx].ctlS,0..;.is.the.
29740 73 63 72 65 65 6e 20 66 72 6f 7a 65 6e 3f 0d 0a 09 6a 65 09 73 6a 62 33 0d 0a 09 6d 6f 76 09 61 screen.frozen?...je.sjb3...mov.a
29760 78 2c 62 78 09 09 09 3b 20 41 58 20 3d 20 5b 43 75 72 72 53 49 42 5d 01 20 3d 20 5b 43 75 72 72 x,bx...;.AX.=.[CurrSIB]..=.[Curr
29780 53 49 42 5d 2e 63 74 6c 53 20 21 21 21 21 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 73 6a 62 31 09 SIB].ctlS.!!!!...jmp.short.sjb1.
297a0 09 3b 20 79 65 73 2c 20 62 6c 6f 63 6b 20 74 68 65 20 70 72 6f 63 65 73 73 0d 0a 73 6a 62 33 3a .;.yes,.block.the.process..sjb3:
297c0 0d 0a 09 63 6d 70 09 5b 53 61 76 65 46 6c 67 5d 2c 30 09 09 3b 20 61 72 65 20 77 65 20 69 6e 20 ...cmp.[SaveFlg],0..;.are.we.in.
297e0 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 61 20 73 61 76 65 3f 0d 0a 09 6a 65 09 73 6a 62 34 09 the.middle.of.a.save?...je.sjb4.
29800 09 09 3b 20 6e 6f 2c 20 64 6f 20 77 72 69 74 65 0d 0a 09 6d 6f 76 09 61 78 2c 6f 66 66 73 65 74 ..;.no,.do.write...mov.ax,offset
29820 20 53 61 76 65 46 6c 67 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 73 6a 62 31 09 09 3b 20 79 65 73 .SaveFlg...jmp.short.sjb1..;.yes
29840 2c 20 62 6c 6f 63 6b 2e 2e 2e 0d 0a 73 6a 62 34 3a 0d 0a 09 6d 6f 76 09 61 6c 2c 65 73 3a 5b 64 ,.block.....sjb4:...mov.al,es:[d
29860 69 5d 09 09 3b 20 67 65 74 20 61 20 63 68 61 72 61 63 74 65 72 0d 0a 09 69 6e 63 09 64 69 0d 0a i]..;.get.a.character...inc.di..
29880 09 63 61 6c 6c 09 43 68 61 72 4f 75 74 0d 0a 09 6c 6f 6f 70 09 43 6f 6e 57 4c 6f 6f 70 0d 0a 43 .call.CharOut...loop.ConWLoop..C
298a0 57 45 78 69 74 3a 20 6a 6d 70 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 73 WExit:.jmp.StatusComplete......s
298c0 75 62 74 74 6c 09 43 68 61 72 4f 75 74 20 2d 20 4f 75 74 70 75 74 20 61 20 63 68 61 72 61 63 74 ubttl.CharOut.-.Output.a.charact
298e0 65 72 20 74 6f 20 74 68 65 20 73 63 72 65 65 6e 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d er.to.the.screen..page....;-----
29900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29940 2d 2d 2d 0d 0a 3b 09 4f 75 74 70 75 74 20 61 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 74 68 65 ---..;.Output.a.character.to.the
29960 20 73 63 72 65 65 6e 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 01 41 4c 20 3d 09 43 68 .screen..;..;.entry:..;..AL.=.Ch
29980 61 72 61 63 74 65 72 20 74 6f 20 77 72 69 74 65 0d 0a 3b 0d 0a 3b 20 70 72 65 73 65 72 76 65 73 aracter.to.write..;..;.preserves
299a0 3a 0d 0a 3b 09 42 58 2c 20 43 58 2c 20 44 58 2c 20 44 49 2c 20 44 53 20 26 20 45 53 0d 0a 3b 0d :..;.BX,.CX,.DX,.DI,.DS.&.ES..;.
299c0 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d ...assume.ds:NOTHING,es:NOTHING.
299e0 0a 0d 0a 49 46 09 41 4e 53 49 0d 0a 09 69 6e 63 6c 75 64 65 09 61 6e 73 69 2e 69 6e 63 0d 0a 45 ...IF.ANSI...include.ansi.inc..E
29a00 4c 53 45 0d 0a 43 68 61 72 4f 75 74 3a 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 64 LSE..CharOut:...push.bx...push.d
29a20 69 0d 0a 09 6d 6f 76 09 62 78 2c 37 0d 0a 09 6d 6f 76 09 61 68 2c 31 34 0d 0a 09 69 6e 74 09 31 i...mov.bx,7...mov.ah,14...int.1
29a40 30 68 09 09 09 3b 20 57 72 69 74 65 20 43 68 61 72 61 63 74 65 72 0d 0a 09 70 6f 70 09 64 69 0d 0h...;.Write.Character...pop.di.
29a60 0a 09 70 6f 70 09 62 78 0d 0a 09 72 65 74 0d 0a 45 4e 44 49 46 0d 0a 0d 0a 0d 0a 73 75 62 74 74 ..pop.bx...ret..ENDIF......subtt
29a80 6c 09 24 47 65 6e 49 4f 43 54 4c 20 2d 20 47 65 6e 65 72 69 63 20 49 4f 43 54 4c 0d 0a 70 61 67 l.$GenIOCTL.-.Generic.IOCTL..pag
29aa0 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e....;--------------------------
29ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29ae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 47 65 6e 65 72 69 63 20 49 4f 43 54 4c 0d --------------..;.Generic.IOCTL.
29b00 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 .;..;.entry:..;.DS:BX.=.pointer.
29b20 74 6f 20 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d 0a 3b 2d 2d 2d 20 4f 66 66 to.Request.packet..;....;---.Off
29b40 73 65 74 73 20 69 6e 74 6f 20 74 68 65 20 72 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 2a sets.into.the.request.packet..;*
29b60 2a 2a 20 43 68 65 63 6b 20 6f 66 66 73 65 74 20 61 72 65 20 63 6f 72 72 65 01 63 74 0d 0a 46 75 **.Check.offset.are.corre.ct..Fu
29b80 6e 43 6f 64 65 20 3d 09 31 34 09 09 09 3b 20 46 75 6e 63 74 69 6f 6e 20 43 6f 64 65 0d 0a 46 75 nCode.=.14...;.Function.Code..Fu
29ba0 6e 43 61 74 09 3d 09 31 33 09 09 09 3b 20 46 75 6e 63 74 69 6f 6e 20 43 61 74 65 67 6f 72 79 0d nCat.=.13...;.Function.Category.
29bc0 0a 3b 2a 2a 2a 0d 0a 52 65 67 53 49 09 3d 09 31 35 09 09 09 3b 20 43 6f 6e 74 65 6e 74 73 20 6f .;***..RegSI.=.15...;.Contents.o
29be0 66 20 53 49 0d 0a 52 65 67 44 49 09 3d 09 31 37 09 09 09 3b 20 43 6f 6e 74 65 6e 74 73 20 6f 66 f.SI..RegDI.=.17...;.Contents.of
29c00 20 44 49 0d 0a 44 61 74 42 75 66 09 3d 09 31 39 09 09 09 3b 20 50 6f 69 6e 74 65 72 20 74 6f 20 .DI..DatBuf.=.19...;.Pointer.to.
29c20 64 61 74 61 20 62 75 66 66 65 72 0d 0a 0d 0a 3b 2d 2d 2d 20 43 6f 64 65 20 26 20 43 61 74 65 67 data.buffer....;---.Code.&.Categ
29c40 6f 72 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 0d 0a 49 4f 43 5f 53 43 09 3d 09 30 33 68 09 09 09 ory.definitions..IOC_SC.=.03h...
29c60 3b 2d 2d 2d 20 53 63 72 65 65 6e 20 43 6f 6e 74 72 6f 6c 0d 0a 49 4f 53 43 5f 4c 53 20 3d 09 34 ;---.Screen.Control..IOSC_LS.=.4
29c80 31 68 09 09 09 3b 20 4c 6f 63 61 74 65 20 53 49 42 0d 0a 49 4f 53 43 5f 53 53 20 3d 09 34 32 68 1h...;.Locate.SIB..IOSC_SS.=.42h
29ca0 09 09 09 3b 20 73 61 76 65 20 73 65 67 6d 65 6e 74 0d 0a 49 4f 53 43 5f 52 53 20 3d 09 34 33 68 ...;.save.segment..IOSC_RS.=.43h
29cc0 09 09 09 3b 20 72 65 73 74 6f 72 65 20 73 65 67 6d 65 6e 74 0d 0a 49 4f 53 43 5f 45 49 20 3d 09 ...;.restore.segment..IOSC_EI.=.
29ce0 34 34 68 09 09 09 3b 20 72 65 2d 65 6e 61 62 6c 65 20 69 2f 6f 0d 0a 49 4f 53 43 5f 49 53 20 3d 44h...;.re-enable.i/o..IOSC_IS.=
29d00 09 34 35 68 09 09 09 3b 20 69 6e 69 74 69 61 6c 69 7a 65 20 73 63 72 65 65 6e 0d 0a 0d 0a 61 73 .45h...;.initialize.screen....as
29d20 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 24 47 sume.ds:NOTHING,es:NOTHING....$G
29d40 65 6e 49 4f 43 54 4c 3a 0d 0a 09 63 6d 70 09 62 79 74 65 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e enIOCTL:...cmp.byte.ptr.ds:[bx].
29d60 46 75 6e 43 6f 64 65 2c 49 4f 43 5f 53 43 0d 0a 09 6a 6e 65 09 47 49 5f 42 61 05 12 01 09 02 01 FunCode,IOC_SC...jne.GI_Ba......
29d80 02 03 04 05 06 07 08 09 01 64 43 6f 64 65 09 09 3b 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 20 73 .........dCode..;.function.not.s
29da0 75 70 6f 72 74 65 64 0d 0a 09 6d 6f 76 09 73 69 2c 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 uported...mov.si,word.ptr.ds:[bx
29dc0 5d 2e 52 65 67 53 49 0d 0a 09 6d 6f 76 09 61 6c 2c 62 79 74 65 20 70 74 72 20 64 73 3a 5b 62 78 ].RegSI...mov.al,byte.ptr.ds:[bx
29de0 5d 2e 46 75 6e 43 61 74 0d 0a 09 63 6d 70 09 61 6c 2c 49 4f 53 43 5f 4c 53 0d 0a 09 6a 6e 65 09 ].FunCat...cmp.al,IOSC_LS...jne.
29e00 73 6a 63 30 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 64 6f 5f 49 4f 53 43 5f 4c 53 0d 0a 73 6a 63 sjc0...jmp.short.do_IOSC_LS..sjc
29e20 30 3a 09 63 6d 70 09 61 6c 2c 49 4f 53 43 5f 53 53 0d 0a 09 6a 6e 65 09 73 6a 63 31 0d 0a 09 6a 0:.cmp.al,IOSC_SS...jne.sjc1...j
29e40 6d 70 09 73 68 6f 72 74 20 64 6f 5f 49 4f 53 43 5f 53 53 0d 0a 73 6a 63 31 3a 09 63 6d 70 09 61 mp.short.do_IOSC_SS..sjc1:.cmp.a
29e60 6c 2c 49 4f 53 43 5f 52 53 0d 0a 09 6a 6e 65 09 73 6a 63 32 0d 0a 09 6a 6d 70 09 64 6f 5f 49 4f l,IOSC_RS...jne.sjc2...jmp.do_IO
29e80 53 43 5f 52 53 0d 0a 73 6a 63 32 3a 09 63 6d 70 09 61 6c 2c 49 4f 53 43 5f 45 49 0d 0a 09 6a 6e SC_RS..sjc2:.cmp.al,IOSC_EI...jn
29ea0 65 09 73 6a 63 33 0d 0a 09 6a 6d 70 09 64 6f 5f 49 4f 53 43 5f 45 49 0d 0a 73 6a 63 33 3a 09 63 e.sjc3...jmp.do_IOSC_EI..sjc3:.c
29ec0 6d 70 09 61 6c 2c 49 4f 53 43 5f 49 53 0d 0a 09 6a 6e 65 09 47 49 5f 42 61 64 43 6f 64 65 0d 0a mp.al,IOSC_IS...jne.GI_BadCode..
29ee0 09 6a 6d 70 09 64 6f 5f 49 4f 53 43 5f 49 53 0d 0a 0d 0a 47 49 5f 42 61 64 43 6f 64 65 3a 0d 0a .jmp.do_IOSC_IS....GI_BadCode:..
29f00 09 6a 6d 70 09 43 6d 64 45 72 72 09 09 09 3b 20 65 72 72 6f 72 20 65 78 69 74 3a 20 43 6f 6d 6d .jmp.CmdErr...;.error.exit:.Comm
29f20 61 6e 64 20 65 72 72 6f 72 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 64 6f 5f 49 4f 53 43 5f 4c 53 and.error......subttl.do_IOSC_LS
29f40 20 2d 20 4c 6f 63 61 74 65 20 53 49 42 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d .-.Locate.SIB..page....;--------
29f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 01 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---------.----------------------
29fa0 2d 0d 0a 3b 09 4c 6f 63 61 74 65 20 53 49 42 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 -..;.Locate.SIB..;..;.entry:..;.
29fc0 53 49 20 3d 20 53 49 42 20 4e 75 6d 62 65 72 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 SI.=.SIB.Number..;.DS:BX.=.point
29fe0 65 72 20 74 6f 20 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d er.to.Request.packet..;....assum
2a000 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 64 6f 5f 49 4f e.ds:NOTHING,es:NOTHING....do_IO
2a020 53 43 5f 4c 53 3a 0d 0a 09 63 6d 70 09 73 69 2c 28 4d 61 78 53 49 42 2d 31 29 09 09 3b 20 69 6e SC_LS:...cmp.si,(MaxSIB-1)..;.in
2a040 64 65 78 20 77 69 74 68 69 6e 20 72 61 6e 67 65 3f 0d 0a 09 6a 61 09 42 61 64 4e 75 6d 0d 0a 09 dex.within.range?...ja.BadNum...
2a060 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 64 73 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f push.bx...push.ds...push.cs...po
2a080 70 09 64 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 43 6f 64 65 0d 0a 09 63 6d 70 09 73 p.ds......assume.ds:Code...cmp.s
2a0a0 69 2c 5b 43 75 72 72 53 63 5d 09 09 3b 20 69 73 20 69 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 i,[CurrSc]..;.is.it.the.current.
2a0c0 73 63 72 65 65 6e 3f 0d 0a 09 6a 65 09 43 75 72 72 4c 53 0d 0a 09 6d 6f 76 09 5b 43 75 72 72 53 screen?...je.CurrLS...mov.[CurrS
2a0e0 63 5d 2c 73 69 09 09 3b 20 6e 6f 2c 20 6a 75 73 74 20 73 77 69 74 63 68 20 63 75 72 72 20 73 63 c],si..;.no,.just.switch.curr.sc
2a100 72 65 65 6e 73 0d 0a 09 6d 6f 76 09 64 78 2c 73 69 09 09 09 3b 20 69 6e 64 65 78 0d 0a 09 63 61 reens...mov.dx,si...;.index...ca
2a120 6c 6c 09 47 65 74 53 49 42 41 64 72 09 09 3b 20 67 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 53 ll.GetSIBAdr..;.get.pointer.to.S
2a140 49 42 0d 0a 09 6d 6f 76 09 5b 43 75 72 72 53 49 42 5d 2c 61 78 09 09 3b 20 73 61 76 65 20 70 6f IB...mov.[CurrSIB],ax..;.save.po
2a160 69 6e 74 65 72 20 74 6f 20 63 75 72 72 20 53 49 42 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 72 65 inter.to.curr.SIB...jmp.short.re
2a180 74 4c 53 0d 0a 0d 0a 43 75 72 01 72 4c 53 3a 0d 0a 09 6d 6f 76 09 5b 53 61 76 65 46 6c 67 5d 2c tLS....Cur.rLS:...mov.[SaveFlg],
2a1a0 31 09 09 3b 20 53 69 67 6e 61 6c 20 77 65 20 61 72 65 20 53 61 76 69 6e 67 20 74 68 65 20 73 63 1..;.Signal.we.are.Saving.the.sc
2a1c0 72 65 65 6e 0d 0a 0d 0a 3b 2a 2a 2a 20 4f 6e 6c 79 20 6f 6e 65 20 73 65 67 6d 65 6e 74 20 66 6f reen....;***.Only.one.segment.fo
2a1e0 72 20 6e 6f 77 0d 0a 0d 0a 09 6d 6f 76 09 61 78 2c 30 0d 0a 09 63 61 6c 6c 09 47 65 74 53 65 67 r.now.....mov.ax,0...call.GetSeg
2a200 41 64 72 09 09 3b 20 6f 6e 20 72 65 74 75 72 6e 20 42 58 20 70 6f 69 6e 74 73 20 74 6f 20 73 65 Adr..;.on.return.BX.points.to.se
2a220 67 6d 65 6e 74 0d 0a 09 6d 6f 76 09 61 78 2c 52 6f 6d 44 61 74 61 0d 0a 09 6d 6f 76 09 65 73 2c gment...mov.ax,RomData...mov.es,
2a240 61 78 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 65 73 3a 52 6f 6d 44 61 74 61 0d 0a 49 46 09 45 41 ax......assume.es:RomData..IF.EA
2a260 47 4c 45 0d 0a 09 6d 6f 76 09 61 6c 2c 65 73 3a 5b 43 52 54 5f 4d 4f 44 45 5d 0d 0a 09 78 6f 72 GLE...mov.al,es:[CRT_MODE]...xor
2a280 09 61 68 2c 61 68 0d 0a 09 6d 6f 76 09 73 69 2c 61 78 0d 0a 09 6d 6f 76 09 61 68 2c 53 63 72 65 .ah,ah...mov.si,ax...mov.ah,Scre
2a2a0 65 6e 4c 65 6e 5b 73 69 5d 0d 0a 09 78 6f 72 09 61 6c 2c 61 6c 0d 0a 45 4c 53 45 0d 0a 09 6d 6f enLen[si]...xor.al,al..ELSE...mo
2a2c0 76 09 61 78 2c 65 73 3a 5b 43 52 54 5f 4c 45 4e 5d 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 65 73 v.ax,es:[CRT_LEN]......assume.es
2a2e0 3a 4e 4f 54 48 49 4e 47 09 09 3b 20 6e 6f 74 20 74 72 75 65 2c 20 62 75 74 20 6a 75 73 74 20 74 :NOTHING..;.not.true,.but.just.t
2a300 6f 20 62 65 20 73 61 66 65 0d 0a 45 4e 44 49 46 0d 0a 09 6d 6f 76 09 5b 62 78 5d 2e 53 69 7a 65 o.be.safe..ENDIF...mov.[bx].Size
2a320 4e 65 65 64 65 64 2c 61 78 09 3b 20 73 61 76 65 20 73 69 7a 65 20 6f 66 20 73 65 67 6d 65 6e 74 Needed,ax.;.save.size.of.segment
2a340 0d 0a 09 6d 6f 76 09 61 78 2c 64 78 09 09 09 3b 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 75 72 72 ...mov.ax,dx...;.pointer.to.curr
2a360 65 6e 74 20 53 49 42 0d 0a 72 65 74 4c 53 3a 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 70 6f 70 09 62 ent.SIB..retLS:...pop.ds...pop.b
2a380 78 0d 0a 20 20 20 20 61 73 73 75 01 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 0d 0a 09 6d 6f 76 09 x......assu.me.ds:NOTHING...mov.
2a3a0 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 44 61 74 42 75 66 2c 61 78 09 3b 20 6f 66 66 word.ptr.ds:[bx].DatBuf,ax.;.off
2a3c0 73 65 74 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 44 61 74 42 75 set...mov.word.ptr.ds:[bx].DatBu
2a3e0 66 2b 32 2c 63 73 09 3b 20 73 65 67 6d 65 6e 74 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 f+2,cs.;.segment...mov.word.ptr.
2a400 64 73 3a 5b 62 78 5d 2e 52 65 67 53 49 2c 30 09 3b 20 6f 70 65 72 61 74 69 6f 6e 20 6f 6b 0d 0a ds:[bx].RegSI,0.;.operation.ok..
2a420 09 6a 6d 70 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 42 61 64 4e 75 6d 3a 0d 0a .jmp.StatusComplete....BadNum:..
2a440 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 52 65 67 53 49 2c 31 09 3b 20 .mov.word.ptr.ds:[bx].RegSI,1.;.
2a460 62 61 64 20 53 49 42 20 6e 75 6d 62 65 72 20 65 72 72 6f 72 0d 0a 09 6a 6d 70 09 53 74 61 74 75 bad.SIB.number.error...jmp.Statu
2a480 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 64 6f 5f 49 4f 53 43 5f 53 53 sComplete......subttl.do_IOSC_SS
2a4a0 20 2d 20 53 61 76 65 20 53 65 67 6d 65 6e 74 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d .-.Save.Segment..page....;------
2a4c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2a4e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2a500 2d 2d 0d 0a 3b 09 53 61 76 65 20 53 65 67 6d 65 6e 74 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d --..;.Save.Segment..;..;.entry:.
2a520 0a 3b 09 53 49 20 3d 20 53 65 67 6d 65 6e 74 20 49 6e 64 65 78 20 28 69 6e 74 6f 20 74 68 65 20 .;.SI.=.Segment.Index.(into.the.
2a540 43 75 72 72 65 6e 74 20 53 49 42 29 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 Current.SIB)..;.DS:BX.=.pointer.
2a560 74 6f 20 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 to.Request.packet..;....assume.d
2a580 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 01 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 64 6f 5f 49 4f 53 43 s:NOTHING,es.:NOTHING....do_IOSC
2a5a0 5f 53 53 3a 0d 0a 09 63 6d 70 09 73 69 2c 28 4d 61 78 53 65 67 2d 31 29 09 09 3b 20 77 69 74 68 _SS:...cmp.si,(MaxSeg-1)..;.with
2a5c0 69 6e 20 72 61 6e 67 65 3f 0d 0a 42 61 64 4e 75 6d 4a 31 3a 0d 0a 09 6a 61 09 42 61 64 4e 75 6d in.range?..BadNumJ1:...ja.BadNum
2a5e0 09 09 09 3b 20 6e 6f 2c 20 73 6f 6d 65 62 6f 64 79 20 73 63 72 65 77 65 64 20 75 70 2e 2e 2e 0d ...;.no,.somebody.screwed.up....
2a600 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 64 73 0d 0a 09 63 6d 70 09 73 69 2c 30 09 09 ..push.bx...push.ds...cmp.si,0..
2a620 09 3b 20 66 69 72 73 74 20 73 65 67 6d 65 6e 74 20 73 61 76 65 3f 0d 0a 09 6a 6e 65 09 6e 66 53 .;.first.segment.save?...jne.nfS
2a640 53 09 09 09 3b 20 6e 6f 2c 20 6a 75 73 74 20 73 61 76 65 20 73 63 72 65 65 6e 20 64 61 74 61 0d S...;.no,.just.save.screen.data.
2a660 0a 3b 2d 2d 2d 20 73 61 76 65 20 73 63 72 65 65 6e 20 73 74 61 74 65 20 64 61 74 61 0d 0a 09 70 .;---.save.screen.state.data...p
2a680 75 73 68 09 73 69 09 09 09 3b 20 73 61 76 65 20 69 6e 64 65 78 0d 0a 09 6d 6f 76 09 61 78 2c 52 ush.si...;.save.index...mov.ax,R
2a6a0 6f 6d 44 61 74 61 0d 0a 09 6d 6f 76 09 64 73 2c 61 78 09 09 09 3b 20 44 53 20 3d 20 52 4f 4d 20 omData...mov.ds,ax...;.DS.=.ROM.
2a6c0 64 61 74 61 20 61 72 65 61 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 52 6f 6d 44 61 74 61 data.area......assume.ds:RomData
2a6e0 0d 0a 09 6d 6f 76 09 73 69 2c 6f 66 66 73 65 74 20 52 6f 6d 44 61 74 61 3a 43 52 54 5f 4d 4f 44 ...mov.si,offset.RomData:CRT_MOD
2a700 45 0d 0a 09 6d 6f 76 09 63 78 2c 43 72 74 4c 65 6e 09 09 3b 20 6c 65 6e 67 74 68 20 6f 66 20 73 E...mov.cx,CrtLen..;.length.of.s
2a720 63 72 65 65 6e 20 73 74 61 74 65 20 64 61 74 61 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 creen.state.data...push.cs...pop
2a740 09 65 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 65 73 3a 43 6f 64 65 0d 0a 09 6d 6f 76 09 64 69 .es......assume.es:Code...mov.di
2a760 2c 5b 43 75 72 72 53 49 42 5d 0d 0a 09 6c 65 61 09 64 69 2c 5b 64 69 5d 2e 78 43 52 54 5f 4d 4f ,[CurrSIB]...lea.di,[di].xCRT_MO
2a780 44 45 0d 0a 09 63 6c 64 0d 0a 20 20 20 01 20 72 65 70 09 6d 6f 76 73 62 09 09 09 09 3b 20 63 6f DE...cld.......rep.movsb....;.co
2a7a0 70 79 20 52 4f 4d 20 69 6e 66 6f 20 74 6f 20 53 49 42 20 61 72 65 61 0d 0a 49 46 09 41 4e 53 49 py.ROM.info.to.SIB.area..IF.ANSI
2a7c0 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 ...push.cs...pop.ds......assume.
2a7e0 64 73 3a 43 6f 64 65 0d 0a 09 6d 6f 76 09 73 69 2c 6f 66 66 73 65 74 20 41 6e 73 69 53 74 61 74 ds:Code...mov.si,offset.AnsiStat
2a800 65 09 3b 20 70 6f 69 6e 74 20 74 6f 20 41 4e 53 49 20 73 74 61 74 65 20 69 6e 66 6f 0d 0a 09 6d e.;.point.to.ANSI.state.info...m
2a820 6f 76 09 63 78 2c 41 6e 73 69 53 69 7a 65 0d 0a 20 20 20 20 72 65 70 09 6d 6f 76 73 62 09 09 09 ov.cx,AnsiSize......rep.movsb...
2a840 09 3b 20 73 61 76 65 20 41 4e 53 49 20 73 74 61 74 65 20 69 6e 66 6f 20 69 6e 20 53 49 42 0d 0a .;.save.ANSI.state.info.in.SIB..
2a860 45 4e 44 49 46 0d 0a 09 70 6f 70 09 73 69 09 09 09 3b 20 72 65 73 74 6f 72 65 20 73 65 67 6d 65 ENDIF...pop.si...;.restore.segme
2a880 6e 74 20 69 6e 64 65 78 0d 0a 3b 2d 2d 2d 20 73 61 76 65 20 61 20 73 65 67 6d 65 6e 74 20 6f 66 nt.index..;---.save.a.segment.of
2a8a0 20 73 63 72 65 65 6e 20 64 61 74 61 0d 0a 6e 66 53 53 3a 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 .screen.data..nfSS:...push.cs...
2a8c0 70 6f 70 09 64 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 43 6f 64 65 0d 0a 09 6d 6f 76 pop.ds......assume.ds:Code...mov
2a8e0 09 61 78 2c 73 69 0d 0a 09 63 61 6c 6c 09 47 65 74 53 65 67 41 64 72 09 09 3b 20 67 65 74 20 61 .ax,si...call.GetSegAdr..;.get.a
2a900 64 72 65 73 73 20 6f 66 20 73 65 67 6d 65 6e 74 20 61 6e 64 20 63 75 72 72 20 53 49 42 20 70 74 dress.of.segment.and.curr.SIB.pt
2a920 72 0d 0a 09 6d 6f 76 09 63 78 2c 5b 62 78 5d 2e 53 69 7a 65 4e 65 65 64 65 64 09 3b 20 43 58 20 r...mov.cx,[bx].SizeNeeded.;.CX.
2a940 3d 20 41 6d 6d 6f 75 6e 74 20 74 6f 20 74 72 61 6e 73 66 65 72 0d 0a 09 73 68 72 09 63 78 2c 31 =.Ammount.to.transfer...shr.cx,1
2a960 09 09 09 3b 20 77 6f 72 64 73 21 0d 0a 09 6c 65 73 09 64 69 2c 5b 62 78 5d 2e 4d 50 6f 69 6e 74 ...;.words!...les.di,[bx].MPoint
2a980 65 72 09 3b 20 45 53 3a 44 49 20 3d 20 53 01 63 72 65 65 6e 20 73 61 76 65 20 61 72 65 61 0d 0a er.;.ES:DI.=.S.creen.save.area..
2a9a0 20 20 20 20 61 73 73 75 6d 65 09 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 3b 2a 2a 2a 20 46 6f ....assume.es:NOTHING....;***.Fo
2a9c0 72 20 6e 6f 77 20 77 65 20 61 72 65 20 75 73 69 6e 67 20 6f 6e 6c 79 20 6f 6e 65 20 73 65 67 6d r.now.we.are.using.only.one.segm
2a9e0 65 6e 74 0d 0a 0d 0a 09 6d 6f 76 09 73 69 2c 64 78 09 09 09 3b 20 53 49 20 70 6f 69 6e 74 73 20 ent.....mov.si,dx...;.SI.points.
2aa00 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 53 49 42 0d 0a 09 6d 6f 76 09 62 78 2c 43 6f 6c 6f to.the.current.SIB...mov.bx,Colo
2aa20 72 53 63 09 09 3b 20 61 73 73 75 6d 65 20 63 6f 6c 6f 72 20 63 61 72 64 0d 0a 09 63 6d 70 09 5b rSc..;.assume.color.card...cmp.[
2aa40 73 69 5d 2e 78 43 52 54 5f 4d 4f 44 45 2c 37 09 3b 20 69 73 20 74 68 69 73 20 61 20 42 57 20 6d si].xCRT_MODE,7.;.is.this.a.BW.m
2aa60 6f 6e 69 74 6f 72 3f 0d 0a 09 6a 6e 65 09 64 6f 5f 73 61 76 65 0d 0a 09 6d 6f 76 09 62 78 2c 4d onitor?...jne.do_save...mov.bx,M
2aa80 6f 6e 6f 53 63 0d 0a 64 6f 5f 73 61 76 65 3a 0d 0a 49 46 09 42 4c 41 4e 4b 0d 0a 09 6d 6f 76 09 onoSc..do_save:..IF.BLANK...mov.
2aaa0 64 78 2c 5b 73 69 5d 2e 78 41 44 44 52 5f 36 38 34 35 09 3b 20 70 6f 69 6e 74 20 74 6f 20 6d 6f dx,[si].xADDR_6845.;.point.to.mo
2aac0 64 65 20 72 65 67 69 73 74 65 72 0d 0a 09 61 64 64 09 64 78 2c 34 0d 0a 09 6d 6f 76 09 61 6c 2c de.register...add.dx,4...mov.al,
2aae0 5b 73 69 5d 2e 78 43 52 54 5f 4d 4f 44 45 5f 53 45 54 09 3b 20 20 61 6e 64 20 67 65 74 20 76 61 [si].xCRT_MODE_SET.;..and.get.va
2ab00 6c 75 65 0d 0a 09 61 6e 64 09 61 6c 2c 4e 4f 54 20 38 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 lue...and.al,NOT.8...out.dx,al..
2ab20 09 3b 20 74 75 72 6e 20 6f 66 66 20 76 69 64 65 6f 0d 0a 45 4e 44 49 46 0d 0a 09 6d 6f 76 09 64 .;.turn.off.video..ENDIF...mov.d
2ab40 73 2c 62 78 09 09 09 3b 20 44 53 20 70 6f 69 6e 74 73 20 74 6f 20 61 70 72 6f 70 69 61 74 65 20 s,bx...;.DS.points.to.apropiate.
2ab60 73 63 72 65 65 6e 20 61 72 65 61 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 screen.area......assume.ds:NOTHI
2ab80 4e 47 0d 0a 09 6d 6f 76 09 73 69 2c 30 0d 0a 01 09 63 6c 64 0d 0a 20 20 20 20 72 65 70 09 6d 6f NG...mov.si,0....cld......rep.mo
2aba0 76 73 77 09 09 09 09 3b 20 63 6f 70 79 20 74 68 65 20 73 63 72 65 65 6e 0d 0a 49 46 09 42 4c 41 vsw....;.copy.the.screen..IF.BLA
2abc0 4e 4b 0d 0a 09 6f 72 09 61 6c 2c 38 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 09 3b 20 74 75 72 NK...or.al,8...out.dx,al...;.tur
2abe0 6e 20 6f 6e 20 76 69 64 65 6f 0d 0a 45 4e 44 49 46 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 70 6f 70 n.on.video..ENDIF...pop.ds...pop
2ac00 09 62 78 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 52 65 67 53 49 .bx...mov.word.ptr.ds:[bx].RegSI
2ac20 2c 30 09 3b 20 6f 70 65 72 61 74 69 6f 6e 20 6f 6b 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 43 6f ,0.;.operation.ok...jmp.StatusCo
2ac40 6d 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 64 6f 5f 49 4f 53 43 5f 52 53 20 2d 20 mplete......subttl.do_IOSC_RS.-.
2ac60 52 65 73 74 6f 72 65 20 53 65 67 6d 65 6e 74 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d Restore.Segment..page....;------
2ac80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2aca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2acc0 2d 2d 0d 0a 3b 09 52 65 73 74 6f 72 65 20 53 65 67 6d 65 6e 74 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 --..;.Restore.Segment..;..;.entr
2ace0 79 3a 0d 0a 3b 09 53 49 20 3d 20 53 65 67 6d 65 6e 74 20 49 6e 64 65 78 20 28 69 6e 74 6f 20 74 y:..;.SI.=.Segment.Index.(into.t
2ad00 68 65 20 43 75 72 72 65 6e 74 20 53 49 42 29 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 he.Current.SIB)..;.DS:BX.=.point
2ad20 65 72 20 74 6f 20 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d er.to.Request.packet..;....assum
2ad40 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 64 6f 5f 49 4f e.ds:NOTHING,es:NOTHING....do_IO
2ad60 53 43 5f 52 53 3a 0d 0a 09 63 6d 70 09 73 69 2c 28 4d 61 78 53 65 67 2d 31 29 09 09 3b 20 77 69 SC_RS:...cmp.si,(MaxSeg-1)..;.wi
2ad80 74 68 69 6e 20 72 61 6e 67 65 3f 0d 0a 09 6a 61 01 09 42 61 64 4e 75 6d 4a 31 09 09 3b 20 6e 6f thin.range?...ja..BadNumJ1..;.no
2ada0 2c 20 73 6f 6d 65 62 6f 64 79 20 73 63 72 65 77 65 64 20 75 70 2e 2e 2e 0d 0a 09 70 75 73 68 09 ,.somebody.screwed.up......push.
2adc0 62 78 0d 0a 09 70 75 73 68 09 64 73 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d bx...push.ds...push.cs...pop.ds.
2ade0 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 43 6f 64 65 0d 0a 09 63 6d 70 09 73 69 2c 30 09 09 .....assume.ds:Code...cmp.si,0..
2ae00 09 3b 20 66 69 72 73 74 20 73 65 67 6d 65 6e 74 20 73 61 76 65 3f 0d 0a 09 6a 6e 65 09 6e 66 52 .;.first.segment.save?...jne.nfR
2ae20 53 09 09 09 3b 20 6e 6f 2c 20 6a 75 73 74 20 72 65 73 74 6f 72 65 20 73 63 72 65 65 6e 20 64 61 S...;.no,.just.restore.screen.da
2ae40 74 61 0d 0a 3b 2d 2d 2d 20 72 65 73 74 6f 72 65 20 73 63 72 65 65 6e 20 73 74 61 74 65 20 64 61 ta..;---.restore.screen.state.da
2ae60 74 61 0d 0a 09 70 75 73 68 09 73 69 09 09 09 3b 20 73 61 76 65 20 69 6e 64 65 78 0d 0a 09 6d 6f ta...push.si...;.save.index...mo
2ae80 76 09 73 69 2c 5b 43 75 72 72 53 49 42 5d 0d 0a 09 70 75 73 68 09 73 69 0d 0a 09 6c 65 61 09 73 v.si,[CurrSIB]...push.si...lea.s
2aea0 69 2c 5b 73 69 5d 2e 78 43 52 54 5f 4d 4f 44 45 0d 0a 09 6d 6f 76 09 61 78 2c 52 6f 6d 44 61 74 i,[si].xCRT_MODE...mov.ax,RomDat
2aec0 61 0d 0a 09 6d 6f 76 09 65 73 2c 61 78 09 09 09 3b 20 45 53 20 3d 20 52 4f 4d 20 64 61 74 61 20 a...mov.es,ax...;.ES.=.ROM.data.
2aee0 61 72 65 61 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 65 73 3a 52 6f 6d 44 61 74 61 0d 0a 09 6d 6f area......assume.es:RomData...mo
2af00 76 09 63 78 2c 43 72 74 4c 65 6e 09 09 3b 20 6c 65 6e 67 74 68 20 6f 66 20 73 63 72 65 65 6e 20 v.cx,CrtLen..;.length.of.screen.
2af20 73 74 61 74 65 20 64 61 74 61 0d 0a 09 6d 6f 76 09 64 69 2c 6f 66 66 73 65 74 20 52 6f 6d 44 61 state.data...mov.di,offset.RomDa
2af40 74 61 3a 43 52 54 5f 4d 4f 44 45 0d 0a 09 63 6c 64 0d 0a 20 20 20 20 72 65 70 09 6d 6f 76 73 62 ta:CRT_MODE...cld......rep.movsb
2af60 09 09 09 09 3b 20 63 6f 70 79 20 52 4f 4d 20 69 6e 66 6f 20 66 72 6f 6d 20 53 49 42 20 61 72 65 ....;.copy.ROM.info.from.SIB.are
2af80 61 0d 0a 49 46 09 41 4e 53 49 0d 0a 09 70 75 73 68 05 13 00 09 02 01 02 03 04 05 06 07 08 09 01 a..IF.ANSI...push...............
2afa0 09 65 73 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 65 73 0d 0a 20 20 20 20 61 73 73 75 .es...push.cs...pop.es......assu
2afc0 6d 65 09 65 73 3a 43 6f 64 65 0d 0a 09 6d 6f 76 09 64 69 2c 6f 66 66 73 65 74 20 41 6e 73 69 53 me.es:Code...mov.di,offset.AnsiS
2afe0 74 61 74 65 09 3b 20 70 6f 69 6e 74 20 74 6f 20 41 4e 53 49 20 73 74 61 74 65 20 69 6e 66 6f 0d tate.;.point.to.ANSI.state.info.
2b000 0a 09 6d 6f 76 09 63 78 2c 41 6e 73 69 53 69 7a 65 0d 0a 20 20 20 20 72 65 70 09 6d 6f 76 73 62 ..mov.cx,AnsiSize......rep.movsb
2b020 09 09 09 09 3b 20 72 65 73 74 6f 72 65 20 41 4e 53 49 20 73 74 61 74 65 20 69 6e 66 6f 20 66 72 ....;.restore.ANSI.state.info.fr
2b040 6f 6d 20 53 49 42 0d 0a 09 70 6f 70 09 65 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 65 73 3a 52 om.SIB...pop.es......assume.es:R
2b060 6f 6d 44 61 74 61 0d 0a 45 4e 44 49 46 0d 0a 0d 0a 3b 2d 2d 2d 20 53 65 74 75 70 20 6e 65 77 20 omData..ENDIF....;---.Setup.new.
2b080 73 63 72 65 65 6e 20 73 74 61 74 65 0d 0a 09 70 6f 70 09 73 69 0d 0a 09 6d 6f 76 09 61 6c 2c 5b screen.state...pop.si...mov.al,[
2b0a0 73 69 5d 2e 78 43 52 54 5f 4d 4f 44 45 0d 0a 09 63 6d 70 09 61 6c 2c 37 09 09 09 3b 20 69 73 20 si].xCRT_MODE...cmp.al,7...;.is.
2b0c0 74 68 69 73 20 74 68 65 20 42 57 20 6d 6f 6e 69 74 6f 72 3f 0d 0a 09 6a 6e 65 09 73 6a 64 30 0d this.the.BW.monitor?...jne.sjd0.
2b0e0 0a 09 6d 6f 76 09 61 6c 2c 32 09 09 09 3b 20 74 68 69 73 20 69 73 20 74 68 65 20 22 72 65 61 6c ..mov.al,2...;.this.is.the."real
2b100 22 20 6d 6f 64 65 0d 0a 73 6a 64 30 3a 0d 0a 09 6d 6f 76 09 61 68 2c 30 0d 0a 09 69 6e 74 09 31 ".mode..sjd0:...mov.ah,0...int.1
2b120 30 68 09 09 09 3b 20 73 65 74 20 6e 65 77 20 6d 6f 64 65 0d 0a 09 6d 6f 76 09 63 78 2c 5b 73 69 0h...;.set.new.mode...mov.cx,[si
2b140 5d 2e 78 43 55 52 53 4f 52 5f 4d 4f 44 45 0d 0a 09 6d 6f 76 09 61 68 2c 31 0d 0a 09 69 6e 74 09 ].xCURSOR_MODE...mov.ah,1...int.
2b160 31 30 68 09 09 09 3b 20 73 65 74 20 63 75 72 73 6f 72 20 74 79 70 65 0d 0a 09 6d 6f 76 09 64 78 10h...;.set.cursor.type...mov.dx
2b180 2c 5b 73 69 5d 2e 78 43 55 52 53 4f 52 5f 50 4f 53 4e 0d 0a 09 6d 6f 76 09 62 68 2c 5b 73 69 5d ,[si].xCURSOR_POSN...mov.bh,[si]
2b1a0 01 2e 78 41 43 54 49 56 45 5f 50 41 47 45 0d 0a 09 6d 6f 76 09 61 68 2c 32 0d 0a 09 69 6e 74 09 ..xACTIVE_PAGE...mov.ah,2...int.
2b1c0 31 30 68 09 09 09 3b 20 73 65 74 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 0d 0a 09 6d 6f 10h...;.set.cursor.position...mo
2b1e0 76 09 61 6c 2c 5b 73 69 5d 2e 78 41 43 54 49 56 45 5f 50 41 47 45 0d 0a 09 6d 6f 76 09 61 68 2c v.al,[si].xACTIVE_PAGE...mov.ah,
2b200 35 0d 0a 09 69 6e 74 09 31 30 68 09 09 09 3b 20 73 65 74 20 70 61 67 65 20 23 0d 0a 09 6d 6f 76 5...int.10h...;.set.page.#...mov
2b220 09 64 78 2c 5b 73 69 5d 2e 78 41 44 44 52 5f 36 38 34 35 0d 0a 09 61 64 64 09 64 78 2c 35 0d 0a .dx,[si].xADDR_6845...add.dx,5..
2b240 09 6d 6f 76 09 61 6c 2c 5b 73 69 5d 2e 78 43 52 54 5f 50 41 4c 45 54 54 45 0d 0a 09 6f 75 74 09 .mov.al,[si].xCRT_PALETTE...out.
2b260 64 78 2c 61 6c 09 09 09 3b 20 73 65 74 20 63 6f 6c 6f 72 20 70 6f 72 74 0d 0a 09 6d 6f 76 09 65 dx,al...;.set.color.port...mov.e
2b280 73 3a 43 52 54 5f 50 41 4c 45 54 54 45 2c 61 6c 0d 0a 09 70 6f 70 09 73 69 09 09 09 3b 20 72 65 s:CRT_PALETTE,al...pop.si...;.re
2b2a0 73 74 6f 72 65 20 73 65 67 6d 65 6e 74 20 69 6e 64 65 78 0d 0a 3b 2d 2d 2d 20 72 65 73 74 6f 72 store.segment.index..;---.restor
2b2c0 65 20 61 20 73 65 67 6d 65 6e 74 20 6f 66 20 73 63 72 65 65 6e 20 64 61 74 61 0d 0a 6e 66 52 53 e.a.segment.of.screen.data..nfRS
2b2e0 3a 0d 0a 09 6d 6f 76 09 61 78 2c 73 69 0d 0a 09 63 61 6c 6c 09 47 65 74 53 65 67 41 64 72 09 09 :...mov.ax,si...call.GetSegAdr..
2b300 3b 20 67 65 74 20 61 64 72 65 73 73 20 6f 66 20 73 65 67 6d 65 6e 74 0d 0a 09 6d 6f 76 09 63 78 ;.get.adress.of.segment...mov.cx
2b320 2c 5b 62 78 5d 2e 53 69 7a 65 4e 65 65 64 65 64 09 3b 20 43 58 20 3d 20 41 6d 6d 6f 75 6e 74 20 ,[bx].SizeNeeded.;.CX.=.Ammount.
2b340 74 6f 20 74 72 61 6e 73 66 65 72 0d 0a 09 73 68 72 09 63 78 2c 31 09 09 09 3b 20 77 6f 72 64 73 to.transfer...shr.cx,1...;.words
2b360 21 0d 0a 09 6c 64 73 09 73 69 2c 5b 62 78 5d 2e 4d 50 6f 69 6e 74 65 72 09 3b 20 44 53 3a 53 49 !...lds.si,[bx].MPointer.;.DS:SI
2b380 20 3d 20 53 63 72 65 65 6e 20 73 61 76 65 20 61 72 65 61 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 .=.Screen.save.area......assume.
2b3a0 64 01 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 3b 2a 2a 2a 20 46 6f 72 20 6e 6f 77 20 77 65 20 61 d.s:NOTHING....;***.For.now.we.a
2b3c0 72 65 20 75 73 69 6e 67 20 6f 6e 6c 79 20 6f 6e 65 20 73 65 67 6d 65 6e 74 0d 0a 0d 0a 09 6d 6f re.using.only.one.segment.....mo
2b3e0 76 09 64 69 2c 64 78 09 09 09 3b 20 44 49 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 63 75 72 v.di,dx...;.DI.points.to.the.cur
2b400 72 65 6e 74 20 53 49 42 0d 0a 09 6d 6f 76 09 62 78 2c 43 6f 6c 6f 72 53 63 09 09 3b 20 61 73 73 rent.SIB...mov.bx,ColorSc..;.ass
2b420 75 6d 65 20 63 6f 6c 6f 72 20 63 61 72 64 0d 0a 09 63 6d 70 09 63 73 3a 5b 64 69 5d 2e 78 43 52 ume.color.card...cmp.cs:[di].xCR
2b440 54 5f 4d 4f 44 45 2c 37 09 3b 20 69 73 20 74 68 69 73 20 61 20 42 57 20 6d 6f 6e 69 74 6f 72 3f T_MODE,7.;.is.this.a.BW.monitor?
2b460 0d 0a 09 6a 6e 65 09 64 6f 5f 72 65 73 74 0d 0a 09 6d 6f 76 09 62 78 2c 4d 6f 6e 6f 53 63 0d 0a ...jne.do_rest...mov.bx,MonoSc..
2b480 64 6f 5f 72 65 73 74 3a 0d 0a 49 46 09 42 4c 41 4e 4b 0d 0a 09 6d 6f 76 09 64 78 2c 63 73 3a 5b do_rest:..IF.BLANK...mov.dx,cs:[
2b4a0 64 69 5d 2e 78 41 44 44 52 5f 36 38 34 35 09 3b 20 70 6f 69 6e 74 20 74 6f 20 6d 6f 64 65 20 72 di].xADDR_6845.;.point.to.mode.r
2b4c0 65 67 69 73 74 65 72 0d 0a 09 61 64 64 09 64 78 2c 34 0d 0a 09 6d 6f 76 09 61 6c 2c 63 73 3a 5b egister...add.dx,4...mov.al,cs:[
2b4e0 64 69 5d 2e 78 43 52 54 5f 4d 4f 44 45 5f 53 45 54 09 3b 20 20 61 6e 64 20 67 65 74 20 76 61 6c di].xCRT_MODE_SET.;..and.get.val
2b500 75 65 0d 0a 09 61 6e 64 09 61 6c 2c 4e 4f 54 20 38 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 09 ue...and.al,NOT.8...out.dx,al...
2b520 3b 20 74 75 72 6e 20 6f 66 66 20 76 69 64 65 6f 0d 0a 45 4e 44 49 46 0d 0a 09 6d 6f 76 09 65 73 ;.turn.off.video..ENDIF...mov.es
2b540 2c 62 78 09 09 09 3b 20 45 53 20 70 6f 69 6e 74 73 20 74 6f 20 61 70 72 6f 70 69 61 74 65 20 73 ,bx...;.ES.points.to.apropiate.s
2b560 63 72 65 65 6e 20 61 72 65 61 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 65 73 3a 4e 4f 54 48 49 4e creen.area......assume.es:NOTHIN
2b580 47 0d 0a 09 6d 6f 76 09 64 69 2c 30 0d 0a 09 63 6c 64 0d 0a 20 20 20 20 72 65 70 09 6d 6f 76 73 G...mov.di,0...cld......rep.movs
2b5a0 77 09 01 09 09 09 3b 20 63 6f 70 79 20 74 68 65 20 73 63 72 65 65 6e 0d 0a 49 46 09 42 4c 41 4e w.....;.copy.the.screen..IF.BLAN
2b5c0 4b 0d 0a 09 6f 72 09 61 6c 2c 38 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 09 3b 20 74 75 72 6e K...or.al,8...out.dx,al...;.turn
2b5e0 20 6f 6e 20 76 69 64 65 6f 0d 0a 45 4e 44 49 46 0d 0a 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 .on.video..ENDIF.....pop.ds.....
2b600 20 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 6d 6f .assume.ds:NOTHING...pop.bx...mo
2b620 76 09 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 52 65 67 53 49 2c 30 09 3b 20 6f 70 65 v.word.ptr.ds:[bx].RegSI,0.;.ope
2b640 72 61 74 69 6f 6e 20 6f 6b 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a ration.ok...jmp.StatusComplete..
2b660 0d 0a 42 61 64 4e 75 6d 4a 3a 0d 0a 09 6a 6d 70 09 42 61 64 4e 75 6d 0d 0a 0d 0a 0d 0a 73 75 62 ..BadNumJ:...jmp.BadNum......sub
2b680 74 74 6c 09 64 6f 5f 49 4f 53 43 5f 45 49 20 2d 20 52 65 2d 65 6e 61 62 6c 65 20 69 2f 6f 0d 0a ttl.do_IOSC_EI.-.Re-enable.i/o..
2b6a0 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d page....;-----------------------
2b6c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2b6e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 52 65 2d 65 6e 61 62 6c 65 20 69 -----------------..;.Re-enable.i
2b700 2f 6f 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 /o..;..;.entry:..;.DS:BX.=.point
2b720 65 72 20 74 6f 20 52 65 71 75 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d er.to.Request.packet..;....assum
2b740 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 64 6f 5f 49 4f e.ds:NOTHING,es:NOTHING....do_IO
2b760 53 43 5f 45 49 3a 0d 0a 09 6d 6f 76 09 5b 53 61 76 65 46 6c 67 5d 2c 30 09 09 3b 20 53 69 67 6e SC_EI:...mov.[SaveFlg],0..;.Sign
2b780 61 6c 20 77 65 20 61 72 65 20 64 6f 6e 65 20 53 61 76 69 6e 67 20 74 68 65 20 73 63 72 65 65 6e al.we.are.done.Saving.the.screen
2b7a0 0d 0a 09 01 6d 6f 76 09 61 78 2c 6f 66 66 73 65 74 20 43 6f 64 65 3a 53 61 76 65 46 6c 67 0d 0a ....mov.ax,offset.Code:SaveFlg..
2b7c0 09 63 61 6c 6c 09 44 6f 50 52 75 6e 09 09 09 3b 20 50 72 6f 63 52 75 6e 0d 0a 09 6d 6f 76 09 61 .call.DoPRun...;.ProcRun...mov.a
2b7e0 78 2c 5b 43 75 72 72 53 49 42 5d 09 09 3b 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 75 72 72 65 6e x,[CurrSIB]..;.pointer.to.curren
2b800 74 20 53 49 42 0d 0a 09 63 61 6c 6c 09 44 6f 50 52 75 6e 09 09 09 3b 20 50 72 6f 63 52 75 6e 20 t.SIB...call.DoPRun...;.ProcRun.
2b820 61 6e 79 20 6f 75 74 70 75 74 20 62 6c 6f 63 6b 65 64 20 62 65 63 61 75 73 65 0d 0a 09 09 09 09 any.output.blocked.because......
2b840 09 3b 20 20 73 63 72 65 65 6e 20 77 61 73 20 6e 6f 74 20 63 75 72 72 65 6e 74 0d 0a 09 6a 6d 70 .;..screen.was.not.current...jmp
2b860 09 53 74 61 74 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 64 6f 5f 49 .StatusComplete......subttl.do_I
2b880 4f 53 43 5f 49 53 20 2d 20 49 6e 69 74 69 61 6c 69 7a 65 20 53 63 72 65 65 6e 0d 0a 70 61 67 65 OSC_IS.-.Initialize.Screen..page
2b8a0 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....;---------------------------
2b8c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2b8e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 49 6e 69 74 69 61 6c 69 7a 65 20 53 63 72 65 -------------..;.Initialize.Scre
2b900 65 6e 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 53 49 20 3d 20 53 49 42 20 4e 75 6d 62 en..;..;.entry:..;.SI.=.SIB.Numb
2b920 65 72 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 52 65 71 75 65 73 74 er..;.DS:BX.=.pointer.to.Request
2b940 20 70 61 63 6b 65 74 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c .packet..;....assume.ds:NOTHING,
2b960 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 64 6f 5f 49 4f 53 43 5f 49 53 3a 0d 0a 09 63 6d 70 09 es:NOTHING....do_IOSC_IS:...cmp.
2b980 73 69 2c 28 4d 61 78 53 49 42 2d 31 29 09 09 3b 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 72 61 si,(MaxSIB-1)..;.index.within.ra
2b9a0 6e 67 65 3f 01 0d 0a 09 6a 61 09 42 61 64 4e 75 6d 4a 0d 0a 09 70 75 73 68 09 64 73 0d 0a 09 70 nge?....ja.BadNumJ...push.ds...p
2b9c0 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 43 ush.cs...pop.ds......assume.ds:C
2b9e0 6f 64 65 0d 0a 09 6d 6f 76 09 5b 43 75 72 72 53 63 5d 2c 73 69 09 09 3b 20 73 77 69 74 63 68 20 ode...mov.[CurrSc],si..;.switch.
2ba00 63 75 72 72 20 73 63 72 65 65 6e 73 0d 0a 09 6d 6f 76 09 64 78 2c 73 69 09 09 09 3b 20 69 6e 64 curr.screens...mov.dx,si...;.ind
2ba20 65 78 0d 0a 09 63 61 6c 6c 09 47 65 74 53 49 42 41 64 72 09 09 3b 20 67 65 74 20 70 6f 69 6e 74 ex...call.GetSIBAdr..;.get.point
2ba40 65 72 20 74 6f 20 53 49 42 0d 0a 09 6d 6f 76 09 5b 43 75 72 72 53 49 42 5d 2c 61 78 09 09 3b 20 er.to.SIB...mov.[CurrSIB],ax..;.
2ba60 73 61 76 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 75 72 72 20 53 49 42 0d 0a 09 6d 6f 76 09 73 save.pointer.to.curr.SIB...mov.s
2ba80 69 2c 61 78 0d 0a 09 6d 6f 76 09 5b 73 69 5d 2e 63 74 6c 53 2c 30 09 09 3b 20 73 63 72 65 65 6e i,ax...mov.[si].ctlS,0..;.screen
2baa0 20 6e 6f 74 20 66 72 6f 7a 65 6e 0d 0a 3b 2d 2d 2d 20 73 65 74 20 73 63 72 65 65 6e 20 6d 6f 64 .not.frozen..;---.set.screen.mod
2bac0 65 20 74 6f 20 70 63 20 6d 6f 64 65 20 33 20 28 38 30 78 32 35 20 42 57 29 0d 0a 09 6d 6f 76 09 e.to.pc.mode.3.(80x25.BW)...mov.
2bae0 61 78 2c 30 30 30 33 09 09 09 3b 20 53 65 74 20 6d 6f 64 65 20 33 0d 0a 09 69 6e 74 09 31 30 68 ax,0003...;.Set.mode.3...int.10h
2bb00 0d 0a 09 70 6f 70 09 64 73 0d 0a 20 20 20 20 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 ...pop.ds......assume.ds:NOTHING
2bb20 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 52 65 67 53 49 2c 30 09 ...mov.word.ptr.ds:[bx].RegSI,0.
2bb40 3b 20 6f 70 65 72 61 74 69 6f 6e 20 6f 6b 0d 0a 09 6a 6d 70 09 53 74 61 74 75 73 43 6f 6d 70 6c ;.operation.ok...jmp.StatusCompl
2bb60 65 74 65 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 24 43 6f 6e 53 74 6f 70 20 2d 20 53 74 6f 70 20 ete......subttl.$ConStop.-.Stop.
2bb80 28 66 72 65 65 7a 65 29 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 0d 0a 70 61 67 65 0d 0a 0d (freeze).console.output..page...
2bba0 0a 3b 2d 2d 2d 01 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .;---.--------------------------
2bbc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2bbe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 53 74 6f 70 20 28 66 72 65 65 7a 65 29 20 63 6f 6e -----------..;.Stop.(freeze).con
2bc00 73 6f 6c 65 20 6f 75 74 70 75 74 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 sole.output..;....assume.ds:NOTH
2bc20 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 24 43 6f 6e 53 74 6f 70 3a 0d 0a 09 6d 6f ING,es:NOTHING....$ConStop:...mo
2bc40 76 09 62 78 2c 5b 43 75 72 72 53 49 42 5d 09 09 3b 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 75 72 v.bx,[CurrSIB]..;.pointer.to.cur
2bc60 72 65 6e 74 20 53 49 42 0d 0a 09 6d 6f 76 09 63 73 3a 5b 62 78 5d 2e 63 74 6c 53 2c 30 31 09 09 rent.SIB...mov.cs:[bx].ctlS,01..
2bc80 3b 20 73 65 74 20 74 68 65 20 66 72 65 65 7a 65 20 66 6c 61 67 0d 0a 09 6a 6d 70 09 53 74 61 74 ;.set.the.freeze.flag...jmp.Stat
2bca0 75 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 24 43 6f 6e 53 74 61 72 74 usComplete......subttl.$ConStart
2bcc0 20 2d 20 53 74 61 72 74 20 28 63 6f 6e 74 69 6e 75 65 29 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 .-.Start.(continue).console.outp
2bce0 75 74 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ut..page....;-------------------
2bd00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2bd20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 53 74 61 72 74 20 28 ---------------------..;.Start.(
2bd40 63 6f 6e 74 69 6e 75 65 29 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 0d 0a 3b 0d 0a 0d 0a 61 continue).console.output..;....a
2bd60 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 24 ssume.ds:NOTHING,es:NOTHING....$
2bd80 43 6f 6e 53 74 61 72 74 3a 0d 0a 09 6d 6f 76 09 62 78 2c 5b 43 75 72 72 53 49 42 5d 09 09 3b 20 ConStart:...mov.bx,[CurrSIB]..;.
2bda0 70 6f 69 6e 74 65 01 72 20 74 6f 20 63 75 72 72 65 6e 74 20 53 49 42 0d 0a 09 63 6d 70 09 63 73 pointe.r.to.current.SIB...cmp.cs
2bdc0 3a 5b 62 78 5d 2e 63 74 6c 53 2c 30 09 09 3b 20 69 73 20 69 74 20 61 6c 72 65 61 64 79 20 67 6f :[bx].ctlS,0..;.is.it.already.go
2bde0 69 6e 67 3f 0d 0a 09 6a 65 09 63 73 52 65 74 09 09 09 3b 20 79 65 73 2c 20 6e 6f 20 6e 65 65 64 ing?...je.csRet...;.yes,.no.need
2be00 20 74 6f 20 72 65 2d 65 6e 61 62 6c 65 0d 0a 09 6d 6f 76 09 63 73 3a 5b 62 78 5d 2e 63 74 6c 53 .to.re-enable...mov.cs:[bx].ctlS
2be20 2c 30 09 09 3b 20 72 65 73 65 74 20 74 68 65 20 66 72 65 65 7a 65 20 66 6c 61 67 0d 0a 09 6c 65 ,0..;.reset.the.freeze.flag...le
2be40 61 09 61 78 2c 5b 62 78 5d 2e 63 74 6c 53 09 09 3b 20 67 65 74 20 61 64 64 72 65 73 73 20 6f 66 a.ax,[bx].ctlS..;.get.address.of
2be60 20 63 75 72 72 65 6e 74 20 63 74 6c 53 0d 0a 09 63 61 6c 6c 09 44 6f 50 52 75 6e 09 09 09 3b 20 .current.ctlS...call.DoPRun...;.
2be80 64 6f 20 50 72 6f 63 52 75 6e 0d 0a 63 73 52 65 74 3a 09 6a 6d 70 09 53 74 61 74 75 73 43 6f 6d do.ProcRun..csRet:.jmp.StatusCom
2bea0 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 44 6f 50 42 6c 6f 63 6b 20 2d 20 42 6c 6f plete......subttl.DoPBlock.-.Blo
2bec0 63 6b 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 0d 0a 70 61 67 65 0d 0a 0d 0a ck.the.current.process..page....
2bee0 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;-------------------------------
2bf00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2bf20 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 42 6c 6f 63 6b 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 ---------..;.Block.the.current.p
2bf40 72 6f 63 65 73 73 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 43 53 3a 41 58 20 3d 20 61 rocess..;..;.entry:..;.CS:AX.=.a
2bf60 64 64 72 65 73 73 20 74 6f 20 62 6c 6f 63 6b 20 6f 6e 0d 0a 3b 0d 0a 3b 20 6d 6f 64 69 66 69 65 ddress.to.block.on..;..;.modifie
2bf80 73 3a 09 41 58 2c 20 46 4c 41 47 53 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 s:.AX,.FLAGS..;....assume.ds:NOT
2bfa0 48 49 4e 47 2c 65 73 01 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 44 6f 50 42 6c 6f 63 6b 3a 0d 0a 09 HING,es.:NOTHING....DoPBlock:...
2bfc0 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 6d 6f push.bx...push.cx...push.dx...mo
2bfe0 76 09 62 78 2c 61 78 0d 0a 09 6d 6f 76 09 61 78 2c 63 73 09 09 09 3b 20 41 58 3a 42 58 20 3d 20 v.bx,ax...mov.ax,cs...;.AX:BX.=.
2c000 65 76 65 6e 74 20 69 64 65 6e 74 69 66 69 65 72 0d 0a 09 78 6f 72 09 63 78 2c 63 78 09 09 09 3b event.identifier...xor.cx,cx...;
2c020 20 4e 6f 20 74 69 6d 65 6f 75 74 0d 0a 3b 3b 09 6d 6f 76 09 64 78 2c 30 31 30 39 68 09 3b 3b 42 .No.timeout..;;.mov.dx,0109h.;;B
2c040 55 47 42 55 47 20 2d 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 74 65 72 72 75 70 74 69 62 6c 65 20 UGBUG.-.should.be.interruptible.
2c060 77 61 69 74 3b 20 77 69 6c 6c 0d 0a 09 09 09 09 3b 3b 20 20 67 69 76 65 20 49 6e 74 65 72 6e 61 wait;.will......;;..give.Interna
2c080 6c 45 72 72 6f 72 20 28 53 63 68 65 64 46 69 6e 64 20 2d 20 6e 6f 74 20 6f 6e 20 51 29 0d 0a 09 lError.(SchedFind.-.not.on.Q)...
2c0a0 6d 6f 76 09 64 78 2c 30 30 30 39 68 09 09 3b 20 50 52 4f 43 42 4c 4f 43 20 66 75 6e 63 74 69 6f mov.dx,0009h..;.PROCBLOC.functio
2c0c0 6e 0d 0a 09 63 6c 69 09 09 09 09 3b 20 4e 6f 20 72 61 63 65 73 21 0d 0a 09 63 61 6c 6c 09 5b 44 n...cli....;.No.races!...call.[D
2c0e0 6f 73 46 75 6e 63 74 69 6f 6e 5d 0d 0a 09 70 6f 70 09 64 78 09 09 09 3b 20 6f 6e 20 72 65 74 75 osFunction]...pop.dx...;.on.retu
2c100 72 6e 20 69 6e 74 73 20 61 72 65 20 62 61 63 6b 20 6f 6e 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 70 rn.ints.are.back.on...pop.cx...p
2c120 6f 70 09 62 78 0d 0a 09 72 65 74 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 44 6f 50 52 75 6e 20 2d op.bx...ret......subttl.DoPRun.-
2c140 20 52 65 73 74 61 72 74 20 61 20 70 72 6f 63 65 73 73 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d .Restart.a.process..page....;---
2c160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c1a0 2d 2d 2d 2d 2d 0d 0a 3b 05 13 01 09 02 01 02 03 04 05 06 07 08 09 01 09 52 65 73 74 61 72 74 20 -----..;................Restart.
2c1c0 61 20 70 72 6f 63 65 73 73 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 43 53 3a 41 58 20 a.process..;..;.entry:..;.CS:AX.
2c1e0 3d 20 61 64 64 72 65 73 73 20 74 6f 20 73 69 67 6e 61 6c 20 6f 6e 20 28 73 61 6d 65 20 61 73 20 =.address.to.signal.on.(same.as.
2c200 62 6c 6f 63 6b 65 64 20 6f 6e 29 0d 0a 3b 0d 0a 3b 20 6d 6f 64 69 66 69 65 73 3a 09 41 58 2c 20 blocked.on)..;..;.modifies:.AX,.
2c220 46 4c 41 47 53 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 FLAGS..;....assume.ds:NOTHING,es
2c240 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 44 6f 50 52 75 6e 3a 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 :NOTHING....DoPRun:...push.bx...
2c260 70 75 73 68 09 63 78 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 6d 6f 76 09 62 78 2c 61 78 0d 0a 09 push.cx...push.dx...mov.bx,ax...
2c280 6d 6f 76 09 61 78 2c 63 73 0d 0a 09 6d 6f 76 09 64 78 2c 31 30 09 09 09 3b 20 50 52 4f 43 52 55 mov.ax,cs...mov.dx,10...;.PROCRU
2c2a0 4e 20 66 75 6e 63 74 69 6f 6e 0d 0a 09 63 61 6c 6c 09 5b 44 6f 73 46 75 6e 63 74 69 6f 6e 5d 0d N.function...call.[DosFunction].
2c2c0 0a 09 70 6f 70 09 64 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 72 65 74 ..pop.dx...pop.cx...pop.bx...ret
2c2e0 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 47 65 74 53 49 42 41 64 72 20 2d 20 52 65 74 75 72 6e 20 ......subttl.GetSIBAdr.-.Return.
2c300 53 49 42 20 61 64 64 72 65 73 73 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d SIB.address..page....;----------
2c320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a ------------------------------..
2c360 3b 09 52 65 74 75 72 6e 73 20 74 68 65 20 61 64 72 65 73 73 20 6f 66 20 74 68 65 20 73 70 65 63 ;.Returns.the.adress.of.the.spec
2c380 69 66 69 65 64 20 53 49 42 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 44 58 20 3d 20 69 ified.SIB..;..;.entry:..;.DX.=.i
2c3a0 6e 64 65 78 20 74 6f 20 74 68 65 20 53 49 42 0d 0a 3b 0d 0a 3b 20 65 01 78 69 74 3a 0d 0a 3b 09 ndex.to.the.SIB..;..;.e.xit:..;.
2c3c0 41 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 53 49 42 0d 0a 3b 0d 0a 3b 20 70 72 AX.=.pointer.to.the.SIB..;..;.pr
2c3e0 65 73 65 72 76 65 73 3a 09 41 4c 4c 0d 0a 3b 0d 0a 0d 0a 61 73 73 75 6d 65 09 64 73 3a 43 6f 64 eserves:.ALL..;....assume.ds:Cod
2c400 65 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 47 65 74 53 49 42 41 64 72 3a 0d 0a 09 70 75 73 e,es:NOTHING....GetSIBAdr:...pus
2c420 68 09 64 78 09 09 09 3b 20 73 61 76 65 20 73 63 72 65 65 6e 20 23 0d 0a 09 6d 6f 76 09 61 78 2c h.dx...;.save.screen.#...mov.ax,
2c440 64 78 09 09 09 3b 20 69 6e 64 65 78 0d 0a 09 6d 6f 76 09 64 78 2c 28 53 49 5a 45 20 53 49 42 73 dx...;.index...mov.dx,(SIZE.SIBs
2c460 74 29 0d 0a 09 6d 75 6c 09 64 78 09 09 09 3b 20 6d 75 6c 74 69 70 6c 79 20 62 79 20 73 69 7a 65 t)...mul.dx...;.multiply.by.size
2c480 20 6f 66 20 53 49 42 20 65 6e 74 72 79 0d 0a 09 70 6f 70 09 64 78 09 09 09 3b 20 72 65 73 74 6f .of.SIB.entry...pop.dx...;.resto
2c4a0 72 65 20 73 63 72 65 65 6e 20 23 0d 0a 09 61 64 64 09 61 78 2c 6f 66 66 73 65 74 20 53 49 42 09 re.screen.#...add.ax,offset.SIB.
2c4c0 09 3b 20 41 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 53 49 42 20 66 6f 72 20 74 68 65 20 77 .;.AX.=.pointer.to.SIB.for.the.w
2c4e0 72 69 74 65 0d 0a 09 72 65 74 0d 0a 0d 0a 0d 0a 73 75 62 74 74 6c 09 47 65 74 53 65 67 41 64 72 rite...ret......subttl.GetSegAdr
2c500 20 2d 20 52 65 74 75 72 6e 20 73 65 67 6d 65 6e 74 20 61 64 64 72 65 73 73 0d 0a 70 61 67 65 0d .-.Return.segment.address..page.
2c520 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...;----------------------------
2c540 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 09 52 65 74 75 72 6e 73 20 74 68 65 20 61 64 72 65 ------------..;.Returns.the.adre
2c580 73 73 20 6f 66 20 61 20 73 65 67 6d 65 6e 74 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 53 ss.of.a.segment.in.the.current.S
2c5a0 49 42 0d 0a 3b 0d 0a 3b 20 65 6e 74 72 79 3a 0d 0a 3b 09 41 58 20 3d 20 01 69 6e 64 65 78 20 74 IB..;..;.entry:..;.AX.=..index.t
2c5c0 6f 20 74 68 65 20 73 65 67 6d 65 6e 74 0d 0a 3b 0d 0a 3b 20 65 78 69 74 3a 0d 0a 3b 09 42 58 20 o.the.segment..;..;.exit:..;.BX.
2c5e0 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 73 65 67 6d 65 6e 74 0d 0a 3b 09 44 58 20 3d =.pointer.to.the.segment..;.DX.=
2c600 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 43 75 72 72 65 6e 74 20 53 49 42 0d 0a 3b 0d 0a .pointer.to.the.Current.SIB..;..
2c620 0d 0a 61 73 73 75 6d 65 09 64 73 3a 43 6f 64 65 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 47 ..assume.ds:Code,es:NOTHING....G
2c640 65 74 53 65 67 41 64 72 3a 0d 0a 09 6d 6f 76 09 64 78 2c 28 53 49 5a 45 20 53 45 47 73 74 29 0d etSegAdr:...mov.dx,(SIZE.SEGst).
2c660 0a 09 6d 75 6c 09 64 78 09 09 09 3b 20 6d 75 6c 74 69 70 6c 79 20 62 79 20 73 69 7a 65 20 6f 66 ..mul.dx...;.multiply.by.size.of
2c680 20 53 45 47 20 65 6e 74 72 79 0d 0a 09 6d 6f 76 09 62 78 2c 5b 43 75 72 72 53 49 42 5d 09 09 3b .SEG.entry...mov.bx,[CurrSIB]..;
2c6a0 20 70 6f 69 6e 74 65 72 20 74 6f 20 53 49 42 0d 0a 09 6d 6f 76 09 64 78 2c 62 78 09 09 09 3b 20 .pointer.to.SIB...mov.dx,bx...;.
2c6c0 73 61 76 65 20 66 6f 72 20 65 78 69 74 0d 0a 09 6d 6f 76 09 62 78 2c 5b 62 78 5d 2e 4f 66 66 73 save.for.exit...mov.bx,[bx].Offs
2c6e0 65 74 56 61 6c 09 3b 20 70 6f 69 6e 74 65 72 20 74 6f 20 73 74 61 72 74 20 6f 66 20 53 45 47 73 etVal.;.pointer.to.start.of.SEGs
2c700 20 69 6e 20 53 49 42 0d 0a 09 61 64 64 09 62 78 2c 61 78 09 09 09 3b 20 42 58 20 3d 20 70 6f 69 .in.SIB...add.bx,ax...;.BX.=.poi
2c720 6e 74 65 72 20 74 6f 20 53 45 47 20 66 72 6f 6d 20 73 74 61 72 74 20 6f 66 20 53 49 42 0d 0a 09 nter.to.SEG.from.start.of.SIB...
2c740 61 64 64 09 62 78 2c 64 78 09 09 09 3b 20 42 58 20 3d 20 61 62 73 6f 6c 75 74 65 20 70 6f 69 6e add.bx,dx...;.BX.=.absolute.poin
2c760 74 65 72 20 74 6f 20 53 45 47 20 74 6f 20 75 73 65 0d 0a 09 72 65 74 0d 0a 0d 0a 69 66 64 65 66 ter.to.SEG.to.use...ret....ifdef
2c780 09 44 45 42 55 47 46 4c 47 0d 0a 69 66 09 4e 4f 54 20 49 4e 42 49 4f 53 0d 0a 09 49 4e 43 4c 55 .DEBUGFLG..if.NOT.INBIOS...INCLU
2c7a0 44 45 09 09 42 55 47 43 4f 44 45 2e 49 4e 43 0d 0a 65 6e 64 69 66 0d 0a 65 01 6e 64 69 66 0d 0a DE..BUGCODE.INC..endif..e.ndif..
2c7c0 0d 0a 0d 0a 73 75 62 74 74 6c 09 24 43 6f 6e 49 6e 69 74 20 2d 20 49 6e 69 74 69 61 6c 69 7a 61 ....subttl.$ConInit.-.Initializa
2c7e0 74 69 6f 6e 20 52 6f 75 74 69 6e 65 0d 0a 70 61 67 65 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d tion.Routine..page....;---------
2c800 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d -------------------------------.
2c840 0a 3b 09 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 52 6f 75 74 69 6e 65 0d 0a 3b 0d 0a 3b 65 .;.Initialization.Routine..;..;e
2c860 6e 74 72 79 3a 0d 0a 3b 09 44 53 3a 42 58 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 52 65 71 75 ntry:..;.DS:BX.=.pointer.to.Requ
2c880 65 73 74 20 70 61 63 6b 65 74 0d 0a 3b 09 45 53 3a 44 49 20 3d 20 44 6f 73 20 46 75 6e 63 74 69 est.packet..;.ES:DI.=.Dos.Functi
2c8a0 6f 6e 73 20 65 6e 74 72 79 20 70 6f 69 6e 74 20 61 64 64 72 65 73 73 0d 0a 3b 0d 0a 0d 0a 61 73 ons.entry.point.address..;....as
2c8c0 73 75 6d 65 09 64 73 3a 4e 4f 54 48 49 4e 47 2c 65 73 3a 4e 4f 54 48 49 4e 47 0d 0a 0d 0a 24 43 sume.ds:NOTHING,es:NOTHING....$C
2c8e0 6f 6e 49 6e 69 74 3a 0d 0a 49 46 09 4e 4f 54 20 49 4e 42 49 4f 53 0d 0a 09 70 75 73 68 09 64 73 onInit:..IF.NOT.INBIOS...push.ds
2c900 09 09 09 3b 20 70 72 69 6e 74 20 67 72 65 65 74 69 6e 67 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 ...;.print.greeting...push.cs...
2c920 70 6f 70 09 64 73 0d 0a 09 6d 6f 76 09 64 78 2c 6f 66 66 73 65 74 20 49 6e 74 72 6f 0d 0a 09 4d pop.ds...mov.dx,offset.Intro...M
2c940 4f 56 09 61 68 2c 39 0d 0a 09 69 6e 74 09 32 31 68 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 6d 6f 76 OV.ah,9...int.21h...pop.ds...mov
2c960 09 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e 54 52 41 4e 53 2c 20 6f 66 66 73 65 74 20 .word.ptr.ds:[bx].TRANS,.offset.
2c980 24 43 6f 6e 49 6e 69 74 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 64 73 3a 5b 62 78 5d 2e $ConInit...mov.word.ptr.ds:[bx].
2c9a0 54 52 41 4e 53 2b 32 2c 63 73 0d 0a 45 4e 44 49 46 0d 0a 09 6d 6f 76 09 63 73 01 3a 57 6f 72 64 TRANS+2,cs..ENDIF...mov.cs.:Word
2c9c0 20 50 74 72 20 44 6f 73 46 75 6e 63 74 69 6f 6e 2c 64 69 20 20 3b 20 53 61 76 65 20 70 6f 69 6e .Ptr.DosFunction,di..;.Save.poin
2c9e0 74 65 72 20 74 6f 20 73 65 72 76 69 63 65 20 72 6f 75 74 69 6e 65 73 0d 0a 09 6d 6f 76 09 63 73 ter.to.service.routines...mov.cs
2ca00 3a 57 6f 72 64 20 50 74 72 20 44 6f 73 46 75 6e 63 74 69 6f 6e 2b 32 2c 65 73 0d 0a 0d 0a 09 6d :Word.Ptr.DosFunction+2,es.....m
2ca20 6f 76 20 20 20 20 20 61 78 2c 30 0d 0a 09 6d 6f 76 20 20 20 20 20 63 78 2c 31 0d 0a 09 6d 6f 76 ov.....ax,0...mov.....cx,1...mov
2ca40 20 20 20 20 20 64 78 2c 31 36 0d 0a 09 63 61 6c 6c 20 20 20 20 5b 44 6f 73 46 75 6e 63 74 69 6f .....dx,16...call....[DosFunctio
2ca60 6e 5d 09 09 3b 20 67 65 74 20 44 4f 53 20 76 61 72 69 61 62 6c 65 20 53 63 72 6e 49 6f 4f 6b 0d n]..;.get.DOS.variable.ScrnIoOk.
2ca80 0a 09 6d 6f 76 20 20 20 20 20 77 6f 72 64 20 70 74 72 20 53 63 72 6e 49 6f 4f 6b 2c 61 78 0d 0a ..mov.....word.ptr.ScrnIoOk,ax..
2caa0 09 6d 6f 76 20 20 20 20 20 77 6f 72 64 20 70 74 72 20 53 63 72 6e 49 6f 4f 6b 2b 32 2c 64 78 0d .mov.....word.ptr.ScrnIoOk+2,dx.
2cac0 0a 0d 0a 3b 2a 09 49 6e 69 74 69 61 6c 69 7a 65 20 69 6e 74 65 72 72 75 70 74 20 76 65 63 74 6f ...;*.Initialize.interrupt.vecto
2cae0 72 73 2e 0d 0a 3b 3b 42 55 47 42 55 47 20 2d 20 77 65 20 73 68 6f 75 6c 64 20 62 65 20 75 73 69 rs...;;BUGBUG.-.we.should.be.usi
2cb00 6e 67 20 47 65 74 2f 53 65 74 5f 49 6e 74 65 72 72 75 70 74 5f 56 65 63 74 6f 72 20 63 61 6c 6c ng.Get/Set_Interrupt_Vector.call
2cb20 73 0d 0a 0d 0a 09 78 6f 72 09 61 78 2c 61 78 09 09 09 3b 20 69 6e 69 74 69 61 6c 69 7a 65 20 62 s.....xor.ax,ax...;.initialize.b
2cb40 72 65 61 6b 20 69 6e 74 65 72 72 75 70 74 20 68 61 6e 64 6c 65 72 0d 0a 09 6d 6f 76 09 65 73 2c reak.interrupt.handler...mov.es,
2cb60 61 78 09 09 09 3b 20 70 6f 69 6e 74 73 20 74 6f 20 70 61 67 65 20 30 0d 0a 09 6d 6f 76 09 61 78 ax...;.points.to.page.0...mov.ax
2cb80 2c 63 73 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 65 73 3a 42 52 4b 41 44 52 2c 6f 66 66 ,cs...mov.word.ptr.es:BRKADR,off
2cba0 73 65 74 20 42 72 65 61 6b 0d 0a 09 6d 6f 76 09 77 6f 72 64 20 70 74 72 20 65 73 01 3a 42 52 4b set.Break...mov.word.ptr.es.:BRK
2cbc0 41 44 52 2b 32 2c 61 78 20 3b 20 56 65 63 74 6f 72 20 66 6f 72 20 42 72 65 61 6b 0d 0a 0d 0a 09 ADR+2,ax.;.Vector.for.Break.....
2cbe0 4d 4f 56 20 20 20 20 20 44 49 2c 39 2a 34 09 09 09 3b 20 49 4e 54 20 39 20 2d 20 4b 65 79 62 6f MOV.....DI,9*4...;.INT.9.-.Keybo
2cc00 61 72 64 20 69 6e 74 65 72 72 75 70 74 20 76 65 63 74 6f 72 0d 0a 09 4d 4f 56 20 20 20 20 20 43 ard.interrupt.vector...MOV.....C
2cc20 58 2c 65 73 3a 5b 44 49 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 53 61 76 65 20 6f 6c X,es:[DI]..............;.Save.ol
2cc40 64 20 61 64 64 72 20 74 6f 20 68 6f 6f 6b 20 74 6f 0d 0a 09 4d 4f 56 20 20 20 20 20 57 4f 52 44 d.addr.to.hook.to...MOV.....WORD
2cc60 20 50 54 52 20 4f 6c 64 4b 65 79 49 6e 74 65 72 72 75 70 74 2c 43 58 0d 0a 09 4d 4f 56 20 20 20 .PTR.OldKeyInterrupt,CX...MOV...
2cc80 20 20 43 58 2c 65 73 3a 32 5b 44 49 5d 0d 0a 09 4d 4f 56 20 20 20 20 20 57 4f 52 44 20 50 54 52 ..CX,es:2[DI]...MOV.....WORD.PTR
2cca0 20 28 4f 6c 64 4b 65 79 49 6e 74 65 72 72 75 70 74 2b 32 29 2c 43 58 0d 0a 09 4d 4f 56 20 20 20 .(OldKeyInterrupt+2),CX...MOV...
2ccc0 20 20 43 58 2c 4f 46 46 53 45 54 20 4b 65 79 62 6f 61 72 64 49 6e 74 65 72 72 75 70 74 0d 0a 09 ..CX,OFFSET.KeyboardInterrupt...
2cce0 58 43 48 47 20 20 20 20 41 58 2c 43 58 0d 0a 09 53 54 4f 53 57 0d 0a 09 58 43 48 47 20 20 20 20 XCHG....AX,CX...STOSW...XCHG....
2cd00 41 58 2c 43 58 0d 0a 09 53 54 4f 53 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AX,CX...STOSW...................
2cd20 20 20 20 20 20 20 20 20 3b 20 53 65 74 20 6e 65 77 20 6b 65 79 62 6f 61 72 64 20 69 6e 74 65 72 ........;.Set.new.keyboard.inter
2cd40 72 75 70 74 0d 0a 0d 0a 09 6d 6f 76 09 64 69 2c 31 36 68 2a 34 09 09 3b 20 49 4e 54 20 31 36 20 rupt.....mov.di,16h*4..;.INT.16.
2cd60 2d 20 6b 65 79 62 6f 61 72 64 20 69 6e 70 75 74 0d 0a 09 4d 4f 56 20 20 20 20 20 43 58 2c 65 73 -.keyboard.input...MOV.....CX,es
2cd80 3a 5b 44 49 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 53 61 76 65 20 49 4e 54 20 31 36 :[DI]..............;.Save.INT.16
2cda0 20 61 64 64 72 20 74 6f 20 68 6f 6f 6b 20 74 6f 0d 0a 09 4d 4f 56 20 20 20 20 20 57 01 4f 52 44 .addr.to.hook.to...MOV.....W.ORD
2cdc0 20 50 54 52 20 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 2c 43 58 0d 0a 09 4d 4f 56 20 20 20 20 20 .PTR.OldKbdHandler,CX...MOV.....
2cde0 43 58 2c 65 73 3a 32 5b 44 49 5d 0d 0a 09 4d 4f 56 20 20 20 20 20 57 4f 52 44 20 50 54 52 20 28 CX,es:2[DI]...MOV.....WORD.PTR.(
2ce00 4f 6c 64 4b 62 64 48 61 6e 64 6c 65 72 2b 32 29 2c 43 58 0d 0a 09 4d 4f 56 20 20 20 20 20 43 58 OldKbdHandler+2),CX...MOV.....CX
2ce20 2c 4f 46 46 53 45 54 20 4b 65 79 62 6f 61 72 64 48 61 6e 64 6c 65 72 0d 0a 09 58 43 48 47 20 20 ,OFFSET.KeyboardHandler...XCHG..
2ce40 20 20 41 58 2c 43 58 0d 0a 09 53 54 4f 53 57 0d 0a 09 58 43 48 47 20 20 20 20 41 58 2c 43 58 20 ..AX,CX...STOSW...XCHG....AX,CX.
2ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 53 65 74 20 6e 65 77 20 6b 65 79 62 ..................;.Set.new.keyb
2ce80 6f 61 72 64 20 48 61 6e 64 6c 65 72 0d 0a 09 53 54 4f 53 57 0d 0a 09 6a 6d 70 09 53 74 61 74 75 oard.Handler...STOSW...jmp.Statu
2cea0 73 43 6f 6d 70 6c 65 74 65 0d 0a 0d 0a 0d 0a 49 46 09 49 4e 42 49 4f 53 0d 0a 43 6f 64 65 09 65 sComplete......IF.INBIOS..Code.e
2cec0 6e 64 73 0d 0a 0d 0a 42 69 6f 73 49 6e 69 74 09 73 65 67 6d 65 6e 74 09 70 61 72 61 20 70 75 62 nds....BiosInit.segment.para.pub
2cee0 6c 69 63 20 27 43 4f 44 45 27 0d 0a 45 4e 44 49 46 0d 0a 0d 0a 49 6e 74 72 6f 09 64 62 09 22 2d lic.'CODE'..ENDIF....Intro.db."-
2cf00 2d 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 4d 54 43 4f 4e 20 44 65 76 69 63 65 20 44 72 69 76 65 --.Installing.MTCON.Device.Drive
2cf20 72 20 56 22 0d 0a 09 64 62 09 43 56 45 52 53 2b 22 30 22 2c 22 2e 22 2c 43 52 45 56 2f 31 30 2b r.V"...db.CVERS+"0",".",CREV/10+
2cf40 22 30 22 0d 0a 09 64 62 09 28 43 52 45 56 2d 43 52 45 56 2f 31 30 2a 31 30 29 2b 22 30 22 2c 22 "0"...db.(CREV-CREV/10*10)+"0","
2cf60 20 2d 2d 2d 22 0d 0a 09 64 62 09 31 33 2c 31 30 2c 22 24 22 0d 0a 0d 0a 42 69 6f 73 49 6e 69 74 .---"...db.13,10,"$"....BiosInit
2cf80 09 65 6e 64 73 0d 0a 0d 0a 09 45 4e 44 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 .ends.....END...................
2cfa0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 3b 2a ..............................;*
2cfc0 2a 09 44 45 46 44 42 55 47 2e 41 53 4d 20 2d 20 44 65 62 75 67 67 69 6e 67 20 4d 61 63 72 6f 20 *.DEFDBUG.ASM.-.Debugging.Macro.
2cfe0 44 65 66 69 6e 69 74 69 6f 6e 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 44 45 42 55 47 09 6e 2c 6d 2c 3c Definitions..;..;..;.DEBUG.n,m,<
2d000 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 3e 2c 20 3c 61 72 67 20 6c 69 73 74 3e 0d 0a 3b 0d 0a 3b format.string>,.<arg.list>..;..;
2d020 0d 0a 0d 0a 2e 73 61 6c 6c 0d 0a 0d 0a 44 45 42 55 47 09 4d 41 43 52 4f 09 4e 2c 4d 2c 73 74 72 .....sall....DEBUG.MACRO.N,M,str
2d040 69 6e 67 2c 61 72 67 73 0d 0a 20 6c 6f 63 61 6c 20 62 2c 63 0d 0a 20 49 46 44 45 46 20 44 45 42 ing,args...local.b,c...IFDEF.DEB
2d060 55 47 46 4c 47 0d 0a 20 20 70 75 73 68 66 0d 0a 20 20 44 45 42 55 47 54 53 54 20 4e 2c 4d 0d 0a UGFLG....pushf....DEBUGTST.N,M..
2d080 20 20 6a 7a 09 62 0d 0a 20 20 70 75 73 68 20 61 78 0d 0a 20 20 70 75 73 68 20 62 70 0d 0a 20 20 ..jz.b....push.ax....push.bp....
2d0a0 63 61 6c 6c 09 63 09 09 3b 3b 20 70 75 73 68 20 61 64 64 72 65 73 73 20 6f 66 20 73 74 72 69 6e call.c..;;.push.address.of.strin
2d0c0 67 0d 0a 20 20 44 42 09 27 26 73 74 72 69 6e 67 27 2c 30 0d 0a 63 3a 09 6d 6f 76 09 62 70 2c 73 g....DB.'&string',0..c:.mov.bp,s
2d0e0 70 0d 0a 3b 20 49 46 4e 42 09 20 20 20 20 3c 61 72 67 73 3e 0d 0a 20 49 52 50 09 20 59 2c 3c 61 p..;.IFNB.....<args>...IRP..Y,<a
2d100 72 67 73 3e 0d 0a 20 20 49 46 49 44 4e 09 20 20 3c 59 3e 2c 3c 61 78 3e 0d 0a 20 20 20 20 70 75 rgs>....IFIDN...<Y>,<ax>......pu
2d120 73 68 20 34 5b 62 70 5d 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 49 46 49 44 4e 09 20 20 3c 59 3e 2c sh.4[bp]....ELSE....IFIDN...<Y>,
2d140 3c 41 58 3e 0d 0a 20 20 20 20 70 75 73 68 20 34 5b 62 70 5d 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 <AX>......push.4[bp]....ELSE....
2d160 49 46 49 44 4e 09 20 20 3c 59 3e 2c 3c 62 70 3e 0d 0a 20 20 20 20 70 75 73 68 20 32 5b 62 70 5d IFIDN...<Y>,<bp>......push.2[bp]
2d180 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 49 46 49 44 4e 09 20 20 3c 59 3e 2c 3c 42 50 3e 0d 0a 20 20 ....ELSE....IFIDN...<Y>,<BP>....
2d1a0 20 20 70 75 73 68 20 32 5b 62 70 5d 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 20 20 6d 6f 76 09 01 20 ..push.2[bp]....ELSE......mov...
2d1c0 20 20 20 61 78 2c 59 0d 0a 20 20 20 20 70 75 73 68 20 61 78 0d 0a 20 20 20 45 4e 44 49 46 0d 0a ...ax,Y......push.ax.....ENDIF..
2d1e0 20 20 20 45 4e 44 49 46 0d 0a 20 20 20 45 4e 44 49 46 0d 0a 20 20 20 45 4e 44 49 46 0d 0a 20 45 ...ENDIF.....ENDIF.....ENDIF...E
2d200 4e 44 4d 0d 0a 3b 20 45 4e 44 49 46 0d 0a 20 20 63 61 6c 6c 09 20 20 44 50 52 49 4e 54 46 0d 0a NDM..;.ENDIF....call...DPRINTF..
2d220 20 20 6d 6f 76 09 20 20 73 70 2c 62 70 0d 0a 20 20 70 6f 70 09 20 20 61 78 09 09 20 20 3b 3b 20 ..mov...sp,bp....pop...ax....;;.
2d240 64 69 73 63 61 72 64 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 6f 66 66 73 65 74 0d 0a 20 20 discard.format.string.offset....
2d260 70 6f 70 09 20 20 62 70 0d 0a 20 20 70 6f 70 09 20 20 61 78 0d 0a 62 3a 09 70 6f 70 66 0d 0a 20 pop...bp....pop...ax..b:.popf...
2d280 20 20 45 4e 44 49 46 0d 0a 45 4e 44 4d 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 45 52 52 4e 5a ..ENDIF..ENDM..........;**.ERRNZ
2d2a0 20 2d 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d 62 6c 79 20 65 72 72 6f 72 20 69 66 20 61 72 .-.generate.assembly.error.if.ar
2d2c0 67 20 21 3d 20 30 0d 0a 3b 0d 0a 0d 0a 45 52 52 4e 5a 09 4d 41 43 52 4f 09 45 58 50 52 0d 0a 20 g.!=.0..;....ERRNZ.MACRO.EXPR...
2d2e0 49 46 31 0d 0a 20 20 49 46 45 09 20 20 65 78 70 72 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 52 41 44 IF1....IFE...expr....ELSE....RAD
2d300 49 58 09 20 20 30 09 20 20 3b 20 43 4f 4e 44 49 54 49 4f 4e 20 4e 4f 54 20 4d 45 54 20 2d 20 45 IX...0...;.CONDITION.NOT.MET.-.E
2d320 52 52 4f 52 0d 0a 20 20 45 4e 44 49 46 0d 0a 20 45 4e 44 49 46 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a RROR....ENDIF...ENDIF...ENDM....
2d340 0d 0a 3b 2a 2a 09 44 42 42 45 47 20 2d 20 53 74 61 72 74 20 64 65 62 75 67 67 69 6e 67 20 72 61 ..;**.DBBEG.-.Start.debugging.ra
2d360 6e 67 65 0d 0a 3b 0d 0a 0d 0a 44 42 42 45 47 09 4d 41 43 52 4f 09 4e 2c 4d 0d 0a 20 4c 4f 43 41 nge..;....DBBEG.MACRO.N,M...LOCA
2d380 4c 09 20 6c 61 62 0d 0a 20 49 46 44 45 46 09 20 44 45 42 55 47 46 4c 47 0d 0a 20 20 70 75 73 68 L..lab...IFDEF..DEBUGFLG....push
2d3a0 66 0d 0a 20 20 44 45 42 55 47 54 53 54 20 4e 2c 4d 0d 0a 20 20 6a 6e 7a 09 20 20 6c 61 62 09 05 f....DEBUGTST.N,M....jnz...lab..
2d3c0 14 00 09 02 01 02 03 04 05 06 07 08 09 01 09 09 20 20 3b 3b 20 61 6d 20 74 6f 20 64 6f 20 69 74 ..................;;.am.to.do.it
2d3e0 0d 0a 20 20 44 42 4a 4d 50 09 20 20 25 44 42 43 4e 54 0d 0a 6c 61 62 3a 0d 0a 20 20 20 20 45 4e ....DBJMP...%DBCNT..lab:......EN
2d400 44 4d 0d 0a 0d 0a 0d 0a 0d 0a 44 42 4a 4d 50 09 4d 41 43 52 4f 09 4e 0d 0a 20 6a 6d 70 20 44 42 DM........DBJMP.MACRO.N...jmp.DB
2d420 4c 41 42 26 4e 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 44 45 42 55 47 54 53 54 20 2d LAB&N...ENDM......;**.DEBUGTST.-
2d440 20 54 65 73 74 20 44 65 62 75 67 20 46 6c 61 67 73 0d 0a 3b 0d 0a 3b 09 44 45 42 55 47 54 53 54 .Test.Debug.Flags..;..;.DEBUGTST
2d460 20 20 20 6e 2c 6d 0d 0a 3b 0d 0a 3b 09 57 68 65 72 65 20 4e 20 61 6e 64 20 4d 20 61 72 65 20 62 ...n,m..;..;.Where.N.and.M.are.b
2d480 69 74 20 6d 61 73 6b 73 2e 0d 0a 3b 0d 0a 3b 09 49 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f it.masks...;..;.If.one.or.more.o
2d4a0 66 20 74 68 65 20 62 69 74 73 20 69 6e 20 4e 20 69 73 20 73 65 74 20 69 6e 20 74 68 65 20 68 69 f.the.bits.in.N.is.set.in.the.hi
2d4c0 67 68 20 62 79 74 65 0d 0a 3b 09 6f 66 20 42 55 47 42 49 54 53 2c 20 61 6e 64 20 6f 6e 65 20 6f gh.byte..;.of.BUGBITS,.and.one.o
2d4e0 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 62 69 74 73 20 69 6e 20 4d 20 69 73 20 73 65 74 20 69 r.more.of.the.bits.in.M.is.set.i
2d500 6e 0d 0a 3b 09 74 68 65 20 6c 6f 77 20 62 79 74 65 20 6f 66 20 42 55 47 42 49 54 53 20 74 68 65 n..;.the.low.byte.of.BUGBITS.the
2d520 6e 20 63 6c 65 61 72 20 74 68 65 20 5a 20 66 6c 61 67 2e 0d 0a 3b 0d 0a 3b 09 49 6e 20 6f 74 68 n.clear.the.Z.flag...;..;.In.oth
2d540 65 72 20 77 6f 72 64 73 3a 0d 0a 3b 0d 0a 3b 09 49 66 20 62 6f 74 68 20 6d 61 73 6b 73 20 73 68 er.words:..;..;.If.both.masks.sh
2d560 6f 77 20 61 20 22 68 69 74 22 20 63 6c 65 61 72 20 27 5a 27 20 65 6c 73 65 20 73 65 74 20 27 5a ow.a."hit".clear.'Z'.else.set.'Z
2d580 27 0d 0a 3b 0d 0a 3b 09 55 53 45 53 09 46 4c 41 47 53 0d 0a 0d 0a 44 45 42 55 47 54 53 54 20 20 '..;..;.USES.FLAGS....DEBUGTST..
2d5a0 20 20 4d 41 43 52 4f 20 20 20 4e 2c 4d 0d 0a 09 4c 4f 43 41 4c 09 41 0d 0a 09 74 65 73 74 09 42 ..MACRO...N,M...LOCAL.A...test.B
2d5c0 59 54 45 20 50 54 52 20 42 55 47 42 49 54 01 53 2c 6e 0d 0a 09 6a 7a 09 41 0d 0a 09 74 65 73 74 YTE.PTR.BUGBIT.S,n...jz.A...test
2d5e0 09 42 59 54 45 20 50 54 52 20 42 55 47 42 49 54 53 2b 31 2c 6d 0d 0a 41 3a 0d 0a 09 45 4e 44 4d .BYTE.PTR.BUGBITS+1,m..A:...ENDM
2d600 0d 0a 0d 0a 44 42 45 4e 44 09 4d 41 43 52 4f 0d 0a 09 44 42 4c 41 42 09 25 44 42 43 4e 54 0d 0a ....DBEND.MACRO...DBLAB.%DBCNT..
2d620 44 42 43 4e 54 09 3d 09 44 42 43 4e 54 2b 31 0d 0a 09 70 6f 70 66 0d 0a 09 45 4e 44 4d 0d 0a 0d DBCNT.=.DBCNT+1...popf...ENDM...
2d640 0a 44 42 4c 41 42 09 4d 41 43 52 4f 09 4e 0d 0a 44 42 4c 41 42 26 4e 3a 0d 0a 09 45 4e 44 4d 0d .DBLAB.MACRO.N..DBLAB&N:...ENDM.
2d660 0a 0d 0a 20 20 44 42 43 4e 54 20 3d 20 31 0d 0a 6f 6d 6d 61 6e 64 5c 63 6f 6d 6d 61 6e 64 2e 63 .....DBCNT.=.1..ommand\command.c
2d680 6f 6d 20 61 3a 0d 0a 09 63 6f 70 79 20 6f 3a 5c 75 74 69 6c 69 74 79 5c 2a 2e 2a 20 61 3a 0d 0a om.a:...copy.o:\utility\*.*.a:..
2d6a0 09 6d 6b 64 69 72 20 61 3a 5c 62 69 6e 0d 0a 09 6d 76 20 61 3a 2a 2e 65 78 65 20 61 3a 5c 62 69 .mkdir.a:\bin...mv.a:*.exe.a:\bi
2d6c0 6e 0d 0a 09 6d 76 20 61 3a 72 65 61 64 6d 65 20 61 3a 5c 62 69 6e 0d 0a 09 63 68 6b 64 73 6b 20 n...mv.a:readme.a:\bin...chkdsk.
2d6e0 61 3a 2a 2e 2a 0d 0a 69 66 20 25 31 20 3d 3d 20 31 20 65 78 69 74 0d 0a 0d 0a 09 65 63 68 6f 20 a:*.*..if.%1.==.1.exit.....echo.
2d700 49 6e 73 65 72 74 20 6e 65 77 20 64 69 73 6b 20 66 6f 72 20 42 49 4f 53 0d 0a 09 70 61 75 73 65 Insert.new.disk.for.BIOS...pause
2d720 0d 0a 3a 64 69 73 6b 74 77 6f 0d 0a 09 64 65 6c 20 20 61 3a 5c 62 69 6f 73 5c 2a 2e 2a 0d 0a 09 ..:disktwo...del..a:\bios\*.*...
2d740 6d 6b 64 69 72 20 61 3a 5c 62 69 6f 73 0d 0a 09 63 64 20 6f 3a 5c 64 6f 73 5c 62 69 6f 73 0d 0a mkdir.a:\bios...cd.o:\dos\bios..
2d760 09 63 6f 70 79 20 6f 3a 72 65 61 64 5f 6d 65 2e 6f 65 6d 20 61 3a 5c 62 69 6f 73 5c 72 65 61 64 .copy.o:read_me.oem.a:\bios\read
2d780 5f 6d 65 0d 0a 09 63 6f 70 79 20 6f 3a 2a 2e 6f 62 6a 20 61 3a 5c 62 69 6f 73 0d 0a 09 63 6f 70 _me...copy.o:*.obj.a:\bios...cop
2d7a0 79 20 6f 3a 69 62 6d 2a 2e 61 73 6d 20 61 3a 5c 62 69 6f 73 0d 0a 09 63 6f 70 79 20 6f 3a 64 65 y.o:ibm*.asm.a:\bios...copy.o:de
2d7c0 66 64 62 75 67 2e 69 6e 63 20 61 3a 5c 62 69 01 3b 2a 2a 2a 09 42 75 67 63 6f 64 65 2e 69 6e 63 fdbug.inc.a:\bi.;***.Bugcode.inc
2d7e0 20 2d 20 44 65 62 75 67 20 63 6f 64 65 20 66 6f 72 20 69 6e 63 6c 75 64 69 6e 67 20 69 6e 74 6f .-.Debug.code.for.including.into
2d800 20 73 79 73 69 6e 69 2e 61 73 6d 20 61 6e 64 20 69 62 6d 62 69 6f 2e 61 73 6d 0d 0a 3b 0d 0a 3b .sysini.asm.and.ibmbio.asm..;..;
2d820 09 43 61 6e 27 74 20 6c 69 6e 6b 20 69 6e 20 76 69 61 20 62 75 67 6c 69 62 20 64 75 65 20 74 6f .Can't.link.in.via.buglib.due.to
2d840 20 6d 65 6d 6f 72 79 20 61 6e 64 20 72 65 6c 6f 63 61 74 69 6f 6e 20 67 61 6d 65 73 20 70 6c 61 .memory.and.relocation.games.pla
2d860 79 65 64 0d 0a 3b 09 62 79 20 74 68 65 73 65 20 6d 6f 64 75 6c 65 73 2e 20 20 45 61 63 68 20 67 yed..;.by.these.modules...Each.g
2d880 65 74 73 20 61 20 70 72 69 76 61 74 65 2c 20 6c 6f 63 61 6c 2d 6f 6e 6c 79 20 63 6f 70 79 20 6f ets.a.private,.local-only.copy.o
2d8a0 66 20 74 68 65 73 65 0d 0a 3b 09 6d 6f 64 75 6c 65 73 2e 0d 0a 0d 0a 0d 0a 49 46 44 45 46 09 44 f.these..;.modules.......IFDEF.D
2d8c0 45 42 55 47 46 4c 47 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 44 50 52 49 4e 54 46 20 5f 20 44 65 62 75 67 EBUGFLG......;**.DPRINTF._.Debug
2d8e0 20 50 72 69 6e 74 66 0d 0a 3b 0d 0a 3b 09 44 70 72 69 6e 74 66 20 69 73 20 61 20 6b 65 72 6e 65 .Printf..;..;.Dprintf.is.a.kerne
2d900 6c 20 64 65 62 75 67 20 70 72 69 6e 74 20 66 6f 72 6d 61 74 74 69 6e 67 20 70 61 63 6b 61 67 65 l.debug.print.formatting.package
2d920 2e 20 20 49 74 20 69 73 20 69 6e 74 65 6e 64 65 64 0d 0a 3b 09 74 6f 20 70 72 6f 64 75 63 65 20 ...It.is.intended..;.to.produce.
2d940 63 6f 6e 76 69 65 6e 74 6c 79 20 66 6f 72 6d 61 74 74 65 64 20 6f 75 74 70 75 74 2e 0d 0a 3b 0d conviently.formatted.output...;.
2d960 0a 3b 09 44 70 72 69 6e 74 66 20 69 73 20 63 61 6c 6c 65 64 2c 20 69 6e 64 69 72 65 63 74 6c 79 .;.Dprintf.is.called,.indirectly
2d980 2c 20 62 79 20 61 20 6d 61 63 72 6f 3a 0d 0a 3b 0d 0a 3b 09 44 45 42 55 47 09 6e 2c 6d 2c 22 73 ,.by.a.macro:..;..;.DEBUG.n,m,"s
2d9a0 74 72 69 6e 67 22 2c 3c 61 31 2c 2e 2e 2e 2c 61 6e 3e 0d 0a 3b 0d 0a 3b 09 73 74 72 69 6e 67 20 tring",<a1,...,an>..;..;.string.
2d9c0 3d 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0d 01 0a 3b 09 61 31 20 20 20 20 20 3d 20 66 69 72 =.format.string...;.a1.....=.fir
2d9e0 73 74 20 61 72 67 75 6d 65 6e 74 0d 0a 3b 09 61 6e 20 20 20 20 20 3d 20 6c 61 73 74 20 61 72 67 st.argument..;.an.....=.last.arg
2da00 75 6d 65 6e 74 0d 0a 3b 0d 0a 3b 09 54 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 69 73 ument..;..;.The.format.string.is
2da20 20 61 6e 20 41 53 43 49 5a 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 63 61 6e 20 63 6f 6e 74 61 .an.ASCIZ.string.which.can.conta
2da40 69 6e 20 32 20 74 79 70 65 73 20 6f 66 0d 0a 3b 09 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 3a in.2.types.of..;.specifications:
2da60 09 20 64 61 74 61 2d 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 ..data-format.specifications.and
2da80 20 6c 69 74 65 72 61 6c 20 63 68 61 72 61 63 74 65 72 73 2e 0d 0a 3b 09 44 61 74 61 20 66 6f 72 .literal.characters...;.Data.for
2daa0 6d 61 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 61 6c 77 61 79 73 20 62 65 67 69 6e 20 mat.specifications.always.begin.
2dac0 77 69 74 68 20 61 20 27 24 27 20 63 68 61 72 61 63 74 65 72 3b 20 61 6c 6c 0d 0a 3b 09 63 68 61 with.a.'$'.character;.all..;.cha
2dae0 72 61 63 74 65 72 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 61 20 64 61 74 61 20 66 6f 72 6d 61 racters.not.part.of.a.data.forma
2db00 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 0d 0a t.specification.are.treated.as..
2db20 3b 09 6c 69 74 65 72 61 6c 20 63 68 61 72 61 63 74 65 72 73 2e 0d 0a 3b 0d 0a 3b 09 4c 69 74 65 ;.literal.characters...;..;.Lite
2db40 72 61 6c 20 63 68 61 72 61 63 74 65 72 73 0d 0a 3b 09 20 20 20 20 2d 20 61 6e 79 20 63 68 61 72 ral.characters..;.....-.any.char
2db60 61 63 74 65 72 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 61 20 66 6f 72 6d 61 74 20 73 70 65 63 69 acter.not.part.of.a.format.speci
2db80 66 69 63 61 74 69 6f 6e 2e 09 20 53 70 65 63 69 61 6c 0d 0a 3b 09 20 20 20 20 20 20 6e 6f 6e 2d fication...Special..;.......non-
2dba0 70 72 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 3a 0d 0a 3b 09 09 5c 6e 09 printing.characters.are:..;..\n.
2dbc0 2d 20 43 52 4c 46 0d 0a 3b 09 09 5c 74 09 2d 20 74 01 61 62 0d 0a 3b 09 09 5c 62 09 2d 20 62 65 -.CRLF..;..\t.-.t.ab..;..\b.-.be
2dbe0 6c 6c 0d 0a 3b 09 09 5c 5c 09 2d 20 5c 0d 0a 3b 09 09 5c 24 09 2d 20 24 0d 0a 3b 0d 0a 3b 09 46 ll..;..\\.-.\..;..\$.-.$..;..;.F
2dc00 6f 72 6d 61 74 20 53 70 65 63 69 66 69 63 61 74 69 6f 6e 73 0d 0a 3b 0d 0a 3b 09 41 20 66 6f 72 ormat.Specifications..;..;.A.for
2dc20 6d 61 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 66 6f 72 6d mat.specification.takes.the.form
2dc40 3a 0d 0a 3b 09 20 20 20 20 20 24 20 5b 40 5d 20 3c 63 68 61 72 3e 0d 0a 3b 0d 0a 3b 09 77 68 65 :..;......$.[@].<char>..;..;.whe
2dc60 72 65 20 3c 63 68 61 72 3e 20 3d 0d 0a 3b 0d 0a 3b 09 20 20 20 20 78 09 20 20 20 20 2d 20 70 72 re.<char>.=..;..;.....x.....-.pr
2dc80 69 6e 74 20 61 72 67 75 6d 65 6e 74 20 61 73 20 61 20 68 65 78 20 77 6f 72 64 0d 0a 3b 09 20 20 int.argument.as.a.hex.word..;...
2dca0 20 20 64 09 20 20 20 20 2d 20 70 72 69 6e 74 20 61 72 67 75 6d 65 6e 74 20 61 73 20 64 65 63 69 ..d.....-.print.argument.as.deci
2dcc0 6d 61 6c 20 77 6f 72 64 0d 0a 3b 09 20 20 20 20 63 09 20 20 20 20 2d 20 70 72 69 6e 74 20 61 72 mal.word..;.....c.....-.print.ar
2dce0 67 75 6d 65 6e 74 20 61 73 20 61 73 63 69 69 20 63 68 61 72 61 63 74 65 72 0d 0a 3b 09 20 20 20 gument.as.ascii.character..;....
2dd00 20 62 09 20 20 20 20 2d 20 70 72 69 6e 74 20 61 72 67 75 6d 65 6e 74 20 61 73 20 68 65 78 20 62 .b.....-.print.argument.as.hex.b
2dd20 79 74 65 0d 0a 3b 09 09 46 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 66 6f yte..;..For.each.of.the.above.fo
2dd40 72 6d 61 74 73 2c 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 61 72 67 75 6d 65 6e 74 0d 0a 3b 09 rmats,.the.supplied.argument..;.
2dd60 09 69 73 20 61 20 31 36 2d 62 69 74 20 77 6f 72 64 20 2d 20 74 68 65 20 76 61 6c 75 65 20 74 6f .is.a.16-bit.word.-.the.value.to
2dd80 20 62 65 20 70 72 69 6e 74 65 64 2e 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 40 0d 0a 3b 09 .be.printed...The.optional.@..;.
2dda0 09 28 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 29 20 61 6c 6c 6f 77 73 20 61 20 73 65 67 6d .(described.below).allows.a.segm
2ddc0 65 6e 74 65 64 20 61 64 64 72 65 73 73 20 74 6f 20 62 01 65 20 73 75 70 70 6c 69 65 64 2c 0d 0a ented.address.to.b.e.supplied,..
2dde0 3b 09 09 69 6e 73 74 65 61 64 2e 0d 0a 3b 0d 0a 3b 09 20 20 20 20 73 5b 6e 6e 5d 20 20 20 2d 20 ;..instead...;..;.....s[nn]...-.
2de00 70 72 69 6e 74 20 61 72 67 75 6d 65 6e 74 20 61 73 20 61 73 63 69 7a 20 73 74 72 69 6e 67 3b 20 print.argument.as.asciz.string;.
2de20 69 66 20 6f 70 74 69 6f 6e 61 6c 20 64 65 63 69 6d 61 6c 0d 0a 3b 09 09 20 20 20 20 20 20 61 72 if.optional.decimal..;........ar
2de40 67 75 6d 65 6e 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 gument.follows.the.format.charac
2de60 74 65 72 20 74 68 69 73 20 73 70 65 63 69 66 79 73 0d 0a 3b 09 09 20 20 20 20 20 20 61 20 6d 61 ter.this.specifys..;........a.ma
2de80 78 69 6d 75 6d 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 2e 09 4e 6f 6e 20 70 72 69 6e 74 69 6e ximum.string.length..Non.printin
2dea0 67 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 0d 0a 3b 09 09 20 20 20 20 20 20 70 72 69 6e 74 g.characters.are..;........print
2dec0 65 64 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 5c 6e 6e 6e 20 77 68 65 72 65 20 22 6e 6e 6e 22 20 ed.in.the.form.\nnn.where."nnn".
2dee0 69 73 20 74 68 65 20 6f 63 74 61 6c 20 62 79 74 65 0d 0a 3b 09 09 20 20 20 20 20 20 76 61 6c 75 is.the.octal.byte..;........valu
2df00 65 2e 0d 0a 3b 09 09 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 66 6f 72 6d e...;........Note.that.this.form
2df20 61 74 20 63 68 61 72 61 63 74 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 64 69 72 65 63 74 6c 79 0d at.character.cannot.be.directly.
2df40 0a 3b 09 09 20 20 20 20 20 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 64 69 67 69 74 20 75 6e .;........followed.by.a.digit.un
2df60 6c 65 73 73 20 74 68 61 74 20 64 69 67 69 74 20 69 73 20 74 6f 20 62 65 20 74 61 6b 65 6e 0d 0a less.that.digit.is.to.be.taken..
2df80 3b 09 09 20 20 20 20 20 20 61 73 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 6c 65 6e 67 74 ;........as.the.start.of.a.lengt
2dfa0 68 20 61 72 67 75 6d 65 6e 74 2e 0d 0a 3b 0d 0a 3b 09 20 20 20 20 42 6e 6e 09 20 20 20 20 2d 20 h.argument...;..;.....Bnn.....-.
2dfc0 70 72 69 6e 74 20 61 72 67 75 6d 65 6e 74 20 61 73 20 68 01 65 78 20 62 79 74 65 73 2e 20 20 54 print.argument.as.h.ex.bytes...T
2dfe0 68 65 20 72 65 71 75 69 72 65 64 20 66 6f 6c 6c 6f 77 69 6e 67 0d 0a 3b 09 09 20 20 20 20 20 20 he.required.following..;........
2e000 64 65 63 69 6d 61 6c 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f decimal.argument.is.the.number.o
2e020 66 20 62 79 74 65 73 20 74 6f 20 70 72 69 6e 74 2e 0d 0a 3b 0d 0a 3b 09 09 42 6f 74 68 20 6f 66 f.bytes.to.print...;..;..Both.of
2e040 20 74 68 65 73 65 20 66 6f 72 6d 61 74 73 20 74 61 6b 65 20 61 20 6c 6f 6e 67 20 61 64 64 72 65 .these.formats.take.a.long.addre
2e060 73 73 20 61 73 20 74 68 65 69 72 20 61 72 67 75 6d 65 6e 74 2e 0d 0a 3b 09 09 54 68 65 20 27 40 ss.as.their.argument...;..The.'@
2e080 27 20 63 68 61 72 61 63 74 65 72 20 69 73 20 74 68 75 73 20 69 6e 76 61 6c 69 64 20 66 6f 72 20 '.character.is.thus.invalid.for.
2e0a0 74 68 65 73 65 20 66 6f 72 6d 61 74 73 2e 0d 0a 3b 0d 0a 3b 09 57 41 52 4e 49 4e 47 53 0d 0a 3b these.formats...;..;.WARNINGS..;
2e0c0 09 20 20 20 20 41 73 20 62 65 66 69 74 74 69 6e 67 20 61 20 64 65 62 75 67 20 72 6f 75 74 69 6e .....As.befitting.a.debug.routin
2e0e0 65 2c 20 44 50 52 49 4e 54 46 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 77 68 6f 6c 65 e,.DPRINTF.does.not.have.a.whole
2e100 20 6c 6f 74 0d 0a 3b 09 20 20 20 20 6f 66 20 22 66 61 69 6c 73 61 66 65 22 20 63 6f 64 65 20 69 .lot..;.....of."failsafe".code.i
2e120 6e 20 69 74 2e 20 20 53 75 70 70 6c 79 69 6e 67 20 73 63 72 65 77 65 64 20 75 70 20 66 6f 72 6d n.it...Supplying.screwed.up.form
2e140 61 74 73 20 63 61 6e 0d 0a 3b 09 20 20 20 20 6d 75 63 6b 20 74 68 69 6e 67 73 20 75 70 2e 20 20 ats.can..;.....muck.things.up...
2e160 53 70 65 63 69 66 69 63 61 6c 6c 79 3a 0d 0a 3b 09 09 54 68 65 20 40 20 61 72 67 75 6d 65 6e 74 Specifically:..;..The.@.argument
2e180 20 6d 75 73 74 20 4e 4f 54 20 62 65 20 73 70 65 63 69 66 69 65 64 20 77 69 74 68 20 74 68 65 20 .must.NOT.be.specified.with.the.
2e1a0 27 73 27 20 6f 72 20 27 42 27 0d 0a 3b 09 09 20 20 20 20 20 66 6f 72 6d 61 74 0d 0a 3b 09 09 41 's'.or.'B'..;.......format..;..A
2e1c0 20 73 74 72 69 6e 67 2f 62 79 74 65 2d 6c 65 6e 67 74 68 20 01 61 72 67 75 6d 65 6e 74 20 6f 66 .string/byte-length..argument.of
2e1e0 20 30 20 69 73 20 74 61 6b 65 6e 20 61 73 20 36 35 35 33 36 0d 0a 3b 09 20 20 20 20 54 68 65 20 .0.is.taken.as.65536..;.....The.
2e200 73 74 72 69 6e 67 20 22 25 25 20 42 41 44 20 46 4d 54 20 25 25 22 20 61 70 70 65 61 72 73 20 69 string."%%.BAD.FMT.%%".appears.i
2e220 6e 20 74 68 65 20 6f 75 74 70 75 74 20 77 68 65 6e 0d 0a 3b 09 09 31 29 20 61 6e 20 69 6c 6c 65 n.the.output.when..;..1).an.ille
2e240 67 61 6c 20 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 20 69 73 20 67 69 76 65 6e 2c 20 6f gal.format.specifier.is.given,.o
2e260 72 0d 0a 3b 09 09 32 29 20 74 68 65 20 42 20 66 6f 72 6d 61 74 20 69 73 20 67 69 76 65 6e 20 61 r..;..2).the.B.format.is.given.a
2e280 20 30 20 6f 72 20 6d 69 73 73 69 6e 67 20 6c 65 6e 67 74 68 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 .0.or.missing.length..;..;.ENTRY
2e2a0 09 28 73 70 2b 6e 20 20 29 20 3d 20 61 64 64 72 65 73 73 20 6f 66 20 66 6f 72 6d 61 74 20 73 74 .(sp+n..).=.address.of.format.st
2e2c0 72 69 6e 67 20 28 6f 66 66 73 65 74 20 66 72 6f 6d 20 72 65 74 75 72 6e 20 63 73 20 76 61 6c 75 ring.(offset.from.return.cs.valu
2e2e0 65 29 0d 0a 3b 09 09 28 73 70 2b 6e 2d 32 29 20 3d 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 e)..;..(sp+n-2).=.first.argument
2e300 20 77 6f 72 64 0d 0a 3b 09 09 28 73 70 2b 6e 2d 34 29 20 3d 20 73 65 63 6f 6e 64 20 61 72 67 75 .word..;..(sp+n-4).=.second.argu
2e320 6d 65 6e 74 20 77 6f 72 64 0d 0a 3b 09 09 20 20 20 20 2e 0d 0a 3b 09 09 28 73 70 2b 34 20 20 29 ment.word..;.........;..(sp+4..)
2e340 20 3d 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 77 6f 72 64 0d 0a 3b 09 09 28 73 70 2b 32 20 .=.last.argument.word..;..(sp+2.
2e360 20 29 20 3d 20 73 65 67 20 6f 66 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 73 0d 0a 3b 09 09 28 .).=.seg.of.return.address..;..(
2e380 73 70 20 20 20 20 29 20 3d 20 6f 66 66 73 65 74 20 6f 66 20 72 65 74 75 72 6e 20 61 64 64 72 65 sp....).=.offset.of.return.addre
2e3a0 73 73 0d 0a 3b 09 09 28 62 70 29 20 3d 20 6f 66 66 73 65 74 20 6f 66 20 66 6f 72 6d 61 74 20 73 ss..;..(bp).=.offset.of.format.s
2e3c0 74 72 69 6e 67 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 0d 0a 3b 01 09 45 58 49 54 09 6e 6f 6e 65 tring.on.the.stack..;..EXIT.none
2e3e0 0d 0a 3b 09 55 53 45 53 09 66 6c 61 67 73 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 44 50 52 49 4e 54 ..;.USES.flags.....PUBLIC.DPRINT
2e400 46 0d 0a 44 50 52 49 4e 54 46 20 50 52 4f 43 09 6e 65 61 72 0d 0a 0d 0a 09 70 75 73 68 09 64 73 F..DPRINTF.PROC.near.....push.ds
2e420 0d 0a 09 70 75 73 68 09 65 73 0d 0a 09 70 75 73 68 09 62 70 0d 0a 09 70 75 73 68 09 64 69 0d 0a ...push.es...push.bp...push.di..
2e440 09 70 75 73 68 09 73 69 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 70 .push.si...push.dx...push.cx...p
2e460 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 61 78 09 09 3b 20 73 61 76 65 20 72 65 67 69 73 74 65 ush.bx...push.ax..;.save.registe
2e480 72 73 0d 0a 09 63 6c 64 0d 0a 0d 0a 09 6d 6f 76 09 73 69 2c 5b 62 70 5d 09 09 3b 20 67 65 74 20 rs...cld.....mov.si,[bp]..;.get.
2e4a0 61 64 64 72 65 73 73 20 6f 66 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0d 0a 09 73 75 62 09 62 address.of.format.string...sub.b
2e4c0 70 2c 32 0d 0a 09 6d 6f 76 09 62 78 2c 73 70 0d 0a 09 6d 6f 76 09 64 73 2c 73 73 3a 32 30 5b 62 p,2...mov.bx,sp...mov.ds,ss:20[b
2e4e0 78 5d 09 3b 20 28 64 73 3a 73 69 29 20 3d 20 61 64 64 72 65 73 73 20 6f 66 20 66 6f 72 6d 61 74 x].;.(ds:si).=.address.of.format
2e500 20 73 74 72 69 6e 67 0d 0a 09 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 0d 0a 3b 09 .string...push.cs...pop.ds....;.
2e520 53 63 61 6e 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 66 6f 72 20 6e 65 78 74 20 63 68 61 72 Scan.format.string.for.next.char
2e540 61 63 74 65 72 0d 0a 3b 0d 0a 3b 09 28 64 73 3a 73 69 29 20 3d 20 61 64 64 72 65 73 73 20 6f 66 acter..;..;.(ds:si).=.address.of
2e560 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0d 0a 3b 09 28 73 73 3a 62 70 29 20 3d 20 61 64 64 72 .format.string..;.(ss:bp).=.addr
2e580 65 73 73 20 6f 66 20 6e 65 78 74 20 61 72 67 75 6d 65 6e 74 0d 0a 0d 0a 64 70 66 31 3a 09 6c 6f ess.of.next.argument....dpf1:.lo
2e5a0 64 73 62 09 09 09 3b 20 28 61 6c 29 20 3d 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 62 79 74 dsb...;.(al).=.format.string.byt
2e5c0 65 0d 0a 09 61 6e 64 09 61 6c 2c 61 6c 0d 0a 09 6a 65 09 64 70 66 05 14 01 09 02 01 02 03 04 05 e...and.al,al...je.dpf..........
2e5e0 06 07 08 09 01 33 09 09 3b 20 61 6c 6c 20 64 6f 6e 65 0d 0a 09 63 6d 70 09 61 6c 2c 27 24 27 0d .....3..;.all.done...cmp.al,'$'.
2e600 0a 09 6a 65 09 64 70 66 34 09 09 3b 20 69 73 20 64 61 74 61 20 65 73 63 61 70 65 0d 0a 09 63 6d ..je.dpf4..;.is.data.escape...cm
2e620 70 09 61 6c 2c 27 5c 27 0d 0a 09 6a 6e 7a 09 64 70 66 32 09 09 3b 20 67 6f 74 20 74 68 65 20 63 p.al,'\'...jnz.dpf2..;.got.the.c
2e640 68 61 72 61 63 74 65 72 0d 0a 0d 0a 3b 09 69 74 27 73 20 61 6e 20 22 5c 22 20 65 73 63 61 70 65 haracter....;.it's.an."\".escape
2e660 20 63 6f 64 65 20 2d 20 63 72 61 63 6b 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 63 68 61 72 61 .code.-.crack.the.argument.chara
2e680 63 74 65 72 0d 0a 0d 0a 09 6c 6f 64 73 62 0d 0a 09 61 6e 64 09 61 6c 2c 61 6c 0d 0a 09 6a 65 09 cter.....lodsb...and.al,al...je.
2e6a0 64 70 66 33 09 09 3b 20 61 6c 6c 20 64 6f 6e 65 2c 20 69 67 6e 6f 72 65 20 68 61 6e 67 69 6e 67 dpf3..;.all.done,.ignore.hanging
2e6c0 20 5c 0d 0a 09 78 63 68 67 09 61 68 2c 61 6c 0d 0a 09 6d 6f 76 09 61 6c 2c 30 43 68 0d 0a 09 63 .\...xchg.ah,al...mov.al,0Ch...c
2e6e0 6d 70 09 61 68 2c 27 6e 27 0d 0a 09 6a 6e 65 09 64 70 66 31 24 35 09 09 3b 20 6e 6f 74 20 5c 6e mp.ah,'n'...jne.dpf1$5..;.not.\n
2e700 0d 0a 09 6d 6f 76 09 61 6c 2c 30 64 48 0d 0a 09 63 61 6c 6c 09 70 75 74 63 68 61 72 0d 0a 09 6d ...mov.al,0dH...call.putchar...m
2e720 6f 76 09 61 6c 2c 30 61 48 0d 0a 09 6a 6d 70 09 53 48 4f 52 54 20 64 70 66 32 09 3b 20 70 72 69 ov.al,0aH...jmp.SHORT.dpf2.;.pri
2e740 6e 74 20 4c 46 0d 0a 0d 0a 64 70 66 31 24 35 3a 20 63 6d 70 09 61 68 2c 27 74 27 0d 0a 09 6d 6f nt.LF....dpf1$5:.cmp.ah,'t'...mo
2e760 76 09 61 6c 2c 39 0d 0a 09 6a 65 09 64 70 66 32 09 09 3b 20 69 73 20 5c 74 0d 0a 09 63 6d 70 09 v.al,9...je.dpf2..;.is.\t...cmp.
2e780 61 68 2c 27 62 27 0d 0a 09 6d 6f 76 09 61 6c 2c 37 0d 0a 09 6a 65 09 64 70 66 32 09 09 3b 20 69 ah,'b'...mov.al,7...je.dpf2..;.i
2e7a0 73 20 5c 62 0d 0a 09 78 63 68 67 09 61 68 2c 61 6c 0d 0a 64 70 66 32 3a 09 63 61 6c 6c 09 70 75 s.\b...xchg.ah,al..dpf2:.call.pu
2e7c0 74 63 68 61 72 0d 0a 09 6a 6d 70 09 64 70 66 31 0d 0a 0d 0a 3b 09 68 61 76 65 20 74 68 65 20 65 tchar...jmp.dpf1....;.have.the.e
2e7e0 6e 64 20 6f 66 01 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 2d 20 65 78 69 74 0d nd.of..the.format.string.-.exit.
2e800 0a 0d 0a 64 70 66 33 3a 09 70 6f 70 09 61 78 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 09 63 ...dpf3:.pop.ax...pop.bx...pop.c
2e820 78 0d 0a 09 70 6f 70 09 64 78 0d 0a 09 70 6f 70 09 73 69 0d 0a 09 70 6f 70 09 64 69 0d 0a 09 70 x...pop.dx...pop.si...pop.di...p
2e840 6f 70 09 62 70 0d 0a 09 70 6f 70 09 65 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 72 65 74 0d 0a 0d op.bp...pop.es...pop.ds...ret...
2e860 0a 0d 0a 3b 2a 09 48 61 76 65 20 61 20 27 24 27 20 63 68 61 72 61 63 74 65 72 20 2d 20 69 73 20 ...;*.Have.a.'$'.character.-.is.
2e880 64 61 74 61 20 66 6f 72 6d 61 74 20 65 73 63 61 70 65 0d 0a 3b 0d 0a 3b 09 47 65 74 20 61 64 64 data.format.escape..;..;.Get.add
2e8a0 72 65 73 73 20 6f 66 20 64 61 74 61 20 69 6e 74 6f 20 65 73 3a 64 69 0d 0a 3b 0d 0a 3b 09 28 62 ress.of.data.into.es:di..;..;.(b
2e8c0 70 29 20 3d 20 61 64 64 72 65 73 73 20 6f 66 20 64 61 74 61 20 76 61 6c 75 65 0d 0a 0d 0a 64 70 p).=.address.of.data.value....dp
2e8e0 66 34 3a 09 6d 6f 76 09 64 69 2c 62 70 0d 0a 09 70 75 73 68 09 73 73 0d 0a 09 70 6f 70 09 65 73 f4:.mov.di,bp...push.ss...pop.es
2e900 09 09 3b 20 28 65 73 3a 64 69 29 20 3d 20 61 64 64 72 65 73 73 20 6f 66 20 64 61 74 61 20 76 61 ..;.(es:di).=.address.of.data.va
2e920 6c 75 65 0d 0a 09 73 75 62 09 62 70 2c 32 09 09 3b 20 70 6f 69 6e 74 20 74 6f 20 6e 65 78 74 20 lue...sub.bp,2..;.point.to.next.
2e940 61 72 67 75 6d 65 6e 74 0d 0a 09 6c 6f 64 73 62 09 09 09 3b 20 28 61 6c 29 20 3d 20 66 6f 72 6d argument...lodsb...;.(al).=.form
2e960 61 74 20 73 70 65 63 69 66 69 65 72 0d 0a 09 63 6d 70 09 61 6c 2c 27 40 27 0d 0a 09 6a 6e 65 09 at.specifier...cmp.al,'@'...jne.
2e980 64 70 66 35 09 09 3b 20 6e 6f 74 20 61 6e 20 69 6e 64 69 72 65 63 74 20 66 6c 61 67 0d 0a 09 6c dpf5..;.not.an.indirect.flag...l
2e9a0 65 73 09 64 69 2c 5b 62 70 5d 0d 0a 09 73 75 62 09 62 70 2c 32 09 09 3b 20 68 61 76 65 20 61 6e es.di,[bp]...sub.bp,2..;.have.an
2e9c0 20 65 78 74 72 61 20 32 20 66 6f 72 20 40 0d 0a 09 6c 6f 64 73 62 0d 0a 64 70 66 35 3a 09 63 6d .extra.2.for.@...lodsb..dpf5:.cm
2e9e0 70 09 61 6c 2c 27 01 78 27 0d 0a 09 6a 6e 65 09 64 70 66 64 31 09 09 3b 20 6e 6f 74 20 27 78 27 p.al,'.x'...jne.dpfd1..;.not.'x'
2ea00 0d 0a 0d 0a 3b 09 69 73 20 27 78 27 20 66 6f 72 6d 61 74 20 2d 20 70 72 69 6e 74 20 68 65 78 20 ....;.is.'x'.format.-.print.hex.
2ea20 77 6f 72 64 0d 0a 0d 0a 09 6d 6f 76 09 61 78 2c 65 73 3a 5b 64 69 5d 0d 0a 09 63 61 6c 6c 09 54 word.....mov.ax,es:[di]...call.T
2ea40 48 57 09 09 3b 20 74 79 70 65 20 68 65 78 20 77 6f 72 64 0d 0a 09 6a 6d 70 09 64 70 66 31 0d 0a HW..;.type.hex.word...jmp.dpf1..
2ea60 0d 0a 64 70 66 64 31 3a 09 63 6d 70 09 61 6c 2c 27 64 27 0d 0a 09 6a 6e 7a 09 64 70 66 63 31 09 ..dpfd1:.cmp.al,'d'...jnz.dpfc1.
2ea80 09 3b 20 6e 6f 74 20 27 64 27 0d 0a 0d 0a 3b 09 69 73 20 27 64 27 20 66 6f 72 6d 61 74 20 2d 20 .;.not.'d'....;.is.'d'.format.-.
2eaa0 70 72 69 6e 74 20 64 65 63 69 6d 61 6c 20 77 6f 72 64 0d 0a 0d 0a 09 6d 6f 76 09 61 78 2c 65 73 print.decimal.word.....mov.ax,es
2eac0 3a 5b 64 69 5d 0d 0a 09 63 61 6c 6c 09 54 44 57 09 09 3b 20 74 79 70 65 20 64 65 63 69 6d 61 6c :[di]...call.TDW..;.type.decimal
2eae0 20 77 6f 72 64 0d 0a 09 6a 6d 70 09 64 70 66 31 0d 0a 0d 0a 64 70 66 63 31 3a 09 63 6d 70 09 61 .word...jmp.dpf1....dpfc1:.cmp.a
2eb00 6c 2c 27 63 27 0d 0a 09 6a 6e 65 09 64 70 66 62 31 0d 0a 0d 0a 3b 09 69 73 20 27 63 27 20 66 6f l,'c'...jne.dpfb1....;.is.'c'.fo
2eb20 72 6d 61 74 20 2d 20 70 72 69 6e 74 20 63 68 61 72 61 63 74 65 72 0d 0a 0d 0a 09 6d 6f 76 09 61 rmat.-.print.character.....mov.a
2eb40 6c 2c 65 73 3a 5b 64 69 5d 0d 0a 09 63 61 6c 6c 09 70 75 74 63 68 61 72 0d 0a 09 6a 6d 70 09 64 l,es:[di]...call.putchar...jmp.d
2eb60 70 66 31 0d 0a 0d 0a 64 70 66 62 31 3a 09 63 6d 70 09 61 6c 2c 27 62 27 0d 0a 09 6a 6e 65 09 64 pf1....dpfb1:.cmp.al,'b'...jne.d
2eb80 70 66 73 31 0d 0a 0d 0a 3b 09 69 73 20 27 62 27 20 66 6f 72 6d 61 74 20 2d 20 70 72 69 6e 74 20 pfs1....;.is.'b'.format.-.print.
2eba0 68 65 78 20 62 79 74 65 0d 0a 0d 0a 09 6d 6f 76 09 61 6c 2c 65 73 3a 5b 64 69 5d 0d 0a 09 63 61 hex.byte.....mov.al,es:[di]...ca
2ebc0 6c 6c 09 54 48 42 09 09 3b 20 74 79 70 65 20 68 65 78 20 62 79 74 65 0d 0a 09 6a 6d 70 09 64 70 ll.THB..;.type.hex.byte...jmp.dp
2ebe0 66 31 0d 0a 0d 0a 64 01 70 66 73 31 3a 09 63 6d 70 09 61 6c 2c 27 73 27 0d 0a 09 6a 6e 65 09 64 f1....d.pfs1:.cmp.al,'s'...jne.d
2ec00 70 66 62 62 31 0d 0a 0d 0a 3b 09 69 73 20 27 73 27 20 66 6f 72 6d 61 74 20 2d 20 70 72 69 6e 74 pfbb1....;.is.'s'.format.-.print
2ec20 20 41 53 43 49 5a 20 73 74 72 69 6e 67 2e 20 20 46 69 72 73 74 2c 20 63 68 65 63 6b 20 66 6f 72 .ASCIZ.string...First,.check.for
2ec40 0d 0a 3b 09 09 6f 70 74 69 6f 6e 61 6c 20 64 65 63 69 6d 61 6c 20 6c 69 6d 69 74 0d 0a 0d 0a 09 ..;..optional.decimal.limit.....
2ec60 70 75 62 6c 69 63 09 53 53 42 0d 0a 53 53 42 3a 09 73 75 62 09 63 78 2c 63 78 09 09 3b 20 73 65 public.SSB..SSB:.sub.cx,cx..;.se
2ec80 74 20 36 35 35 33 36 20 6c 69 6d 69 74 0d 0a 09 6c 65 73 09 64 69 2c 5b 62 70 5d 09 09 3b 20 28 t.65536.limit...les.di,[bp]..;.(
2eca0 65 73 3a 44 49 29 20 3d 20 66 77 61 20 6f 66 20 73 74 72 69 6e 67 0d 0a 09 73 75 62 09 62 70 2c es:DI).=.fwa.of.string...sub.bp,
2ecc0 32 09 09 3b 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 27 73 27 20 77 61 73 20 74 77 6f 20 77 6f 72 2..;.argument.to.'s'.was.two.wor
2ece0 64 73 0d 0a 09 6d 6f 76 09 61 6c 2c 5b 73 69 5d 0d 0a 09 63 6d 70 09 61 6c 2c 27 30 27 0d 0a 09 ds...mov.al,[si]...cmp.al,'0'...
2ed00 6a 62 09 64 70 66 73 32 09 09 3b 20 6e 6f 74 20 64 65 63 69 6d 61 6c 0d 0a 09 63 6d 70 09 61 6c jb.dpfs2..;.not.decimal...cmp.al
2ed20 2c 27 39 27 0d 0a 09 6a 61 09 64 70 66 73 32 09 09 3b 20 6e 6f 74 20 64 65 63 69 6d 61 6c 0d 0a ,'9'...ja.dpfs2..;.not.decimal..
2ed40 09 63 61 6c 6c 09 61 74 6f 64 09 09 3b 20 28 61 78 29 20 3d 20 64 65 63 69 6d 61 6c 20 76 61 6c .call.atod..;.(ax).=.decimal.val
2ed60 75 65 2c 20 28 64 73 3a 73 69 29 20 75 70 64 61 74 65 64 0d 0a 09 78 63 68 67 09 63 78 2c 61 78 ue,.(ds:si).updated...xchg.cx,ax
2ed80 0d 0a 0d 0a 3b 09 70 72 69 6e 74 20 61 73 63 69 7a 20 73 74 72 69 6e 67 20 61 74 20 65 73 3a 64 ....;.print.asciz.string.at.es:d
2eda0 69 2c 20 6d 61 78 20 6f 66 20 28 63 78 29 20 63 68 61 72 61 63 74 65 72 73 0d 0a 3b 09 28 63 78 i,.max.of.(cx).characters..;.(cx
2edc0 29 20 3d 20 30 20 20 6d 65 61 6e 73 20 6d 61 78 20 6f 66 20 36 35 35 33 36 0d 0a 3b 0d 0a 3b 09 ).=.0..means.max.of.65536..;..;.
2ede0 4f 74 68 65 72 20 73 65 01 63 74 69 6f 6e 73 20 6f 66 20 63 6f 64 65 20 69 6e 20 64 70 66 20 6a Other.se.ctions.of.code.in.dpf.j
2ee00 75 6d 70 20 68 65 72 65 20 74 6f 20 70 72 69 6e 74 20 73 74 72 69 6e 67 73 0d 0a 0d 0a 64 70 66 ump.here.to.print.strings....dpf
2ee20 73 32 3a 09 6d 6f 76 09 61 6c 2c 65 73 3a 5b 64 69 5d 0d 0a 09 69 6e 63 09 64 69 0d 0a 09 61 6e s2:.mov.al,es:[di]...inc.di...an
2ee40 64 09 61 6c 2c 61 6c 0d 0a 09 6a 65 09 64 70 66 73 33 0d 0a 09 63 61 6c 6c 09 70 75 74 63 68 61 d.al,al...je.dpfs3...call.putcha
2ee60 72 0d 0a 09 6c 6f 6f 70 09 64 70 66 73 32 09 09 3b 20 63 6f 6e 74 69 6e 75 65 20 69 66 20 6e 6f r...loop.dpfs2..;.continue.if.no
2ee80 74 20 61 74 20 6c 69 6d 69 74 0d 0a 64 70 66 73 33 3a 09 6a 6d 70 09 64 70 66 31 0d 0a 0d 0a 64 t.at.limit..dpfs3:.jmp.dpf1....d
2eea0 70 66 62 62 31 3a 20 63 6d 70 09 61 6c 2c 27 42 27 0d 0a 09 6a 65 09 64 70 66 62 62 32 09 09 3b pfbb1:.cmp.al,'B'...je.dpfbb2..;
2eec0 20 69 73 20 27 42 27 20 66 6f 72 6d 61 74 0d 0a 0d 0a 3b 09 65 72 72 6f 72 20 69 6e 20 66 6f 72 .is.'B'.format....;.error.in.for
2eee0 6d 61 74 20 63 6f 64 65 20 2d 20 70 72 69 6e 74 20 6d 65 73 73 61 67 65 0d 0a 0d 0a 64 70 66 65 mat.code.-.print.message....dpfe
2ef00 72 72 3a 20 70 75 73 68 09 63 73 0d 0a 09 70 6f 70 09 65 73 0d 0a 09 6d 6f 76 09 64 69 2c 4f 46 rr:.push.cs...pop.es...mov.di,OF
2ef20 46 53 45 54 20 64 70 66 61 09 3b 20 28 65 73 3a 64 69 29 20 3d 20 65 72 72 6f 72 20 6d 65 73 73 FSET.dpfa.;.(es:di).=.error.mess
2ef40 61 67 65 0d 0a 09 73 75 62 09 63 78 2c 63 78 0d 0a 09 6a 6d 70 09 64 70 66 73 32 0d 0a 0d 0a 64 age...sub.cx,cx...jmp.dpfs2....d
2ef60 70 66 61 3a 09 44 42 09 27 25 25 20 42 41 44 20 46 4d 54 20 25 25 27 2c 30 0d 0a 0d 0a 3b 09 68 pfa:.DB.'%%.BAD.FMT.%%',0....;.h
2ef80 61 76 65 20 42 20 66 6f 72 6d 61 74 0d 0a 0d 0a 64 70 66 62 62 32 3a 20 63 61 6c 6c 09 61 74 6f ave.B.format....dpfbb2:.call.ato
2efa0 64 09 09 3b 20 28 61 78 29 20 3d 20 6c 65 6e 67 74 68 20 73 70 65 63 69 66 69 65 72 0d 0a 09 6a d..;.(ax).=.length.specifier...j
2efc0 63 09 64 70 66 65 72 72 09 09 3b 20 6e 75 6d 62 65 72 20 6e 6f 74 20 74 68 65 72 65 20 2d 20 65 c.dpferr..;.number.not.there.-.e
2efe0 72 72 6f 72 0d 0a 09 78 63 01 68 67 09 63 78 2c 61 78 0d 0a 09 6a 63 78 7a 09 64 70 66 65 72 72 rror...xc.hg.cx,ax...jcxz.dpferr
2f000 09 09 3b 20 6e 75 6d 62 65 72 20 69 73 20 30 20 2d 20 65 72 72 6f 72 0d 0a 09 6c 65 73 09 64 69 ..;.number.is.0.-.error...les.di
2f020 2c 5b 62 70 5d 09 09 3b 20 28 65 73 3a 44 49 29 20 3d 20 66 77 61 20 6f 66 20 73 74 72 69 6e 67 ,[bp]..;.(es:DI).=.fwa.of.string
2f040 0d 0a 09 73 75 62 09 62 70 2c 32 09 09 3b 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 27 73 27 20 77 ...sub.bp,2..;.argument.to.'s'.w
2f060 61 73 20 74 77 6f 20 77 6f 72 64 73 0d 0a 64 70 66 62 62 33 3a 20 6d 6f 76 09 61 6c 2c 65 73 3a as.two.words..dpfbb3:.mov.al,es:
2f080 5b 64 69 5d 0d 0a 09 63 61 6c 6c 09 54 48 42 09 09 3b 20 74 79 70 65 20 68 65 78 20 62 79 74 65 [di]...call.THB..;.type.hex.byte
2f0a0 0d 0a 09 6d 6f 76 09 61 6c 2c 27 20 27 0d 0a 09 63 61 6c 6c 09 70 75 74 63 68 61 72 09 09 3b 20 ...mov.al,'.'...call.putchar..;.
2f0c0 73 70 61 63 65 20 65 6d 20 6f 75 74 0d 0a 09 69 6e 63 09 64 69 0d 0a 09 6c 6f 6f 70 09 64 70 66 space.em.out...inc.di...loop.dpf
2f0e0 62 62 33 09 09 3b 20 64 6f 20 65 6d 20 61 6c 6c 0d 0a 09 6a 6d 70 09 64 70 66 31 0d 0a 0d 0a 44 bb3..;.do.em.all...jmp.dpf1....D
2f100 50 52 49 4e 54 46 20 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 54 48 42 20 2d 20 54 79 70 65 20 PRINTF.ENDP......;**.THB.-.Type.
2f120 48 65 78 20 42 79 74 65 0d 0a 3b 0d 0a 3b 09 54 48 42 20 74 79 70 65 73 20 61 20 68 65 78 20 62 Hex.Byte..;..;.THB.types.a.hex.b
2f140 79 74 65 20 28 76 69 61 20 22 70 75 74 63 68 61 72 22 29 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 yte.(via."putchar")..;..;.ENTRY.
2f160 28 41 4c 29 20 3d 20 62 79 74 65 0d 0a 3b 09 45 58 49 54 09 6e 6f 6e 65 0d 0a 3b 09 55 53 45 53 (AL).=.byte..;.EXIT.none..;.USES
2f180 09 61 78 2c 20 66 6c 61 67 73 0d 0a 0d 0a 54 48 42 41 09 44 42 09 27 30 31 32 33 34 35 36 37 38 .ax,.flags....THBA.DB.'012345678
2f1a0 39 61 62 63 64 65 66 27 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 54 48 42 0d 0a 54 48 42 09 50 52 4f 9abcdef'.....PUBLIC.THB..THB.PRO
2f1c0 43 09 6e 65 61 72 0d 0a 0d 0a 09 70 75 73 68 09 61 78 0d 0a 09 73 68 72 09 61 6c 2c 31 0d 0a 09 C.near.....push.ax...shr.al,1...
2f1e0 73 68 72 09 61 6c 2c 31 0d 0a 01 09 73 68 72 09 61 6c 2c 31 0d 0a 09 73 68 72 09 61 6c 2c 31 0d shr.al,1....shr.al,1...shr.al,1.
2f200 0a 09 61 6e 64 09 61 78 2c 30 66 48 0d 0a 09 78 63 68 67 09 62 78 2c 61 78 0d 0a 09 6d 6f 76 09 ..and.ax,0fH...xchg.bx,ax...mov.
2f220 62 6c 2c 43 53 3a 54 48 42 41 5b 62 78 5d 0d 0a 09 78 63 68 67 09 61 78 2c 62 78 0d 0a 09 63 61 bl,CS:THBA[bx]...xchg.ax,bx...ca
2f240 6c 6c 09 70 75 74 63 68 61 72 09 09 20 20 20 20 3b 20 70 75 74 20 66 69 72 73 74 20 63 68 61 72 ll.putchar......;.put.first.char
2f260 61 63 74 65 72 0d 0a 09 70 6f 70 09 61 78 0d 0a 09 61 6e 64 09 61 78 2c 30 66 48 0d 0a 09 78 63 acter...pop.ax...and.ax,0fH...xc
2f280 68 67 09 62 78 2c 61 78 0d 0a 09 6d 6f 76 09 62 6c 2c 43 53 3a 54 48 42 41 5b 62 78 5d 0d 0a 09 hg.bx,ax...mov.bl,CS:THBA[bx]...
2f2a0 78 63 68 67 09 61 78 2c 62 78 0d 0a 09 63 61 6c 6c 09 70 75 74 63 68 61 72 0d 0a 09 72 65 74 0d xchg.ax,bx...call.putchar...ret.
2f2c0 0a 0d 0a 54 48 42 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 54 48 57 20 2d 20 54 ...THB.ENDP..........;**.THW.-.T
2f2e0 79 70 65 20 48 65 78 20 57 6f 72 64 0d 0a 3b 0d 0a 3b 09 54 48 57 20 74 79 70 65 73 20 61 20 77 ype.Hex.Word..;..;.THW.types.a.w
2f300 6f 72 64 20 69 6e 20 68 65 78 20 28 76 69 61 20 22 70 75 74 63 68 61 72 22 29 0d 0a 3b 0d 0a 3b ord.in.hex.(via."putchar")..;..;
2f320 09 45 4e 54 52 59 09 28 41 58 29 20 3d 20 77 6f 72 64 0d 0a 3b 09 45 58 49 54 09 6e 6f 6e 65 0d .ENTRY.(AX).=.word..;.EXIT.none.
2f340 0a 3b 09 55 53 45 53 09 41 58 2c 20 66 6c 61 67 73 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 54 48 57 .;.USES.AX,.flags.....PUBLIC.THW
2f360 0d 0a 54 48 57 09 50 52 4f 43 09 6e 65 61 72 0d 0a 0d 0a 09 70 75 73 68 09 61 78 0d 0a 09 78 63 ..THW.PROC.near.....push.ax...xc
2f380 68 67 09 61 68 2c 61 6c 0d 0a 09 63 61 6c 6c 09 54 48 42 0d 0a 09 70 6f 70 09 61 78 0d 0a 09 63 hg.ah,al...call.THB...pop.ax...c
2f3a0 61 6c 6c 09 54 48 42 0d 0a 09 72 65 74 0d 0a 0d 0a 54 48 57 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 0d all.THB...ret....THW.ENDP.......
2f3c0 0a 3b 2a 2a 09 54 44 57 20 2d 20 54 79 70 65 20 44 65 63 69 6d 61 6c 20 57 6f 72 64 0d 0a 3b 0d .;**.TDW.-.Type.Decimal.Word..;.
2f3e0 0a 3b 09 54 44 57 20 74 79 70 65 01 73 20 28 76 69 61 20 22 70 75 74 63 68 61 72 22 29 20 74 68 .;.TDW.type.s.(via."putchar").th
2f400 65 20 75 6e 73 69 67 6e 65 64 20 64 65 63 69 6d 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f e.unsigned.decimal.representatio
2f420 6e 0d 0a 3b 09 6f 66 20 61 20 31 36 2d 62 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 n..;.of.a.16-bit.unsigned.intege
2f440 72 2e 20 20 4f 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 20 64 69 67 69 74 73 20 61 72 65 0d r...Only.significant.digits.are.
2f460 0a 3b 09 70 72 69 6e 74 65 64 3b 20 69 66 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 30 20 61 .;.printed;.if.the.number.is.0.a
2f480 20 22 30 22 20 69 73 20 70 72 69 6e 74 65 64 2e 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 28 41 58 ."0".is.printed...;..;.ENTRY.(AX
2f4a0 29 20 3d 20 6e 75 6d 62 65 72 0d 0a 3b 09 45 58 49 54 09 6e 6f 6e 65 0d 0a 3b 09 55 53 45 53 09 ).=.number..;.EXIT.none..;.USES.
2f4c0 41 58 2c 20 66 6c 61 67 73 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 54 44 57 0d 0a 54 44 57 09 50 52 AX,.flags.....PUBLIC.TDW..TDW.PR
2f4e0 4f 43 09 6e 65 61 72 0d 0a 0d 0a 09 70 75 73 68 09 63 78 09 09 3b 20 70 72 65 73 65 72 76 65 20 OC.near.....push.cx..;.preserve.
2f500 72 65 67 69 73 74 65 72 73 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 6d 6f 76 09 63 78 2c 31 30 0d registers...push.dx...mov.cx,10.
2f520 0a 09 63 61 6c 6c 09 74 64 77 24 09 09 3b 20 72 65 63 75 72 73 65 20 63 72 61 63 6b 69 6e 67 20 ..call.tdw$..;.recurse.cracking.
2f540 64 69 67 69 74 73 0d 0a 09 70 6f 70 09 64 78 0d 0a 09 70 6f 70 09 63 78 0d 0a 09 72 65 74 0d 0a digits...pop.dx...pop.cx...ret..
2f560 0d 0a 54 44 57 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 2a 09 74 64 77 24 20 2d 20 63 72 61 63 6b 20 ..TDW.ENDP......;*.tdw$.-.crack.
2f580 6e 75 6d 62 65 72 20 72 65 63 75 72 73 69 76 65 6c 79 0d 0a 3b 0d 0a 3b 09 74 64 77 24 20 63 72 number.recursively..;..;.tdw$.cr
2f5a0 61 63 6b 73 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 64 65 63 69 6d acks.the.least.significant.decim
2f5c0 61 6c 20 64 69 67 69 74 2e 20 20 49 66 20 74 68 65 72 65 0d 0a 3b 09 61 72 65 20 6e 6f 20 68 69 al.digit...If.there..;.are.no.hi
2f5e0 67 68 65 72 2d 73 69 67 6e 69 66 69 01 63 61 6e 74 20 64 69 67 69 74 73 2c 20 70 72 69 6e 74 20 gher-signifi.cant.digits,.print.
2f600 61 6e 64 20 72 65 74 75 72 6e 2e 0d 0a 3b 09 65 6c 73 65 2c 20 72 65 63 75 72 73 65 20 66 6f 72 and.return...;.else,.recurse.for
2f620 20 68 69 67 68 65 72 20 64 69 67 69 74 73 0d 0a 3b 0d 0a 3b 09 28 41 58 29 20 3d 20 76 61 6c 75 .higher.digits..;..;.(AX).=.valu
2f640 65 0d 0a 3b 09 28 43 58 29 20 3d 20 31 30 0d 0a 0d 0a 74 64 77 24 09 50 52 4f 43 09 4e 45 41 52 e..;.(CX).=.10....tdw$.PROC.NEAR
2f660 0d 0a 0d 0a 09 73 75 62 09 64 78 2c 64 78 0d 0a 09 64 69 76 09 63 78 09 09 3b 20 28 61 78 29 20 .....sub.dx,dx...div.cx..;.(ax).
2f680 3d 20 71 75 6f 74 69 65 6e 74 2c 20 28 64 78 29 20 3d 20 72 65 6d 61 69 6e 64 65 72 0d 0a 09 61 =.quotient,.(dx).=.remainder...a
2f6a0 6e 64 09 61 78 2c 61 78 0d 0a 09 6a 7a 09 74 64 77 24 31 09 09 3b 20 74 68 69 73 20 69 73 20 68 nd.ax,ax...jz.tdw$1..;.this.is.h
2f6c0 69 67 68 65 73 74 2d 6f 72 64 65 72 2c 20 64 6f 20 69 74 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 ighest-order,.do.it...push.dx...
2f6e0 63 61 6c 6c 09 74 64 77 24 0d 0a 09 70 6f 70 09 64 78 0d 0a 74 64 77 24 31 3a 09 78 63 68 67 09 call.tdw$...pop.dx..tdw$1:.xchg.
2f700 61 78 2c 64 78 0d 0a 09 61 64 64 09 61 6c 2c 27 30 27 0d 0a 09 63 61 6c 6c 09 70 75 74 63 68 61 ax,dx...add.al,'0'...call.putcha
2f720 72 0d 0a 09 72 65 74 0d 0a 0d 0a 54 44 57 24 09 45 4e 44 50 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 r...ret....TDW$.ENDP........;**.
2f740 41 54 4f 44 20 2d 20 43 6f 6e 76 65 72 74 20 41 53 43 49 49 20 73 74 72 69 6e 67 20 74 6f 20 64 ATOD.-.Convert.ASCII.string.to.d
2f760 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 0d 0a 3b 0d 0a 3b 09 41 54 4f 44 20 69 73 20 63 61 6c 6c ecimal.number..;..;.ATOD.is.call
2f780 65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 73 63 69 69 20 73 74 72 69 6e 67 20 6f 66 ed.to.convert.an.ascii.string.of
2f7a0 20 64 69 67 69 74 73 20 74 6f 20 61 0d 0a 3b 09 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 2e 09 .digits.to.a..;.decimal.number..
2f7c0 20 44 69 67 69 74 73 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 20 75 6e 74 69 6c 20 77 65 20 72 .Digits.are.converted.until.we.r
2f7e0 75 6e 20 6f 75 74 20 6f 66 20 74 68 65 05 15 00 09 02 01 02 03 04 05 06 07 08 09 01 6d 2e 0d 0a un.out.of.the...............m...
2f800 3b 0d 0a 3b 09 45 4e 54 52 59 09 28 44 53 3a 53 49 29 20 3d 20 61 64 64 72 65 73 73 20 6f 66 20 ;..;.ENTRY.(DS:SI).=.address.of.
2f820 66 69 72 73 74 20 64 69 67 69 74 0d 0a 3b 09 45 58 49 54 09 27 43 27 20 63 6c 65 61 72 20 69 66 first.digit..;.EXIT.'C'.clear.if
2f840 20 4f 4b 0d 0a 3b 09 09 20 20 28 41 58 29 20 3d 20 76 61 6c 75 65 0d 0a 3b 09 09 20 20 28 53 49 .OK..;....(AX).=.value..;....(SI
2f860 29 20 75 70 64 61 74 65 64 20 74 6f 20 66 69 72 73 74 20 6e 6f 6e 2d 64 69 67 69 74 0d 0a 3b 09 ).updated.to.first.non-digit..;.
2f880 09 27 43 27 20 73 65 74 20 69 66 20 65 72 72 6f 72 20 2d 20 6e 6f 20 64 69 67 69 74 73 2c 20 6f .'C'.set.if.error.-.no.digits,.o
2f8a0 72 20 72 65 73 75 6c 74 20 3e 36 35 35 33 35 0d 0a 3b 09 09 20 20 28 44 53 3a 53 49 29 20 70 6f r.result.>65535..;....(DS:SI).po
2f8c0 69 6e 74 73 20 74 6f 20 65 72 72 6f 72 20 63 68 61 72 61 63 74 65 72 0d 0a 3b 09 55 53 45 53 09 ints.to.error.character..;.USES.
2f8e0 41 58 2c 20 53 49 2c 20 46 4c 41 47 53 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 41 54 4f 44 0d 0a 41 AX,.SI,.FLAGS.....PUBLIC.ATOD..A
2f900 54 4f 44 09 50 52 4f 43 09 6e 65 61 72 0d 0a 0d 0a 09 70 75 73 68 09 64 78 0d 0a 09 70 75 73 68 TOD.PROC.near.....push.dx...push
2f920 09 63 78 09 09 20 20 20 20 3b 20 73 61 76 65 20 72 65 67 69 73 74 65 72 73 0d 0a 09 6d 6f 76 09 .cx......;.save.registers...mov.
2f940 61 6c 2c 5b 73 69 5d 0d 0a 09 73 75 62 09 61 6c 2c 27 30 27 0d 0a 09 6a 63 09 61 74 6f 64 39 09 al,[si]...sub.al,'0'...jc.atod9.
2f960 09 20 20 20 20 3b 20 65 72 72 6f 72 20 2d 20 6e 6f 20 64 69 67 69 74 73 0d 0a 09 63 6d 70 09 61 .....;.error.-.no.digits...cmp.a
2f980 6c 2c 31 30 0d 0a 09 63 6d 63 0d 0a 09 6a 63 09 61 74 6f 64 39 09 09 20 20 20 20 3b 20 65 72 72 l,10...cmc...jc.atod9......;.err
2f9a0 6f 72 20 2d 20 6e 6f 20 64 69 67 69 74 73 0d 0a 09 73 75 62 09 61 78 2c 61 78 09 09 20 20 20 20 or.-.no.digits...sub.ax,ax......
2f9c0 3b 20 63 6c 65 61 72 20 61 63 63 75 6d 75 6c 61 74 6f 72 0d 0a 09 6d 6f 76 09 63 78 2c 31 30 09 ;.clear.accumulator...mov.cx,10.
2f9e0 09 20 20 20 20 3b 20 62 61 73 65 20 31 30 0d 0a 0d 0a 3b 09 63 72 61 63 6b 20 6e 65 01 78 74 20 .....;.base.10....;.crack.ne.xt.
2fa00 64 69 67 69 74 0d 0a 3b 0d 0a 3b 09 28 41 58 29 20 3d 20 6e 75 6d 62 65 72 20 61 63 63 75 6d 75 digit..;..;.(AX).=.number.accumu
2fa20 6c 61 74 65 64 20 73 6f 20 6e 65 61 72 0d 0a 3b 09 28 43 58 29 20 3d 20 31 30 0d 0a 3b 09 28 44 lated.so.near..;.(CX).=.10..;.(D
2fa40 53 3a 53 49 29 20 3d 20 6e 65 78 74 20 63 68 61 72 61 63 74 65 72 0d 0a 0d 0a 61 74 6f 64 31 3a S:SI).=.next.character....atod1:
2fa60 09 78 63 68 67 09 64 78 2c 61 78 09 09 3b 20 6b 65 65 70 20 61 63 63 75 6d 20 69 6e 20 64 78 20 .xchg.dx,ax..;.keep.accum.in.dx.
2fa80 66 6f 72 20 61 20 77 68 69 6c 65 0d 0a 09 6c 6f 64 73 62 09 09 09 3b 20 28 61 6c 29 20 3d 20 63 for.a.while...lodsb...;.(al).=.c
2faa0 68 61 72 61 63 74 65 72 0d 0a 09 73 75 62 09 61 6c 2c 27 30 27 0d 0a 09 6a 63 09 61 74 6f 64 37 haracter...sub.al,'0'...jc.atod7
2fac0 09 09 3b 20 6e 6f 74 20 64 69 67 69 74 20 2d 20 61 6c 6c 20 64 6f 6e 65 0d 0a 09 63 6d 70 09 61 ..;.not.digit.-.all.done...cmp.a
2fae0 6c 2c 39 0d 0a 09 6a 61 09 61 74 6f 64 37 09 09 3b 20 6e 6f 74 20 64 69 67 69 74 20 2d 20 61 6c l,9...ja.atod7..;.not.digit.-.al
2fb00 6c 20 64 6f 6e 65 0d 0a 09 73 75 62 09 61 68 2c 61 68 09 09 3b 20 28 61 78 29 20 3d 20 64 69 67 l.done...sub.ah,ah..;.(ax).=.dig
2fb20 69 74 20 76 61 6c 75 65 20 28 30 20 2d 20 39 29 0d 0a 09 70 75 73 68 09 61 78 0d 0a 09 78 63 68 it.value.(0.-.9)...push.ax...xch
2fb40 67 09 61 78 2c 64 78 0d 0a 09 6d 75 6c 09 63 78 09 09 3b 20 28 61 78 29 20 3d 20 31 30 2a 61 63 g.ax,dx...mul.cx..;.(ax).=.10*ac
2fb60 63 75 6d 0d 0a 09 70 6f 70 09 64 78 09 09 3b 20 28 64 78 29 20 3d 20 64 69 67 69 74 20 74 6f 20 cum...pop.dx..;.(dx).=.digit.to.
2fb80 61 64 64 0d 0a 09 6a 6f 09 61 74 6f 64 38 09 09 3b 20 6f 76 65 72 66 6c 6f 77 0d 0a 09 61 64 64 add...jo.atod8..;.overflow...add
2fba0 09 61 78 2c 64 78 0d 0a 09 6a 6d 70 09 61 74 6f 64 31 09 09 3b 20 67 6f 20 62 61 63 6b 20 66 6f .ax,dx...jmp.atod1..;.go.back.fo
2fbc0 72 20 6d 6f 72 65 0d 0a 0d 0a 3b 09 44 6f 6e 65 20 77 69 74 68 20 6e 75 6d 62 65 72 2c 20 61 6c r.more....;.Done.with.number,.al
2fbe0 6c 20 4f 4b 0d 0a 3b 0d 0a 3b 09 28 64 78 29 20 3d 20 6e 75 6d 62 65 72 0d 0a 3b 09 28 01 64 73 l.OK..;..;.(dx).=.number..;.(.ds
2fc00 3a 73 69 29 20 3d 20 61 64 64 72 65 73 73 2b 31 20 6f 66 20 66 69 72 73 74 20 75 6e 75 73 65 64 :si).=.address+1.of.first.unused
2fc20 20 63 68 61 72 61 63 74 65 72 0d 0a 0d 0a 61 74 6f 64 37 3a 09 63 6c 63 0d 0a 0d 0a 3b 09 44 6f .character....atod7:.clc....;.Do
2fc40 6e 65 20 77 69 74 68 20 6e 75 6d 62 65 72 2c 20 65 72 72 6f 72 0d 0a 3b 09 27 43 27 20 73 65 74 ne.with.number,.error..;.'C'.set
2fc60 0d 0a 0d 0a 61 74 6f 64 38 3a 09 64 65 63 09 73 69 09 09 3b 20 62 61 63 6b 75 70 20 6f 76 65 72 ....atod8:.dec.si..;.backup.over
2fc80 20 6e 6f 6e 2d 64 65 63 69 6d 61 6c 20 28 6f 72 20 65 72 72 6f 72 29 20 63 68 61 72 0d 0a 61 74 .non-decimal.(or.error).char..at
2fca0 6f 64 39 3a 09 70 6f 70 09 63 78 0d 0a 09 78 63 68 67 09 61 78 2c 64 78 09 09 3b 20 28 61 78 29 od9:.pop.cx...xchg.ax,dx..;.(ax)
2fcc0 20 3d 20 6e 75 6d 62 65 72 20 69 66 66 20 6e 6f 20 65 72 72 6f 72 0d 0a 09 70 6f 70 09 64 78 09 .=.number.iff.no.error...pop.dx.
2fce0 09 3b 20 72 65 73 74 6f 72 65 20 72 65 67 69 73 74 65 72 73 0d 0a 09 72 65 74 09 09 09 3b 20 65 .;.restore.registers...ret...;.e
2fd00 78 69 74 0d 0a 0d 0a 41 54 4f 44 09 45 4e 44 50 0d 0a 0d 0a 3b 2a 2a 09 70 75 74 63 68 61 72 20 xit....ATOD.ENDP....;**.putchar.
2fd20 2d 20 70 75 74 20 61 20 63 68 61 72 61 63 74 65 72 20 6f 6e 20 74 68 65 20 63 6f 6e 73 6f 6c 65 -.put.a.character.on.the.console
2fd40 0d 0a 3b 0d 0a 3b 09 45 4e 54 52 59 09 28 61 6c 29 20 3d 20 63 68 61 72 61 63 74 65 72 0d 0a 3b ..;..;.ENTRY.(al).=.character..;
2fd60 09 45 58 49 54 09 6e 6f 6e 65 0d 0a 3b 09 55 53 45 53 09 61 78 2c 66 6c 61 67 73 0d 0a 0d 0a 0d .EXIT.none..;.USES.ax,flags.....
2fd80 0a 55 52 5f 44 41 54 09 3d 09 30 32 66 38 48 09 09 3b 20 43 4f 4d 31 20 3d 20 30 33 66 38 48 2c .UR_DAT.=.02f8H..;.COM1.=.03f8H,
2fda0 20 43 4f 4d 32 20 3d 20 30 32 66 38 48 0d 0a 55 52 5f 49 45 4e 09 3d 09 55 52 5f 44 41 54 2b 31 .COM2.=.02f8H..UR_IEN.=.UR_DAT+1
2fdc0 09 3b 20 49 6e 74 65 72 72 75 70 74 20 65 6e 61 62 6c 65 0d 0a 55 52 5f 49 45 52 09 3d 09 55 52 .;.Interrupt.enable..UR_IER.=.UR
2fde0 5f 44 41 54 2b 32 09 3b 20 69 6e 74 65 72 72 75 70 74 20 49 44 0d 0a 55 52 5f 4c 43 52 09 01 3d _DAT+2.;.interrupt.ID..UR_LCR..=
2fe00 09 55 52 5f 44 41 54 2b 33 09 3b 20 6c 69 6e 65 20 63 6f 6e 74 72 6f 6c 20 72 65 67 69 73 74 65 .UR_DAT+3.;.line.control.registe
2fe20 72 73 0d 0a 55 52 5f 4d 43 52 09 3d 09 55 52 5f 44 41 54 2b 34 09 3b 20 6d 6f 64 65 6d 20 63 6f rs..UR_MCR.=.UR_DAT+4.;.modem.co
2fe40 6e 74 72 6f 6c 20 72 65 67 69 73 74 65 72 0d 0a 55 52 5f 4c 53 52 09 3d 09 55 52 5f 44 41 54 2b ntrol.register..UR_LSR.=.UR_DAT+
2fe60 35 09 3b 20 6c 69 6e 65 20 73 74 61 74 75 73 20 72 65 67 69 73 74 65 72 0d 0a 55 52 5f 4d 53 52 5.;.line.status.register..UR_MSR
2fe80 09 3d 09 55 52 5f 44 41 54 2b 36 09 3b 20 6d 6f 64 65 6d 20 73 74 61 74 75 73 20 72 65 67 69 73 .=.UR_DAT+6.;.modem.status.regis
2fea0 65 72 0d 0a 55 52 5f 44 4c 4c 09 3d 09 55 52 5f 44 41 54 09 09 3b 20 64 69 76 69 73 6f 72 20 6c er..UR_DLL.=.UR_DAT..;.divisor.l
2fec0 61 74 63 68 20 6c 65 61 73 74 20 73 69 67 0d 0a 55 52 5f 44 4c 4d 09 3d 09 55 52 5f 44 41 54 2b atch.least.sig..UR_DLM.=.UR_DAT+
2fee0 31 09 3b 20 64 69 76 69 73 6f 72 20 6c 61 74 63 68 20 6d 6f 73 74 20 73 69 67 0d 0a 0d 0a 69 66 1.;.divisor.latch.most.sig....if
2ff00 6c 61 67 09 44 42 09 30 09 09 3b 20 21 3d 20 30 20 77 68 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 lag.DB.0..;.!=.0.when.initialize
2ff20 64 20 38 32 35 30 0d 0a 0d 0a 3b 2a 09 69 6e 63 68 72 20 2d 20 69 6e 70 75 74 20 63 68 61 72 61 d.8250....;*.inchr.-.input.chara
2ff40 63 74 65 72 0d 0a 3b 0d 0a 3b 09 45 58 49 54 09 27 7a 27 20 73 65 74 20 69 66 20 6e 6f 20 63 68 cter..;..;.EXIT.'z'.set.if.no.ch
2ff60 61 72 61 63 74 65 72 0d 0a 3b 09 09 27 7a 27 20 63 6c 65 61 72 20 69 66 20 63 68 61 72 0d 0a 3b aracter..;..'z'.clear.if.char..;
2ff80 09 09 20 20 28 61 6c 29 20 3d 20 63 68 61 72 0d 0a 0d 0a 69 6e 63 68 72 3a 09 6d 6f 76 09 64 78 ....(al).=.char....inchr:.mov.dx
2ffa0 2c 55 52 5f 4c 53 52 0d 0a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 61 6e 64 09 61 6c 2c 31 0d 0a 09 ,UR_LSR...in.al,dx...and.al,1...
2ffc0 6a 7a 09 69 6e 63 68 72 31 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 44 41 54 0d 0a 09 69 6e 09 61 jz.inchr1...mov.dx,UR_DAT...in.a
2ffe0 6c 2c 64 78 0d 0a 09 61 6e 64 09 61 6c 2c 30 37 66 68 0d 0a 69 6e 63 68 72 31 3a 20 72 65 74 01 l,dx...and.al,07fh..inchr1:.ret.
30000 0d 0a 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 70 75 74 63 68 61 72 0d 0a 70 75 74 63 68 61 72 20 50 .......PUBLIC.putchar..putchar.P
30020 52 4f 43 09 4e 45 41 52 0d 0a 09 70 75 73 68 66 0d 0a 09 63 6c 69 0d 0a 09 70 75 73 68 09 64 78 ROC.NEAR...pushf...cli...push.dx
30040 0d 0a 09 70 75 73 68 09 63 78 0d 0a 09 70 75 73 68 09 62 78 0d 0a 09 70 75 73 68 09 61 78 09 09 ...push.cx...push.bx...push.ax..
30060 3b 20 28 61 6c 29 20 3d 20 63 68 61 72 61 63 74 65 72 0d 0a 09 74 65 73 74 09 69 66 6c 61 67 2c ;.(al).=.character...test.iflag,
30080 32 35 35 0d 0a 09 6a 6e 7a 09 70 75 74 63 31 09 09 3b 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 255...jnz.putc1..;.is.initialize
300a0 64 0d 0a 09 69 6e 63 09 69 66 6c 61 67 0d 0a 0d 0a 3b 09 70 72 6f 67 72 61 6d 20 74 68 65 20 75 d...inc.iflag....;.program.the.u
300c0 73 61 72 74 0d 0a 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 4c 43 52 0d 0a 09 6d 6f 76 09 61 6c 2c sart.....mov.dx,UR_LCR...mov.al,
300e0 38 30 68 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 3b 20 63 6f 6d 6d 61 6e 64 20 69 74 0d 0a 09 80h...out.dx,al..;.command.it...
30100 73 75 62 09 61 6c 2c 61 6c 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 44 4c 4d 0d 0a 09 6f 75 74 09 sub.al,al...mov.dx,UR_DLM...out.
30120 64 78 2c 61 6c 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 44 4c 4c 0d 0a 09 6d 6f 76 09 61 6c 2c 31 dx,al...mov.dx,UR_DLL...mov.al,1
30140 32 09 09 3b 20 39 36 30 30 20 62 61 75 64 20 3d 20 31 32 2c 20 31 39 2e 32 20 4b 62 61 75 64 20 2..;.9600.baud.=.12,.19.2.Kbaud.
30160 3d 20 36 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 09 6d 6f 76 09 61 6c 2c 33 0d 0a 09 6d 6f 76 =.6...out.dx,al...mov.al,3...mov
30180 09 64 78 2c 55 52 5f 4c 43 52 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 3b 20 63 6f 6d 6d 61 6e .dx,UR_LCR...out.dx,al..;.comman
301a0 64 20 6e 6f 72 6d 61 6c 20 6d 6f 64 65 0d 0a 0d 0a 3b 09 73 65 65 20 69 66 20 43 54 4c 2d 51 20 d.normal.mode....;.see.if.CTL-Q.
301c0 6f 72 20 43 54 4c 2d 53 0d 0a 0d 0a 70 75 74 63 31 3a 09 70 75 73 68 66 0d 0a 09 63 6c 69 0d 0a or.CTL-S....putc1:.pushf...cli..
301e0 09 63 61 6c 6c 09 69 6e 63 68 72 0d 0a 09 6a 7a 09 70 75 74 63 33 09 09 3b 20 6e 6f 20 63 68 61 .call.inchr...jz.putc3..;.no.cha
30200 01 72 61 63 74 65 72 73 20 69 6e 63 6f 6d 6d 69 6e 67 0d 0a 09 63 6d 70 09 61 6c 2c 31 39 09 09 .racters.incomming...cmp.al,19..
30220 3b 20 63 74 6c 2d 53 3f 0d 0a 09 6a 6e 7a 09 70 75 74 63 33 09 09 3b 20 6e 6f 2c 20 69 67 6e 6f ;.ctl-S?...jnz.putc3..;.no,.igno
30240 72 65 0d 0a 0d 0a 3b 09 68 61 76 65 20 63 74 6c 2d 73 2e 20 20 77 61 69 74 20 74 69 6c 6c 20 77 re....;.have.ctl-s...wait.till.w
30260 65 20 73 65 65 20 63 74 6c 2d 51 0d 0a 0d 0a 70 75 74 63 32 3a 09 63 61 6c 6c 09 69 6e 63 68 72 e.see.ctl-Q....putc2:.call.inchr
30280 0d 0a 09 6a 7a 09 70 75 74 63 32 0d 0a 09 63 6d 70 09 61 6c 2c 31 37 0d 0a 09 6a 6e 7a 09 70 75 ...jz.putc2...cmp.al,17...jnz.pu
302a0 74 63 32 0d 0a 0d 0a 70 75 74 63 33 3a 09 70 6f 70 66 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 4c tc2....putc3:.popf...mov.dx,UR_L
302c0 53 52 0d 0a 70 75 74 63 34 3a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 74 65 73 74 09 61 6c 2c 30 32 SR..putc4:.in.al,dx...test.al,02
302e0 30 68 0d 0a 09 6a 7a 09 70 75 74 63 34 0d 0a 0d 0a 3b 09 72 65 61 64 79 2e 09 63 72 61 6e 6b 20 0h...jz.putc4....;.ready..crank.
30300 69 74 20 6f 75 74 21 0d 0a 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 44 41 54 0d 0a 0d 0a 09 70 6f it.out!.....mov.dx,UR_DAT.....po
30320 70 09 61 78 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f p.ax...out.dx,al.....pop.bx...po
30340 70 09 63 78 0d 0a 09 70 6f 70 09 64 78 0d 0a 09 70 6f 70 66 0d 0a 09 72 65 74 0d 0a 0d 0a 70 75 p.cx...pop.dx...popf...ret....pu
30360 74 63 68 61 72 20 45 4e 44 50 0d 0a 0d 0a 45 4e 44 49 46 0d 0a 00 00 92 70 bd 08 2d 0c 33 02 00 tchar.ENDP....ENDIF.....p..-.3..
30380 00 4d 41 4b 45 4f 45 4d 20 42 41 54 20 00 00 00 00 00 00 00 00 00 00 94 72 bd 08 2d 0c 70 02 00 .MAKEOEM.BAT............r..-.p..
303a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30400 00 01 3b 09 54 65 72 6d 63 61 70 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 63 61 70 61 62 ..;.Termcap.description.of.capab
30420 69 6c 69 74 69 65 73 3a 0d 0a 0d 0a 3b 69 62 6d 61 6e 73 34 3a 6d 74 63 6f 6e 3a 49 42 4d 20 50 ilities:....;ibmans4:mtcon:IBM.P
30440 43 20 77 69 74 68 20 56 34 2e 30 20 41 4e 53 49 20 64 72 69 76 65 72 3a 5c 0d 0a 3b 09 3a 61 6c C.with.V4.0.ANSI.driver:\..;.:al
30460 3d 5c 45 5b 4c 3a 61 6d 3a 62 73 3a 63 65 3d 5c 45 5b 4b 3a 63 6c 3d 5c 45 5b 32 4a 5c 45 5b 48 =\E[L:am:bs:ce=\E[K:cl=\E[2J\E[H
30480 3a 63 6d 3d 5c 45 5b 25 3b 25 48 3a 63 6f 23 38 30 3a 5c 0d 0a 3b 09 3a 64 6c 3d 5c 45 5b 4d 3a :cm=\E[%;%H:co#80:\..;.:dl=\E[M:
304a0 64 6f 3d 5c 45 5b 42 3a 68 6f 3d 5c 45 5b 48 3a 6c 69 23 32 34 3a 6d 69 3a 6e 64 3d 5c 45 5b 43 do=\E[B:ho=\E[H:li#24:mi:nd=\E[C
304c0 3a 5c 0d 0a 3b 09 3a 6d 73 3a 70 74 3a 73 65 3d 5c 45 5b 6d 3a 73 6f 3d 5c 45 5b 31 3b 33 36 6d :\..;.:ms:pt:se=\E[m:so=\E[1;36m
304e0 3a 75 70 3d 5c 45 5b 41 3a 5c 0d 0a 3b 09 3a 6b 62 3d 5e 68 3a 6b 75 3d 5c 45 5b 41 3a 6b 64 3d :up=\E[A:\..;.:kb=^h:ku=\E[A:kd=
30500 5c 45 5b 42 3a 6b 6c 3d 5c 45 5b 44 3a 6b 72 3d 5c 45 5b 43 3a 6b 68 3d 5c 45 5b 48 3a 6b 6e 23 \E[B:kl=\E[D:kr=\E[C:kh=\E[H:kn#
30520 38 3a 5c 0d 0a 3b 09 3a 6b 31 3d 5c 45 53 3a 6b 32 3d 5c 45 54 3a 6b 33 3d 5c 45 55 3a 6b 34 3d 8:\..;.:k1=\ES:k2=\ET:k3=\EU:k4=
30540 5c 45 56 3a 6b 35 3d 5c 45 57 3a 5c 0d 0a 3b 09 3a 6b 36 3d 5c 45 50 3a 6b 37 3d 5c 45 51 3a 6b \EV:k5=\EW:\..;.:k6=\EP:k7=\EQ:k
30560 38 3d 5c 45 52 3a 0d 0a 0d 0a 43 4d 44 54 41 42 4c 20 44 42 09 27 41 27 0d 0a 09 44 57 09 43 55 8=\ER:....CMDTABL.DB.'A'...DW.CU
30580 55 09 09 3b 43 55 72 73 6f 72 20 55 70 0d 0a 09 44 42 09 27 42 27 0d 0a 09 44 57 09 43 55 44 09 U..;CUrsor.Up...DB.'B'...DW.CUD.
305a0 09 3b 43 55 72 73 6f 72 20 44 6f 77 6e 0d 0a 09 44 42 09 27 43 27 0d 0a 09 44 57 09 43 55 46 09 .;CUrsor.Down...DB.'C'...DW.CUF.
305c0 09 3b 43 55 72 73 6f 72 20 46 6f 72 77 61 72 64 0d 0a 09 44 42 09 27 44 27 0d 0a 09 44 57 09 43 .;CUrsor.Forward...DB.'D'...DW.C
305e0 55 42 09 09 3b 43 55 72 73 6f 72 20 42 61 63 6b 0d 0a 09 44 42 09 27 48 27 0d 0a 09 44 57 09 43 UB..;CUrsor.Back...DB.'H'...DW.C
30600 55 50 01 09 09 3b 43 55 72 73 6f 72 20 50 6f 73 69 74 69 6f 6e 0d 0a 09 44 42 09 27 4a 27 0d 0a UP...;CUrsor.Position...DB.'J'..
30620 09 44 57 09 45 44 09 09 3b 45 72 61 73 65 20 69 6e 20 44 69 73 70 6c 61 79 0d 0a 09 44 42 09 27 .DW.ED..;Erase.in.Display...DB.'
30640 4b 27 0d 0a 09 44 57 09 45 4c 09 09 3b 45 72 61 73 65 20 69 6e 20 4c 69 6e 65 0d 0a 09 44 42 09 K'...DW.EL..;Erase.in.Line...DB.
30660 27 4c 27 0d 0a 09 44 57 09 49 4c 09 09 3b 49 6e 73 65 72 74 20 4c 69 6e 65 0d 0a 09 44 42 09 27 'L'...DW.IL..;Insert.Line...DB.'
30680 4d 27 0d 0a 09 44 57 09 78 44 4c 09 09 3b 44 65 6c 65 74 65 20 4c 69 6e 65 0d 0a 3b 3b 09 44 42 M'...DW.xDL..;Delete.Line..;;.DB
306a0 09 27 52 27 0d 0a 3b 3b 09 44 57 09 43 50 52 09 09 3b 43 75 72 73 6f 72 20 50 6f 73 74 69 6f 6e .'R'..;;.DW.CPR..;Cursor.Postion
306c0 20 52 65 70 6f 72 74 0d 0a 09 44 42 09 27 66 27 0d 0a 09 44 57 09 48 56 50 09 09 3b 48 6f 72 69 .Report...DB.'f'...DW.HVP..;Hori
306e0 7a 6f 6e 74 61 6c 20 61 6e 64 20 56 65 72 74 69 63 61 6c 20 50 6f 73 69 74 69 6f 6e 0d 0a 09 44 zontal.and.Vertical.Position...D
30700 42 09 27 68 27 0d 0a 09 44 57 09 53 4d 09 09 3b 53 65 74 20 4d 6f 64 65 0d 0a 09 44 42 09 27 6c B.'h'...DW.SM..;Set.Mode...DB.'l
30720 27 0d 0a 09 44 57 09 52 4d 09 09 3b 52 65 73 65 74 20 4d 6f 64 65 0d 0a 09 44 42 09 27 6d 27 0d '...DW.RM..;Reset.Mode...DB.'m'.
30740 0a 09 44 57 09 53 47 52 09 09 3b 53 65 6c 65 63 74 20 47 72 61 70 68 69 63 73 20 52 65 6e 64 69 ..DW.SGR..;Select.Graphics.Rendi
30760 74 69 6f 6e 0d 0a 3b 3b 09 44 42 09 27 6e 27 0d 0a 3b 3b 09 44 57 09 44 53 52 09 09 3b 44 65 76 tion..;;.DB.'n'..;;.DW.DSR..;Dev
30780 69 63 65 20 53 74 61 74 75 73 20 52 65 70 6f 72 74 0d 0a 09 44 42 09 27 73 27 0d 0a 09 44 57 09 ice.Status.Report...DB.'s'...DW.
307a0 53 43 50 09 09 3b 53 61 76 65 20 43 75 72 73 6f 72 20 50 6f 73 69 74 69 6f 6e 0d 0a 09 44 42 09 SCP..;Save.Cursor.Position...DB.
307c0 27 75 27 0d 0a 09 44 57 09 52 43 50 09 09 3b 52 65 73 74 6f 72 65 20 43 75 72 73 6f 72 20 50 6f 'u'...DW.RCP..;Restore.Cursor.Po
307e0 73 69 74 69 6f 6e 0d 0a 09 44 42 09 30 30 0d 0a 0d 0a 3b 09 47 72 61 70 68 69 63 20 52 65 6e 64 sition...DB.00....;.Graphic.Rend
30800 69 74 69 01 6f 6e 20 6d 6f 64 65 73 3a 20 20 70 61 72 61 6d 65 74 65 72 2c 20 6d 61 73 6b 2c 20 iti.on.modes:..parameter,.mask,.
30820 73 65 74 0d 0a 47 52 4d 4f 44 45 09 44 42 09 30 30 2c 30 30 30 30 30 30 30 30 42 2c 30 30 30 30 set..GRMODE.DB.00,00000000B,0000
30840 30 31 31 31 42 09 3b 20 61 6c 6c 20 6f 66 66 0d 0a 09 44 42 09 30 31 2c 31 31 31 31 31 31 31 31 0111B.;.all.off...DB.01,11111111
30860 42 2c 30 30 30 30 31 30 30 30 42 09 3b 20 62 6f 6c 64 20 28 69 6e 63 72 65 61 73 65 64 20 69 6e B,00001000B.;.bold.(increased.in
30880 74 65 6e 73 69 74 79 29 0d 0a 09 44 42 09 30 34 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 30 tensity)...DB.04,11111000B,00000
308a0 30 30 31 42 09 3b 20 75 6e 64 65 72 73 63 6f 72 65 0d 0a 09 44 42 09 30 35 2c 31 31 31 31 31 31 001B.;.underscore...DB.05,111111
308c0 31 31 42 2c 31 30 30 30 30 30 30 30 42 09 3b 20 62 6c 69 6e 6b 0d 0a 09 44 42 09 30 37 2c 31 31 11B,10000000B.;.blink...DB.07,11
308e0 31 31 31 30 30 30 42 2c 30 31 31 31 30 30 30 30 42 09 3b 20 72 65 76 65 72 73 65 20 76 69 64 65 111000B,01110000B.;.reverse.vide
30900 6f 0d 0a 09 44 42 09 30 38 2c 31 30 30 30 31 30 30 30 42 2c 30 30 30 30 30 30 30 30 42 09 3b 20 o...DB.08,10001000B,00000000B.;.
30920 63 6f 6e 63 65 61 6c 65 64 0d 0a 09 44 42 09 33 30 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 concealed...DB.30,11111000B,0000
30940 30 30 30 30 42 09 3b 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 73 20 2e 2e 2e 0d 0a 09 0000B.;.foreground.colors.......
30960 44 42 09 33 31 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 30 31 30 30 42 0d 0a 09 44 42 09 33 DB.31,11111000B,00000100B...DB.3
30980 32 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 30 30 31 30 42 0d 0a 09 44 42 09 33 33 2c 31 31 2,11111000B,00000010B...DB.33,11
309a0 31 31 31 30 30 30 42 2c 30 30 30 30 30 31 31 30 42 0d 0a 09 44 42 09 33 34 2c 31 31 31 31 31 30 111000B,00000110B...DB.34,111110
309c0 30 30 42 2c 30 30 30 30 30 30 30 31 42 0d 0a 09 44 42 09 33 35 2c 31 31 31 31 31 30 30 30 42 2c 00B,00000001B...DB.35,11111000B,
309e0 30 30 30 30 30 31 30 31 42 0d 0a 09 44 42 09 33 36 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 00000101B...DB.36,11111000B,0000
30a00 30 30 31 31 05 15 01 09 02 01 02 03 04 05 06 07 08 09 01 42 0d 0a 09 44 42 09 33 37 2c 31 31 31 0011...............B...DB.37,111
30a20 31 31 30 30 30 42 2c 30 30 30 30 30 31 31 31 42 0d 0a 09 44 42 09 34 30 2c 31 30 30 30 31 31 31 11000B,00000111B...DB.40,1000111
30a40 31 42 2c 30 30 30 30 30 30 30 30 42 09 3b 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 73 1B,00000000B.;.background.colors
30a60 20 2e 2e 2e 0d 0a 09 44 42 09 34 31 2c 31 30 30 30 31 31 31 31 42 2c 30 31 30 30 30 30 30 30 42 .......DB.41,10001111B,01000000B
30a80 0d 0a 09 44 42 09 34 32 2c 31 30 30 30 31 31 31 31 42 2c 30 30 31 30 30 30 30 30 42 0d 0a 09 44 ...DB.42,10001111B,00100000B...D
30aa0 42 09 34 33 2c 31 30 30 30 31 31 31 31 42 2c 30 31 31 30 30 30 30 30 42 0d 0a 09 44 42 09 34 34 B.43,10001111B,01100000B...DB.44
30ac0 2c 31 30 30 30 31 31 31 31 42 2c 30 30 30 31 30 30 30 30 42 0d 0a 09 44 42 09 34 35 2c 31 30 30 ,10001111B,00010000B...DB.45,100
30ae0 30 31 31 31 31 42 2c 30 31 30 31 30 30 30 30 42 0d 0a 09 44 42 09 34 36 2c 31 30 30 30 31 31 31 01111B,01010000B...DB.46,1000111
30b00 31 42 2c 30 30 31 31 30 30 30 30 42 0d 0a 09 44 42 09 34 37 2c 31 30 30 30 31 31 31 31 42 2c 30 1B,00110000B...DB.47,10001111B,0
30b20 31 31 31 30 30 30 30 42 0d 0a 09 44 42 09 30 46 46 48 0d 0a 0d 0a 3b 20 53 65 74 2f 52 65 73 65 1110000B...DB.0FFH....;.Set/Rese
30b40 74 20 4d 6f 64 65 73 3a 20 20 69 6e 64 65 78 65 64 20 62 79 20 28 53 65 6c 43 68 61 72 2d 27 3c t.Modes:..indexed.by.(SelChar-'<
30b60 27 2a 38 29 20 2b 20 28 50 41 52 41 4d 30 20 41 4e 44 20 37 29 0d 0a 53 52 4d 4f 44 45 09 44 57 '*8).+.(PARAM0.AND.7)..SRMODE.DW
30b80 09 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 09 09 3b 20 53 65 6c 43 68 61 72 20 27 3c 27 0d .0,0,0,0,0,0,0,0..;.SelChar.'<'.
30ba0 0a 09 44 57 09 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c 57 52 41 50 09 3b 20 53 65 6c 43 68 61 ..DW.1,1,1,1,1,1,1,WRAP.;.SelCha
30bc0 72 20 27 3d 27 09 0d 0a 09 44 57 09 30 2c 45 6e 61 4c 32 35 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 r.'='....DW.0,EnaL25,0,0,0,0,0,0
30be0 09 3b 20 53 65 6c 43 68 61 72 20 27 3e 27 0d 0a 09 44 57 09 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c .;.SelChar.'>'...DW.0,0,0,0,0,0,
30c00 30 2c 57 52 41 50 09 3b 20 53 65 6c 43 68 61 72 20 27 3f 01 27 09 0d 0a 0d 0a 50 41 47 45 0d 0a 0,WRAP.;.SelChar.'?.'.....PAGE..
30c20 3b 09 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 65 20 64 75 70 6c 69 63 61 74 65 73 20 6f ;.The.following.are.duplicates.o
30c40 66 20 74 68 65 20 73 61 6d 65 20 76 61 72 69 61 62 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 52 4f f.the.same.variables.from.the.RO
30c60 4d 0d 0a 3b 0d 0a 3b 2a 20 57 41 52 4e 49 4e 47 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 M..;..;*.WARNING.-.the.following
30c80 20 74 77 6f 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 65 64 20 61 73 20 61 .two.variables.are.accessed.as.a
30ca0 20 77 6f 72 64 0d 0a 4d 4f 44 45 09 44 42 09 33 0d 0a 4d 41 58 43 4f 4c 09 44 42 09 37 39 0d 0a .word..MODE.DB.3..MAXCOL.DB.79..
30cc0 49 46 09 4c 49 4e 45 32 35 09 09 3b 20 73 70 65 63 69 61 6c 20 74 72 65 61 74 6d 65 6e 74 20 6f IF.LINE25..;.special.treatment.o
30ce0 66 20 6c 69 6e 65 20 32 35 3f 0d 0a 6d 61 78 72 6f 77 09 65 71 75 09 32 34 0d 0a 45 4c 53 45 0d f.line.25?..maxrow.equ.24..ELSE.
30d00 0a 6d 61 78 72 6f 77 09 65 71 75 09 32 35 0d 0a 45 4e 44 49 46 0d 0a 3b 2a 20 57 41 52 4e 49 4e .maxrow.equ.25..ENDIF..;*.WARNIN
30d20 47 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 76 61 72 69 61 62 6c 65 73 20 G.-.the.following.two.variables.
30d40 61 72 65 20 61 63 63 65 73 73 65 64 20 61 73 20 61 20 77 6f 72 64 0d 0a 43 4f 4c 09 44 42 09 30 are.accessed.as.a.word..COL.DB.0
30d60 09 09 09 3b 20 63 75 72 72 65 6e 74 20 63 6f 6c 75 6d 6e 0d 0a 52 4f 57 09 44 42 09 30 09 09 09 ...;.current.column..ROW.DB.0...
30d80 3b 20 63 75 72 72 65 6e 74 20 72 6f 77 0d 0a 0d 0a 0d 0a 41 6e 73 69 53 74 61 74 65 09 4c 41 42 ;.current.row......AnsiState.LAB
30da0 45 4c 09 42 59 54 45 09 3b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 75 73 74 20 62 65 20 EL.BYTE.;.the.following.must.be.
30dc0 73 61 76 65 64 20 6f 6e 20 61 20 73 63 72 65 65 6e 20 73 77 61 70 0d 0a 57 52 41 50 09 44 42 09 saved.on.a.screen.swap..WRAP.DB.
30de0 31 09 09 3b 20 30 20 3d 20 4e 4f 20 57 52 41 50 2c 20 31 20 3d 20 57 52 41 50 0d 0a 45 6e 61 4c 1..;.0.=.NO.WRAP,.1.=.WRAP..EnaL
30e00 32 35 09 44 42 09 30 09 09 3b 20 30 20 3d 20 32 35 74 68 20 01 6c 69 6e 65 20 64 69 73 61 62 6c 25.DB.0..;.0.=.25th..line.disabl
30e20 65 64 2c 20 31 20 3d 20 65 6e 61 62 6c 65 64 0d 0a 53 54 41 54 45 09 44 57 09 53 31 0d 0a 53 41 ed,.1.=.enabled..STATE.DW.S1..SA
30e40 56 43 52 09 44 57 09 30 09 09 09 3b 20 73 61 76 65 64 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 VCR.DW.0...;.saved.cursor.positi
30e60 6f 6e 0d 0a 3b 2a 20 57 41 52 4e 49 4e 47 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 on..;*.WARNING.-.the.following.t
30e80 77 6f 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 65 64 20 61 73 20 61 20 77 wo.variables.are.accessed.as.a.w
30ea0 6f 72 64 0d 0a 53 65 6c 43 68 61 72 09 44 42 09 30 09 09 09 3b 20 3c 2c 3d 2c 3e 20 6f 72 20 3f ord..SelChar.DB.0...;.<,=,>.or.?
30ec0 20 70 72 69 76 61 74 65 20 75 73 65 20 69 6e 64 69 63 61 74 6f 72 73 0d 0a 50 52 4d 43 4e 54 09 .private.use.indicators..PRMCNT.
30ee0 4c 41 42 45 4c 09 42 59 54 45 09 09 09 3b 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 6d 65 74 LABEL.BYTE...;.number.of.paramet
30f00 65 72 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 0d 0a 50 52 4d 43 4e 54 57 09 44 57 09 30 0d 0a 4e ers.for.command..PRMCNTW.DW.0..N
30f20 55 4d 50 41 52 41 4d 20 65 71 75 09 35 09 09 09 3b 20 6d 61 78 2e 20 6e 75 6d 62 65 72 20 6f 66 UMPARAM.equ.5...;.max..number.of
30f40 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 50 41 52 41 4d 09 44 42 09 4e 55 4d 50 41 52 41 4d 20 44 .parameters..PARAM.DB.NUMPARAM.D
30f60 55 50 20 28 3f 29 09 3b 20 62 75 66 66 65 72 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 70 61 72 61 UP.(?).;.buffer.for.command.para
30f80 6d 65 74 65 72 73 0d 0a 3b 2a 20 57 41 52 4e 49 4e 47 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 meters..;*.WARNING.-.the.followi
30fa0 6e 67 20 74 77 6f 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 65 64 20 61 73 ng.two.variables.are.accessed.as
30fc0 20 61 20 77 6f 72 64 0d 0a 61 74 74 72 77 09 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 41 54 54 52 09 .a.word..attrw.LABEL.WORD..ATTR.
30fe0 44 42 09 30 30 30 30 30 31 31 31 42 09 3b 43 48 41 52 41 43 54 45 52 20 41 54 54 52 49 42 55 54 DB.00000111B.;CHARACTER.ATTRIBUT
31000 45 0d 0a 42 50 41 47 45 09 44 42 09 30 09 09 3b 42 41 53 45 20 01 50 41 47 45 0d 0a 0d 0a 41 6e E..BPAGE.DB.0..;BASE..PAGE....An
31020 73 69 53 69 7a 65 09 65 71 75 09 28 24 2d 41 6e 73 69 53 74 61 74 65 29 0d 0a 0d 0a 49 46 09 28 siSize.equ.($-AnsiState)....IF.(
31040 41 6e 73 69 53 69 7a 65 20 47 54 20 54 65 72 6d 53 69 7a 65 29 0d 0a 09 2e 52 41 44 49 58 20 30 AnsiSize.GT.TermSize)....RADIX.0
31060 09 09 3b 20 45 52 52 4f 52 20 2d 20 54 65 72 6d 69 6e 61 6c 20 73 74 61 74 65 20 6e 6f 74 20 62 ..;.ERROR.-.Terminal.state.not.b
31080 69 67 20 65 6e 6f 75 67 68 0d 0a 45 4e 44 49 46 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ig.enough..ENDIF....;-----------
310a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
310c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 43 48 52 4f 55 54 20 ------------------..;..;.CHROUT.
310e0 2d 20 57 52 49 54 45 20 4f 55 54 20 43 48 41 52 20 49 4e 20 41 4c 20 55 53 49 4e 47 20 43 55 52 -.WRITE.OUT.CHAR.IN.AL.USING.CUR
31100 52 45 4e 54 20 41 54 54 52 49 42 55 54 45 0d 0a 3b 0d 0a 62 61 73 65 09 20 20 20 64 77 09 30 62 RENT.ATTRIBUTE..;..base....dw.0b
31120 38 30 30 68 0d 0a 73 63 72 65 65 6e 5f 73 65 67 20 64 77 09 30 30 30 30 30 68 0d 0a 0d 0a 63 68 800h..screen_seg.dw.00000h....ch
31140 72 6f 75 74 3a 20 63 6d 70 09 61 6c 2c 31 33 09 09 3b 20 63 61 72 72 69 61 67 65 20 72 65 74 75 rout:.cmp.al,13..;.carriage.retu
31160 72 6e 3f 0d 0a 09 6a 61 09 6f 75 74 63 68 72 0d 0a 09 6a 6e 7a 09 74 72 79 6c 66 0d 0a 09 6d 6f rn?...ja.outchr...jnz.trylf...mo
31180 76 09 5b 63 6f 6c 5d 2c 30 0d 0a 3b 3b 09 6a 6d 70 09 73 68 6f 72 74 20 73 65 74 69 74 0d 0a 09 v.[col],0..;;.jmp.short.setit...
311a0 6a 6d 70 09 73 65 74 69 74 0d 0a 0d 0a 74 72 79 6c 66 3a 09 63 6d 70 09 61 6c 2c 31 30 09 09 3b jmp.setit....trylf:.cmp.al,10..;
311c0 20 6c 69 6e 65 20 66 65 65 64 3f 0d 0a 09 6a 7a 09 6c 66 0d 0a 09 63 6d 70 09 61 6c 2c 37 09 09 .line.feed?...jz.lf...cmp.al,7..
311e0 3b 20 62 65 6c 6c 3f 0d 0a 09 6a 6e 7a 09 74 72 79 74 61 62 0d 0a 74 6f 72 6f 6d 3a 0d 0a 09 6d ;.bell?...jnz.trytab..torom:...m
31200 6f 76 09 62 78 2c 5b 61 74 74 72 77 5d 0d 0a 09 61 6e 64 09 62 6c 01 2c 37 0d 0a 09 6d 6f 76 09 ov.bx,[attrw]...and.bl.,7...mov.
31220 61 68 2c 31 34 0d 0a 09 69 6e 74 09 31 30 68 0d 0a 72 65 74 35 3a 09 72 65 74 0d 0a 0d 0a 74 72 ah,14...int.10h..ret5:.ret....tr
31240 79 74 61 62 3a 0d 0a 09 63 6d 70 09 61 6c 2c 39 09 09 3b 20 74 61 62 3f 0d 0a 09 6a 6e 7a 09 74 ytab:...cmp.al,9..;.tab?...jnz.t
31260 72 79 62 61 63 6b 0d 0a 09 6d 6f 76 09 61 6c 2c 5b 63 6f 6c 5d 0d 0a 09 61 64 64 09 61 6c 2c 38 ryback...mov.al,[col]...add.al,8
31280 0d 0a 09 6d 6f 76 09 61 68 2c 61 6c 0d 0a 09 61 6e 64 09 61 68 2c 37 0d 0a 09 73 75 62 09 61 6c ...mov.ah,al...and.ah,7...sub.al
312a0 2c 61 68 0d 0a 09 63 6d 70 09 61 6c 2c 5b 6d 61 78 63 6f 6c 5d 0d 0a 09 6a 62 09 74 75 6e 64 65 ,ah...cmp.al,[maxcol]...jb.tunde
312c0 72 0d 0a 09 6d 6f 76 09 61 6c 2c 5b 6d 61 78 63 6f 6c 5d 0d 0a 74 75 6e 64 65 72 3a 0d 0a 09 6d r...mov.al,[maxcol]..tunder:...m
312e0 6f 76 09 5b 63 6f 6c 5d 2c 61 6c 0d 0a 09 09 6a 6d 70 09 73 68 6f 72 74 20 73 65 74 69 74 0d 0a ov.[col],al....jmp.short.setit..
31300 0d 0a 74 72 79 62 61 63 6b 3a 0d 0a 09 63 6d 70 09 61 6c 2c 38 09 09 3b 20 62 61 63 6b 73 70 61 ..tryback:...cmp.al,8..;.backspa
31320 63 65 3f 0d 0a 09 6a 6e 7a 09 6f 75 74 63 68 72 0d 0a 09 63 6d 70 09 5b 63 6f 6c 5d 2c 30 0d 0a ce?...jnz.outchr...cmp.[col],0..
31340 09 6a 7a 09 72 65 74 35 0d 0a 09 64 65 63 09 5b 63 6f 6c 5d 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 .jz.ret5...dec.[col]...jmp.short
31360 20 73 65 74 69 74 0d 0a 0d 0a 6f 75 74 63 68 72 3a 0d 0a 09 6d 6f 76 09 62 78 2c 5b 61 74 74 72 .setit....outchr:...mov.bx,[attr
31380 77 5d 0d 0a 09 6d 6f 76 09 63 78 2c 31 0d 0a 09 6d 6f 76 09 61 68 2c 39 0d 0a 09 69 6e 74 09 31 w]...mov.cx,1...mov.ah,9...int.1
313a0 30 68 0d 0a 09 69 6e 63 09 5b 63 6f 6c 5d 0d 0a 09 6d 6f 76 09 61 6c 2c 5b 63 6f 6c 5d 0d 0a 09 0h...inc.[col]...mov.al,[col]...
313c0 63 6d 70 09 61 6c 2c 5b 6d 61 78 63 6f 6c 5d 0d 0a 09 6a 62 65 09 73 65 74 69 74 0d 0a 09 63 6d cmp.al,[maxcol]...jbe.setit...cm
313e0 70 09 5b 77 72 61 70 5d 2c 31 0d 0a 09 6a 7a 09 6f 75 74 63 68 72 31 0d 0a 09 64 65 63 09 5b 63 p.[wrap],1...jz.outchr1...dec.[c
31400 6f 6c 5d 0d 0a 09 72 65 74 0d 0a 6f 75 74 63 68 72 31 3a 0d 0a 09 6d 01 6f 76 09 5b 63 6f 6c 5d ol]...ret..outchr1:...m.ov.[col]
31420 2c 30 0d 0a 6c 66 3a 09 63 6d 70 09 5b 72 6f 77 5d 2c 28 6d 61 78 72 6f 77 2d 31 29 0d 0a 09 6a ,0..lf:.cmp.[row],(maxrow-1)...j
31440 61 09 73 65 74 69 74 09 09 09 09 3b 20 6f 6e 20 6c 69 6e 65 20 32 35 2c 20 64 6f 6e 27 74 20 6d a.setit....;.on.line.25,.don't.m
31460 6f 76 65 0d 0a 09 6a 7a 09 6c 66 31 09 09 09 09 3b 20 6f 6e 20 32 34 74 68 20 6c 69 6e 65 2c 20 ove...jz.lf1....;.on.24th.line,.
31480 73 63 72 6f 6c 6c 0d 0a 09 69 6e 63 09 5b 72 6f 77 5d 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 73 scroll...inc.[row]...jmp.short.s
314a0 65 74 69 74 0d 0a 6c 66 31 3a 09 63 61 6c 6c 09 73 63 72 6f 6c 6c 0d 0a 0d 0a 73 65 74 69 74 3a etit..lf1:.call.scroll....setit:
314c0 09 6d 6f 76 09 64 78 2c 77 6f 72 64 20 70 74 72 20 63 6f 6c 0d 0a 09 6d 6f 76 09 62 68 2c 5b 62 .mov.dx,word.ptr.col...mov.bh,[b
314e0 70 61 67 65 5d 0d 0a 09 6d 6f 76 09 61 68 2c 32 0d 0a 09 69 6e 74 09 31 30 68 0d 0a 09 72 65 74 page]...mov.ah,2...int.10h...ret
31500 0d 0a 0d 0a 73 63 72 6f 6c 6c 3a 20 6d 6f 76 09 61 6c 2c 6d 6f 64 65 0d 0a 09 63 6d 70 09 61 6c ....scroll:.mov.al,mode...cmp.al
31520 2c 32 0d 0a 09 6a 7a 09 6d 79 73 63 72 6f 6c 6c 0d 0a 09 63 6d 70 09 61 6c 2c 33 0d 0a 09 6a 7a ,2...jz.myscroll...cmp.al,3...jz
31540 09 6d 79 73 63 72 6f 6c 6c 0d 0a 49 46 09 4c 49 4e 45 32 35 0d 0a 09 78 6f 72 09 63 78 2c 63 78 .myscroll..IF.LINE25...xor.cx,cx
31560 09 09 09 3b 20 66 72 6f 6d 20 30 2c 30 0d 0a 09 6d 6f 76 09 64 68 2c 28 6d 61 78 72 6f 77 2d 31 ...;.from.0,0...mov.dh,(maxrow-1
31580 29 09 09 3b 20 74 6f 20 6d 61 78 72 6f 77 2d 31 2c 6d 61 78 63 6f 6c 0d 0a 09 6d 6f 76 09 64 6c )..;.to.maxrow-1,maxcol...mov.dl
315a0 2c 6d 61 78 63 6f 6c 0d 0a 09 6d 6f 76 09 62 68 2c 61 74 74 72 0d 0a 09 6d 6f 76 09 61 78 2c 30 ,maxcol...mov.bh,attr...mov.ax,0
315c0 36 30 31 68 09 09 3b 20 73 63 72 6f 6c 6c 20 20 75 70 20 6f 6e 65 20 6c 69 6e 65 0d 0a 09 69 6e 601h..;.scroll..up.one.line...in
315e0 74 09 31 30 68 0d 0a 09 72 65 74 0d 0a 45 4c 53 45 0d 0a 09 6d 6f 76 09 61 6c 2c 31 30 0d 0a 09 t.10h...ret..ELSE...mov.al,10...
31600 6a 6d 70 09 74 6f 72 6f 6d 0d 0a 45 4e 44 49 46 0d 0a 6d 79 73 63 72 6f 01 6c 6c 3a 0d 0a 09 6d jmp.torom..ENDIF..myscro.ll:...m
31620 6f 76 09 62 68 2c 5b 61 74 74 72 5d 0d 0a 09 6d 6f 76 09 62 6c 2c 27 20 27 0d 0a 09 6d 6f 76 09 ov.bh,[attr]...mov.bl,'.'...mov.
31640 62 70 2c 38 30 0d 0a 09 6d 6f 76 09 61 78 2c 5b 62 61 73 65 5d 0d 0a 09 61 64 64 09 61 78 2c 5b bp,80...mov.ax,[base]...add.ax,[
31660 73 63 72 65 65 6e 5f 73 65 67 5d 0d 0a 09 6d 6f 76 09 65 73 2c 61 78 0d 0a 09 6d 6f 76 09 64 73 screen_seg]...mov.es,ax...mov.ds
31680 2c 61 78 0d 0a 09 78 6f 72 09 64 69 2c 64 69 0d 0a 09 6d 6f 76 09 73 69 2c 31 36 30 0d 0a 09 6d ,ax...xor.di,di...mov.si,160...m
316a0 6f 76 09 63 78 2c 28 6d 61 78 72 6f 77 2d 31 29 2a 38 30 0d 0a 09 63 6c 64 0d 0a 0d 0a 3b 09 54 ov.cx,(maxrow-1)*80...cld....;.T
316c0 68 69 73 20 63 6f 64 65 20 77 69 6c 6c 20 6e 65 76 65 72 20 67 65 74 20 65 78 65 63 75 74 65 64 his.code.will.never.get.executed
316e0 20 73 69 6e 63 65 20 77 65 20 67 65 74 20 68 65 72 65 20 77 68 65 6e 0d 0a 3b 20 20 6d 6f 64 65 .since.we.get.here.when..;..mode
31700 20 3d 20 32 20 6f 72 20 33 20 6f 6e 6c 79 2e 0d 0a 3b 3b 09 63 6d 70 09 63 73 3a 5b 62 61 73 65 .=.2.or.3.only...;;.cmp.cs:[base
31720 5d 2c 30 62 38 30 30 68 0d 0a 3b 3b 09 6a 7a 09 63 6f 6c 6f 72 63 61 72 64 0d 0a 0d 0a 3b 3b 20 ],0b800h..;;.jz.colorcard....;;.
31740 20 20 20 72 65 70 09 6d 6f 76 73 77 0d 0a 3b 3b 09 6d 6f 76 09 61 78 2c 62 78 0d 0a 3b 3b 09 6d ...rep.movsw..;;.mov.ax,bx..;;.m
31760 6f 76 09 63 78 2c 62 70 0d 0a 3b 3b 20 20 20 20 72 65 70 09 73 74 6f 73 77 0d 0a 3b 3b 09 6a 6d ov.cx,bp..;;....rep.stosw..;;.jm
31780 70 09 73 68 6f 72 74 20 73 72 65 74 0d 0a 0d 0a 3b 3b 63 6f 6c 6f 72 63 61 72 64 3a 0d 0a 09 6d p.short.sret....;;colorcard:...m
317a0 6f 76 09 64 78 2c 33 64 61 68 0d 0a 77 61 69 74 32 3a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 74 65 ov.dx,3dah..wait2:.in.al,dx...te
317c0 73 74 09 61 6c 2c 38 0d 0a 09 6a 7a 09 77 61 69 74 32 0d 0a 09 6d 6f 76 09 61 6c 2c 32 35 68 0d st.al,8...jz.wait2...mov.al,25h.
317e0 0a 09 6d 6f 76 09 64 78 2c 33 64 38 68 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 3b 74 75 72 6e ..mov.dx,3d8h...out.dx,al..;turn
31800 20 6f 66 66 20 76 69 64 65 6f 0d 0a 20 20 20 20 72 65 70 09 6d 6f 76 73 77 01 0d 0a 09 6d 6f 76 .off.video......rep.movsw....mov
31820 09 61 78 2c 62 78 0d 0a 09 6d 6f 76 09 63 78 2c 62 70 0d 0a 09 72 65 70 09 73 74 6f 73 77 0d 0a .ax,bx...mov.cx,bp...rep.stosw..
31840 09 6d 6f 76 09 61 6c 2c 32 39 68 0d 0a 09 6d 6f 76 09 64 78 2c 33 64 38 68 0d 0a 09 6f 75 74 09 .mov.al,29h...mov.dx,3d8h...out.
31860 64 78 2c 61 6c 09 09 3b 74 75 72 6e 20 6f 6e 20 76 69 64 65 6f 0d 0a 73 72 65 74 3a 09 70 75 73 dx,al..;turn.on.video..sret:.pus
31880 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 72 65 74 0d 0a 0d 0a 0d 0a 43 68 61 72 4f 75 74 h.cs...pop.ds...ret......CharOut
318a0 3a 09 50 55 53 48 09 41 58 09 09 3b 20 4d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 0d 0a 09 :.PUSH.AX..;.Main.entry.point...
318c0 50 55 53 48 09 42 58 0d 0a 09 50 55 53 48 09 43 58 0d 0a 09 50 55 53 48 09 44 58 0d 0a 09 50 55 PUSH.BX...PUSH.CX...PUSH.DX...PU
318e0 53 48 09 53 49 0d 0a 09 50 55 53 48 09 44 49 0d 0a 09 50 55 53 48 09 45 53 0d 0a 09 50 55 53 48 SH.SI...PUSH.DI...PUSH.ES...PUSH
31900 09 42 50 0d 0a 0d 0a 09 4d 4f 56 09 5b 62 61 73 65 5d 2c 30 42 38 30 30 48 0d 0a 09 58 43 48 47 .BP.....MOV.[base],0B800H...XCHG
31920 09 41 58 2c 53 49 09 09 09 3b 20 53 41 56 45 20 43 48 41 52 41 43 54 45 52 20 54 4f 20 53 54 55 .AX,SI...;.SAVE.CHARACTER.TO.STU
31940 46 46 0d 0a 09 4d 4f 56 09 41 58 2c 34 30 48 09 09 09 3b 20 50 4f 49 4e 54 20 54 4f 20 52 4f 53 FF...MOV.AX,40H...;.POINT.TO.ROS
31960 20 42 49 4f 53 0d 0a 09 4d 4f 56 09 44 53 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 34 .BIOS...MOV.DS,AX...MOV.AX,DS:[4
31980 39 48 5d 09 09 3b 20 41 4c 3d 4d 4f 44 45 2c 20 41 48 3d 4d 41 58 20 43 4f 4c 0d 0a 09 44 45 43 9H]..;.AL=MODE,.AH=MAX.COL...DEC
319a0 09 41 48 09 09 09 3b 20 41 4e 53 49 20 4e 45 45 44 53 20 30 2d 37 39 20 4f 52 20 30 2d 33 39 0d .AH...;.ANSI.NEEDS.0-79.OR.0-39.
319c0 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 4d 4f 44 45 5d 2c 41 58 09 3b 20 53 41 ..MOV.WORD.PTR.CS:[MODE],AX.;.SA
319e0 56 45 20 4d 4f 44 45 20 41 4e 44 20 4d 41 58 20 43 4f 4c 0d 0a 09 43 4d 50 09 41 4c 2c 37 0d 0a VE.MODE.AND.MAX.COL...CMP.AL,7..
31a00 09 4a 4e 5a 09 4e 4f 54 5f 42 57 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 01 20 43 53 3a 5b .JNZ.NOT_BW...MOV.WORD.PTR..CS:[
31a20 62 61 73 65 5d 2c 30 42 30 30 30 48 0d 0a 4e 4f 54 5f 42 57 3a 20 4d 4f 56 09 41 4c 2c 44 53 3a base],0B000H..NOT_BW:.MOV.AL,DS:
31a40 5b 36 32 48 5d 09 09 3b 20 47 45 54 20 41 43 54 49 56 45 20 50 41 47 45 0d 0a 09 4d 4f 56 09 43 [62H]..;.GET.ACTIVE.PAGE...MOV.C
31a60 53 3a 5b 42 50 41 47 45 5d 2c 41 4c 0d 0a 09 43 42 57 0d 0a 09 41 44 44 09 41 58 2c 41 58 0d 0a S:[BPAGE],AL...CBW...ADD.AX,AX..
31a80 09 4d 4f 56 09 42 58 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 42 58 2b 35 30 48 5d 09 .MOV.BX,AX...MOV.AX,DS:[BX+50H].
31aa0 09 3b 20 41 4c 3d 43 4f 4c 2c 20 41 48 3d 52 4f 57 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 .;.AL=COL,.AH=ROW...MOV.WORD.PTR
31ac0 20 43 53 3a 5b 43 4f 4c 5d 2c 41 58 09 3b 20 53 41 56 45 20 52 4f 57 20 41 4e 44 20 43 4f 4c 55 .CS:[COL],AX.;.SAVE.ROW.AND.COLU
31ae0 4d 4e 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 34 45 48 5d 09 09 3b 20 47 45 54 20 53 54 41 52 MN...MOV.AX,DS:[4EH]..;.GET.STAR
31b00 54 20 4f 46 20 53 43 52 45 45 4e 20 53 45 47 0d 0a 09 4d 4f 56 09 43 4c 2c 34 0d 0a 09 53 48 52 T.OF.SCREEN.SEG...MOV.CL,4...SHR
31b20 09 41 58 2c 43 4c 09 09 09 3b 20 43 4f 4e 56 45 52 54 20 54 4f 20 41 20 53 45 47 4d 45 4e 54 0d .AX,CL...;.CONVERT.TO.A.SEGMENT.
31b40 0a 09 50 55 53 48 09 43 53 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 4d 4f 56 09 5b 73 63 72 65 65 6e ..PUSH.CS...POP.DS...MOV.[screen
31b60 5f 73 65 67 5d 2c 41 58 0d 0a 09 58 43 48 47 09 41 58 2c 53 49 09 09 09 3b 20 47 45 54 20 42 41 _seg],AX...XCHG.AX,SI...;.GET.BA
31b80 43 4b 20 43 48 41 52 41 43 54 45 52 20 49 4e 20 41 4c 0d 0a 0d 0a 09 43 41 4c 4c 09 56 49 44 45 CK.CHARACTER.IN.AL.....CALL.VIDE
31ba0 4f 0d 0a 09 50 4f 50 09 42 50 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 50 4f 50 09 44 49 0d 0a 09 50 O...POP.BP...POP.ES...POP.DI...P
31bc0 4f 50 09 53 49 0d 0a 09 50 4f 50 09 44 58 0d 0a 09 50 4f 50 09 43 58 0d 0a 09 50 4f 50 09 42 58 OP.SI...POP.DX...POP.CX...POP.BX
31be0 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 52 45 54 0d 0a 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...POP.AX...RET......;----------
31c00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 05 16 00 09 02 ---------------------------.....
31c20 01 02 03 04 05 06 07 08 09 01 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ..........---------------------.
31c40 0a 3b 0d 0a 3b 09 4f 55 54 50 55 54 20 53 49 4e 47 4c 45 20 43 48 41 52 20 49 4e 20 41 4c 20 54 .;..;.OUTPUT.SINGLE.CHAR.IN.AL.T
31c60 4f 20 56 49 44 45 4f 20 44 45 56 49 43 45 0d 0a 3b 0d 0a 56 49 44 45 4f 3a 09 4d 4f 56 09 53 49 O.VIDEO.DEVICE..;..VIDEO:.MOV.SI
31c80 2c 4f 46 46 53 45 54 20 53 54 41 54 45 0d 0a 09 4a 4d 50 09 5b 53 49 5d 0d 0a 0d 0a 53 32 3a 09 ,OFFSET.STATE...JMP.[SI]....S2:.
31ca0 43 4d 50 09 41 4c 2c 27 5b 27 0d 0a 09 4a 5a 09 53 32 32 0d 0a 09 4a 4d 50 09 53 31 0d 0a 53 32 CMP.AL,'['...JZ.S22...JMP.S1..S2
31cc0 32 3a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 33 30 0d 2:.MOV.WORD.PTR.[SI],OFFSET.S30.
31ce0 0a 09 58 4f 52 09 42 58 2c 42 58 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 53 65 6c 43 68 ..XOR.BX,BX...MOV.WORD.PTR.SelCh
31d00 61 72 2c 42 58 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 50 41 52 41 4d 2c 42 58 0d 0a 09 ar,BX...MOV.WORD.PTR.PARAM,BX...
31d20 4a 4d 50 09 53 48 4f 52 54 20 53 33 42 0d 0a 0d 0a 53 33 30 3a 09 43 4d 50 09 41 4c 2c 27 3f 27 JMP.SHORT.S3B....S30:.CMP.AL,'?'
31d40 09 09 09 3b 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 20 75 73 65 20 73 65 6c 65 63 74 6f 72 20 28 ...;.experimental.use.selector.(
31d60 53 4d 2f 52 4d 29 3f 0d 0a 09 4a 41 09 53 37 0d 0a 09 6d 6f 76 09 53 65 6c 43 68 61 72 2c 61 6c SM/RM)?...JA.S7...mov.SelChar,al
31d80 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 33 0d 0a ...MOV.WORD.PTR.[SI],OFFSET.S3..
31da0 09 63 6d 70 09 61 6c 2c 27 3c 27 0d 0a 09 6a 61 65 09 53 33 42 0d 0a 0d 0a 53 33 3a 09 43 4d 50 .cmp.al,'<'...jae.S3B....S3:.CMP
31dc0 09 41 4c 2c 27 3b 27 0d 0a 09 4a 4e 5a 09 53 33 43 0d 0a 53 33 41 3a 09 49 4e 43 09 50 52 4d 43 .AL,';'...JNZ.S3C..S3A:.INC.PRMC
31de0 4e 54 0d 0a 53 33 42 3a 09 43 41 4c 4c 09 47 45 54 50 54 52 0d 0a 09 58 4f 52 09 41 58 2c 41 58 NT..S3B:.CALL.GETPTR...XOR.AX,AX
31e00 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 42 58 5d 2c 41 58 20 20 20 20 3b 44 45 46 41 ...MOV.WORD.PTR.[BX],AX....;DEFA
31e20 55 4c 54 20 56 41 4c 55 45 20 01 49 53 20 5a 45 52 4f 0d 0a 09 52 45 54 0d 0a 0d 0a 53 33 43 3a ULT.VALUE..IS.ZERO...RET....S3C:
31e40 09 43 4d 50 09 41 4c 2c 27 30 27 0d 0a 09 4a 42 09 53 33 44 0d 0a 09 43 4d 50 09 41 4c 2c 27 39 .CMP.AL,'0'...JB.S3D...CMP.AL,'9
31e60 27 0d 0a 09 4a 41 09 53 37 0d 0a 09 43 41 4c 4c 09 47 45 54 50 54 52 0d 0a 09 53 55 42 09 41 4c '...JA.S7...CALL.GETPTR...SUB.AL
31e80 2c 27 30 27 0d 0a 09 58 43 48 47 09 41 4c 2c 42 59 54 45 20 50 54 52 20 5b 42 58 5d 0d 0a 09 4d ,'0'...XCHG.AL,BYTE.PTR.[BX]...M
31ea0 4f 56 09 41 48 2c 31 30 0d 0a 09 4d 55 4c 09 41 48 09 09 09 3b 2a 31 30 0d 0a 09 41 44 44 09 42 OV.AH,10...MUL.AH...;*10...ADD.B
31ec0 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 41 4c 09 3b 4d 4f 56 45 20 49 4e 20 44 49 47 49 54 0d 0a YTE.PTR.[BX],AL.;MOVE.IN.DIGIT..
31ee0 09 52 45 54 0d 0a 0d 0a 53 33 44 3a 0d 0a 3b 3b 09 43 4d 50 09 41 4c 2c 27 22 27 20 20 20 20 20 .RET....S3D:..;;.CMP.AL,'"'.....
31f00 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 42 45 47 49 4e 20 51 55 4f 54 45 44 20 53 54 52 49 4e .............;BEGIN.QUOTED.STRIN
31f20 47 0d 0a 3b 3b 09 4a 5a 09 53 33 45 0d 0a 3b 3b 09 43 4d 50 09 41 4c 2c 22 27 22 0d 0a 09 4a 4e G..;;.JZ.S3E..;;.CMP.AL,"'"...JN
31f40 5a 09 53 37 0d 0a 3b 3b 53 33 45 3a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f Z.S7..;;S3E:.MOV.WORD.PTR.[SI],O
31f60 46 46 53 45 54 20 53 34 0d 0a 3b 3b 09 4d 4f 56 09 5b 49 4e 51 5d 2c 41 4c 0d 0a 53 33 52 45 54 FFSET.S4..;;.MOV.[INQ],AL..S3RET
31f80 3a 09 52 45 54 0d 0a 0d 0a 3b 0d 0a 3b 20 20 20 45 4e 54 45 52 20 51 55 4f 54 45 44 20 53 54 52 :.RET....;..;...ENTER.QUOTED.STR
31fa0 49 4e 47 53 0d 0a 3b 0d 0a 0d 0a 3b 3b 53 34 3a 09 43 4d 50 09 41 4c 2c 5b 49 4e 51 5d 09 09 3b INGS..;....;;S4:.CMP.AL,[INQ]..;
31fc0 43 48 45 43 4b 20 46 4f 52 20 53 54 52 49 4e 47 20 54 45 52 4d 49 4e 41 54 4f 52 0d 0a 3b 3b 09 CHECK.FOR.STRING.TERMINATOR..;;.
31fe0 4a 4e 5a 09 53 34 41 0d 0a 3b 3b 09 44 45 43 09 50 52 4d 43 4e 54 09 09 09 3b 54 45 52 4d 49 4e JNZ.S4A..;;.DEC.PRMCNT...;TERMIN
32000 41 54 45 20 53 54 52 49 4e 47 0d 0a 3b 3b 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d ATE.STRING..;;.MOV.WORD.PTR.[SI]
32020 2c 4f 46 46 53 45 54 20 53 33 0d 01 0a 3b 3b 09 52 45 54 0d 0a 0d 0a 3b 3b 53 34 41 3a 09 43 41 ,OFFSET.S3...;;.RET....;;S4A:.CA
32040 4c 4c 09 47 45 54 50 54 52 0d 0a 3b 3b 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c LL.GETPTR..;;.MOV.BYTE.PTR.[BX],
32060 41 4c 0d 0a 3b 3b 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 AL..;;.MOV.WORD.PTR.[SI],OFFSET.
32080 53 34 0d 0a 3b 3b 09 4a 4d 50 09 53 33 41 0d 0a 3b 0d 0a 3b 20 20 4c 4f 4f 4b 20 46 4f 52 20 41 S4..;;.JMP.S3A..;..;..LOOK.FOR.A
320a0 4e 53 49 20 43 4f 4d 4d 41 4e 44 20 53 50 45 43 49 46 49 45 44 20 49 4e 20 41 4c 0d 0a 3b 0d 0a NSI.COMMAND.SPECIFIED.IN.AL..;..
320c0 0d 0a 53 37 3a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 43 4d 44 54 41 42 4c 2d 33 0d 0a 3b ..S7:.MOV.BX,OFFSET.CMDTABL-3..;
320e0 0d 0a 53 37 41 3a 09 41 44 44 09 42 58 2c 33 0d 0a 09 43 4d 50 09 42 59 54 45 20 50 54 52 20 5b ..S7A:.ADD.BX,3...CMP.BYTE.PTR.[
32100 42 58 5d 2c 30 0d 0a 09 4a 5a 09 53 31 42 0d 0a 09 43 4d 50 09 42 59 54 45 20 50 54 52 20 5b 42 BX],0...JZ.S1B...CMP.BYTE.PTR.[B
32120 58 5d 2c 41 4c 0d 0a 09 4a 4e 5a 09 53 37 41 0d 0a 3b 0d 0a 53 37 42 3a 09 4d 4f 56 09 41 58 2c X],AL...JNZ.S7A..;..S7B:.MOV.AX,
32140 57 4f 52 44 20 50 54 52 20 5b 42 58 2b 31 5d 20 20 20 20 20 3b 41 58 20 3d 20 4a 55 4d 50 20 41 WORD.PTR.[BX+1].....;AX.=.JUMP.A
32160 44 44 52 45 53 53 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 50 41 52 41 4d 0d 0a 09 4d DDRESS...MOV.BX,OFFSET.PARAM...M
32180 4f 56 09 44 4c 2c 42 59 54 45 20 50 54 52 20 5b 42 58 5d 0d 0a 09 58 4f 52 09 44 48 2c 44 48 09 OV.DL,BYTE.PTR.[BX]...XOR.DH,DH.
321a0 09 20 20 20 20 20 20 20 3b 44 58 20 3d 20 46 49 52 53 54 20 50 41 52 41 4d 45 54 45 52 0d 0a 09 ........;DX.=.FIRST.PARAMETER...
321c0 4d 4f 56 09 43 58 2c 44 58 0d 0a 09 4f 52 09 43 58 2c 43 58 0d 0a 09 4a 4e 5a 09 53 37 43 0d 0a MOV.CX,DX...OR.CX,CX...JNZ.S7C..
321e0 09 49 4e 43 09 43 58 09 09 20 20 20 20 20 20 20 3b 20 69 66 20 44 58 3d 30 2c 20 43 58 3d 31 20 .INC.CX.........;.if.DX=0,.CX=1.
32200 65 6c 73 65 20 43 58 20 3d 20 44 58 0d 0a 53 37 43 3a 09 4a 4d 50 09 41 58 09 09 20 20 20 20 20 else.CX.=.DX..S7C:.JMP.AX.......
32220 20 20 3b 41 4c 20 3d 20 43 4f 4d 4d 01 41 4e 44 0d 0a 0d 0a 53 31 3a 09 43 4d 50 09 41 4c 2c 31 ..;AL.=.COMM.AND....S1:.CMP.AL,1
32240 42 68 09 09 20 20 20 20 20 20 20 3b 45 53 43 41 50 45 20 53 45 51 55 45 4e 43 45 3f 0d 0a 09 4a Bh.........;ESCAPE.SEQUENCE?...J
32260 4e 5a 09 53 31 42 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 NZ.S1B...MOV.WORD.PTR.[SI],OFFSE
32280 54 20 53 32 0d 0a 09 52 45 54 0d 0a 0d 0a 53 31 42 3a 09 43 41 4c 4c 09 43 48 52 4f 55 54 0d 0a T.S2...RET....S1B:.CALL.CHROUT..
322a0 53 31 41 3a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 54 41 54 45 5d 2c 4f 46 46 53 45 54 S1A:.MOV.WORD.PTR.[STATE],OFFSET
322c0 20 53 31 0d 0a 09 52 45 54 0d 0a 0d 0a 4d 4f 56 43 55 52 3a 20 43 4d 50 09 42 59 54 45 20 50 54 .S1...RET....MOVCUR:.CMP.BYTE.PT
322e0 52 20 5b 42 58 5d 2c 41 48 0d 0a 09 4a 5a 09 53 45 54 43 55 52 0d 0a 09 41 44 44 09 42 59 54 45 R.[BX],AH...JZ.SETCUR...ADD.BYTE
32300 20 50 54 52 20 5b 42 58 5d 2c 41 4c 0d 0a 09 4c 4f 4f 50 09 4d 4f 56 43 55 52 0d 0a 53 45 54 43 .PTR.[BX],AL...LOOP.MOVCUR..SETC
32320 55 52 3a 20 4d 4f 56 09 44 58 2c 57 4f 52 44 20 50 54 52 20 43 4f 4c 0d 0a 09 58 4f 52 09 42 58 UR:.MOV.DX,WORD.PTR.COL...XOR.BX
32340 2c 42 58 0d 0a 09 4d 4f 56 09 41 48 2c 32 0d 0a 09 69 6e 74 09 31 30 68 09 09 09 3b 20 63 61 6c ,BX...MOV.AH,2...int.10h...;.cal
32360 6c 20 52 4f 4d 0d 0a 09 4a 4d 50 09 53 31 41 0d 0a 0d 0a 48 56 50 3a 0d 0a 43 55 50 3a 0d 0a 49 l.ROM...JMP.S1A....HVP:..CUP:..I
32380 46 09 4c 49 4e 45 32 35 0d 0a 09 43 4d 50 09 43 4c 2c 28 6d 61 78 72 6f 77 2b 31 29 0d 0a 09 6a F.LINE25...CMP.CL,(maxrow+1)...j
323a0 62 09 63 75 70 33 09 09 09 3b 20 6e 65 77 20 72 6f 77 20 69 73 20 32 34 20 6f 72 20 6c 65 73 73 b.cup3...;.new.row.is.24.or.less
323c0 0d 0a 09 4a 41 09 53 45 54 43 55 52 09 09 09 3b 20 65 72 72 6f 72 20 2d 20 32 36 20 6f 72 20 67 ...JA.SETCUR...;.error.-.26.or.g
323e0 72 65 61 74 65 72 0d 0a 09 63 6d 70 09 45 6e 61 4c 32 35 2c 30 09 09 3b 20 65 6c 73 65 20 32 35 reater...cmp.EnaL25,0..;.else.25
32400 2c 20 69 73 20 69 74 20 61 6c 6c 6f 77 65 64 3f 0d 0a 09 6a 7a 09 53 45 54 43 55 52 0d 0a 63 75 ,.is.it.allowed?...jz.SETCUR..cu
32420 70 33 3a 0d 0a 45 4c 53 45 0d 0a 09 43 01 4d 50 09 43 4c 2c 6d 61 78 72 6f 77 0d 0a 09 4a 41 09 p3:..ELSE...C.MP.CL,maxrow...JA.
32440 53 45 54 43 55 52 0d 0a 45 4e 44 49 46 0d 0a 09 4d 4f 56 09 41 4c 2c 4d 41 58 43 4f 4c 0d 0a 09 SETCUR..ENDIF...MOV.AL,MAXCOL...
32460 4d 4f 56 09 43 48 2c 42 59 54 45 20 50 54 52 20 5b 42 58 2b 31 5d 0d 0a 09 4f 52 09 43 48 2c 43 MOV.CH,BYTE.PTR.[BX+1]...OR.CH,C
32480 48 0d 0a 09 4a 5a 09 43 55 50 31 0d 0a 09 44 45 43 09 43 48 0d 0a 43 55 50 31 3a 09 43 4d 50 09 H...JZ.CUP1...DEC.CH..CUP1:.CMP.
324a0 41 4c 2c 43 48 0d 0a 09 4a 41 09 43 55 50 32 0d 0a 09 4d 4f 56 09 43 48 2c 41 4c 0d 0a 43 55 50 AL,CH...JA.CUP2...MOV.CH,AL..CUP
324c0 32 3a 09 58 43 48 47 09 43 4c 2c 43 48 0d 0a 09 44 45 43 09 43 48 0d 0a 09 4d 4f 56 09 57 4f 52 2:.XCHG.CL,CH...DEC.CH...MOV.WOR
324e0 44 20 50 54 52 20 43 4f 4c 2c 43 58 0d 0a 09 4a 4d 50 09 53 45 54 43 55 52 0d 0a 0d 0a 43 55 46 D.PTR.COL,CX...JMP.SETCUR....CUF
32500 3a 09 4d 4f 56 09 41 48 2c 4d 41 58 43 4f 4c 0d 0a 09 4d 4f 56 09 41 4c 2c 31 0d 0a 43 55 46 31 :.MOV.AH,MAXCOL...MOV.AL,1..CUF1
32520 3a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 43 4f 4c 0d 0a 09 4a 4d 50 09 4d 4f 56 43 55 52 :.MOV.BX,OFFSET.COL...JMP.MOVCUR
32540 0d 0a 0d 0a 43 55 42 3a 09 4d 4f 56 09 41 58 2c 30 30 46 46 48 0d 0a 09 4a 4d 50 09 43 55 46 31 ....CUB:.MOV.AX,00FFH...JMP.CUF1
32560 0d 0a 0d 0a 43 55 55 3a 09 4d 4f 56 09 41 58 2c 30 30 46 46 48 0d 0a 43 55 55 31 3a 09 4d 4f 56 ....CUU:.MOV.AX,00FFH..CUU1:.MOV
32580 09 42 58 2c 4f 46 46 53 45 54 20 52 4f 57 0d 0a 09 4a 4d 50 09 4d 4f 56 43 55 52 0d 0a 0d 0a 43 .BX,OFFSET.ROW...JMP.MOVCUR....C
325a0 55 44 3a 09 4d 4f 56 09 41 58 2c 28 6d 61 78 72 6f 77 2d 31 29 2a 32 35 36 2b 31 0d 0a 49 46 09 UD:.MOV.AX,(maxrow-1)*256+1..IF.
325c0 4c 49 4e 45 32 35 0d 0a 09 63 6d 70 09 61 68 2c 5b 72 6f 77 5d 09 09 09 3b 20 61 74 20 62 6f 74 LINE25...cmp.ah,[row]...;.at.bot
325e0 74 6f 6d 20 6f 66 20 73 63 72 65 65 6e 3f 0d 0a 09 6a 61 09 53 45 54 43 55 52 0d 0a 45 4e 44 49 tom.of.screen?...ja.SETCUR..ENDI
32600 46 0d 0a 09 4a 4d 50 09 43 55 55 31 0d 0a 0d 0a 53 43 50 3a 09 4d 4f 56 09 41 58 2c 57 4f 52 44 F...JMP.CUU1....SCP:.MOV.AX,WORD
32620 20 50 54 52 20 43 4f 4c 0d 0a 09 4d 4f 56 01 09 53 41 56 43 52 2c 41 58 0d 0a 09 4a 4d 50 09 53 .PTR.COL...MOV..SAVCR,AX...JMP.S
32640 45 54 43 55 52 0d 0a 0d 0a 52 43 50 3a 09 4d 4f 56 09 41 58 2c 53 41 56 43 52 0d 0a 49 46 09 4c ETCUR....RCP:.MOV.AX,SAVCR..IF.L
32660 49 4e 45 32 35 0d 0a 09 63 6d 70 09 63 68 2c 6d 61 78 72 6f 77 0d 0a 09 6a 62 09 72 63 70 31 0d INE25...cmp.ch,maxrow...jb.rcp1.
32680 0a 09 63 6d 70 09 45 6e 61 4c 32 35 2c 30 0d 0a 09 6a 7a 09 72 63 70 32 0d 0a 45 4e 44 49 46 0d ..cmp.EnaL25,0...jz.rcp2..ENDIF.
326a0 0a 72 63 70 31 3a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 43 4f 4c 2c 41 58 0d 0a 72 63 70 32 .rcp1:.MOV.WORD.PTR.COL,AX..rcp2
326c0 3a 09 4a 4d 50 09 53 45 54 43 55 52 0d 0a 0d 0a 53 47 52 3a 09 58 4f 52 09 43 58 2c 43 58 0d 0a :.JMP.SETCUR....SGR:.XOR.CX,CX..
326e0 09 58 43 48 47 09 43 4c 2c 50 52 4d 43 4e 54 0d 0a 09 43 41 4c 4c 09 47 45 54 50 54 52 0d 0a 09 .XCHG.CL,PRMCNT...CALL.GETPTR...
32700 49 4e 43 09 43 58 0d 0a 53 47 52 31 3a 09 4d 4f 56 09 41 4c 2c 42 59 54 45 20 50 54 52 20 5b 42 INC.CX..SGR1:.MOV.AL,BYTE.PTR.[B
32720 58 5d 0d 0a 09 50 55 53 48 09 42 58 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 47 52 4d X]...PUSH.BX...MOV.BX,OFFSET.GRM
32740 4f 44 45 0d 0a 53 47 52 32 3a 09 4d 4f 56 09 41 48 2c 42 59 54 45 20 50 54 52 20 5b 42 58 5d 0d ODE..SGR2:.MOV.AH,BYTE.PTR.[BX].
32760 0a 09 41 44 44 09 42 58 2c 33 0d 0a 09 43 4d 50 09 41 48 2c 30 46 46 48 0d 0a 09 4a 5a 09 53 47 ..ADD.BX,3...CMP.AH,0FFH...JZ.SG
32780 52 33 0d 0a 09 43 4d 50 09 41 48 2c 41 4c 0d 0a 09 4a 4e 5a 09 53 47 52 32 0d 0a 09 4d 4f 56 09 R3...CMP.AH,AL...JNZ.SGR2...MOV.
327a0 41 58 2c 57 4f 52 44 20 50 54 52 20 5b 42 58 2d 32 5d 0d 0a 09 41 4e 44 09 41 54 54 52 2c 41 4c AX,WORD.PTR.[BX-2]...AND.ATTR,AL
327c0 0d 0a 09 4f 52 09 41 54 54 52 2c 41 48 0d 0a 53 47 52 33 3a 09 50 4f 50 09 42 58 0d 0a 09 49 4e ...OR.ATTR,AH..SGR3:.POP.BX...IN
327e0 43 09 42 58 0d 0a 09 4c 4f 4f 50 09 53 47 52 31 0d 0a 09 4a 4d 50 09 53 45 54 43 55 52 0d 0a 0d C.BX...LOOP.SGR1...JMP.SETCUR...
32800 0a 45 44 3a 0d 0a 49 46 09 4c 49 4e 45 32 35 0d 0a 09 63 6d 70 09 72 6f 77 2c 6d 61 78 72 6f 77 .ED:..IF.LINE25...cmp.row,maxrow
32820 09 09 3b 20 6f 6e 20 32 35 74 68 20 6c 69 6e 01 65 3f 0d 0a 09 6a 65 09 45 4c 09 09 09 3b 20 79 ..;.on.25th.lin.e?...je.EL...;.y
32840 65 73 2c 20 74 72 65 61 74 20 6c 69 6b 65 20 45 72 61 73 65 20 69 6e 20 4c 69 6e 65 0d 0a 45 4e es,.treat.like.Erase.in.Line..EN
32860 44 49 46 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 6d 6f 76 09 64 6c 2c 6d 61 78 63 6f 6c 0d DIF...xor.cx,cx...mov.dl,maxcol.
32880 0a 09 6d 6f 76 09 64 68 2c 28 6d 61 78 72 6f 77 2d 31 29 0d 0a 09 63 6d 70 09 70 61 72 61 6d 2c ..mov.dh,(maxrow-1)...cmp.param,
328a0 31 09 09 09 3b 20 77 68 69 63 68 20 73 75 62 63 6f 6d 6d 61 6e 64 3f 0d 0a 09 6a 61 09 65 6c 32 1...;.which.subcommand?...ja.el2
328c0 09 09 09 3b 20 61 6c 6c 0d 0a 09 6a 62 09 65 64 31 0d 0a 09 6d 6f 76 09 64 68 2c 72 6f 77 09 09 ...;.all...jb.ed1...mov.dh,row..
328e0 09 3b 20 74 6f 20 62 65 67 69 6e 6e 69 6e 67 0d 0a 09 64 65 63 09 64 68 0d 0a 09 6a 6c 65 09 45 .;.to.beginning...dec.dh...jle.E
32900 4c 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 65 64 32 0d 0a 65 64 31 3a 09 6d 6f 76 09 63 68 2c 72 L...jmp.short.ed2..ed1:.mov.ch,r
32920 6f 77 09 09 09 3b 20 74 6f 20 65 6e 64 0d 0a 09 69 6e 63 09 63 68 0d 0a 09 63 6d 70 09 63 68 2c ow...;.to.end...inc.ch...cmp.ch,
32940 64 68 0d 0a 09 6a 61 65 09 45 4c 0d 0a 65 64 32 3a 09 6d 6f 76 09 62 68 2c 61 74 74 72 0d 0a 09 dh...jae.EL..ed2:.mov.bh,attr...
32960 4d 4f 56 09 41 58 2c 30 36 30 30 48 0d 0a 09 69 6e 74 09 31 30 68 09 09 09 3b 20 63 61 6c 6c 20 MOV.AX,0600H...int.10h...;.call.
32980 52 4f 4d 0d 0a 0d 0a 45 4c 3a 09 4d 4f 56 09 43 58 2c 57 4f 52 44 20 50 54 52 20 43 4f 4c 0d 0a ROM....EL:.MOV.CX,WORD.PTR.COL..
329a0 09 4d 4f 56 09 64 78 2c 63 78 0d 0a 09 6d 6f 76 09 61 6c 2c 70 61 72 61 6d 0d 0a 09 69 6e 63 09 .MOV.dx,cx...mov.al,param...inc.
329c0 61 6c 09 09 09 3b 20 30 2c 31 2c 32 20 3d 3e 20 31 2c 32 2c 33 0d 0a 09 74 65 73 74 09 61 6c 2c al...;.0,1,2.=>.1,2,3...test.al,
329e0 31 09 09 09 3b 20 74 6f 20 65 6e 64 3f 0d 0a 09 6a 65 09 65 6c 31 0d 0a 09 6d 6f 76 09 64 6c 2c 1...;.to.end?...je.el1...mov.dl,
32a00 6d 61 78 63 6f 6c 0d 0a 65 6c 31 3a 09 74 65 73 74 09 61 6c 2c 32 09 09 09 3b 20 74 6f 20 62 65 maxcol..el1:.test.al,2...;.to.be
32a20 67 69 6e 6e 69 6e 67 3f 0d 0a 09 6a 65 09 65 6c 01 32 0d 0a 09 6d 6f 76 09 63 6c 2c 30 0d 0a 65 ginning?...je.el.2...mov.cl,0..e
32a40 6c 32 3a 09 6d 6f 76 09 62 68 2c 61 74 74 72 0d 0a 09 6d 6f 76 09 61 78 2c 30 36 30 30 48 0d 0a l2:.mov.bh,attr...mov.ax,0600H..
32a60 09 69 6e 74 09 31 30 68 0d 0a 53 31 41 5f 6a 3a 09 6a 6d 70 09 53 31 41 0d 0a 0d 0a 49 4c 3a 09 .int.10h..S1A_j:.jmp.S1A....IL:.
32a80 6d 6f 76 09 61 68 2c 37 09 09 09 3b 20 73 63 72 6f 6c 6c 20 64 6f 77 6e 0d 0a 09 6a 6d 70 09 73 mov.ah,7...;.scroll.down...jmp.s
32aa0 68 6f 72 74 20 64 6c 31 0d 0a 0d 0a 78 44 4c 3a 09 6d 6f 76 09 61 68 2c 36 09 09 09 3b 20 73 63 hort.dl1....xDL:.mov.ah,6...;.sc
32ac0 72 6f 6c 6c 20 75 70 0d 0a 64 6c 31 3a 09 6d 6f 76 09 61 6c 2c 63 6c 09 09 09 3b 20 6e 75 6d 62 roll.up..dl1:.mov.al,cl...;.numb
32ae0 65 72 20 6f 66 20 6c 69 6e 65 73 0d 0a 09 6d 6f 76 09 63 68 2c 72 6f 77 0d 0a 09 78 6f 72 09 63 er.of.lines...mov.ch,row...xor.c
32b00 6c 2c 63 6c 0d 0a 09 6d 6f 76 09 64 68 2c 28 6d 61 78 72 6f 77 2d 31 29 0d 0a 09 6d 6f 76 09 64 l,cl...mov.dh,(maxrow-1)...mov.d
32b20 6c 2c 6d 61 78 63 6f 6c 0d 0a 09 6d 6f 76 09 62 68 2c 61 74 74 72 0d 0a 09 69 6e 74 09 31 30 68 l,maxcol...mov.bh,attr...int.10h
32b40 0d 0a 09 6a 6d 70 09 53 31 41 5f 6a 0d 0a 0d 0a 52 4d 3a 09 58 4f 52 09 43 4c 2c 43 4c 0d 0a 09 ...jmp.S1A_j....RM:.XOR.CL,CL...
32b60 4a 4d 50 09 53 48 4f 52 54 20 53 4d 31 0d 0a 0d 0a 53 4d 3a 09 4d 4f 56 09 43 4c 2c 31 0d 0a 53 JMP.SHORT.SM1....SM:.MOV.CL,1..S
32b80 4d 31 3a 09 6d 6f 76 09 62 6c 2c 53 65 6c 43 68 61 72 09 09 3b 20 67 65 74 20 73 65 6c 65 63 74 M1:.mov.bl,SelChar..;.get.select
32ba0 69 6f 6e 20 63 68 61 72 61 63 74 65 72 0d 0a 09 73 75 62 09 62 6c 2c 27 3c 27 09 09 09 3b 20 61 ion.character...sub.bl,'<'...;.a
32bc0 64 6a 75 73 74 0d 0a 09 6a 62 09 53 31 41 5f 6a 09 09 09 3b 20 6c 65 73 73 20 74 68 61 6e 20 27 djust...jb.S1A_j...;.less.than.'
32be0 3c 27 0d 0a 09 63 6d 70 09 62 6c 2c 34 0d 0a 09 6a 61 65 09 53 31 41 5f 6a 09 09 09 3b 20 67 72 <'...cmp.bl,4...jae.S1A_j...;.gr
32c00 65 61 74 65 72 20 74 68 61 6e 20 27 3f 27 0d 0a 09 78 6f 72 09 62 68 2c 62 68 0d 0a 09 73 68 6c eater.than.'?'...xor.bh,bh...shl
32c20 09 62 78 2c 31 0d 0a 09 73 68 6c 09 62 78 2c 31 0d 01 0a 09 73 68 6c 09 62 78 2c 31 0d 0a 09 4d .bx,1...shl.bx,1....shl.bx,1...M
32c40 4f 56 09 41 4c 2c 44 4c 0d 0a 09 43 4d 50 09 41 4c 2c 37 0d 0a 09 4a 41 09 53 31 41 5f 6a 0d 0a OV.AL,DL...CMP.AL,7...JA.S1A_j..
32c60 09 6f 72 09 62 6c 2c 61 6c 0d 0a 09 73 68 6c 09 62 78 2c 31 0d 0a 09 6d 6f 76 09 62 78 2c 53 52 .or.bl,al...shl.bx,1...mov.bx,SR
32c80 4d 4f 44 45 5b 62 78 5d 09 09 3b 20 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 64 69 63 61 74 MODE[bx]..;.get.function.indicat
32ca0 6f 72 0d 0a 09 63 6d 70 09 62 78 2c 31 09 09 09 3b 20 6e 6f 20 6f 72 20 73 70 65 63 69 61 6c 20 or...cmp.bx,1...;.no.or.special.
32cc0 66 75 6e 63 74 69 6f 6e 3f 0d 0a 09 6a 62 09 53 31 41 5f 6a 0d 0a 09 6a 7a 09 53 4d 32 09 09 09 function?...jb.S1A_j...jz.SM2...
32ce0 3b 20 73 65 74 73 20 73 63 72 65 65 6e 20 6d 6f 64 65 0d 0a 09 4d 4f 56 09 5b 62 78 5d 2c 43 4c ;.sets.screen.mode...MOV.[bx],CL
32d00 0d 0a 09 4a 4d 50 09 53 31 41 5f 6a 0d 0a 0d 0a 53 4d 32 3a 09 4d 4f 56 09 41 48 2c 30 0d 0a 09 ...JMP.S1A_j....SM2:.MOV.AH,0...
32d20 69 6e 74 09 31 30 68 09 09 09 3b 20 63 61 6c 6c 20 52 4f 4d 0d 0a 09 4a 4d 50 09 53 31 41 5f 6a int.10h...;.call.ROM...JMP.S1A_j
32d40 0d 0a 0d 0a 3b 09 47 65 74 50 74 72 20 2d 20 67 65 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 ....;.GetPtr.-.get.a.pointer.to.
32d60 74 68 65 20 63 75 72 72 65 6e 74 20 70 61 72 61 6d 65 74 65 72 0d 0a 47 45 54 50 54 52 3a 20 4d the.current.parameter..GETPTR:.M
32d80 4f 56 09 42 58 2c 50 52 4d 43 4e 54 57 0d 0a 09 43 4d 50 09 42 58 2c 4e 55 4d 50 41 52 41 4d 0d OV.BX,PRMCNTW...CMP.BX,NUMPARAM.
32da0 0a 09 4a 42 09 47 45 54 31 0d 0a 09 44 45 43 09 50 52 4d 43 4e 54 0d 0a 09 4a 4d 50 09 47 45 54 ..JB.GET1...DEC.PRMCNT...JMP.GET
32dc0 50 54 52 0d 0a 47 45 54 31 3a 09 41 44 44 09 42 58 2c 4f 46 46 53 45 54 20 50 41 52 41 4d 0d 0a PTR..GET1:.ADD.BX,OFFSET.PARAM..
32de0 09 52 45 54 0d 0a 0d 0a 09 63 6f 70 79 20 6f 3a 2a 2e 6f 62 6a 20 61 3a 5c 62 69 6f 73 0d 0a 09 .RET.....copy.o:*.obj.a:\bios...
32e00 63 6f 70 79 20 6f 3a 69 62 6d 2a 2e 61 73 6d 20 61 3a 5c 62 69 6f 73 0d 0a 09 63 6f 70 79 20 6f copy.o:ibm*.asm.a:\bios...copy.o
32e20 3a 64 65 66 64 62 75 67 2e 69 6e 63 20 61 3a 5c 62 69 05 16 01 09 02 01 02 03 04 05 06 07 08 09 :defdbug.inc.a:\bi..............
32e40 01 20 20 20 20 41 53 43 49 49 20 72 75 62 6f 75 74 20 6f 72 20 64 65 6c 65 74 65 20 70 72 65 76 .....ASCII.rubout.or.delete.prev
32e60 69 6f 75 73 20 63 68 61 72 0d 0a 63 5f 42 53 09 20 20 20 20 45 51 55 09 20 20 20 20 30 38 68 09 ious.char..c_BS.....EQU.....08h.
32e80 09 3b 20 5e 48 20 41 53 43 49 49 20 62 61 63 6b 73 70 61 63 65 0d 0a 63 5f 43 52 09 20 20 20 20 .;.^H.ASCII.backspace..c_CR.....
32ea0 45 51 55 09 20 20 20 20 30 44 68 09 09 3b 20 5e 4d 20 41 53 43 49 49 20 63 61 72 72 69 61 67 65 EQU.....0Dh..;.^M.ASCII.carriage
32ec0 20 72 65 74 75 72 6e 0d 0a 63 5f 4c 46 09 20 20 20 20 45 51 55 09 20 20 20 20 30 41 68 09 09 3b .return..c_LF.....EQU.....0Ah..;
32ee0 20 5e 4a 20 41 53 43 49 49 20 6c 69 6e 65 66 65 65 64 0d 0a 63 5f 45 54 42 09 20 20 20 20 45 51 .^J.ASCII.linefeed..c_ETB.....EQ
32f00 55 09 20 20 20 20 31 37 68 09 09 3b 20 5e 57 20 41 53 43 49 49 20 65 6e 64 20 6f 66 20 74 72 61 U.....17h..;.^W.ASCII.end.of.tra
32f20 6e 73 6d 69 73 73 69 6f 6e 0d 0a 63 5f 4e 41 4b 09 20 20 20 20 45 51 55 09 20 20 20 20 31 35 68 nsmission..c_NAK.....EQU.....15h
32f40 09 09 3b 20 5e 55 20 41 53 43 49 49 20 6e 65 67 61 74 69 76 65 20 61 63 6b 6e 6f 77 6c 65 64 67 ..;.^U.ASCII.negative.acknowledg
32f60 65 0d 0a 63 5f 45 54 58 09 20 20 20 20 45 51 55 09 20 20 20 20 30 33 68 09 09 3b 20 5e 43 20 41 e..c_ETX.....EQU.....03h..;.^C.A
32f80 53 43 49 49 20 65 6e 64 20 6f 66 20 74 65 78 74 0d 0a 63 5f 48 54 09 20 20 20 20 45 51 55 09 20 SCII.end.of.text..c_HT.....EQU..
32fa0 20 20 20 30 39 68 09 09 3b 20 5e 49 20 41 53 43 49 49 20 74 61 62 0d 0a 0d 0a 3b 2a 09 38 30 38 ...09h..;.^I.ASCII.tab....;*.808
32fc0 36 20 46 6c 61 67 20 52 65 67 69 73 74 65 72 20 44 65 66 69 6e 69 74 69 6f 6e 73 0d 0a 0d 0a 46 6.Flag.Register.Definitions....F
32fe0 4c 47 5f 43 09 45 51 55 09 30 31 68 09 09 3b 20 63 61 72 72 79 20 66 6c 61 67 0d 0a 0d 0a 0d 0a LG_C.EQU.01h..;.carry.flag......
33000 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d ..;----+----+----+----+----+----
33020 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d +----+----+----+----+----+----+-
33040 2d 01 69 62 6d 62 69 6f 2e 6f 62 6a 3a 09 69 62 6d 62 69 6f 2e 61 73 6d 20 64 65 66 64 62 75 67 -.ibmbio.obj:.ibmbio.asm.defdbug
33060 2e 69 6e 63 20 62 75 67 63 6f 64 65 2e 69 6e 63 0d 0a 09 6d 61 73 6d 20 69 62 6d 62 69 6f 3b 0d .inc.bugcode.inc...masm.ibmbio;.
33080 0a 0d 0a 69 62 6d 6d 74 63 6f 6e 2e 6f 62 6a 3a 09 69 62 6d 6d 74 63 6f 6e 2e 61 73 6d 20 61 6e ...ibmmtcon.obj:.ibmmtcon.asm.an
330a0 73 69 2e 69 6e 63 20 64 65 66 64 62 75 67 2e 69 6e 63 0d 0a 09 6d 61 73 6d 20 69 62 6d 6d 74 63 si.inc.defdbug.inc...masm.ibmmtc
330c0 6f 6e 3b 0d 0a 0d 0a 69 62 6d 64 73 6b 2e 6f 62 6a 3a 09 69 62 6d 64 73 6b 2e 61 73 6d 20 64 65 on;....ibmdsk.obj:.ibmdsk.asm.de
330e0 66 64 62 75 67 2e 69 6e 63 0d 0a 09 6d 61 73 6d 20 69 62 6d 64 73 6b 3b 0d 0a 0d 0a 73 79 73 69 fdbug.inc...masm.ibmdsk;....sysi
33100 6e 69 2e 6f 62 6a 3a 09 73 79 73 69 6e 69 2e 61 73 6d 20 64 6f 73 73 79 6d 2e 69 6e 63 20 64 65 ni.obj:.sysini.asm.dossym.inc.de
33120 76 73 79 6d 2e 69 6e 63 20 73 79 73 63 61 6c 6c 73 2e 69 6e 63 0d 0a 09 6d 61 73 6d 20 73 79 73 vsym.inc.syscalls.inc...masm.sys
33140 69 6e 69 3b 0d 0a 0d 0a 73 79 73 69 6d 65 73 2e 6f 62 6a 3a 09 73 79 73 69 6d 65 73 2e 61 73 6d ini;....sysimes.obj:.sysimes.asm
33160 0d 0a 09 6d 61 73 6d 20 73 79 73 69 6d 65 73 3b 0d 0a 0d 0a 69 62 6d 62 69 6f 2e 65 78 65 3a 09 ...masm.sysimes;....ibmbio.exe:.
33180 69 62 6d 62 69 6f 2e 6f 62 6a 20 69 62 6d 6d 74 63 6f 6e 2e 6f 62 6a 20 69 62 6d 64 73 6b 2e 6f ibmbio.obj.ibmmtcon.obj.ibmdsk.o
331a0 62 6a 20 73 79 73 69 6e 69 2e 6f 62 6a 20 73 79 73 69 6d 65 73 2e 6f 62 6a 0d 0a 09 6c 69 6e 6b bj.sysini.obj.sysimes.obj...link
331c0 20 69 62 6d 62 69 6f 20 69 62 6d 6d 74 63 6f 6e 20 69 62 6d 64 73 6b 20 73 79 73 69 6e 69 20 73 .ibmbio.ibmmtcon.ibmdsk.sysini.s
331e0 79 73 69 6d 65 73 2c 69 62 6d 62 69 6f 2c 69 62 6d 62 69 6f 2f 6d 61 70 3b 0d 0a 0d 0a 69 62 6d ysimes,ibmbio,ibmbio/map;....ibm
33200 62 69 6f 2e 63 6f 6d 3a 09 69 62 6d 62 69 6f 2e 65 78 65 0d 0a 09 65 78 65 32 62 69 6e 20 69 62 bio.com:.ibmbio.exe...exe2bin.ib
33220 6d 62 69 6f 20 69 62 6d 62 69 6f 2e 63 6f 6d 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 mbio.ibmbio.com.................
33240 00 00 01 20 74 68 61 74 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 20 74 68 65 20 20 61 62 ....that.are.subject.to..the..ab
33260 6f 76 65 20 20 77 69 6c 6c 09 62 65 20 3b 0d 0a 3b 20 6d 61 72 6b 65 64 20 61 6e 64 20 62 72 61 ove..will.be.;..;.marked.and.bra
33280 63 6b 65 74 65 64 20 77 69 74 68 20 74 68 65 20 66 6c 61 67 3a 09 09 09 09 09 20 20 20 3b 0d 0a cketed.with.the.flag:........;..
332a0 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 3b 09 20 20 20 20 20 43 09 41 20 20 56 20 20 45 ;............;..;......C.A..V..E
332c0 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 41 20 20 4d 20 20 4d 20 20 ..A..T...P..R.O..G..R..A..M..M..
332e0 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 3b 2d 2d 2d E..R.....;..;............;..;---
33300 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b -+----+----+----+----+----+----+
33320 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d ----+----+----+----+----+----+--
33340 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 0d 0a 42 52 45 41 4b 20 20 3c 42 69 6f 73 20 50 61 72 61 6d 65 74 --+----;....BREAK..<Bios.Paramet
33360 65 72 20 42 6c 6f 63 6b 3e 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b er.Block>..;----+----+----+----+
33380 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d ----+----+----+----+----+----+--
333a0 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 3b 09 20 20 20 20 20 --+----+----+----+----;..;......
333c0 43 09 41 20 20 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 C.A..V..E..A..T...P..R.O..G..R..
333e0 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 A..M..M..E..R.....;..;..........
33400 20 20 3b 0d 0a 0d 0a 3b 20 42 69 6f 73 20 50 61 72 61 6d 65 74 65 72 20 42 6c 6f 63 6b 20 64 65 ..;....;.Bios.Parameter.Block.de
33420 66 69 6e 69 74 69 6f 6e 0d 0a 3b 20 54 68 69 73 20 73 74 72 75 63 74 75 72 65 20 69 73 20 75 73 finition..;.This.structure.is.us
33440 65 64 20 01 4d 5a 2e 01 1c 00 03 00 20 00 00 00 20 00 48 03 93 00 42 33 14 00 00 00 20 00 00 00 ed..MZ............H...B3........
33460 48 16 00 00 64 00 ca 02 66 00 ca 02 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 H...d...f.......................
33480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
334a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
334c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
334e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
335a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
335c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
335e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33640 00 00 00 00 01 ba e0 07 b9 13 00 bb 02 00 16 1f b4 40 cd 21 b0 ff e9 f4 00 ba ca 02 8c d3 2b da .................@.!..........+.
33660 b1 04 d3 e3 fa 8e d2 03 e3 fb fc 8b 1e 02 00 8b c3 2b c2 a9 00 f0 74 09 8b da 80 c7 10 33 c0 eb .................+....t......3..
33680 04 b1 04 d3 e0 2d 02 00 36 a3 52 00 36 89 1e 62 00 8c d8 2b d8 b4 4a cd 21 72 aa 33 f6 8b fe 8b .....-..6.R.6..b...+..J.!r.3....
336a0 ce 49 26 a1 2c 00 36 a3 5e 00 0b c0 74 0a 8e c0 8b c6 f2 ae 46 ae 75 fa 46 36 89 3e 60 00 8b c7 .I&.,.6.^...t.......F.u.F6.>`...
336c0 02 06 80 00 80 d4 00 03 c6 03 c6 8b d8 36 03 1e 54 00 72 0c 80 c7 02 72 07 36 3b 1e 52 00 72 03 .............6..T.r....r.6;.R.r.
336e0 e9 62 ff 36 8b 26 52 00 83 ec 02 2b e0 8b dc 36 2b 1e a6 02 36 2b 1e 54 00 36 89 1e 5a 00 8b de .b.6.&R....+...6+...6+.T.6..Z...
33700 32 ed 8a 0e 80 00 8b fc 83 c7 02 57 06 8e c2 be 81 00 f3 a4 91 aa 1f 33 f6 36 8b 0e 60 00 57 8b 2..........W...........3.6..`.W.
33720 ef 36 89 2e 60 00 03 fb 03 fb 89 7e 00 83 c5 02 ac aa 0a c0 e0 fa e3 02 eb f0 58 5b 50 53 8b ec .6..`......~..............X[PS..
33740 8e da e8 60 01 8b e5 50 e8 00 00 58 58 b4 4c cd 21 eb fa ba 36 00 b9 1c 00 bb 02 00 b4 40 cd 21 ...`...P...XX.L.!...6........@.!
33760 b0 fe eb e9 55 83 ec 08 3b 26 58 00 77 03 e9 e2 ff 8b ec 33 c0 50 b8 6c 02 50 e8 d9 0a 8b e5 89 ....U...;&X.w......3.P.l.P......
33780 46 04 40 75 12 b8 79 02 50 e8 66 09 8b e5 b8 01 00 50 e8 06 09 8b e5 b8 02 00 50 33 c0 50 33 db F.@u..y.P.f......P........P3.P3.
337a0 53 ff 76 04 e8 8b 11 8b e5 89 5e 06 81 c3 00 02 4b b1 09 d3 eb 33 c0 50 b8 01 00 50 b8 6c 00 50 S.v.......^.....K....3.P...P.l.P
337c0 33 c0 50 89 5e 06 e8 42 00 8b e5 a0 8c 00 30 e4 3b 46 06 89 46 00 74 26 ff 76 06 50 b8 8f 02 50 3.P.^..B......0.;F..F.t&.v.P...P
337e0 e8 0f 09 8b e5 8b 46 06 33 db 53 bb 01 00 53 bb 6c 00 53 33 db 53 a2 8c 00 e8 2d 00 8b e5 ff 76 ......F.3.S...S.l.S3.S....-....v
33800 04 e8 a9 11 8b e5 83 c4 08 5d c3 55 8b ec 8a 46 04 8b 5e 06 8b 4e 08 8b 56 0a b4 3d cd 25 73 06 .........].U...F..^..N..V..=.%s.
33820 a3 68 00 b8 ff ff 9d 5d c3 55 8b ec 8a 46 04 8b 5e 06 8b 4e 08 8b 56 0a b4 3d cd 26 73 06 a3 68 .h.....].U...F..^..N..V..=.&s..h
33840 00 b8 ff ff 9d 01 5d c3 55 83 ec 04 8b ec 81 3e a8 02 80 00 7d 4b 8b 46 0a 05 1e 00 bb aa 03 53 ......].U......>....}K.F.......S
33860 50 e8 a4 02 8b e5 85 c0 74 37 8b 46 0a 05 1e 00 bb ac 03 53 50 e8 90 02 8b e5 85 c0 74 23 a1 a8 P.......t7.F.......SP.......t#..
33880 02 ff 06 a8 02 d1 e0 8b f0 ff 76 08 89 76 00 e8 62 03 8b e5 8b 76 00 89 84 aa 02 50 e8 82 03 8b ..........v..v..b....v.....P....
338a0 e5 83 c4 04 5d c3 55 83 ec 04 8b ec c6 06 ad 06 00 b0 01 b3 02 c6 06 c8 06 06 c6 06 e2 04 c0 c7 ....].U.........................
338c0 06 e8 04 01 00 b1 a0 c7 06 ec 04 02 00 ba 01 00 52 a2 bb 06 a2 ac 06 88 0e ea 04 88 0e e6 04 88 ................R...............
338e0 1e c9 06 88 1e ba 06 e8 a3 07 8b e5 25 80 00 74 0b a0 ba 06 30 e4 0d 04 00 a2 ba 06 b8 af 03 50 ............%..t....0..........P
33900 ff 76 08 e8 9e 01 8b e5 8b 1e a8 02 ff 06 a8 02 d1 e3 b9 b4 03 89 8f aa 02 89 46 08 8b 76 08 8a .v........................F..v..
33920 04 30 e4 85 c0 75 03 e9 f0 00 81 3e a8 02 80 00 75 0c b8 b6 03 50 e8 ba 07 8b e5 e9 dc 00 8b 76 .0...u.....>....u....P.........v
33940 08 8a 04 30 e4 3d 22 00 75 6b a1 a8 02 ff 06 a8 02 d1 e0 8b f8 8b c6 40 89 85 aa 02 89 46 08 8b ...0.=".uk.............@.....F..
33960 76 08 8a 04 30 e4 85 c0 89 46 00 74 35 3d 22 00 75 02 eb 2e 8b 76 08 8a 04 30 e4 3d 5c 00 75 1d v...0....F.t5=".u....v...0.=\.u.
33980 8a 44 01 30 e4 85 c0 75 02 eb 17 8b 46 08 40 50 ff 76 08 e8 b5 00 8b e5 ff 46 08 eb c2 ff 46 08 .D.0...u....F.@P.v.......F....F.
339a0 eb bd 8b 76 08 8a 04 30 e4 85 c0 74 5b ff 46 08 c6 04 00 eb 53 a1 a8 02 d1 e0 8b f0 8b 46 08 89 ...v...0...t[.F.....S........F..
339c0 84 aa 02 bb af 03 53 50 e8 b5 00 8b e5 8b f0 8a 04 30 e4 85 c0 89 76 08 74 06 ff 46 08 c6 04 00 ......SP.........0....v.t..F....
339e0 82 3e d4 03 00 74 1d a1 a8 02 d1 e0 8b f0 8b 06 d1 03 50 b8 16 00 50 ff b4 aa 02 e8 6f 01 8b e5 .>...t............P...P.....o...
33a00 85 c0 75 04 ff 06 a8 02 b8 af 03 50 ff 76 08 e8 92 00 8b e5 89 46 08 e9 02 ff ff 76 0a b8 aa 02 ..u........P.v.......F.....v....
33a20 50 ff 36 a8 02 e8 3d fd 8b e5 50 e8 6e 06 8b e5 83 c4 04 5d c3 55 8b ec 8b 7e 04 b9 ff ff 32 c0 P.6...=...P.n......].U...~....2.
33a40 fc f2 ae f7 d9 49 01 49 8b c1 5d c3 55 8b ec 8b 7e 06 33 c0 b9 ff ff fc f2 ae f7 d9 49 8b 76 06 .....I.I..].U...~.3.........I.v.
33a60 8b 7e 04 f3 a4 8b c7 48 5d c3 55 8b ec ff 76 04 e8 c3 ff 5f 03 f8 ff 76 06 57 e8 cf ff 8b e5 5d .~.....H].U...v...._...v.W.....]
33a80 c3 55 8b ec ff 76 04 e8 ac ff 5e 8b c8 41 51 56 ff 76 06 e8 a0 ff 5f 8b c8 5e ac f2 ae 59 e0 ee .U...v....^..AQV.v...._..^...Y..
33aa0 8b c6 48 5d c3 55 8b ec ff 76 04 e8 88 ff 5e 8b c8 41 51 56 ff 76 06 e8 7c ff 5f 8b c8 5e ac f2 ..H].U...v....^..AQV.v..|._..^..
33ac0 ae 59 e1 ee 8b c6 48 5d c3 55 8b ec 1e 07 8b 76 04 8b 7e 06 33 c0 80 3c 00 74 29 a6 74 f8 4e 4f .Y....H].U.....v..~.3..<.t).t.NO
33ae0 ac 3c 41 72 06 3c 5a 77 02 0c 20 87 fe 86 c4 ac 87 fe 3c 41 72 06 3c 5a 77 02 0c 20 3a c4 74 d6 .<Ar.<Zw..........<Ar.<Zw...:.t.
33b00 33 c0 5d c3 b8 ff ff 5d c3 55 8b ec 1e 07 fc 8b 76 04 8b 7e 06 33 c0 38 04 74 0c 38 05 74 05 a6 3.]....].U......v..~.3.8.t.8.t..
33b20 74 f5 72 08 40 5d c3 80 3d 00 74 01 48 5d c3 55 8b ec 1e 07 fc 8b 76 04 8b 7e 06 33 c0 38 04 74 t.r.@]..=.t.H].U......v..~.3.8.t
33b40 e6 38 05 74 df 50 87 f7 ac 87 f7 86 c4 ac 80 fc 41 72 08 80 fc 5a 77 03 80 cc 20 3c 41 72 06 3c .8.t.P..........Ar...Zw....<Ar.<
33b60 5a 77 02 0c 20 3a c4 58 74 d3 72 c0 eb b6 55 83 ec 7f 8b ec 8d 46 02 50 ff b6 85 00 ff b6 83 00 Zw...:.Xt.r...U......F.P........
33b80 e8 25 01 8b e5 40 75 07 33 c0 83 c4 7f 5d c3 8d 46 2d 50 ff b6 83 00 e8 08 02 8b e5 8d 46 2d 50 .%...@u.3....]..F-P..........F-P
33ba0 e8 93 fe 8b e5 8d 5e 2d 03 c3 50 ff b6 83 00 e8 5e 03 8b e5 8d 46 2d 50 e8 7b fe 8b e5 8d 5e 2d ......^-..P.....^....F-P.{....^-
33bc0 03 c3 89 86 83 00 8d 46 20 50 ff b6 83 00 e8 7b fe 8b e5 8d 46 02 50 8d 46 2d 50 ff 96 87 00 8b .......F.P.....{....F.P.F-P.....
33be0 e5 8d 46 02 50 e8 d8 00 8b e5 40 75 d9 b8 ff ff 83 c4 7f 5d c3 55 83 ec 06 8b ec ff 76 0a e8 35 ..F.P.....@u.......].U......v..5
33c00 fe 8b e5 40 50 e8 78 10 8b e5 89 46 04 85 c0 74 09 ff 76 0a 50 e8 34 fe 8b e5 8b 46 04 83 c4 06 ...@P.x....F...t..v.P.4....F....
33c20 5d c3 55 83 ec 04 8b ec 8b 76 08 8a 04 84 c0 74 2c 30 e4 89 46 00 40 8b f8 8a 85 e0 03 30 e4 25 ].U......v.....t,0..F.@......0.%
33c40 01 00 74 08 8b 46 00 01 05 20 00 eb 07 8b 76 08 8a 04 30 e4 8b 76 08 88 04 ff 46 08 eb cb 8b 46 ..t..F........v...0..v....F....F
33c60 08 83 c4 04 5d c3 55 83 ec 04 8b ec 8b 76 08 8a 04 84 c0 74 2c 30 e4 89 46 00 40 8b f8 8a 85 e0 ....].U......v.....t,0..F.@.....
33c80 03 30 e4 25 02 00 74 08 8b 46 00 2d 20 00 eb 07 8b 76 08 8a 04 30 e4 8b 76 08 88 04 ff 46 08 eb .0.%..t..F.-.....v...0..v....F..
33ca0 cb 8b 46 08 83 c4 04 5d c3 e8 e2 02 8b 56 08 b4 1a cd 21 8b 4e 06 8b 56 04 b4 4e e8 dc 02 e9 e4 ..F....].....V....!.N..V..N.....
33cc0 02 e8 ca 02 8b 56 04 b4 1a cd 21 b4 4f e8 ca 02 e9 d2 02 55 83 ec 56 8b ec c7 46 54 00 00 8d 46 .....V....!.O......U..V...FT...F
33ce0 04 50 ff 76 5c 89 46 02 e8 b8 00 8b e5 85 c0 75 0f ff 76 02 ff 76 5a e8 a9 00 8b e5 85 c0 74 05 .P.v\.F........u..v..vZ.......t.
33d00 81 4e 54 08 00 ff 76 02 e8 2c fd 8b e5 01 46 02 ff 76 02 ff 76 5c e8 f8 01 8b e5 85 c0 75 0f ff .NT...v..,....F..v..v\.......u..
33d20 76 02 ff 76 5a e8 e9 01 8b e5 85 c0 74 05 81 4e 54 04 00 ff 76 02 e8 fe fc 8b e5 01 46 02 ff 76 v..vZ.......t..NT...v.......F..v
33d40 02 ff 76 5c e8 2f 01 8b e5 85 c0 75 0f ff 76 02 ff 76 5a e8 20 01 8b e5 85 c0 74 05 81 4e 54 02 ..v\./.....u..v..vZ.......t..NT.
33d60 00 ff 76 02 e8 d0 fc 8b e5 01 46 02 ff 76 02 ff 76 5c e8 8a 00 8b e5 85 c0 75 0f ff 76 02 ff 76 ..v.......F..v..v\.......u..v..v
33d80 5a e8 7b 00 8b e5 85 c0 74 05 81 4e 54 01 00 8d 46 04 50 ff 76 5e e8 b4 fc 8b e5 8b 46 54 83 c4 Z.{.....t..NT...F.P.v^......FT..
33da0 56 5d c3 55 83 ec 04 8b ec b8 d6 03 50 ff 76 08 e8 cf fc 8b e5 8b f0 89 46 02 40 8a 1c 30 ff 85 V].U........P.v.........F.@..0..
33dc0 db 89 46 02 75 06 8b 46 08 89 46 02 ff 76 08 ff 76 0a e8 78 fc 8b e5 8b 46 02 2b 46 08 8b 76 0a ..F.u..F..F..v..v..x....F.+F..v.
33de0 03 f0 c6 04 00 ff 76 0a e8 4c fc 8b e5 85 c0 75 04 33 db eb 03 33 db 43 8b c3 83 c4 04 5d c3 55 ......v..L.....u.3...3.C.....].U
33e00 83 ec 08 8b ec 8b 46 0c 89 46 04 8b 46 04 89 46 06 40 bb d8 03 53 50 e8 68 fc 8b e5 8b f0 8a 04 ......F..F..F..F.@...SP.h.......
33e20 30 e4 85 c0 89 76 04 75 e2 b8 da 03 50 ff 76 06 e8 4f fc 8b e5 8b f0 8a 1c 30 ff 85 db 75 0c 8b 0....v.u....P.v..O.......0...u..
33e40 76 06 8a 04 30 e4 3d 2e 01 00 74 06 8b 46 04 89 46 06 ff 76 06 ff 76 0e e8 f3 fb 8b e5 ff 76 0e v...0.=...t..F..F..v..v.......v.
33e60 e8 d5 fb 8b e5 85 c0 75 04 33 db eb 03 33 db 43 8b c3 83 c4 08 5d c3 55 83 ec 06 8b ec 8b 46 0a .......u.3...3.C.....].U......F.
33e80 48 89 46 02 8b 46 02 40 bb da 03 53 50 89 46 04 e8 f0 fb 8b e5 8b f0 8a 04 30 e4 85 c0 89 76 02 H.F..F.@...SP.F..........0....v.
33ea0 75 e2 b8 d8 03 50 ff 76 04 e8 d7 fb 8b e5 ff 76 04 ff 76 0c 89 46 02 e8 94 fb 8b e5 8b 46 02 2b u....P.v.......v..v..F.......F.+
33ec0 46 04 8b 76 0c 03 f0 c6 04 00 ff 76 0c e8 68 fb 8b e5 85 c0 75 04 33 db eb 03 33 db 43 8b c3 83 F..v.......v..h.....u.3...3.C...
33ee0 c4 06 5d c3 55 83 ec 02 8b ec ff 76 08 ff 76 06 e8 84 ff 8b e5 ff 76 08 e8 3d fb 8b e5 01 46 08 ..].U......v..v.......v..=....F.
33f00 ff 76 08 ff 76 06 e8 f7 fe 8b e5 33 c0 83 c4 02 5d c3 55 83 ec 06 8b ec b8 d6 03 50 ff 76 0a e8 .v..v......3....].U........P.v..
33f20 61 fb 8b e5 8b f0 8a 04 30 e4 85 c0 89 76 02 74 06 8b c6 40 89 46 0a 8b 46 0a 48 89 46 02 8b 46 a.......0....v.t...@.F..F.H.F..F
33f40 02 40 bb da 03 53 50 89 46 04 e8 36 fb 8b e5 8b f0 8a 04 30 e4 85 c0 89 76 02 75 e2 ff 76 0a ff .@...SP.F..6.......0....v.u..v..
33f60 76 0c e8 e9 fa 8b e5 8b 46 04 2b 46 0a 8b 76 0c 03 f0 c6 04 00 ff 76 0c e8 bd fa 8b e5 85 c0 75 v.......F.+F..v.......v........u
33f80 04 33 db eb 03 33 db 43 8b c3 83 c4 06 5d c3 58 55 8b ec c7 06 68 00 00 00 ff e0 cd 21 73 06 a3 .3...3.C.....].XU....h......!s..
33fa0 68 00 b8 ff ff c3 72 03 b8 00 00 5d c3 55 8b ec c7 06 de 03 00 00 8b 56 04 8b 4e 06 b4 3c cd 21 h.....r....].U.........V..N..<.!
33fc0 73 03 a3 de 03 5d c3 55 8b ec c7 06 de 03 00 00 8b 56 04 8b 46 06 b4 3d cd 21 73 03 a3 de 03 5d s....].U.........V..F..=.!s....]
33fe0 c3 55 8b ec c7 06 de 03 00 00 8b 5e 04 b4 3e cd 21 73 03 a3 de 03 5d c3 55 8b ec c7 06 de 03 00 .U.........^..>.!s....].U.......
34000 00 8b 5e 04 8b 4e 08 8b 56 06 b4 3f cd 21 73 05 a3 de 03 33 c0 5d c3 55 8b ec c7 06 de 03 00 00 ..^..N..V..?.!s....3.].U........
34020 8b 5e 04 8b 4e 08 8b 56 06 b4 40 cd 21 73 05 a3 de 03 33 c0 5d c3 55 8b ec c7 06 de 03 00 00 8b .^..N..V..@.!s....3.].U.........
34040 46 0a b4 42 8b 5e 04 8b 4e 05 17 00 09 02 01 02 03 04 05 06 07 08 09 01 08 8b 56 06 cd 21 73 03 F..B.^..N.................V..!s.
34060 a3 de 03 8b d8 8b c2 5d c3 55 8b ec c7 06 de 03 00 00 8b 56 04 b4 41 cd 21 73 03 a3 de 03 5d c3 .......].U.........V..A.!s....].
34080 55 8b ec c7 06 de 03 00 00 8b 56 04 8b 46 06 b4 43 8b 4e 08 cd 21 73 03 a3 de 03 8b c1 5d c3 55 U.........V..F..C.N..!s......].U
340a0 8b ec 8b 5e 04 b8 00 44 cd 21 8b c2 5d c3 55 83 ec 04 3b 26 58 00 77 03 e9 ab f6 8b ec c7 46 02 ...^...D.!..].U...;&X.w.......F.
340c0 00 00 8b 46 02 3d 14 00 7d 13 bb 0e 00 f7 eb 05 a4 06 50 e8 58 0b 8b e5 ff 46 02 eb e5 c7 46 02 ...F.=..}.........P.X....F....F.
340e0 00 00 83 7e 02 14 7d 0d ff 76 02 e8 d2 08 8b e5 ff 46 02 eb ed ff 76 0a ff 76 08 e8 77 0c 8b e5 ...~..}..v.......F....v..v..w...
34100 83 c4 04 5d c3 55 81 ec 10 01 3b 26 58 00 77 03 e9 53 f6 8b ec 8d 86 16 01 89 46 0e 8b b6 14 01 ...].U....;&X.w..S........F.....
34120 8a 04 30 e4 85 c0 75 03 e9 f0 00 8b c6 89 46 00 40 8a 1c 30 ff 83 fb 25 89 86 14 01 89 5e 08 74 ..0...u.......F.@..0...%.....^.t
34140 03 e9 ab 00 8b f0 8a 1c 30 ff 83 fb 25 75 34 ff 86 14 01 8a 04 30 e4 8b 1e b6 06 4b 85 db 89 46 ........0...%u4......0.....K...F
34160 08 89 1e b6 06 78 0e 8b 36 b2 06 ff 06 b2 06 88 04 30 e4 eb a7 b8 b2 06 50 ff 76 08 e8 18 0e 8b .....x..6........0......P.v.....
34180 e5 eb 99 8d 46 0a 50 8d 46 0e 50 8d 46 10 50 ff b6 14 01 e8 51 10 8b e5 85 c0 89 46 0c 75 03 e9 ....F.P.F.P.F.P.....Q......F.u..
341a0 7a ff c7 46 06 00 00 89 86 14 01 8b 46 06 8b 5e 0a 3b d8 7f 03 e9 64 ff 8b 1e b6 06 4b 85 db 89 z..F........F..^.;....d.....K...
341c0 1e b6 06 78 13 8b 36 b2 06 ff 06 b2 06 8b f8 8a 43 10 88 04 30 e4 eb 12 8b 76 06 8a 42 10 30 e4 ...x..6.........C...0....v..B.0.
341e0 bb b2 06 53 50 e8 af 0d 8b e5 ff 46 06 eb bc a1 b6 06 48 85 c0 a3 b6 06 78 12 8b 36 b2 06 ff 06 ...SP......F......H.....x..6....
34200 b2 06 8b 46 08 88 04 30 e4 e9 10 ff b8 b2 06 50 ff 76 08 e8 81 0d 8b e5 e9 01 ff 81 c4 10 01 5d ...F...0.......P.v.............]
34220 c3 55 83 ec 02 3b 26 58 00 77 03 e9 38 f5 8b ec 8b 46 06 85 c0 78 16 3d 14 00 7d 11 d1 e0 d1 e0 .U...;&X.w..8....F...x.=..}.....
34240 8b f0 8a 84 e2 04 30 e4 25 80 00 75 0d c7 06 68 00 09 00 33 c0 83 c4 02 01 5d c3 8b 46 06 d1 e0 ......0.%..u...h...3.....]..F...
34260 d1 e0 05 e2 04 83 c4 02 5d c3 55 83 ec 0a 3b 26 58 00 77 03 e9 f0 f4 8b ec c7 46 04 00 00 8b 46 ........].U...;&X.w.......F....F
34280 04 3d 14 00 7d 15 d1 e0 d1 e0 8b f0 8a 84 e2 04 30 e4 85 c0 74 05 ff 46 04 eb e3 83 7e 04 14 75 .=..}...........0...t..F....~..u
342a0 0e c7 06 68 00 18 00 b8 ff ff 83 c4 0a 5d c3 8b 46 04 d1 e0 d1 e0 05 e2 04 8b f0 a1 bc 07 25 00 ...h.........]..F.............%.
342c0 80 8b 5e 10 33 c3 89 46 10 25 00 80 89 76 08 74 05 b8 10 00 eb 02 33 c0 0d 80 00 8b 76 08 88 04 ..^.3..F.%...v.t......3.....v...
342e0 8b 46 10 25 03 00 eb 4f 8b 76 08 8a 04 30 e4 0d 40 00 88 04 eb 52 8b 46 10 25 08 00 74 05 b8 08 .F.%...O.v...0..@....R.F.%..t...
34300 00 eb 02 33 c0 0d 20 00 8b 76 08 8a 1c 30 ff 0b d8 88 1c eb 33 8b 76 08 8a 04 30 e4 0d 60 00 88 ...3.....v...0......3.v...0..`..
34320 04 eb 25 8b 76 08 c6 04 00 c7 06 68 00 16 00 b8 ff ff 83 c4 0a 5d c3 3d 02 00 74 d9 3d 01 00 74 ..%.v......h.........].=..t.=..t
34340 b5 3d 00 00 74 a2 eb db 8b 76 0e 8a 04 30 e4 85 c0 75 0f 8b 76 08 c6 44 01 01 8b 46 04 83 c4 0a .=..t....v...0...u..v..D...F....
34360 5d c3 c7 46 06 00 00 8b 46 06 3d 18 00 7d 37 bb 0a 00 f7 eb 05 32 05 40 50 ff 76 0e e8 9c f7 8b ]..F....F.=..}7......2.@P.v.....
34380 e5 85 c0 75 1c 8b 46 06 bb 0a 00 f7 eb 8b f0 8a 84 32 05 8b 7e 08 88 45 01 8b 46 04 83 c4 0a 5d ...u..F..........2..~..E..F....]
343a0 c3 ff 46 06 eb c1 8b 76 08 c6 44 01 00 8b 46 10 25 00 02 74 08 ff 76 0e e8 af fc 8b e5 8b 46 10 ..F....v..D...F.%..t..v.......F.
343c0 25 03 00 50 ff 76 0e e8 0d fc 8b e5 8b 76 08 89 44 02 83 3e de 03 00 74 34 8b 46 10 25 00 03 74 %..P.v.......v..D..>...t4.F.%..t
343e0 11 33 c0 50 ff 76 0e e8 d3 fb 8b e5 8b 76 08 89 44 02 83 3e de 03 00 74 3e c7 06 68 00 02 00 8b .3.P.v.......v..D..>...t>..h....
34400 76 08 c6 04 00 b8 ff ff 83 c4 0a 5d c3 8b 46 10 25 00 05 3d 00 05 75 1f 8b 76 08 ff 74 02 e8 d0 v..........]..F.%..=..u..v..t...
34420 fb 8b e5 c7 06 68 00 11 00 8b 76 08 c6 04 00 b8 ff ff 83 c4 0a 5d c3 8b 46 04 83 c4 0a 5d c3 55 .....h....v..........]..F....].U
34440 83 ec 06 3b 26 58 00 77 03 e9 1b f3 8b ec 8b 46 0c 25 00 80 0d 01 03 8b 5e 01 0c 81 e3 ff 7f 53 ...;&X.w.......F.%......^......S
34460 50 ff 76 0a e8 04 fe 8b e5 83 c4 06 5d c3 55 83 ec 14 3b 26 58 00 77 03 e9 ed f2 8b ec 8b 46 1c P.v.........].U...;&X.w.......F.
34480 85 c0 79 0e c7 06 68 00 16 00 b8 ff ff 83 c4 14 5d c3 ff 76 18 e8 8b fd 8b e5 85 c0 89 46 12 75 ..y...h.........]..v.........F.u
344a0 08 b8 ff ff 83 c4 14 5d c3 8b 76 12 8a 44 01 30 e4 e9 a0 02 8b 46 1c 3d 01 00 7f 03 e9 86 00 3d .......]..v..D.0.....F.=.......=
344c0 80 00 7e 05 b8 80 00 eb 03 8b 46 1c bb 22 06 53 a2 22 06 e8 ae 14 8b e5 c7 46 06 00 00 c7 46 08 ..~.......F..".S.".......F....F.
344e0 02 00 a0 22 06 30 e4 8b 5e 06 3b c3 7e 46 8b 46 08 ff 46 08 8b f0 8a 84 22 06 88 46 04 30 e4 3d ...".0..^.;.~F.F..F....."..F.0.=
34500 0d 00 75 0d ff 46 06 8b 76 1a 03 f3 c6 04 0a eb 23 8a 46 04 30 e4 3d 1a 00 75 07 c7 46 06 00 00 ..u..F..v.......#.F.0.=..u..F...
34520 eb 12 8b 46 06 ff 46 06 8b 76 1a 03 f0 8a 46 04 88 04 eb ae b8 0a 00 50 e8 b4 08 8b e5 8b 46 06 ...F..F..v....F........P......F.
34540 83 c4 14 5d c3 b8 2d 17 bb 95 17 89 46 0e 89 5e 10 eb 0c b8 bd 17 bb da 17 89 46 0e 89 5e 10 8b ...]..-.....F..^..........F..^..
34560 76 12 8a 04 30 e4 25 10 00 74 2d c7 46 06 00 00 8b 46 06 3b 46 1c 7d 18 8b 46 06 ff 46 06 8b 5e v...0.%..t-.F....F.;F.}..F..F..^
34580 1a 03 d8 89 5e 00 ff 56 0e 8b 76 00 88 04 eb e0 8b 46 06 83 c4 14 5d c3 c7 46 06 00 00 8b 46 06 ....^..V..v......F....]..F....F.
345a0 3b 46 1c 7c 03 e9 d6 00 ff 56 0e 88 46 04 30 e4 e9 b5 00 b8 0d 00 50 ff 56 10 8b e5 b8 0a 00 50 ;F.|.....V..F.0.......P.V......P
345c0 ff 56 10 8b e5 8b 46 06 89 46 00 40 8b 76 1a 03 76 00 c6 04 0a 89 46 06 83 c4 14 5d c3 83 7e 06 .V....F..F.@.v..v.....F....]..~.
345e0 00 74 ba b8 08 00 50 ff 56 10 8b e5 b8 20 00 50 ff 56 10 8b e5 b8 08 00 50 ff 56 10 8b e5 eb 9d .t....P.V......P.V......P.V.....
34600 b8 0d 00 50 ff 56 10 8b e5 b8 0a 00 50 ff 56 10 8b e5 33 c0 83 c4 14 5d c3 8b 46 06 ff 46 06 8b ...P.V......P.V...3....]..F..F..
34620 76 1a 03 f0 8a 46 04 88 04 30 e4 3d 20 00 7d 1a b8 5e 00 50 ff 56 10 8b e5 8a 46 04 30 e4 05 40 v....F...0.=..}..^.P.V....F.0..@
34640 00 50 ff 56 10 8b e5 e9 53 ff 8a 46 04 30 e4 50 ff 56 10 8b e5 e9 45 ff 1a 00 01 a6 0f 08 00 83 .P.V....S..F.0.P.V....E.........
34660 0f 0d 00 59 0f 0a 00 59 0f be 0c 00 2e 3b 84 fe 0f 75 05 2e ff a4 00 10 83 ee 04 79 ef eb 9b 8b ...Y...Y.....;...u.........y....
34680 46 06 83 c4 14 5d c3 33 c0 83 c4 14 5d c3 ff 76 1c ff 76 1a 8b 76 12 ff 74 02 e8 6d f9 8b e5 89 F....].3....]..v..v..v..t..m....
346a0 46 06 83 3e de 03 00 74 08 b8 ff ff 83 c4 14 5d c3 8b 76 12 8a 04 30 e4 25 10 00 74 08 8b 46 06 F..>...t.......]..v...0.%..t..F.
346c0 83 c4 14 5d c3 33 c0 89 46 08 89 46 0a 8b 46 08 8b 5e 06 3b d8 7e 55 ff 46 08 8b 76 1a 03 f0 8a ...].3..F..F..F..^.;.~U.F..v....
346e0 04 88 46 04 30 e4 eb 38 8b 46 08 2b 46 06 48 33 db 85 c0 79 01 4b b9 01 00 51 53 50 ff 76 18 e8 ..F.0..8.F.+F.H3...y.K...QSP.v..
34700 46 02 8b e5 8b 46 0a 83 c4 14 5d c3 eb bf 8b 46 0a ff 46 0a 8b 76 1a 03 f0 8a 46 04 88 04 eb ad F....F....]....F..F..v....F.....
34720 3d 0d 00 74 a8 3d 1a 00 74 be eb e2 83 7e 0a 00 75 09 83 7e 06 00 74 03 e9 53 ff 8b 46 0a 83 c4 =..t.=..t....~..u..~..t..S..F...
34740 14 5d c3 b8 ff ff 83 c4 14 5d c3 33 10 5a 0e 2c 10 f9 0e 2c 10 8b f0 83 fe 05 73 07 d1 e6 2e ff .].......].3.Z.,...,......s.....
34760 a4 f0 10 eb de 55 83 ec 10 3b 26 58 00 77 03 e9 f7 ef 8b ec 8b 46 18 85 c0 79 0e c7 06 68 00 16 .....U...;&X.w.......F...y...h..
34780 00 b8 ff ff 83 c4 10 5d c3 ff 76 14 e8 95 fa 8b e5 85 c0 89 46 0e 75 08 b8 ff ff 83 c4 10 5d c3 .......]..v.........F.u.......].
347a0 8b 76 0e 8a 44 01 30 e4 e9 8d 01 b8 95 17 89 46 04 eb 0e b8 02 18 89 46 04 eb 06 b8 da 17 89 46 .v..D.0........F.......F.......F
347c0 04 c7 46 06 00 00 8b 46 06 8b 5e 18 3b d8 7e 36 ff 46 06 8b 76 16 03 f0 8a 04 88 46 02 30 e4 3d ..F....F..^.;.~6.F..v......F.0.=
347e0 0a 00 75 15 8b 76 0e 8a 04 30 e4 25 10 00 75 09 b8 0d 00 50 ff 56 04 8b e5 8a 46 02 30 e4 50 ff ..u..v...0.%..u....P.V....F.0.P.
34800 56 04 8b e5 eb c0 8b 46 06 83 c4 10 5d c3 8b 76 0e 8a 04 30 e4 25 08 00 74 12 b8 02 00 50 33 c0 V......F....]..v...0.%..t....P3.
34820 50 33 db 53 ff 76 14 e8 1e 01 8b e5 8b 76 0e 8a 04 30 e4 25 10 00 74 28 ff 76 18 ff 76 16 ff 74 P3.S.v.......v...0.%..t(.v..v..t
34840 02 e8 e5 f7 8b e5 89 46 06 83 3e de 03 00 74 08 b8 ff ff 83 c4 10 5d c3 8b 46 06 01 83 c4 10 5d .......F..>...t.......]..F.....]
34860 c3 c6 46 03 00 33 c0 89 46 06 89 46 08 89 46 0a 8b 46 06 8b 5e 18 3b d8 7e 70 ff 46 06 8b 76 16 ..F..3..F..F..F..F..^.;.~p.F..v.
34880 03 f0 8a 04 88 46 02 30 e4 3d 0a 00 75 11 8a 46 03 30 e4 3d 0d 00 74 07 c6 46 02 0d ff 4e 06 8b .....F.0.=..u..F.0.=..t..F...N..
348a0 46 08 89 46 00 40 8b 76 00 8a 5e 02 88 9c 22 06 3d 80 00 89 46 08 88 5e 03 7c b5 50 b8 22 06 50 F..F.@.v..^...".=...F..^.|.P.".P
348c0 8b 76 0e ff 74 02 e8 61 f7 8b e5 89 46 0c 83 3e de 03 00 74 08 8b 46 06 83 c4 10 5d c3 8b 46 0c .v..t..a....F..>...t..F....]..F.
348e0 01 46 0a c7 46 08 00 00 eb 86 83 7e 08 00 74 21 ff 76 08 b8 22 06 50 8b 76 0e ff 74 02 e8 2a f7 .F..F......~..t!.v..".P.v..t..*.
34900 8b e5 89 46 0c 83 3e de 03 00 74 05 c7 46 0c 00 00 8b 46 06 83 c4 10 5d c3 8b 46 18 83 c4 10 5d ...F..>...t..F....F....]..F....]
34920 c3 c7 06 68 00 13 00 b8 ff ff 83 c4 10 5d c3 b3 11 50 11 58 11 60 11 bd 12 8b f0 83 fe 05 73 07 ...h.........]...P.X.`........s.
34940 d1 e6 2e ff a4 d3 12 eb d8 55 83 ec 0a 3b 26 58 00 77 03 e9 14 ee 8b ec ff 76 0e e8 c7 f8 8b e5 .........U...;&X.w.......v......
34960 85 c0 89 46 08 75 0b b8 ff ff bb ff ff 83 c4 0a 5d c3 8b 76 08 8a 44 01 30 e4 85 c0 74 09 33 c0 ...F.u..........]..v..D.0...t.3.
34980 33 db 83 c4 0a 5d c3 ff 76 14 ff 76 12 ff 76 10 8b 76 08 ff 74 02 e8 b0 f6 8b e5 89 46 06 89 5e 3....]..v..v..v..v..t.......F..^
349a0 04 83 3e de 03 00 74 11 c7 06 68 00 16 00 b8 ff ff bb ff ff 83 c4 0a 5d c3 8b 46 06 8b 5e 04 83 ..>...t...h............]..F..^..
349c0 c4 0a 5d c3 55 83 ec 06 3b 26 58 00 77 03 e9 99 ed 8b ec ff 76 0a e8 4c f8 8b e5 85 c0 89 46 04 ..].U...;&X.w.......v..L......F.
349e0 75 08 b8 ff ff 83 c4 06 5d c3 33 c0 8b 76 04 8a 5c 01 30 ff 85 db 89 46 02 75 14 ff 74 02 e8 f3 u.......].3..v..\.0....F.u..t...
34a00 f5 8b e5 83 3e de 03 00 74 05 c7 46 02 ff ff 8b 76 04 c6 04 00 8b 46 02 83 c4 06 5d c3 55 8b ec ....>...t..F....v.....F....].U..
34a20 ff 76 04 e8 47 f6 8b e5 83 3e de 03 00 74 05 b8 ff ff 5d c3 33 c0 5d c3 55 83 ec 06 3b 26 58 00 .v..G....>...t....].3.].U...;&X.
34a40 77 03 e9 25 ed 8b ec b8 a4 06 89 46 02 b8 bc 07 8b 5e 02 3b d8 73 0f 8a 47 08 30 e4 01 85 c0 74 w..%.......F.....^.;.s..G.0....t
34a60 06 83 46 02 0e eb e7 8b 46 02 3d bc 07 75 07 33 c0 83 c4 06 5d c3 ff 76 02 ff 76 0c ff 76 0a e8 ..F.....F.=..u.3....]..v..v..v..
34a80 07 00 8b e5 83 c4 06 5d c3 55 83 ec 0c 3b 26 58 00 77 03 e9 d5 ec 8b ec 8b 76 14 8a 44 08 84 c0 .......].U...;&X.w.......v..D...
34aa0 74 1f 30 e4 25 02 00 74 0a 56 b8 ff ff 50 e8 eb 04 8b e5 8b 76 14 8a 44 09 30 e4 50 e8 06 ff 8b t.0.%..t.V...P......v..D.0.P....
34ac0 e5 8b 76 12 8a 44 01 30 e4 3d 2b 00 74 04 33 db eb 03 33 db 43 8a 04 30 e4 88 5e 0a e9 ec 00 a1 ..v..D.0.=+.t.3...3.C..0..^.....
34ae0 d6 07 0d 08 00 89 46 00 82 7e 0a 00 74 05 b8 02 00 eb 03 b8 01 00 8b 5e 00 0b d8 81 cb 00 01 b8 ......F..~..t..........^........
34b00 a4 01 50 53 ff 76 10 e8 64 f7 8b e5 89 46 06 40 75 07 33 c0 83 c4 0c 5d c3 b8 02 00 50 33 c0 50 ..PS.v..d....F.@u.3....]....P3.P
34b20 33 db 53 ff 76 06 e8 21 fe 8b e5 82 7e 0a 00 74 05 b8 80 00 eb 03 b8 02 00 89 46 04 e9 a3 00 82 3.S.v..!....~..t..........F.....
34b40 7e 0a 00 74 05 b8 02 00 eb 02 33 c0 8b 1e d6 07 0b d8 53 ff 76 10 e8 15 f7 8b e5 89 46 06 40 75 ~..t......3.......S.v.......F.@u
34b60 07 33 c0 83 c4 0c 5d c3 82 7e 0a 00 74 05 b8 80 00 eb 03 b8 01 00 89 46 04 eb 67 82 7e 0a 00 74 .3....]..~..t..........F..g.~..t
34b80 05 b8 02 00 eb 03 b8 01 00 8b 1e d6 07 0b d8 81 cb 00 01 81 cb 00 02 b8 a4 01 50 53 ff 76 10 e8 ..........................PS.v..
34ba0 cc f6 8b e5 89 46 06 40 75 07 33 c0 83 c4 0c 5d c3 82 7e 0a 00 74 05 b8 80 00 eb 03 b8 02 00 89 .....F.@u.3....]..~..t..........
34bc0 46 04 eb 1e 33 c0 83 c4 0c 5d c3 3d 77 00 74 ab 3d 72 00 75 03 e9 67 ff 3d 61 00 75 03 e9 ff fe F...3....].=w.t.=r.u..g.=a.u....
34be0 eb e2 8b 46 06 d1 e0 d1 e0 8b f0 82 bc e3 04 00 74 13 81 4e 04 04 00 8b 46 14 05 0c 00 8b 76 14 ...F............t..N....F.....v.
34c00 89 44 06 eb 08 8b 76 14 c7 44 06 00 00 8b 46 06 8b 76 14 88 44 09 8b 44 06 89 04 33 c0 89 44 04 .D....v..D....F..v..D..D...3..D.
34c20 89 44 02 89 44 0a 8b 46 04 88 44 08 8b c6 83 c4 0c 5d c3 55 83 ec 04 3b 26 58 00 77 03 e9 2b eb .D..D..F..D......].U...;&X.w..+.
34c40 8b ec 8b 76 08 8a 44 08 30 e4 25 02 00 74 0a 56 b8 ff ff 50 e8 45 03 8b e5 8b 76 08 8a 01 44 08 ...v..D.0.%..t.V...P.E....v...D.
34c60 30 e4 25 0c 00 75 11 83 7c 0a 00 74 0b ff 74 0a ff 74 06 e8 5e 0f 8b e5 33 c0 8b 76 08 89 44 06 0.%..u..|..t..t..t..^...3..v..D.
34c80 89 44 0a c6 44 08 00 8a 44 09 30 e4 50 e8 36 fd 8b e5 83 c4 04 5d c3 55 83 ec 0a 3b 26 58 00 77 .D..D...D.0.P.6......].U...;&X.w
34ca0 03 e9 c8 ea 8b ec 83 7e 0e 00 75 07 33 c0 83 c4 0a 5d c3 8b 46 0e 05 08 00 48 d1 e8 d1 e8 89 46 .......~..u.3....]..F....H.....F
34cc0 08 d1 e0 d1 e0 50 e8 c8 0d 8b e5 85 c0 89 46 04 75 07 33 c0 83 c4 0a 5d c3 8b 76 04 8b 46 08 89 .....P........F.u.3....]..v..F..
34ce0 44 02 8b c6 89 46 06 05 04 00 83 c4 0a 5d c3 55 83 ec 0a 3b 26 58 00 77 03 e9 70 ea 8b ec 8b 46 D....F.......].U...;&X.w..p....F
34d00 0e f7 66 10 50 89 46 02 e8 8c ff 8b e5 85 c0 89 46 06 75 07 33 c0 83 c4 0a 5d c3 8b 46 02 40 40 ..f.P.F.........F.u.3....]..F.@@
34d20 48 d1 e8 8b 5e 06 89 46 04 89 5e 08 8b 46 04 ff 4e 04 3d 00 00 76 0d 8b 76 08 83 46 08 02 c7 04 H...^..F..^..F..N.=..v..v..F....
34d40 00 00 eb e8 8b 46 06 83 c4 0a 5d c3 55 83 ec 08 3b 26 58 00 77 03 e9 13 ea 8b ec 8b 46 0c 8b f0 .....F....].U...;&X.w.......F...
34d60 83 ee 04 8b c6 8b 5c 02 d1 e3 d1 e3 53 50 89 46 06 e8 60 0e 8b e5 83 c4 08 5d c3 55 8b ec ff 76 ......\.....SP.F..`......].U...v
34d80 06 ff 76 04 e8 dd e9 8b e5 5d c3 55 83 ec 04 3b 26 58 00 77 03 e9 d4 e9 8b ec b8 08 00 50 e8 c7 ..v......].U...;&X.w.........P..
34da0 0f 8b e5 88 46 02 84 c0 74 07 30 e4 83 c4 04 5d c3 b8 08 00 50 e8 b0 0f 8b e5 83 c4 04 5d c3 55 ....F...t.0....]....P........].U
34dc0 83 ec 04 3b 26 58 00 77 03 e9 a0 e9 8b ec b8 01 00 50 e8 93 0f 8b e5 88 46 02 84 c0 74 07 30 e4 ...;&X.w.........P......F...t.0.
34de0 83 c4 04 5d c3 b8 01 00 50 e8 7c 0f 8b e5 83 c4 04 5d c3 55 83 ec 02 3b 26 58 00 77 03 e9 6c e9 ...]....P.|......].U...;&X.w..l.
34e00 8b ec 8a 46 06 30 e4 50 b8 02 00 50 e8 59 0f 8b e5 8a 46 06 30 e4 83 c4 02 5d c3 55 83 ec 02 3b ...F.0.P...P.Y....F.0....].U...;
34e20 26 58 00 77 03 e9 44 e9 8b ec b8 03 00 50 e8 37 0f 8b e5 83 c4 02 5d c3 55 83 ec 02 3b 26 58 00 &X.w..D......P.7......].U...;&X.
34e40 77 03 e9 27 e9 8b ec 8a 46 06 30 e4 50 b8 04 00 50 e8 14 0f 8b e5 8a 46 06 30 e4 83 c4 02 01 5d w..'....F.0.P...P......F.0.....]
34e60 c3 55 83 ec 02 3b 26 58 00 77 03 e9 ff e8 8b ec 8a 46 06 30 e4 50 b8 05 00 50 e8 ec 0e 8b e5 8a .U...;&X.w.......F.0.P...P......
34e80 46 06 30 e4 83 c4 02 5d c3 55 83 ec 08 3b 26 58 00 77 03 e9 d7 e8 8b ec 8b 76 0c 8a 44 08 30 e4 F.0....].U...;&X.w.......v..D.0.
34ea0 25 30 00 74 08 b8 ff ff 83 c4 08 5d c3 8b 76 0c 83 7c 0a 00 75 1c 8a 44 08 30 e4 25 04 00 75 12 %0.t.......]..v..|..u..D.0.%..u.
34ec0 56 e8 bd 02 8b e5 85 c0 74 08 b8 ff ff 83 c4 08 5d c3 8b 76 0c 8a 44 08 30 e4 25 04 00 74 07 c7 V.......t.......]..v..D.0.%..t..
34ee0 46 06 01 00 eb 29 8b 76 0c 8a 44 08 30 e4 25 02 00 74 08 b8 ff ff 83 c4 08 5d c3 8b 76 0c 8a 44 F....).v..D.0.%..t.......]..v..D
34f00 08 30 e4 0d 01 00 88 44 08 8b 44 0a 89 46 06 8b 76 0c 8a 44 09 30 e4 ff 76 06 ff 74 06 50 e8 52 .0.....D..D..F..v..D.0..v..t.P.R
34f20 f5 8b e5 85 c0 89 46 04 79 0e 8b 76 0c 8a 44 08 30 e4 0d 20 00 88 44 08 83 7e 04 00 75 0e 8b 76 ......F.y..v..D.0.....D..~..u..v
34f40 0c 8a 44 08 30 e4 0d 10 00 88 44 08 8b 46 04 85 c0 7e 0b 8b 76 0c 89 44 02 8b 44 06 89 04 8b 76 ..D.0.....D..F...~..v..D..D....v
34f60 0c 8a 44 08 30 e4 25 30 00 74 08 b8 ff ff 83 c4 08 5d c3 8b 76 0c 8b 44 02 48 89 44 02 85 c0 78 ..D.0.%0.t.......]..v..D.H.D...x
34f80 0c 8b 04 ff 04 8b f8 8a 1d 30 ff eb 0a ff 76 0c e8 f6 fe 8b e5 8b d8 8b c3 83 c4 08 5d c3 55 83 .........0....v.............].U.
34fa0 ec 0c 3b 26 58 00 77 03 e9 c2 e7 8b ec 8b 46 10 8b 76 12 8a 5c 08 30 ff 81 e3 30 00 89 46 07 74 ..;&X.w.......F..v..\.0...0..F.t
34fc0 08 b8 ff ff 83 c4 0c 5d c3 8b 76 12 83 7c 0a 00 75 5b 8a 44 08 30 e4 25 04 00 75 51 56 e8 a1 01 .......]..v..|..u[.D.0.%..uQV...
34fe0 8b e5 85 c0 74 08 b8 ff ff 83 c4 0c 5d c3 8b 76 12 8a 44 08 30 e4 0d 02 00 88 44 08 8b 44 0a 89 ....t.......]..v..D.0.....D..D..
35000 44 04 48 89 44 04 85 c0 78 0f 8b 04 ff 04 8b 5e 10 8b f8 88 1d 30 ff eb 0d ff 76 12 ff 76 10 e8 D.H.D...x......^.....0....v..v..
35020 7c ff 8b e5 8b d8 8b c3 83 c4 0c 5d c3 8b 76 12 8a 44 08 30 e4 25 04 00 74 38 83 7e 10 ff 75 07 |..........]..v..D.0.%..t8.~..u.
35040 33 c0 83 c4 0c 5d c3 8b 46 10 8b 76 12 8a 5c 09 30 ff c7 46 09 01 00 ff 76 09 8d 4e 04 51 53 01 3....]..F..v..\.0..F....v..N.QS.
35060 88 46 04 e8 04 f7 8b e5 c7 46 10 ff ff 89 46 05 e9 83 00 8b 76 12 8a 44 08 30 e4 25 01 00 74 08 .F.......F....F.....v..D.0.%..t.
35080 b8 ff ff 83 c4 0c 5d c3 8b 76 12 8a 44 08 30 e4 0d 02 00 88 44 08 83 7e 10 ff 74 32 83 7c 04 00 ......]..v..D.0.....D..~..t2.|..
350a0 7e 2c 8b 44 04 48 89 44 04 85 c0 78 0f 8b 04 ff 04 8b 5e 10 8b f8 88 1d 30 ff eb 0d ff 76 12 ff ~,.D.H.D...x......^.....0....v..
350c0 76 10 e8 da fe 8b e5 8b d8 c7 46 10 ff ff 8b 76 12 8b 04 2b 44 06 89 46 09 74 16 8a 44 09 30 e4 v.........F....v...+D..F.t..D.0.
350e0 ff 76 09 ff 74 06 50 e8 80 f6 8b e5 89 46 05 eb 05 c7 46 05 00 00 83 7e 05 ff 75 10 8b 76 12 8a .v..t.P......F....F....~..u..v..
35100 44 08 30 e4 0d 20 00 88 44 08 eb 16 8b 46 05 3b 46 09 74 0e 8b 76 12 8a 44 08 30 e4 0d 10 00 88 D.0.....D....F.;F.t..v..D.0.....
35120 44 08 8b 76 12 8b 44 0a 89 44 04 8b 44 06 89 04 8b 46 10 3d ff ff 74 20 8b 5c 04 4b 89 5c 04 85 D..v..D..D..D....F.=..t..\.K.\..
35140 db 78 0a 8b 1c ff 04 88 07 30 e4 eb 0b ff 76 12 ff 76 10 e8 49 fe 8b e5 8b 76 12 8a 44 08 30 e4 .x.......0....v..v..I....v..D.0.
35160 25 30 00 74 08 b8 ff ff 83 c4 0c 5d c3 83 7e 07 ff 75 07 33 c0 83 c4 0c 5d c3 8b 46 07 83 c4 0c %0.t.......]..~..u.3....]..F....
35180 5d c3 55 83 ec 02 3b 26 58 00 77 03 e9 df e5 8b ec 8b 76 06 83 7c 0a 00 74 11 8a 44 08 30 e4 25 ].U...;&X.w.......v..|..t..D.0.%
351a0 08 00 75 07 33 c0 83 c4 02 5d c3 ff 36 d8 07 e8 e1 08 8b e5 8b 76 06 89 04 89 44 06 85 c0 75 0e ..u.3....]..6........v....D...u.
351c0 c7 06 68 00 0c 00 b8 ff ff 83 c4 02 5d c3 a1 d8 07 8b 76 06 89 44 0a 8a 44 08 30 e4 25 f3 ff 88 ..h.........].....v..D..D.0.%...
351e0 44 08 33 c0 89 44 04 89 44 02 83 c4 02 5d c3 55 83 ec 36 3b 26 58 00 77 03 e9 72 e5 8b ec 33 c0 D.3..D..D....].U..6;&X.w..r...3.
35200 c7 46 12 ff ff c7 46 14 20 00 8b 76 3a 8a 1c 30 ff 83 fb 2d 89 46 0c 89 46 16 89 46 0e 89 46 10 .F....F....v:..0...-.F..F..F..F.
35220 75 09 b8 01 00 ff 46 3a 89 46 0c 8b 76 3a 8a 04 30 e4 89 46 00 40 8b f0 8a 84 e0 03 30 e4 25 04 u.....F:.F..v:..0..F.@......0.%.
35240 00 74 4a 83 7e 00 30 75 05 c7 46 14 30 00 8b 76 3a ff 46 3a 8a 04 30 e4 25 0f 00 89 46 16 8b 76 .tJ.~.0u..F.0..v:.F:..0.%...F..v
35260 05 17 01 09 02 01 02 03 04 05 06 07 08 09 01 3a 8a 04 30 e4 40 8b f8 8a 85 e0 03 30 e4 25 04 00 ...............:..0.@......0.%..
35280 74 1a 8b 46 16 bb 0a 00 f7 eb ff 46 3a 8a 1c 30 ff 81 e3 0f 00 03 c3 89 46 16 eb d1 8b 76 3a 8a t..F.......F:..0........F....v:.
352a0 04 30 e4 3d 2e 00 75 37 ff 46 3a c7 46 12 00 00 8b 76 3a 8a 04 30 e4 40 8b f8 8a 85 e0 03 30 e4 .0.=..u7.F:.F....v:..0.@......0.
352c0 25 04 00 74 1a 8b 46 12 bb 0a 00 f7 eb ff 46 3a 8a 1c 30 ff 81 e3 0f 00 03 c3 89 46 12 eb d1 8b %..t..F.......F:..0........F....
352e0 76 3a 8a 04 30 e4 3d 6c 00 75 09 b8 01 00 ff 46 3a 89 46 0e c7 46 1c 00 00 8b 76 3a 8a 04 30 e4 v:..0.=l.u.....F:.F..F....v:..0.
35300 e9 a9 02 83 7e 0e 00 74 17 8b 76 3e 8b 04 83 04 04 8b f0 8b 5c 02 8b 0c 89 4e 1e 89 5e 20 eb 19 ....~..t..v>........\....N..^...
35320 8b 76 3e 8b 04 83 04 02 8b f0 8b 1c 33 c9 85 db 79 01 49 89 4e 20 89 5e 1e 8b 46 20 85 c0 79 42 .v>.........3...y.I.N..^..F...yB
35340 f7 56 20 f7 5e 1e 83 5e 20 ff c7 46 10 01 00 eb 31 83 7e 0e 00 74 17 8b 76 3e 8b 04 83 04 04 8b .V..^..^...F....1.~..t..v>......
35360 f0 8b 5c 02 8b 0c 89 4e 1e 89 5e 20 eb 14 8b 76 3e 8b 04 83 04 02 8b f0 8b 1c 33 c0 89 46 20 89 ..\....N..^....v>.........3..F..
35380 5e 1e c7 46 06 0b 00 8b 46 06 48 8b f0 89 46 06 8b 46 20 8b 5e 1e 33 c9 ba 0a 00 89 76 00 e8 8e ^..F....F.H...F..F..^.3.....v...
353a0 0a 83 c2 30 83 d1 00 8b 76 00 88 52 22 8b 46 20 8b 5e 1e 33 c9 ba 0a 00 e8 74 0a 89 46 20 89 5e ...0....v..R".F..^.3.....t..F..^
353c0 1e 8b 46 20 0b 46 1e 75 be 83 7e 10 01 75 0d 8b 46 06 48 8b f0 c6 42 22 2d 89 46 06 8d 46 22 8b ..F..F.u..~..u..F.H...B"-.F..F".
353e0 5e 06 03 d8 b8 0b 00 2b 46 06 89 46 0a 89 5e 1c e9 cf 01 83 7e 0e 00 74 17 8b 76 3e 8b 04 83 04 ^......+F..F..^.....~..t..v>....
35400 04 8b f0 8b 5c 02 8b 0c 89 4e 1e 89 5e 20 eb 14 8b 76 3e 8b 04 83 04 02 8b f0 8b 1c 33 c0 89 46 ....\....N..^....v>.........3..F
35420 20 89 5e 1e c7 46 06 08 00 8b 46 06 48 8b f0 8b 5e 20 8b 4e 1e 33 db 81 e1 0f 00 8b f9 8a 9d be ..^..F....F.H...^..N.3..........
35440 07 88 5a 22 b9 04 00 8b 5e 20 8b 56 1e d1 fb d1 da e2 fa 89 5e 20 81 e3 ff 0f 89 46 06 89 56 1e ..Z"....^..V........^......F..V.
35460 89 5e 20 8b 46 20 0b 46 1e 75 be 8d 46 22 8b 01 5e 06 03 d8 b8 08 00 2b 46 06 89 46 0a 89 5e 1c .^..F..F.u..F"..^......+F..F..^.
35480 e9 40 01 83 7e 0e 00 74 17 8b 76 3e 8b 04 83 04 04 8b f0 8b 5c 02 8b 0c 89 4e 1e 89 5e 20 eb 14 .@..~..t..v>........\....N..^...
354a0 8b 76 3e 8b 04 83 04 02 8b f0 8b 1c 33 c0 89 46 20 89 5e 1e c7 46 06 0b 00 8b 46 06 48 8b f0 8b .v>.........3..F..^..F....F.H...
354c0 5e 20 8b 4e 1e 33 db 81 e1 07 00 83 c1 30 83 d3 00 88 4a 22 b9 03 00 8b 5e 20 8b 56 1e d1 fb d1 ^..N.3.......0....J"....^..V....
354e0 da e2 fa 89 5e 20 81 e3 ff 1f 89 46 06 89 56 1e 89 5e 20 8b 46 20 0b 46 1e 75 be 8d 46 22 8b 5e ....^......F..V..^..F..F.u..F".^
35500 06 03 d8 b8 0b 00 2b 46 06 89 46 0a 89 5e 1c e9 b1 00 83 7e 12 ff 75 05 c7 46 12 c8 00 c7 46 0a ......+F..F..^.....~..u..F....F.
35520 00 00 8b 46 0a 8b 5e 12 3b d8 7e 16 8b 7e 3e 8b 35 8b 3c 03 f8 8a 05 30 e4 85 c0 74 05 ff 46 0a ...F..^.;.~..~>.5.<....0...t..F.
35540 eb e0 8b 76 3e 8b 04 83 04 02 8b f0 8b 1c 89 5e 1c eb 70 8d 46 22 c7 46 0a 01 00 8b 76 3e 8b 1c ...v>..........^..p.F".F....v>..
35560 83 04 02 8b 0f 89 46 1c 88 4e 22 eb 56 c7 46 1a 02 00 eb 4f c7 46 1a 00 00 eb 48 c7 46 1a 01 00 ......F..N".V.F....O.F....H.F...
35580 eb 41 33 c0 83 c4 36 5d c3 66 00 0b 1f 65 00 04 1f 67 00 fd 1e 63 00 e3 1e 73 00 a2 1e 6f 00 13 .A3...6].f...e...g...c...s...o..
355a0 1e 78 00 84 1d 75 00 e2 1c 64 00 94 1c be 20 00 2e 3b 84 19 1f 75 05 2e ff a4 1b 1f 83 ee 04 79 .x...u...d.......;...u.........y
355c0 ef eb bf 83 7e 1c 00 75 03 e9 b2 00 8b 46 16 85 c0 74 05 3b 46 0a 7d 06 8b 46 0a 89 46 16 8b 46 ....~..u.....F...t.;F.}..F..F..F
355e0 0a 29 46 16 c7 46 06 00 00 83 7e 0c 00 74 3f 8b 46 0a 48 85 c0 89 46 0a 78 17 8b 46 06 ff 46 06 .)F..F....~..t?.F.H...F.x..F..F.
35600 8b 76 3c 03 f0 8b 7e 1c ff 46 1c 8a 05 88 04 eb de 8b 46 16 48 85 c0 89 46 16 78 51 8b 46 06 ff .v<...~..F........F.H...F.xQ.F..
35620 46 06 8b 76 3c 03 f0 8b 46 14 88 04 eb e3 8b 46 16 48 85 c0 89 46 16 78 12 8b 46 06 ff 46 06 8b F..v<...F......F.H...F.x..F..F..
35640 76 3c 03 f0 8b 46 14 88 04 eb e3 8b 46 0a 48 85 c0 89 46 0a 78 17 8b 46 06 ff 46 06 8b 76 3c 03 v<...F......F.H...F.x..F..F..v<.
35660 f0 8b 7e 1c ff 46 1c 8a 05 88 04 eb de 8b 46 06 01 8b 76 40 89 04 8b 46 3a 40 83 c4 36 5d c3 83 ..~..F........F...v@...F:@..6]..
35680 7e 12 ff 75 05 c7 46 12 06 00 83 7e 12 14 7c 05 b8 13 00 eb 03 8b 46 12 89 46 0a 40 8d 5e 22 53 ~..u..F....~..|.......F..F.@.^"S
356a0 8d 5e 10 53 8d 5e 18 53 ff 76 1a 50 8b 76 3e ff 34 e8 30 08 8b e5 8b 76 3e 83 04 08 8d 5e 22 8b .^.S.^.S.v.P.v>.4.0....v>....^".
356c0 4e 18 85 c9 89 46 0a 89 4e 06 89 5e 1c 79 03 f7 5e 06 83 7e 1a 02 75 16 83 7e 0a 00 74 0a 83 7e N....F..N..^.y..^..~..u..~..t..~
356e0 06 06 7c 04 33 c0 eb 03 33 c0 40 89 46 1a 83 7e 0a 00 74 03 ff 4e 18 33 c0 89 46 06 83 7e 10 00 ..|.3...3.@.F..~..t..N.3..F..~..
35700 74 03 ff 46 06 83 7e 1a 00 74 21 8b 46 12 40 8b 5e 06 03 c3 8b 5e 18 85 db 89 46 06 78 03 01 5e t..F..~..t!.F.@.^....^....F.x..^
35720 06 83 7e 12 00 74 31 ff 46 06 eb 2c 8b 46 12 05 06 00 01 46 06 8b 46 18 85 c0 79 04 f7 d8 eb 03 ..~..t1.F..,.F.....F..F...y.....
35740 8b 46 18 3d 63 00 89 46 08 7e 03 ff 46 06 81 7e 08 e7 03 7e 03 ff 46 06 83 7e 0c 00 75 29 8b 46 .F.=c..F.~..F..~...~..F..~..u).F
35760 16 3b 46 06 7e 21 8b 46 06 29 46 16 8b 46 16 48 85 c0 89 46 16 78 10 8b 76 3c ff 46 3c 8b 46 14 .;F.~!.F.)F..F.H...F.x..v<.F<.F.
35780 88 04 ff 46 06 eb e5 83 7e 10 00 74 09 8b 76 3c ff 46 3c c6 04 2d 83 7e 1a 00 75 03 e9 e2 00 8b ...F....~..t..v<.F<..-.~..u.....
357a0 46 18 85 c0 79 64 8b 76 3c 8b c6 89 46 00 40 c6 04 30 8b f0 89 46 3c 40 c6 04 2e 89 46 3c 8b 46 F...yd.v<...F.@..0...F<@....F<.F
357c0 12 48 85 c0 89 46 12 79 03 e9 8f 01 8b 46 18 40 85 c0 89 46 18 79 0b 8b 76 3c ff 46 3c c6 04 30 .H...F.y.....F.@...F.y..v<.F<..0
357e0 eb dc 8b 46 0a 48 85 c0 89 46 0a 78 12 8b 76 3c ff 46 3c 8b 7e 1c ff 46 1c 8a 05 88 04 eb bf 8b ...F.H...F.x..v<.F<.~..F........
35800 76 3c ff 46 3c c6 04 30 eb b4 8b 46 18 ff 4e 18 85 c0 78 28 8b 46 0a 48 85 c0 89 46 0a 78 12 8b v<.F<..0...F..N...x(.F.H...F.x..
35820 76 3c ff 46 3c 8b 7e 1c ff 46 1c 8a 05 88 04 eb d9 8b 76 3c ff 46 3c c6 04 30 eb ce 83 7e 12 00 v<.F<.~..F........v<.F<..0...~..
35840 74 09 8b 76 3c ff 46 3c c6 04 2e 8b 46 12 48 85 c0 89 46 12 79 03 e9 02 01 8b 46 0a 48 85 c0 89 t..v<.F<....F.H...F.y.....F.H...
35860 46 0a 78 12 8b 76 3c ff 46 3c 8b 7e 1c ff 46 1c 8a 01 05 88 04 eb d5 8b 76 3c ff 46 3c c6 04 30 F.x..v<.F<.~..F.........v<.F<..0
35880 eb ca 8b 46 0a 48 85 c0 89 46 0a 78 12 8b 76 3c ff 46 3c 8b 7e 1c ff 46 1c 8a 05 88 04 eb 09 8b ...F.H...F.x..v<.F<.~..F........
358a0 76 3c ff 46 3c c6 04 30 8b 76 3c ff 46 3c c6 04 2e 8b 46 12 48 85 c0 89 46 12 78 28 8b 46 0a 48 v<.F<..0.v<.F<....F.H...F.x(.F.H
358c0 85 c0 89 46 0a 78 12 8b 76 3c ff 46 3c 8b 7e 1c ff 46 1c 8a 05 88 04 eb d8 8b 76 3c ff 46 3c c6 ...F.x..v<.F<.~..F........v<.F<.
358e0 04 30 eb cd 8b 76 3c 8b c6 89 46 00 40 c6 04 45 8b 5e 18 85 db 89 46 3c 79 0d 8b f0 ff 46 3c c6 .0...v<...F.@..E.^....F<y....F<.
35900 04 2d f7 5e 18 eb 09 8b 76 3c ff 46 3c c6 04 2b c7 46 0a 0b 00 8b 46 0a 48 8b f0 89 46 0a 8b 46 .-.^....v<.F<..+.F....F.H...F..F
35920 18 bb 0a 00 99 f7 fb 83 c2 30 88 52 22 8b 46 18 99 f7 fb 89 46 18 83 7e 0a 09 7f d9 83 7e 18 00 .........0.R".F.....F..~.....~..
35940 75 d3 8b 46 0a 3d 0b 00 7d 12 8b 76 3c ff 46 3c ff 46 0a 8b f8 8a 43 22 88 04 eb e6 83 7e 0c 01 u..F.=..}..v<.F<.F....C".....~..
35960 75 29 8b 46 16 3b 46 06 7e 21 8b 46 06 29 46 16 8b 46 16 48 85 c0 89 46 16 78 10 8b 76 3c ff 46 u).F.;F.~!.F.)F..F.H...F.x..v<.F
35980 3c 8b 46 14 88 04 ff 46 06 eb e5 8b 46 06 8b 76 40 89 04 8b 46 3a 40 83 c4 36 5d c3 55 8b ec 8b <.F....F....F..v@...F:@..6].U...
359a0 56 04 b4 0a cd 21 5d c3 55 83 ec 02 3b 26 58 00 77 03 e9 cb dd 8b ec a1 ce 07 8b 1e d0 07 85 db V....!].U...;&X.w...............
359c0 a3 d2 07 89 1e d4 07 75 08 b8 ff ff 83 c4 02 5d c3 8b 36 d2 07 33 c0 89 04 a1 d4 07 89 44 02 33 .......u.......]..6..3.......D.3
359e0 c0 83 c4 02 5d c3 55 83 ec 02 3b 26 58 00 77 03 e9 8d dd 8b ec 33 c0 50 e8 07 00 8b e5 83 c4 02 ....].U...;&X.w......3.P........
35a00 5d c3 55 83 ec 06 3b 26 58 00 77 03 e9 71 dd 8b ec 8b 46 0a 85 c0 79 08 b8 ff ff 83 c4 06 5d c3 ].U...;&X.w..q....F...y.......].
35a20 c7 06 ce 07 00 00 c7 06 d0 07 00 00 c7 46 04 00 01 33 c0 50 bb 00 04 53 e8 53 03 8b e5 85 c0 89 .............F...3.P...S.S......
35a40 46 02 75 08 b8 ff ff 83 c4 06 5d c3 8b 46 02 8b 5e 04 a3 ce 07 89 1e d0 07 8b 46 0a 48 89 46 0a F.u.......]..F..^.........F.H.F.
35a60 85 c0 74 19 33 c0 50 bb 00 04 53 e8 20 03 8b e5 85 c0 01 74 09 8b 46 04 01 06 d0 07 eb dc e8 28 ..t.3.P...S........t..F........(
35a80 ff 33 c0 83 c4 06 5d c3 55 83 ec 04 3b 26 58 00 77 03 e9 ec dc 8b ec a1 d4 07 d1 e0 d1 e0 33 db .3....].U...;&X.w.............3.
35aa0 93 83 c4 04 5d c3 55 83 ec 08 3b 26 58 00 77 03 e9 ce dc 8b ec 8b 46 0c 33 db 53 50 89 46 04 89 ....].U...;&X.w.......F.3.SP.F..
35ac0 5e 06 e8 07 00 8b e5 83 c4 08 5d c3 55 83 ec 10 3b 26 58 00 77 03 e9 a8 dc 8b ec 8b 46 16 8b 5e ^.........].U...;&X.w.......F..^
35ae0 14 33 c9 33 d2 e8 06 08 7f 07 33 c0 83 c4 10 5d c3 8b 46 14 05 04 00 8b 5e 16 83 d3 00 2d 01 00 .3.3......3....]..F.....^....-..
35b00 83 db 00 89 46 00 8b c3 8b 5e 00 33 c9 ba 04 00 e8 20 03 be d2 07 8b 0c 89 46 0e 89 4e 06 89 5e ....F....^.3.............F..N..^
35b20 0c 89 76 08 83 7e 06 00 74 62 8b 76 06 8b 44 02 33 db 89 46 00 8b c3 89 5e 02 8b 5e 00 8b 4e 0e ..v..~..tb.v..D.3..F....^..^..N.
35b40 8b 56 0c e8 a8 07 7c 35 3b c1 75 02 3b da 75 09 8b 04 8b 76 08 89 04 eb 15 8b 46 0c 8b 76 06 8b .V....|5;.u.;.u....v......F..v..
35b60 5c 02 2b d8 89 5c 02 d1 e3 d1 e3 01 5e 06 8b 46 0c 29 06 d4 07 8b 46 06 83 c4 10 5d c3 8b 46 06 \.+..\......^..F.)....F....]..F.
35b80 8b f0 8b 1c 89 46 08 89 5e 06 eb 98 b9 02 00 8b 46 0e 8b 5e 0c d1 e3 d1 d0 e2 fa 50 53 e8 ef 01 .....F..^.......F..^.......PS...
35ba0 8b e5 89 46 0a 85 c0 74 39 83 3e d0 07 00 75 0c 8b 5e 0c a3 ce 07 89 1e d0 07 eb 1e a1 d0 07 d1 ...F...t9.>...u..^..............
35bc0 e0 d1 e0 8b 1e ce 07 03 d8 8b 46 0a 3b c3 89 5e 06 75 07 8b 46 0c 01 06 d0 07 8b 46 0a 83 c4 10 ..........F.;..^.u..F......F....
35be0 5d c3 33 c0 83 c4 10 5d c3 55 83 ec 08 3b 26 58 00 77 03 e9 8b db 8b ec 8b 46 0e 33 db 53 50 ff ].3....].U...;&X.w.......F.3.SP.
35c00 76 0c 89 46 04 89 5e 06 e8 07 00 8b e5 83 c4 08 5d c3 55 83 ec 14 3b 26 58 00 77 03 e9 62 db 8b v..F..^.........].U...;&X.w..b..
35c20 ec 8b 46 1c 8b 5e 1a 33 c9 33 d2 e8 c0 06 7f 08 b8 ff ff 83 c4 14 5d c3 8b 46 18 8b 5e 1a 83 c3 ..F..^.3.3............]..F..^...
35c40 04 8b 4e 1c 83 d1 00 83 eb 01 83 d9 00 89 46 0c 8b c1 33 c9 ba 04 00 e8 d9 01 89 5e 10 d1 e3 d1 ..N...........F...3........^....
35c60 e3 8b 4e 0c 03 cb 8b 5e 10 01 1e d4 07 be d2 07 8b 1c 89 01 46 12 89 4e 0e 89 5e 04 89 76 08 8b ..N....^............F..N..^..v..
35c80 46 04 85 c0 75 03 e9 da 00 8b f0 8b 5c 02 d1 e3 d1 e3 03 d8 8b 4e 0e 3b c8 89 5e 06 73 19 8b 76 F...u.......\........N.;..^.s..v
35ca0 0c 89 04 8b 46 10 89 44 02 8b c6 8b 76 08 89 04 33 c0 83 c4 14 5d c3 8b 46 04 3b 46 0e 75 29 8b ....F..D....v...3....]..F.;F.u).
35cc0 f0 8b 1c 8b 7e 0c 89 1d 8b 44 02 33 db 8b 4e 10 03 c8 8b 56 12 13 d3 89 4d 02 8b c7 8b 76 08 89 ....~....D.3..N....V....M....v..
35ce0 04 33 c0 83 c4 14 5d c3 8b 46 0c 3b 46 06 73 0f 8b 46 10 29 06 d4 07 b8 ff ff 83 c4 14 5d c3 8b .3....]..F.;F.s..F.).........]..
35d00 46 0c 3b 46 06 75 46 8b 76 04 8b 04 85 c0 74 16 8b 5e 0e 3b d8 76 0f 8b 46 10 29 06 d4 07 b8 ff F.;F.uF.v.....t..^.;.v..F.).....
35d20 ff 83 c4 14 5d c3 8b 46 10 8b 76 04 01 44 02 8b 04 85 c0 74 11 8b 5e 0e 3b d8 75 0a 8b 47 02 01 ....]..F..v..D.....t..^.;.u..G..
35d40 44 02 8b 07 89 04 33 c0 83 c4 14 5d c3 8b 46 04 8b 5e 06 8b f0 8b 0c 89 46 08 89 4e 04 89 5e 0a D.....3....]..F..^......F..N..^.
35d60 e9 1c ff 8b 46 0c 8b 76 08 89 04 33 db 8b f0 89 1c 8b 46 10 89 44 02 8b c3 83 c4 14 5d c3 55 8b ....F..v...3......F..D......].U.
35d80 ec 8a 66 04 8a 46 08 8b 56 06 cd 21 b4 00 5d c3 55 83 ec 04 3b 26 58 00 77 03 e9 e5 d9 8b ec 8b ..f..F..V..!..].U...;&X.w.......
35da0 46 0a 8b 5e 08 8b 0e 5c 00 8b 16 5a 00 e8 3f 05 7e 07 33 c0 83 c4 04 5d c3 a1 58 00 8b 5e 08 01 F..^...\...Z..?.~.3....]..X..^..
35dc0 1e 58 00 29 1e 5a 00 8b 4e 0a 19 0e 5c 00 89 46 02 83 c4 04 5d c3 55 83 ec 08 3b 26 58 00 77 03 .X.).Z..N...\..F....].U...;&X.w.
35de0 e9 9f d9 8b ec 8b 46 0c 33 db 53 50 e8 a1 ff 8b e5 89 46 06 85 c0 74 05 83 c4 08 5d c3 b8 ff ff ......F.3.SP......F...t....]....
35e00 83 c4 08 5d c3 55 83 ec 04 3b 26 58 00 77 03 e9 70 d9 8b ec a1 56 00 8b 1e 58 00 2b d8 33 c9 85 ...].U...;&X.w..p....V...X.+.3..
35e20 db 79 01 49 01 1e 5a 00 11 0e 5c 00 a3 58 00 83 c4 04 5d c3 55 83 ec 04 8b ec 89 4e 00 0b ca 75 .y.I..Z...\..X....].U......N...u
35e40 07 33 c0 33 db e9 9a 00 89 46 02 0b c3 75 07 33 c9 33 d2 e9 8c 00 8b 4e 00 8b 46 02 8b f0 85 f6 .3.3.....F...u.3.3.....N..F.....
35e60 79 12 f7 d0 f7 db 1d ff ff 79 09 33 c0 33 c9 33 d2 eb 6f 90 01 33 f1 89 76 00 33 f6 85 c9 79 07 y........y.3.3.3..o..3..v.3...y.
35e80 f7 d1 f7 da 83 d9 ff 75 1d 85 d2 78 19 bf 20 00 d1 e3 d1 d0 d1 d6 3b f2 72 03 2b f2 43 4f 75 f0 .......u...x..........;.r.+.COu.
35ea0 33 c9 8b d6 eb 21 bf 10 00 d1 e3 d1 d0 d1 d6 3b f1 72 0b 75 04 3b c2 72 05 2b c2 1b f1 43 4f 75 3....!.........;.r.u.;.r.+...COu
35ec0 e8 8b ce 8b d0 33 c0 f7 46 00 00 80 74 07 f7 d0 f7 db 1d ff ff f7 46 02 00 80 74 07 f7 d1 f7 da .....3..F...t.........F...t.....
35ee0 83 d9 ff 83 c4 04 5d c3 55 83 ec 28 8b ec c7 46 00 00 00 c7 46 0c 00 00 8b 76 2c 8b 44 06 85 c0 ......].U..(...F....F....v,.D...
35f00 79 05 81 4e 00 00 80 25 ff 7f 75 13 8b f8 0b 7c 04 75 0c 0b 7c 02 75 07 0b 3c 75 03 eb 7d 90 b1 y..N...%..u....|.u..|.u..<u..}..
35f20 04 d3 e8 2d fe 03 89 46 0e 8b 0c 8b 5c 02 8b 44 04 8b 74 06 33 d2 bf 05 00 d1 ee d1 d8 d1 db d1 ...-...F....\..D..t.3...........
35f40 d9 d1 da 4f 75 f3 0d 00 80 89 46 04 89 5e 06 89 4e 08 89 56 0a c7 46 0c 00 00 8b 76 0e 8b ce 85 ...Ou.....F..^..N..V..F....v....
35f60 f6 74 69 79 10 83 c6 03 78 13 be 01 00 e8 31 03 ff 46 0e eb e5 e8 a0 02 ff 46 0c eb 0f be 04 00 .tiy....x.....1..F.......F......
35f80 01 76 0e e8 1b 03 e8 fa 02 ff 4e 0c f7 46 04 00 80 75 c7 ff 4e 0e e8 b3 02 eb f1 33 f6 81 4e 00 .v........N..F...u..N......3..N.
35fa0 00 40 33 c9 f7 46 00 00 40 75 21 8b 46 04 0b 46 06 75 08 8b 46 08 0b 46 0a 74 11 e8 c5 02 85 c9 .@3..F..@u!.F..F.u..F..F.t......
35fc0 75 0a 83 fe 01 75 05 ff 4e 0c eb ef 80 c1 30 88 4a 14 46 83 fe 14 7c ca c7 46 10 01 00 8b 46 30 u....u..N.....0.J.F...|..F....F0
35fe0 8b 76 2e 85 c0 74 0b b9 01 00 8b 46 0c 48 03 f0 78 2d b9 14 00 83 fe 12 7d 25 8b ce 8a 42 15 04 .v...t.....F.H..x-......}%...B..
36000 05 3c 3a 7c 1a c6 42 15 30 fe 42 14 8a 42 14 4e 79 ef ff 46 0c ff 4e 10 83 7e 30 00 74 01 41 8b .<:|..B.0.B..B.Ny..F..N..~0.t.A.
36020 7e 36 8b 76 10 33 db 8a 42 14 88 05 43 47 3b d9 7d 11 46 83 fe 14 7c ef b0 30 88 05 47 43 3b 5e ~6.v.3..B...CG;.}.F...|..0..GC;^
36040 2e 7c f7 33 c0 f7 46 00 00 80 74 08 f7 46 00 00 40 75 01 48 8b 76 34 89 04 8b 46 0c 8b 76 32 89 .|.3..F...t..F..@u.H.v4...F..v2.
36060 04 f7 46 00 00 40 74 02 33 c9 8b c1 83 c4 28 5d c3 55 83 ec 28 01 8b ec 33 c0 89 46 00 89 46 0c ..F..@t.3.....(].U..(...3..F..F.
36080 89 46 02 89 46 0e 89 46 04 89 46 06 89 46 08 89 46 0a e8 31 02 3c 30 75 07 81 4e 00 00 20 eb f2 .F..F..F..F..F..F..1.<0u..N.....
360a0 3c 2d 75 08 81 4e 00 00 80 e8 1a 02 3c 30 7c 38 3c 39 7f 34 81 4e 00 00 20 89 46 10 8b 46 02 29 <-u..N......<0|8<9.4.N....F..F.)
360c0 46 0c f7 46 04 00 f0 74 05 ff 46 0c eb db e8 b3 01 8b 46 10 25 0f 00 01 46 0a 83 56 08 00 83 56 F..F...t..F.......F.%...F..V...V
360e0 06 00 83 56 04 00 eb c1 3c 2e 75 0c 8b 46 02 85 c0 75 42 ff 46 02 eb b1 3c 45 74 04 3c 65 75 35 ...V....<.u..F...uB.F...<Et.<eu5
36100 e8 c3 01 3c 2b 74 09 3c 2d 75 08 81 4e 00 00 10 e8 b3 01 3c 30 7c 1e 3c 39 7f 1a 24 0f 89 46 10 ...<+t.<-u..N......<0|.<9..$..F.
36120 8b 46 0e e8 48 01 03 46 10 89 46 0e 3d ff 0f 72 df d1 e8 eb f4 f7 46 00 00 20 75 0f 33 c0 8b 76 .F..H..F..F.=..r......F...u.3..v
36140 32 89 04 8b 46 12 83 c4 28 5d c3 8b 46 0e f7 46 00 00 10 74 02 f7 d8 01 46 0c 8b 46 04 0b 46 06 2...F...(]..F..F...t....F..F..F.
36160 0b 46 08 0b 46 0a 75 03 e9 80 00 c7 46 0e 3e 04 f7 46 04 00 80 75 08 e8 d3 00 ff 4e 0e eb f1 8b .F..F.u.....F.>..F...u.....N....
36180 46 0c 85 c0 74 1b 78 11 be 04 00 01 76 0e e8 11 01 e8 f0 00 ff 4e 0c eb d7 e8 7d 00 ff 46 0c eb F...t.x.....v........N....}..F..
361a0 cf 8b 46 0e 85 c0 78 41 3d ff 07 7f 37 b1 04 d3 e0 89 46 0e 8b 46 04 8b 5e 06 8b 4e 08 8b 56 0a ..F...xA=...7.....F..F..^..N..V.
361c0 8a d6 8a f1 8a cd 8a eb 8a df 8a f8 8a c4 bf 03 00 d1 e8 d1 db d1 d9 d1 da 4f 75 f5 25 0f 00 0b .........................Ou.%...
361e0 46 0e eb 0d b8 f0 7f eb 02 33 c0 33 db 33 c9 33 d2 8b 76 34 f7 46 00 00 80 74 03 0d 00 80 89 44 F........3.3.3.3..v4.F...t.....D
36200 06 89 5c 04 89 4c 02 89 14 b8 01 00 8b 76 32 89 04 8b 46 12 83 c4 28 5d c3 be 40 00 33 c0 8b 5e ..\..L.......v2...F...(]..@.3..^
36220 04 8b 4e 06 8b 56 08 8b 7e 0a d1 e7 d1 d2 d1 d1 d1 d3 d1 d0 3d 0a 00 72 04 2d 0a 00 47 4e 75 ea ..N..V..~...........=..r.-..GNu.
36240 89 5e 04 89 4e 06 89 56 08 89 7e 0a c3 8b 46 0a d1 e0 89 46 0a 8b 46 08 d1 d0 89 46 08 8b 46 06 .^..N..V..~...F....F..F....F..F.
36260 d1 d0 89 46 06 8b 46 04 d1 d0 89 46 04 c3 8b d8 33 c9 d1 e0 d1 d1 01 d1 e0 d1 d1 03 c3 83 d1 00 ...F..F....F....3...............
36280 d1 e0 d1 d1 c3 33 c9 bf 06 00 8b 43 04 89 4b 04 e8 dc ff 8b 5b 04 03 c3 83 d1 00 89 43 04 4f 4f .....3.....C..K.....[.......C.OO
362a0 79 e8 c3 8b 46 04 8b 5e 06 8b 4e 08 8b 56 0a d1 e8 d1 db d1 d9 d1 da 4e 75 f5 89 46 04 89 5e 06 y...F..^..N..V.........Nu..F..^.
362c0 89 4e 08 89 56 0a c3 83 7e 2c 00 74 09 8b 46 2c c7 46 2c 00 00 c3 ff 56 30 89 46 12 ff 4e 2e 75 .N..V...~,.t..F,.F,....V0.F..N.u
362e0 06 81 4e 00 00 08 c3 f7 46 00 00 08 74 03 b8 ff ff c3 50 33 c1 58 50 78 0f 2b c1 75 0e 33 c0 3b ..N.....F...t.....P3.XPx.+.u.3.;
36300 da 74 08 77 03 48 eb 03 0d ff 7f 85 c0 58 c3 00 00 00 00 00 00 00 00 00 5a 62 69 6b 6f 77 73 6b .t.w.H.......X..........Zbikowsk
36320 69 20 43 20 73 74 61 72 74 75 70 20 43 6f 70 79 72 69 67 68 74 20 31 39 38 33 20 28 43 29 20 4d i.C.startup.Copyright.1983.(C).M
36340 69 63 72 6f 73 6f 66 74 20 43 6f 72 70 2a 2a 2a 2a 2a 20 53 74 61 63 6b 20 4f 76 65 72 66 6c 6f icrosoft.Corp*****.Stack.Overflo
36360 77 20 2a 2a 2a 2a 2a 0d 0a 00 00 e0 07 e0 07 e0 07 00 00 00 00 00 00 00 00 00 00 00 00 ca 02 00 w.*****.........................
36380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 18 00 09 02 01 02 03 04 ................................
36480 05 06 07 08 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
364a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
364c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
364e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 3a 49 42 4d 42 49 4f 2e 43 4f 4d 00 43 ..................A:IBMBIO.COM.C
365a0 61 6e 27 74 20 6f 70 65 6e 20 42 49 4f 53 20 66 69 6c 65 0a 00 62 75 66 5b 30 78 32 30 5d 3a 20 an't.open.BIOS.file..buf[0x20]:.
365c0 25 78 20 3d 3d 3e 20 25 78 0a 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 %x.==>.%x.......................
365e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36680 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
366a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
366c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2e 00 2e 2e 00 20 09 0d 0a 00 63 00 5f 6d 61 ...........................c._ma
366e0 69 6e 3a 20 54 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 0a 00 02 02 00 ff 00 3a 00 2e in:.Too.many.arguments.......:..
36700 00 5c 2f 3a 00 00 00 00 20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20 20 20 20 20 20 20 20 20 .\/:.............(((((..........
36720 20 20 20 20 20 20 20 20 48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 84 84 84 84 84 84 84 84 ........H.......................
36740 84 84 10 10 10 10 10 10 10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................................
36760 01 01 01 10 10 10 10 10 10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................................
36780 02 02 02 10 10 10 10 20 20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20 20 20 20 20 20 20 20 20 .................(((((..........
367a0 20 20 20 20 20 20 20 20 48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 84 84 84 84 84 84 84 84 ........H.......................
367c0 84 84 10 10 10 10 10 10 10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................................
367e0 01 01 01 10 10 10 10 10 10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................................
36800 02 02 02 10 10 10 10 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 63 6f 6e 3a 00 00 ..........................con:..
36860 00 00 00 01 43 4f 4e 3a 00 00 00 00 00 02 70 72 6e 3a 00 00 00 00 00 02 50 52 4e 3a 00 00 00 00 ....CON:......prn:......PRN:....
36880 00 02 6c 73 74 3a 00 01 00 00 00 00 02 4c 53 54 3a 00 00 00 00 00 02 6c 70 74 3a 00 00 00 00 00 ..lst:.......LST:......lpt:.....
368a0 02 4c 50 54 3a 00 00 00 00 00 02 6c 70 74 31 3a 00 00 00 00 02 4c 50 54 31 3a 00 00 00 00 03 61 .LPT:......lpt1:.....LPT1:.....a
368c0 75 78 3a 00 00 00 00 00 03 41 55 58 3a 00 00 00 00 00 03 63 6f 6d 3a 00 00 00 00 00 03 43 4f 4d ux:......AUX:......com:......COM
368e0 3a 00 00 00 00 00 03 63 6f 6d 31 3a 00 00 00 00 03 43 4f 4d 31 3a 00 00 00 00 03 72 64 72 3a 00 :......com1:.....COM1:.....rdr:.
36900 00 00 00 00 03 52 44 52 3a 00 00 00 00 00 03 70 75 6e 3a 00 00 00 00 00 03 50 55 4e 3a 00 00 00 .....RDR:......pun:......PUN:...
36920 00 00 04 6e 75 6c 3a 00 00 00 00 00 04 4e 55 4c 3a 00 00 00 00 00 04 6e 75 6c 6c 3a 00 00 00 00 ...nul:......NUL:......null:....
36940 04 4e 55 4c 4c 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .NULL:..........................
36960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
369a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
369c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
369e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a80 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36ae0 00 00 00 00 00 00 00 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 00 00 00 00 00 00 00 00 .......0123456789ABCDEF.........
36b00 00 00 02 00 00 00 00 00 00 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 0d 0a 00 00 00 00 .........Not.enough.memory......
36b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e6 60 0f 06 .............................`..
36ba0 61 ff ff ff 13 46 61 15 66 61 17 86 61 19 a6 61 1b c6 61 1d e6 61 1f 06 62 21 26 62 23 46 62 25 a....Fa.fa..a..a..a..a..b!&b#Fb%
36bc0 66 62 27 86 62 29 a6 62 2b c6 62 2d e6 62 2f 06 63 31 26 63 33 46 63 35 66 63 37 86 63 39 a6 63 fb'.b).b+.b-.b/.c1&c3Fc5fc7.c9.c
36be0 3b c6 63 3d e6 63 3f 06 64 41 26 64 43 46 64 45 66 64 47 86 64 49 a6 64 4b c6 64 4d e6 64 4f 06 ;.c=.c?.dA&dCFdEfdG.dI.dK.dM.dO.
36c00 65 ff ff ff 53 46 65 55 66 65 57 86 65 59 f6 ff 5b c6 65 5d f6 ff 5f 06 66 61 26 66 63 46 66 65 e...SFeUfeW.eY..[.e].._.fa&fcFfe
36c20 f6 ff 67 f6 ff 69 a6 66 6b c6 66 6d e6 66 6f 06 67 71 26 67 73 46 67 75 66 67 77 86 67 79 a6 67 ..g..i.fk.fm.fo.gq&gsFgufgw.gy.g
36c40 7b c6 67 7d e6 67 7f 06 68 81 26 68 83 46 68 85 66 68 87 86 68 89 a6 68 8b c6 68 8d e6 68 8f 06 {.g}.g..h.&h.Fh.fh..h..h..h..h..
36c60 69 ff ff ff ff 4f 69 95 66 69 97 86 69 99 a6 69 9b c6 69 9d e6 69 9f 06 6a a1 26 6a ff 4f 6a a5 i....Oi.fi..i..i..i..i..j.&j.Oj.
36c80 66 6a a7 86 6a a9 a6 6a ab 01 53 55 42 54 54 4c 09 44 65 76 69 63 65 20 74 61 62 6c 65 20 61 6e fj..j..j..SUBTTL.Device.table.an
36ca0 64 20 53 52 48 20 64 65 66 69 6e 69 74 69 6f 6e 0d 0a 09 50 41 47 45 0d 0a 0d 0a 3b 20 54 68 65 d.SRH.definition...PAGE....;.The
36cc0 20 64 65 76 69 63 65 20 74 61 62 6c 65 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 66 6f 72 6d 3a .device.table.list.has.the.form:
36ce0 0d 0a 53 59 53 44 45 56 09 53 54 52 55 43 0d 0a 53 44 45 56 4e 45 58 54 09 44 44 09 3f 09 3b 50 ..SYSDEV.STRUC..SDEVNEXT.DD.?.;P
36d00 6f 69 6e 74 65 72 20 74 6f 20 6e 65 78 74 20 64 65 76 69 63 65 20 68 65 61 64 65 72 0d 0a 53 44 ointer.to.next.device.header..SD
36d20 45 56 41 54 54 09 09 44 57 09 3f 09 3b 41 74 74 72 69 62 75 74 65 73 20 6f 66 20 74 68 65 20 64 EVATT..DW.?.;Attributes.of.the.d
36d40 65 76 69 63 65 0d 0a 53 44 45 56 53 54 52 41 54 09 44 57 09 3f 09 3b 53 74 72 61 74 65 67 79 20 evice..SDEVSTRAT.DW.?.;Strategy.
36d60 65 6e 74 72 79 20 70 6f 69 6e 74 0d 0a 53 44 45 56 49 4e 54 09 09 44 57 09 3f 09 3b 49 6e 74 65 entry.point..SDEVINT..DW.?.;Inte
36d80 72 72 75 70 74 20 65 6e 74 72 79 20 70 6f 69 6e 74 0d 0a 53 44 45 56 4e 41 4d 45 09 44 42 09 38 rrupt.entry.point..SDEVNAME.DB.8
36da0 20 44 55 50 20 28 3f 29 20 3b 4e 61 6d 65 20 6f 66 20 64 65 76 69 63 65 20 28 6f 6e 6c 79 20 66 .DUP.(?).;Name.of.device.(only.f
36dc0 69 72 73 74 20 62 79 74 65 20 75 73 65 64 20 66 6f 72 20 62 6c 6f 63 6b 29 0d 0a 53 59 53 44 45 irst.byte.used.for.block)..SYSDE
36de0 56 09 45 4e 44 53 0d 0a 0d 0a 3b 41 74 74 72 69 62 75 74 65 20 62 69 74 20 6d 61 73 6b 73 0d 0a V.ENDS....;Attribute.bit.masks..
36e00 44 45 56 54 59 50 09 45 51 55 09 38 30 30 30 48 09 09 3b 42 69 74 20 31 35 20 2d 20 31 20 20 69 DEVTYP.EQU.8000H..;Bit.15.-.1..i
36e20 66 20 43 68 61 72 2c 20 30 20 69 66 20 62 6c 6f 63 6b 0d 0a 44 45 56 49 4f 43 54 4c 20 45 51 55 f.Char,.0.if.block..DEVIOCTL.EQU
36e40 09 34 30 30 30 48 09 09 3b 42 69 74 20 31 34 20 2d 20 44 65 76 69 63 65 20 75 6e 64 65 72 73 74 .4000H..;Bit.14.-.Device.underst
36e60 61 6e 64 73 20 49 4f 43 54 4c 20 66 75 6e 63 74 69 6f 6e 73 0d 0a 49 53 46 41 54 42 59 44 45 56 ands.IOCTL.functions..ISFATBYDEV
36e80 20 45 51 55 09 32 30 30 30 48 01 09 09 3b 42 69 74 20 31 33 20 2d 20 44 65 76 69 63 65 20 75 73 .EQU.2000H...;Bit.13.-.Device.us
36ea0 65 73 20 46 41 54 20 49 44 20 62 79 74 65 73 2c 20 63 6f 6d 70 20 6d 65 64 69 61 2e 0d 0a 49 53 es.FAT.ID.bytes,.comp.media...IS
36ec0 43 49 4e 09 45 51 55 09 30 30 30 31 48 09 09 3b 42 69 74 20 30 20 2d 20 54 68 69 73 20 64 65 76 CIN.EQU.0001H..;Bit.0.-.This.dev
36ee0 69 63 65 20 69 73 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 69 6e 70 75 74 2e 0d 0a 49 53 43 4f 55 ice.is.the.console.input...ISCOU
36f00 54 09 45 51 55 09 30 30 30 32 48 09 09 3b 42 69 74 20 31 20 2d 20 54 68 69 73 20 64 65 76 69 63 T.EQU.0002H..;Bit.1.-.This.devic
36f20 65 20 69 73 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 2e 0d 0a 49 53 4e 55 4c 4c e.is.the.console.output...ISNULL
36f40 09 45 51 55 09 30 30 30 34 48 09 09 3b 42 69 74 20 32 20 2d 20 54 68 69 73 20 64 65 76 69 63 65 .EQU.0004H..;Bit.2.-.This.device
36f60 20 69 73 20 74 68 65 20 6e 75 6c 6c 20 64 65 76 69 63 65 2e 0d 0a 49 53 43 4c 4f 43 4b 20 45 51 .is.the.null.device...ISCLOCK.EQ
36f80 55 09 30 30 30 38 48 09 09 3b 42 69 74 20 33 20 2d 20 54 68 69 73 20 64 65 76 69 63 65 20 69 73 U.0008H..;Bit.3.-.This.device.is
36fa0 20 74 68 65 20 63 6c 6f 63 6b 20 64 65 76 69 63 65 2e 0d 0a 49 53 53 50 45 43 09 45 51 55 09 30 .the.clock.device...ISSPEC.EQU.0
36fc0 30 31 30 48 09 09 3b 42 69 74 20 34 20 2d 20 54 68 69 73 20 64 65 76 69 63 65 20 69 73 20 73 70 010H..;Bit.4.-.This.device.is.sp
36fe0 65 63 69 61 6c 0d 0a 0d 0a 3b 53 74 61 74 69 63 20 52 65 67 75 65 73 74 20 48 65 61 64 65 72 0d ecial....;Static.Reguest.Header.
37000 0a 53 52 48 45 41 44 09 53 54 52 55 43 0d 0a 52 45 51 4c 45 4e 09 44 42 09 3f 09 09 3b 4c 65 6e .SRHEAD.STRUC..REQLEN.DB.?..;Len
37020 67 74 68 20 69 6e 20 62 79 74 65 73 20 6f 66 20 72 65 71 75 65 73 74 20 62 6c 6f 63 6b 0d 0a 52 gth.in.bytes.of.request.block..R
37040 45 51 55 4e 49 54 20 44 42 09 3f 09 09 3b 44 65 76 69 63 65 20 75 6e 69 74 20 6e 75 6d 62 65 72 EQUNIT.DB.?..;Device.unit.number
37060 0d 0a 52 45 51 46 55 4e 43 20 44 42 09 3f 09 09 3b 54 79 70 65 20 6f 66 20 72 65 71 75 65 73 74 ..REQFUNC.DB.?..;Type.of.request
37080 0d 0a 52 45 51 53 54 41 54 20 44 01 57 09 3f 09 09 3b 53 74 61 74 75 73 20 57 6f 72 64 0d 0a 52 ..REQSTAT.D.W.?..;Status.Word..R
370a0 65 71 44 6f 6e 65 20 44 57 09 3f 0d 0a 09 44 57 09 3f 09 09 3b 20 44 57 4f 52 44 20 61 64 64 72 eqDone.DW.?...DW.?..;.DWORD.addr
370c0 65 73 73 20 6f 66 20 44 65 76 44 6f 6e 65 20 72 6f 75 74 69 6e 65 0d 0a 44 65 76 4c 69 6e 6b 20 ess.of.DevDone.routine..DevLink.
370e0 44 44 09 3f 09 09 3b 20 44 72 69 76 65 72 20 72 65 71 75 65 73 74 20 6c 69 6e 6b 20 66 69 65 6c DD.?..;.Driver.request.link.fiel
37100 64 0d 0a 53 52 48 45 41 44 09 45 4e 44 53 0d 0a 0d 0a 3b 09 4f 74 68 65 72 20 66 69 65 6c 64 73 d..SRHEAD.ENDS....;.Other.fields
37120 20 62 65 79 6f 6e 64 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 31 33 20 62 79 74 65 20 68 65 61 .beyond.the.standard.13.byte.hea
37140 64 65 72 0d 0a 52 45 51 4d 45 44 09 45 51 55 09 31 33 09 09 3b 20 6d 65 64 69 61 20 62 79 74 65 der..REQMED.EQU.13..;.media.byte
37160 0d 0a 52 45 51 52 43 48 52 20 45 51 55 09 31 33 09 09 3b 20 72 65 61 64 20 63 68 61 72 61 63 74 ..REQRCHR.EQU.13..;.read.charact
37180 65 72 0d 0a 52 45 51 58 41 44 09 45 51 55 09 31 34 09 09 3b 20 74 72 61 6e 73 66 65 72 20 61 64 er..REQXAD.EQU.14..;.transfer.ad
371a0 64 72 65 73 73 0d 0a 52 45 51 53 43 4e 54 20 45 51 55 09 31 38 09 09 3b 20 62 79 74 65 2f 73 65 dress..REQSCNT.EQU.18..;.byte/se
371c0 63 74 6f 72 79 20 63 6f 75 6e 74 0d 0a 52 45 51 53 53 45 43 20 45 51 55 09 32 30 09 09 3b 20 73 ctory.count..REQSSEC.EQU.20..;.s
371e0 74 61 72 74 69 6e 67 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 20 69 66 20 62 6c 6f 63 6b 20 64 tarting.sector.number.if.block.d
37200 65 76 69 63 65 0d 0a 52 45 51 53 73 6b 6e 20 45 51 55 09 32 30 09 09 3b 20 6b 65 79 62 6f 61 72 evice..REQSskn.EQU.20..;.keyboar
37220 64 2f 73 63 72 65 65 6e 20 6e 75 6d 62 65 72 20 69 66 20 63 68 61 72 20 20 64 65 76 69 63 65 0d d/screen.number.if.char..device.
37240 0a 0d 0a 3b 53 74 61 74 75 73 20 77 6f 72 64 20 6d 61 73 6b 73 0d 0a 53 54 45 52 52 09 45 51 55 ...;Status.word.masks..STERR.EQU
37260 09 38 30 30 30 48 09 09 3b 42 69 74 20 31 35 20 2d 20 45 72 72 6f 72 0d 0a 3b 3b 53 74 4b 65 79 .8000H..;Bit.15.-.Error..;;StKey
37280 20 45 51 55 09 34 30 30 30 48 09 09 01 3b 42 69 74 20 31 34 20 2d 20 54 68 69 73 20 69 73 20 63 .EQU.4000H...;Bit.14.-.This.is.c
372a0 6f 6e 73 6f 6c 65 20 72 65 61 64 20 72 65 71 75 65 73 74 0d 0a 44 64 4b 65 79 09 45 51 55 09 30 onsole.read.request..DdKey.EQU.0
372c0 34 30 30 48 09 09 3b 42 69 74 20 31 30 20 2d 20 44 65 61 64 20 4b 65 79 0d 0a 53 54 42 55 49 09 400H..;Bit.10.-.Dead.Key..STBUI.
372e0 45 51 55 09 30 32 30 30 48 09 09 3b 42 69 74 20 39 20 2d 20 42 75 73 79 0d 0a 53 54 44 4f 4e 09 EQU.0200H..;Bit.9.-.Busy..STDON.
37300 45 51 55 09 30 31 30 30 48 09 09 3b 42 69 74 20 38 20 2d 20 44 6f 6e 65 0d 0a 53 54 45 43 4f 44 EQU.0100H..;Bit.8.-.Done..STECOD
37320 45 20 45 51 55 09 30 30 46 46 48 09 09 3b 45 72 72 6f 72 20 63 6f 64 65 0d 0a 57 52 45 43 4f 44 E.EQU.00FFH..;Error.code..WRECOD
37340 45 20 45 51 55 09 30 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 44 72 69 76 65 72 20 43 6f 6d 6d 61 6e 64 20 E.EQU.0......;**.Driver.Command.
37360 42 6c 6f 63 6b 20 46 75 6e 63 74 69 6f 6e 20 63 6f 64 65 73 0d 0a 0d 0a 44 45 56 49 4e 49 54 20 Block.Function.codes....DEVINIT.
37380 45 51 55 09 30 09 09 3b 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 44 49 4e 49 54 48 4c 20 EQU.0..;Initialization..DINITHL.
373a0 45 51 55 09 32 36 09 09 3b 53 69 7a 65 20 6f 66 20 69 6e 69 74 20 68 65 61 64 65 72 0d 0a 0d 0a EQU.26..;Size.of.init.header....
373c0 44 45 56 4d 44 43 48 20 45 51 55 09 31 09 09 3b 4d 65 64 69 61 20 63 68 65 63 6b 0d 0a 44 4d 45 DEVMDCH.EQU.1..;Media.check..DME
373e0 44 48 4c 09 45 51 55 09 31 35 09 09 3b 53 69 7a 65 20 6f 66 20 6d 65 64 69 61 20 63 68 65 63 6b DHL.EQU.15..;Size.of.media.check
37400 20 68 65 61 64 65 72 0d 0a 0d 0a 44 45 56 42 50 42 09 45 51 55 09 32 09 09 3b 47 65 74 20 42 50 .header....DEVBPB.EQU.2..;Get.BP
37420 42 0d 0a 44 42 50 42 48 4c 09 45 51 55 09 32 32 09 09 3b 53 69 7a 65 20 6f 66 20 47 65 74 20 42 B..DBPBHL.EQU.22..;Size.of.Get.B
37440 50 42 20 68 65 61 64 65 72 0d 0a 0d 0a 44 45 56 52 44 49 4f 43 54 4c 20 45 51 55 09 33 09 09 3b PB.header....DEVRDIOCTL.EQU.3..;
37460 49 4f 43 54 4c 20 72 65 61 64 0d 0a 0d 0a 44 45 56 52 44 09 45 51 55 09 34 09 09 3b 52 65 61 64 IOCTL.read....DEVRD.EQU.4..;Read
37480 0d 0a 44 52 44 57 52 48 4c 20 45 51 55 01 09 32 32 09 09 3b 53 69 7a 65 20 6f 66 20 52 44 2f 57 ..DRDWRHL.EQU..22..;Size.of.RD/W
374a0 52 20 68 65 61 64 65 72 0d 0a 0d 0a 44 45 56 52 44 4e 44 20 45 51 55 09 35 09 09 3b 4e 6f 6e 20 R.header....DEVRDND.EQU.5..;Non.
374c0 64 65 73 74 72 75 63 74 69 76 65 20 72 65 61 64 20 6e 6f 20 77 61 69 74 20 28 63 68 61 72 61 63 destructive.read.no.wait.(charac
374e0 74 65 72 20 64 65 76 73 29 0d 0a 44 52 44 4e 44 48 4c 20 45 51 55 09 31 34 09 09 3b 53 69 7a 65 ter.devs)..DRDNDHL.EQU.14..;Size
37500 20 6f 66 20 6e 6f 6e 20 64 65 73 74 72 75 63 74 69 76 65 20 72 65 61 64 20 68 65 61 64 65 72 0d .of.non.destructive.read.header.
37520 0a 0d 0a 44 45 56 49 53 54 09 45 51 55 09 36 09 09 3b 49 6e 70 75 74 20 73 74 61 74 75 73 0d 0a ...DEVIST.EQU.6..;Input.status..
37540 44 53 54 41 54 48 4c 20 45 51 55 09 31 33 09 09 3b 53 69 7a 65 20 6f 66 20 73 74 61 74 75 73 20 DSTATHL.EQU.13..;Size.of.status.
37560 68 65 61 64 65 72 0d 0a 0d 0a 44 45 56 49 46 4c 09 45 51 55 09 37 09 09 3b 49 6e 70 75 74 20 66 header....DEVIFL.EQU.7..;Input.f
37580 6c 75 73 68 0d 0a 44 46 4c 53 48 4c 09 45 51 55 09 31 35 09 09 3b 53 69 7a 65 20 6f 66 20 66 6c lush..DFLSHL.EQU.15..;Size.of.fl
375a0 75 73 68 20 68 65 61 64 65 72 0d 0a 0d 0a 44 45 56 57 52 54 09 45 51 55 09 38 09 09 3b 57 72 69 ush.header....DEVWRT.EQU.8..;Wri
375c0 74 65 0d 0a 0d 0a 44 45 56 57 52 54 56 20 45 51 55 09 39 09 09 3b 57 72 69 74 65 20 77 69 74 68 te....DEVWRTV.EQU.9..;Write.with
375e0 20 76 65 72 69 66 79 0d 0a 0d 0a 44 45 56 4f 53 54 09 45 51 55 09 31 30 09 09 3b 4f 75 74 70 75 .verify....DEVOST.EQU.10..;Outpu
37600 74 20 73 74 61 74 75 73 0d 0a 0d 0a 44 45 56 4f 46 4c 09 45 51 55 09 31 31 09 09 3b 4f 75 74 70 t.status....DEVOFL.EQU.11..;Outp
37620 75 74 20 66 6c 75 73 68 0d 0a 0d 0a 44 45 56 57 52 49 4f 43 54 4c 20 45 51 55 09 31 32 09 09 3b ut.flush....DEVWRIOCTL.EQU.12..;
37640 49 4f 43 54 4c 20 77 72 69 74 65 0d 0a 0d 0a 44 45 56 47 49 4f 43 20 45 51 55 09 31 36 09 09 3b IOCTL.write....DEVGIOC.EQU.16..;
37660 20 67 65 6e 65 72 69 63 20 49 4f 43 54 4c 0d 0a 0d 0a 44 45 56 53 54 4f 50 20 45 51 55 09 31 37 .generic.IOCTL....DEVSTOP.EQU.17
37680 09 09 3b 20 70 61 75 73 65 20 64 65 76 69 05 18 01 09 02 01 02 03 04 05 06 07 08 09 01 63 65 0d ..;.pause.devi...............ce.
376a0 0a 44 45 56 53 54 52 54 20 45 51 55 09 31 38 09 09 3b 20 72 65 73 74 61 72 74 20 64 65 76 69 63 .DEVSTRT.EQU.18..;.restart.devic
376c0 65 0d 0a 44 53 54 4f 50 48 4c 20 45 51 55 09 31 33 09 09 3b 53 69 7a 65 20 6f 66 20 73 74 61 72 e..DSTOPHL.EQU.13..;Size.of.star
376e0 74 2f 73 74 6f 70 20 68 65 61 64 65 72 0d 0a 0d 0a 53 55 42 54 54 4c 0d 0a 6c 20 77 65 20 73 65 t/stop.header....SUBTTL..l.we.se
37700 65 20 63 74 6c 2d 51 0d 0a 0d 0a 70 75 74 63 32 3a 09 63 61 6c 6c 09 69 6e 63 68 72 0d 0a 09 6a e.ctl-Q....putc2:.call.inchr...j
37720 7a 09 70 75 74 63 32 0d 0a 09 63 6d 70 09 61 6c 2c 31 37 0d 0a 09 6a 6e 7a 09 70 75 74 63 32 0d z.putc2...cmp.al,17...jnz.putc2.
37740 0a 0d 0a 70 75 74 63 33 3a 09 70 6f 70 66 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 4c 53 52 0d 0a ...putc3:.popf...mov.dx,UR_LSR..
37760 70 75 74 63 34 3a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 74 65 73 74 09 61 6c 2c 30 32 30 68 0d 0a putc4:.in.al,dx...test.al,020h..
37780 09 6a 7a 09 70 75 74 63 34 0d 0a 0d 0a 3b 09 72 65 61 64 79 2e 09 63 72 61 6e 6b 20 69 74 20 6f .jz.putc4....;.ready..crank.it.o
377a0 75 74 21 0d 0a 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 44 41 54 0d 0a 0d 0a 09 70 6f 70 09 61 78 ut!.....mov.dx,UR_DAT.....pop.ax
377c0 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f 70 09 63 78 ...out.dx,al.....pop.bx...pop.cx
377e0 0d 0a 09 70 6f 70 09 64 78 0d 0a 09 70 6f 70 66 0d 0a 09 72 65 74 0d 0a 0d 0a 70 75 74 63 68 61 ...pop.dx...popf...ret....putcha
37800 72 20 45 4e 44 50 0d 0a 0d 0a 45 4e 44 49 46 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 r.ENDP....ENDIF.................
37820 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
37840 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
37860 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 ................................
37880 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 42 52 ..............................BR
378a0 45 41 4b 20 3c 49 6e 74 65 72 6e 61 6c 20 73 79 73 74 65 6d 20 66 69 6c 65 20 74 61 62 6c 65 20 EAK.<Internal.system.file.table.
378c0 66 6f 72 6d 61 74 3e 0d 0a 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b format>....;----+----+----+----+
378e0 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d ----+----+----+----+----+----+--
37900 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 3b 09 20 20 20 20 20 --+----+----+----+----;..;......
37920 43 09 41 20 20 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 C.A..V..E..A..T...P..R.O..G..R..
37940 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 A..M..M..E..R.....;..;..........
37960 20 20 3b 0d 0a 3b 0d 0a 3b 20 73 79 73 74 65 6d 20 66 69 6c 65 20 74 61 62 6c 65 0d 0a 3b 0d 0a ..;..;..;.system.file.table..;..
37980 0d 0a 73 66 74 09 09 53 54 52 55 43 0d 0a 73 66 74 5f 6c 69 6e 6b 09 44 44 09 3f 0d 0a 73 66 74 ..sft..STRUC..sft_link.DD.?..sft
379a0 5f 63 6f 75 6e 74 09 44 57 09 3f 09 09 3b 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 72 69 65 73 _count.DW.?..;.number.of.entries
379c0 0d 0a 73 66 74 5f 74 61 62 6c 65 09 44 57 09 3f 09 09 3b 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 ..sft_table.DW.?..;.beginning.of
379e0 20 61 72 72 61 79 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0d 0a 73 66 74 09 09 45 4e .array.of.the.following..sft..EN
37a00 44 53 0d 0a 0d 0a 3b 0d 0a 3b 20 73 79 73 74 65 6d 20 66 69 6c 65 20 74 61 62 6c 65 20 65 6e 74 DS....;..;.system.file.table.ent
37a20 72 79 0d 0a 3b 0d 0a 0d 0a 73 66 5f 65 6e 74 72 79 09 53 54 52 55 43 0d 0a 73 66 5f 72 65 66 5f ry..;....sf_entry.STRUC..sf_ref_
37a40 63 6f 75 6e 74 09 44 42 09 3f 09 09 3b 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 63 65 73 73 65 count.DB.?..;.number.of.processe
37a60 73 20 73 68 61 72 69 6e 67 20 66 63 62 0d 0a 73 66 5f 6d 6f 64 65 09 09 44 42 09 3f 09 09 3b 20 s.sharing.fcb..sf_mode..DB.?..;.
37a80 6d 6f 64 65 20 6f 66 20 61 63 63 65 73 73 0d 0a 73 66 5f 61 74 74 72 09 09 44 42 09 3f 09 01 09 mode.of.access..sf_attr..DB.?...
37aa0 3b 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 66 69 6c 65 0d 0a 73 66 5f 66 63 62 09 09 44 42 09 ;.attribute.of.file..sf_fcb..DB.
37ac0 28 53 49 5a 45 20 73 79 73 5f 66 63 62 29 20 44 55 50 20 28 3f 29 0d 0a 09 09 09 09 09 3b 20 61 (SIZE.sys_fcb).DUP.(?).......;.a
37ae0 63 74 75 61 6c 20 46 43 42 0d 0a 73 66 5f 50 69 64 09 09 44 57 09 3f 09 09 3b 20 50 49 44 20 6f ctual.FCB..sf_Pid..DW.?..;.PID.o
37b00 66 20 6f 77 6e 69 6e 67 20 70 72 6f 63 65 73 73 0d 0a 73 66 5f 55 69 64 09 09 44 57 09 3f 09 09 f.owning.process..sf_Uid..DW.?..
37b20 3b 20 55 49 44 20 6f 66 20 6f 77 6e 65 72 0d 0a 73 66 5f 4d 66 74 09 09 44 57 09 3f 09 09 3b 20 ;.UID.of.owner..sf_Mft..DW.?..;.
37b40 44 6f 73 67 72 6f 75 70 20 6f 66 66 73 65 74 20 6f 66 20 4d 46 54 20 65 6e 74 72 79 0d 0a 09 09 Dosgroup.offset.of.MFT.entry....
37b60 09 09 09 3b 20 3d 30 20 69 66 66 20 73 66 74 20 65 6e 74 72 79 20 69 73 20 66 72 65 65 0d 0a 73 ...;.=0.iff.sft.entry.is.free..s
37b80 66 5f 63 68 61 69 6e 09 44 44 09 3f 09 09 3b 20 63 68 61 69 6e 20 74 6f 20 6e 65 78 74 20 53 46 f_chain.DD.?..;.chain.to.next.SF
37ba0 54 20 69 6e 20 4d 46 54 20 63 68 61 69 6e 0d 0a 09 09 09 09 09 3b 20 3d 30 20 69 66 20 73 66 74 T.in.MFT.chain.......;.=0.if.sft
37bc0 20 65 6e 74 72 79 20 69 73 20 66 72 65 65 0d 0a 09 09 09 09 09 3b 20 28 6d 61 79 20 62 65 20 30 .entry.is.free.......;.(may.be.0
37be0 20 61 6e 64 20 6e 6f 74 20 66 72 65 65 21 29 0d 0a 73 66 5f 65 6e 74 72 79 09 45 4e 44 53 0d 0a .and.not.free!)..sf_entry.ENDS..
37c00 0d 0a 73 66 5f 64 65 66 61 75 6c 74 5f 6e 75 6d 62 65 72 20 20 20 45 51 55 09 20 20 20 20 35 68 ..sf_default_number...EQU.....5h
37c20 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 3b 09 20 20 20 20 20 43 09 41 20 20 56 20 ..;............;..;......C.A..V.
37c40 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 41 20 20 4d 20 20 4d .E..A..T...P..R.O..G..R..A..M..M
37c60 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d ..E..R.....;..;----+----+----+--
37c80 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 01 --+----+----+----+----+----+---.
37ca0 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 00 00 00 -+----+----+----+----+----;.....
37cc0 2e 2e 20 20 20 20 20 20 20 20 20 10 00 00 00 00 00 00 00 00 00 00 c0 6d bd 08 00 00 00 00 00 00 .......................m........
37ce0 52 45 41 44 5f 4d 45 20 20 20 20 20 00 00 00 00 00 00 00 00 00 00 a8 6c bd 08 03 00 a1 03 00 00 READ_ME................l........
37d00 49 42 4d 42 49 4f 20 20 4f 42 4a 20 00 00 00 00 00 00 00 00 00 00 ea 5e b6 08 04 00 99 12 00 00 IBMBIO..OBJ............^........
37d20 49 42 4d 4d 54 43 4f 4e 4f 42 4a 20 00 00 00 00 00 00 00 00 00 00 f2 5a b6 08 09 00 ea 11 00 00 IBMMTCONOBJ............Z........
37d40 53 59 53 49 4e 49 20 20 4f 42 4a 20 00 00 00 00 00 00 00 00 00 00 ec 69 b7 08 0e 00 20 0e 00 00 SYSINI..OBJ............i........
37d60 49 42 4d 44 53 4b 20 20 4f 42 4a 20 00 00 00 00 00 00 00 00 00 00 18 5f b6 08 12 00 35 1d 00 00 IBMDSK..OBJ............_....5...
37d80 53 59 53 49 4d 45 53 20 4f 42 4a 20 00 00 00 00 00 00 00 00 00 00 c4 76 9b 08 1a 00 32 01 00 00 SYSIMES.OBJ............v....2...
37da0 49 42 4d 42 49 4f 20 20 41 53 4d 20 00 00 00 00 00 00 00 00 00 00 10 8b af 08 1b 00 e6 c6 00 00 IBMBIO..ASM.....................
37dc0 49 42 4d 44 53 4b 20 20 41 53 4d 20 00 00 00 00 00 00 00 00 00 00 ca 5e b6 08 4d 00 dd 03 01 00 IBMDSK..ASM............^..M.....
37de0 49 42 4d 4d 54 43 4f 4e 41 53 4d 20 00 00 00 00 00 00 00 00 00 00 3c 57 b6 08 8e 00 d2 7f 00 00 IBMMTCONASM...........<W........
37e00 44 4f 53 4d 41 43 20 20 49 4e 43 20 00 00 00 00 00 00 00 00 00 00 74 4a 77 08 ae 00 bf 1e 00 00 DOSMAC..INC...........tJw.......
37e20 53 59 53 43 41 4c 4c 53 49 4e 43 20 00 00 00 00 00 00 00 00 00 00 e9 49 77 08 b6 00 9c 13 00 00 SYSCALLSINC............Iw.......
37e40 42 55 47 43 4f 44 45 20 49 4e 43 20 00 00 00 00 00 00 00 00 00 00 f2 76 b0 08 bb 00 74 2b 00 00 BUGCODE.INC............v....t+..
37e60 44 4f 53 53 59 4d 20 20 49 4e 43 20 00 00 00 00 00 00 00 00 00 00 81 4a 77 08 c6 00 f3 3d 00 00 DOSSYM..INC............Jw....=..
37e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37ea0 01 53 2c 6e 0d 0a 09 6a 7a 09 41 0d 0a 09 74 65 73 74 09 42 59 54 45 20 50 54 52 20 42 55 47 42 .S,n...jz.A...test.BYTE.PTR.BUGB
37ec0 49 54 53 2b 31 2c 6d 0d 0a 41 3a 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a 44 42 45 4e 44 09 4d 41 43 52 ITS+1,m..A:...ENDM....DBEND.MACR
37ee0 4f 0d 0a 09 44 42 4c 41 42 09 25 44 42 43 4e 54 0d 0a 44 42 43 4e 54 09 3d 09 44 42 43 4e 54 2b O...DBLAB.%DBCNT..DBCNT.=.DBCNT+
37f00 31 0d 0a 09 70 6f 70 66 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a 44 42 4c 41 42 09 4d 41 43 52 4f 09 4e 1...popf...ENDM....DBLAB.MACRO.N
37f20 0d 0a 44 42 4c 41 42 26 4e 3a 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a 20 20 44 42 43 4e 54 20 3d 20 31 ..DBLAB&N:...ENDM......DBCNT.=.1
37f40 0d 0a 32 0d 0a 0d 0a 70 75 74 63 33 3a 09 70 6f 70 66 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 4c ..2....putc3:.popf...mov.dx,UR_L
37f60 53 52 0d 0a 70 75 74 63 34 3a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 74 65 73 74 09 61 6c 2c 30 32 SR..putc4:.in.al,dx...test.al,02
37f80 30 68 0d 0a 09 6a 7a 09 70 75 74 63 34 0d 0a 0d 0a 3b 09 72 65 61 64 79 2e 09 63 72 61 6e 6b 20 0h...jz.putc4....;.ready..crank.
37fa0 69 74 20 6f 75 74 21 0d 0a 0d 0a 09 6d 6f 76 09 64 78 2c 55 52 5f 44 41 54 0d 0a 0d 0a 09 70 6f it.out!.....mov.dx,UR_DAT.....po
37fc0 70 09 61 78 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 0d 0a 0d 0a 09 70 6f 70 09 62 78 0d 0a 09 70 6f p.ax...out.dx,al.....pop.bx...po
37fe0 70 09 63 78 0d 0a 09 70 6f 70 09 64 78 0d 0a 09 70 6f 70 66 0d 0a 09 72 65 74 0d 0a 0d 0a 70 75 p.cx...pop.dx...popf...ret....pu
38000 74 63 68 61 72 20 45 4e 44 50 0d 0a 0d 0a 45 4e 44 49 46 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 tchar.ENDP....ENDIF.............
38020 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38040 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38060 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38080 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
380a0 f6 01 3b 2a 2a 09 44 45 46 44 42 55 47 2e 41 53 4d 20 2d 20 44 65 62 75 67 67 69 6e 67 20 4d 61 ..;**.DEFDBUG.ASM.-.Debugging.Ma
380c0 63 72 6f 20 44 65 66 69 6e 69 74 69 6f 6e 73 0d 0a 3b 0d 0a 3b 0d 0a 3b 09 44 45 42 55 47 09 6e cro.Definitions..;..;..;.DEBUG.n
380e0 2c 6d 2c 3c 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 3e 2c 20 3c 61 72 67 20 6c 69 73 74 3e 0d 0a ,m,<format.string>,.<arg.list>..
38100 3b 0d 0a 3b 0d 0a 0d 0a 2e 73 61 6c 6c 0d 0a 0d 0a 44 45 42 55 47 09 4d 41 43 52 4f 09 4e 2c 4d ;..;.....sall....DEBUG.MACRO.N,M
38120 2c 73 74 72 69 6e 67 2c 61 72 67 73 0d 0a 20 6c 6f 63 61 6c 20 62 2c 63 0d 0a 20 49 46 44 45 46 ,string,args...local.b,c...IFDEF
38140 20 44 45 42 55 47 46 4c 47 0d 0a 20 20 70 75 73 68 66 0d 0a 20 20 44 45 42 55 47 54 53 54 20 4e .DEBUGFLG....pushf....DEBUGTST.N
38160 2c 4d 0d 0a 20 20 6a 7a 09 62 0d 0a 20 20 70 75 73 68 20 61 78 0d 0a 20 20 70 75 73 68 20 62 70 ,M....jz.b....push.ax....push.bp
38180 0d 0a 20 20 63 61 6c 6c 09 63 09 09 3b 3b 20 70 75 73 68 20 61 64 64 72 65 73 73 20 6f 66 20 73 ....call.c..;;.push.address.of.s
381a0 74 72 69 6e 67 0d 0a 20 20 44 42 09 27 26 73 74 72 69 6e 67 27 2c 30 0d 0a 63 3a 09 6d 6f 76 09 tring....DB.'&string',0..c:.mov.
381c0 62 70 2c 73 70 0d 0a 3b 20 49 46 4e 42 09 20 20 20 20 3c 61 72 67 73 3e 0d 0a 20 49 52 50 09 20 bp,sp..;.IFNB.....<args>...IRP..
381e0 59 2c 3c 61 72 67 73 3e 0d 0a 20 20 49 46 49 44 4e 09 20 20 3c 59 3e 2c 3c 61 78 3e 0d 0a 20 20 Y,<args>....IFIDN...<Y>,<ax>....
38200 20 20 70 75 73 68 20 34 5b 62 70 5d 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 49 46 49 44 4e 09 20 20 ..push.4[bp]....ELSE....IFIDN...
38220 3c 59 3e 2c 3c 41 58 3e 0d 0a 20 20 20 20 70 75 73 68 20 34 5b 62 70 5d 0d 0a 20 20 45 4c 53 45 <Y>,<AX>......push.4[bp]....ELSE
38240 0d 0a 20 20 49 46 49 44 4e 09 20 20 3c 59 3e 2c 3c 62 70 3e 0d 0a 20 20 20 20 70 75 73 68 20 32 ....IFIDN...<Y>,<bp>......push.2
38260 5b 62 70 5d 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 49 46 49 44 4e 09 20 20 3c 59 3e 2c 3c 42 50 3e [bp]....ELSE....IFIDN...<Y>,<BP>
38280 0d 0a 20 20 20 20 70 75 73 68 20 32 5b 62 70 5d 0d 0a 20 20 45 4c 53 45 0d 0a 20 20 20 20 6d 6f ......push.2[bp]....ELSE......mo
382a0 76 09 01 20 20 20 20 61 78 2c 59 0d 0a 20 20 20 20 70 75 73 68 20 61 78 0d 0a 20 20 20 45 4e 44 v......ax,Y......push.ax.....END
382c0 49 46 0d 0a 20 20 20 45 4e 44 49 46 0d 0a 20 20 20 45 4e 44 49 46 0d 0a 20 20 20 45 4e 44 49 46 IF.....ENDIF.....ENDIF.....ENDIF
382e0 0d 0a 20 45 4e 44 4d 0d 0a 3b 20 45 4e 44 49 46 0d 0a 20 20 63 61 6c 6c 09 20 20 44 50 52 49 4e ...ENDM..;.ENDIF....call...DPRIN
38300 54 46 0d 0a 20 20 6d 6f 76 09 20 20 73 70 2c 62 70 0d 0a 20 20 70 6f 70 09 20 20 61 78 09 09 20 TF....mov...sp,bp....pop...ax...
38320 20 3b 3b 20 64 69 73 63 61 72 64 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 6f 66 66 73 65 74 .;;.discard.format.string.offset
38340 0d 0a 20 20 70 6f 70 09 20 20 62 70 0d 0a 20 20 70 6f 70 09 20 20 61 78 0d 0a 62 3a 09 70 6f 70 ....pop...bp....pop...ax..b:.pop
38360 66 0d 0a 20 20 20 45 4e 44 49 46 0d 0a 45 4e 44 4d 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 45 f.....ENDIF..ENDM..........;**.E
38380 52 52 4e 5a 20 2d 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d 62 6c 79 20 65 72 72 6f 72 20 69 RRNZ.-.generate.assembly.error.i
383a0 66 20 61 72 67 20 21 3d 20 30 0d 0a 3b 0d 0a 0d 0a 45 52 52 4e 5a 09 4d 41 43 52 4f 09 45 58 50 f.arg.!=.0..;....ERRNZ.MACRO.EXP
383c0 52 0d 0a 20 49 46 31 0d 0a 20 20 49 46 45 09 20 20 65 78 70 72 0d 0a 20 20 45 4c 53 45 0d 0a 20 R...IF1....IFE...expr....ELSE...
383e0 20 52 41 44 49 58 09 20 20 30 09 20 20 3b 20 43 4f 4e 44 49 54 49 4f 4e 20 4e 4f 54 20 4d 45 54 .RADIX...0...;.CONDITION.NOT.MET
38400 20 2d 20 45 52 52 4f 52 0d 0a 20 20 45 4e 44 49 46 0d 0a 20 45 4e 44 49 46 0d 0a 09 45 4e 44 4d .-.ERROR....ENDIF...ENDIF...ENDM
38420 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 44 42 42 45 47 20 2d 20 53 74 61 72 74 20 64 65 62 75 67 67 69 6e ......;**.DBBEG.-.Start.debuggin
38440 67 20 72 61 6e 67 65 0d 0a 3b 0d 0a 0d 0a 44 42 42 45 47 09 4d 41 43 52 4f 09 4e 2c 4d 0d 0a 20 g.range..;....DBBEG.MACRO.N,M...
38460 4c 4f 43 41 4c 09 20 6c 61 62 0d 0a 20 49 46 44 45 46 09 20 44 45 42 55 47 46 4c 47 0d 0a 20 20 LOCAL..lab...IFDEF..DEBUGFLG....
38480 70 75 73 68 66 0d 0a 20 20 44 45 42 55 47 54 53 54 20 4e 2c 4d 0d 0a 20 20 6a 6e 7a 09 20 20 6c pushf....DEBUGTST.N,M....jnz...l
384a0 61 62 09 01 09 09 20 20 3b 3b 20 61 6d 20 74 6f 20 64 6f 20 69 74 0d 0a 20 20 44 42 4a 4d 50 09 ab......;;.am.to.do.it....DBJMP.
384c0 20 20 25 44 42 43 4e 54 0d 0a 6c 61 62 3a 0d 0a 20 20 20 20 45 4e 44 4d 0d 0a 0d 0a 0d 0a 0d 0a ..%DBCNT..lab:......ENDM........
384e0 44 42 4a 4d 50 09 4d 41 43 52 4f 09 4e 0d 0a 20 6a 6d 70 20 44 42 4c 41 42 26 4e 0d 0a 09 45 4e DBJMP.MACRO.N...jmp.DBLAB&N...EN
38500 44 4d 0d 0a 0d 0a 0d 0a 3b 2a 2a 09 44 45 42 55 47 54 53 54 20 2d 20 54 65 73 74 20 44 65 62 75 DM......;**.DEBUGTST.-.Test.Debu
38520 67 20 46 6c 61 67 73 0d 0a 3b 0d 0a 3b 09 44 45 42 55 47 54 53 54 20 20 20 6e 2c 6d 0d 0a 3b 0d g.Flags..;..;.DEBUGTST...n,m..;.
38540 0a 3b 09 57 68 65 72 65 20 4e 20 61 6e 64 20 4d 20 61 72 65 20 62 69 74 20 6d 61 73 6b 73 2e 0d .;.Where.N.and.M.are.bit.masks..
38560 0a 3b 0d 0a 3b 09 49 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 62 69 74 73 .;..;.If.one.or.more.of.the.bits
38580 20 69 6e 20 4e 20 69 73 20 73 65 74 20 69 6e 20 74 68 65 20 68 69 67 68 20 62 79 74 65 0d 0a 3b .in.N.is.set.in.the.high.byte..;
385a0 09 6f 66 20 42 55 47 42 49 54 53 2c 20 61 6e 64 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 .of.BUGBITS,.and.one.or.more.of.
385c0 74 68 65 20 62 69 74 73 20 69 6e 20 4d 20 69 73 20 73 65 74 20 69 6e 0d 0a 3b 09 74 68 65 20 6c the.bits.in.M.is.set.in..;.the.l
385e0 6f 77 20 62 79 74 65 20 6f 66 20 42 55 47 42 49 54 53 20 74 68 65 6e 20 63 6c 65 61 72 20 74 68 ow.byte.of.BUGBITS.then.clear.th
38600 65 20 5a 20 66 6c 61 67 2e 0d 0a 3b 0d 0a 3b 09 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 3a 0d e.Z.flag...;..;.In.other.words:.
38620 0a 3b 0d 0a 3b 09 49 66 20 62 6f 74 68 20 6d 61 73 6b 73 20 73 68 6f 77 20 61 20 22 68 69 74 22 .;..;.If.both.masks.show.a."hit"
38640 20 63 6c 65 61 72 20 27 5a 27 20 65 6c 73 65 20 73 65 74 20 27 5a 27 0d 0a 3b 0d 0a 3b 09 55 53 .clear.'Z'.else.set.'Z'..;..;.US
38660 45 53 09 46 4c 41 47 53 0d 0a 0d 0a 44 45 42 55 47 54 53 54 20 20 20 20 4d 41 43 52 4f 20 20 20 ES.FLAGS....DEBUGTST....MACRO...
38680 4e 2c 4d 0d 0a 09 4c 4f 43 41 4c 09 41 0d 0a 09 74 65 73 74 09 42 59 54 45 20 50 54 52 20 42 55 N,M...LOCAL.A...test.BYTE.PTR.BU
386a0 47 42 49 54 01 53 2c 6e 0d 0a 09 6a 7a 09 41 0d 0a 09 74 65 73 74 09 42 59 54 45 20 50 54 52 20 GBIT.S,n...jz.A...test.BYTE.PTR.
386c0 42 55 47 42 49 54 53 2b 31 2c 6d 0d 0a 41 3a 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a 44 42 45 4e 44 09 BUGBITS+1,m..A:...ENDM....DBEND.
386e0 4d 41 43 52 4f 0d 0a 09 44 42 4c 41 42 09 25 44 42 43 4e 54 0d 0a 44 42 43 4e 54 09 3d 09 44 42 MACRO...DBLAB.%DBCNT..DBCNT.=.DB
38700 43 4e 54 2b 31 0d 0a 09 70 6f 70 66 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a 44 42 4c 41 42 09 4d 41 43 CNT+1...popf...ENDM....DBLAB.MAC
38720 52 4f 09 4e 0d 0a 44 42 4c 41 42 26 4e 3a 0d 0a 09 45 4e 44 4d 0d 0a 0d 0a 20 20 44 42 43 4e 54 RO.N..DBLAB&N:...ENDM......DBCNT
38740 20 3d 20 31 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 .=.1............................
38760 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38780 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
387a0 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
387c0 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
387e0 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38800 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38820 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38840 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38860 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
38880 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
388a0 f6 f6 f6 f6 f6 05 19 00 09 02 01 02 03 04 05 06 07 08 09 01 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....................;-----------
388c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
388e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3b 0d 0a 3b ----------------------------;..;
38900 09 09 09 09 09 09 09 09 09 3b 0d 0a 3b 09 44 4f 53 20 33 2e 30 20 46 43 42 20 53 79 6d 62 6f 6c .........;..;.DOS.3.0.FCB.Symbol
38920 20 44 65 66 69 6e 69 74 69 6f 6e 73 09 09 09 09 09 3b 0d 0a 3b 09 09 09 09 09 09 09 09 09 3b 0d .Definitions.....;..;.........;.
38940 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .;------------------------------
38960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
38980 2d 2d 2d 2d 2d 2d 2d 2d 2d 3b 0d 0a 0d 0a 3b 2a 2a 09 4d 6f 64 69 66 69 63 61 74 69 6f 6e 20 48 ---------;....;**.Modification.H
389a0 69 73 74 6f 72 79 0d 0a 3b 0d 0a 3b 0d 0a 0d 0a 0d 0a 42 52 45 41 4b 20 3c 46 69 6c 65 20 43 6f istory..;..;......BREAK.<File.Co
389c0 6e 74 72 6f 6c 20 42 6c 6f 63 6b 20 64 65 66 69 6e 69 74 69 6f 6e 3e 0d 0a 0d 0a 3b 2a 2a 09 46 ntrol.Block.definition>....;**.F
389e0 69 65 6c 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 46 43 42 73 0d 0a 3b 0d 0a 3b 09 54 ield.definition.for.FCBs..;..;.T
38a00 68 65 20 46 43 42 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 72 75 63 74 75 he.FCB.has.the.following.structu
38a20 72 65 3a 0d 0a 3b 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d re:..;..;.+---------------------
38a40 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 44 72 69 76 65 20 69 6e 64 69 63 61 74 6f 72 28 62 ------+..;.|...Drive.indicator(b
38a60 79 74 65 29 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d yte)...|..;.+-------------------
38a80 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 20 46 69 6c 65 6e 61 6d 65 20 28 38 20 63 68 --------+..;.|....Filename.(8.ch
38aa0 61 72 73 29 09 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 01 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ars).....|..;.+-----.-----------
38ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 20 45 78 74 65 6e 73 69 6f 6e 20 28 -----------+..;.|....Extension.(
38ae0 33 20 63 68 61 72 73 29 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3.chars)....|..;.+--------------
38b00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 43 75 72 72 65 6e 74 20 45 78 -------------+..;.|...Current.Ex
38b20 74 65 6e 74 28 77 6f 72 64 29 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d tent(word)....|..;.+------------
38b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 20 52 65 63 6f 72 64 20 ---------------+..;.|....Record.
38b60 73 69 7a 65 20 28 77 6f 72 64 29 09 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d size.(word).....|..;.+----------
38b80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 20 46 69 6c 65 20 -----------------+..;.|....File.
38ba0 53 69 7a 65 20 28 32 20 77 6f 72 64 73 29 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d Size.(2.words)....|..;.+--------
38bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 09 44 61 74 65 20 6f -------------------+..;.|.Date.o
38be0 66 20 77 72 69 74 65 09 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d f.write.....|..;.+--------------
38c00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 09 54 69 6d 65 20 6f 66 20 77 72 69 74 -------------+..;.|.Time.of.writ
38c20 65 09 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e.....|..;.+--------------------
38c40 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d -------+..;----+----+----+----+-
38c60 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d ---+----+----+----+----+----+---
38c80 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 3b 09 20 20 20 20 20 43 -+----+----+----+----;..;......C
38ca0 09 41 20 20 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 01 09 4f 20 20 47 20 20 52 09 20 .A..V..E..A..T...P..R..O..G..R..
38cc0 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 A..M..M..E..R.....;..;..........
38ce0 20 20 3b 0d 0a 3b 09 7c 20 46 6c 61 67 73 3a 09 09 20 20 20 20 7c 0d 0a 3b 09 7c 20 20 62 69 74 ..;..;.|.Flags:......|..;.|..bit
38d00 20 37 3d 30 20 66 69 6c 65 2f 31 20 64 65 76 69 63 65 20 20 20 20 7c 0d 0a 3b 09 7c 20 20 62 69 .7=0.file/1.device....|..;.|..bi
38d20 74 20 36 3d 30 20 69 66 20 64 69 72 74 79 09 20 20 20 20 7c 0d 0a 3b 09 7c 20 20 62 69 74 73 20 t.6=0.if.dirty.....|..;.|..bits.
38d40 30 2d 35 20 64 65 76 69 63 65 69 64 09 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 0-5.deviceid.....|..;.+---------
38d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 66 69 72 73 74 ------------------+..;.|...first
38d80 20 63 6c 75 73 74 65 72 20 69 6e 20 66 69 6c 65 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d .cluster.in.file...|..;.+-------
38da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 70 6f 73 69 74 --------------------+..;.|.posit
38dc0 69 6f 6e 20 6f 66 20 6c 61 73 74 20 63 6c 75 73 74 65 72 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d ion.of.last.cluster..|..;.+-----
38de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 6c ----------------------+..;.|...l
38e00 61 73 74 20 63 6c 75 73 74 65 72 20 61 63 63 65 73 73 65 64 20 20 20 7c 09 31 32 20 62 69 74 2d ast.cluster.accessed...|.12.bit-
38e20 2b 2d 2d 2d 20 70 61 63 6b 65 64 20 69 6e 20 33 20 62 79 74 65 73 0d 0a 3b 09 2b 2d 2d 2d 2d 2d +---.packed.in.3.bytes..;.+-----
38e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 09 20 20 20 20 20 20 20 7c ----------------------+........|
38e60 0d 0a 3b 09 7c 20 20 20 20 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 09 20 20 20 20 7c ..;.|.....parent.directory.....|
38e80 09 3c 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .<------+..;.+------------------
38ea0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 09 09 09 09 09 09 09 09 01 20 20 20 3b 0d 0a 3b 09 20 ---------+..;.............;..;..
38ec0 20 20 20 20 43 09 41 20 20 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 ....C.A..V..E..A..T...P..R.O..G.
38ee0 20 52 09 20 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 2d 2d 2d 2d 2b 2d .R..A..M..M..E..R.....;..;----+-
38f00 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d ---+----+----+----+----+----+---
38f20 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b -+----+----+----+----+----+----+
38f40 2d 2d 2d 2d 3b 0d 0a 3b 09 7c 20 20 20 20 6e 65 78 74 20 72 65 63 6f 72 64 20 6e 75 6d 62 65 72 ----;..;.|....next.record.number
38f60 09 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .....|..;.+---------------------
38f80 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 09 7c 20 20 20 72 61 6e 64 6f 6d 20 72 65 63 6f 72 64 20 6e 75 6d ------+..;.|...random.record.num
38fa0 62 65 72 20 20 20 20 7c 0d 0a 3b 09 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ber....|..;.+-------------------
38fc0 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0a 3b 0d 0a 0d 0a 73 79 73 5f 66 63 62 09 20 20 20 20 53 54 52 55 --------+..;....sys_fcb.....STRU
38fe0 43 0d 0a 66 63 62 5f 64 72 69 76 65 20 20 20 44 42 09 20 20 20 20 3f 0d 0a 66 63 62 5f 6e 61 6d C..fcb_drive...DB.....?..fcb_nam
39000 65 20 20 20 20 44 42 09 20 20 20 20 38 20 44 55 50 20 28 3f 29 0d 0a 66 63 62 5f 65 78 74 09 20 e....DB.....8.DUP.(?)..fcb_ext..
39020 20 20 20 44 42 09 20 20 20 20 33 20 44 55 50 20 28 3f 29 0d 0a 66 63 62 5f 45 58 54 45 4e 54 20 ...DB.....3.DUP.(?)..fcb_EXTENT.
39040 20 44 57 09 20 20 20 20 3f 0d 0a 66 63 62 5f 52 45 43 53 49 5a 20 20 44 57 09 20 20 20 20 3f 09 .DW.....?..fcb_RECSIZ..DW.....?.
39060 20 20 20 20 3b 20 53 69 7a 65 20 6f 66 20 72 65 63 6f 72 64 20 28 75 73 65 72 20 73 65 74 74 61 ....;.Size.of.record.(user.setta
39080 62 6c 65 29 0d 0a 66 63 62 5f 46 49 4c 53 49 5a 20 20 44 57 09 20 20 20 20 3f 09 20 20 20 20 3b ble)..fcb_FILSIZ..DW.....?.....;
390a0 20 53 69 7a 65 20 6f 66 20 66 69 6c 65 20 69 6e 20 62 79 74 65 73 3b 01 20 75 73 65 64 20 77 69 .Size.of.file.in.bytes;..used.wi
390c0 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0d 0a 09 09 09 20 20 20 20 3b 20 77 6f 72 64 0d th.the.following.........;.word.
390e0 0a 66 63 62 5f 44 52 56 42 50 20 20 20 44 57 09 20 20 20 20 3f 09 20 20 20 20 3b 20 42 50 20 66 .fcb_DRVBP...DW.....?.....;.BP.f
39100 6f 72 20 53 45 41 52 43 48 20 46 49 52 53 54 20 61 6e 64 20 53 45 41 52 43 48 20 4e 45 58 54 0d or.SEARCH.FIRST.and.SEARCH.NEXT.
39120 0a 66 63 62 5f 46 44 41 54 45 20 20 20 44 57 09 20 20 20 20 3f 09 20 20 20 20 3b 20 44 61 74 65 .fcb_FDATE...DW.....?.....;.Date
39140 20 6f 66 20 6c 61 73 74 20 77 72 69 74 69 6e 67 0d 0a 66 63 62 5f 46 54 49 4d 45 20 20 20 44 57 .of.last.writing..fcb_FTIME...DW
39160 09 20 20 20 20 3f 09 20 20 20 20 3b 20 54 69 6d 65 20 6f 66 20 6c 61 73 74 20 77 72 69 74 69 6e .....?.....;.Time.of.last.writin
39180 67 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d g..;----+----+----+----+----+---
391a0 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b -+----+----+----+----+----+----+
391c0 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 3b 09 20 20 20 20 20 43 09 41 20 20 56 20 20 ----+----+----;..;......C.A..V..
391e0 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 41 20 20 4d 20 20 4d 20 E..A..T...P..R.O..G..R..A..M..M.
39200 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 66 63 62 .E..R.....;..;............;..fcb
39220 5f 44 45 56 49 44 20 20 20 44 42 09 20 20 20 20 3f 09 20 20 20 20 3b 20 44 65 76 69 63 65 20 49 _DEVID...DB.....?.....;.Device.I
39240 44 20 6e 75 6d 62 65 72 2c 20 62 69 74 73 20 30 2d 35 20 69 66 20 66 69 6c 65 2e 0d 0a 09 09 09 D.number,.bits.0-5.if.file......
39260 20 20 20 20 3b 20 62 69 74 20 37 3d 30 20 66 6f 72 20 66 69 6c 65 2c 20 62 69 74 20 37 3d 31 20 ....;.bit.7=0.for.file,.bit.7=1.
39280 66 6f 72 20 49 2f 4f 20 64 65 76 69 63 65 0d 0a 09 09 09 20 20 20 20 3b 20 49 66 20 66 69 6c 65 for.I/O.device.........;.If.file
392a0 2c 20 62 69 74 20 36 3d 30 20 69 66 20 64 69 72 74 79 0d 0a 09 09 09 20 01 20 20 20 3b 20 49 66 ,.bit.6=0.if.dirty..........;.If
392c0 20 49 2f 4f 20 64 65 76 69 63 65 2c 20 62 69 74 20 36 3d 30 20 69 66 20 45 4f 46 20 28 69 6e 70 .I/O.device,.bit.6=0.if.EOF.(inp
392e0 75 74 29 0d 0a 09 09 09 20 20 20 20 3b 09 09 20 20 20 20 42 69 74 20 35 3d 31 20 69 66 20 52 61 ut).........;......Bit.5=1.if.Ra
39300 77 20 6d 6f 64 65 0d 0a 09 09 09 20 20 20 20 3b 09 09 20 20 20 20 42 69 74 20 30 3d 31 20 69 66 w.mode.........;......Bit.0=1.if
39320 20 63 6f 6e 73 6f 6c 65 20 69 6e 70 75 74 20 64 65 76 69 63 65 0d 0a 09 09 09 20 20 20 20 3b 09 .console.input.device.........;.
39340 09 20 20 20 20 42 69 74 20 31 3d 31 20 69 66 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 20 64 .....Bit.1=1.if.console.output.d
39360 65 76 69 63 65 0d 0a 09 09 09 20 20 20 20 3b 09 09 20 20 20 20 42 69 74 20 32 3d 31 20 69 66 20 evice.........;......Bit.2=1.if.
39380 6e 75 6c 6c 20 64 65 76 69 63 65 0d 0a 09 09 09 20 20 20 20 3b 09 09 20 20 20 20 42 69 74 20 33 null.device.........;......Bit.3
393a0 3d 31 20 69 66 20 63 6c 6f 63 6b 20 64 65 76 69 63 65 0d 0a 66 63 62 5f 46 49 52 43 4c 55 53 20 =1.if.clock.device..fcb_FIRCLUS.
393c0 44 57 09 20 20 20 20 3f 09 20 20 20 20 3b 20 46 69 72 73 74 20 63 6c 75 73 74 65 72 20 6f 66 20 DW.....?.....;.First.cluster.of.
393e0 66 69 6c 65 0d 0a 66 63 62 5f 43 4c 55 53 50 4f 53 20 44 57 09 20 20 20 20 3f 09 20 20 20 20 3b file..fcb_CLUSPOS.DW.....?.....;
39400 20 50 6f 73 69 74 69 6f 6e 20 6f 66 20 6c 61 73 74 20 63 6c 75 73 74 65 72 20 61 63 63 65 73 73 .Position.of.last.cluster.access
39420 65 64 0d 0a 66 63 62 5f 4c 53 54 43 4c 55 53 20 44 57 09 20 20 20 20 3f 09 20 20 20 20 3b 20 4c ed..fcb_LSTCLUS.DW.....?.....;.L
39440 61 73 74 20 63 6c 75 73 74 65 72 20 61 63 63 65 73 73 65 64 20 61 6e 64 20 64 69 72 65 63 74 6f ast.cluster.accessed.and.directo
39460 72 79 20 70 61 63 6b 20 32 20 31 32 0d 0a 09 20 20 20 20 44 42 09 20 20 20 20 3f 09 20 20 20 20 ry.pack.2.12.......DB.....?.....
39480 3b 20 62 69 74 20 6e 75 6d 62 65 72 73 20 69 6e 74 6f 20 32 34 20 62 69 74 73 2e 2e 2e 0d 0a 3b ;.bit.numbers.into.24.bits.....;
394a0 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 3b 09 20 20 20 20 20 43 09 41 01 20 20 56 20 20 45 ............;..;......C.A...V..E
394c0 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 41 20 20 4d 20 20 4d 20 20 ..A..T...P..R.O..G..R..A..M..M..
394e0 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d E..R.....;..;----+----+----+----
39500 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d +----+----+----+----+----+----+-
39520 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 66 63 62 5f 4e 52 ---+----+----+----+----;..fcb_NR
39540 09 20 20 20 20 44 42 09 20 20 20 20 3f 09 20 20 20 20 3b 20 4e 65 78 74 20 72 65 63 6f 72 64 0d .....DB.....?.....;.Next.record.
39560 0a 66 63 62 5f 52 52 09 20 20 20 20 44 42 09 20 20 20 20 34 20 44 55 50 20 28 3f 29 09 09 20 20 .fcb_RR.....DB.....4.DUP.(?)....
39580 20 20 3b 20 52 61 6e 64 6f 6d 20 72 65 63 6f 72 64 0d 0a 73 79 73 5f 66 63 62 09 20 20 20 20 45 ..;.Random.record..sys_fcb.....E
395a0 4e 44 53 0d 0a 0d 0a 46 49 4c 44 49 52 45 4e 54 09 3d 20 66 63 62 5f 46 49 4c 53 49 5a 09 09 3b NDS....FILDIRENT.=.fcb_FILSIZ..;
395c0 20 55 73 65 64 20 6f 6e 6c 79 20 62 79 20 53 45 41 52 43 48 20 46 49 52 53 54 20 61 6e 64 20 53 .Used.only.by.SEARCH.FIRST.and.S
395e0 45 41 52 43 48 0d 0a 09 09 09 09 09 3b 20 4e 45 58 54 0d 0a 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d EARCH.......;.NEXT....;----+----
39600 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d +----+----+----+----+----+----+-
39620 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d ---+----+----+----+----+----+---
39640 2d 3b 0d 0a 3b 09 20 20 20 20 20 43 09 41 20 20 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 -;..;......C.A..V..E..A..T...P..
39660 52 09 4f 20 20 47 20 20 52 09 20 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a R.O..G..R..A..M..M..E..R.....;..
39680 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 64 65 76 69 64 5f 66 69 6c 65 5f 63 6c 65 61 6e ;............;..devid_file_clean
396a0 09 45 51 55 09 34 30 68 09 3b 20 74 72 75 65 20 69 66 20 66 69 6c 65 20 61 6e 01 64 20 6e 6f 74 .EQU.40h.;.true.if.file.an.d.not
396c0 20 77 72 69 74 74 65 6e 0d 0a 64 65 76 69 64 5f 66 69 6c 65 5f 6d 61 73 6b 5f 64 72 69 76 65 09 .written..devid_file_mask_drive.
396e0 45 51 55 09 33 46 68 09 3b 20 6d 61 73 6b 20 66 6f 72 20 64 72 69 76 65 20 6e 75 6d 62 65 72 0d EQU.3Fh.;.mask.for.drive.number.
39700 0a 0d 0a 64 65 76 69 64 5f 64 65 76 69 63 65 09 09 45 51 55 09 38 30 68 09 3b 20 74 72 75 65 20 ...devid_device..EQU.80h.;.true.
39720 69 66 20 61 20 64 65 76 69 63 65 0d 0a 64 65 76 69 64 5f 64 65 76 69 63 65 5f 45 4f 46 09 45 51 if.a.device..devid_device_EOF.EQ
39740 55 09 34 30 68 09 3b 20 74 72 75 65 20 69 66 20 65 6e 64 20 6f 66 20 66 69 6c 65 20 72 65 61 63 U.40h.;.true.if.end.of.file.reac
39760 68 65 64 0d 0a 64 65 76 69 64 5f 64 65 76 69 63 65 5f 72 61 77 09 45 51 55 09 32 30 68 09 3b 20 hed..devid_device_raw.EQU.20h.;.
39780 74 72 75 65 20 69 66 20 69 6e 20 72 61 77 20 6d 6f 64 65 0d 0a 64 65 76 69 64 5f 64 65 76 69 63 true.if.in.raw.mode..devid_devic
397a0 65 5f 73 70 65 63 69 61 6c 09 45 51 55 09 49 53 53 50 45 43 09 3b 20 74 72 75 65 20 69 66 20 73 e_special.EQU.ISSPEC.;.true.if.s
397c0 70 65 63 69 61 6c 20 64 65 76 69 63 65 0d 0a 64 65 76 69 64 5f 64 65 76 69 63 65 5f 63 6c 6f 63 pecial.device..devid_device_cloc
397e0 6b 09 45 51 55 09 49 53 43 4c 4f 43 4b 20 3b 20 74 72 75 65 20 69 66 20 63 6c 6f 63 6b 20 64 65 k.EQU.ISCLOCK.;.true.if.clock.de
39800 76 69 63 65 0d 0a 64 65 76 69 64 5f 64 65 76 69 63 65 5f 6e 75 6c 6c 09 45 51 55 09 49 53 4e 55 vice..devid_device_null.EQU.ISNU
39820 4c 4c 09 3b 20 74 72 75 65 20 69 66 20 6e 75 6c 6c 20 64 65 76 69 63 65 0d 0a 64 65 76 69 64 5f LL.;.true.if.null.device..devid_
39840 64 65 76 69 63 65 5f 63 6f 6e 5f 6f 75 74 09 45 51 55 09 49 53 43 4f 55 54 09 3b 20 74 72 75 65 device_con_out.EQU.ISCOUT.;.true
39860 20 69 66 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 0d 0a 64 65 76 69 64 5f 64 65 76 69 63 65 .if.console.output..devid_device
39880 5f 63 6f 6e 5f 69 6e 09 45 51 55 09 49 53 43 49 4e 09 3b 20 74 72 75 65 20 69 66 20 63 6f 6e 73 _con_in.EQU.ISCIN.;.true.if.cons
398a0 6c 65 20 69 6e 70 75 74 0d 0a 0d 0a 3b 0d 0a 3b 20 73 74 72 75 63 74 75 72 65 20 01 6f 66 20 64 le.input....;..;.structure..of.d
398c0 65 76 69 64 20 66 69 65 6c 64 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 49 4f 43 54 4c 20 evid.field.as.returned.by.IOCTL.
398e0 69 73 3a 0d 0a 3b 0d 0a 3b 09 42 49 54 09 37 20 20 20 36 09 35 20 20 20 34 09 33 20 20 20 32 09 is:..;..;.BIT.7...6.5...4.3...2.
39900 31 20 20 20 30 0d 0a 3b 09 20 20 20 20 20 20 7c 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 1...0..;.......|---|---|---|---|
39920 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 0d 0a 3b 09 20 20 20 20 20 20 7c 20 49 20 7c 20 ---|---|---|---|..;.......|.I.|.
39940 45 20 7c 20 52 20 7c 20 53 20 7c 20 49 20 7c 20 49 20 7c 20 49 20 7c 20 49 20 7c 0d 0a 3b 09 20 E.|.R.|.S.|.I.|.I.|.I.|.I.|..;..
39960 20 20 20 20 20 7c 20 53 20 7c 20 4f 20 7c 20 41 20 7c 20 50 20 7c 20 53 20 7c 20 53 20 7c 20 53 .....|.S.|.O.|.A.|.P.|.S.|.S.|.S
39980 20 7c 20 53 20 7c 0d 0a 3b 09 20 20 20 20 20 20 7c 20 44 20 7c 20 46 20 7c 20 57 20 7c 20 45 20 .|.S.|..;.......|.D.|.F.|.W.|.E.
399a0 7c 20 43 20 7c 20 4e 20 7c 20 43 20 7c 20 43 20 7c 0d 0a 3b 09 20 20 20 20 20 20 7c 20 45 20 7c |.C.|.N.|.C.|.C.|..;.......|.E.|
399c0 20 20 20 7c 09 20 20 7c 20 43 20 7c 20 4c 20 7c 20 55 20 7c 20 4f 20 7c 20 49 20 7c 0d 0a 3b 09 ...|...|.C.|.L.|.U.|.O.|.I.|..;.
399e0 20 20 20 20 20 20 7c 20 56 20 7c 20 20 20 7c 09 20 20 7c 20 4c 20 7c 20 4b 20 7c 20 4c 20 7c 20 ......|.V.|...|...|.L.|.K.|.L.|.
39a00 54 20 7c 20 4e 20 7c 0d 0a 3b 09 20 20 20 20 20 20 7c 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d T.|.N.|..;.......|---|---|---|--
39a20 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 2d 2d 2d 7c 0d 0a 3b 09 49 53 44 45 56 20 3d 20 31 20 -|---|---|---|---|..;.ISDEV.=.1.
39a40 69 66 20 74 68 69 73 20 63 68 61 6e 6e 65 6c 20 69 73 20 61 20 64 65 76 69 63 65 0d 0a 3b 09 20 if.this.channel.is.a.device..;..
39a60 20 20 20 20 20 3d 20 30 20 69 66 20 74 68 69 73 20 63 68 61 6e 6e 65 6c 20 69 73 20 61 20 64 69 .....=.0.if.this.channel.is.a.di
39a80 73 6b 20 66 69 6c 65 0d 0a 3b 0d 0a 3b 09 49 66 20 49 53 44 45 56 20 3d 20 31 0d 0a 3b 0d 0a 3b sk.file..;..;.If.ISDEV.=.1..;..;
39aa0 09 20 20 20 20 20 20 45 4f 46 20 3d 20 30 20 69 66 20 45 6e 64 20 4f 66 20 46 69 6c 05 19 01 09 .......EOF.=.0.if.End.Of.Fil....
39ac0 02 01 02 03 04 05 06 07 08 09 01 65 20 6f 6e 20 69 6e 70 75 74 0d 0a 3b 09 20 20 20 20 20 20 52 ...........e.on.input..;.......R
39ae0 41 57 20 3d 20 31 20 69 66 20 74 68 69 73 20 64 65 76 69 63 65 20 69 73 20 69 6e 20 52 61 77 20 AW.=.1.if.this.device.is.in.Raw.
39b00 6d 6f 64 65 0d 0a 3b 09 09 20 20 3d 20 30 20 69 66 20 74 68 69 73 20 64 65 76 69 63 65 20 69 73 mode..;....=.0.if.this.device.is
39b20 20 63 6f 6f 6b 65 64 0d 0a 3b 09 20 20 20 20 20 20 49 53 43 4c 4b 20 3d 20 31 20 69 66 20 74 68 .cooked..;.......ISCLK.=.1.if.th
39b40 69 73 20 64 65 76 69 63 65 20 69 73 20 74 68 65 20 63 6c 6f 63 6b 20 64 65 76 69 63 65 0d 0a 3b is.device.is.the.clock.device..;
39b60 09 20 20 20 20 20 20 49 53 4e 55 4c 20 3d 20 31 20 69 66 20 74 68 69 73 20 64 65 76 69 63 65 20 .......ISNUL.=.1.if.this.device.
39b80 69 73 20 74 68 65 20 6e 75 6c 6c 20 64 65 76 69 63 65 0d 0a 3b 09 20 20 20 20 20 20 49 53 43 4f is.the.null.device..;.......ISCO
39ba0 54 20 3d 20 31 20 69 66 20 74 68 69 73 20 64 65 76 69 63 65 20 69 73 20 74 68 65 20 63 6f 6e 73 T.=.1.if.this.device.is.the.cons
39bc0 6f 6c 65 20 6f 75 74 70 75 74 0d 0a 3b 09 20 20 20 20 20 20 49 53 43 49 4e 20 3d 20 31 20 69 66 ole.output..;.......ISCIN.=.1.if
39be0 20 74 68 69 73 20 64 65 76 69 63 65 20 69 73 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 69 6e 70 75 .this.device.is.the.console.inpu
39c00 74 0d 0a 3b 0d 0a 3b 09 49 66 20 49 53 44 45 56 20 3d 20 30 0d 0a 3b 09 20 20 20 20 20 20 45 4f t..;..;.If.ISDEV.=.0..;.......EO
39c20 46 20 3d 20 30 20 69 66 20 63 68 61 6e 6e 65 6c 20 68 61 73 20 62 65 65 6e 20 77 72 69 74 74 65 F.=.0.if.channel.has.been.writte
39c40 6e 0d 0a 3b 09 20 20 20 20 20 20 42 69 74 73 20 30 2d 35 09 61 72 65 20 20 74 68 65 20 20 62 6c n..;.......Bits.0-5.are..the..bl
39c60 6f 63 6b 09 20 64 65 76 69 63 65 09 20 6e 75 6d 62 65 72 09 20 66 6f 72 0d 0a 3b 09 09 20 20 74 ock..device..number..for..;....t
39c80 68 65 20 63 68 61 6e 6e 65 6c 20 28 30 20 3d 20 41 2c 20 31 20 3d 20 42 2c 20 2e 2e 2e 29 0d 0a he.channel.(0.=.A,.1.=.B,....)..
39ca0 0d 0a 64 65 76 69 64 5f 49 53 44 45 56 09 45 51 55 09 64 65 76 69 64 5f 64 65 76 69 63 65 0d 0a ..devid_ISDEV.EQU.devid_device..
39cc0 0d 0a 0d 0a 64 65 76 69 64 5f 45 01 4f 46 09 45 51 55 09 64 65 76 69 64 5f 64 65 76 69 63 65 5f ....devid_E.OF.EQU.devid_device_
39ce0 45 4f 46 09 3b 20 6d 65 61 6e 69 6e 67 20 69 66 66 20 64 65 76 69 64 5f 49 53 44 45 56 20 73 65 EOF.;.meaning.iff.devid_ISDEV.se
39d00 74 0d 0a 64 65 76 69 64 5f 52 41 57 09 45 51 55 09 64 65 76 69 64 5f 64 65 76 69 63 65 5f 72 61 t..devid_RAW.EQU.devid_device_ra
39d20 77 09 3b 09 09 22 0d 0a 64 65 76 69 64 5f 53 50 45 43 49 41 4c 09 45 51 55 09 64 65 76 69 64 5f w.;.."..devid_SPECIAL.EQU.devid_
39d40 64 65 76 69 63 65 5f 73 70 65 63 69 61 6c 09 3b 09 09 22 0d 0a 64 65 76 69 64 5f 49 53 43 4c 4b device_special.;.."..devid_ISCLK
39d60 09 45 51 55 09 64 65 76 69 64 5f 64 65 76 69 63 65 5f 63 6c 6f 63 6b 09 3b 09 09 22 0d 0a 64 65 .EQU.devid_device_clock.;.."..de
39d80 76 69 64 5f 49 53 4e 55 4c 09 45 51 55 09 64 65 76 69 64 5f 64 65 76 69 63 65 5f 6e 75 6c 6c 09 vid_ISNUL.EQU.devid_device_null.
39da0 3b 09 09 22 0d 0a 64 65 76 69 64 5f 49 53 43 4f 54 09 45 51 55 09 64 65 76 69 64 5f 64 65 76 69 ;.."..devid_ISCOT.EQU.devid_devi
39dc0 63 65 5f 63 6f 6e 5f 6f 75 74 09 3b 09 09 22 0d 0a 64 65 76 69 64 5f 49 53 43 49 4e 09 45 51 55 ce_con_out.;.."..devid_ISCIN.EQU
39de0 09 64 65 76 69 64 5f 64 65 76 69 63 65 5f 63 6f 6e 5f 69 6e 09 3b 09 09 22 0d 0a 0d 0a 64 65 76 .devid_device_con_in.;.."....dev
39e00 69 64 5f 62 6c 6f 63 6b 5f 64 65 76 20 45 51 55 09 31 46 68 09 09 3b 20 6d 61 73 6b 20 66 6f 72 id_block_dev.EQU.1Fh..;.mask.for
39e20 20 62 6c 6f 63 6b 20 64 65 76 69 63 65 20 6e 75 6d 62 65 72 0d 0a 0d 0a 3b 0d 0a 3b 20 66 69 6e .block.device.number....;..;.fin
39e40 64 20 66 69 72 73 74 2f 6e 65 78 74 20 62 75 66 66 65 72 0d 0a 3b 0d 0a 66 69 6e 64 5f 62 75 66 d.first/next.buffer..;..find_buf
39e60 20 20 20 20 53 54 52 55 43 0d 0a 66 69 6e 64 5f 62 75 66 5f 73 61 74 74 72 09 20 20 20 20 44 42 ....STRUC..find_buf_sattr.....DB
39e80 09 3f 09 20 20 20 20 3b 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 73 65 61 72 63 68 0d 0a 66 69 .?.....;.attribute.of.search..fi
39ea0 6e 64 5f 62 75 66 5f 64 72 69 76 65 09 20 20 20 20 44 42 09 3f 09 20 20 20 20 3b 20 64 72 69 76 nd_buf_drive.....DB.?.....;.driv
39ec0 65 20 6f 66 20 73 65 61 72 63 68 0d 01 0a 66 69 6e 64 5f 62 75 66 5f 6e 61 6d 65 09 20 20 20 20 e.of.search...find_buf_name.....
39ee0 44 42 09 31 31 20 44 55 50 20 28 3f 29 20 20 3b 20 66 6f 72 6d 61 74 74 65 64 20 6e 61 6d 65 0d DB.11.DUP.(?)..;.formatted.name.
39f00 0a 66 69 6e 64 5f 62 75 66 5f 4c 61 73 74 45 6e 74 20 20 20 20 44 57 09 3f 09 20 20 20 20 3b 20 .find_buf_LastEnt....DW.?.....;.
39f20 4c 61 73 74 45 6e 74 0d 0a 66 69 6e 64 5f 62 75 66 5f 54 68 69 73 44 50 42 20 20 20 20 44 44 09 LastEnt..find_buf_ThisDPB....DD.
39f40 3f 09 20 20 20 20 3b 20 54 68 69 73 20 44 50 42 0d 0a 66 69 6e 64 5f 62 75 66 5f 44 69 72 53 74 ?.....;.This.DPB..find_buf_DirSt
39f60 61 72 74 20 20 20 44 57 09 3f 09 20 20 20 20 3b 20 44 69 72 53 74 61 72 74 0d 0a 3b 09 09 09 09 art...DW.?.....;.DirStart..;....
39f80 09 09 09 09 09 20 20 20 3b 0d 0a 3b 09 20 20 20 20 20 43 09 41 20 20 56 20 20 45 09 20 41 20 20 ........;..;......C.A..V..E..A..
39fa0 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 T...P..R.O..G..R..A..M..M..E..R.
39fc0 09 20 20 20 3b 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d ....;..;----+----+----+----+----
39fe0 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d +----+----+----+----+----+----+-
3a000 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 0d 0a 66 69 6e 64 5f 62 75 66 5f ---+----+----+----;....find_buf_
3a020 61 74 74 72 09 20 20 20 20 44 42 09 3f 09 20 20 20 20 3b 20 61 74 74 72 69 62 75 74 65 20 66 6f attr.....DB.?.....;.attribute.fo
3a040 75 6e 64 0d 0a 66 69 6e 64 5f 62 75 66 5f 74 69 6d 65 09 20 20 20 20 44 57 09 3f 09 20 20 20 20 und..find_buf_time.....DW.?.....
3a060 3b 20 74 69 6d 65 0d 0a 66 69 6e 64 5f 62 75 66 5f 64 61 74 65 09 20 20 20 20 44 57 09 3f 09 20 ;.time..find_buf_date.....DW.?..
3a080 20 20 20 3b 20 64 61 74 65 0d 0a 66 69 6e 64 5f 62 75 66 5f 73 69 7a 65 5f 6c 09 20 20 20 20 44 ...;.date..find_buf_size_l.....D
3a0a0 57 09 3f 09 20 20 20 20 3b 20 6c 6f 77 28 73 69 7a 65 29 0d 0a 66 69 6e 64 5f 62 75 66 5f 73 69 W.?.....;.low(size)..find_buf_si
3a0c0 7a 65 5f 68 09 20 20 20 20 44 57 09 3f 01 09 20 20 20 20 3b 20 68 69 67 68 28 73 69 7a 65 29 0d ze_h.....DW.?......;.high(size).
3a0e0 0a 66 69 6e 64 5f 62 75 66 5f 70 6e 61 6d 65 09 20 20 20 20 44 42 09 31 33 20 44 55 50 20 28 3f .find_buf_pname.....DB.13.DUP.(?
3a100 29 20 20 3b 20 70 61 63 6b 65 64 20 6e 61 6d 65 0d 0a 66 69 6e 64 5f 62 75 66 20 20 20 20 45 4e )..;.packed.name..find_buf....EN
3a120 44 53 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 DS..............................
3a140 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a160 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a180 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a1a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a1c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a1e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a200 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a220 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a240 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a260 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a280 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a2a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a2c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 73 73 20 69 73 20 61 6c 6c 6f 63 61 74 69 6e 67 20 ...............ss.is.allocating.
3a2e0 63 6c 75 73 74 65 72 73 0d 0a 44 50 42 5f 41 57 41 4e 54 09 45 51 55 09 32 09 3b 20 73 6f 6d 65 clusters..DPB_AWANT.EQU.2.;.some
3a300 20 70 72 6f 63 65 73 73 20 77 61 69 74 69 6e 67 20 74 6f 20 61 6c 6c 6f 63 61 74 65 0d 0a 44 50 .process.waiting.to.allocate..DP
3a320 42 5f 46 42 55 53 59 09 45 51 55 09 34 09 3b 20 73 6f 6d 65 20 70 72 6f 63 65 73 73 20 69 73 20 B_FBUSY.EQU.4.;.some.process.is.
3a340 72 65 61 64 69 6e 67 20 46 41 54 0d 0a 44 50 42 5f 46 57 41 4e 54 09 45 51 55 09 38 09 3b 20 73 reading.FAT..DPB_FWANT.EQU.8.;.s
3a360 6f 6d 65 20 70 72 6f 63 65 73 73 20 77 61 69 74 69 6e 67 20 74 6f 20 72 65 61 64 20 46 41 54 0d ome.process.waiting.to.read.FAT.
3a380 0a 0d 0a 44 53 4b 53 49 5a 09 3d 09 64 70 62 5f 6d 61 78 5f 63 6c 75 73 74 65 72 20 3b 20 53 69 ...DSKSIZ.=.dpb_max_cluster.;.Si
3a3a0 7a 65 20 6f 66 20 64 69 73 6b 20 28 74 65 6d 70 20 75 73 65 64 20 64 75 72 69 6e 67 20 69 6e 69 ze.of.disk.(temp.used.during.ini
3a3c0 74 20 6f 6e 6c 79 29 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 3b 09 20 20 20 20 20 t.only)..;............;..;......
3a3e0 43 09 41 20 20 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 C.A..V..E..A..T...P..R.O..G..R..
3a400 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b A..M..M..E..R.....;..;----+----+
3a420 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d ----+----+----+----+----+----+--
3a440 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d --+----+----+----+----+----+----
3a460 3b 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ;...............................
3a480 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a4a0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3a4c0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 01 3b 2a 09 44 72 69 76 65 20 50 61 72 61 6d 65 74 ................;*.Drive.Paramet
3a4e0 65 72 20 42 6c 6f 63 6b 0d 0a 3b 0d 0a 3b 09 56 69 74 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e er.Block..;..;.Vital.information
3a500 20 61 62 6f 75 74 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 61 20 64 69 73 6b 20 64 72 69 76 .about.the.format.of.a.disk.driv
3a520 65 2e 0d 0a 0d 0a 3b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b e.....;----+----+----+----+----+
3a540 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d ----+----+----+----+----+----+--
3a560 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 3b 0d 0a 3b 09 20 20 20 20 20 43 09 41 20 20 --+----+----+----;..;......C.A..
3a580 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 20 52 09 20 41 20 20 4d 20 V..E..A..T...P..R.O..G..R..A..M.
3a5a0 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a .M..E..R.....;..;............;..
3a5c0 0d 0a 44 49 52 53 54 52 4c 45 4e 09 45 51 55 09 36 34 09 3b 20 4d 61 78 20 6c 65 6e 67 74 68 20 ..DIRSTRLEN.EQU.64.;.Max.length.
3a5e0 69 6e 20 62 79 74 65 73 20 6f 66 20 64 69 72 65 63 74 6f 72 79 20 73 74 72 69 6e 67 73 0d 0a 0d in.bytes.of.directory.strings...
3a600 0a 64 70 62 09 53 54 52 55 43 0d 0a 64 70 62 5f 64 72 69 76 65 09 20 20 20 20 44 42 09 20 20 20 .dpb.STRUC..dpb_drive.....DB....
3a620 20 3f 09 3b 20 4c 6f 67 69 63 61 6c 20 64 72 69 76 65 20 23 20 61 73 73 6f 63 20 77 69 74 68 20 .?.;.Logical.drive.#.assoc.with.
3a640 44 50 42 20 28 41 3d 30 2c 42 3d 31 2c 2e 2e 2e 29 0d 0a 64 70 62 5f 55 4e 49 54 09 20 20 20 20 DPB.(A=0,B=1,...)..dpb_UNIT.....
3a660 44 42 09 20 20 20 20 3f 09 3b 20 44 72 69 76 65 72 20 75 6e 69 74 20 6e 75 6d 62 65 72 20 6f 66 DB.....?.;.Driver.unit.number.of
3a680 20 44 50 42 0d 0a 64 70 62 5f 73 65 63 74 6f 72 5f 73 69 7a 65 09 20 20 20 20 44 57 09 20 20 20 .DPB..dpb_sector_size.....DW....
3a6a0 20 3f 09 3b 20 53 69 7a 65 20 6f 66 20 70 68 79 73 69 63 61 6c 20 73 65 63 74 6f 72 20 69 6e 20 .?.;.Size.of.physical.sector.in.
3a6c0 62 79 74 65 73 0d 0a 64 70 62 5f 63 6c 75 73 74 01 65 72 5f 6d 61 73 6b 20 20 20 20 44 42 09 20 bytes..dpb_clust.er_mask....DB..
3a6e0 20 20 20 3f 09 3b 20 53 65 63 74 6f 72 73 2f 63 6c 75 73 74 65 72 20 2d 20 31 0d 0a 64 70 62 5f ...?.;.Sectors/cluster.-.1..dpb_
3a700 63 6c 75 73 74 65 72 5f 73 68 69 66 74 20 20 20 44 42 09 20 20 20 20 3f 09 3b 20 4c 6f 67 32 20 cluster_shift...DB.....?.;.Log2.
3a720 6f 66 20 73 65 63 74 6f 72 73 2f 63 6c 75 73 74 65 72 0d 0a 64 70 62 5f 66 69 72 73 74 5f 46 41 of.sectors/cluster..dpb_first_FA
3a740 54 09 20 20 20 20 44 57 09 20 20 20 20 3f 09 3b 20 53 74 61 72 74 69 6e 67 20 72 65 63 6f 72 64 T.....DW.....?.;.Starting.record
3a760 20 6f 66 20 46 41 54 73 0d 0a 64 70 62 5f 46 41 54 5f 63 6f 75 6e 74 09 20 20 20 20 44 42 09 20 .of.FATs..dpb_FAT_count.....DB..
3a780 20 20 20 3f 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 46 41 54 73 20 66 6f 72 20 74 68 69 73 20 64 ...?.;.Number.of.FATs.for.this.d
3a7a0 72 69 76 65 0d 0a 64 70 62 5f 72 6f 6f 74 5f 65 6e 74 72 69 65 73 20 20 20 20 44 57 09 20 20 20 rive..dpb_root_entries....DW....
3a7c0 20 3f 09 3b 20 4e 75 6d 62 65 72 20 6f 66 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 .?.;.Number.of.directory.entries
3a7e0 0d 0a 64 70 62 5f 66 69 72 73 74 5f 73 65 63 74 6f 72 20 20 20 20 44 57 09 20 20 20 20 3f 09 3b ..dpb_first_sector....DW.....?.;
3a800 20 46 69 72 73 74 20 73 65 63 74 6f 72 20 6f 66 20 66 69 72 73 74 20 63 6c 75 73 74 65 72 0d 0a .First.sector.of.first.cluster..
3a820 64 70 62 5f 6d 61 78 5f 63 6c 75 73 74 65 72 09 20 20 20 20 44 57 09 20 20 20 20 3f 09 3b 20 4e dpb_max_cluster.....DW.....?.;.N
3a840 75 6d 62 65 72 20 6f 66 20 63 6c 75 73 74 65 72 73 20 6f 6e 20 64 72 69 76 65 20 2b 20 31 0d 0a umber.of.clusters.on.drive.+.1..
3a860 64 70 62 5f 46 41 54 5f 73 69 7a 65 09 20 20 20 20 44 42 09 20 20 20 20 3f 09 3b 20 4e 75 6d 62 dpb_FAT_size.....DB.....?.;.Numb
3a880 65 72 20 6f 66 20 72 65 63 6f 72 64 73 20 6f 63 63 75 70 69 65 64 20 62 79 20 46 41 54 0d 0a 64 er.of.records.occupied.by.FAT..d
3a8a0 70 62 5f 64 69 72 5f 73 65 63 74 6f 72 09 20 20 20 20 44 57 09 20 20 20 20 3f 09 3b 20 53 74 61 pb_dir_sector.....DW.....?.;.Sta
3a8c0 72 74 69 6e 67 20 72 65 63 6f 72 64 20 6f 66 20 64 01 69 72 65 63 74 6f 72 79 0d 0a 64 70 62 5f rting.record.of.d.irectory..dpb_
3a8e0 64 72 69 76 65 72 5f 61 64 64 72 09 20 20 20 20 44 44 09 20 20 20 20 3f 09 3b 20 50 6f 69 6e 74 driver_addr.....DD.....?.;.Point
3a900 65 72 20 74 6f 20 64 72 69 76 65 72 0d 0a 64 70 62 5f 6d 65 64 69 61 09 20 20 20 20 44 42 09 20 er.to.driver..dpb_media.....DB..
3a920 20 20 20 3f 09 3b 20 4d 65 64 69 61 20 62 79 74 65 0d 0a 64 70 62 5f 66 69 72 73 74 5f 61 63 63 ...?.;.Media.byte..dpb_first_acc
3a940 65 73 73 20 20 20 20 44 42 09 20 20 20 20 3f 09 3b 20 54 68 69 73 20 69 73 20 69 6e 69 74 69 61 ess....DB.....?.;.This.is.initia
3a960 6c 69 7a 65 64 20 74 6f 20 2d 31 20 74 6f 20 66 6f 72 63 65 20 61 20 6d 65 64 69 61 0d 0a 09 09 lized.to.-1.to.force.a.media....
3a980 09 09 3b 20 63 68 65 63 6b 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 74 68 69 73 20 44 50 ..;.check.the.first.time.this.DP
3a9a0 42 20 69 73 20 75 73 65 64 0d 0a 64 70 62 5f 6e 65 78 74 5f 64 70 62 09 20 20 20 20 44 44 09 20 B.is.used..dpb_next_dpb.....DD..
3a9c0 20 20 20 3f 09 3b 20 50 6f 69 6e 74 65 72 20 74 6f 20 6e 65 78 74 20 44 72 69 76 65 20 70 61 72 ...?.;.Pointer.to.next.Drive.par
3a9e0 61 6d 65 74 65 72 20 62 6c 6f 63 6b 0d 0a 64 70 62 5f 6e 65 78 74 5f 66 72 65 65 09 20 20 20 20 ameter.block..dpb_next_free.....
3aa00 44 57 09 20 20 20 20 3f 09 3b 20 63 6c 75 73 74 65 72 20 23 20 6f 66 20 6c 61 73 74 20 66 72 65 DW.....?.;.cluster.#.of.last.fre
3aa20 65 20 63 6c 75 73 20 61 6c 6c 6f 63 61 74 65 64 20 2d 20 31 0d 0a 64 70 62 5f 66 6c 61 67 73 09 e.clus.allocated.-.1..dpb_flags.
3aa40 20 20 20 20 44 42 09 20 20 20 20 3f 09 3b 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 66 ....DB.....?.;.synchronization.f
3aa60 6c 61 67 73 20 28 73 65 65 20 62 65 6c 6f 77 29 0d 0a 64 70 62 09 45 4e 44 53 0d 0a 0d 0a 44 50 lags.(see.below)..dpb.ENDS....DP
3aa80 42 53 49 5a 09 45 51 55 09 53 49 5a 45 20 64 70 62 09 3b 20 53 69 7a 65 20 6f 66 20 74 68 65 20 BSIZ.EQU.SIZE.dpb.;.Size.of.the.
3aaa0 73 74 72 75 63 74 75 72 65 20 69 6e 20 62 79 74 65 73 0d 0a 0d 0a 44 50 42 5f 41 42 55 53 59 09 structure.in.bytes....DPB_ABUSY.
3aac0 45 51 55 09 31 09 3b 20 73 6f 6d 65 20 70 72 6f 63 65 01 73 73 20 69 73 20 61 6c 6c 6f 63 61 74 EQU.1.;.some.proce.ss.is.allocat
3aae0 69 6e 67 20 63 6c 75 73 74 65 72 73 0d 0a 44 50 42 5f 41 57 41 4e 54 09 45 51 55 09 32 09 3b 20 ing.clusters..DPB_AWANT.EQU.2.;.
3ab00 73 6f 6d 65 20 70 72 6f 63 65 73 73 20 77 61 69 74 69 6e 67 20 74 6f 20 61 6c 6c 6f 63 61 74 65 some.process.waiting.to.allocate
3ab20 0d 0a 44 50 42 5f 46 42 55 53 59 09 45 51 55 09 34 09 3b 20 73 6f 6d 65 20 70 72 6f 63 65 73 73 ..DPB_FBUSY.EQU.4.;.some.process
3ab40 20 69 73 20 72 65 61 64 69 6e 67 20 46 41 54 0d 0a 44 50 42 5f 46 57 41 4e 54 09 45 51 55 09 38 .is.reading.FAT..DPB_FWANT.EQU.8
3ab60 09 3b 20 73 6f 6d 65 20 70 72 6f 63 65 73 73 20 77 61 69 74 69 6e 67 20 74 6f 20 72 65 61 64 20 .;.some.process.waiting.to.read.
3ab80 46 41 54 0d 0a 0d 0a 44 53 4b 53 49 5a 09 3d 09 64 70 62 5f 6d 61 78 5f 63 6c 75 73 74 65 72 20 FAT....DSKSIZ.=.dpb_max_cluster.
3aba0 3b 20 53 69 7a 65 20 6f 66 20 64 69 73 6b 20 28 74 65 6d 70 20 75 73 65 64 20 64 75 72 69 6e 67 ;.Size.of.disk.(temp.used.during
3abc0 20 69 6e 69 74 20 6f 6e 6c 79 29 0d 0a 3b 09 09 09 09 09 09 09 09 09 20 20 20 3b 0d 0a 3b 09 20 .init.only)..;............;..;..
3abe0 20 20 20 20 43 09 41 20 20 56 20 20 45 09 20 41 20 20 54 09 20 20 50 20 20 52 09 4f 20 20 47 20 ....C.A..V..E..A..T...P..R.O..G.
3ac00 20 52 09 20 41 20 20 4d 20 20 4d 20 20 45 20 20 52 09 09 20 20 20 3b 0d 0a 3b 2d 2d 2d 2d 2b 2d .R..A..M..M..E..R.....;..;----+-
3ac20 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d ---+----+----+----+----+----+---
3ac40 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b -+----+----+----+----+----+----+
3ac60 2d 2d 2d 2d 3b 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ----;...........................
3ac80 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3aca0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3acc0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 05 1a 00 09 02 01 02 03 04 05 06 07 08 ................................
3ace0 09 01 3b 09 54 65 72 6d 63 61 70 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 63 61 70 61 62 ..;.Termcap.description.of.capab
3ad00 69 6c 69 74 69 65 73 3a 0d 0a 0d 0a 3b 69 62 6d 61 6e 73 34 3a 6d 74 63 6f 6e 3a 49 42 4d 20 50 ilities:....;ibmans4:mtcon:IBM.P
3ad20 43 20 77 69 74 68 20 56 34 2e 30 20 41 4e 53 49 20 64 72 69 76 65 72 3a 5c 0d 0a 3b 09 3a 61 6c C.with.V4.0.ANSI.driver:\..;.:al
3ad40 3d 5c 45 5b 4c 3a 61 6d 3a 62 73 3a 63 65 3d 5c 45 5b 4b 3a 63 6c 3d 5c 45 5b 32 4a 5c 45 5b 48 =\E[L:am:bs:ce=\E[K:cl=\E[2J\E[H
3ad60 3a 63 6d 3d 5c 45 5b 25 3b 25 48 3a 63 6f 23 38 30 3a 5c 0d 0a 3b 09 3a 64 6c 3d 5c 45 5b 4d 3a :cm=\E[%;%H:co#80:\..;.:dl=\E[M:
3ad80 64 6f 3d 5c 45 5b 42 3a 68 6f 3d 5c 45 5b 48 3a 6c 69 23 32 34 3a 6d 69 3a 6e 64 3d 5c 45 5b 43 do=\E[B:ho=\E[H:li#24:mi:nd=\E[C
3ada0 3a 5c 0d 0a 3b 09 3a 6d 73 3a 70 74 3a 73 65 3d 5c 45 5b 6d 3a 73 6f 3d 5c 45 5b 31 3b 33 36 6d :\..;.:ms:pt:se=\E[m:so=\E[1;36m
3adc0 3a 75 70 3d 5c 45 5b 41 3a 5c 0d 0a 3b 09 3a 6b 62 3d 5e 68 3a 6b 75 3d 5c 45 5b 41 3a 6b 64 3d :up=\E[A:\..;.:kb=^h:ku=\E[A:kd=
3ade0 5c 45 5b 42 3a 6b 6c 3d 5c 45 5b 44 3a 6b 72 3d 5c 45 5b 43 3a 6b 68 3d 5c 45 5b 48 3a 6b 6e 23 \E[B:kl=\E[D:kr=\E[C:kh=\E[H:kn#
3ae00 38 3a 5c 0d 0a 3b 09 3a 6b 31 3d 5c 45 53 3a 6b 32 3d 5c 45 54 3a 6b 33 3d 5c 45 55 3a 6b 34 3d 8:\..;.:k1=\ES:k2=\ET:k3=\EU:k4=
3ae20 5c 45 56 3a 6b 35 3d 5c 45 57 3a 5c 0d 0a 3b 09 3a 6b 36 3d 5c 45 50 3a 6b 37 3d 5c 45 51 3a 6b \EV:k5=\EW:\..;.:k6=\EP:k7=\EQ:k
3ae40 38 3d 5c 45 52 3a 0d 0a 0d 0a 43 4d 44 54 41 42 4c 20 44 42 09 27 41 27 0d 0a 09 44 57 09 43 55 8=\ER:....CMDTABL.DB.'A'...DW.CU
3ae60 55 09 09 3b 43 55 72 73 6f 72 20 55 70 0d 0a 09 44 42 09 27 42 27 0d 0a 09 44 57 09 43 55 44 09 U..;CUrsor.Up...DB.'B'...DW.CUD.
3ae80 09 3b 43 55 72 73 6f 72 20 44 6f 77 6e 0d 0a 09 44 42 09 27 43 27 0d 0a 09 44 57 09 43 55 46 09 .;CUrsor.Down...DB.'C'...DW.CUF.
3aea0 09 3b 43 55 72 73 6f 72 20 46 6f 72 77 61 72 64 0d 0a 09 44 42 09 27 44 27 0d 0a 09 44 57 09 43 .;CUrsor.Forward...DB.'D'...DW.C
3aec0 55 42 09 09 3b 43 55 72 73 6f 72 20 42 61 63 6b 0d 0a 09 44 42 09 27 48 27 0d 0a 09 44 57 09 43 UB..;CUrsor.Back...DB.'H'...DW.C
3aee0 55 50 01 09 09 3b 43 55 72 73 6f 72 20 50 6f 73 69 74 69 6f 6e 0d 0a 09 44 42 09 27 4a 27 0d 0a UP...;CUrsor.Position...DB.'J'..
3af00 09 44 57 09 45 44 09 09 3b 45 72 61 73 65 20 69 6e 20 44 69 73 70 6c 61 79 0d 0a 09 44 42 09 27 .DW.ED..;Erase.in.Display...DB.'
3af20 4b 27 0d 0a 09 44 57 09 45 4c 09 09 3b 45 72 61 73 65 20 69 6e 20 4c 69 6e 65 0d 0a 09 44 42 09 K'...DW.EL..;Erase.in.Line...DB.
3af40 27 4c 27 0d 0a 09 44 57 09 49 4c 09 09 3b 49 6e 73 65 72 74 20 4c 69 6e 65 0d 0a 09 44 42 09 27 'L'...DW.IL..;Insert.Line...DB.'
3af60 4d 27 0d 0a 09 44 57 09 78 44 4c 09 09 3b 44 65 6c 65 74 65 20 4c 69 6e 65 0d 0a 3b 3b 09 44 42 M'...DW.xDL..;Delete.Line..;;.DB
3af80 09 27 52 27 0d 0a 3b 3b 09 44 57 09 43 50 52 09 09 3b 43 75 72 73 6f 72 20 50 6f 73 74 69 6f 6e .'R'..;;.DW.CPR..;Cursor.Postion
3afa0 20 52 65 70 6f 72 74 0d 0a 09 44 42 09 27 66 27 0d 0a 09 44 57 09 48 56 50 09 09 3b 48 6f 72 69 .Report...DB.'f'...DW.HVP..;Hori
3afc0 7a 6f 6e 74 61 6c 20 61 6e 64 20 56 65 72 74 69 63 61 6c 20 50 6f 73 69 74 69 6f 6e 0d 0a 09 44 zontal.and.Vertical.Position...D
3afe0 42 09 27 68 27 0d 0a 09 44 57 09 53 4d 09 09 3b 53 65 74 20 4d 6f 64 65 0d 0a 09 44 42 09 27 6c B.'h'...DW.SM..;Set.Mode...DB.'l
3b000 27 0d 0a 09 44 57 09 52 4d 09 09 3b 52 65 73 65 74 20 4d 6f 64 65 0d 0a 09 44 42 09 27 6d 27 0d '...DW.RM..;Reset.Mode...DB.'m'.
3b020 0a 09 44 57 09 53 47 52 09 09 3b 53 65 6c 65 63 74 20 47 72 61 70 68 69 63 73 20 52 65 6e 64 69 ..DW.SGR..;Select.Graphics.Rendi
3b040 74 69 6f 6e 0d 0a 3b 3b 09 44 42 09 27 6e 27 0d 0a 3b 3b 09 44 57 09 44 53 52 09 09 3b 44 65 76 tion..;;.DB.'n'..;;.DW.DSR..;Dev
3b060 69 63 65 20 53 74 61 74 75 73 20 52 65 70 6f 72 74 0d 0a 09 44 42 09 27 73 27 0d 0a 09 44 57 09 ice.Status.Report...DB.'s'...DW.
3b080 53 43 50 09 09 3b 53 61 76 65 20 43 75 72 73 6f 72 20 50 6f 73 69 74 69 6f 6e 0d 0a 09 44 42 09 SCP..;Save.Cursor.Position...DB.
3b0a0 27 75 27 0d 0a 09 44 57 09 52 43 50 09 09 3b 52 65 73 74 6f 72 65 20 43 75 72 73 6f 72 20 50 6f 'u'...DW.RCP..;Restore.Cursor.Po
3b0c0 73 69 74 69 6f 6e 0d 0a 09 44 42 09 30 30 0d 0a 0d 0a 3b 09 47 72 61 70 68 69 63 20 52 65 6e 64 sition...DB.00....;.Graphic.Rend
3b0e0 69 74 69 01 6f 6e 20 6d 6f 64 65 73 3a 20 20 70 61 72 61 6d 65 74 65 72 2c 20 6d 61 73 6b 2c 20 iti.on.modes:..parameter,.mask,.
3b100 73 65 74 0d 0a 47 52 4d 4f 44 45 09 44 42 09 30 30 2c 30 30 30 30 30 30 30 30 42 2c 30 30 30 30 set..GRMODE.DB.00,00000000B,0000
3b120 30 31 31 31 42 09 3b 20 61 6c 6c 20 6f 66 66 0d 0a 09 44 42 09 30 31 2c 31 31 31 31 31 31 31 31 0111B.;.all.off...DB.01,11111111
3b140 42 2c 30 30 30 30 31 30 30 30 42 09 3b 20 62 6f 6c 64 20 28 69 6e 63 72 65 61 73 65 64 20 69 6e B,00001000B.;.bold.(increased.in
3b160 74 65 6e 73 69 74 79 29 0d 0a 09 44 42 09 30 34 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 30 tensity)...DB.04,11111000B,00000
3b180 30 30 31 42 09 3b 20 75 6e 64 65 72 73 63 6f 72 65 0d 0a 09 44 42 09 30 35 2c 31 31 31 31 31 31 001B.;.underscore...DB.05,111111
3b1a0 31 31 42 2c 31 30 30 30 30 30 30 30 42 09 3b 20 62 6c 69 6e 6b 0d 0a 09 44 42 09 30 37 2c 31 31 11B,10000000B.;.blink...DB.07,11
3b1c0 31 31 31 30 30 30 42 2c 30 31 31 31 30 30 30 30 42 09 3b 20 72 65 76 65 72 73 65 20 76 69 64 65 111000B,01110000B.;.reverse.vide
3b1e0 6f 0d 0a 09 44 42 09 30 38 2c 31 30 30 30 31 30 30 30 42 2c 30 30 30 30 30 30 30 30 42 09 3b 20 o...DB.08,10001000B,00000000B.;.
3b200 63 6f 6e 63 65 61 6c 65 64 0d 0a 09 44 42 09 33 30 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 concealed...DB.30,11111000B,0000
3b220 30 30 30 30 42 09 3b 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 73 20 2e 2e 2e 0d 0a 09 0000B.;.foreground.colors.......
3b240 44 42 09 33 31 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 30 31 30 30 42 0d 0a 09 44 42 09 33 DB.31,11111000B,00000100B...DB.3
3b260 32 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 30 30 31 30 42 0d 0a 09 44 42 09 33 33 2c 31 31 2,11111000B,00000010B...DB.33,11
3b280 31 31 31 30 30 30 42 2c 30 30 30 30 30 31 31 30 42 0d 0a 09 44 42 09 33 34 2c 31 31 31 31 31 30 111000B,00000110B...DB.34,111110
3b2a0 30 30 42 2c 30 30 30 30 30 30 30 31 42 0d 0a 09 44 42 09 33 35 2c 31 31 31 31 31 30 30 30 42 2c 00B,00000001B...DB.35,11111000B,
3b2c0 30 30 30 30 30 31 30 31 42 0d 0a 09 44 42 09 33 36 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 00000101B...DB.36,11111000B,0000
3b2e0 30 30 31 31 01 42 0d 0a 09 44 42 09 33 37 2c 31 31 31 31 31 30 30 30 42 2c 30 30 30 30 30 31 31 0011.B...DB.37,11111000B,0000011
3b300 31 42 0d 0a 09 44 42 09 34 30 2c 31 30 30 30 31 31 31 31 42 2c 30 30 30 30 30 30 30 30 42 09 3b 1B...DB.40,10001111B,00000000B.;
3b320 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 73 20 2e 2e 2e 0d 0a 09 44 42 09 34 31 2c 31 .background.colors.......DB.41,1
3b340 30 30 30 31 31 31 31 42 2c 30 31 30 30 30 30 30 30 42 0d 0a 09 44 42 09 34 32 2c 31 30 30 30 31 0001111B,01000000B...DB.42,10001
3b360 31 31 31 42 2c 30 30 31 30 30 30 30 30 42 0d 0a 09 44 42 09 34 33 2c 31 30 30 30 31 31 31 31 42 111B,00100000B...DB.43,10001111B
3b380 2c 30 31 31 30 30 30 30 30 42 0d 0a 09 44 42 09 34 34 2c 31 30 30 30 31 31 31 31 42 2c 30 30 30 ,01100000B...DB.44,10001111B,000
3b3a0 31 30 30 30 30 42 0d 0a 09 44 42 09 34 35 2c 31 30 30 30 31 31 31 31 42 2c 30 31 30 31 30 30 30 10000B...DB.45,10001111B,0101000
3b3c0 30 42 0d 0a 09 44 42 09 34 36 2c 31 30 30 30 31 31 31 31 42 2c 30 30 31 31 30 30 30 30 42 0d 0a 0B...DB.46,10001111B,00110000B..
3b3e0 09 44 42 09 34 37 2c 31 30 30 30 31 31 31 31 42 2c 30 31 31 31 30 30 30 30 42 0d 0a 09 44 42 09 .DB.47,10001111B,01110000B...DB.
3b400 30 46 46 48 0d 0a 0d 0a 3b 20 53 65 74 2f 52 65 73 65 74 20 4d 6f 64 65 73 3a 20 20 69 6e 64 65 0FFH....;.Set/Reset.Modes:..inde
3b420 78 65 64 20 62 79 20 28 53 65 6c 43 68 61 72 2d 27 3c 27 2a 38 29 20 2b 20 28 50 41 52 41 4d 30 xed.by.(SelChar-'<'*8).+.(PARAM0
3b440 20 41 4e 44 20 37 29 0d 0a 53 52 4d 4f 44 45 09 44 57 09 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 .AND.7)..SRMODE.DW.0,0,0,0,0,0,0
3b460 2c 30 09 09 3b 20 53 65 6c 43 68 61 72 20 27 3c 27 0d 0a 09 44 57 09 31 2c 31 2c 31 2c 31 2c 31 ,0..;.SelChar.'<'...DW.1,1,1,1,1
3b480 2c 31 2c 31 2c 57 52 41 50 09 3b 20 53 65 6c 43 68 61 72 20 27 3d 27 09 0d 0a 09 44 57 09 30 2c ,1,1,WRAP.;.SelChar.'='....DW.0,
3b4a0 45 6e 61 4c 32 35 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 09 3b 20 53 65 6c 43 68 61 72 20 27 3e 27 EnaL25,0,0,0,0,0,0.;.SelChar.'>'
3b4c0 0d 0a 09 44 57 09 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 57 52 41 50 09 3b 20 53 65 6c 43 68 ...DW.0,0,0,0,0,0,0,WRAP.;.SelCh
3b4e0 61 72 20 27 3f 01 27 09 0d 0a 0d 0a 50 41 47 45 0d 0a 3b 09 54 68 65 20 66 6f 6c 6c 6f 77 69 6e ar.'?.'.....PAGE..;.The.followin
3b500 67 20 61 72 65 20 64 75 70 6c 69 63 61 74 65 73 20 6f 66 20 74 68 65 20 73 61 6d 65 20 76 61 72 g.are.duplicates.of.the.same.var
3b520 69 61 62 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 52 4f 4d 0d 0a 3b 0d 0a 3b 2a 20 57 41 52 4e 49 iables.from.the.ROM..;..;*.WARNI
3b540 4e 47 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 76 61 72 69 61 62 6c 65 73 NG.-.the.following.two.variables
3b560 20 61 72 65 20 61 63 63 65 73 73 65 64 20 61 73 20 61 20 77 6f 72 64 0d 0a 4d 4f 44 45 09 44 42 .are.accessed.as.a.word..MODE.DB
3b580 09 33 0d 0a 4d 41 58 43 4f 4c 09 44 42 09 37 39 0d 0a 49 46 09 4c 49 4e 45 32 35 09 09 3b 20 73 .3..MAXCOL.DB.79..IF.LINE25..;.s
3b5a0 70 65 63 69 61 6c 20 74 72 65 61 74 6d 65 6e 74 20 6f 66 20 6c 69 6e 65 20 32 35 3f 0d 0a 6d 61 pecial.treatment.of.line.25?..ma
3b5c0 78 72 6f 77 09 65 71 75 09 32 34 0d 0a 45 4c 53 45 0d 0a 6d 61 78 72 6f 77 09 65 71 75 09 32 35 xrow.equ.24..ELSE..maxrow.equ.25
3b5e0 0d 0a 45 4e 44 49 46 0d 0a 3b 2a 20 57 41 52 4e 49 4e 47 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 ..ENDIF..;*.WARNING.-.the.follow
3b600 69 6e 67 20 74 77 6f 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 65 64 20 61 ing.two.variables.are.accessed.a
3b620 73 20 61 20 77 6f 72 64 0d 0a 43 4f 4c 09 44 42 09 30 09 09 09 3b 20 63 75 72 72 65 6e 74 20 63 s.a.word..COL.DB.0...;.current.c
3b640 6f 6c 75 6d 6e 0d 0a 52 4f 57 09 44 42 09 30 09 09 09 3b 20 63 75 72 72 65 6e 74 20 72 6f 77 0d olumn..ROW.DB.0...;.current.row.
3b660 0a 0d 0a 0d 0a 41 6e 73 69 53 74 61 74 65 09 4c 41 42 45 4c 09 42 59 54 45 09 3b 20 74 68 65 20 .....AnsiState.LABEL.BYTE.;.the.
3b680 66 6f 6c 6c 6f 77 69 6e 67 20 6d 75 73 74 20 62 65 20 73 61 76 65 64 20 6f 6e 20 61 20 73 63 72 following.must.be.saved.on.a.scr
3b6a0 65 65 6e 20 73 77 61 70 0d 0a 57 52 41 50 09 44 42 09 31 09 09 3b 20 30 20 3d 20 4e 4f 20 57 52 een.swap..WRAP.DB.1..;.0.=.NO.WR
3b6c0 41 50 2c 20 31 20 3d 20 57 52 41 50 0d 0a 45 6e 61 4c 32 35 09 44 42 09 30 09 09 3b 20 30 20 3d AP,.1.=.WRAP..EnaL25.DB.0..;.0.=
3b6e0 20 32 35 74 68 20 01 6c 69 6e 65 20 64 69 73 61 62 6c 65 64 2c 20 31 20 3d 20 65 6e 61 62 6c 65 .25th..line.disabled,.1.=.enable
3b700 64 0d 0a 53 54 41 54 45 09 44 57 09 53 31 0d 0a 53 41 56 43 52 09 44 57 09 30 09 09 09 3b 20 73 d..STATE.DW.S1..SAVCR.DW.0...;.s
3b720 61 76 65 64 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 0d 0a 3b 2a 20 57 41 52 4e 49 4e 47 aved.cursor.position..;*.WARNING
3b740 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 76 61 72 69 61 62 6c 65 73 20 61 .-.the.following.two.variables.a
3b760 72 65 20 61 63 63 65 73 73 65 64 20 61 73 20 61 20 77 6f 72 64 0d 0a 53 65 6c 43 68 61 72 09 44 re.accessed.as.a.word..SelChar.D
3b780 42 09 30 09 09 09 3b 20 3c 2c 3d 2c 3e 20 6f 72 20 3f 20 70 72 69 76 61 74 65 20 75 73 65 20 69 B.0...;.<,=,>.or.?.private.use.i
3b7a0 6e 64 69 63 61 74 6f 72 73 0d 0a 50 52 4d 43 4e 54 09 4c 41 42 45 4c 09 42 59 54 45 09 09 09 3b ndicators..PRMCNT.LABEL.BYTE...;
3b7c0 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 63 6f 6d 6d 61 6e .number.of.parameters.for.comman
3b7e0 64 0d 0a 50 52 4d 43 4e 54 57 09 44 57 09 30 0d 0a 4e 55 4d 50 41 52 41 4d 20 65 71 75 09 35 09 d..PRMCNTW.DW.0..NUMPARAM.equ.5.
3b800 09 09 3b 20 6d 61 78 2e 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 50 ..;.max..number.of.parameters..P
3b820 41 52 41 4d 09 44 42 09 4e 55 4d 50 41 52 41 4d 20 44 55 50 20 28 3f 29 09 3b 20 62 75 66 66 65 ARAM.DB.NUMPARAM.DUP.(?).;.buffe
3b840 72 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 3b 2a 20 57 41 52 r.for.command.parameters..;*.WAR
3b860 4e 49 4e 47 20 2d 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 76 61 72 69 61 62 6c NING.-.the.following.two.variabl
3b880 65 73 20 61 72 65 20 61 63 63 65 73 73 65 64 20 61 73 20 61 20 77 6f 72 64 0d 0a 61 74 74 72 77 es.are.accessed.as.a.word..attrw
3b8a0 09 4c 41 42 45 4c 09 57 4f 52 44 0d 0a 41 54 54 52 09 44 42 09 30 30 30 30 30 31 31 31 42 09 3b .LABEL.WORD..ATTR.DB.00000111B.;
3b8c0 43 48 41 52 41 43 54 45 52 20 41 54 54 52 49 42 55 54 45 0d 0a 42 50 41 47 45 09 44 42 09 30 09 CHARACTER.ATTRIBUTE..BPAGE.DB.0.
3b8e0 09 3b 42 41 53 45 20 01 50 41 47 45 0d 0a 0d 0a 41 6e 73 69 53 69 7a 65 09 65 71 75 09 28 24 2d .;BASE..PAGE....AnsiSize.equ.($-
3b900 41 6e 73 69 53 74 61 74 65 29 0d 0a 0d 0a 49 46 09 28 41 6e 73 69 53 69 7a 65 20 47 54 20 54 65 AnsiState)....IF.(AnsiSize.GT.Te
3b920 72 6d 53 69 7a 65 29 0d 0a 09 2e 52 41 44 49 58 20 30 09 09 3b 20 45 52 52 4f 52 20 2d 20 54 65 rmSize)....RADIX.0..;.ERROR.-.Te
3b940 72 6d 69 6e 61 6c 20 73 74 61 74 65 20 6e 6f 74 20 62 69 67 20 65 6e 6f 75 67 68 0d 0a 45 4e 44 rminal.state.not.big.enough..END
3b960 49 46 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d IF....;-------------------------
3b980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3b9a0 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 43 48 52 4f 55 54 20 2d 20 57 52 49 54 45 20 4f 55 54 20 43 48 ----..;..;.CHROUT.-.WRITE.OUT.CH
3b9c0 41 52 20 49 4e 20 41 4c 20 55 53 49 4e 47 20 43 55 52 52 45 4e 54 20 41 54 54 52 49 42 55 54 45 AR.IN.AL.USING.CURRENT.ATTRIBUTE
3b9e0 0d 0a 3b 0d 0a 62 61 73 65 09 20 20 20 64 77 09 30 62 38 30 30 68 0d 0a 73 63 72 65 65 6e 5f 73 ..;..base....dw.0b800h..screen_s
3ba00 65 67 20 64 77 09 30 30 30 30 30 68 0d 0a 0d 0a 63 68 72 6f 75 74 3a 20 63 6d 70 09 61 6c 2c 31 eg.dw.00000h....chrout:.cmp.al,1
3ba20 33 09 09 3b 20 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 3f 0d 0a 09 6a 61 09 6f 75 74 63 68 3..;.carriage.return?...ja.outch
3ba40 72 0d 0a 09 6a 6e 7a 09 74 72 79 6c 66 0d 0a 09 6d 6f 76 09 5b 63 6f 6c 5d 2c 30 0d 0a 3b 3b 09 r...jnz.trylf...mov.[col],0..;;.
3ba60 6a 6d 70 09 73 68 6f 72 74 20 73 65 74 69 74 0d 0a 09 6a 6d 70 09 73 65 74 69 74 0d 0a 0d 0a 74 jmp.short.setit...jmp.setit....t
3ba80 72 79 6c 66 3a 09 63 6d 70 09 61 6c 2c 31 30 09 09 3b 20 6c 69 6e 65 20 66 65 65 64 3f 0d 0a 09 rylf:.cmp.al,10..;.line.feed?...
3baa0 6a 7a 09 6c 66 0d 0a 09 63 6d 70 09 61 6c 2c 37 09 09 3b 20 62 65 6c 6c 3f 0d 0a 09 6a 6e 7a 09 jz.lf...cmp.al,7..;.bell?...jnz.
3bac0 74 72 79 74 61 62 0d 0a 74 6f 72 6f 6d 3a 0d 0a 09 6d 6f 76 09 62 78 2c 5b 61 74 74 72 77 5d 0d trytab..torom:...mov.bx,[attrw].
3bae0 0a 09 61 6e 64 09 62 6c 01 2c 37 0d 0a 09 6d 6f 76 09 61 68 2c 31 34 0d 0a 09 69 6e 74 09 31 30 ..and.bl.,7...mov.ah,14...int.10
3bb00 68 0d 0a 72 65 74 35 3a 09 72 65 74 0d 0a 0d 0a 74 72 79 74 61 62 3a 0d 0a 09 63 6d 70 09 61 6c h..ret5:.ret....trytab:...cmp.al
3bb20 2c 39 09 09 3b 20 74 61 62 3f 0d 0a 09 6a 6e 7a 09 74 72 79 62 61 63 6b 0d 0a 09 6d 6f 76 09 61 ,9..;.tab?...jnz.tryback...mov.a
3bb40 6c 2c 5b 63 6f 6c 5d 0d 0a 09 61 64 64 09 61 6c 2c 38 0d 0a 09 6d 6f 76 09 61 68 2c 61 6c 0d 0a l,[col]...add.al,8...mov.ah,al..
3bb60 09 61 6e 64 09 61 68 2c 37 0d 0a 09 73 75 62 09 61 6c 2c 61 68 0d 0a 09 63 6d 70 09 61 6c 2c 5b .and.ah,7...sub.al,ah...cmp.al,[
3bb80 6d 61 78 63 6f 6c 5d 0d 0a 09 6a 62 09 74 75 6e 64 65 72 0d 0a 09 6d 6f 76 09 61 6c 2c 5b 6d 61 maxcol]...jb.tunder...mov.al,[ma
3bba0 78 63 6f 6c 5d 0d 0a 74 75 6e 64 65 72 3a 0d 0a 09 6d 6f 76 09 5b 63 6f 6c 5d 2c 61 6c 0d 0a 09 xcol]..tunder:...mov.[col],al...
3bbc0 09 6a 6d 70 09 73 68 6f 72 74 20 73 65 74 69 74 0d 0a 0d 0a 74 72 79 62 61 63 6b 3a 0d 0a 09 63 .jmp.short.setit....tryback:...c
3bbe0 6d 70 09 61 6c 2c 38 09 09 3b 20 62 61 63 6b 73 70 61 63 65 3f 0d 0a 09 6a 6e 7a 09 6f 75 74 63 mp.al,8..;.backspace?...jnz.outc
3bc00 68 72 0d 0a 09 63 6d 70 09 5b 63 6f 6c 5d 2c 30 0d 0a 09 6a 7a 09 72 65 74 35 0d 0a 09 64 65 63 hr...cmp.[col],0...jz.ret5...dec
3bc20 09 5b 63 6f 6c 5d 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 73 65 74 69 74 0d 0a 0d 0a 6f 75 74 63 .[col]...jmp.short.setit....outc
3bc40 68 72 3a 0d 0a 09 6d 6f 76 09 62 78 2c 5b 61 74 74 72 77 5d 0d 0a 09 6d 6f 76 09 63 78 2c 31 0d hr:...mov.bx,[attrw]...mov.cx,1.
3bc60 0a 09 6d 6f 76 09 61 68 2c 39 0d 0a 09 69 6e 74 09 31 30 68 0d 0a 09 69 6e 63 09 5b 63 6f 6c 5d ..mov.ah,9...int.10h...inc.[col]
3bc80 0d 0a 09 6d 6f 76 09 61 6c 2c 5b 63 6f 6c 5d 0d 0a 09 63 6d 70 09 61 6c 2c 5b 6d 61 78 63 6f 6c ...mov.al,[col]...cmp.al,[maxcol
3bca0 5d 0d 0a 09 6a 62 65 09 73 65 74 69 74 0d 0a 09 63 6d 70 09 5b 77 72 61 70 5d 2c 31 0d 0a 09 6a ]...jbe.setit...cmp.[wrap],1...j
3bcc0 7a 09 6f 75 74 63 68 72 31 0d 0a 09 64 65 63 09 5b 63 6f 6c 5d 0d 0a 09 72 65 74 0d 0a 6f 75 74 z.outchr1...dec.[col]...ret..out
3bce0 63 68 72 31 3a 0d 0a 09 6d 01 6f 76 09 5b 63 6f 6c 5d 2c 30 0d 0a 6c 66 3a 09 63 6d 70 09 5b 72 chr1:...m.ov.[col],0..lf:.cmp.[r
3bd00 6f 77 5d 2c 28 6d 61 78 72 6f 77 2d 31 29 0d 0a 09 6a 61 09 73 65 74 69 74 09 09 09 09 3b 20 6f ow],(maxrow-1)...ja.setit....;.o
3bd20 6e 20 6c 69 6e 65 20 32 35 2c 20 64 6f 6e 27 74 20 6d 6f 76 65 0d 0a 09 6a 7a 09 6c 66 31 09 09 n.line.25,.don't.move...jz.lf1..
3bd40 09 09 3b 20 6f 6e 20 32 34 74 68 20 6c 69 6e 65 2c 20 73 63 72 6f 6c 6c 0d 0a 09 69 6e 63 09 5b ..;.on.24th.line,.scroll...inc.[
3bd60 72 6f 77 5d 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 73 65 74 69 74 0d 0a 6c 66 31 3a 09 63 61 6c row]...jmp.short.setit..lf1:.cal
3bd80 6c 09 73 63 72 6f 6c 6c 0d 0a 0d 0a 73 65 74 69 74 3a 09 6d 6f 76 09 64 78 2c 77 6f 72 64 20 70 l.scroll....setit:.mov.dx,word.p
3bda0 74 72 20 63 6f 6c 0d 0a 09 6d 6f 76 09 62 68 2c 5b 62 70 61 67 65 5d 0d 0a 09 6d 6f 76 09 61 68 tr.col...mov.bh,[bpage]...mov.ah
3bdc0 2c 32 0d 0a 09 69 6e 74 09 31 30 68 0d 0a 09 72 65 74 0d 0a 0d 0a 73 63 72 6f 6c 6c 3a 20 6d 6f ,2...int.10h...ret....scroll:.mo
3bde0 76 09 61 6c 2c 6d 6f 64 65 0d 0a 09 63 6d 70 09 61 6c 2c 32 0d 0a 09 6a 7a 09 6d 79 73 63 72 6f v.al,mode...cmp.al,2...jz.myscro
3be00 6c 6c 0d 0a 09 63 6d 70 09 61 6c 2c 33 0d 0a 09 6a 7a 09 6d 79 73 63 72 6f 6c 6c 0d 0a 49 46 09 ll...cmp.al,3...jz.myscroll..IF.
3be20 4c 49 4e 45 32 35 0d 0a 09 78 6f 72 09 63 78 2c 63 78 09 09 09 3b 20 66 72 6f 6d 20 30 2c 30 0d LINE25...xor.cx,cx...;.from.0,0.
3be40 0a 09 6d 6f 76 09 64 68 2c 28 6d 61 78 72 6f 77 2d 31 29 09 09 3b 20 74 6f 20 6d 61 78 72 6f 77 ..mov.dh,(maxrow-1)..;.to.maxrow
3be60 2d 31 2c 6d 61 78 63 6f 6c 0d 0a 09 6d 6f 76 09 64 6c 2c 6d 61 78 63 6f 6c 0d 0a 09 6d 6f 76 09 -1,maxcol...mov.dl,maxcol...mov.
3be80 62 68 2c 61 74 74 72 0d 0a 09 6d 6f 76 09 61 78 2c 30 36 30 31 68 09 09 3b 20 73 63 72 6f 6c 6c bh,attr...mov.ax,0601h..;.scroll
3bea0 20 20 75 70 20 6f 6e 65 20 6c 69 6e 65 0d 0a 09 69 6e 74 09 31 30 68 0d 0a 09 72 65 74 0d 0a 45 ..up.one.line...int.10h...ret..E
3bec0 4c 53 45 0d 0a 09 6d 6f 76 09 61 6c 2c 31 30 0d 0a 09 6a 6d 70 09 74 6f 72 6f 6d 0d 0a 45 4e 44 LSE...mov.al,10...jmp.torom..END
3bee0 49 46 0d 0a 6d 79 73 63 72 6f 05 1a 01 09 02 01 02 03 04 05 06 07 08 09 01 6c 6c 3a 0d 0a 09 6d IF..myscro...............ll:...m
3bf00 6f 76 09 62 68 2c 5b 61 74 74 72 5d 0d 0a 09 6d 6f 76 09 62 6c 2c 27 20 27 0d 0a 09 6d 6f 76 09 ov.bh,[attr]...mov.bl,'.'...mov.
3bf20 62 70 2c 38 30 0d 0a 09 6d 6f 76 09 61 78 2c 5b 62 61 73 65 5d 0d 0a 09 61 64 64 09 61 78 2c 5b bp,80...mov.ax,[base]...add.ax,[
3bf40 73 63 72 65 65 6e 5f 73 65 67 5d 0d 0a 09 6d 6f 76 09 65 73 2c 61 78 0d 0a 09 6d 6f 76 09 64 73 screen_seg]...mov.es,ax...mov.ds
3bf60 2c 61 78 0d 0a 09 78 6f 72 09 64 69 2c 64 69 0d 0a 09 6d 6f 76 09 73 69 2c 31 36 30 0d 0a 09 6d ,ax...xor.di,di...mov.si,160...m
3bf80 6f 76 09 63 78 2c 28 6d 61 78 72 6f 77 2d 31 29 2a 38 30 0d 0a 09 63 6c 64 0d 0a 0d 0a 3b 09 54 ov.cx,(maxrow-1)*80...cld....;.T
3bfa0 68 69 73 20 63 6f 64 65 20 77 69 6c 6c 20 6e 65 76 65 72 20 67 65 74 20 65 78 65 63 75 74 65 64 his.code.will.never.get.executed
3bfc0 20 73 69 6e 63 65 20 77 65 20 67 65 74 20 68 65 72 65 20 77 68 65 6e 0d 0a 3b 20 20 6d 6f 64 65 .since.we.get.here.when..;..mode
3bfe0 20 3d 20 32 20 6f 72 20 33 20 6f 6e 6c 79 2e 0d 0a 3b 3b 09 63 6d 70 09 63 73 3a 5b 62 61 73 65 .=.2.or.3.only...;;.cmp.cs:[base
3c000 5d 2c 30 62 38 30 30 68 0d 0a 3b 3b 09 6a 7a 09 63 6f 6c 6f 72 63 61 72 64 0d 0a 0d 0a 3b 3b 20 ],0b800h..;;.jz.colorcard....;;.
3c020 20 20 20 72 65 70 09 6d 6f 76 73 77 0d 0a 3b 3b 09 6d 6f 76 09 61 78 2c 62 78 0d 0a 3b 3b 09 6d ...rep.movsw..;;.mov.ax,bx..;;.m
3c040 6f 76 09 63 78 2c 62 70 0d 0a 3b 3b 20 20 20 20 72 65 70 09 73 74 6f 73 77 0d 0a 3b 3b 09 6a 6d ov.cx,bp..;;....rep.stosw..;;.jm
3c060 70 09 73 68 6f 72 74 20 73 72 65 74 0d 0a 0d 0a 3b 3b 63 6f 6c 6f 72 63 61 72 64 3a 0d 0a 09 6d p.short.sret....;;colorcard:...m
3c080 6f 76 09 64 78 2c 33 64 61 68 0d 0a 77 61 69 74 32 3a 09 69 6e 09 61 6c 2c 64 78 0d 0a 09 74 65 ov.dx,3dah..wait2:.in.al,dx...te
3c0a0 73 74 09 61 6c 2c 38 0d 0a 09 6a 7a 09 77 61 69 74 32 0d 0a 09 6d 6f 76 09 61 6c 2c 32 35 68 0d st.al,8...jz.wait2...mov.al,25h.
3c0c0 0a 09 6d 6f 76 09 64 78 2c 33 64 38 68 0d 0a 09 6f 75 74 09 64 78 2c 61 6c 09 09 3b 74 75 72 6e ..mov.dx,3d8h...out.dx,al..;turn
3c0e0 20 6f 66 66 20 76 69 64 65 6f 0d 0a 20 20 20 20 72 65 70 09 6d 6f 76 73 77 01 0d 0a 09 6d 6f 76 .off.video......rep.movsw....mov
3c100 09 61 78 2c 62 78 0d 0a 09 6d 6f 76 09 63 78 2c 62 70 0d 0a 09 72 65 70 09 73 74 6f 73 77 0d 0a .ax,bx...mov.cx,bp...rep.stosw..
3c120 09 6d 6f 76 09 61 6c 2c 32 39 68 0d 0a 09 6d 6f 76 09 64 78 2c 33 64 38 68 0d 0a 09 6f 75 74 09 .mov.al,29h...mov.dx,3d8h...out.
3c140 64 78 2c 61 6c 09 09 3b 74 75 72 6e 20 6f 6e 20 76 69 64 65 6f 0d 0a 73 72 65 74 3a 09 70 75 73 dx,al..;turn.on.video..sret:.pus
3c160 68 09 63 73 0d 0a 09 70 6f 70 09 64 73 0d 0a 09 72 65 74 0d 0a 0d 0a 0d 0a 43 68 61 72 4f 75 74 h.cs...pop.ds...ret......CharOut
3c180 3a 09 50 55 53 48 09 41 58 09 09 3b 20 4d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 0d 0a 09 :.PUSH.AX..;.Main.entry.point...
3c1a0 50 55 53 48 09 42 58 0d 0a 09 50 55 53 48 09 43 58 0d 0a 09 50 55 53 48 09 44 58 0d 0a 09 50 55 PUSH.BX...PUSH.CX...PUSH.DX...PU
3c1c0 53 48 09 53 49 0d 0a 09 50 55 53 48 09 44 49 0d 0a 09 50 55 53 48 09 45 53 0d 0a 09 50 55 53 48 SH.SI...PUSH.DI...PUSH.ES...PUSH
3c1e0 09 42 50 0d 0a 0d 0a 09 4d 4f 56 09 5b 62 61 73 65 5d 2c 30 42 38 30 30 48 0d 0a 09 58 43 48 47 .BP.....MOV.[base],0B800H...XCHG
3c200 09 41 58 2c 53 49 09 09 09 3b 20 53 41 56 45 20 43 48 41 52 41 43 54 45 52 20 54 4f 20 53 54 55 .AX,SI...;.SAVE.CHARACTER.TO.STU
3c220 46 46 0d 0a 09 4d 4f 56 09 41 58 2c 34 30 48 09 09 09 3b 20 50 4f 49 4e 54 20 54 4f 20 52 4f 53 FF...MOV.AX,40H...;.POINT.TO.ROS
3c240 20 42 49 4f 53 0d 0a 09 4d 4f 56 09 44 53 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 34 .BIOS...MOV.DS,AX...MOV.AX,DS:[4
3c260 39 48 5d 09 09 3b 20 41 4c 3d 4d 4f 44 45 2c 20 41 48 3d 4d 41 58 20 43 4f 4c 0d 0a 09 44 45 43 9H]..;.AL=MODE,.AH=MAX.COL...DEC
3c280 09 41 48 09 09 09 3b 20 41 4e 53 49 20 4e 45 45 44 53 20 30 2d 37 39 20 4f 52 20 30 2d 33 39 0d .AH...;.ANSI.NEEDS.0-79.OR.0-39.
3c2a0 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 43 53 3a 5b 4d 4f 44 45 5d 2c 41 58 09 3b 20 53 41 ..MOV.WORD.PTR.CS:[MODE],AX.;.SA
3c2c0 56 45 20 4d 4f 44 45 20 41 4e 44 20 4d 41 58 20 43 4f 4c 0d 0a 09 43 4d 50 09 41 4c 2c 37 0d 0a VE.MODE.AND.MAX.COL...CMP.AL,7..
3c2e0 09 4a 4e 5a 09 4e 4f 54 5f 42 57 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 01 20 43 53 3a 5b .JNZ.NOT_BW...MOV.WORD.PTR..CS:[
3c300 62 61 73 65 5d 2c 30 42 30 30 30 48 0d 0a 4e 4f 54 5f 42 57 3a 20 4d 4f 56 09 41 4c 2c 44 53 3a base],0B000H..NOT_BW:.MOV.AL,DS:
3c320 5b 36 32 48 5d 09 09 3b 20 47 45 54 20 41 43 54 49 56 45 20 50 41 47 45 0d 0a 09 4d 4f 56 09 43 [62H]..;.GET.ACTIVE.PAGE...MOV.C
3c340 53 3a 5b 42 50 41 47 45 5d 2c 41 4c 0d 0a 09 43 42 57 0d 0a 09 41 44 44 09 41 58 2c 41 58 0d 0a S:[BPAGE],AL...CBW...ADD.AX,AX..
3c360 09 4d 4f 56 09 42 58 2c 41 58 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 42 58 2b 35 30 48 5d 09 .MOV.BX,AX...MOV.AX,DS:[BX+50H].
3c380 09 3b 20 41 4c 3d 43 4f 4c 2c 20 41 48 3d 52 4f 57 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 .;.AL=COL,.AH=ROW...MOV.WORD.PTR
3c3a0 20 43 53 3a 5b 43 4f 4c 5d 2c 41 58 09 3b 20 53 41 56 45 20 52 4f 57 20 41 4e 44 20 43 4f 4c 55 .CS:[COL],AX.;.SAVE.ROW.AND.COLU
3c3c0 4d 4e 0d 0a 09 4d 4f 56 09 41 58 2c 44 53 3a 5b 34 45 48 5d 09 09 3b 20 47 45 54 20 53 54 41 52 MN...MOV.AX,DS:[4EH]..;.GET.STAR
3c3e0 54 20 4f 46 20 53 43 52 45 45 4e 20 53 45 47 0d 0a 09 4d 4f 56 09 43 4c 2c 34 0d 0a 09 53 48 52 T.OF.SCREEN.SEG...MOV.CL,4...SHR
3c400 09 41 58 2c 43 4c 09 09 09 3b 20 43 4f 4e 56 45 52 54 20 54 4f 20 41 20 53 45 47 4d 45 4e 54 0d .AX,CL...;.CONVERT.TO.A.SEGMENT.
3c420 0a 09 50 55 53 48 09 43 53 0d 0a 09 50 4f 50 09 44 53 0d 0a 09 4d 4f 56 09 5b 73 63 72 65 65 6e ..PUSH.CS...POP.DS...MOV.[screen
3c440 5f 73 65 67 5d 2c 41 58 0d 0a 09 58 43 48 47 09 41 58 2c 53 49 09 09 09 3b 20 47 45 54 20 42 41 _seg],AX...XCHG.AX,SI...;.GET.BA
3c460 43 4b 20 43 48 41 52 41 43 54 45 52 20 49 4e 20 41 4c 0d 0a 0d 0a 09 43 41 4c 4c 09 56 49 44 45 CK.CHARACTER.IN.AL.....CALL.VIDE
3c480 4f 0d 0a 09 50 4f 50 09 42 50 0d 0a 09 50 4f 50 09 45 53 0d 0a 09 50 4f 50 09 44 49 0d 0a 09 50 O...POP.BP...POP.ES...POP.DI...P
3c4a0 4f 50 09 53 49 0d 0a 09 50 4f 50 09 44 58 0d 0a 09 50 4f 50 09 43 58 0d 0a 09 50 4f 50 09 42 58 OP.SI...POP.DX...POP.CX...POP.BX
3c4c0 0d 0a 09 50 4f 50 09 41 58 0d 0a 09 52 45 54 0d 0a 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...POP.AX...RET......;----------
3c4e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 01 2d 2d 2d 2d ---------------------------.----
3c500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 09 4f 55 54 50 55 54 20 53 -----------------..;..;.OUTPUT.S
3c520 49 4e 47 4c 45 20 43 48 41 52 20 49 4e 20 41 4c 20 54 4f 20 56 49 44 45 4f 20 44 45 56 49 43 45 INGLE.CHAR.IN.AL.TO.VIDEO.DEVICE
3c540 0d 0a 3b 0d 0a 56 49 44 45 4f 3a 09 4d 4f 56 09 53 49 2c 4f 46 46 53 45 54 20 53 54 41 54 45 0d ..;..VIDEO:.MOV.SI,OFFSET.STATE.
3c560 0a 09 4a 4d 50 09 5b 53 49 5d 0d 0a 0d 0a 53 32 3a 09 43 4d 50 09 41 4c 2c 27 5b 27 0d 0a 09 4a ..JMP.[SI]....S2:.CMP.AL,'['...J
3c580 5a 09 53 32 32 0d 0a 09 4a 4d 50 09 53 31 0d 0a 53 32 32 3a 09 4d 4f 56 09 57 4f 52 44 20 50 54 Z.S22...JMP.S1..S22:.MOV.WORD.PT
3c5a0 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 33 30 0d 0a 09 58 4f 52 09 42 58 2c 42 58 0d 0a 09 R.[SI],OFFSET.S30...XOR.BX,BX...
3c5c0 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 53 65 6c 43 68 61 72 2c 42 58 0d 0a 09 4d 4f 56 09 57 4f MOV.WORD.PTR.SelChar,BX...MOV.WO
3c5e0 52 44 20 50 54 52 20 50 41 52 41 4d 2c 42 58 0d 0a 09 4a 4d 50 09 53 48 4f 52 54 20 53 33 42 0d RD.PTR.PARAM,BX...JMP.SHORT.S3B.
3c600 0a 0d 0a 53 33 30 3a 09 43 4d 50 09 41 4c 2c 27 3f 27 09 09 09 3b 20 65 78 70 65 72 69 6d 65 6e ...S30:.CMP.AL,'?'...;.experimen
3c620 74 61 6c 20 75 73 65 20 73 65 6c 65 63 74 6f 72 20 28 53 4d 2f 52 4d 29 3f 0d 0a 09 4a 41 09 53 tal.use.selector.(SM/RM)?...JA.S
3c640 37 0d 0a 09 6d 6f 76 09 53 65 6c 43 68 61 72 2c 61 6c 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 7...mov.SelChar,al...MOV.WORD.PT
3c660 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 33 0d 0a 09 63 6d 70 09 61 6c 2c 27 3c 27 0d 0a 09 R.[SI],OFFSET.S3...cmp.al,'<'...
3c680 6a 61 65 09 53 33 42 0d 0a 0d 0a 53 33 3a 09 43 4d 50 09 41 4c 2c 27 3b 27 0d 0a 09 4a 4e 5a 09 jae.S3B....S3:.CMP.AL,';'...JNZ.
3c6a0 53 33 43 0d 0a 53 33 41 3a 09 49 4e 43 09 50 52 4d 43 4e 54 0d 0a 53 33 42 3a 09 43 41 4c 4c 09 S3C..S3A:.INC.PRMCNT..S3B:.CALL.
3c6c0 47 45 54 50 54 52 0d 0a 09 58 4f 52 09 41 58 2c 41 58 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 GETPTR...XOR.AX,AX...MOV.WORD.PT
3c6e0 52 20 5b 42 58 5d 2c 41 58 20 20 20 20 3b 44 45 46 41 55 4c 54 20 56 41 4c 55 45 20 01 49 53 20 R.[BX],AX....;DEFAULT.VALUE..IS.
3c700 5a 45 52 4f 0d 0a 09 52 45 54 0d 0a 0d 0a 53 33 43 3a 09 43 4d 50 09 41 4c 2c 27 30 27 0d 0a 09 ZERO...RET....S3C:.CMP.AL,'0'...
3c720 4a 42 09 53 33 44 0d 0a 09 43 4d 50 09 41 4c 2c 27 39 27 0d 0a 09 4a 41 09 53 37 0d 0a 09 43 41 JB.S3D...CMP.AL,'9'...JA.S7...CA
3c740 4c 4c 09 47 45 54 50 54 52 0d 0a 09 53 55 42 09 41 4c 2c 27 30 27 0d 0a 09 58 43 48 47 09 41 4c LL.GETPTR...SUB.AL,'0'...XCHG.AL
3c760 2c 42 59 54 45 20 50 54 52 20 5b 42 58 5d 0d 0a 09 4d 4f 56 09 41 48 2c 31 30 0d 0a 09 4d 55 4c ,BYTE.PTR.[BX]...MOV.AH,10...MUL
3c780 09 41 48 09 09 09 3b 2a 31 30 0d 0a 09 41 44 44 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 41 .AH...;*10...ADD.BYTE.PTR.[BX],A
3c7a0 4c 09 3b 4d 4f 56 45 20 49 4e 20 44 49 47 49 54 0d 0a 09 52 45 54 0d 0a 0d 0a 53 33 44 3a 0d 0a L.;MOVE.IN.DIGIT...RET....S3D:..
3c7c0 3b 3b 09 43 4d 50 09 41 4c 2c 27 22 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b ;;.CMP.AL,'"'..................;
3c7e0 42 45 47 49 4e 20 51 55 4f 54 45 44 20 53 54 52 49 4e 47 0d 0a 3b 3b 09 4a 5a 09 53 33 45 0d 0a BEGIN.QUOTED.STRING..;;.JZ.S3E..
3c800 3b 3b 09 43 4d 50 09 41 4c 2c 22 27 22 0d 0a 09 4a 4e 5a 09 53 37 0d 0a 3b 3b 53 33 45 3a 09 4d ;;.CMP.AL,"'"...JNZ.S7..;;S3E:.M
3c820 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 34 0d 0a 3b 3b 09 4d OV.WORD.PTR.[SI],OFFSET.S4..;;.M
3c840 4f 56 09 5b 49 4e 51 5d 2c 41 4c 0d 0a 53 33 52 45 54 3a 09 52 45 54 0d 0a 0d 0a 3b 0d 0a 3b 20 OV.[INQ],AL..S3RET:.RET....;..;.
3c860 20 20 45 4e 54 45 52 20 51 55 4f 54 45 44 20 53 54 52 49 4e 47 53 0d 0a 3b 0d 0a 0d 0a 3b 3b 53 ..ENTER.QUOTED.STRINGS..;....;;S
3c880 34 3a 09 43 4d 50 09 41 4c 2c 5b 49 4e 51 5d 09 09 3b 43 48 45 43 4b 20 46 4f 52 20 53 54 52 49 4:.CMP.AL,[INQ]..;CHECK.FOR.STRI
3c8a0 4e 47 20 54 45 52 4d 49 4e 41 54 4f 52 0d 0a 3b 3b 09 4a 4e 5a 09 53 34 41 0d 0a 3b 3b 09 44 45 NG.TERMINATOR..;;.JNZ.S4A..;;.DE
3c8c0 43 09 50 52 4d 43 4e 54 09 09 09 3b 54 45 52 4d 49 4e 41 54 45 20 53 54 52 49 4e 47 0d 0a 3b 3b C.PRMCNT...;TERMINATE.STRING..;;
3c8e0 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 33 0d 01 0a 3b .MOV.WORD.PTR.[SI],OFFSET.S3...;
3c900 3b 09 52 45 54 0d 0a 0d 0a 3b 3b 53 34 41 3a 09 43 41 4c 4c 09 47 45 54 50 54 52 0d 0a 3b 3b 09 ;.RET....;;S4A:.CALL.GETPTR..;;.
3c920 4d 4f 56 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 41 4c 0d 0a 3b 3b 09 4d 4f 56 09 57 4f 52 MOV.BYTE.PTR.[BX],AL..;;.MOV.WOR
3c940 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 34 0d 0a 3b 3b 09 4a 4d 50 09 53 33 41 D.PTR.[SI],OFFSET.S4..;;.JMP.S3A
3c960 0d 0a 3b 0d 0a 3b 20 20 4c 4f 4f 4b 20 46 4f 52 20 41 4e 53 49 20 43 4f 4d 4d 41 4e 44 20 53 50 ..;..;..LOOK.FOR.ANSI.COMMAND.SP
3c980 45 43 49 46 49 45 44 20 49 4e 20 41 4c 0d 0a 3b 0d 0a 0d 0a 53 37 3a 09 4d 4f 56 09 42 58 2c 4f ECIFIED.IN.AL..;....S7:.MOV.BX,O
3c9a0 46 46 53 45 54 20 43 4d 44 54 41 42 4c 2d 33 0d 0a 3b 0d 0a 53 37 41 3a 09 41 44 44 09 42 58 2c FFSET.CMDTABL-3..;..S7A:.ADD.BX,
3c9c0 33 0d 0a 09 43 4d 50 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 30 0d 0a 09 4a 5a 09 53 31 42 3...CMP.BYTE.PTR.[BX],0...JZ.S1B
3c9e0 0d 0a 09 43 4d 50 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 41 4c 0d 0a 09 4a 4e 5a 09 53 37 ...CMP.BYTE.PTR.[BX],AL...JNZ.S7
3ca00 41 0d 0a 3b 0d 0a 53 37 42 3a 09 4d 4f 56 09 41 58 2c 57 4f 52 44 20 50 54 52 20 5b 42 58 2b 31 A..;..S7B:.MOV.AX,WORD.PTR.[BX+1
3ca20 5d 20 20 20 20 20 3b 41 58 20 3d 20 4a 55 4d 50 20 41 44 44 52 45 53 53 0d 0a 09 4d 4f 56 09 42 ].....;AX.=.JUMP.ADDRESS...MOV.B
3ca40 58 2c 4f 46 46 53 45 54 20 50 41 52 41 4d 0d 0a 09 4d 4f 56 09 44 4c 2c 42 59 54 45 20 50 54 52 X,OFFSET.PARAM...MOV.DL,BYTE.PTR
3ca60 20 5b 42 58 5d 0d 0a 09 58 4f 52 09 44 48 2c 44 48 09 09 20 20 20 20 20 20 20 3b 44 58 20 3d 20 .[BX]...XOR.DH,DH.........;DX.=.
3ca80 46 49 52 53 54 20 50 41 52 41 4d 45 54 45 52 0d 0a 09 4d 4f 56 09 43 58 2c 44 58 0d 0a 09 4f 52 FIRST.PARAMETER...MOV.CX,DX...OR
3caa0 09 43 58 2c 43 58 0d 0a 09 4a 4e 5a 09 53 37 43 0d 0a 09 49 4e 43 09 43 58 09 09 20 20 20 20 20 .CX,CX...JNZ.S7C...INC.CX.......
3cac0 20 20 3b 20 69 66 20 44 58 3d 30 2c 20 43 58 3d 31 20 65 6c 73 65 20 43 58 20 3d 20 44 58 0d 0a ..;.if.DX=0,.CX=1.else.CX.=.DX..
3cae0 53 37 43 3a 09 4a 4d 50 09 41 58 09 09 20 20 20 20 20 20 20 3b 41 4c 20 3d 20 43 4f 4d 4d 01 41 S7C:.JMP.AX.........;AL.=.COMM.A
3cb00 4e 44 0d 0a 0d 0a 53 31 3a 09 43 4d 50 09 41 4c 2c 31 42 68 09 09 20 20 20 20 20 20 20 3b 45 53 ND....S1:.CMP.AL,1Bh.........;ES
3cb20 43 41 50 45 20 53 45 51 55 45 4e 43 45 3f 0d 0a 09 4a 4e 5a 09 53 31 42 0d 0a 09 4d 4f 56 09 57 CAPE.SEQUENCE?...JNZ.S1B...MOV.W
3cb40 4f 52 44 20 50 54 52 20 5b 53 49 5d 2c 4f 46 46 53 45 54 20 53 32 0d 0a 09 52 45 54 0d 0a 0d 0a ORD.PTR.[SI],OFFSET.S2...RET....
3cb60 53 31 42 3a 09 43 41 4c 4c 09 43 48 52 4f 55 54 0d 0a 53 31 41 3a 09 4d 4f 56 09 57 4f 52 44 20 S1B:.CALL.CHROUT..S1A:.MOV.WORD.
3cb80 50 54 52 20 5b 53 54 41 54 45 5d 2c 4f 46 46 53 45 54 20 53 31 0d 0a 09 52 45 54 0d 0a 0d 0a 4d PTR.[STATE],OFFSET.S1...RET....M
3cba0 4f 56 43 55 52 3a 20 43 4d 50 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 41 48 0d 0a 09 4a 5a OVCUR:.CMP.BYTE.PTR.[BX],AH...JZ
3cbc0 09 53 45 54 43 55 52 0d 0a 09 41 44 44 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 41 4c 0d 0a .SETCUR...ADD.BYTE.PTR.[BX],AL..
3cbe0 09 4c 4f 4f 50 09 4d 4f 56 43 55 52 0d 0a 53 45 54 43 55 52 3a 20 4d 4f 56 09 44 58 2c 57 4f 52 .LOOP.MOVCUR..SETCUR:.MOV.DX,WOR
3cc00 44 20 50 54 52 20 43 4f 4c 0d 0a 09 58 4f 52 09 42 58 2c 42 58 0d 0a 09 4d 4f 56 09 41 48 2c 32 D.PTR.COL...XOR.BX,BX...MOV.AH,2
3cc20 0d 0a 09 69 6e 74 09 31 30 68 09 09 09 3b 20 63 61 6c 6c 20 52 4f 4d 0d 0a 09 4a 4d 50 09 53 31 ...int.10h...;.call.ROM...JMP.S1
3cc40 41 0d 0a 0d 0a 48 56 50 3a 0d 0a 43 55 50 3a 0d 0a 49 46 09 4c 49 4e 45 32 35 0d 0a 09 43 4d 50 A....HVP:..CUP:..IF.LINE25...CMP
3cc60 09 43 4c 2c 28 6d 61 78 72 6f 77 2b 31 29 0d 0a 09 6a 62 09 63 75 70 33 09 09 09 3b 20 6e 65 77 .CL,(maxrow+1)...jb.cup3...;.new
3cc80 20 72 6f 77 20 69 73 20 32 34 20 6f 72 20 6c 65 73 73 0d 0a 09 4a 41 09 53 45 54 43 55 52 09 09 .row.is.24.or.less...JA.SETCUR..
3cca0 09 3b 20 65 72 72 6f 72 20 2d 20 32 36 20 6f 72 20 67 72 65 61 74 65 72 0d 0a 09 63 6d 70 09 45 .;.error.-.26.or.greater...cmp.E
3ccc0 6e 61 4c 32 35 2c 30 09 09 3b 20 65 6c 73 65 20 32 35 2c 20 69 73 20 69 74 20 61 6c 6c 6f 77 65 naL25,0..;.else.25,.is.it.allowe
3cce0 64 3f 0d 0a 09 6a 7a 09 53 45 54 43 55 52 0d 0a 63 75 70 33 3a 0d 0a 45 4c 53 45 0d 0a 09 43 01 d?...jz.SETCUR..cup3:..ELSE...C.
3cd00 4d 50 09 43 4c 2c 6d 61 78 72 6f 77 0d 0a 09 4a 41 09 53 45 54 43 55 52 0d 0a 45 4e 44 49 46 0d MP.CL,maxrow...JA.SETCUR..ENDIF.
3cd20 0a 09 4d 4f 56 09 41 4c 2c 4d 41 58 43 4f 4c 0d 0a 09 4d 4f 56 09 43 48 2c 42 59 54 45 20 50 54 ..MOV.AL,MAXCOL...MOV.CH,BYTE.PT
3cd40 52 20 5b 42 58 2b 31 5d 0d 0a 09 4f 52 09 43 48 2c 43 48 0d 0a 09 4a 5a 09 43 55 50 31 0d 0a 09 R.[BX+1]...OR.CH,CH...JZ.CUP1...
3cd60 44 45 43 09 43 48 0d 0a 43 55 50 31 3a 09 43 4d 50 09 41 4c 2c 43 48 0d 0a 09 4a 41 09 43 55 50 DEC.CH..CUP1:.CMP.AL,CH...JA.CUP
3cd80 32 0d 0a 09 4d 4f 56 09 43 48 2c 41 4c 0d 0a 43 55 50 32 3a 09 58 43 48 47 09 43 4c 2c 43 48 0d 2...MOV.CH,AL..CUP2:.XCHG.CL,CH.
3cda0 0a 09 44 45 43 09 43 48 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 43 4f 4c 2c 43 58 0d 0a ..DEC.CH...MOV.WORD.PTR.COL,CX..
3cdc0 09 4a 4d 50 09 53 45 54 43 55 52 0d 0a 0d 0a 43 55 46 3a 09 4d 4f 56 09 41 48 2c 4d 41 58 43 4f .JMP.SETCUR....CUF:.MOV.AH,MAXCO
3cde0 4c 0d 0a 09 4d 4f 56 09 41 4c 2c 31 0d 0a 43 55 46 31 3a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 L...MOV.AL,1..CUF1:.MOV.BX,OFFSE
3ce00 54 20 43 4f 4c 0d 0a 09 4a 4d 50 09 4d 4f 56 43 55 52 0d 0a 0d 0a 43 55 42 3a 09 4d 4f 56 09 41 T.COL...JMP.MOVCUR....CUB:.MOV.A
3ce20 58 2c 30 30 46 46 48 0d 0a 09 4a 4d 50 09 43 55 46 31 0d 0a 0d 0a 43 55 55 3a 09 4d 4f 56 09 41 X,00FFH...JMP.CUF1....CUU:.MOV.A
3ce40 58 2c 30 30 46 46 48 0d 0a 43 55 55 31 3a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 52 4f 57 X,00FFH..CUU1:.MOV.BX,OFFSET.ROW
3ce60 0d 0a 09 4a 4d 50 09 4d 4f 56 43 55 52 0d 0a 0d 0a 43 55 44 3a 09 4d 4f 56 09 41 58 2c 28 6d 61 ...JMP.MOVCUR....CUD:.MOV.AX,(ma
3ce80 78 72 6f 77 2d 31 29 2a 32 35 36 2b 31 0d 0a 49 46 09 4c 49 4e 45 32 35 0d 0a 09 63 6d 70 09 61 xrow-1)*256+1..IF.LINE25...cmp.a
3cea0 68 2c 5b 72 6f 77 5d 09 09 09 3b 20 61 74 20 62 6f 74 74 6f 6d 20 6f 66 20 73 63 72 65 65 6e 3f h,[row]...;.at.bottom.of.screen?
3cec0 0d 0a 09 6a 61 09 53 45 54 43 55 52 0d 0a 45 4e 44 49 46 0d 0a 09 4a 4d 50 09 43 55 55 31 0d 0a ...ja.SETCUR..ENDIF...JMP.CUU1..
3cee0 0d 0a 53 43 50 3a 09 4d 4f 56 09 41 58 2c 57 4f 52 44 20 50 54 52 20 43 4f 4c 0d 0a 09 4d 4f 56 ..SCP:.MOV.AX,WORD.PTR.COL...MOV
3cf00 01 09 53 41 56 43 52 2c 41 58 0d 0a 09 4a 4d 50 09 53 45 54 43 55 52 0d 0a 0d 0a 52 43 50 3a 09 ..SAVCR,AX...JMP.SETCUR....RCP:.
3cf20 4d 4f 56 09 41 58 2c 53 41 56 43 52 0d 0a 49 46 09 4c 49 4e 45 32 35 0d 0a 09 63 6d 70 09 63 68 MOV.AX,SAVCR..IF.LINE25...cmp.ch
3cf40 2c 6d 61 78 72 6f 77 0d 0a 09 6a 62 09 72 63 70 31 0d 0a 09 63 6d 70 09 45 6e 61 4c 32 35 2c 30 ,maxrow...jb.rcp1...cmp.EnaL25,0
3cf60 0d 0a 09 6a 7a 09 72 63 70 32 0d 0a 45 4e 44 49 46 0d 0a 72 63 70 31 3a 09 4d 4f 56 09 57 4f 52 ...jz.rcp2..ENDIF..rcp1:.MOV.WOR
3cf80 44 20 50 54 52 20 43 4f 4c 2c 41 58 0d 0a 72 63 70 32 3a 09 4a 4d 50 09 53 45 54 43 55 52 0d 0a D.PTR.COL,AX..rcp2:.JMP.SETCUR..
3cfa0 0d 0a 53 47 52 3a 09 58 4f 52 09 43 58 2c 43 58 0d 0a 09 58 43 48 47 09 43 4c 2c 50 52 4d 43 4e ..SGR:.XOR.CX,CX...XCHG.CL,PRMCN
3cfc0 54 0d 0a 09 43 41 4c 4c 09 47 45 54 50 54 52 0d 0a 09 49 4e 43 09 43 58 0d 0a 53 47 52 31 3a 09 T...CALL.GETPTR...INC.CX..SGR1:.
3cfe0 4d 4f 56 09 41 4c 2c 42 59 54 45 20 50 54 52 20 5b 42 58 5d 0d 0a 09 50 55 53 48 09 42 58 0d 0a MOV.AL,BYTE.PTR.[BX]...PUSH.BX..
3d000 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 47 52 4d 4f 44 45 0d 0a 53 47 52 32 3a 09 4d 4f 56 .MOV.BX,OFFSET.GRMODE..SGR2:.MOV
3d020 09 41 48 2c 42 59 54 45 20 50 54 52 20 5b 42 58 5d 0d 0a 09 41 44 44 09 42 58 2c 33 0d 0a 09 43 .AH,BYTE.PTR.[BX]...ADD.BX,3...C
3d040 4d 50 09 41 48 2c 30 46 46 48 0d 0a 09 4a 5a 09 53 47 52 33 0d 0a 09 43 4d 50 09 41 48 2c 41 4c MP.AH,0FFH...JZ.SGR3...CMP.AH,AL
3d060 0d 0a 09 4a 4e 5a 09 53 47 52 32 0d 0a 09 4d 4f 56 09 41 58 2c 57 4f 52 44 20 50 54 52 20 5b 42 ...JNZ.SGR2...MOV.AX,WORD.PTR.[B
3d080 58 2d 32 5d 0d 0a 09 41 4e 44 09 41 54 54 52 2c 41 4c 0d 0a 09 4f 52 09 41 54 54 52 2c 41 48 0d X-2]...AND.ATTR,AL...OR.ATTR,AH.
3d0a0 0a 53 47 52 33 3a 09 50 4f 50 09 42 58 0d 0a 09 49 4e 43 09 42 58 0d 0a 09 4c 4f 4f 50 09 53 47 .SGR3:.POP.BX...INC.BX...LOOP.SG
3d0c0 52 31 0d 0a 09 4a 4d 50 09 53 45 54 43 55 52 0d 0a 0d 0a 45 44 3a 0d 0a 49 46 09 4c 49 4e 45 32 R1...JMP.SETCUR....ED:..IF.LINE2
3d0e0 35 0d 0a 09 63 6d 70 09 72 6f 77 2c 6d 61 78 72 6f 77 09 09 3b 20 6f 6e 20 32 35 74 68 20 6c 69 5...cmp.row,maxrow..;.on.25th.li
3d100 6e 05 1b 00 09 02 01 02 03 04 05 06 07 08 09 01 65 3f 0d 0a 09 6a 65 09 45 4c 09 09 09 3b 20 79 n...............e?...je.EL...;.y
3d120 65 73 2c 20 74 72 65 61 74 20 6c 69 6b 65 20 45 72 61 73 65 20 69 6e 20 4c 69 6e 65 0d 0a 45 4e es,.treat.like.Erase.in.Line..EN
3d140 44 49 46 0d 0a 09 78 6f 72 09 63 78 2c 63 78 0d 0a 09 6d 6f 76 09 64 6c 2c 6d 61 78 63 6f 6c 0d DIF...xor.cx,cx...mov.dl,maxcol.
3d160 0a 09 6d 6f 76 09 64 68 2c 28 6d 61 78 72 6f 77 2d 31 29 0d 0a 09 63 6d 70 09 70 61 72 61 6d 2c ..mov.dh,(maxrow-1)...cmp.param,
3d180 31 09 09 09 3b 20 77 68 69 63 68 20 73 75 62 63 6f 6d 6d 61 6e 64 3f 0d 0a 09 6a 61 09 65 6c 32 1...;.which.subcommand?...ja.el2
3d1a0 09 09 09 3b 20 61 6c 6c 0d 0a 09 6a 62 09 65 64 31 0d 0a 09 6d 6f 76 09 64 68 2c 72 6f 77 09 09 ...;.all...jb.ed1...mov.dh,row..
3d1c0 09 3b 20 74 6f 20 62 65 67 69 6e 6e 69 6e 67 0d 0a 09 64 65 63 09 64 68 0d 0a 09 6a 6c 65 09 45 .;.to.beginning...dec.dh...jle.E
3d1e0 4c 0d 0a 09 6a 6d 70 09 73 68 6f 72 74 20 65 64 32 0d 0a 65 64 31 3a 09 6d 6f 76 09 63 68 2c 72 L...jmp.short.ed2..ed1:.mov.ch,r
3d200 6f 77 09 09 09 3b 20 74 6f 20 65 6e 64 0d 0a 09 69 6e 63 09 63 68 0d 0a 09 63 6d 70 09 63 68 2c ow...;.to.end...inc.ch...cmp.ch,
3d220 64 68 0d 0a 09 6a 61 65 09 45 4c 0d 0a 65 64 32 3a 09 6d 6f 76 09 62 68 2c 61 74 74 72 0d 0a 09 dh...jae.EL..ed2:.mov.bh,attr...
3d240 4d 4f 56 09 41 58 2c 30 36 30 30 48 0d 0a 09 69 6e 74 09 31 30 68 09 09 09 3b 20 63 61 6c 6c 20 MOV.AX,0600H...int.10h...;.call.
3d260 52 4f 4d 0d 0a 0d 0a 45 4c 3a 09 4d 4f 56 09 43 58 2c 57 4f 52 44 20 50 54 52 20 43 4f 4c 0d 0a ROM....EL:.MOV.CX,WORD.PTR.COL..
3d280 09 4d 4f 56 09 64 78 2c 63 78 0d 0a 09 6d 6f 76 09 61 6c 2c 70 61 72 61 6d 0d 0a 09 69 6e 63 09 .MOV.dx,cx...mov.al,param...inc.
3d2a0 61 6c 09 09 09 3b 20 30 2c 31 2c 32 20 3d 3e 20 31 2c 32 2c 33 0d 0a 09 74 65 73 74 09 61 6c 2c al...;.0,1,2.=>.1,2,3...test.al,
3d2c0 31 09 09 09 3b 20 74 6f 20 65 6e 64 3f 0d 0a 09 6a 65 09 65 6c 31 0d 0a 09 6d 6f 76 09 64 6c 2c 1...;.to.end?...je.el1...mov.dl,
3d2e0 6d 61 78 63 6f 6c 0d 0a 65 6c 31 3a 09 74 65 73 74 09 61 6c 2c 32 09 09 09 3b 20 74 6f 20 62 65 maxcol..el1:.test.al,2...;.to.be
3d300 67 69 6e 6e 69 6e 67 3f 0d 0a 09 6a 65 09 65 6c 01 32 0d 0a 09 6d 6f 76 09 63 6c 2c 30 0d 0a 65 ginning?...je.el.2...mov.cl,0..e
3d320 6c 32 3a 09 6d 6f 76 09 62 68 2c 61 74 74 72 0d 0a 09 6d 6f 76 09 61 78 2c 30 36 30 30 48 0d 0a l2:.mov.bh,attr...mov.ax,0600H..
3d340 09 69 6e 74 09 31 30 68 0d 0a 53 31 41 5f 6a 3a 09 6a 6d 70 09 53 31 41 0d 0a 0d 0a 49 4c 3a 09 .int.10h..S1A_j:.jmp.S1A....IL:.
3d360 6d 6f 76 09 61 68 2c 37 09 09 09 3b 20 73 63 72 6f 6c 6c 20 64 6f 77 6e 0d 0a 09 6a 6d 70 09 73 mov.ah,7...;.scroll.down...jmp.s
3d380 68 6f 72 74 20 64 6c 31 0d 0a 0d 0a 78 44 4c 3a 09 6d 6f 76 09 61 68 2c 36 09 09 09 3b 20 73 63 hort.dl1....xDL:.mov.ah,6...;.sc
3d3a0 72 6f 6c 6c 20 75 70 0d 0a 64 6c 31 3a 09 6d 6f 76 09 61 6c 2c 63 6c 09 09 09 3b 20 6e 75 6d 62 roll.up..dl1:.mov.al,cl...;.numb
3d3c0 65 72 20 6f 66 20 6c 69 6e 65 73 0d 0a 09 6d 6f 76 09 63 68 2c 72 6f 77 0d 0a 09 78 6f 72 09 63 er.of.lines...mov.ch,row...xor.c
3d3e0 6c 2c 63 6c 0d 0a 09 6d 6f 76 09 64 68 2c 28 6d 61 78 72 6f 77 2d 31 29 0d 0a 09 6d 6f 76 09 64 l,cl...mov.dh,(maxrow-1)...mov.d
3d400 6c 2c 6d 61 78 63 6f 6c 0d 0a 09 6d 6f 76 09 62 68 2c 61 74 74 72 0d 0a 09 69 6e 74 09 31 30 68 l,maxcol...mov.bh,attr...int.10h
3d420 0d 0a 09 6a 6d 70 09 53 31 41 5f 6a 0d 0a 0d 0a 52 4d 3a 09 58 4f 52 09 43 4c 2c 43 4c 0d 0a 09 ...jmp.S1A_j....RM:.XOR.CL,CL...
3d440 4a 4d 50 09 53 48 4f 52 54 20 53 4d 31 0d 0a 0d 0a 53 4d 3a 09 4d 4f 56 09 43 4c 2c 31 0d 0a 53 JMP.SHORT.SM1....SM:.MOV.CL,1..S
3d460 4d 31 3a 09 6d 6f 76 09 62 6c 2c 53 65 6c 43 68 61 72 09 09 3b 20 67 65 74 20 73 65 6c 65 63 74 M1:.mov.bl,SelChar..;.get.select
3d480 69 6f 6e 20 63 68 61 72 61 63 74 65 72 0d 0a 09 73 75 62 09 62 6c 2c 27 3c 27 09 09 09 3b 20 61 ion.character...sub.bl,'<'...;.a
3d4a0 64 6a 75 73 74 0d 0a 09 6a 62 09 53 31 41 5f 6a 09 09 09 3b 20 6c 65 73 73 20 74 68 61 6e 20 27 djust...jb.S1A_j...;.less.than.'
3d4c0 3c 27 0d 0a 09 63 6d 70 09 62 6c 2c 34 0d 0a 09 6a 61 65 09 53 31 41 5f 6a 09 09 09 3b 20 67 72 <'...cmp.bl,4...jae.S1A_j...;.gr
3d4e0 65 61 74 65 72 20 74 68 61 6e 20 27 3f 27 0d 0a 09 78 6f 72 09 62 68 2c 62 68 0d 0a 09 73 68 6c eater.than.'?'...xor.bh,bh...shl
3d500 09 62 78 2c 31 0d 0a 09 73 68 6c 09 62 78 2c 31 0d 01 0a 09 73 68 6c 09 62 78 2c 31 0d 0a 09 4d .bx,1...shl.bx,1....shl.bx,1...M
3d520 4f 56 09 41 4c 2c 44 4c 0d 0a 09 43 4d 50 09 41 4c 2c 37 0d 0a 09 4a 41 09 53 31 41 5f 6a 0d 0a OV.AL,DL...CMP.AL,7...JA.S1A_j..
3d540 09 6f 72 09 62 6c 2c 61 6c 0d 0a 09 73 68 6c 09 62 78 2c 31 0d 0a 09 6d 6f 76 09 62 78 2c 53 52 .or.bl,al...shl.bx,1...mov.bx,SR
3d560 4d 4f 44 45 5b 62 78 5d 09 09 3b 20 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 64 69 63 61 74 MODE[bx]..;.get.function.indicat
3d580 6f 72 0d 0a 09 63 6d 70 09 62 78 2c 31 09 09 09 3b 20 6e 6f 20 6f 72 20 73 70 65 63 69 61 6c 20 or...cmp.bx,1...;.no.or.special.
3d5a0 66 75 6e 63 74 69 6f 6e 3f 0d 0a 09 6a 62 09 53 31 41 5f 6a 0d 0a 09 6a 7a 09 53 4d 32 09 09 09 function?...jb.S1A_j...jz.SM2...
3d5c0 3b 20 73 65 74 73 20 73 63 72 65 65 6e 20 6d 6f 64 65 0d 0a 09 4d 4f 56 09 5b 62 78 5d 2c 43 4c ;.sets.screen.mode...MOV.[bx],CL
3d5e0 0d 0a 09 4a 4d 50 09 53 31 41 5f 6a 0d 0a 0d 0a 53 4d 32 3a 09 4d 4f 56 09 41 48 2c 30 0d 0a 09 ...JMP.S1A_j....SM2:.MOV.AH,0...
3d600 69 6e 74 09 31 30 68 09 09 09 3b 20 63 61 6c 6c 20 52 4f 4d 0d 0a 09 4a 4d 50 09 53 31 41 5f 6a int.10h...;.call.ROM...JMP.S1A_j
3d620 0d 0a 0d 0a 3b 09 47 65 74 50 74 72 20 2d 20 67 65 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 ....;.GetPtr.-.get.a.pointer.to.
3d640 74 68 65 20 63 75 72 72 65 6e 74 20 70 61 72 61 6d 65 74 65 72 0d 0a 47 45 54 50 54 52 3a 20 4d the.current.parameter..GETPTR:.M
3d660 4f 56 09 42 58 2c 50 52 4d 43 4e 54 57 0d 0a 09 43 4d 50 09 42 58 2c 4e 55 4d 50 41 52 41 4d 0d OV.BX,PRMCNTW...CMP.BX,NUMPARAM.
3d680 0a 09 4a 42 09 47 45 54 31 0d 0a 09 44 45 43 09 50 52 4d 43 4e 54 0d 0a 09 4a 4d 50 09 47 45 54 ..JB.GET1...DEC.PRMCNT...JMP.GET
3d6a0 50 54 52 0d 0a 47 45 54 31 3a 09 41 44 44 09 42 58 2c 4f 46 46 53 45 54 20 50 41 52 41 4d 0d 0a PTR..GET1:.ADD.BX,OFFSET.PARAM..
3d6c0 09 52 45 54 0d 0a f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 .RET............................
3d6e0 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 00 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 ................................
3d700 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 02 f6 01 69 62 6d 62 69 6f 2e 6f 62 6a 3a .....................ibmbio.obj:
3d720 09 69 62 6d 62 69 6f 2e 61 73 6d 20 64 65 66 64 62 75 67 2e 69 6e 63 20 62 75 67 63 6f 64 65 2e .ibmbio.asm.defdbug.inc.bugcode.
3d740 69 6e 63 0d 0a 09 6d 61 73 6d 20 69 62 6d 62 69 6f 3b 0d 0a 0d 0a 69 62 6d 6d 74 63 6f 6e 2e 6f inc...masm.ibmbio;....ibmmtcon.o
3d760 62 6a 3a 09 69 62 6d 6d 74 63 6f 6e 2e 61 73 6d 20 61 6e 73 69 2e 69 6e 63 20 64 65 66 64 62 75 bj:.ibmmtcon.asm.ansi.inc.defdbu
3d780 67 2e 69 6e 63 0d 0a 09 6d 61 73 6d 20 69 62 6d 6d 74 63 6f 6e 3b 0d 0a 0d 0a 69 62 6d 64 73 6b g.inc...masm.ibmmtcon;....ibmdsk
3d7a0 2e 6f 62 6a 3a 09 69 62 6d 64 73 6b 2e 61 73 6d 20 64 65 66 64 62 75 67 2e 69 6e 63 0d 0a 09 6d .obj:.ibmdsk.asm.defdbug.inc...m
3d7c0 61 73 6d 20 69 62 6d 64 73 6b 3b 0d 0a 0d 0a 73 79 73 69 6e 69 2e 6f 62 6a 3a 09 73 79 73 69 6e asm.ibmdsk;....sysini.obj:.sysin
3d7e0 69 2e 61 73 6d 20 64 6f 73 73 79 6d 2e 69 6e 63 20 64 65 76 73 79 6d 2e 69 6e 63 20 73 79 73 63 i.asm.dossym.inc.devsym.inc.sysc
3d800 61 6c 6c 73 2e 69 6e 63 0d 0a 09 6d 61 73 6d 20 73 79 73 69 6e 69 3b 0d 0a 0d 0a 73 79 73 69 6d alls.inc...masm.sysini;....sysim
3d820 65 73 2e 6f 62 6a 3a 09 73 79 73 69 6d 65 73 2e 61 73 6d 0d 0a 09 6d 61 73 6d 20 73 79 73 69 6d es.obj:.sysimes.asm...masm.sysim
3d840 65 73 3b 0d 0a 0d 0a 69 62 6d 62 69 6f 2e 65 78 65 3a 09 69 62 6d 62 69 6f 2e 6f 62 6a 20 69 62 es;....ibmbio.exe:.ibmbio.obj.ib
3d860 6d 6d 74 63 6f 6e 2e 6f 62 6a 20 69 62 6d 64 73 6b 2e 6f 62 6a 20 73 79 73 69 6e 69 2e 6f 62 6a mmtcon.obj.ibmdsk.obj.sysini.obj
3d880 20 73 79 73 69 6d 65 73 2e 6f 62 6a 0d 0a 09 6c 69 6e 6b 20 69 62 6d 62 69 6f 20 69 62 6d 6d 74 .sysimes.obj...link.ibmbio.ibmmt
3d8a0 63 6f 6e 20 69 62 6d 64 73 6b 20 73 79 73 69 6e 69 20 73 79 73 69 6d 65 73 2c 69 62 6d 62 69 6f con.ibmdsk.sysini.sysimes,ibmbio
3d8c0 2c 69 62 6d 62 69 6f 2f 6d 61 70 3b 0d 0a 0d 0a 69 62 6d 62 69 6f 2e 63 6f 6d 3a 09 69 62 6d 62 ,ibmbio/map;....ibmbio.com:.ibmb
3d8e0 69 6f 2e 65 78 65 0d 0a 09 65 78 65 32 62 69 6e 20 69 62 6d 62 69 6f 20 69 62 6d 62 69 6f 2e 63 io.exe...exe2bin.ibmbio.ibmbio.c
3d900 6f 6d 0d 0a 6a a1 26 6a ff 4f 6a a5 66 6a a7 86 6a a9 a6 6a ab 01 20 20 20 20 42 55 47 42 49 54 om..j.&j.Oj.fj..j..j......BUGBIT
3d920 53 0d 0a 20 30 30 30 30 3a 30 30 45 44 20 20 20 20 20 20 20 43 4d 44 45 52 52 0d 0a 20 30 30 30 S...0000:00ED.......CMDERR...000
3d940 30 3a 30 31 32 46 20 20 20 20 20 20 20 43 4f 4d 31 44 45 56 0d 0a 20 30 30 30 30 3a 30 33 46 31 0:012F.......COM1DEV...0000:03F1
3d960 20 20 20 20 20 20 20 43 4f 4e 44 45 56 0d 0a 20 30 32 36 36 3a 30 39 38 38 20 20 20 20 20 20 20 .......CONDEV...0266:0988.......
3d980 43 52 4c 46 4d 0d 0a 20 30 32 36 36 3a 30 31 30 35 20 20 20 20 20 20 20 43 55 52 52 45 4e 54 5f CRLFM...0266:0105.......CURRENT_
3d9a0 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 0d 0a 20 30 32 36 36 3a 30 31 31 31 20 20 20 20 20 20 20 44 DOS_LOCATION...0266:0111.......D
3d9c0 45 46 41 55 4c 54 5f 44 52 49 56 45 0d 0a 20 30 32 36 36 3a 30 31 30 42 20 20 20 20 20 20 20 44 EFAULT_DRIVE...0266:010B.......D
3d9e0 45 56 49 43 45 5f 4c 49 53 54 0d 0a 20 30 30 30 30 3a 32 34 46 30 20 20 20 20 20 20 20 44 49 53 EVICE_LIST...0000:24F0.......DIS
3da00 4b 5f 49 4e 49 54 0d 0a 20 30 30 30 30 3a 30 30 38 34 20 20 20 20 20 20 20 44 4f 53 46 55 4e 43 K_INIT...0000:0084.......DOSFUNC
3da20 54 49 4f 4e 0d 0a 20 30 32 36 36 3a 30 31 31 33 20 20 20 20 20 20 20 46 49 4c 45 53 0d 0a 20 30 TION...0266:0113.......FILES...0
3da40 32 36 36 3a 30 31 30 39 20 20 20 20 20 20 20 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 266:0109.......FINAL_DOS_LOCATIO
3da60 4e 0d 0a 20 30 30 30 30 3a 31 32 33 41 20 20 20 20 20 20 20 46 4c 4f 50 50 59 44 45 56 49 43 45 N...0000:123A.......FLOPPYDEVICE
3da80 0d 0a 20 30 30 30 30 3a 31 39 46 46 20 20 20 20 20 20 20 46 4c 4f 50 50 59 54 49 4d 45 52 0d 0a ...0000:19FF.......FLOPPYTIMER..
3daa0 20 30 30 30 30 3a 30 30 42 41 20 20 20 20 20 20 20 49 4e 54 45 52 52 55 50 54 0d 0a 20 30 32 36 .0000:00BA.......INTERRUPT...026
3dac0 36 3a 30 31 30 46 20 20 20 20 20 20 20 4d 45 4d 4f 52 59 5f 53 49 5a 45 0d 0a 20 30 30 30 30 3a 6:010F.......MEMORY_SIZE...0000:
3dae0 30 30 46 44 20 20 20 20 20 20 20 53 45 54 53 54 41 54 55 53 0d 0a 20 30 30 30 30 3a 30 30 46 42 00FD.......SETSTATUS...0000:00FB
3db00 20 20 20 20 20 20 20 53 54 41 54 55 53 43 4f 4d 50 4c 45 54 45 0d 01 0a 20 30 30 30 30 3a 30 30 .......STATUSCOMPLETE....0000:00
3db20 45 39 20 20 20 20 20 20 20 53 54 41 54 55 53 44 45 56 52 45 41 44 59 0d 0a 20 30 30 30 30 3a 30 E9.......STATUSDEVREADY...0000:0
3db40 30 46 32 20 20 20 20 20 20 20 53 54 41 54 55 53 45 52 52 4f 52 0d 0a 20 30 32 36 36 3a 30 31 30 0F2.......STATUSERROR...0266:010
3db60 30 20 20 20 20 20 20 20 53 59 53 49 4e 49 54 0d 0a 20 30 32 36 36 3a 30 39 45 42 20 20 20 20 20 0.......SYSINIT...0266:09EB.....
3db80 20 20 53 59 53 53 49 5a 45 0d 0a 20 30 30 30 30 3a 30 32 43 44 20 20 20 20 20 20 20 54 49 4d 24 ..SYSSIZE...0000:02CD.......TIM$
3dba0 52 45 41 44 0d 0a 0d 0a 20 20 41 64 64 72 65 73 73 20 20 20 20 20 20 20 20 20 50 75 62 6c 69 63 READ......Address.........Public
3dbc0 73 20 62 79 20 56 61 6c 75 65 0d 0a 0d 0a 20 30 30 30 30 3a 30 30 38 34 20 20 20 20 20 20 20 44 s.by.Value.....0000:0084.......D
3dbe0 4f 53 46 55 4e 43 54 49 4f 4e 0d 0a 20 30 30 30 30 3a 30 30 38 46 20 20 20 20 20 20 20 42 55 47 OSFUNCTION...0000:008F.......BUG
3dc00 42 49 54 53 0d 0a 20 30 30 30 30 3a 30 30 42 41 20 20 20 20 20 20 20 49 4e 54 45 52 52 55 50 54 BITS...0000:00BA.......INTERRUPT
3dc20 0d 0a 20 30 30 30 30 3a 30 30 45 39 20 20 20 20 20 20 20 53 54 41 54 55 53 44 45 56 52 45 41 44 ...0000:00E9.......STATUSDEVREAD
3dc40 59 0d 0a 20 30 30 30 30 3a 30 30 45 44 20 20 20 20 20 20 20 43 4d 44 45 52 52 0d 0a 20 30 30 30 Y...0000:00ED.......CMDERR...000
3dc60 30 3a 30 30 46 32 20 20 20 20 20 20 20 53 54 41 54 55 53 45 52 52 4f 52 0d 0a 20 30 30 30 30 3a 0:00F2.......STATUSERROR...0000:
3dc80 30 30 46 42 20 20 20 20 20 20 20 53 54 41 54 55 53 43 4f 4d 50 4c 45 54 45 0d 0a 20 30 30 30 30 00FB.......STATUSCOMPLETE...0000
3dca0 3a 30 30 46 44 20 20 20 20 20 20 20 53 45 54 53 54 41 54 55 53 0d 0a 20 30 30 30 30 3a 30 31 31 :00FD.......SETSTATUS...0000:011
3dcc0 44 20 20 20 20 20 20 20 41 55 58 44 45 56 0d 0a 20 30 30 30 30 3a 30 31 32 46 20 20 20 20 20 20 D.......AUXDEV...0000:012F......
3dce0 20 43 4f 4d 31 44 45 56 0d 0a 20 30 30 30 30 3a 30 32 43 44 20 20 20 20 20 20 20 54 49 4d 24 52 .COM1DEV...0000:02CD.......TIM$R
3dd00 45 41 44 0d 0a 20 30 30 30 30 3a 30 33 46 31 20 20 20 20 20 20 20 43 01 4f 4e 44 45 56 0d 0a 20 EAD...0000:03F1.......C.ONDEV...
3dd20 30 30 30 30 3a 31 32 33 41 20 20 20 20 20 20 20 46 4c 4f 50 50 59 44 45 56 49 43 45 0d 0a 20 30 0000:123A.......FLOPPYDEVICE...0
3dd40 30 30 30 3a 31 39 46 46 20 20 20 20 20 20 20 46 4c 4f 50 50 59 54 49 4d 45 52 0d 0a 20 30 30 30 000:19FF.......FLOPPYTIMER...000
3dd60 30 3a 32 34 46 30 20 20 20 20 20 20 20 44 49 53 4b 5f 49 4e 49 54 0d 0a 20 30 32 36 36 3a 30 31 0:24F0.......DISK_INIT...0266:01
3dd80 30 30 20 20 20 20 20 20 20 53 59 53 49 4e 49 54 0d 0a 20 30 32 36 36 3a 30 31 30 35 20 20 20 20 00.......SYSINIT...0266:0105....
3dda0 20 20 20 43 55 52 52 45 4e 54 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 0d 0a 20 30 32 36 36 3a 30 ...CURRENT_DOS_LOCATION...0266:0
3ddc0 31 30 39 20 20 20 20 20 20 20 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 0d 0a 20 30 109.......FINAL_DOS_LOCATION...0
3dde0 32 36 36 3a 30 31 30 42 20 20 20 20 20 20 20 44 45 56 49 43 45 5f 4c 49 53 54 0d 0a 20 30 32 36 266:010B.......DEVICE_LIST...026
3de00 36 3a 30 31 30 46 20 20 20 20 20 20 20 4d 45 4d 4f 52 59 5f 53 49 5a 45 0d 0a 20 30 32 36 36 3a 6:010F.......MEMORY_SIZE...0266:
3de20 30 31 31 31 20 20 20 20 20 20 20 44 45 46 41 55 4c 54 5f 44 52 49 56 45 0d 0a 20 30 32 36 36 3a 0111.......DEFAULT_DRIVE...0266:
3de40 30 31 31 32 20 20 20 20 20 20 20 42 55 46 46 45 52 53 0d 0a 20 30 32 36 36 3a 30 31 31 33 20 20 0112.......BUFFERS...0266:0113..
3de60 20 20 20 20 20 46 49 4c 45 53 0d 0a 20 30 32 36 36 3a 30 39 36 34 20 20 20 20 20 20 20 42 41 44 .....FILES...0266:0964.......BAD
3de80 4f 50 4d 0d 0a 20 30 32 36 36 3a 30 39 38 38 20 20 20 20 20 20 20 43 52 4c 46 4d 0d 0a 20 30 32 OPM...0266:0988.......CRLFM...02
3dea0 36 36 3a 30 39 38 42 20 20 20 20 20 20 20 42 41 44 53 49 5a 0d 0a 20 30 32 36 36 3a 30 39 41 43 66:098B.......BADSIZ...0266:09AC
3dec0 20 20 20 20 20 20 20 42 41 44 4c 44 0d 0a 20 30 32 36 36 3a 30 39 42 45 20 20 20 20 20 20 20 42 .......BADLD...0266:09BE.......B
3dee0 41 44 43 4f 4d 0d 0a 20 30 32 36 36 3a 30 39 44 32 20 20 20 20 20 20 20 42 41 44 43 4f 55 4e 54 ADCOM...0266:09D2.......BADCOUNT
3df00 52 59 0d 0a 20 30 32 36 36 3a 30 39 45 42 20 20 20 20 20 20 20 53 59 53 01 4d 5a 4b 00 1a 00 0c RY...0266:09EB.......SYS.MZK....
3df20 00 20 00 00 00 ff ff 00 00 00 00 07 4a 00 00 00 00 1e 00 00 00 01 00 72 03 00 00 c1 03 ee 01 da ............J..........r........
3df40 03 ee 01 88 04 ee 01 9e 04 ee 01 f3 03 00 00 b8 07 00 00 3c 12 00 00 48 12 00 00 39 01 66 02 3d ...................<...H...9.f.=
3df60 01 66 02 41 01 66 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .f.A.f..........................
3df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 1b 01 09 02 01 02 ................................
3e120 03 04 05 06 07 08 09 01 e9 ca 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fb ..........!.....................
3e140 00 fb 00 fb 00 ed 00 55 01 7b 01 fb 00 b4 01 bc 01 bc 01 9e 01 ed 00 ed 00 ed 00 ed 00 ed 00 ed .......U.{......................
3e160 00 ed 00 ed 00 ed 00 ed 00 ed 00 fb 00 fb 00 fb 00 ed 00 cd 02 e9 00 fb 00 fb 00 8b 02 8b 02 fb ................................
3e180 00 fb 00 fb 00 ed 00 f6 00 e9 00 fb 00 fb 00 28 02 28 02 4b 02 fb 00 ed 00 ed 00 ed 00 ed 00 ed ...............(.(.K............
3e1a0 00 ed 00 ed 00 ed 00 ed 00 ed 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff cb 56 50 32 c0 eb 04 ..........................VP2...
3e1c0 56 50 b0 01 be 17 00 eb 1a 56 50 32 c0 eb 0a 56 50 b0 01 eb 04 56 50 b0 02 be 57 00 eb 05 56 be VP.......VP2...VP....VP...W...V.
3e1e0 43 00 50 51 52 57 55 1e 06 53 2e a2 83 00 8c c0 8e d8 8a 47 02 32 e4 03 f0 03 f0 3c 12 77 16 8a C.PQRWU..S.........G.2.....<.w..
3e200 47 01 8a 67 0d 8b 4f 12 8b 57 14 c4 7f 0e 2e ff 24 b4 03 eb 10 b0 03 29 4f 12 b4 81 eb 07 33 c0 G..g..O..W......$......)O.....3.
3e220 89 47 12 b4 01 5b 07 26 89 47 03 1f 5d 5f 5a 59 58 5e cb b4 00 89 4f 12 89 7f 0e eb e8 2e 8a 16 .G...[.&.G..]_ZYX^....O.........
3e240 83 00 32 f6 c3 df 01 70 00 00 80 91 00 92 00 41 55 58 20 20 20 20 20 f1 01 70 00 00 80 91 00 92 ..2....p.......AUX.......p......
3e260 00 43 4f 4d 31 20 20 20 20 ff ff 70 00 00 80 91 00 98 00 43 4f 4d 32 20 20 20 20 00 00 e3 11 e8 .COM1......p.......COM2.........
3e280 7b 00 33 c0 86 07 0a c0 75 03 e8 05 00 aa e2 fa eb 91 b4 02 e8 3f 00 f6 c4 0e 74 06 58 b0 0b e9 {.3.....u............?....t.X...
3e2a0 75 ff c3 e8 57 00 8a 07 0a c0 75 14 e8 25 00 f6 c4 01 74 0f a8 20 74 0b e8 d7 ff e8 3f 00 88 07 u...W.....u..%....t...t.....?...
3e2c0 e9 60 ff e9 4b ff e8 0b 00 a8 20 74 f6 f6 c4 20 74 f1 eb bc b4 03 e8 64 ff cd 14 c3 e8 1e 00 c6 .`..K......t....t......d........
3e2e0 07 00 eb ac e3 aa 26 8a 05 47 b4 01 e8 e7 ff f6 c4 80 74 05 b0 0a e9 1e ff e2 eb eb 93 e8 3d ff ......&..G........t...........=.
3e300 8b da 81 c3 53 01 c3 77 02 70 00 00 80 91 00 a1 00 50 52 4e 20 20 20 20 20 03 02 70 00 00 80 91 ....S..w.p.......PRN.......p....
3e320 00 a1 00 4c 50 54 31 20 01 20 20 20 15 02 70 00 00 80 91 00 a7 00 4c 50 54 32 20 20 20 20 41 01 ...LPT1.......p.......LPT2....A.
3e340 70 00 00 80 91 00 ad 00 4c 50 54 33 20 20 20 20 00 e3 1e 26 8a 05 47 2e c6 06 27 02 00 32 e4 e8 p.......LPT3.......&..G...'..2..
3e360 21 00 74 0b 2e 80 36 27 02 01 75 f1 e9 a9 fe e2 e2 e9 b0 fe e8 0a 00 75 f3 f6 c4 80 75 f3 e9 91 !.t...6'..u............u....u...
3e380 fe b4 02 e8 b8 fe cd 17 b0 02 f6 c4 01 75 10 b0 0a f6 c4 08 74 09 f6 c4 20 74 02 b0 09 0a c0 c3 .............u......t....t......
3e3a0 3a 12 70 00 08 80 91 00 b6 00 43 4c 4f 43 4b 24 20 20 00 00 53 26 8b 05 2e a3 89 02 26 8b 4d 02 :.p.......CLOCK$....S&......&.M.
3e3c0 b0 3c f6 e5 b5 00 03 c1 b9 60 ea f7 e1 8b f0 8b da 26 8a 45 05 b9 64 00 f6 e1 26 8a 4d 04 03 c1 .<.......`.......&.E..d...&.M...
3e3e0 b1 0a f7 e1 03 c6 2e a3 08 03 83 d3 00 2e 89 1e 0a 03 5b e9 2e fe 53 2e a1 89 02 ab 2e 8b 16 0a ..................[...S.........
3e400 03 2e a1 08 03 b9 60 ea f7 f1 8b da 33 d2 b9 3c 00 f7 f1 92 aa 92 aa 8b c3 33 d2 b9 e8 03 f7 f1 ......`.....3..<.........3......
3e420 93 8b c2 33 d2 b9 0a 00 f7 f1 aa 93 aa 5b e9 f3 fd 00 00 00 00 00 37 32 50 2e ff 06 08 03 75 05 ...3.........[........72P.....u.
3e440 2e ff 06 0a 03 2e 81 3e 0a 03 26 05 75 18 2e 81 3e 08 03 00 5c 75 0f 2e ff 06 89 02 33 c0 2e a3 .......>..&.u...>...\u......3...
3e460 0a 03 2e a3 08 03 b0 36 e6 43 b0 a9 e6 40 b0 04 e6 40 b0 20 e6 20 2e fe 0e 0e 03 75 21 2e c6 06 .......6.C...@...@.........u!...
3e480 0e 03 32 58 cd 32 2e 83 3e 86 00 00 74 0f 2b d2 b8 32 00 2e ff 1e 84 00 9a ff 19 00 00 cf 58 cf ..2X.2..>...t.+..2............X.
3e4a0 0a e4 74 05 fe cc 74 17 cf 2e a1 0a 03 33 d2 b9 37 00 f7 f1 50 2e a1 08 03 f7 f1 59 32 c0 cf 8b ..t...t......3..7...P......Y2...
3e4c0 c2 53 bb 37 00 f7 e3 2e a3 08 03 8b c1 8b ca f7 e3 5b 03 c1 2e a3 0a 03 cf 0d 0a 45 72 72 6f 72 .S.7.............[.........Error
3e4e0 20 2d 20 49 6e 74 65 72 72 75 70 74 20 31 32 0d 0a 00 00 00 00 00 50 53 56 1e 0e 1f be b0 03 e8 .-.Interrupt.12.......PSV.......
3e500 09 00 1f 5e 5b 58 2e ff 2e c9 03 ac 24 7f 74 09 bb 07 00 b4 0e cd 10 eb f2 c3 1d 01 00 00 13 c0 ...^[X......$.t.................
3e520 80 06 7f 06 43 4f 4e 20 20 01 20 20 20 15 0f fb 00 fb 00 ed 00 78 07 d1 07 fb 00 0d 08 44 08 44 ....CON..............x.......D.D
3e540 08 fb 00 fb 00 fb 00 fb 00 fb 00 fb 00 d1 0c a9 0e b5 0e 00 00 00 00 2f 04 00 07 00 02 00 49 00 ......................./......I.
3e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e5a0 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .......I........................
3e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e5e0 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................I...............
3e600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 .........................I......
3e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 ................................
3e680 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..I.............................
3e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e6c0 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........I....................
3e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 ....................I...........
3e720 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 ..............................I.
3e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e7a0 00 00 08 08 10 10 40 40 40 10 cb 56 be 03 04 e9 33 fa cd 32 fa b8 40 00 8e d8 b8 1e 00 a3 1a 00 ......@@@..V....3..2..@.........
3e7c0 a3 1c 00 b8 03 00 ba 05 00 2e ff 1e 84 00 74 04 2e a2 2a 04 cf 00 00 00 00 00 cd 32 b8 40 00 8e ..............t...*........2.@..
3e7e0 d8 9c 2e ff 1e aa 06 fa 8b 1e 1c 00 3b 1e 1a 00 74 3f 4b 4b 81 fb 1e 00 73 03 bb 3c 00 8b 07 ba ............;...t?KK....s..<....
3e800 05 00 2e ff 1e 84 00 75 06 89 1e 1c 00 eb 22 fa 2e 80 3e ae 06 00 74 19 50 53 51 52 8c c8 bb ae .......u......"...>...t.PSQR....
3e820 06 2e c6 07 00 ba 0a 00 2e ff 1e 84 00 5a 59 5b 58 cf 00 00 00 00 00 00 00 00 0a e4 74 1d 80 fc .............ZY[X...........t...
3e840 01 74 05 2e ff 2e 07 07 53 1e 2e c5 1e 0b 07 f6 07 ff 1f 5b 75 ed 33 c0 ca 02 00 50 53 51 52 1e .t......S..........[u.3....PSQR.
3e860 2e c5 1e 0b 07 8c d8 f6 07 ff 1f 75 0c 33 c9 ba 09 00 2e ff 1e 84 00 eb e6 b4 01 9c fa 2e ff 1e ...........u.3..................
3e880 07 07 fa 75 15 8c c8 bb ae 06 2e c6 07 ff 33 c9 ba 09 00 2e ff 1e 84 00 eb c5 5a 59 5b 58 2e ff ...u..........3...........ZY[X..
3e8a0 2e 07 07 23 c9 75 03 eb 24 90 fc 8b 57 14 83 fa 07 76 05 b0 0b e9 65 f9 2e 3b 16 2b 04 74 08 e8 ...#.u..$...W....v....e..;.+.t..
3e8c0 5e 07 e8 32 07 eb f1 e8 08 00 aa e2 03 e9 56 f9 eb e6 33 c0 2e 86 06 2a 04 0a c0 75 1e b4 00 9c ^..2..........V...3....*...u....
3e8e0 9a 30 07 00 00 0b c0 75 02 eb e7 3d 00 72 75 02 b0 10 0a c0 75 05 2e 88 26 2a 04 c3 8b 57 14 83 .0.....u...=.ru.....u...&*...W..
3e900 fa 07 76 05 b0 0b e9 14 f9 2e 3b 16 2b 04 75 25 2e a0 2a 04 0a c0 75 17 b4 01 cd 16 74 17 0b c0 ..v.......;.+.u%..*...u.....t...
3e920 75 06 b4 00 cd 16 eb d4 3d 00 72 01 75 02 b0 10 88 47 0d e9 f1 f8 e9 dc f8 8b 57 14 83 fa 07 76 u.......=.r.u....G........W....v
3e940 05 b0 0b e9 d8 f8 2e 3b 16 2b 04 74 08 e8 d1 06 e8 a5 06 eb f1 2e c6 06 2a 04 00 1e b8 40 00 8e .......;.+.t............*....@..
3e960 d8 fa b8 1e 00 a3 1a 00 a3 1c 00 fb 1f e9 b7 f8 e3 3f 8b 57 14 83 fa 07 76 05 b0 0a e9 9f f8 0e .................?.W....v.......
3e980 1f 8b 1e 2d 04 3b 16 2b 04 74 08 e8 93 06 e8 67 06 eb f2 80 3f 00 74 04 8b c3 eb f2 80 3e 29 04 ...-.;.+.t.....g....?.t......>).
3e9a0 00 74 05 b8 29 04 eb e6 26 8a 05 47 e8 d9 01 e2 d4 e9 73 f8 41 93 0b 42 9b 0b 43 82 0b 44 8e 0b .t..)...&..G......s.A..B..C..D..
3e9c0 48 55 0b 4a fb 0b 4b 36 0c 4c 5f 0c 4d 63 0c 66 55 0b 68 82 0c 6c 7e 0c 6d c8 0b 73 a7 0b 75 b1 HU.J..K6.L_.Mc.fU.h..l~.m..s..u.
3e9e0 0b 00 00 00 07 01 ff 08 04 f8 01 05 ff 80 07 f8 70 08 88 00 1e f8 00 1f f8 04 20 f8 02 21 f8 06 ................p............!..
3ea00 22 f8 01 23 f8 05 24 f8 03 25 f8 07 28 8f 00 29 8f 40 2a 8f 20 2b 8f 60 2c 8f 10 2d 8f 50 2e 8f "..#..$..%..(..).@*..+.`,..-.P..
3ea20 30 2f 8f 70 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 01 00 01 00 01 00 01 0/.p............................
3ea40 00 01 00 3d 09 00 00 3e 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...=...>........................
3ea60 00 00 00 3d 09 03 4f 00 00 01 00 2c 0b 00 00 00 00 00 00 00 00 00 00 07 00 00 b8 00 00 3c 0d 77 ...=..O....,.................<.w
3ea80 55 75 09 2e c6 06 3b 09 00 e9 8e 00 3c 0a 74 76 3c 07 75 0d 2e 8b 1e 4b 09 80 e3 07 b4 0e cd 10 Uu....;.....<.tv<.u....K........
3eaa0 c3 3c 09 75 1e 2e a0 3b 09 04 08 8a e0 80 e4 07 2a c4 2e 3a 06 3a 09 72 04 2e a0 3a 09 2e a2 3b .<.u...;........*..:.:.r...:...;
3eac0 09 eb 57 3c 08 75 0f 2e 80 3e 3b 09 00 74 d1 2e fe 0e 3b 09 eb 44 2e 8b 1e 4b 09 b9 01 00 b4 09 ..W<.u...>;..t....;..D...K......
3eae0 cd 10 2e fe 06 3b 09 2e a0 3b 09 2e 3a 06 3a 09 76 28 2e 80 3e 3d 09 01 74 06 2e fe 0e 3b 09 c3 .....;...;..:.:.v(..>=..t....;..
3eb00 2e c6 06 3b 09 00 2e 80 3e 3c 09 17 77 0c 74 07 2e fe 06 3c 09 eb 03 e8 0f 00 2e 8b 16 3b 09 2e ...;....><..w.t....<.........;..
3eb20 8a 3e 4c 09 b4 02 cd 10 c3 2e a0 39 01 09 3c 02 74 18 3c 03 74 14 33 c9 b6 17 2e 8a 16 3a 09 2e .>L........9..<.t.<.t.3......:..
3eb40 8a 3e 4b 09 b8 01 06 cd 10 c3 2e 8a 3e 4b 09 b3 20 bd 50 00 2e a1 4d 09 2e 03 06 4f 09 8e c0 8e .>K.........>K....P...M....O....
3eb60 d8 33 ff be a0 00 b9 30 07 fc ba da 03 ec a8 08 74 fb b0 25 ba d8 03 ee f3 a5 8b c3 8b cd f3 ab .3.....0........t..%............
3eb80 b0 29 ba d8 03 ee 0e 1f c3 50 53 51 52 56 57 06 55 2e c7 06 4d 09 00 b8 96 b8 40 00 8e d8 a1 49 .).......PSQRVW.U...M.....@....I
3eba0 00 fe cc 2e a3 39 09 3c 07 75 07 2e c7 06 4d 09 00 b0 a0 62 00 2e a2 4c 09 98 03 c0 8b d8 8b 47 .....9.<.u....M....b...L.......G
3ebc0 50 2e a3 3b 09 a1 4e 00 b1 04 d3 e8 0e 1f 2e a3 4f 09 96 e8 09 00 5d 07 5f 5e 5a 59 5b 58 c3 be P..;..N.........O.....]._^ZY[X..
3ebe0 3f 09 ff 24 3c 5b 74 03 eb 6f 90 c7 04 d0 0a 33 db 2e 89 1e 43 09 2e 89 1e 46 09 eb 19 3c 3f 77 ?..$<[t..o.....3....C....F...<?w
3ec00 36 2e a2 43 09 c7 04 e0 0a 3c 3c 73 09 3c 3b 75 0d 2e fe 06 44 09 e8 cf 01 33 c0 89 07 c3 3c 30 6..C.....<<s.<;u....D....3....<0
3ec20 72 12 3c 39 77 11 e8 bf 01 2c 30 86 07 b4 0a f6 e4 00 07 c3 75 01 c3 bb 85 08 83 c3 03 80 3f 00 r.<9w....,0.........u.........?.
3ec40 74 20 38 07 75 f4 8b 47 01 bb 46 09 8a 17 32 f6 8b ca 0b c9 75 01 41 ff e0 3c 1b 75 05 c7 04 b7 t.8.u..G..F...2.....u.A..<.u....
3ec60 0a c3 e8 19 fe 2e c7 06 3f 09 2c 0b c3 38 27 74 04 00 07 e2 f8 2e 8b 16 3b 09 33 db b4 02 cd 10 ........?.,..8't........;.3.....
3ec80 eb e3 80 f9 19 72 0a 77 ec 2e 80 3e 3e 09 00 74 e4 2e a0 3a 09 8a 6f 01 0a ed 74 02 fe cd 3a c5 .....r.w...>>..t...:..o...t...:.
3eca0 77 02 8a e8 86 cd fe cd 2e 89 0e 3b 09 eb c6 2e 8a 26 3a 09 b0 01 bb 3b 09 eb b2 b8 ff 00 eb f6 w..........;.....&:....;........
3ecc0 b8 ff 00 bb 3c 09 eb a5 b8 01 17 2e 3a 26 3c 09 77 a3 eb ef 2e a1 3b 09 2e a3 41 09 eb 97 2e a1 ....<.......:&<.w.....;...A.....
3ece0 41 09 80 fd 18 72 08 2e 80 3e 3e 09 00 74 04 2e a3 3b 09 eb 80 33 c9 2e 86 0e 44 09 e8 e9 00 41 A....r...>>..t...;...3....D....A
3ed00 8a 07 53 bb b6 08 8a 27 83 c3 03 80 fc ff 74 11 3a e0 75 f2 8b 47 fe 2e 20 06 4b 09 2e 08 26 4b ..S....'......t.:.u..G....K...&K
3ed20 09 5b 43 e2 db e9 4d ff 2e 80 3e 3c 09 01 18 74 33 33 c9 2e 8a 16 3a 09 b6 17 2e 80 3e 46 09 01 .[C...M...><...t33....:.....>F..
3ed40 77 3e 72 0b 2e 8a 36 3c 09 fe ce 7e 17 eb 0b 2e 8a 2e 3c 09 fe c5 3a ee 73 0a 2e 8a 3e 4b 09 b8 w>r...6<...~......<...:.s...>K..
3ed60 00 06 cd 10 2e 8b 0e 3b 09 8b d1 2e a0 46 09 fe c0 a8 01 74 05 2e 8a 16 3a 09 a8 02 74 02 b1 00 .......;.....F.....t....:...t...
3ed80 2e 8a 3e 4b 09 b8 00 06 cd 10 e9 d9 fe b4 07 eb 02 b4 06 8a c1 2e 8a 2e 3c 09 32 c9 b6 17 2e 8a ..>K....................<.2.....
3eda0 16 3a 09 2e 8a 3e 4b 09 cd 10 eb de 32 c9 eb 02 b1 01 2e 8a 1e 43 09 80 eb 3c 72 ce 80 fb 04 73 .:...>K.....2........C...<r....s
3edc0 c9 32 ff d1 e3 d1 e3 d1 e3 8a c2 3c 07 77 bb 0a d8 d1 e3 2e 8b 9f f9 08 83 fb 01 72 ad 74 04 88 .2.........<.w.............r.t..
3ede0 0f eb a7 b4 00 cd 10 eb a1 2e 8b 1e 44 09 83 fb 05 72 07 2e fe 0e 44 09 eb ef 81 c3 46 09 c3 80 ............D....r....D.....F...
3ee00 7f 0e 03 75 27 8b 77 0f 8a 47 0d 3c 41 75 02 eb 1e 3c 42 75 02 eb 6f 3c 43 75 03 e9 d5 00 3c 44 ...u'.w..G.<Au...<Bu..o<Cu....<D
3ee20 75 03 e9 75 01 3c 45 75 03 e9 84 01 e9 ec f3 83 fe 07 77 4a 53 1e 0e 1f 3b 36 2b 04 74 0e 89 36 u..u.<Eu..........wJS...;6+.t..6
3ee40 2b 04 8b d6 e8 dc 01 a3 2d 04 eb 22 c6 06 29 04 01 b8 00 00 e8 d9 01 b8 40 00 8e c0 26 a0 49 00 +.......-.."..).........@...&.I.
3ee60 32 e4 8b f0 8a a4 77 06 32 c0 89 07 8b c2 1f 5b 89 47 13 8c 4f 15 c7 47 0f 00 00 e9 ab f3 c7 47 2.....w.2......[.G..O..G.......G
3ee80 0f 01 00 e9 a3 f3 83 fe 01 77 f3 53 1e 83 fe 00 75 24 56 b8 40 00 8e d8 be 49 00 b9 1e 00 0e 07 .........w.S....u$V.@....I......
3eea0 2e 8b 3e 2d 04 8d 7d 17 fc f3 a4 0e 1f be 3d 09 b9 10 00 f3 a4 5e 0e 1f 8b c6 e8 73 01 8b 0f d1 ..>-..}.......=......^.....s....
3eec0 e9 c4 7f 04 8b f2 bb 00 b8 80 7c 17 07 75 03 bb 00 b0 8b 54 31 83 c2 04 8a 44 33 24 f7 ee 8e db ..........|..u.....T1....D3$....
3eee0 be 00 00 fc f3 a5 0c 08 ee 1f 5b c7 47 0f 00 00 e9 36 f3 83 fe 01 77 91 53 1e 0e 1f 83 fe 00 75 ..........[.G....6....w.S......u
3ef00 58 56 8b 36 2d 04 56 8d 74 17 b8 40 00 8e c0 b9 1e 00 bf 49 00 fc f3 a4 06 0e 07 bf 3d 09 b9 10 XV.6-.V.t..@.......I........=...
3ef20 00 f3 a4 07 5e 8a 44 17 3c 07 75 02 b0 02 01 b4 00 cd 10 8b 4c 2e b4 01 cd 10 8b 54 1e 8a 7c 30 ....^.D.<.u.........L......T..|0
3ef40 b4 02 cd 10 8a 44 30 b4 05 cd 10 8b 54 31 83 c2 05 8a 44 34 ee 26 a2 66 00 5e 8b c6 e8 d2 00 8b .....D0.....T1....D4.&.f.^......
3ef60 0f d1 e9 c5 77 04 8b fa bb 00 b8 2e 80 7d 17 07 75 03 bb 00 b0 2e 8b 55 31 83 c2 04 2e 8a 45 33 ....w........}..u......U1.....E3
3ef80 24 f7 ee 8e c3 bf 00 00 fc f3 a5 0c 08 ee 1f 5b c7 47 0f 00 00 e9 92 f2 e9 e4 fe 2e c6 06 29 04 $..............[.G............).
3efa0 00 b8 29 04 e8 6a 00 2e a1 2d 04 e8 63 00 e9 79 f2 83 fe 07 77 e2 1e 0e 1f 89 36 2b 04 8b d6 e8 ..)..j...-..c..y....w.....6+....
3efc0 62 00 a3 2d 04 8b f0 c6 04 00 b8 03 00 cd 10 1f c7 47 0f 00 00 e9 52 f2 2e 8b 1e 2d 04 2e c6 07 b..-.............G....R....-....
3efe0 01 e9 46 f2 2e 8b 1e 2d 04 2e 80 3f 00 74 09 2e c6 07 00 8d 07 e8 19 00 e9 2f f2 53 51 52 8b d8 ..F....-...?.t.........../.SQR..
3f000 8c c8 33 c9 ba 09 00 fa 2e ff 1e 84 00 5a 59 5b c3 53 51 52 8b d8 8c c8 ba 0a 00 2e ff 1e 84 00 ..3..........ZY[.SQR............
3f020 5a 59 5b c3 52 8b c2 ba 49 00 f7 e2 5a 05 2f 04 c3 ba 08 00 f7 e2 8b 1e 2d 04 8b d3 8b 5f 01 03 ZY[.R...I...Z./.........-...._..
3f040 d8 03 da c3 2e 89 3e 84 00 2e 8c 06 86 00 b8 00 00 b9 01 00 ba 10 00 2e ff 1e 84 00 2e a3 0b 07 ......>.........................
3f060 2e 89 16 0d 07 33 c0 8e c0 8c c8 26 c7 06 6c 00 87 06 26 a3 6e 00 bf 24 00 26 8b 0d 2e 89 0e aa .....3.....&..l...&.n..$.&......
3f080 06 26 8b 4d 02 2e 89 0e ac 06 b9 af 06 91 ab 91 ab bf 58 00 26 8b 0d 2e 89 0e 07 07 26 8b 4d 02 .&.M..............X.&.......&.M.
3f0a0 2e 89 0e 09 07 b9 0f 07 91 ab 91 ab e9 7b f1 08 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 .............{..................
3f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 ff ff 00 00 00 00 00 00 00 00 00 00 ................................
3f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 01 01 00 02 40 00 68 01 fc ...........................@.h..
3f100 02 00 09 00 01 00 00 00 00 01 00 ff ff 00 02 01 01 00 02 40 00 68 01 fc 02 00 09 00 01 00 00 00 ...................@.h..........
3f120 00 01 00 ff ff 00 02 01 01 00 02 40 00 68 01 01 fc 02 00 09 00 01 00 00 00 00 01 00 ff ff 00 02 ...........@.h..................
3f140 01 01 00 02 40 00 68 01 fc 02 00 09 00 01 00 00 00 00 01 00 ff ff c6 0f de 0f f6 0f 0e 10 00 00 ....@.h.........................
3f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 1c 00 09 02 01 02 03 04 05 06 07 08 09 01 00 ................................
3f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 46 12 00 00 20 00 51 .........................F.....Q
3f380 12 52 12 04 00 2f 01 00 00 20 00 51 12 7c 12 00 cb 56 8d 36 5a 12 e9 60 ee b4 12 11 13 f7 12 ed .R.../.....Q.|...V.6Z..`........
3f3a0 00 4c 13 e9 00 fb 00 fb 00 4c 13 4c 13 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 56 8d 36 84 12 .L.......L.L...............V.6..
3f3c0 e9 36 ee d1 12 48 13 09 13 ed 00 cb 13 e9 00 fb 00 fb 00 cb 13 cb 13 ed 00 ed 00 ed 00 ed 00 ed .6...H..........................
3f3e0 00 ed 00 ed 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1e 33 c0 8e d8 b8 97 19 a3 38 00 8c 0e ....................3.......8...
3f400 3a 00 1f e8 76 0a 2e 8a 26 44 12 bf 26 10 eb 2c 1e 33 c0 8e d8 b8 40 17 a3 34 00 8c 0e 36 00 1f :...v...&D..&..,.3....@..4...6..
3f420 e4 21 24 df e6 21 ba 23 03 b0 03 ee 2e 8a 26 50 12 bf 2a 10 eb 06 26 8a 25 e8 3f 09 88 67 0d 89 .!$..!.#......&P..*...&.%.?..g..
3f440 7f 12 8c 4f 14 e9 f2 ed 26 8a 25 e8 93 09 eb ec b2 01 80 fc f8 74 2a 2e 80 3e 2e 12 00 74 0c 2e ...O....&.%..........t*..>...t..
3f460 38 06 87 0f 74 05 b2 ff eb 17 90 8b c8 32 ed 8b f1 03 f6 2e 8b b4 26 10 2e f6 44 14 02 75 02 32 8...t........2........&...D..u.2
3f480 d2 88 57 0e e9 b3 ed b2 01 eb f6 e8 61 09 57 e8 e9 08 8b f2 03 f1 2e 3b 75 08 8b f7 5f 76 05 b0 ..W.........a.W........;u..._v..
3f4a0 08 e9 8d ed 0b c9 75 03 e9 8f ed 2e 80 3e 2e 12 00 74 03 e8 09 01 e8 c5 00 1e 07 0e 1f 8d 36 32 ......u......>...t............62
3f4c0 12 ba 04 00 2e ff 1e 84 00 06 1f 9c fa 2e f6 06 85 0f 01 75 1b 1e 53 2e 80 0e 85 0f 01 2e c7 06 ...................u..S.........
3f4e0 80 0f 00 00 e8 2d 04 5b 1f f7 47 03 00 01 75 10 8c d8 33 c9 53 ba 09 00 2e ff 1e 84 00 5b eb e9 .....-.[..G...u...3.S........[..
3f500 9d 8b 47 03 8b 4f 12 e9 32 ed e8 e2 08 57 e8 d0 08 8b f2 03 f1 2e 3b 75 08 8b f7 5f 76 05 b0 08 ..G..O..2....W........;u..._v...
3f520 e9 0e ed 0b c9 75 03 e9 10 ed e8 51 00 1e 07 0e 1f 8d 36 36 12 ba 04 00 2e ff 1e 84 00 06 1f 01 .....u.....Q......66............
3f540 9c fa 2e f6 06 a8 0f 01 75 1b 1e 53 2e 80 0e a8 0f 01 2e c7 06 a3 0f 00 00 e8 e4 01 5b 1f f7 47 ........u..S................[..G
3f560 03 00 01 75 10 8c d8 33 c9 53 ba 09 00 2e ff 1e 84 00 5b eb e9 9d 8b 47 03 8b 4f 12 e9 be ec 52 ...u...3.S........[....G..O....R
3f580 51 8b c1 2e f7 24 8c c2 b1 04 d3 e2 03 d7 f8 03 d0 73 2a 53 9c fa 2e f6 06 31 12 01 74 17 2e 80 Q....$...........s*S.....1..t...
3f5a0 0e 31 12 02 8c c8 bb 31 12 33 c9 ba 09 00 2e ff 1e 84 00 eb e0 2e 80 0e 31 12 01 9d 5b 59 5a c3 .1.....1.3..............1...[YZ.
3f5c0 51 9c 53 9c fa 2e f6 06 2f 12 01 74 17 2e 80 0e 2f 12 02 8c c8 bb 2f 12 33 c9 ba 09 00 2e ff 1e Q.S...../..t..../...../.3.......
3f5e0 84 00 eb e0 2e 80 0e 2f 12 01 9d 5b 2e 80 26 2f 12 fe 8a 47 01 2e 3a 06 87 0f 74 62 fa 2e 80 0e ......./...[..&/...G..:...tb....
3f600 2f 12 01 2e f6 06 85 0f 01 74 2c 53 9c fa 2e f6 06 30 12 01 74 17 2e 80 0e 30 12 02 8c c8 bb 30 /........t,S.....0..t....0.....0
3f620 12 33 c9 ba 09 00 2e ff 1e 84 00 eb e0 2e 80 0e 30 12 01 9d 5b eb b5 9d 9c 04 41 2e a2 5a 15 1e .3..............0...[.....A..Z..
3f640 56 53 0e 1f 8d 36 3e 15 ac 0a c0 74 04 cd 29 eb f7 b4 01 cd 16 74 fa 32 e4 cd 16 5b 5e 1f 53 2e VS...6>....t..)......t.2...[^.S.
3f660 f6 06 2f 12 02 74 0d 8c c8 bb 2f 12 ba 0a 00 2e ff 1e 84 00 2e 80 26 2f 12 fc 5b 9d 59 c3 0d 0a ../..t..../...........&/..[.Y...
3f680 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 65 20 66 6f 72 20 64 72 69 76 65 20 41 3a 20 61 6e 64 Insert.diskette.for.drive.A:.and
3f6a0 20 73 74 72 69 6b 65 0d 0a 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 79 0d 0a 0a 00 52 .strike..any.key.when.ready....R
3f6c0 51 53 50 9c fa 2e 80 3e b3 12 00 74 11 8c c8 bb b3 12 33 c9 ba 09 00 2e ff 1e 84 00 eb e6 2e c6 QSP....>...t......3.............
3f6e0 06 b3 12 01 9d 9c fa 2e 80 3e b2 12 00 74 11 8c c8 bb b2 12 33 c9 ba 09 00 2e ff 1e 84 00 eb e6 .........>...t......3...........
3f700 9d fb 58 5b 59 5a 52 51 53 9c 2e ff 1e a6 12 2e c6 06 b3 12 00 50 9c 8c c8 bb b3 12 ba 0a 00 2e ..X[YZRQS............P..........
3f720 ff 1e 84 00 9d 58 5b 59 5a ca 02 00 0c 16 25 16 e5 16 e5 16 e5 16 e5 16 92 16 9b 16 df 16 e5 16 .....X[YZ.....%.................
3f740 01 0e 1f 8b 1e a3 0f 03 db ff a7 ec 15 be a3 0f c4 1e 36 12 26 8a 47 01 e8 88 06 e8 a1 04 c7 06 ..................6.&.G.........
3f760 a3 0f 01 00 eb db be a3 0f c4 1e 36 12 26 8a 47 01 e8 6f 06 e8 c9 04 f6 06 a8 0f 04 75 09 b0 44 ...........6.&.G..o.........u..D
3f780 c6 06 bf 0f 08 eb 07 b0 48 c6 06 bf 0f 0a b4 03 e8 30 05 a0 aa 0f b1 05 d3 e0 0a 06 b6 0f a2 c0 ........H........0..............
3f7a0 0f a1 b3 0f a2 c2 0f d1 e8 d1 e8 24 c0 0a 06 b5 0f a2 c1 0f a0 b7 0f a2 c3 0f c6 06 c4 0f 05 b0 ...........$....................
3f7c0 03 e8 58 06 b0 07 f6 06 a8 0f 08 74 02 b0 06 a2 a3 0f c3 c7 06 a3 0f 07 00 e9 65 ff a0 a8 0f 24 ..X........t..............e....$
3f7e0 14 3c 10 75 13 1e 06 8b 0e b9 0f c4 3e ad 0f c5 36 bb 0f fc f3 a4 07 1f a1 b7 0f 29 06 b1 0f 74 .<.u........>...6..........)...t
3f800 14 01 06 ab 0f a1 b9 0f 01 06 ad 0f c7 06 a3 0f 01 00 e9 2c ff bf a3 0f be 36 12 e8 e8 04 eb f2 ...................,.....6......
3f820 80 26 a8 0f fe c3 c7 06 a3 0f 07 00 a0 bf 0f 8a d8 81 e3 30 00 b1 03 d3 eb 8b 9f 1c 17 25 0f 00 .&.................0.........%..
3f840 3a 07 73 07 03 d8 8a 67 01 eb 02 b4 0c 06 c4 3e 36 12 8a c4 b4 81 26 89 45 03 07 eb b8 24 17 2e :.s....g.......>6.....&.E....$..
3f860 17 39 17 3c 17 09 0c 02 06 0a 02 0c 06 0c 06 0a 04 04 08 0c 08 06 0c 0c 04 06 02 03 08 03 04 04 .9.<............................
3f880 04 2e 80 3e b4 12 01 75 25 2e 80 3e b3 12 00 74 1d 2e 80 3e b2 12 00 75 15 cd 32 9c 2e ff 1e aa ...>...u%..>...t...>...u..2.....
3f8a0 12 e4 21 24 df e6 21 ba 23 03 b0 03 ee cf 2e f6 06 a8 0f 01 74 45 cd 32 ba 20 03 ec a8 02 74 38 ..!$..!.#...........tE.2......t8
3f8c0 0e 1f 80 3e a7 0f 05 73 0d fe 06 a7 0f c7 06 a3 0f 00 00 eb 23 90 c6 06 bf 0f 03 32 c0 e8 3c 05 ...>...s............#......2..<.
3f8e0 0e 07 bf bf 0f b9 05 00 e8 50 05 ba 20 03 ec aa e2 f6 c7 06 a3 0f 09 00 e8 46 fe 50 b0 20 e6 20 .........P...............F.P....
3f900 58 cf e1 17 04 18 25 18 51 18 63 18 91 18 a1 18 b8 18 17 19 3b 19 0e 1f 8b 1e 80 0f 03 db ff a7 X.....%.Q.c.........;...........
3f920 c1 17 be 80 0f c4 1e 32 12 26 8a 47 01 26 8a 67 0d e8 49 04 e8 c8 02 ba f7 03 b0 02 ee c7 06 80 .......2.&.G.&.g..I.............
3f940 0f 01 01 00 eb d1 be 80 0f c4 1e 32 12 26 8a 47 01 26 8a 67 0d e8 26 04 e8 e6 02 c7 06 80 0f 02 ...........2.&.G.&.g..&.........
3f960 00 e8 5d 05 73 b1 c3 e8 db 04 80 4f 14 02 f6 47 14 01 74 0d e8 b0 01 c7 06 80 0f 03 00 e8 e7 04 ..].s......O...G..t.............
3f980 c3 e8 b7 05 73 3a c7 06 80 0f 04 00 e8 b6 04 e8 95 01 c3 e8 16 05 0b c0 75 12 e8 f9 04 c7 06 80 ....s:..................u.......
3f9a0 0f 02 00 eb 9f e8 04 05 0b c0 74 14 e8 96 04 80 4f 14 01 c7 06 80 0f 09 00 80 0e 9d 0f 08 eb e3 ..........t.....O...............
3f9c0 c7 06 80 0f 05 00 b0 09 e8 87 04 32 e4 e8 3a 01 73 d1 c3 c7 06 80 0f 06 00 e8 95 05 e8 66 04 e8 ...........2..:.s............f..
3f9e0 45 01 c3 e8 f3 05 0b c0 74 08 c7 06 80 0f 09 00 eb b1 c7 06 80 0f 07 00 eb a9 a0 85 0f 24 1c 3c E.......t....................$.<
3fa00 10 75 13 1e 06 8b 0e 96 0f c4 3e 8a 0f c5 36 98 0f fc f3 a4 07 1f 24 0c 3c 0c 75 0d 80 26 85 0f .u........>...6.......$.<.u..&..
3fa20 fb c7 06 80 0f 05 00 eb cf 3c 08 75 05 80 0e 85 0f 04 a1 94 0f 29 06 8e 0f 74 13 01 06 88 0f a1 .........<.u.........)...t......
3fa40 96 0f 01 06 8a 0f c7 06 80 0f 01 00 eb aa bf 80 0f be 32 12 e8 b0 02 eb f3 e8 e9 03 e8 c8 00 80 ..................2.............
3fa60 26 85 0f fe f6 06 30 12 02 74 0c 8c c8 bb 30 12 ba 0a 00 ff 1e 84 00 80 26 30 12 fc c3 e8 ff 03 &.....0..t....0.........&0......
3fa80 80 3e 84 0f 05 73 0c fe 06 84 0f c7 06 80 0f 00 00 eb b9 e8 af 03 2e 80 4f 14 01 c7 06 80 0f 07 .>...s..................O.......
3faa0 00 a1 9c 0f b3 02 a8 0c 75 1e b3 06 f6 c4 08 75 17 b3 04 f6 c4 30 75 10 b3 08 f6 c4 85 75 09 b3 ........u......u.....0u......u..
3fac0 00 f6 c4 02 75 02 b3 0c 06 c4 3e 32 12 8a c3 b4 81 26 89 45 03 07 e9 75 ff 2e 80 3e b3 12 00 74 ....u.....>2.....&.E...u...>...t
3fae0 11 2e 80 3e b2 12 00 75 09 cd 32 9c 2e ff 1e ae 12 cf 2e f6 06 85 0f 01 74 05 cd 32 e8 18 fe 50 ...>...u..2.............t..2...P
3fb00 b0 20 e6 20 58 cf 00 32 00 00 85 c0 75 02 f8 c3 2e f6 36 c5 19 84 e4 74 02 fe c0 2e a2 c6 19 2e ....X..2....u.....6....t........
3fb20 80 0e c4 19 01 f9 c3 2e f6 06 c4 19 02 75 0c 2e c6 06 c7 19 14 2e 80 0e c4 19 02 2e c6 47 13 02 .............u...............G..
3fb40 c3 2e 01 f6 06 c4 19 ff 75 01 cb 2e f6 06 c4 19 01 74 11 2e fe 0e c6 19 75 0a 2e 80 26 c4 19 fe ........u........t......u...&...
3fb60 e8 b5 fd cb 2e f6 06 c4 19 02 74 07 2e fe 0e c7 19 74 03 e9 8a 00 b3 14 2e 88 1e c7 19 32 ed 33 ..........t......t...........2.3
3fb80 ff 8b df 03 db 2e 8b 9f 26 10 2e f6 47 14 02 74 5d 2e 80 7f 13 00 74 56 2e fe 4f 13 75 4e 2e 3b ........&...G..t].....tV..O.uN.;
3fba0 3e 82 0f 75 21 2e f6 06 85 0f 01 74 19 2e c7 06 80 0f 09 00 2e c6 06 84 0f 05 2e c6 06 9c 0f 48 >..u!......t...................H
3fbc0 e8 55 fd eb 3b 90 2e 80 67 14 fd 8b c7 8a c8 80 c1 04 b0 01 d2 e0 2e 84 06 86 0f 74 11 f6 d0 2e .U..;...g..................t....
3fbe0 20 06 86 0f ba f2 03 2e a0 86 0f ee fe c5 47 2e 3b 3e 44 12 75 8b 0a ed 75 06 2e 80 26 c4 19 fd ..............G.;>D.u...u...&...
3fc00 cb 26 8b 47 12 89 44 0e 26 8b 47 0e 89 44 0a 26 8b 47 10 89 44 0c 26 8a 47 01 88 44 07 26 8b 47 .&.G..D.&.G..D.&.G..D.&.G..D.&.G
3fc20 14 03 45 11 89 44 08 80 64 05 03 26 80 7f 02 04 74 0f 80 4c 05 04 26 80 7f 02 09 75 04 80 4c 05 ..E..D..d..&....t..L..&....u..L.
3fc40 08 c3 06 c4 4c 0a 89 4c 18 8c 44 1a 80 64 05 ef 07 8b 44 08 33 d2 f7 75 0d 88 54 12 33 d2 f7 75 ....L..L..D..d....D.3..u..T.3..u
3fc60 0f 88 54 13 89 44 10 8b 45 0d 2a 44 12 32 e4 3b 44 0e 72 03 8b 44 0e 89 44 14 8b 44 1a b1 04 d3 ..T..D..E.*D.2.;D.r..D..D..D....
3fc80 e0 03 44 18 8b c8 8b 05 f7 64 14 89 44 16 03 c1 73 32 80 4c 05 20 ff 4c 14 75 eb ff 44 14 80 4c ..D......d..D...s2.L...L.u..D..L
3fca0 05 10 8c c8 bf 2e 10 89 7c 18 89 44 1a f6 44 05 04 74 11 06 1e 56 8e c0 8b 4c 16 c5 74 0a fc f3 ........|..D..D..t...V...L..t...
3fcc0 a4 5e 1f 07 c3 50 86 e0 0c 04 e6 0a e6 0c 58 50 0a c4 e6 0b ba 00 00 d0 c4 02 d4 8b 44 1a b1 04 .^...P........XP............D...
3fce0 d3 c0 8a e8 24 f0 03 44 18 80 d5 00 ee 8a c4 ee 42 8b 44 16 48 ee 8a c4 ee 58 b2 7f 02 d4 8a c5 ....$..D........B.D.H....X......
3fd00 24 0f ee 8a c4 e6 0a c3 0e 1f c6 45 04 00 c7 05 08 00 ba 02 00 ff 1e 84 00 74 20 8b 45 0e 26 29 $..........E.............t..E.&)
3fd20 47 12 26 81 4f 03 00 01 8c c0 ba 0a 00 ff 1e 84 00 83 7c 02 00 74 04 c7 05 00 00 f6 45 05 20 74 G.&.O.............|..t......E..t
3fd40 1c f6 06 01 31 12 02 74 0c 8c c8 bb 31 12 ba 0a 00 ff 1e 84 00 80 26 31 12 fc 80 65 05 df 53 83 ....1..t....1.........&1...e..S.
3fd60 3e 80 0f 08 75 18 83 3e a3 0f 08 75 11 c6 06 b2 12 00 8c d8 bb b2 12 ba 0a 00 ff 1e 84 00 5b c3 >...u..>...u..................[.
3fd80 50 53 51 52 8a cc 80 e1 f8 80 f9 f8 74 02 b4 fe 8a d8 32 ff 03 db 2e 8b bf 26 10 2e 3a 65 0a 74 PSQR........t.....2......&..:e.t
3fda0 40 b0 01 bb 08 40 b9 40 01 ba 01 01 f6 c4 02 75 07 fe c0 fe c3 83 c1 28 f6 c4 01 74 08 03 c9 b7 @....@.@.......u.......(...t....
3fdc0 70 fe c6 fe c2 2e 88 75 02 2e 88 7d 06 2e 89 4d 08 2e 88 65 0a 2e 88 45 0b 2e 88 5d 0d 2e 88 55 p......u...}...M...e...E...]...U
3fde0 0f 5a 59 5b 58 c3 53 8a d8 32 ff 03 db 2e 8b bf 2a 10 5b c3 9c fa 2e 80 3e b3 12 00 74 19 52 51 .ZY[X.S..2......*.[.....>...t.RQ
3fe00 53 50 8c c8 bb b3 12 33 c9 ba 09 00 2e ff 1e 84 00 58 5b 59 5a eb de 2e c6 06 b2 12 01 9d c3 ba SP.....3.........X[YZ...........
3fe20 22 03 ee 42 ee ba 21 03 ec 24 0f 3c 0d 75 f9 be bf 0f b9 06 00 fc 4a ac ee e2 fc 42 ec c3 ba 21 "..B..!..$.<.u........J....B...!
3fe40 03 ec a8 01 74 f8 c3 2e 8b 1e 82 0f 03 db 2e 8b 9f 26 10 c3 1e 53 32 e4 8b d8 33 c0 8e d8 c5 06 ....t............&...S2...3.....
3fe60 78 00 03 d8 8a 07 5b 1f c3 2e 80 67 14 fe 2e c7 47 16 ff ff b0 07 e8 80 01 2e a1 82 0f e8 79 01 x.....[....g....G.............y.
3fe80 c3 2e a0 86 0f 24 f3 ba f2 03 ee b9 10 27 e2 fe 0c 0c 2e a2 86 0f ee c3 b0 03 e8 5c 01 b0 00 e8 .....$.......'.............\....
3fea0 b2 ff e8 54 01 b0 01 e8 aa ff e8 4c 01 c3 b0 08 e8 46 01 e8 54 01 50 e8 50 01 58 b1 06 d2 e8 25 ...T.......L.....F..T.P.P.X....%
3fec0 03 00 c3 ba f2 03 2e 8a 0e 87 0f 32 ed 2e 80 3e 2e 12 00 74 02 8a cd 2e 3b 0e 82 0f 2e 89 0e 82 ...........2...>...t....;.......
3fee0 0f 75 15 80 c1 04 b0 01 d2 e0 2e 84 06 86 0f 74 07 2e a0 86 0f ee f8 c3 b0 fc 2e 22 06 86 0f 0c .u.............t..........."....
3ff00 0c 2e 8a 0e 82 0f 0a c1 2e a2 86 0f 80 c1 04 b0 01 d2 e0 2e 84 06 86 0f 74 0c 2e a0 86 0f ee b8 ........................t.......
3ff20 23 00 e8 e7 fb c3 2e 08 06 86 0f 2e a0 86 0f ee b0 0a e8 1f ff b1 7d f6 e1 e8 d0 fb c3 2e a1 90 #.....................}.........
3ff40 0f 2e 3b 47 01 16 74 2b 2e 89 47 16 b0 0f e8 a9 00 2e a0 93 0f d0 e0 d0 e0 2e 02 06 82 0f e8 99 ..;G..t+..G.....................
3ff60 00 2e a1 90 0f 2e f6 06 85 0f 02 74 02 03 c0 e8 88 00 f9 c3 b4 02 be 80 0f 2e f6 06 85 0f 04 75 ...........t...................u
3ff80 09 b0 44 e8 41 fd b0 46 eb 07 b0 48 e8 38 fd b0 45 e8 66 00 2e a0 93 0f 02 c0 02 c0 2e 02 06 82 ..D.A..F...H.8..E.f.............
3ffa0 0f e8 56 00 2e a1 90 0f e8 4f 00 2e a0 93 0f e8 48 00 2e a0 92 0f fe c0 e8 3f 00 b0 03 e8 95 fe ..V......O......H........?......
3ffc0 e8 37 00 b0 04 e8 8d fe e8 2f 00 b0 05 e8 85 fe e8 27 00 b0 06 e8 7d fe e8 1f 00 c3 06 57 0e 07 .7......./.......'....}......W..
3ffe0 bf 9c 0f b9 07 00 e8 22 00 aa e2 fa 2e a0 9c 0f b1 06 d2 e8 25 03 00 5f 07 c3 50 ba f4 03 ec 24 ......."............%.._..P....$
40000 c0 3c 80 75 f6 58 ba f5 03 ee c3 ba f4 03 ec 24 c0 3c c0 75 f6 ba f5 03 ec c3 00 00 00 00 00 00 .<.u.X.........$.<.u............
40020 00 00 00 00 00 04 02 00 00 00 00 00 63 00 00 00 00 00 80 40 10 08 04 03 00 02 06 04 04 08 00 0c ............c......@............
40040 00 00 50 51 52 53 8a cc 80 e1 f8 80 f9 f8 74 02 b4 fe bf a1 21 2e 3a 06 e7 1e 74 4a 72 05 bf b4 ..PQRS........t.....!.:...tJr...
40060 21 eb 43 b0 01 bb 08 40 b9 40 01 ba 01 01 bf 66 1f f6 c4 02 75 07 fe c0 fe c3 83 c1 28 f6 c4 01 !.C....@.@.....f....u.......(...
40080 74 08 03 c9 b7 70 fe c6 fe c2 2e 88 75 02 2e 88 7d 06 2e 89 4d 08 2e 88 65 0a 2e 88 45 0b 2e 88 t....p......u...}...M...e...E...
400a0 5d 0d 2e 88 55 0f 5b 5a 59 58 c3 00 02 01 01 00 02 40 00 68 01 fc 02 00 09 00 01 00 00 00 2e c6 ]...U.[ZYX.......@.h............
400c0 06 e1 1e 02 f8 e3 1f 2e a2 8c 00 2e 89 26 fb 1e 87 df e8 6d ff 8b f2 03 f1 2e 03 55 11 2e 3b 75 .............&.....m.......U..;u
400e0 08 76 04 b0 08 f9 c3 2e 3a 06 e7 1e 72 0a 2e a0 a0 21 74 0f fe c0 eb 0b 2e 80 3e e3 1e 01 75 03 .v......:...r....!t.......>...u.
40100 e8 79 01 2e a2 e8 1e 2e 89 0e e5 1e 92 33 d2 2e f7 75 0d fe c2 2e 88 16 ea 1e 2e 8b 4d 0f 33 d2 .y...........3...u..........M.3.
40120 f7 f1 2e 88 16 e9 1e 2e a3 eb 1e 2e a1 e5 1e 8c c6 d1 e6 d1 e6 d1 e6 d1 e6 03 f3 81 c6 ff 01 72 ...............................r
40140 1b 87 de d0 ef 01 b4 80 2a e7 87 de 3a e0 76 02 8a e0 50 8a c4 e8 47 00 58 2a c4 74 1a 50 06 53 ........*...:.v...P...G.X*.t.P.S
40160 e8 16 00 80 c7 02 e8 5a 00 5b 07 58 e8 0a 00 fe c8 80 c7 02 e8 28 00 f8 c3 57 53 50 8b fb 80 c7 .......Z.[.X.........(...WSP....
40180 02 8b f3 fc b9 00 01 26 8b 1d 26 8b 04 26 89 1c ab 46 46 e2 f2 2e 80 36 e4 1e 01 58 5b 5f c3 0a .......&..&..&...FF....6...X[_..
401a0 c0 74 fb 2e 8a 65 0d fe c4 2e 2a 26 ea 1e 3a e0 76 02 8a e0 50 8a c4 e8 0b 00 58 2a c4 d0 e4 02 .t...e....*&..:.v...P.....X*....
401c0 fc eb dc b0 01 be 05 00 2e 8a 26 e1 1e 50 2e 8b 16 eb 1e b1 06 d2 e6 2e 0a 36 ea 1e 8b ca 86 e9 ..........&..P...........6......
401e0 2e 8b 16 e8 1e cd 13 72 49 58 50 2e 81 3e e1 1e 03 01 75 06 b4 04 cd 13 72 38 58 80 e1 3f 32 e4 .......rIXP..>....u.....r8X..?2.
40200 2e 29 06 e5 1e 02 c8 2e 88 0e ea 1e 2e 3a 4d 0d 76 1f 2e c6 06 ea 1e 01 2e 8a 36 e9 1e fe c6 2e .)...........:M.v.........6.....
40220 3a 75 0f 72 07 32 f6 2e ff 06 eb 1e 2e 88 36 e9 1e c3 50 b4 00 cd 13 58 4e 74 08 80 fc 80 74 03 :u.r.2........6...P....XNt....t.
40240 58 eb 8a 2e 80 3e e4 1e 00 74 06 5b 5b 07 e8 28 ff 0e 07 8a c4 2e a2 f3 1e b9 07 00 bf ed 1e f2 X....>...t.[[..(................
40260 ae 26 8a 45 06 2e 8b 0e e5 1e 2e 8b 26 fb 1e f9 c3 86 00 86 00 86 00 86 00 c1 02 d4 02 1e 33 f6 .&.E........&.................3.
40280 8e de 8a e0 86 26 04 05 3a c4 74 14 04 41 2e a2 7a 21 0e 1f be 5e 21 53 e8 8d e2 32 e4 cd 16 5b .....&..:.t..A..z!...^!S...2...[
402a0 1f 32 c0 c3 0d 0a 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 65 20 66 6f 72 20 64 72 69 76 65 20 .2....Insert.diskette.for.drive.
402c0 41 3a 20 61 6e 64 20 73 74 72 69 6b 65 0d 0a 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 A:.and.strike..any.key.when.read
402e0 79 0d 0a 0a 00 00 80 00 02 01 01 00 02 10 00 00 00 f8 01 00 00 00 00 00 00 00 00 02 00 01 00 02 y...............................
40300 00 00 00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ba 00 10 8e d2 bc 00 7c fb 51 2e 89 1e ..........................|.Q...
40320 c9 21 50 b0 20 e6 20 be 15 02 e8 b9 02 be 03 02 e8 b3 02 be f1 01 e8 ad 02 be 41 01 e8 ad 02 be .!P.......................A.....
40340 2f 01 e8 a7 02 33 01 d2 8e da 8e c2 8c c8 c7 06 78 00 22 05 8c 06 7a 00 bf 04 00 bb 76 03 93 ab /....3..........x."...z.....v...
40360 93 ab 83 c7 04 93 ab 93 ab 93 ab 93 ab fa 83 c7 0c b9 0f 03 91 ab 91 ab 83 c7 04 93 ab 93 ab 93 ................................
40380 ab 93 ab 83 c7 18 8b 0d 2e 89 0e c9 03 8b 4d 02 2e 89 0e cb 03 b9 cd 03 91 ab 91 ab 83 c7 08 fb ..............M.................
403a0 93 ab 93 ab 83 c7 10 b9 77 03 91 ab 91 ab 83 c7 5c 93 ab 93 ab 89 16 00 05 89 16 04 05 bf 22 05 ........w.......\.............".
403c0 b8 df 02 ab b8 25 02 ab b8 09 2a ab b8 ff 50 ab b8 f6 00 ab b0 02 aa 9c 2e ff 1e c9 03 b1 06 d3 .....%....*...P.................
403e0 e0 59 2e 89 0e c7 21 ba 66 02 8e da a3 0f 01 fe c1 88 0e 11 01 81 c2 00 01 89 16 05 01 c7 06 09 .Y....!.f.......................
40400 01 ee 01 c7 06 0b 01 f1 03 8c c8 a3 0d 01 0e 0e 1f 07 cd 11 24 c0 75 04 fe 06 e3 1e 58 a2 e7 1e ....................$.u.....X...
40420 a2 e0 1e b4 08 b2 80 cd 13 72 04 88 16 9f 21 b2 80 bf a1 21 80 3e 9f 21 00 7e 41 e8 ba 00 b2 81 .........r....!....!.>.!.~A.....
40440 bf b4 21 72 09 80 3e 9f 21 02 74 14 eb 1b 88 16 a0 21 bf a1 21 fe 0e 9f 21 80 3e 9f 21 00 74 1c ..!r..>.!.t......!..!...!.>.!.t.
40460 e8 95 00 73 04 fe 0e 9f 21 a0 9f 21 0a c0 74 0c 02 06 e7 1e a2 e0 1e a0 9f 21 eb 07 80 3e e3 1e ...s....!..!..t..........!...>..
40480 01 eb 02 fe c8 0e 1f e8 3d 00 33 ff 26 8a 05 a2 c8 21 a1 c7 21 e8 ac fb 8a 4d 02 8b 45 11 29 06 ........=.3.&....!..!....M..E.).
404a0 c9 21 32 ed 1e 33 ff 8e df 8b 1e 3a 05 1f b8 66 02 05 00 01 8e c0 e8 d6 00 81 fb ff 0f 75 ef e8 .!2..3.....:...f.............u..
404c0 75 01 ea 00 01 66 02 33 ff b9 01 00 8b d1 b8 c0 17 8e c0 a0 c7 21 b4 fc e9 e5 fb b9 01 00 b8 01 u....f.3.............!..........
404e0 02 bb c0 17 8e c3 33 db 8a f7 cd 13 72 34 26 81 3e fe 01 55 aa 75 2b c3 52 b4 08 cd 13 fe c6 88 ......3.....r4&.>..U.u+.R.......
40500 75 0f 5a 72 1d 80 e1 3f 88 4d 0d e8 cd ff 72 12 bb c2 01 26 80 3f 01 74 0b 83 c3 10 81 fb 02 02 u.Zr...?.M....r....&.?.t........
40520 75 f1 f9 c3 26 8b 47 04 89 45 11 26 8b 47 08 3d 40 00 72 ee 89 45 08 b9 00 01 ba 40 00 3d 00 02 u...&.G..E.&.G.=@.r..E.....@.=..
40540 76 29 02 ed fe c1 ba 05 1c 01 09 02 01 02 03 04 05 06 07 08 09 01 70 00 3d 00 08 76 1d 02 ed fe v)....................p.=..v....
40560 c1 ba 00 01 3d 00 20 76 11 02 ed fe c1 03 d2 3d a8 7f 76 06 02 ed fe c1 03 d2 89 55 06 88 6d 02 ....=..v.......=..v........U..m.
40580 33 db 8a dd 4b 03 d8 d3 eb 43 80 e3 fe 8b f3 d1 eb 03 de 81 c3 ff 01 d0 ef 88 7d 0b f8 c3 51 57 3...K....C................}...QW
405a0 89 0e cb 21 8b c3 48 48 f7 e1 03 06 c9 21 8b d0 e8 25 00 2b f3 83 fe ff 75 06 01 0e cb 21 eb f0 ...!..HH.....!...%.+....u....!..
405c0 53 a1 c7 21 8b 0e cb 21 e8 04 fb 5b 5f a1 cb 21 86 e0 d1 e0 03 f8 59 c3 1e 53 be c0 17 8e de 8b S..!...!...[_..!......Y..S......
405e0 f3 d1 ee 8b 18 73 08 d1 eb d1 eb d1 eb d1 eb 81 e3 ff 0f 5e 1f c3 b7 01 b2 17 eb 05 bb a3 00 b2 .....s.............^............
40600 14 2e 88 16 bc 24 2e 8a 44 0d 2c 31 98 8b d0 8b c3 cd 17 c3 00 00 2d 2d 2d 20 49 6e 73 74 61 6c .....$..D.,1..........---.Instal
40620 6c 69 6e 67 20 4d 54 43 4f 4e 20 44 65 76 69 63 65 20 44 72 69 76 65 72 20 56 31 2e 30 38 20 2d ling.MTCON.Device.Driver.V1.08.-
40640 2d 2d 0d 0a 24 00 0e 1f cd 11 d0 c0 d0 c0 24 03 75 06 fe 06 2e 12 fe c0 fe c0 a2 44 12 b4 08 b2 --..$.........$.u..........D....
40660 80 cd 13 72 14 88 16 50 12 84 d2 74 0c 80 3e 44 12 02 76 05 c6 06 44 12 02 b2 80 bf f6 0f 80 3e ...r...P...t..>D..v...D........>
40680 50 12 00 7e 2a e8 8c 00 b2 81 bf 0e 10 72 09 80 3e 50 12 02 74 10 eb 17 bf f6 0f fe 0e 50 12 80 P..~*........r..>P..t........P..
406a0 3e 50 12 00 74 09 e8 6b 00 73 04 fe 0e 50 12 80 3e 50 12 00 75 06 a1 46 12 a3 3a 12 06 33 c0 8e >P..t..k.s...P..>P..u..F..:..3..
406c0 c0 26 a1 4c 00 a3 a6 12 b8 7f 15 26 a3 4c 00 26 a1 4e 00 a3 a8 12 26 8c 0e 4e 00 26 a1 34 00 a3 .&.L.......&.L.&.N....&..N.&.4..
406e0 aa 12 26 a1 36 00 a3 ac 12 26 a1 38 00 a3 ae 12 26 a1 3a 00 a3 b0 12 07 c3 b9 01 00 b8 01 02 0e ..&.6....&.8....&.:.............
40700 07 bb 2e 10 32 f6 cd 13 72 34 26 81 bf fe 01 55 aa 75 2b c3 52 b4 08 cd 13 fe c6 88 75 0f 5a 72 ....2...r4&....U.u+.R.......u.Zr
40720 1d 80 e1 3f 88 4d 0d e8 cf ff 72 12 81 c3 c2 01 b9 04 00 26 80 3f 01 74 07 83 c3 10 e2 f5 f9 c3 ...?.M....r........&.?.t........
40740 26 8b 47 04 89 45 11 26 8b 47 08 3d 40 00 72 ee 89 45 08 b9 00 01 01 ba 40 00 3d 00 02 76 29 02 &.G..E.&.G.=@.r..E......@.=..v).
40760 ed fe c1 ba 70 00 3d 00 08 76 1d 02 ed fe c1 ba 00 01 3d 00 20 76 11 02 ed fe c1 03 d2 3d a8 7f ....p.=..v........=..v.......=..
40780 76 06 02 ed fe c1 03 d2 89 55 06 88 6d 02 33 db 8a dd 4b 03 d8 d3 eb 43 80 e3 fe 8b f3 d1 eb 03 v........U..m.3...K....C........
407a0 de 81 c3 ff 01 d0 ef 88 7d 0b c6 45 0a f8 f8 c3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........}..E....................
407c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
408a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e9 84 01 00 00 00 00 00 00 ................................
408c0 00 00 00 00 00 00 01 00 00 02 08 02 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .............P..................
408e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 01 66 02 11 01 66 02 34 01 66 02 00 00 00 00 00 00 ................f...f.4.f.......
40900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40920 00 00 00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 07 00 07 00 07 00 07 00 07 00 ff ff 00 00 ................................
40940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ................................
40960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc ................................
40a40 33 f6 8b fe 2e 8b 0e 0f 01 83 f9 01 75 1d b9 00 08 33 db 41 74 10 8e d9 8a 07 f6 d0 88 07 3a 07 3...........u....3.At.........:.
40a60 f6 d0 88 07 74 ed 2e 89 0e 0f 01 8c c8 8e d8 a1 09 01 8e c0 8c c9 8b 16 0f 01 c5 36 0b 01 b8 ec ....t......................6....
40a80 09 d1 e8 8b d8 83 c3 07 d1 eb d1 eb d1 eb fa 8e d1 bc dd 02 fb 36 ff 1e 03 01 0e 1f 8c 06 05 01 .....................6..........
40aa0 89 3e 03 01 a3 47 01 89 1e 49 01 89 0e 53 01 89 16 55 01 fb fc ba d0 08 b8 24 25 cd 21 8a 16 11 .>...G...I...S...U.......$%.!...
40ac0 01 0a d2 74 06 fe ca b4 0e cd 21 e8 94 00 0e 1f a0 13 01 98 8b c8 33 db b4 3e cd 21 bb 02 00 b4 ...t......!...........3..>.!....
40ae0 3e cd 21 43 e2 f9 ba ec 08 b0 42 b4 3d f9 cd 21 73 05 e8 4f 05 eb 13 50 bb 01 00 b4 3e cd 21 58 >.!C......B.=..!s..O...P....>.!X
40b00 8b d8 b4 45 cd 21 b4 45 cd 21 ba f5 08 b0 42 e8 55 05 ba fe 08 b0 41 e8 4d 05 be 15 01 8b fe 1e ...E.!.E.!....B.U.....A.M.......
40b20 07 b1 ff fe c1 ac aa 0a c0 75 f8 4f b0 0d aa 88 0e 14 01 b4 69 8b 1e 47 01 8b 0e 49 01 cd 21 ba .........u.O........i..G...I..!.
40b40 13 09 bb 35 01 8c 4f 04 8c 4f 08 8c 4f 0c b8 04 4b f9 cd 21 72 04 b4 00 01 cd 21 ba be 09 e8 e4 ...5..O..O..O...K..!r.....!.....
40b60 04 eb fe 0e 1f b8 00 37 cd 21 88 16 15 01 ba 07 09 b8 00 3d f9 cd 21 72 03 e8 8a 00 0e 1f a0 13 .......7.!.........=..!r........
40b80 01 2c 05 76 38 98 50 b3 32 f6 e3 8b d0 05 17 00 b1 04 d3 e8 e8 64 00 58 c5 3e 03 01 c5 bd 04 00 .,.v8.P.2............d.X.>......
40ba0 c7 05 00 00 8c 45 02 26 c7 06 00 00 ff ff 26 a3 04 00 8b ca bf 06 00 33 c0 f3 aa 0e 1f fe 0e 12 .....E.&......&........3........
40bc0 01 74 37 1e c5 1e 03 01 8b 87 15 00 05 1f 00 b1 04 d3 e8 e8 25 00 8b 87 17 00 26 a3 00 00 8b 87 .t7.................%.....&.....
40be0 19 00 26 a3 02 00 c7 87 17 00 00 00 8c 87 19 00 26 c7 06 04 00 ff 00 1f eb c3 c3 36 8e 06 47 01 ..&.............&..........6..G.
40c00 36 01 06 47 01 c3 8b d8 33 c9 33 d2 b8 02 42 cd 21 a3 43 01 33 d2 b8 00 42 cd 21 a1 43 01 05 0f 6..G....3.3...B.!.C.3...B.!.C...
40c20 00 b1 04 d3 e8 8b 0e 49 01 2b c8 8e d9 8c d8 8e c0 33 d2 36 8b 0e 43 01 b4 3f f9 cd 21 9c 0e 1f .......I.+.......3.6..C..?..!...
40c40 50 b4 3e cd 21 58 9d 72 04 3b c8 74 10 ba 07 09 e8 f2 03 c3 ba 64 09 e8 09 04 eb 3a 90 e8 d9 02 P.>.!X.r.;.t.........d.....:....
40c60 e8 b9 02 72 ee 8a e0 e8 b2 02 80 fc 42 75 0a e8 95 03 74 22 a2 12 01 eb 1d 80 fc 43 74 03 eb 26 ...r........Bu....t".......Ct..&
40c80 90 3c 4f 75 11 e8 94 02 72 c9 3c 4e 75 08 b4 33 b0 01 8a d0 cd 21 0e 1f e8 81 02 72 c6 3c 0a 75 .<Ou....r.<Nu..3.....!.....r.<.u
40ca0 f7 e8 78 02 eb bd 80 fc 44 74 03 e9 d6 01 8c cb 8e db 89 36 69 01 8c 06 6b 01 8b 0e 47 01 33 c0 ..x.....Dt.........6i...k...G.3.
40cc0 a3 07 01 89 0e 09 01 89 0e 4b 01 89 0e 4d 01 06 1f 8b d6 8c cb 8e c3 bb 4b 01 b0 03 b4 4b f9 cd .........K...M..........K....K..
40ce0 21 1e 07 0e 1f 73 05 e8 5f 03 eb aa 06 56 c4 36 03 01 26 8b 84 08 00 a3 65 01 26 8b 84 0a 00 a3 !....s.._....V.6..&.....e.&.....
40d00 67 01 0e 07 bb 06 00 e8 da 02 bb 08 00 e8 d4 02 0e 1f a1 65 01 25 f0 ff 31 06 65 01 d1 e8 d1 e8 g..................e.%..1.e.....
40d20 d1 e8 d1 e8 01 06 67 01 a1 67 01 3b 06 0f 01 72 04 5e 07 eb b2 2b 06 47 01 83 3e 65 01 00 74 01 ......g..g.;...r.^...+.G..>e..t.
40d40 40 8b 16 47 01 01 06 47 01 2e c5 36 07 01 2e c4 3e 03 01 8b 44 04 a9 00 80 01 75 03 eb 22 90 a9 @..G...G...6....>...D.....u.."..
40d60 01 00 74 0a 26 89 b5 10 00 26 8c 9d 12 00 a9 08 00 74 0a 26 89 b5 0c 00 26 8c 9d 0e 00 e9 d1 00 ..t.&....&.......t.&....&.......
40d80 2e a0 64 01 0a c0 75 0b 2e 89 16 47 01 b8 ff ff e9 e7 00 98 8b c8 8a f4 26 8a 95 14 00 26 00 85 ..d...u....G............&....&..
40da0 14 00 b3 1f f6 e3 05 0f 00 d1 e8 d1 e8 d1 e8 d1 e8 36 8b 1e 47 01 36 01 06 47 01 2e c7 06 4f 01 .................6..G.6..G....O.
40dc0 00 00 2e 89 1e 51 01 2e c5 1e 69 01 2e c4 2e 03 01 26 c4 ae 00 00 26 83 7e 18 ff 74 06 26 c4 6e .....Q....i......&....&.~..t.&.n
40de0 18 eb f3 36 a1 4f 01 26 89 46 18 36 a1 51 01 26 89 46 1a 36 c4 2e 4f 01 36 83 06 4f 01 1f 26 c7 ...6.O.&.F.6.Q.&.F.6..O.6..O..&.
40e00 46 18 ff ff 26 c6 46 17 ff 26 c6 46 1e 00 8b 37 43 43 26 89 56 00 b4 53 cd 21 26 8b 46 02 06 2e F...&.F..&.F...7CC&.V..S.!&.F...
40e20 c4 3e 03 01 26 3b 85 15 00 07 76 0b 5e 07 ba 8b 09 e8 19 02 e9 60 fe 1e 52 2e c5 16 07 01 26 89 .>..&;....v.^........`..R.....&.
40e40 56 12 26 8c 5e 14 5a 1f 42 fe c6 49 74 03 e9 7b ff 2e c4 3e 03 01 26 8b 8d 1b 00 26 8b 95 1d 00 V.&.^.Z.B..It..{...>..&....&....
40e60 2e c5 36 07 01 26 89 b5 1b 00 26 8c 9d 1d 00 8b 04 2e a3 07 01 89 0c 89 54 02 5e 07 40 74 03 e9 ..6..&....&.............T.^.@t..
40e80 6b fe e9 12 fe 80 fc 46 75 0b e8 7b 01 74 f3 36 a2 13 01 eb ed 80 fc 51 75 16 e8 6b 01 74 e3 b4 k......Fu..{.t.6.......Qu..k.t..
40ea0 38 ba ff ff cd 21 73 da ba d2 09 e8 b6 01 eb d2 80 fc 57 75 0f 8a d0 b8 01 37 36 88 16 15 01 cd 8....!s...........Wu.....76.....
40ec0 21 e9 d3 fd 80 fc 41 75 0e 3c 46 75 07 b8 03 37 32 d2 cd 21 e9 c0 fd 80 fc 53 75 2c 36 c6 06 15 !.....Au.<Fu...72..!.....Su,6...
40ee0 01 00 bf 14 09 88 45 ff e8 32 00 0a c0 74 1c 3c 20 72 05 88 05 47 eb f0 c6 05 00 e8 1f 00 3c 0a ......E..2...t.<.r...G........<.
40f00 75 03 e8 18 00 e9 5c fd e9 4a fd c6 05 00 bf 15 01 e8 09 00 3c 20 72 e0 88 05 47 eb f4 36 8b 0e u.....\..J..........<.r...G..6..
40f20 43 01 e3 14 36 8b 36 45 01 26 8a 04 36 ff 0e 43 01 36 ff 06 45 01 f8 c3 f9 c3 8b 0e 43 01 e3 f8 C...6.6E.&..6..C.6..E.......C...
40f40 e8 87 00 33 f6 8b fe e8 54 00 3c 20 72 f9 51 56 57 8b ee 4d be 20 09 b5 00 8b 01 fd 8a 0c 46 b0 ...3....T.<.r.QVW..M..........F.
40f60 5a e3 09 f3 a6 9f 03 f1 9e ac 75 ee 5f 5e 59 aa e8 24 00 e8 36 00 75 f8 e8 24 00 aa e8 18 00 aa Z.........u._^Y..$..6.u..$......
40f80 3c 20 77 f8 3c 0a 74 c0 26 c6 45 ff 00 e8 07 00 aa 3c 0a 75 f8 eb b1 e3 26 26 8a 04 46 49 c3 e3 <.w.<.t.&.E......<.u....&&..FI..
40fa0 1e 26 8a 04 46 49 e8 03 00 74 f4 c3 3c 20 74 0e 3c 09 74 0a 3c 3d 74 06 3c 2c 74 02 3c 3b c3 59 .&..FI...t..<.t.<.t.<=t.<,t.<;.Y
40fc0 89 3e 43 01 33 f6 89 36 45 01 c3 51 56 1e 06 1f 33 f6 ac 3c 61 72 09 3c 7a 77 05 2c 20 88 44 ff .>C.3..6E..QV...3..<ar.<zw.,..D.
40fe0 e2 f0 1f 5e 59 c3 2e 8e 1e 09 01 2e 03 1e 07 01 8b 07 2e ff 36 07 01 2e a3 07 01 bb 57 01 36 ff ...^Y...............6.......W.6.
41000 1e 07 01 2e 8f 06 07 01 c3 2c 30 72 36 3c 09 77 32 8a e0 e8 08 ff 72 0e 0a c0 75 0e 36 ff 06 43 .........,0r6<.w2.....r...u.6..C
41020 01 36 ff 0e 45 01 8a c4 eb 16 2c 30 72 15 3c 09 77 11 86 c4 8a f8 02 c0 02 c0 02 c7 02 c0 02 c4 .6..E.....,0r.<.w...............
41040 0a c0 c3 58 e9 0f fc 0e 07 8b f2 ba ac 09 0e 1f b4 09 cd 21 26 8a 14 0a d2 74 07 b4 02 cd 21 46 ...X...............!&....t....!F
41060 eb f2 ba 88 09 b4 09 cd 21 c3 e8 18 00 72 0f 33 c0 b4 44 cd 21 f6 c2 80 75 0a b4 3e cd 21 ba e3 ........!....r.3..D.!...u..>.!..
41080 08 e8 01 00 c3 b4 3d f9 cd 21 c3 83 c4 06 58 5b 59 5a 5e 5f 5d 1f 07 50 b4 19 cd 21 58 cf 5c 44 ......=..!....X[YZ^_]..P...!X.\D
410a0 45 56 5c 4e 55 4c 00 5c 44 45 56 5c 43 4f 4e 00 5c 44 45 56 5c 41 55 58 00 5c 44 45 56 5c 50 52 EV\NUL.\DEV\CON.\DEV\AUX.\DEV\PR
410c0 4e 00 5c 43 4f 4e 46 49 47 2e 53 59 53 00 5c 43 4f 4d 4d 41 4e 44 2e 43 4f 4d 00 07 42 55 46 46 N.\CONFIG.SYS.\COMMAND.COM..BUFF
410e0 45 52 53 42 05 42 52 45 41 4b 43 05 53 48 45 4c 4c 53 06 44 45 56 49 43 45 44 05 46 49 4c 45 53 ERSB.BREAKC.SHELLS.DEVICED.FILES
41100 46 08 53 57 49 54 43 48 41 52 57 08 41 56 41 49 4c 44 45 56 41 07 43 4f 55 4e 54 52 59 51 00 0d F.SWITCHARW.AVAILDEVA.COUNTRYQ..
41120 0a 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 43 4f 4e 46 49 47 2e .Unrecognized.command.in.CONFIG.
41140 53 59 53 0d 0a 24 0d 0a 53 65 63 74 6f 72 20 73 69 7a 65 20 74 6f 6f 20 6c 61 72 01 67 65 20 69 SYS..$..Sector.size.too.lar.ge.i
41160 6e 20 66 69 6c 65 20 24 0d 0a 42 61 64 20 6f 72 20 6d 69 73 73 69 6e 67 20 24 43 6f 6d 6d 61 6e n.file.$..Bad.or.missing.$Comman
41180 64 20 49 6e 74 65 72 70 72 65 74 65 72 00 0d 0a 49 6e 76 61 6c 69 64 20 63 6f 75 6e 74 72 79 20 d.Interpreter...Invalid.country.
411a0 63 6f 64 65 0d 0a 24 e8 03 00 74 f4 c3 3c 20 74 0e 3c 09 74 0a 3c 3d 74 06 3c 2c 74 02 3c 3b c3 code..$...t..<.t.<.t.<=t.<,t.<;.
411c0 59 89 3e 43 01 33 f6 89 36 45 01 c3 51 56 1e 06 1f 33 f6 ac 3c 61 72 09 3c 7a 77 05 2c 20 88 44 Y.>C.3..6E..QV...3..<ar.<zw.,..D
411e0 ff e2 f0 1f 5e 59 c3 2e 8e 1e 09 01 2e 03 1e 07 01 8b 07 2e ff 36 07 01 2e a3 07 01 bb 57 01 36 ....^Y...............6.......W.6
41200 ff 1e 07 01 2e 8f 06 07 01 c3 2c 30 72 36 3c 09 77 32 8a e0 e8 08 ff 72 0e 0a c0 75 0e 36 ff 06 ..........,0r6<.w2.....r...u.6..
41220 43 01 36 ff 0e 45 01 8a c4 eb 16 2c 30 72 15 3c 09 77 11 86 c4 8a f8 02 c0 02 c0 02 c7 02 c0 02 C.6..E.....,0r.<.w..............
41240 c4 0a c0 c3 58 e9 0f fc 0e 07 8b f2 ba ac 09 0e 1f b4 09 cd 21 26 8a 14 0a d2 74 07 b4 02 cd 21 ....X...............!&....t....!
41260 46 eb f2 ba 88 09 b4 09 cd 21 c3 e8 18 00 72 0f 33 c0 b4 44 cd 21 f6 c2 80 75 0a b4 3e cd 21 ba F........!....r.3..D.!...u..>.!.
41280 e3 08 e8 01 00 c3 b4 3d f9 cd 21 c3 83 c4 06 58 5b 59 5a 5e 5f 5d 1f 07 50 b4 19 cd 21 58 cf 5c .......=..!....X[YZ^_]..P...!X.\
412a0 44 45 56 5c 4e 55 4c 00 5c 44 45 56 5c 43 4f 4e 00 5c 44 45 56 5c 41 55 58 00 5c 44 45 56 5c 50 DEV\NUL.\DEV\CON.\DEV\AUX.\DEV\P
412c0 52 4e 00 5c 43 4f 4e 46 49 47 2e 53 59 53 00 5c 43 4f 4d 4d 41 4e 44 2e 43 4f 4d 00 07 42 55 46 RN.\CONFIG.SYS.\COMMAND.COM..BUF
412e0 46 45 52 53 42 05 42 52 45 41 4b 43 05 53 48 45 4c 4c 53 06 44 45 56 49 43 45 44 05 46 49 4c 45 FERSB.BREAKC.SHELLS.DEVICED.FILE
41300 53 46 08 53 57 49 54 43 48 41 52 57 08 41 56 41 49 4c 44 45 56 41 07 43 4f 55 4e 54 52 59 51 00 SF.SWITCHARW.AVAILDEVA.COUNTRYQ.
41320 0d 0a 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 43 4f 4e 46 49 47 ..Unrecognized.command.in.CONFIG
41340 2e 53 59 53 0d 0a 24 0d 0a 53 65 63 74 6f 72 20 73 69 7a 65 20 74 6f 6f 20 6c 61 72 01 53 49 5a .SYS..$..Sector.size.too.lar.SIZ
41360 45 0d 0a 0a 20 30 30 30 30 3a 31 32 33 41 20 20 20 20 20 20 20 46 4c 4f 50 50 59 44 45 56 49 43 E....0000:123A.......FLOPPYDEVIC
41380 45 0d 0a 20 30 30 30 30 3a 31 39 46 46 20 20 20 20 20 20 20 46 4c 4f 50 50 59 54 49 4d 45 52 0d E...0000:19FF.......FLOPPYTIMER.
413a0 0a 20 30 30 30 30 3a 32 34 46 30 20 20 20 20 20 20 20 44 49 53 4b 5f 49 4e 49 54 0d 0a 20 30 32 ..0000:24F0.......DISK_INIT...02
413c0 36 36 3a 30 31 30 30 20 20 20 20 20 20 20 53 59 53 49 4e 49 54 0d 0a 20 30 32 36 36 3a 30 31 30 66:0100.......SYSINIT...0266:010
413e0 35 20 20 20 20 20 20 20 43 55 52 52 45 4e 54 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 4e 0d 0a 20 30 5.......CURRENT_DOS_LOCATION...0
41400 32 36 36 3a 30 31 30 39 20 20 20 20 20 20 20 46 49 4e 41 4c 5f 44 4f 53 5f 4c 4f 43 41 54 49 4f 266:0109.......FINAL_DOS_LOCATIO
41420 4e 0d 0a 20 30 32 36 36 3a 30 31 30 42 20 20 20 20 20 20 20 44 45 56 49 43 45 5f 4c 49 53 54 0d N...0266:010B.......DEVICE_LIST.
41440 0a 20 30 32 36 36 3a 30 31 30 46 20 20 20 20 20 20 20 4d 45 4d 4f 52 59 5f 53 49 5a 45 0d 0a 20 ..0266:010F.......MEMORY_SIZE...
41460 30 32 36 36 3a 30 31 31 31 20 20 20 20 20 20 20 44 45 46 41 55 4c 54 5f 44 52 49 56 45 0d 0a 20 0266:0111.......DEFAULT_DRIVE...
41480 30 32 36 36 3a 30 31 31 32 20 20 20 20 20 20 20 42 55 46 46 45 52 53 0d 0a 20 30 32 36 36 3a 30 0266:0112.......BUFFERS...0266:0
414a0 31 31 33 20 20 20 20 20 20 20 46 49 4c 45 53 0d 0a 20 30 32 36 36 3a 30 39 36 34 20 20 20 20 20 113.......FILES...0266:0964.....
414c0 20 20 42 41 44 4f 50 4d 0d 0a 20 30 32 36 36 3a 30 39 38 38 20 20 20 20 20 20 20 43 52 4c 46 4d ..BADOPM...0266:0988.......CRLFM
414e0 0d 0a 20 30 32 36 36 3a 30 39 38 42 20 20 20 20 20 20 20 42 41 44 53 49 5a 0d 0a 20 30 32 36 36 ...0266:098B.......BADSIZ...0266
41500 3a 30 39 41 43 20 20 20 20 20 20 20 42 41 44 4c 44 0d 0a 20 30 32 36 36 3a 30 39 42 45 20 20 20 :09AC.......BADLD...0266:09BE...
41520 20 20 20 20 42 41 44 43 4f 4d 0d 0a 20 30 32 36 36 3a 30 39 44 32 20 20 20 20 20 20 20 42 41 44 ....BADCOM...0266:09D2.......BAD
41540 43 4f 55 4e 54 52 59 0d 0a 20 30 32 36 36 3a 30 39 45 42 20 20 20 20 20 20 20 53 59 53 02 f6 05 COUNTRY...0266:09EB.......SYS...
41560 1d 00 09 02 01 02 03 04 05 06 07 08 09 01 e9 ca 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................!...............
41580 00 00 00 00 00 fb 00 fb 00 fb 00 ed 00 55 01 7b 01 fb 00 b4 01 bc 01 bc 01 9e 01 ed 00 ed 00 ed .............U.{................
415a0 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 fb 00 fb 00 fb 00 ed 00 cd 02 e9 00 fb 00 fb ................................
415c0 00 8b 02 8b 02 fb 00 fb 00 fb 00 ed 00 f6 00 e9 00 fb 00 fb 00 28 02 28 02 4b 02 fb 00 ed 00 ed .....................(.(.K......
415e0 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 ff cb ................................
41600 56 50 32 c0 eb 04 56 50 b0 01 be 17 00 eb 1a 56 50 32 c0 eb 0a 56 50 b0 01 eb 04 56 50 b0 02 be VP2...VP.......VP2...VP....VP...
41620 57 00 eb 05 56 be 43 00 50 51 52 57 55 1e 06 53 2e a2 83 00 8c c0 8e d8 8a 47 02 32 e4 03 f0 03 W...V.C.PQRWU..S.........G.2....
41640 f0 3c 12 77 16 8a 47 01 8a 67 0d 8b 4f 12 8b 57 14 c4 7f 0e 2e ff 24 b4 03 eb 10 b0 03 29 4f 12 .<.w..G..g..O..W......$......)O.
41660 b4 81 eb 07 33 c0 89 47 12 b4 01 5b 07 26 89 47 03 1f 5d 5f 5a 59 58 5e cb b4 00 89 4f 12 89 7f ....3..G...[.&.G..]_ZYX^....O...
41680 0e eb e8 2e 8a 16 83 00 32 f6 c3 df 01 70 00 00 80 91 00 92 00 41 55 58 20 20 20 20 20 f1 01 70 ........2....p.......AUX.......p
416a0 00 00 80 91 00 92 00 43 4f 4d 31 20 20 20 20 ff ff 70 00 00 80 91 00 98 00 43 4f 4d 32 20 20 20 .......COM1......p.......COM2...
416c0 20 00 00 e3 11 e8 7b 00 33 c0 86 07 0a c0 75 03 e8 05 00 aa e2 fa eb 91 b4 02 e8 3f 00 f6 c4 0e ......{.3.....u............?....
416e0 74 06 58 b0 0b e9 75 ff c3 e8 57 00 8a 07 0a c0 75 14 e8 25 00 f6 c4 01 74 0f a8 20 74 0b e8 d7 t.X...u...W.....u..%....t...t...
41700 ff e8 3f 00 88 07 e9 60 ff e9 4b ff e8 0b 00 a8 20 74 f6 f6 c4 20 74 f1 eb bc b4 03 e8 64 ff cd ..?....`..K......t....t......d..
41720 14 c3 e8 1e 00 c6 07 00 eb ac e3 aa 26 8a 05 47 b4 01 e8 e7 ff f6 c4 80 74 05 b0 0a e9 1e ff e2 ............&..G........t.......
41740 eb eb 93 e8 3d ff 8b da 81 c3 53 01 c3 77 02 70 00 00 80 91 00 a1 00 50 52 4e 20 20 20 20 20 03 ....=.....S..w.p.......PRN......
41760 02 70 00 00 80 91 00 a1 00 4c 50 54 31 20 01 20 20 20 15 02 70 00 00 80 91 00 a7 00 4c 50 54 32 .p.......LPT1.......p.......LPT2
41780 20 20 20 20 41 01 70 00 00 80 91 00 ad 00 4c 50 54 33 20 20 20 20 00 e3 1e 26 8a 05 47 2e c6 06 ....A.p.......LPT3.......&..G...
417a0 27 02 00 32 e4 e8 21 00 74 0b 2e 80 36 27 02 01 75 f1 e9 a9 fe e2 e2 e9 b0 fe e8 0a 00 75 f3 f6 '..2..!.t...6'..u............u..
417c0 c4 80 75 f3 e9 91 fe b4 02 e8 b8 fe cd 17 b0 02 f6 c4 01 75 10 b0 0a f6 c4 08 74 09 f6 c4 20 74 ..u................u......t....t
417e0 02 b0 09 0a c0 c3 3a 12 70 00 08 80 91 00 b6 00 43 4c 4f 43 4b 24 20 20 00 00 53 26 8b 05 2e a3 ......:.p.......CLOCK$....S&....
41800 89 02 26 8b 4d 02 b0 3c f6 e5 b5 00 03 c1 b9 60 ea f7 e1 8b f0 8b da 26 8a 45 05 b9 64 00 f6 e1 ..&.M..<.......`.......&.E..d...
41820 26 8a 4d 04 03 c1 b1 0a f7 e1 03 c6 2e a3 08 03 83 d3 00 2e 89 1e 0a 03 5b e9 2e fe 53 2e a1 89 &.M.....................[...S...
41840 02 ab 2e 8b 16 0a 03 2e a1 08 03 b9 60 ea f7 f1 8b da 33 d2 b9 3c 00 f7 f1 92 aa 92 aa 8b c3 33 ............`.....3..<.........3
41860 d2 b9 e8 03 f7 f1 93 8b c2 33 d2 b9 0a 00 f7 f1 aa 93 aa 5b e9 f3 fd 00 00 00 00 00 37 32 50 2e .........3.........[........72P.
41880 ff 06 08 03 75 05 2e ff 06 0a 03 2e 81 3e 0a 03 26 05 75 18 2e 81 3e 08 03 00 5c 75 0f 2e ff 06 ....u........>..&.u...>...\u....
418a0 89 02 33 c0 2e a3 0a 03 2e a3 08 03 b0 36 e6 43 b0 a9 e6 40 b0 04 e6 40 b0 20 e6 20 2e fe 0e 0e ..3..........6.C...@...@........
418c0 03 75 21 2e c6 06 0e 03 32 58 cd 32 2e 83 3e 86 00 00 74 0f 2b d2 b8 32 00 2e ff 1e 84 00 9a ff .u!.....2X.2..>...t.+..2........
418e0 19 70 00 cf 58 cf 0a e4 74 05 fe cc 74 17 cf 2e a1 0a 03 33 d2 b9 37 00 f7 f1 50 2e a1 08 03 f7 .p..X...t...t......3..7...P.....
41900 f1 59 32 c0 cf 8b c2 53 bb 37 00 f7 e3 2e a3 08 03 8b c1 8b ca f7 e3 5b 03 c1 2e a3 0a 03 cf 0d .Y2....S.7.............[........
41920 0a 45 72 72 6f 72 20 2d 20 49 6e 74 65 72 72 75 70 74 20 31 32 0d 0a 00 00 00 00 00 50 53 56 1e .Error.-.Interrupt.12.......PSV.
41940 0e 1f be b0 03 e8 09 00 1f 5e 5b 58 2e ff 2e c9 03 ac 24 7f 74 09 bb 07 00 b4 0e cd 10 eb f2 c3 .........^[X......$.t...........
41960 1d 01 70 00 13 c0 80 06 7f 06 43 4f 4e 20 20 01 20 20 20 15 0f fb 00 fb 00 ed 00 78 07 d1 07 fb ..p.......CON..............x....
41980 00 0d 08 44 08 44 08 fb 00 fb 00 fb 00 fb 00 fb 00 fb 00 d1 0c a9 0e b5 0e 00 00 00 00 2f 04 00 ...D.D......................./..
419a0 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....I...........................
419c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
419e0 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .............I..................
41a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 ......................I.........
41a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 ...............................I
41a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ac0 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........I.......................
41ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................I..............
41b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 49 00 00 00 00 00 ..........................I.....
41b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ba0 07 00 02 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....I...........................
41bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41be0 00 00 00 00 00 00 00 00 08 08 10 10 40 40 40 10 cb 56 be 03 04 e9 33 fa cd 32 fa b8 40 00 8e d8 ............@@@..V....3..2..@...
41c00 b8 1e 00 a3 1a 00 a3 1c 00 b8 03 00 ba 05 00 2e ff 1e 84 00 74 04 2e a2 2a 04 cf 00 00 00 00 00 ....................t...*.......
41c20 cd 32 b8 40 00 8e d8 9c 2e ff 1e aa 06 fa 8b 1e 1c 00 3b 1e 1a 00 74 3f 4b 4b 81 fb 1e 00 73 03 .2.@..............;...t?KK....s.
41c40 bb 3c 00 8b 07 ba 05 00 2e ff 1e 84 00 75 06 89 1e 1c 00 eb 22 fa 2e 80 3e ae 06 00 74 19 50 53 .<...........u......"...>...t.PS
41c60 51 52 8c c8 bb ae 06 2e c6 07 00 ba 0a 00 2e ff 1e 84 00 5a 59 5b 58 cf 00 00 00 00 00 00 00 00 QR.................ZY[X.........
41c80 0a e4 74 1d 80 fc 01 74 05 2e ff 2e 07 07 53 1e 2e c5 1e 0b 07 f6 07 ff 1f 5b 75 ed 33 c0 ca 02 ..t....t......S..........[u.3...
41ca0 00 50 53 51 52 1e 2e c5 1e 0b 07 8c d8 f6 07 ff 1f 75 0c 33 c9 ba 09 00 2e ff 1e 84 00 eb e6 b4 .PSQR............u.3............
41cc0 01 9c fa 2e ff 1e 07 07 fa 75 15 8c c8 bb ae 06 2e c6 07 ff 33 c9 ba 09 00 2e ff 1e 84 00 eb c5 .........u..........3...........
41ce0 5a 59 5b 58 2e ff 2e 07 07 23 c9 75 03 eb 24 90 fc 8b 57 14 83 fa 07 76 05 b0 0b e9 65 f9 2e 3b ZY[X.....#.u..$...W....v....e..;
41d00 16 2b 04 74 08 e8 5e 07 e8 32 07 eb f1 e8 08 00 aa e2 03 e9 56 f9 eb e6 33 c0 2e 86 06 2a 04 0a .+.t..^..2..........V...3....*..
41d20 c0 75 1e b4 00 9c 9a 30 07 70 00 0b c0 75 02 eb e7 3d 00 72 75 02 b0 10 0a c0 75 05 2e 88 26 2a .u.....0.p...u...=.ru.....u...&*
41d40 04 c3 8b 57 14 83 fa 07 76 05 b0 0b e9 14 f9 2e 3b 16 2b 04 75 25 2e a0 2a 04 0a c0 75 17 b4 01 ...W....v.......;.+.u%..*...u...
41d60 cd 16 74 17 0b c0 75 06 b4 00 cd 16 eb d4 3d 00 72 01 75 02 b0 10 88 47 0d e9 f1 f8 e9 dc f8 8b ..t...u.......=.r.u....G........
41d80 57 14 83 fa 07 76 05 b0 0b e9 d8 f8 2e 3b 16 2b 04 74 08 e8 d1 06 e8 a5 06 eb f1 2e c6 06 2a 04 W....v.......;.+.t............*.
41da0 00 1e b8 40 00 8e d8 fa b8 1e 00 a3 1a 00 a3 1c 00 fb 1f e9 b7 f8 e3 3f 8b 57 14 83 fa 07 76 05 ...@...................?.W....v.
41dc0 b0 0a e9 9f f8 0e 1f 8b 1e 2d 04 3b 16 2b 04 74 08 e8 93 06 e8 67 06 eb f2 80 3f 00 74 04 8b c3 .........-.;.+.t.....g....?.t...
41de0 eb f2 80 3e 29 04 00 74 05 b8 29 04 eb e6 26 8a 05 47 e8 d9 01 e2 d4 e9 73 f8 41 93 0b 42 9b 0b ...>)..t..)...&..G......s.A..B..
41e00 43 82 0b 44 8e 0b 48 55 0b 4a fb 0b 4b 36 0c 4c 5f 0c 4d 63 0c 66 55 0b 68 82 0c 6c 7e 0c 6d c8 C..D..HU.J..K6.L_.Mc.fU.h..l~.m.
41e20 0b 73 a7 0b 75 b1 0b 00 00 00 07 01 ff 08 04 f8 01 05 ff 80 07 f8 70 08 88 00 1e f8 00 1f f8 04 .s..u.................p.........
41e40 20 f8 02 21 f8 06 22 f8 01 23 f8 05 24 f8 03 25 f8 07 28 8f 00 29 8f 40 2a 8f 20 2b 8f 60 2c 8f ...!.."..#..$..%..(..).@*..+.`,.
41e60 10 2d 8f 50 2e 8f 30 2f 8f 70 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 01 .-.P..0/.p......................
41e80 00 01 00 01 00 01 00 01 00 3d 09 00 00 3e 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........=...>..................
41ea0 00 00 00 00 00 00 00 00 00 3d 09 03 4f 00 00 01 00 2c 0b 00 00 00 00 00 00 00 00 00 00 07 00 00 .........=..O....,..............
41ec0 b8 00 00 3c 0d 77 55 75 09 2e c6 06 3b 09 00 e9 8e 00 3c 0a 74 76 3c 07 75 0d 2e 8b 1e 4b 09 80 ...<.wUu....;.....<.tv<.u....K..
41ee0 e3 07 b4 0e cd 10 c3 3c 09 75 1e 2e a0 3b 09 04 08 8a e0 80 e4 07 2a c4 2e 3a 06 3a 09 72 04 2e .......<.u...;........*..:.:.r..
41f00 a0 3a 09 2e a2 3b 09 eb 57 3c 08 75 0f 2e 80 3e 3b 09 00 74 d1 2e fe 0e 3b 09 eb 44 2e 8b 1e 4b .:...;..W<.u...>;..t....;..D...K
41f20 09 b9 01 00 b4 09 cd 10 2e fe 06 3b 09 2e a0 3b 09 2e 3a 06 3a 09 76 28 2e 80 3e 3d 09 01 74 06 ...........;...;..:.:.v(..>=..t.
41f40 2e fe 0e 3b 09 c3 2e c6 06 3b 09 00 2e 80 3e 3c 09 17 77 0c 74 07 2e fe 06 3c 09 eb 03 e8 0f 00 ...;.....;....><..w.t....<......
41f60 2e 8b 16 3b 09 2e 8a 3e 4c 09 b4 02 cd 10 c3 2e a0 39 01 09 3c 02 74 18 3c 03 74 14 33 c9 b6 17 ...;...>L........9..<.t.<.t.3...
41f80 2e 8a 16 3a 09 2e 8a 3e 4b 09 b8 01 06 cd 10 c3 2e 8a 3e 4b 09 b3 20 bd 50 00 2e a1 4d 09 2e 03 ...:...>K.........>K....P...M...
41fa0 06 4f 09 8e c0 8e d8 33 ff be a0 00 b9 30 07 fc ba da 03 ec a8 08 74 fb b0 25 ba d8 03 ee f3 a5 .O.....3.....0........t..%......
41fc0 8b c3 8b cd f3 ab b0 29 ba d8 03 ee 0e 1f c3 50 53 51 52 56 57 06 55 2e c7 06 4d 09 00 b8 96 b8 .......).......PSQRVW.U...M.....
41fe0 40 00 8e d8 a1 49 00 fe cc 2e a3 39 09 3c 07 75 07 2e c7 06 4d 09 00 b0 a0 62 00 2e a2 4c 09 98 @....I.....9.<.u....M....b...L..
42000 03 c0 8b d8 8b 47 50 2e a3 3b 09 a1 4e 00 b1 04 d3 e8 0e 1f 2e a3 4f 09 96 e8 09 00 5d 07 5f 5e .....GP..;..N.........O.....]._^
42020 5a 59 5b 58 c3 be 3f 09 ff 24 3c 5b 74 03 eb 6f 90 c7 04 d0 0a 33 db 2e 89 1e 43 09 2e 89 1e 46 ZY[X..?..$<[t..o.....3....C....F
42040 09 eb 19 3c 3f 77 36 2e a2 43 09 c7 04 e0 0a 3c 3c 73 09 3c 3b 75 0d 2e fe 06 44 09 e8 cf 01 33 ...<?w6..C.....<<s.<;u....D....3
42060 c0 89 07 c3 3c 30 72 12 3c 39 77 11 e8 bf 01 2c 30 86 07 b4 0a f6 e4 00 07 c3 75 01 c3 bb 85 08 ....<0r.<9w....,0.........u.....
42080 83 c3 03 80 3f 00 74 20 38 07 75 f4 8b 47 01 bb 46 09 8a 17 32 f6 8b ca 0b c9 75 01 41 ff e0 3c ....?.t.8.u..G..F...2.....u.A..<
420a0 1b 75 05 c7 04 b7 0a c3 e8 19 fe 2e c7 06 3f 09 2c 0b c3 38 27 74 04 00 07 e2 f8 2e 8b 16 3b 09 .u............?.,..8't........;.
420c0 33 db b4 02 cd 10 eb e3 80 f9 19 72 0a 77 ec 2e 80 3e 3e 09 00 74 e4 2e a0 3a 09 8a 6f 01 0a ed 3..........r.w...>>..t...:..o...
420e0 74 02 fe cd 3a c5 77 02 8a e8 86 cd fe cd 2e 89 0e 3b 09 eb c6 2e 8a 26 3a 09 b0 01 bb 3b 09 eb t...:.w..........;.....&:....;..
42100 b2 b8 ff 00 eb f6 b8 ff 00 bb 3c 09 eb a5 b8 01 17 2e 3a 26 3c 09 77 a3 eb ef 2e a1 3b 09 2e a3 ..........<.......:&<.w.....;...
42120 41 09 eb 97 2e a1 41 09 80 fd 18 72 08 2e 80 3e 3e 09 00 74 04 2e a3 3b 09 eb 80 33 c9 2e 86 0e A.....A....r...>>..t...;...3....
42140 44 09 e8 e9 00 41 8a 07 53 bb b6 08 8a 27 83 c3 03 80 fc ff 74 11 3a e0 75 f2 8b 47 fe 2e 20 06 D....A..S....'......t.:.u..G....
42160 4b 09 2e 08 26 4b 09 5b 43 e2 db e9 4d ff 2e 80 3e 3c 09 01 18 74 33 33 c9 2e 8a 16 3a 09 b6 17 K...&K.[C...M...><...t33....:...
42180 2e 80 3e 46 09 01 77 3e 72 0b 2e 8a 36 3c 09 fe ce 7e 17 eb 0b 2e 8a 2e 3c 09 fe c5 3a ee 73 0a ..>F..w>r...6<...~......<...:.s.
421a0 2e 8a 3e 4b 09 b8 00 06 cd 10 2e 8b 0e 3b 09 8b d1 2e a0 46 09 fe c0 a8 01 74 05 2e 8a 16 3a 09 ..>K.........;.....F.....t....:.
421c0 a8 02 74 02 b1 00 2e 8a 3e 4b 09 b8 00 06 cd 10 e9 d9 fe b4 07 eb 02 b4 06 8a c1 2e 8a 2e 3c 09 ..t.....>K....................<.
421e0 32 c9 b6 17 2e 8a 16 3a 09 2e 8a 3e 4b 09 cd 10 eb de 32 c9 eb 02 b1 01 2e 8a 1e 43 09 80 eb 3c 2......:...>K.....2........C...<
42200 72 ce 80 fb 04 73 c9 32 ff d1 e3 d1 e3 d1 e3 8a c2 3c 07 77 bb 0a d8 d1 e3 2e 8b 9f f9 08 83 fb r....s.2.........<.w............
42220 01 72 ad 74 04 88 0f eb a7 b4 00 cd 10 eb a1 2e 8b 1e 44 09 83 fb 05 72 07 2e fe 0e 44 09 eb ef .r.t..............D....r....D...
42240 81 c3 46 09 c3 80 7f 0e 03 75 27 8b 77 0f 8a 47 0d 3c 41 75 02 eb 1e 3c 42 75 02 eb 6f 3c 43 75 ..F......u'.w..G.<Au...<Bu..o<Cu
42260 03 e9 d5 00 3c 44 75 03 e9 75 01 3c 45 75 03 e9 84 01 e9 ec f3 83 fe 07 77 4a 53 1e 0e 1f 3b 36 ....<Du..u.<Eu..........wJS...;6
42280 2b 04 74 0e 89 36 2b 04 8b d6 e8 dc 01 a3 2d 04 eb 22 c6 06 29 04 01 b8 00 00 e8 d9 01 b8 40 00 +.t..6+.......-.."..).........@.
422a0 8e c0 26 a0 49 00 32 e4 8b f0 8a a4 77 06 32 c0 89 07 8b c2 1f 5b 89 47 13 8c 4f 15 c7 47 0f 00 ..&.I.2.....w.2......[.G..O..G..
422c0 00 e9 ab f3 c7 47 0f 01 00 e9 a3 f3 83 fe 01 77 f3 53 1e 83 fe 00 75 24 56 b8 40 00 8e d8 be 49 .....G.........w.S....u$V.@....I
422e0 00 b9 1e 00 0e 07 2e 8b 3e 2d 04 8d 7d 17 fc f3 a4 0e 1f be 3d 09 b9 10 00 f3 a4 5e 0e 1f 8b c6 ........>-..}.......=......^....
42300 e8 73 01 8b 0f d1 e9 c4 7f 04 8b f2 bb 00 b8 80 7c 17 07 75 03 bb 00 b0 8b 54 31 83 c2 04 8a 44 .s..............|..u.....T1....D
42320 33 24 f7 ee 8e db be 00 00 fc f3 a5 0c 08 ee 1f 5b c7 47 0f 00 00 e9 36 f3 83 fe 01 77 91 53 1e 3$..............[.G....6....w.S.
42340 0e 1f 83 fe 00 75 58 56 8b 36 2d 04 56 8d 74 17 b8 40 00 8e c0 b9 1e 00 bf 49 00 fc f3 a4 06 0e .....uXV.6-.V.t..@.......I......
42360 07 bf 3d 09 b9 10 00 f3 a4 07 5e 8a 44 17 3c 07 75 02 b0 02 01 b4 00 cd 10 8b 4c 2e b4 01 cd 10 ..=.......^.D.<.u.........L.....
42380 8b 54 1e 8a 7c 30 b4 02 cd 10 8a 44 30 b4 05 cd 10 8b 54 31 83 c2 05 8a 44 34 ee 26 a2 66 00 5e .T..|0.....D0.....T1....D4.&.f.^
423a0 8b c6 e8 d2 00 8b 0f d1 e9 c5 77 04 8b fa bb 00 b8 2e 80 7d 17 07 75 03 bb 00 b0 2e 8b 55 31 83 ..........w........}..u......U1.
423c0 c2 04 2e 8a 45 33 24 f7 ee 8e c3 bf 00 00 fc f3 a5 0c 08 ee 1f 5b c7 47 0f 00 00 e9 92 f2 e9 e4 ....E3$..............[.G........
423e0 fe 2e c6 06 29 04 00 b8 29 04 e8 6a 00 2e a1 2d 04 e8 63 00 e9 79 f2 83 fe 07 77 e2 1e 0e 1f 89 ....)...)..j...-..c..y....w.....
42400 36 2b 04 8b d6 e8 62 00 a3 2d 04 8b f0 c6 04 00 b8 03 00 cd 10 1f c7 47 0f 00 00 e9 52 f2 2e 8b 6+....b..-.............G....R...
42420 1e 2d 04 2e c6 07 01 e9 46 f2 2e 8b 1e 2d 04 2e 80 3f 00 74 09 2e c6 07 00 8d 07 e8 19 00 e9 2f .-......F....-...?.t.........../
42440 f2 53 51 52 8b d8 8c c8 33 c9 ba 09 00 fa 2e ff 1e 84 00 5a 59 5b c3 53 51 52 8b d8 8c c8 ba 0a .SQR....3..........ZY[.SQR......
42460 00 2e ff 1e 84 00 5a 59 5b c3 52 8b c2 ba 49 00 f7 e2 5a 05 2f 04 c3 ba 08 00 f7 e2 8b 1e 2d 04 ......ZY[.R...I...Z./.........-.
42480 8b d3 8b 5f 01 03 d8 03 da c3 2e 89 3e 84 00 2e 8c 06 86 00 b8 00 00 b9 01 00 ba 10 00 2e ff 1e ..._........>...................
424a0 84 00 2e a3 0b 07 2e 89 16 0d 07 33 c0 8e c0 8c c8 26 c7 06 6c 00 87 06 26 a3 6e 00 bf 24 00 26 ...........3.....&..l...&.n..$.&
424c0 8b 0d 2e 89 0e aa 06 26 8b 4d 02 2e 89 0e ac 06 b9 af 06 91 ab 91 ab bf 58 00 26 8b 0d 2e 89 0e .......&.M..............X.&.....
424e0 07 07 26 8b 4d 02 2e 89 0e 09 07 b9 0f 07 91 ab 91 ab e9 7b f1 08 00 ff ff 00 00 00 00 00 00 00 ..&.M..............{............
42500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 ff ff 00 00 00 00 ................................
42520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 01 01 00 ................................
42540 02 40 00 68 01 fc 02 00 09 00 01 00 00 00 00 01 00 ff ff 00 02 01 01 00 02 40 00 68 01 fc 02 00 .@.h.....................@.h....
42560 09 00 01 00 00 00 00 01 00 ff ff 00 02 01 01 00 02 40 00 68 01 01 fc 02 00 09 00 01 00 00 00 00 .................@.h............
42580 01 00 ff ff 00 02 01 01 00 02 40 00 68 01 fc 02 00 09 00 01 00 00 00 00 01 00 ff ff c6 0f de 0f ..........@.h...................
425a0 f6 0f 0e 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
426a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
426c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
426e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 1d 01 09 02 01 02 03 04 05 ................................
42780 06 07 08 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
427a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 46 ...............................F
427c0 12 70 00 20 00 51 12 52 12 04 00 2f 01 70 00 20 00 51 12 7c 12 00 cb 56 8d 36 5a 12 e9 60 ee b4 .p...Q.R.../.p...Q.|...V.6Z..`..
427e0 12 11 13 f7 12 ed 00 4c 13 e9 00 fb 00 fb 00 4c 13 4c 13 ed 00 ed 00 ed 00 ed 00 ed 00 ed 00 ed .......L.......L.L..............
42800 00 56 8d 36 84 12 e9 36 ee d1 12 48 13 09 13 ed 00 cb 13 e9 00 fb 00 fb 00 cb 13 cb 13 ed 00 ed .V.6...6...H....................
42820 00 ed 00 ed 00 ed 00 ed 00 ed 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1e 33 c0 8e d8 b8 97 ..........................3.....
42840 19 a3 38 00 8c 0e 3a 00 1f e8 76 0a 2e 8a 26 44 12 bf 26 10 eb 2c 1e 33 c0 8e d8 b8 40 17 a3 34 ..8...:...v...&D..&..,.3....@..4
42860 00 8c 0e 36 00 1f e4 21 24 df e6 21 ba 23 03 b0 03 ee 2e 8a 26 50 12 bf 2a 10 eb 06 26 8a 25 e8 ...6...!$..!.#......&P..*...&.%.
42880 3f 09 88 67 0d 89 7f 12 8c 4f 14 e9 f2 ed 26 8a 25 e8 93 09 eb ec b2 01 80 fc f8 74 2a 2e 80 3e ?..g.....O....&.%..........t*..>
428a0 2e 12 00 74 0c 2e 38 06 87 0f 74 05 b2 ff eb 17 90 8b c8 32 ed 8b f1 03 f6 2e 8b b4 26 10 2e f6 ...t..8...t........2........&...
428c0 44 14 02 75 02 32 d2 88 57 0e e9 b3 ed b2 01 eb f6 e8 61 09 57 e8 e9 08 8b f2 03 f1 2e 3b 75 08 D..u.2..W.........a.W........;u.
428e0 8b f7 5f 76 05 b0 08 e9 8d ed 0b c9 75 03 e9 8f ed 2e 80 3e 2e 12 00 74 03 e8 09 01 e8 c5 00 1e .._v........u......>...t........
42900 07 0e 1f 8d 36 32 12 ba 04 00 2e ff 1e 84 00 06 1f 9c fa 2e f6 06 85 0f 01 75 1b 1e 53 2e 80 0e ....62...................u..S...
42920 85 0f 01 2e c7 06 80 0f 00 00 e8 2d 04 5b 1f f7 47 03 00 01 75 10 8c d8 33 c9 53 ba 09 00 2e ff ...........-.[..G...u...3.S.....
42940 1e 84 00 5b eb e9 9d 8b 47 03 8b 4f 12 e9 32 ed e8 e2 08 57 e8 d0 08 8b f2 03 f1 2e 3b 75 08 8b ...[....G..O..2....W........;u..
42960 f7 5f 76 05 b0 08 e9 0e ed 0b c9 75 03 e9 10 ed e8 51 00 1e 07 0e 1f 8d 36 36 12 ba 04 00 2e ff ._v........u.....Q......66......
42980 1e 84 00 06 1f 01 9c fa 2e f6 06 a8 0f 01 75 1b 1e 53 2e 80 0e a8 0f 01 2e c7 06 a3 0f 00 00 e8 ..............u..S..............
429a0 e4 01 5b 1f f7 47 03 00 01 75 10 8c d8 33 c9 53 ba 09 00 2e ff 1e 84 00 5b eb e9 9d 8b 47 03 8b ..[..G...u...3.S........[....G..
429c0 4f 12 e9 be ec 52 51 8b c1 2e f7 24 8c c2 b1 04 d3 e2 03 d7 f8 03 d0 73 2a 53 9c fa 2e f6 06 31 O....RQ....$...........s*S.....1
429e0 12 01 74 17 2e 80 0e 31 12 02 8c c8 bb 31 12 33 c9 ba 09 00 2e ff 1e 84 00 eb e0 2e 80 0e 31 12 ..t....1.....1.3..............1.
42a00 01 9d 5b 59 5a c3 51 9c 53 9c fa 2e f6 06 2f 12 01 74 17 2e 80 0e 2f 12 02 8c c8 bb 2f 12 33 c9 ..[YZ.Q.S...../..t..../...../.3.
42a20 ba 09 00 2e ff 1e 84 00 eb e0 2e 80 0e 2f 12 01 9d 5b 2e 80 26 2f 12 fe 8a 47 01 2e 3a 06 87 0f ............./...[..&/...G..:...
42a40 74 62 fa 2e 80 0e 2f 12 01 2e f6 06 85 0f 01 74 2c 53 9c fa 2e f6 06 30 12 01 74 17 2e 80 0e 30 tb..../........t,S.....0..t....0
42a60 12 02 8c c8 bb 30 12 33 c9 ba 09 00 2e ff 1e 84 00 eb e0 2e 80 0e 30 12 01 9d 5b eb b5 9d 9c 04 .....0.3..............0...[.....
42a80 41 2e a2 5a 15 1e 56 53 0e 1f 8d 36 3e 15 ac 0a c0 74 04 cd 29 eb f7 b4 01 cd 16 74 fa 32 e4 cd A..Z..VS...6>....t..)......t.2..
42aa0 16 5b 5e 1f 53 2e f6 06 2f 12 02 74 0d 8c c8 bb 2f 12 ba 0a 00 2e ff 1e 84 00 2e 80 26 2f 12 fc .[^.S.../..t..../...........&/..
42ac0 5b 9d 59 c3 0d 0a 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 65 20 66 6f 72 20 64 72 69 76 65 20 [.Y...Insert.diskette.for.drive.
42ae0 41 3a 20 61 6e 64 20 73 74 72 69 6b 65 0d 0a 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 61 64 A:.and.strike..any.key.when.read
42b00 79 0d 0a 0a 00 52 51 53 50 9c fa 2e 80 3e b3 12 00 74 11 8c c8 bb b3 12 33 c9 ba 09 00 2e ff 1e y....RQSP....>...t......3.......
42b20 84 00 eb e6 2e c6 06 b3 12 01 9d 9c fa 2e 80 3e b2 12 00 74 11 8c c8 bb b2 12 33 c9 ba 09 00 2e ...............>...t......3.....
42b40 ff 1e 84 00 eb e6 9d fb 58 5b 59 5a 52 51 53 9c 2e ff 1e a6 12 2e c6 06 b3 12 00 50 9c 8c c8 bb ........X[YZRQS............P....
42b60 b3 12 ba 0a 00 2e ff 1e 84 00 9d 58 5b 59 5a ca 02 00 0c 16 25 16 e5 16 e5 16 e5 16 e5 16 92 16 ...........X[YZ.....%...........
42b80 9b 16 df 16 e5 16 01 0e 1f 8b 1e a3 0f 03 db ff a7 ec 15 be a3 0f c4 1e 36 12 26 8a 47 01 e8 88 ........................6.&.G...
42ba0 06 e8 a1 04 c7 06 a3 0f 01 00 eb db be a3 0f c4 1e 36 12 26 8a 47 01 e8 6f 06 e8 c9 04 f6 06 a8 .................6.&.G..o.......
42bc0 0f 04 75 09 b0 44 c6 06 bf 0f 08 eb 07 b0 48 c6 06 bf 0f 0a b4 03 e8 30 05 a0 aa 0f b1 05 d3 e0 ..u..D........H........0........
42be0 0a 06 b6 0f a2 c0 0f a1 b3 0f a2 c2 0f d1 e8 d1 e8 24 c0 0a 06 b5 0f a2 c1 0f a0 b7 0f a2 c3 0f .................$..............
42c00 c6 06 c4 0f 05 b0 03 e8 58 06 b0 07 f6 06 a8 0f 08 74 02 b0 06 a2 a3 0f c3 c7 06 a3 0f 07 00 e9 ........X........t..............
42c20 65 ff a0 a8 0f 24 14 3c 10 75 13 1e 06 8b 0e b9 0f c4 3e ad 0f c5 36 bb 0f fc f3 a4 07 1f a1 b7 e....$.<.u........>...6.........
42c40 0f 29 06 b1 0f 74 14 01 06 ab 0f a1 b9 0f 01 06 ad 0f c7 06 a3 0f 01 00 e9 2c ff bf a3 0f be 36 .)...t...................,.....6
42c60 12 e8 e8 04 eb f2 80 26 a8 0f fe c3 c7 06 a3 0f 07 00 a0 bf 0f 8a d8 81 e3 30 00 b1 03 d3 eb 8b .......&.................0......
42c80 9f 1c 17 25 0f 00 3a 07 73 07 03 d8 8a 67 01 eb 02 b4 0c 06 c4 3e 36 12 8a c4 b4 81 26 89 45 03 ...%..:.s....g.......>6.....&.E.
42ca0 07 eb b8 24 17 2e 17 39 17 3c 17 09 0c 02 06 0a 02 0c 06 0c 06 0a 04 04 08 0c 08 06 0c 0c 04 06 ...$...9.<......................
42cc0 02 03 08 03 04 04 04 2e 80 3e b4 12 01 75 25 2e 80 3e b3 12 00 74 1d 2e 80 3e b2 12 00 75 15 cd .........>...u%..>...t...>...u..
42ce0 32 9c 2e ff 1e aa 12 e4 21 24 df e6 21 ba 23 03 b0 03 ee cf 2e f6 06 a8 0f 01 74 45 cd 32 ba 20 2.......!$..!.#...........tE.2..
42d00 03 ec a8 02 74 38 0e 1f 80 3e a7 0f 05 73 0d fe 06 a7 0f c7 06 a3 0f 00 00 eb 23 90 c6 06 bf 0f ....t8...>...s............#.....
42d20 03 32 c0 e8 3c 05 0e 07 bf bf 0f b9 05 00 e8 50 05 ba 20 03 ec aa e2 f6 c7 06 a3 0f 09 00 e8 46 .2..<..........P...............F
42d40 fe 50 b0 20 e6 20 58 cf e1 17 04 18 25 18 51 18 63 18 91 18 a1 18 b8 18 17 19 3b 19 0e 1f 8b 1e .P....X.....%.Q.c.........;.....
42d60 80 0f 03 db ff a7 c1 17 be 80 0f c4 1e 32 12 26 8a 47 01 26 8a 67 0d e8 49 04 e8 c8 02 ba f7 03 .............2.&.G.&.g..I.......
42d80 b0 02 ee c7 06 80 0f 01 01 00 eb d1 be 80 0f c4 1e 32 12 26 8a 47 01 26 8a 67 0d e8 26 04 e8 e6 .................2.&.G.&.g..&...
42da0 02 c7 06 80 0f 02 00 e8 5d 05 73 b1 c3 e8 db 04 80 4f 14 02 f6 47 14 01 74 0d e8 b0 01 c7 06 80 ........].s......O...G..t.......
42dc0 0f 03 00 e8 e7 04 c3 e8 b7 05 73 3a c7 06 80 0f 04 00 e8 b6 04 e8 95 01 c3 e8 16 05 0b c0 75 12 ..........s:..................u.
42de0 e8 f9 04 c7 06 80 0f 02 00 eb 9f e8 04 05 0b c0 74 14 e8 96 04 80 4f 14 01 c7 06 80 0f 09 00 80 ................t.....O.........
42e00 0e 9d 0f 08 eb e3 c7 06 80 0f 05 00 b0 09 e8 87 04 32 e4 e8 3a 01 73 d1 c3 c7 06 80 0f 06 00 e8 .................2..:.s.........
42e20 95 05 e8 66 04 e8 45 01 c3 e8 f3 05 0b c0 74 08 c7 06 80 0f 09 00 eb b1 c7 06 80 0f 07 00 eb a9 ...f..E.......t.................
42e40 a0 85 0f 24 1c 3c 10 75 13 1e 06 8b 0e 96 0f c4 3e 8a 0f c5 36 98 0f fc f3 a4 07 1f 24 0c 3c 0c ...$.<.u........>...6.......$.<.
42e60 75 0d 80 26 85 0f fb c7 06 80 0f 05 00 eb cf 3c 08 75 05 80 0e 85 0f 04 a1 94 0f 29 06 8e 0f 74 u..&...........<.u.........)...t
42e80 13 01 06 88 0f a1 96 0f 01 06 8a 0f c7 06 80 0f 01 00 eb aa bf 80 0f be 32 12 e8 b0 02 eb f3 e8 ........................2.......
42ea0 e9 03 e8 c8 00 80 26 85 0f fe f6 06 30 12 02 74 0c 8c c8 bb 30 12 ba 0a 00 ff 1e 84 00 80 26 30 ......&.....0..t....0.........&0
42ec0 12 fc c3 e8 ff 03 80 3e 84 0f 05 73 0c fe 06 84 0f c7 06 80 0f 00 00 eb b9 e8 af 03 2e 80 4f 14 .......>...s..................O.
42ee0 01 c7 06 80 0f 07 00 a1 9c 0f b3 02 a8 0c 75 1e b3 06 f6 c4 08 75 17 b3 04 f6 c4 30 75 10 b3 08 ..............u......u.....0u...
42f00 f6 c4 85 75 09 b3 00 f6 c4 02 75 02 b3 0c 06 c4 3e 32 12 8a c3 b4 81 26 89 45 03 07 e9 75 ff 2e ...u......u.....>2.....&.E...u..
42f20 80 3e b3 12 00 74 11 2e 80 3e b2 12 00 75 09 cd 32 9c 2e ff 1e ae 12 cf 2e f6 06 85 0f 01 74 05 .>...t...>...u..2.............t.
42f40 cd 32 e8 18 fe 50 b0 20 e6 20 58 cf 00 32 00 00 85 c0 75 02 f8 c3 2e f6 36 c5 19 84 e4 74 02 fe .2...P....X..2....u.....6....t..
42f60 c0 2e a2 c6 19 2e 80 0e c4 19 01 f9 c3 2e f6 06 c4 19 02 75 0c 2e c6 06 c7 19 14 2e 80 0e c4 19 ...................u............
42f80 02 2e c6 47 13 02 c3 2e 01 f6 06 c4 19 ff 75 01 cb 2e f6 06 c4 19 01 74 11 2e fe 0e c6 19 75 0a ...G..........u........t......u.
42fa0 2e 80 26 c4 19 fe e8 b5 fd cb 2e f6 06 c4 19 02 74 07 2e fe 0e c7 19 74 03 e9 8a 00 b3 14 2e 88 ..&.............t......t........
42fc0 1e c7 19 32 ed 33 ff 8b df 03 db 2e 8b 9f 26 10 2e f6 47 14 02 74 5d 2e 80 7f 13 00 74 56 2e fe ...2.3........&...G..t].....tV..
42fe0 4f 13 75 4e 2e 3b 3e 82 0f 75 21 2e f6 06 85 0f 01 74 19 2e c7 06 80 0f 09 00 2e c6 06 84 0f 05 O.uN.;>..u!......t..............
43000 2e c6 06 9c 0f 48 e8 55 fd eb 3b 90 2e 80 67 14 fd 8b c7 8a c8 80 c1 04 b0 01 d2 e0 2e 84 06 86 .....H.U..;...g.................
43020 0f 74 11 f6 d0 2e 20 06 86 0f ba f2 03 2e a0 86 0f ee fe c5 47 2e 3b 3e 44 12 75 8b 0a ed 75 06 .t..................G.;>D.u...u.
43040 2e 80 26 c4 19 fd cb 26 8b 47 12 89 44 0e 26 8b 47 0e 89 44 0a 26 8b 47 10 89 44 0c 26 8a 47 01 ..&....&.G..D.&.G..D.&.G..D.&.G.
43060 88 44 07 26 8b 47 14 03 45 11 89 44 08 80 64 05 03 26 80 7f 02 04 74 0f 80 4c 05 04 26 80 7f 02 .D.&.G..E..D..d..&....t..L..&...
43080 09 75 04 80 4c 05 08 c3 06 c4 4c 0a 89 4c 18 8c 44 1a 80 64 05 ef 07 8b 44 08 33 d2 f7 75 0d 88 .u..L.....L..L..D..d....D.3..u..
430a0 54 12 33 d2 f7 75 0f 88 54 13 89 44 10 8b 45 0d 2a 44 12 32 e4 3b 44 0e 72 03 8b 44 0e 89 44 14 T.3..u..T..D..E.*D.2.;D.r..D..D.
430c0 8b 44 1a b1 04 d3 e0 03 44 18 8b c8 8b 05 f7 64 14 89 44 16 03 c1 73 32 80 4c 05 20 ff 4c 14 75 .D......D......d..D...s2.L...L.u
430e0 eb ff 44 14 80 4c 05 10 8c c8 bf 2e 10 89 7c 18 89 44 1a f6 44 05 04 74 11 06 1e 56 8e c0 8b 4c ..D..L........|..D..D..t...V...L
43100 16 c5 74 0a fc f3 a4 5e 1f 07 c3 50 86 e0 0c 04 e6 0a e6 0c 58 50 0a c4 e6 0b ba 00 00 d0 c4 02 ..t....^...P........XP..........
43120 d4 8b 44 1a b1 04 d3 c0 8a e8 24 f0 03 44 18 80 d5 00 ee 8a c4 ee 42 8b 44 16 48 ee 8a c4 ee 58 ..D.......$..D........B.D.H....X
43140 b2 7f 02 d4 8a c5 24 0f ee 8a c4 e6 0a c3 0e 1f c6 45 04 00 c7 05 08 00 ba 02 00 ff 1e 84 00 74 ......$..........E.............t
43160 20 8b 45 0e 26 29 47 12 26 81 4f 03 00 01 8c c0 ba 0a 00 ff 1e 84 00 83 7c 02 00 74 04 c7 05 00 ..E.&)G.&.O.............|..t....
43180 00 f6 45 05 20 74 1c f6 06 01 31 12 02 74 0c 8c c8 bb 31 12 ba 0a 00 ff 1e 84 00 80 26 31 12 fc ..E..t....1..t....1.........&1..
431a0 80 65 05 df 53 83 3e 80 0f 08 75 18 83 3e a3 0f 08 75 11 c6 06 b2 12 00 8c d8 bb b2 12 ba 0a 00 .e..S.>...u..>...u..............
431c0 ff 1e 84 00 5b c3 50 53 51 52 8a cc 80 e1 f8 80 f9 f8 74 02 b4 fe 8a d8 32 ff 03 db 2e 8b bf 26 ....[.PSQR........t.....2......&
431e0 10 2e 3a 65 0a 74 40 b0 01 bb 08 40 b9 40 01 ba 01 01 f6 c4 02 75 07 fe c0 fe c3 83 c1 28 f6 c4 ..:e.t@....@.@.......u.......(..
43200 01 74 08 03 c9 b7 70 fe c6 fe c2 2e 88 75 02 2e 88 7d 06 2e 89 4d 08 2e 88 65 0a 2e 88 45 0b 2e .t....p......u...}...M...e...E..
43220 88 5d 0d 2e 88 55 0f 5a 59 5b 58 c3 53 8a d8 32 ff 03 db 2e 8b bf 2a 10 5b c3 9c fa 2e 80 3e b3 .]...U.ZY[X.S..2......*.[.....>.
43240 12 00 74 19 52 51 53 50 8c c8 bb b3 12 33 c9 ba 09 00 2e ff 1e 84 00 58 5b 59 5a eb de 2e c6 06 ..t.RQSP.....3.........X[YZ.....
43260 b2 12 01 9d c3 ba 22 03 ee 42 ee ba 21 03 ec 24 0f 3c 0d 75 f9 be bf 0f b9 06 00 fc 4a ac ee e2 ......"..B..!..$.<.u........J...
43280 fc 42 ec c3 ba 21 03 ec a8 01 74 f8 c3 2e 8b 1e 82 0f 03 db 2e 8b 9f 26 10 c3 1e 53 32 e4 8b d8 .B...!....t............&...S2...
432a0 33 c0 8e d8 c5 06 78 00 03 d8 8a 07 5b 1f c3 2e 80 67 14 fe 2e c7 47 16 ff ff b0 07 e8 80 01 2e 3.....x.....[....g....G.........
432c0 a1 82 0f e8 79 01 c3 2e a0 86 0f 24 f3 ba f2 03 ee b9 10 27 e2 fe 0c 0c 2e a2 86 0f ee c3 b0 03 ....y......$.......'............
432e0 e8 5c 01 b0 00 e8 b2 ff e8 54 01 b0 01 e8 aa ff e8 4c 01 c3 b0 08 e8 46 01 e8 54 01 50 e8 50 01 .\.......T.......L.....F..T.P.P.
43300 58 b1 06 d2 e8 25 03 00 c3 ba f2 03 2e 8a 0e 87 0f 32 ed 2e 80 3e 2e 12 00 74 02 8a cd 2e 3b 0e X....%...........2...>...t....;.
43320 82 0f 2e 89 0e 82 0f 75 15 80 c1 04 b0 01 d2 e0 2e 84 06 86 0f 74 07 2e a0 86 0f ee f8 c3 b0 fc .......u.............t..........
43340 2e 22 06 86 0f 0c 0c 2e 8a 0e 82 0f 0a c1 2e a2 86 0f 80 c1 04 b0 01 d2 e0 2e 84 06 86 0f 74 0c ."............................t.
43360 2e a0 86 0f ee b8 23 00 e8 e7 fb c3 2e 08 06 86 0f 2e a0 86 0f ee b0 0a e8 1f ff b1 7d f6 e1 e8 ......#.....................}...
43380 d0 fb c3 2e a1 90 0f 2e 3b 47 01 16 74 2b 2e 89 47 16 b0 0f e8 a9 00 2e a0 93 0f d0 e0 d0 e0 2e ........;G..t+..G...............
433a0 02 06 82 0f e8 99 00 2e a1 90 0f 2e f6 06 85 0f 02 74 02 03 c0 e8 88 00 f9 c3 b4 02 be 80 0f 2e .................t..............
433c0 f6 06 85 0f 04 75 09 b0 44 e8 41 fd b0 46 eb 07 b0 48 e8 38 fd b0 45 e8 66 00 2e a0 93 0f 02 c0 .....u..D.A..F...H.8..E.f.......
433e0 02 c0 2e 02 06 82 0f e8 56 00 2e a1 90 0f e8 4f 00 2e a0 93 0f e8 48 00 2e a0 92 0f fe c0 e8 3f ........V......O......H........?
43400 00 b0 03 e8 95 fe e8 37 00 b0 04 e8 8d fe e8 2f 00 b0 05 e8 85 fe e8 27 00 b0 06 e8 7d fe e8 1f .......7......./.......'....}...
43420 00 c3 06 57 0e 07 bf 9c 0f b9 07 00 e8 22 00 aa e2 fa 2e a0 9c 0f b1 06 d2 e8 25 03 00 5f 07 c3 ...W........."............%.._..
43440 50 ba f4 03 ec 24 c0 3c 80 75 f6 58 ba f5 03 ee c3 ba f4 03 ec 24 c0 3c c0 75 f6 ba f5 03 ec c3 P....$.<.u.X.........$.<.u......
43460 00 00 00 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 63 00 00 00 00 00 80 40 10 08 04 03 00 02 ..................c......@......
43480 06 04 04 08 00 0c 00 00 50 51 52 53 8a cc 80 e1 f8 80 f9 f8 74 02 b4 fe bf a1 21 2e 3a 06 e7 1e ........PQRS........t.....!.:...
434a0 74 4a 72 05 bf b4 21 eb 43 b0 01 bb 08 40 b9 40 01 ba 01 01 bf 66 1f f6 c4 02 75 07 fe c0 fe c3 tJr...!.C....@.@.....f....u.....
434c0 83 c1 28 f6 c4 01 74 08 03 c9 b7 70 fe c6 fe c2 2e 88 75 02 2e 88 7d 06 2e 89 4d 08 2e 88 65 0a ..(...t....p......u...}...M...e.
434e0 2e 88 45 0b 2e 88 5d 0d 2e 88 55 0f 5b 5a 59 58 c3 00 02 01 01 00 02 40 00 68 01 fc 02 00 09 00 ..E...]...U.[ZYX.......@.h......
43500 01 00 00 00 2e c6 06 e1 1e 02 f8 e3 1f 2e a2 8c 00 2e 89 26 fb 1e 87 df e8 6d ff 8b f2 03 f1 2e ...................&.....m......
43520 03 55 11 2e 3b 75 08 76 04 b0 08 f9 c3 2e 3a 06 e7 1e 72 0a 2e a0 a0 21 74 0f fe c0 eb 0b 2e 80 .U..;u.v......:...r....!t.......
43540 3e e3 1e 01 75 03 e8 79 01 2e a2 e8 1e 2e 89 0e e5 1e 92 33 d2 2e f7 75 0d fe c2 2e 88 16 ea 1e >...u..y...........3...u........
43560 2e 8b 4d 0f 33 d2 f7 f1 2e 88 16 e9 1e 2e a3 eb 1e 2e a1 e5 1e 8c c6 d1 e6 d1 e6 d1 e6 d1 e6 03 ..M.3...........................
43580 f3 81 c6 ff 01 72 1b 87 de d0 ef 01 b4 80 2a e7 87 de 3a e0 76 02 8a e0 50 8a c4 e8 47 00 58 2a .....r........*...:.v...P...G.X*
435a0 c4 74 1a 50 06 53 e8 16 00 80 c7 02 e8 5a 00 5b 07 58 e8 0a 00 fe c8 80 c7 02 e8 28 00 f8 c3 57 .t.P.S.......Z.[.X.........(...W
435c0 53 50 8b fb 80 c7 02 8b f3 fc b9 00 01 26 8b 1d 26 8b 04 26 89 1c ab 46 46 e2 f2 2e 80 36 e4 1e SP...........&..&..&...FF....6..
435e0 01 58 5b 5f c3 0a c0 74 fb 2e 8a 65 0d fe c4 2e 2a 26 ea 1e 3a e0 76 02 8a e0 50 8a c4 e8 0b 00 .X[_...t...e....*&..:.v...P.....
43600 58 2a c4 d0 e4 02 fc eb dc b0 01 be 05 00 2e 8a 26 e1 1e 50 2e 8b 16 eb 1e b1 06 d2 e6 2e 0a 36 X*..............&..P...........6
43620 ea 1e 8b ca 86 e9 2e 8b 16 e8 1e cd 13 72 49 58 50 2e 81 3e e1 1e 03 01 75 06 b4 04 cd 13 72 38 .............rIXP..>....u.....r8
43640 58 80 e1 3f 32 e4 2e 29 06 e5 1e 02 c8 2e 88 0e ea 1e 2e 3a 4d 0d 76 1f 2e c6 06 ea 1e 01 2e 8a X..?2..)...........:M.v.........
43660 36 e9 1e fe c6 2e 3a 75 0f 72 07 32 f6 2e ff 06 eb 1e 2e 88 36 e9 1e c3 50 b4 00 cd 13 58 4e 74 6.....:u.r.2........6...P....XNt
43680 08 80 fc 80 74 03 58 eb 8a 2e 80 3e e4 1e 00 74 06 5b 5b 07 e8 28 ff 0e 07 8a c4 2e a2 f3 1e b9 ....t.X....>...t.[[..(..........
436a0 07 00 bf ed 1e f2 ae 26 8a 45 06 2e 8b 0e e5 1e 2e 8b 26 fb 1e f9 c3 86 00 86 00 86 00 86 00 c1 .......&.E........&.............
436c0 02 d4 02 1e 33 f6 8e de 8a e0 86 26 04 05 3a c4 74 14 04 41 2e a2 7a 21 0e 1f be 5e 21 53 e8 8d ....3......&..:.t..A..z!...^!S..
436e0 e2 32 e4 cd 16 5b 1f 32 c0 c3 0d 0a 49 6e 73 65 72 74 20 64 69 73 6b 65 74 74 65 20 66 6f 72 20 .2...[.2....Insert.diskette.for.
43700 64 72 69 76 65 20 41 3a 20 61 6e 64 20 73 74 72 69 6b 65 0d 0a 61 6e 79 20 6b 65 79 20 77 68 65 drive.A:.and.strike..any.key.whe
43720 6e 20 72 65 61 64 79 0d 0a 0a 00 00 80 00 02 01 01 00 02 10 00 00 00 f8 01 00 00 00 00 00 00 00 n.ready.........................
43740 00 02 00 01 00 02 00 00 00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ba 00 10 8e d2 bc 00 ................................
43760 7c fb 51 2e 89 1e c9 21 50 b0 20 e6 20 be 15 02 e8 b9 02 be 03 02 e8 b3 02 be f1 01 e8 ad 02 be |.Q....!P.......................
43780 41 01 e8 ad 02 be 2f 01 e8 a7 02 33 01 d2 8e da 8e c2 8c c8 c7 06 78 00 22 05 8c 06 7a 00 bf 04 A...../....3..........x."...z...
437a0 00 bb 76 03 93 ab 93 ab 83 c7 04 93 ab 93 ab 93 ab 93 ab fa 83 c7 0c b9 0f 03 91 ab 91 ab 83 c7 ..v.............................
437c0 04 93 ab 93 ab 93 ab 93 ab 83 c7 18 8b 0d 2e 89 0e c9 03 8b 4d 02 2e 89 0e cb 03 b9 cd 03 91 ab ....................M...........
437e0 91 ab 83 c7 08 fb 93 ab 93 ab 83 c7 10 b9 77 03 91 ab 91 ab 83 c7 5c 93 ab 93 ab 89 16 00 05 89 ..............w.......\.........
43800 16 04 05 bf 22 05 b8 df 02 ab b8 25 02 ab b8 09 2a ab b8 ff 50 ab b8 f6 00 ab b0 02 aa 9c 2e ff ...."......%....*...P...........
43820 1e c9 03 b1 06 d3 e0 59 2e 89 0e c7 21 ba d6 02 8e da a3 0f 01 fe c1 88 0e 11 01 81 c2 00 01 89 .......Y....!...................
43840 16 05 01 c7 06 09 01 5e 02 c7 06 0b 01 f1 03 8c c8 a3 0d 01 0e 0e 1f 07 cd 11 24 c0 75 04 fe 06 .......^..................$.u...
43860 e3 1e 58 a2 e7 1e a2 e0 1e b4 08 b2 80 cd 13 72 04 88 16 9f 21 b2 80 bf a1 21 80 3e 9f 21 00 7e ..X............r....!....!.>.!.~
43880 41 e8 ba 00 b2 81 bf b4 21 72 09 80 3e 9f 21 02 74 14 eb 1b 88 16 a0 21 bf a1 21 fe 0e 9f 21 80 A.......!r..>.!.t......!..!...!.
438a0 3e 9f 21 00 74 1c e8 95 00 73 04 fe 0e 9f 21 a0 9f 21 0a c0 74 0c 02 06 e7 1e a2 e0 1e a0 9f 21 >.!.t....s....!..!..t..........!
438c0 eb 07 80 3e e3 1e 01 eb 02 fe c8 0e 1f e8 3d 00 33 ff 26 8a 05 a2 c8 21 a1 c7 21 e8 ac fb 8a 4d ...>..........=.3.&....!..!....M
438e0 02 8b 45 11 29 06 c9 21 32 ed 1e 33 ff 8e df 8b 1e 3a 05 1f b8 d6 02 05 00 01 8e c0 e8 d6 00 81 ..E.)..!2..3.....:..............
43900 fb ff 0f 75 ef e8 75 01 ea 00 01 d6 02 33 ff b9 01 00 8b d1 b8 c0 17 8e c0 a0 c7 21 b4 fc e9 e5 ...u..u......3.............!....
43920 fb b9 01 00 b8 01 02 bb c0 17 8e c3 33 db 8a f7 cd 13 72 34 26 81 3e fe 01 55 aa 75 2b c3 52 b4 ............3.....r4&.>..U.u+.R.
43940 08 cd 13 fe c6 88 75 0f 5a 72 1d 80 e1 3f 88 4d 0d e8 cd ff 72 12 bb c2 01 26 80 3f 01 74 0b 83 ......u.Zr...?.M....r....&.?.t..
43960 c3 10 81 fb 02 02 75 f1 f9 c3 26 8b 47 04 89 45 11 26 8b 47 08 3d 40 00 72 ee 89 45 08 b9 00 01 ......u...&.G..E.&.G.=@.r..E....
43980 ba 40 00 3d 00 02 76 29 02 ed fe c1 ba 05 1e 00 09 02 01 02 03 04 05 06 07 08 09 01 70 00 3d 00 .@.=..v)....................p.=.
439a0 08 76 1d 02 ed fe c1 ba 00 01 3d 00 20 76 11 02 ed fe c1 03 d2 3d a8 7f 76 06 02 ed fe c1 03 d2 .v........=..v.......=..v.......
439c0 89 55 06 88 6d 02 33 db 8a dd 4b 03 d8 d3 eb 43 80 e3 fe 8b f3 d1 eb 03 de 81 c3 ff 01 d0 ef 88 .U..m.3...K....C................
439e0 7d 0b f8 c3 51 57 89 0e cb 21 8b c3 48 48 f7 e1 03 06 c9 21 8b d0 e8 25 00 2b f3 83 fe ff 75 06 }...QW...!..HH.....!...%.+....u.
43a00 01 0e cb 21 eb f0 53 a1 c7 21 8b 0e cb 21 e8 04 fb 5b 5f a1 cb 21 86 e0 d1 e0 03 f8 59 c3 1e 53 ...!..S..!...!...[_..!......Y..S
43a20 be c0 17 8e de 8b f3 d1 ee 8b 18 73 08 d1 eb d1 eb d1 eb d1 eb 81 e3 ff 0f 5e 1f c3 b7 01 b2 17 ...........s.............^......
43a40 eb 05 bb a3 00 b2 14 2e 88 16 bc 24 2e 8a 44 0d 2c 31 98 8b d0 8b c3 cd 17 c3 00 00 2d 2d 2d 20 ...........$..D.,1..........---.
43a60 49 6e 73 74 61 6c 6c 69 6e 67 20 4d 54 43 4f 4e 20 44 65 76 69 63 65 20 44 72 69 76 65 72 20 56 Installing.MTCON.Device.Driver.V
43a80 31 2e 30 38 20 2d 2d 2d 0d 0a 24 00 0e 1f cd 11 d0 c0 d0 c0 24 03 75 06 fe 06 2e 12 fe c0 fe c0 1.08.---..$.........$.u.........
43aa0 a2 44 12 b4 08 b2 80 cd 13 72 14 88 16 50 12 84 d2 74 0c 80 3e 44 12 02 76 05 c6 06 44 12 02 b2 .D.......r...P...t..>D..v...D...
43ac0 80 bf f6 0f 80 3e 50 12 00 7e 2a e8 8c 00 b2 81 bf 0e 10 72 09 80 3e 50 12 02 74 10 eb 17 bf f6 .....>P..~*........r..>P..t.....
43ae0 0f fe 0e 50 12 80 3e 50 12 00 74 09 e8 6b 00 73 04 fe 0e 50 12 80 3e 50 12 00 75 06 a1 46 12 a3 ...P..>P..t..k.s...P..>P..u..F..
43b00 3a 12 06 33 c0 8e c0 26 a1 4c 00 a3 a6 12 b8 7f 15 26 a3 4c 00 26 a1 4e 00 a3 a8 12 26 8c 0e 4e :..3...&.L.......&.L.&.N....&..N
43b20 00 26 a1 34 00 a3 aa 12 26 a1 36 00 a3 ac 12 26 a1 38 00 a3 ae 12 26 a1 3a 00 a3 b0 12 07 c3 b9 .&.4....&.6....&.8....&.:.......
43b40 01 00 b8 01 02 0e 07 bb 2e 10 32 f6 cd 13 72 34 26 81 bf fe 01 55 aa 75 2b c3 52 b4 08 cd 13 fe ..........2...r4&....U.u+.R.....
43b60 c6 88 75 0f 5a 72 1d 80 e1 3f 88 4d 0d e8 cf ff 72 12 81 c3 c2 01 b9 04 00 26 80 3f 01 74 07 83 ..u.Zr...?.M....r........&.?.t..
43b80 c3 10 e2 f5 f9 c3 26 8b 47 04 89 45 11 26 8b 47 08 3d 40 00 72 ee 89 45 08 b9 00 01 01 ba 40 00 ......&.G..E.&.G.=@.r..E......@.
43ba0 3d 00 02 76 29 02 ed fe c1 ba 70 00 3d 00 08 76 1d 02 ed fe c1 ba 00 01 3d 00 20 76 11 02 ed fe =..v).....p.=..v........=..v....
43bc0 c1 03 d2 3d a8 7f 76 06 02 ed fe c1 03 d2 89 55 06 88 6d 02 33 db 8a dd 4b 03 d8 d3 eb 43 80 e3 ...=..v........U..m.3...K....C..
43be0 fe 8b f3 d1 eb 03 de 81 c3 ff 01 d0 ef 88 7d 0b c6 45 0a f8 f8 c3 00 00 00 00 00 00 00 00 00 00 ..............}..E..............
43c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e9 84 01 ................................
43d00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 02 08 02 00 50 00 00 00 00 00 00 00 00 00 00 00 00 ...................P............
43d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 01 d6 02 11 01 d6 02 34 01 d6 02 ............................4...
43d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 ................................
43d60 00 00 00 00 00 00 00 00 00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 07 00 07 00 07 00 07 00 ................................
43d80 07 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 ................................
43da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e80 00 00 00 00 00 fc 33 f6 8b fe 2e 8b 0e 0f 01 83 f9 01 75 1d b9 00 08 33 db 41 74 10 8e d9 8a 07 ......3...........u....3.At.....
43ea0 f6 d0 88 07 3a 07 f6 d0 88 07 74 ed 2e 89 0e 0f 01 8c c8 8e d8 a1 09 01 8e c0 8c c9 8b 16 0f 01 ....:.....t.....................
43ec0 c5 36 0b 01 b8 ec 09 d1 e8 8b d8 83 c3 07 d1 eb d1 eb d1 eb fa 8e d1 bc dd 02 fb 36 ff 1e 03 01 .6.........................6....
43ee0 0e 1f 8c 06 05 01 89 3e 03 01 a3 47 01 89 1e 49 01 89 0e 53 01 89 16 55 01 fb fc ba d0 08 b8 24 .......>...G...I...S...U.......$
43f00 25 cd 21 8a 16 11 01 0a d2 74 06 fe ca b4 0e cd 21 e8 94 00 0e 1f a0 13 01 98 8b c8 33 db b4 3e %.!......t......!...........3..>
43f20 cd 21 bb 02 00 b4 3e cd 21 43 e2 f9 ba ec 08 b0 42 b4 3d f9 cd 21 73 05 e8 4f 05 eb 13 50 bb 01 .!....>.!C......B.=..!s..O...P..
43f40 00 b4 3e cd 21 58 8b d8 b4 45 cd 21 b4 45 cd 21 ba f5 08 b0 42 e8 55 05 ba fe 08 b0 41 e8 4d 05 ..>.!X...E.!.E.!....B.U.....A.M.
43f60 be 15 01 8b fe 1e 07 b1 ff fe c1 ac aa 0a c0 75 f8 4f b0 0d aa 88 0e 14 01 b4 69 8b 1e 47 01 8b ...............u.O........i..G..
43f80 0e 49 01 cd 21 ba 13 09 bb 35 01 8c 4f 04 8c 4f 08 8c 4f 0c b8 04 4b f9 cd 21 72 04 b4 00 01 cd .I..!....5..O..O..O...K..!r.....
43fa0 21 ba be 09 e8 e4 04 eb fe 0e 1f b8 00 37 cd 21 88 16 15 01 ba 07 09 b8 00 3d f9 cd 21 72 03 e8 !............7.!.........=..!r..
43fc0 8a 00 0e 1f a0 13 01 2c 05 76 38 98 50 b3 32 f6 e3 8b d0 05 17 00 b1 04 d3 e8 e8 64 00 58 c5 3e .......,.v8.P.2............d.X.>
43fe0 03 01 c5 bd 04 00 c7 05 00 00 8c 45 02 26 c7 06 00 00 ff ff 26 a3 04 00 8b ca bf 06 00 33 c0 f3 ...........E.&......&........3..
44000 aa 0e 1f fe 0e 12 01 74 37 1e c5 1e 03 01 8b 87 15 00 05 1f 00 b1 04 d3 e8 e8 25 00 8b 87 17 00 .......t7.................%.....
44020 26 a3 00 00 8b 87 19 00 26 a3 02 00 c7 87 17 00 00 00 8c 87 19 00 26 c7 06 04 00 ff 00 1f eb c3 &.......&.............&.........
44040 c3 36 8e 06 47 01 36 01 06 47 01 c3 8b d8 33 c9 33 d2 b8 02 42 cd 21 a3 43 01 33 d2 b8 00 42 cd .6..G.6..G....3.3...B.!.C.3...B.
44060 21 a1 43 01 05 0f 00 b1 04 d3 e8 8b 0e 49 01 2b c8 8e d9 8c d8 8e c0 33 d2 36 8b 0e 43 01 b4 3f !.C..........I.+.......3.6..C..?
44080 f9 cd 21 9c 0e 1f 50 b4 3e cd 21 58 9d 72 04 3b c8 74 10 ba 07 09 e8 f2 03 c3 ba 64 09 e8 09 04 ..!...P.>.!X.r.;.t.........d....
440a0 eb 3a 90 e8 d9 02 e8 b9 02 72 ee 8a e0 e8 b2 02 80 fc 42 75 0a e8 95 03 74 22 a2 12 01 eb 1d 80 .:.......r........Bu....t"......
440c0 fc 43 74 03 eb 26 90 3c 4f 75 11 e8 94 02 72 c9 3c 4e 75 08 b4 33 b0 01 8a d0 cd 21 0e 1f e8 81 .Ct..&.<Ou....r.<Nu..3.....!....
440e0 02 72 c6 3c 0a 75 f7 e8 78 02 eb bd 80 fc 44 74 03 e9 d6 01 8c cb 8e db 89 36 69 01 8c 06 6b 01 .r.<.u..x.....Dt.........6i...k.
44100 8b 0e 47 01 33 c0 a3 07 01 89 0e 09 01 89 0e 4b 01 89 0e 4d 01 06 1f 8b d6 8c cb 8e c3 bb 4b 01 ..G.3..........K...M..........K.
44120 b0 03 b4 4b f9 cd 21 1e 07 0e 1f 73 05 e8 5f 03 eb aa 06 56 c4 36 03 01 26 8b 84 08 00 a3 65 01 ...K..!....s.._....V.6..&.....e.
44140 26 8b 84 0a 00 a3 67 01 0e 07 bb 06 00 e8 da 02 bb 08 00 e8 d4 02 0e 1f a1 65 01 25 f0 ff 31 06 &.....g..................e.%..1.
44160 65 01 d1 e8 d1 e8 d1 e8 d1 e8 01 06 67 01 a1 67 01 3b 06 0f 01 72 04 5e 07 eb b2 2b 06 47 01 83 e...........g..g.;...r.^...+.G..
44180 3e 65 01 00 74 01 40 8b 16 47 01 01 06 47 01 2e c5 36 07 01 2e c4 3e 03 01 8b 44 04 a9 00 80 01 >e..t.@..G...G...6....>...D.....
441a0 75 03 eb 22 90 a9 01 00 74 0a 26 89 b5 10 00 26 8c 9d 12 00 a9 08 00 74 0a 26 89 b5 0c 00 26 8c u.."....t.&....&.......t.&....&.
441c0 9d 0e 00 e9 d1 00 2e a0 64 01 0a c0 75 0b 2e 89 16 47 01 b8 ff ff e9 e7 00 98 8b c8 8a f4 26 8a ........d...u....G............&.
441e0 95 14 00 26 00 85 14 00 b3 1f f6 e3 05 0f 00 d1 e8 d1 e8 d1 e8 d1 e8 36 8b 1e 47 01 36 01 06 47 ...&...................6..G.6..G
44200 01 2e c7 06 4f 01 00 00 2e 89 1e 51 01 2e c5 1e 69 01 2e c4 2e 03 01 26 c4 ae 00 00 26 83 7e 18 ....O......Q....i......&....&.~.
44220 ff 74 06 26 c4 6e 18 eb f3 36 a1 4f 01 26 89 46 18 36 a1 51 01 26 89 46 1a 36 c4 2e 4f 01 36 83 .t.&.n...6.O.&.F.6.Q.&.F.6..O.6.
44240 06 4f 01 1f 26 c7 46 18 ff ff 26 c6 46 17 ff 26 c6 46 1e 00 8b 37 43 43 26 89 56 00 b4 53 cd 21 .O..&.F...&.F..&.F...7CC&.V..S.!
44260 26 8b 46 02 06 2e c4 3e 03 01 26 3b 85 15 00 07 76 0b 5e 07 ba 8b 09 e8 19 02 e9 60 fe 1e 52 2e &.F....>..&;....v.^........`..R.
44280 c5 16 07 01 26 89 56 12 26 8c 5e 14 5a 1f 42 fe c6 49 74 03 e9 7b ff 2e c4 3e 03 01 26 8b 8d 1b ....&.V.&.^.Z.B..It..{...>..&...
442a0 00 26 8b 95 1d 00 2e c5 36 07 01 26 89 b5 1b 00 26 8c 9d 1d 00 8b 04 2e a3 07 01 89 0c 89 54 02 .&......6..&....&.............T.
442c0 5e 07 40 74 03 e9 6b fe e9 12 fe 80 fc 46 75 0b e8 7b 01 74 f3 36 a2 13 01 eb ed 80 fc 51 75 16 ^.@t..k......Fu..{.t.6.......Qu.
442e0 e8 6b 01 74 e3 b4 38 ba ff ff cd 21 73 da ba d2 09 e8 b6 01 eb d2 80 fc 57 75 0f 8a d0 b8 01 37 .k.t..8....!s...........Wu.....7
44300 36 88 16 15 01 cd 21 e9 d3 fd 80 fc 41 75 0e 3c 46 75 07 b8 03 37 32 d2 cd 21 e9 c0 fd 80 fc 53 6.....!.....Au.<Fu...72..!.....S
44320 75 2c 36 c6 06 15 01 00 bf 14 09 88 45 ff e8 32 00 0a c0 74 1c 3c 20 72 05 88 05 47 eb f0 c6 05 u,6.........E..2...t.<.r...G....
44340 00 e8 1f 00 3c 0a 75 03 e8 18 00 e9 5c fd e9 4a fd c6 05 00 bf 15 01 e8 09 00 3c 20 72 e0 88 05 ....<.u.....\..J..........<.r...
44360 47 eb f4 36 8b 0e 43 01 e3 14 36 8b 36 45 01 26 8a 04 36 ff 0e 43 01 36 ff 06 45 01 f8 c3 f9 c3 G..6..C...6.6E.&..6..C.6..E.....
44380 8b 0e 43 01 e3 f8 e8 87 00 33 f6 8b fe e8 54 00 3c 20 72 f9 51 56 57 8b ee 4d be 20 09 b5 00 8b ..C......3....T.<.r.QVW..M......
443a0 01 fd 8a 0c 46 b0 5a e3 09 f3 a6 9f 03 f1 9e ac 75 ee 5f 5e 59 aa e8 24 00 e8 36 00 75 f8 e8 24 ....F.Z.........u._^Y..$..6.u..$
443c0 00 aa e8 18 00 aa 3c 20 77 f8 3c 0a 74 c0 26 c6 45 ff 00 e8 07 00 aa 3c 0a 75 f8 eb b1 e3 26 26 ......<.w.<.t.&.E......<.u....&&
443e0 8a 04 46 49 c3 e3 1e 26 8a 04 46 49 e8 03 00 74 f4 c3 3c 20 74 0e 3c 09 74 0a 3c 3d 74 06 3c 2c ..FI...&..FI...t..<.t.<.t.<=t.<,
44400 74 02 3c 3b c3 59 89 3e 43 01 33 f6 89 36 45 01 c3 51 56 1e 06 1f 33 f6 ac 3c 61 72 09 3c 7a 77 t.<;.Y.>C.3..6E..QV...3..<ar.<zw
44420 05 2c 20 88 44 ff e2 f0 1f 5e 59 c3 2e 8e 1e 09 01 2e 03 1e 07 01 8b 07 2e ff 36 07 01 2e a3 07 .,..D....^Y...............6.....
44440 01 bb 57 01 36 ff 1e 07 01 2e 8f 06 07 01 c3 2c 30 72 36 3c 09 77 32 8a e0 e8 08 ff 72 0e 0a c0 ..W.6..........,0r6<.w2.....r...
44460 75 0e 36 ff 06 43 01 36 ff 0e 45 01 8a c4 eb 16 2c 30 72 15 3c 09 77 11 86 c4 8a f8 02 c0 02 c0 u.6..C.6..E.....,0r.<.w.........
44480 02 c7 02 c0 02 c4 0a c0 c3 58 e9 0f fc 0e 07 8b f2 ba ac 09 0e 1f b4 09 cd 21 26 8a 14 0a d2 74 .........X...............!&....t
444a0 07 b4 02 cd 21 46 eb f2 ba 88 09 b4 09 cd 21 c3 e8 18 00 72 0f 33 c0 b4 44 cd 21 f6 c2 80 75 0a ....!F........!....r.3..D.!...u.
444c0 b4 3e cd 21 ba e3 08 e8 01 00 c3 b4 3d f9 cd 21 c3 83 c4 06 58 5b 59 5a 5e 5f 5d 1f 07 50 b4 19 .>.!........=..!....X[YZ^_]..P..
444e0 cd 21 58 cf 5c 44 45 56 5c 4e 55 4c 00 5c 44 45 56 5c 43 4f 4e 00 5c 44 45 56 5c 41 55 58 00 5c .!X.\DEV\NUL.\DEV\CON.\DEV\AUX.\
44500 44 45 56 5c 50 52 4e 00 5c 43 4f 4e 46 49 47 2e 53 59 53 00 5c 43 4f 4d 4d 41 4e 44 2e 43 4f 4d DEV\PRN.\CONFIG.SYS.\COMMAND.COM
44520 00 07 42 55 46 46 45 52 53 42 05 42 52 45 41 4b 43 05 53 48 45 4c 4c 53 06 44 45 56 49 43 45 44 ..BUFFERSB.BREAKC.SHELLS.DEVICED
44540 05 46 49 4c 45 53 46 08 53 57 49 54 43 48 41 52 57 08 41 56 41 49 4c 44 45 56 41 07 43 4f 55 4e .FILESF.SWITCHARW.AVAILDEVA.COUN
44560 54 52 59 51 00 0d 0a 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 43 TRYQ...Unrecognized.command.in.C
44580 4f 4e 46 49 47 2e 53 59 53 0d 0a 24 0d 0a 53 65 63 74 6f 72 20 73 69 7a 65 20 74 6f 6f 20 6c 61 ONFIG.SYS..$..Sector.size.too.la
445a0 72 01 67 65 20 69 6e 20 66 69 6c 65 20 24 0d 0a 42 61 64 20 6f 72 20 6d 69 73 73 69 6e 67 20 24 r.ge.in.file.$..Bad.or.missing.$
445c0 43 6f 6d 6d 61 6e 64 20 49 6e 74 65 72 70 72 65 74 65 72 00 0d 0a 49 6e 76 61 6c 69 64 20 63 6f Command.Interpreter...Invalid.co
445e0 75 6e 74 72 79 20 63 6f 64 65 0d 0a 24 6f 75 6e 74 20 72 65 61 64 20 6c 65 73 73 20 74 68 61 6e untry.code..$ount.read.less.than
44600 20 73 69 7a 65 20 69 6e 20 68 65 61 64 65 72 2e 0d 0a 24 00 00 00 00 00 cd 00 21 00 00 00 00 00 .size.in.header...$.......!.....
44620 00 00 44 45 42 55 47 20 20 20 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 87 9e 53 07 0d 00 bf 2f ..DEBUG...COM.............S..../
44640 00 00 45 58 45 32 42 49 4e 20 45 58 45 00 00 00 00 00 00 00 00 00 00 00 25 00 21 00 00 00 00 00 ..EXE2BIN.EXE...........%.!.....
44660 00 00 43 48 4b 44 53 4b 20 20 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 66 9e 53 07 11 00 44 19 ..CHKDSK..COM...........f.S...D.
44680 00 00 45 44 4c 49 4e 20 20 20 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 65 9e 53 07 13 00 90 1f ..EDLIN...COM...........e.S.....
446a0 00 00 50 52 49 4e 54 20 20 20 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 63 5c 62 08 15 00 9a 11 ..PRINT...COM...........c\b.....
446c0 00 00 52 45 43 4f 56 45 52 20 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 75 9e 53 07 17 00 f7 08 ..RECOVER.COM...........u.S.....
446e0 00 00 53 59 53 20 20 20 20 20 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 e8 7a 3e 08 18 00 59 07 ..SYS.....COM............z>...Y.
44700 00 00 4d 4f 52 45 20 20 20 20 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 77 9e 53 07 19 00 0c 11 ..MORE....COM...........w.S.....
44720 00 00 44 49 53 4b 43 4f 50 59 43 4f 4d 20 00 00 00 00 00 00 00 00 00 00 77 07 3e 08 1b 00 a7 06 ..DISKCOPYCOM...........w.>.....
44740 00 00 4c 49 4e 4b 20 20 20 20 45 58 45 20 00 00 00 00 00 00 00 00 00 00 98 84 26 06 1c 00 80 a5 ..LINK....EXE.............&.....
44760 00 00 53 4f 52 54 20 20 20 20 45 58 45 20 00 00 00 00 00 00 00 00 00 00 ae 66 3b 08 27 00 60 06 ..SORT....EXE............f;.'.`.
44780 00 00 46 49 4e 44 20 20 20 20 45 58 45 20 00 00 00 00 00 00 00 00 00 00 6a 9e 53 07 28 00 bb 18 ..FIND....EXE...........j.S.(...
447a0 00 00 02 f6 02 f6 05 1e 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 ................................
447c0 02 f6 02 f6 02 f6 05 1f 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 ................................
447e0 02 f6 02 f6 02 f6 05 1f 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 ................................
44800 02 f6 02 f6 02 f6 05 20 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 ................................
44820 02 f6 02 f6 02 f6 05 20 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 ................................
44840 02 f6 02 f6 02 f6 05 21 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......!........................
44860 02 f6 02 f6 02 f6 05 21 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......!........................
44880 02 f6 02 f6 02 f6 05 22 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 ......."........................
448a0 02 f6 02 f6 02 f6 05 22 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 ......."........................
448c0 02 f6 02 f6 02 f6 05 23 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......#........................
448e0 02 f6 02 f6 02 f6 05 23 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......#........................
44900 02 f6 02 f6 02 f6 05 24 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......$........................
44920 02 f6 02 f6 02 f6 05 24 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......$........................
44940 02 f6 02 f6 02 f6 05 25 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......%........................
44960 02 f6 02 f6 02 f6 05 25 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......%........................
44980 02 f6 02 f6 02 f6 05 26 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......&........................
449a0 02 f6 02 f6 02 f6 05 26 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......&........................
449c0 02 f6 02 f6 02 f6 05 27 00 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......'........................
449e0 02 f6 02 f6 02 f6 05 27 01 09 02 01 02 03 04 05 06 07 08 09 02 f6 02 f6 02 f6 02 f6 02 f6 02 f6 .......'........................
44a00 02 f6 02 f6 02 f6 ......