home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: ARJ Archive
(archive/arj).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| ARJ Archive (archive/arj)
| magic
| Supported |
100%
| file
| ARJ archive data, v6, slash-switched, created 22 jul 1980+17, original name: TEMPLATE.ARJ, os: MS-DOS
| default
| |
99%
| file
| data
| default
| |
66%
| TrID
| ARJ compressed archive (standard)
| default
| |
33%
| TrID
| ARJ compressed archive
| default
| |
100%
| dearkID
| deark: arj (ARJ)
| default
| |
100%
| siegfried
| fmt/610 ARJ File Format
| default
| |
100%
| lsar
| ARJ
| default
| |
100%
| gt2
| ARJ Archiv gefunden (Auflistung ist deaktiviert)
| default
| |
100%
| detectItEasy
| Archive: ARJ(6)
| default
| |
100%
| binwalkID
| ARJ archive data, header size: 133, version 6, minimum version to extract: 1, slash-switched, compression method: stored, file type: comment header, original name: "TEMPLATE.ARJ", original file date: 1988-08-03 03:31:27, compressed file size: 586582287, uncompressed file size: 0, os: MS-DOS
| default
| |
100%
| xdgMime
| application/x-arj
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 60 ea 85 00 1e 06 01 00 | 10 00 02 0f 0f 89 f6 22 |`.......|......."|
|00000010| 0f 89 f6 22 00 00 00 00 | 00 00 00 00 00 00 00 00 |..."....|........|
|00000020| 00 00 54 45 4d 50 4c 41 | 54 45 2e 41 52 4a 00 0a |..TEMPLA|TE.ARJ..|
|00000030| 20 20 20 20 41 72 63 68 | 69 76 65 20 46 72 6f 6d | Arch|ive From|
|00000040| 0a 20 48 20 41 20 43 20 | 4b 20 45 20 52 27 73 20 |. H A C |K E R's |
|00000050| 20 20 43 20 44 0a 20 20 | 20 20 20 43 72 65 61 74 | C D. | Creat|
|00000060| 65 64 20 42 79 0a 20 20 | 57 68 69 74 65 20 45 61 |ed By. |White Ea|
|00000070| 67 6c 65 20 5b 52 43 44 | 5d 0a 20 20 20 20 20 20 |gle [RCD|]. |
|00000080| 20 20 31 39 39 37 0a 0a | 00 2e 2f 33 93 00 00 60 | 1997..|../3...`|
|00000090| ea 2c 00 1e 06 01 00 10 | 00 00 0f 00 08 21 18 54 |.,......|.....!.T|
|000000a0| 10 01 00 54 10 01 00 67 | 41 9b 8d 00 00 20 00 00 |...T...g|A.... ..|
|000000b0| 00 54 45 4d 50 4c 41 54 | 45 2e 41 53 4d 00 00 f1 |.TEMPLAT|E.ASM...|
|000000c0| 58 32 31 00 00 20 20 20 | 20 20 20 20 20 20 20 20 |X21.. | |
|000000d0| 20 20 20 20 20 70 61 67 | 65 20 20 20 20 36 36 2c | pag|e 66,|
|000000e0| 31 33 32 0d 0a 3b 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |132..;==|========|
|000000f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000100| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000110| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000120| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000130| 3d 3d 3d 0d 0a 3b 20 54 | 45 4d 50 4c 41 54 45 20 |===..; T|EMPLATE |
|00000140| 2d 20 41 20 74 65 6d 70 | 6c 61 74 65 20 66 6f 72 |- A temp|late for|
|00000150| 20 61 20 54 65 72 6d 69 | 6e 61 74 65 20 61 6e 64 | a Termi|nate and|
|00000160| 20 73 74 61 79 20 72 65 | 73 69 64 65 6e 74 20 70 | stay re|sident p|
|00000170| 72 6f 67 72 61 6d 0d 0a | 3b 0d 0a 3b 20 57 72 69 |rogram..|;..; Wri|
|00000180| 74 74 65 6e 20 62 79 20 | 44 6f 75 67 6c 61 73 20 |tten by |Douglas |
|00000190| 42 6f 6c 69 6e 67 0d 0a | 3b 0d 0a 3b 20 52 65 76 |Boling..|;..; Rev|
|000001a0| 69 73 69 6f 6e 20 48 69 | 73 74 6f 72 79 0d 0a 3b |ision Hi|story..;|
|000001b0| 0d 0a 3b 20 20 20 20 31 | 2e 30 20 20 20 49 6e 69 |..; 1|.0 Ini|
|000001c0| 74 69 61 6c 20 52 65 6c | 65 61 73 65 0d 0a 3b 0d |tial Rel|ease..;.|
|000001d0| 0a 3b 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.;======|========|
|000001e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000001f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000200| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000210| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00000220| 0a 3b 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.;------|--------|
|00000230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0a |--------|------..|
|00000270| 3b 20 42 49 4f 53 20 44 | 61 74 61 20 73 65 67 6d |; BIOS D|ata segm|
|00000280| 65 6e 74 0d 0a 3b 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ent..;--|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002d0| 2d 2d 0d 0a 62 69 6f 73 | 5f 64 61 74 61 20 20 20 |--..bios|_data |
|000002e0| 20 20 20 20 73 65 67 6d | 65 6e 74 20 61 74 20 34 | segm|ent at 4|
|000002f0| 30 68 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |0h.. | |
|00000300| 20 20 20 20 6f 72 67 20 | 20 20 20 20 31 37 68 0d | org | 17h.|
|00000310| 0a 73 68 69 66 74 5f 73 | 74 61 74 65 20 20 20 20 |.shift_s|tate |
|00000320| 20 64 62 20 20 20 20 20 | 20 3f 20 20 20 20 20 20 | db | ? |
|00000330| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000340| 20 3b 53 74 61 74 65 20 | 6f 66 20 6b 65 79 62 6f | ;State |of keybo|
|00000350| 61 72 64 20 73 68 69 66 | 74 20 6b 65 79 73 0d 0a |ard shif|t keys..|
|00000360| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000370| 6f 72 67 20 20 20 20 20 | 34 45 68 0d 0a 76 69 64 |org |4Eh..vid|
|00000380| 65 6f 5f 62 75 66 66 6f | 66 66 20 20 20 64 77 20 |eo_buffo|ff dw |
|00000390| 20 20 20 20 20 3f 20 20 | 20 20 20 20 20 20 20 20 | ? | |
|000003a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 4f 66 | | ;Of|
|000003b0| 66 73 65 74 20 6f 66 20 | 76 69 64 65 6f 20 62 75 |fset of |video bu|
|000003c0| 66 66 65 72 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ffer.. | |
|000003d0| 20 20 20 20 20 20 6f 72 | 67 20 20 20 20 20 36 33 | or|g 63|
|000003e0| 68 0d 0a 76 69 64 65 6f | 5f 69 6f 72 65 67 73 20 |h..video|_ioregs |
|000003f0| 20 20 20 64 77 20 20 20 | 20 20 20 3f 20 20 20 20 | dw | ? |
|00000400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000410| 20 20 20 3b 49 2f 4f 20 | 61 64 64 72 20 6f 66 20 | ;I/O |addr of |
|00000420| 76 69 64 65 6f 20 63 6f | 6e 74 72 6f 6c 6c 65 72 |video co|ntroller|
|00000430| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00000440| 20 20 6f 72 67 20 20 20 | 20 20 38 34 68 0d 0a 76 | org | 84h..v|
|00000450| 69 64 65 6f 5f 72 6f 77 | 73 20 20 20 20 20 20 64 |ideo_row|s d|
|00000460| 62 20 20 20 20 20 20 3f | 20 20 20 20 20 20 20 20 |b ?| |
|00000470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00000480| 4e 75 6d 62 65 72 20 6f | 66 20 72 6f 77 73 20 6f |Number o|f rows o|
|00000490| 6e 20 74 68 65 20 73 63 | 72 65 65 6e 0d 0a 62 69 |n the sc|reen..bi|
|000004a0| 6f 73 5f 64 61 74 61 20 | 20 20 20 20 20 20 65 6e |os_data | en|
|000004b0| 64 73 0d 0a 3b 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ds..;---|--------|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000500| 2d 0d 0a 3b 20 43 4f 44 | 45 20 73 65 67 6d 65 6e |-..; COD|E segmen|
|00000510| 74 0d 0a 3b 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |t..;----|--------|
|00000520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000560| 0d 0a 63 6f 64 65 20 20 | 20 20 20 20 20 20 20 20 |..code | |
|00000570| 20 20 73 65 67 6d 65 6e | 74 20 70 61 72 61 20 70 | segmen|t para p|
|00000580| 75 62 6c 69 63 20 27 63 | 6f 64 65 27 0d 0a 20 20 |ublic 'c|ode'.. |
|00000590| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 61 73 | | as|
|000005a0| 73 75 6d 65 20 20 63 73 | 3a 63 6f 64 65 0d 0a 0d |sume cs|:code...|
|000005b0| 0a 50 4f 50 54 49 4d 45 | 20 20 20 20 20 20 20 20 |.POPTIME| |
|000005c0| 20 45 51 55 20 20 20 20 | 20 31 38 20 20 20 20 20 | EQU | 18 |
|000005d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005e0| 20 3b 54 69 63 6b 73 20 | 61 6c 6c 6f 77 65 64 20 | ;Ticks |allowed |
|000005f0| 75 6e 74 69 6c 20 70 6f | 70 75 70 0d 0a 52 45 53 |until po|pup..RES|
|00000600| 53 54 41 43 4b 53 49 5a | 45 20 20 20 20 45 51 55 |STACKSIZ|E EQU|
|00000610| 20 20 20 20 20 35 31 32 | 20 20 20 20 20 20 20 20 | 512| |
|00000620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 53 69 | | ;Si|
|00000630| 7a 65 20 6f 66 20 72 65 | 73 69 64 65 6e 74 20 73 |ze of re|sident s|
|00000640| 74 61 63 6b 0d 0a 0d 0a | 20 20 20 20 20 20 20 20 |tack....| |
|00000650| 20 20 20 20 20 20 20 20 | 6f 72 67 20 20 20 20 20 | |org |
|00000660| 38 30 68 0d 0a 63 6f 6d | 6d 61 6e 64 5f 74 61 69 |80h..com|mand_tai|
|00000670| 6c 20 20 20 20 64 62 20 | 20 20 20 20 20 3f 0d 0a |l db | ?..|
|00000680| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000690| 6f 72 67 20 20 20 20 20 | 31 30 30 68 0d 0a 62 65 |org |100h..be|
|000006a0| 67 69 6e 3a 20 20 20 20 | 20 20 20 20 20 20 6a 6d |gin: | jm|
|000006b0| 70 20 20 20 20 20 69 6e | 69 74 69 61 6c 69 7a 65 |p in|itialize|
|000006c0| 0d 0a 0d 0a 70 72 6f 67 | 72 61 6d 20 20 20 20 20 |....prog|ram |
|000006d0| 20 20 20 20 64 62 20 20 | 20 20 20 20 22 54 65 6d | db | "Tem|
|000006e0| 70 6c 61 74 65 20 31 2e | 30 20 28 63 29 20 31 39 |plate 1.|0 (c) 19|
|000006f0| 39 32 20 44 6f 75 67 6c | 61 73 20 42 6f 6c 69 6e |92 Dougl|as Bolin|
|00000700| 67 22 2c 31 33 2c 31 30 | 0d 0a 20 20 20 20 20 20 |g",13,10|.. |
|00000710| 20 20 20 20 20 20 20 20 | 20 20 64 62 20 20 20 20 | | db |
|00000720| 20 20 22 57 72 69 74 74 | 65 6e 20 62 79 20 44 6f | "Writt|en by Do|
|00000730| 75 67 6c 61 73 20 42 6f | 6c 69 6e 67 24 22 2c 32 |uglas Bo|ling$",2|
|00000740| 36 0d 0a 3b 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |6..;----|--------|
|00000750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000760| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000790| 2d 0d 0a 3b 20 4d 65 6d | 6f 72 79 20 6c 6f 63 61 |-..; Mem|ory loca|
|000007a0| 74 69 6f 6e 73 20 72 65 | 71 75 69 72 65 64 20 66 |tions re|quired f|
|000007b0| 6f 72 20 73 79 73 74 65 | 6d 20 6f 76 65 72 68 65 |or syste|m overhe|
|000007c0| 61 64 2e 0d 0a 3b 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ad...;--|--------|
|000007d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000810| 2d 2d 2d 0d 0a 68 6f 74 | 73 68 69 66 74 20 20 20 |---..hot|shift |
|00000820| 20 20 20 20 20 64 62 20 | 20 20 20 20 20 30 61 68 | db | 0ah|
|00000830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000840| 20 20 20 20 20 3b 53 68 | 69 66 74 20 63 6f 6d 62 | ;Sh|ift comb|
|00000850| 69 6e 61 74 69 6f 6e 20 | 66 6f 72 20 54 53 52 0d |ination |for TSR.|
|00000860| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000870| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000880| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000890| 20 3b 20 20 3c 41 6c 74 | 3e 20 3c 4c 65 66 74 20 | ; <Alt|> <Left |
|000008a0| 73 68 69 66 74 3e 0d 0a | 20 20 20 20 20 20 20 20 |shift>..| |
|000008b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000008c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000008d0| 20 20 20 20 20 20 20 20 | 3b 20 62 69 74 20 20 20 | |; bit |
|000008e0| 20 20 20 6b 65 79 0d 0a | 20 20 20 20 20 20 20 20 | key..| |
|000008f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000900| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000910| 20 20 20 20 20 20 20 20 | 3b 20 20 30 20 20 20 20 | |; 0 |
|00000920| 20 20 20 52 20 53 68 69 | 66 74 0d 0a 20 20 20 20 | R Shi|ft.. |
|00000930| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000950| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 20 31 | | ; 1|
|00000960| 20 20 20 20 20 20 20 4c | 20 53 68 69 66 74 0d 0a | L| Shift..|
|00000970| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000980| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000990| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009a0| 3b 20 20 32 20 20 20 20 | 20 20 20 43 74 72 6c 0d |; 2 | Ctrl.|
|000009b0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000009c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009e0| 20 3b 20 20 33 20 20 20 | 20 20 20 20 41 6c 74 0d | ; 3 | Alt.|
|000009f0| 0a 64 6f 73 5f 76 65 72 | 73 69 6f 6e 20 20 20 20 |.dos_ver|sion |
|00000a00| 20 64 77 20 20 20 20 20 | 20 30 20 20 20 20 20 20 | dw | 0 |
|00000a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a20| 20 3b 44 4f 53 20 76 65 | 72 73 69 6f 6e 20 6e 75 | ;DOS ve|rsion nu|
|00000a30| 6d 62 65 72 0d 0a 6d 6f | 75 73 65 5f 66 6c 61 67 |mber..mo|use_flag|
|00000a40| 20 20 20 20 20 20 64 62 | 20 20 20 20 20 20 30 20 | db| 0 |
|00000a50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a60| 20 20 20 20 20 20 3b 4d | 6f 75 73 65 20 64 72 69 | ;M|ouse dri|
|00000a70| 76 65 72 20 70 72 65 73 | 65 6e 74 0d 0a 72 65 73 |ver pres|ent..res|
|00000a80| 69 64 65 6e 74 5f 73 70 | 20 20 20 20 20 64 77 20 |ident_sp| dw |
|00000a90| 20 20 20 20 20 30 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00000aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 52 65 | | ;Re|
|00000ab0| 73 69 64 65 6e 74 20 73 | 74 61 63 6b 20 70 6f 69 |sident s|tack poi|
|00000ac0| 6e 74 65 72 0d 0a 0d 0a | 65 6d 73 5f 66 6c 61 67 |nter....|ems_flag|
|00000ad0| 20 20 20 20 20 20 20 20 | 64 62 20 20 20 20 20 20 | |db |
|00000ae0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00000af0| 20 20 20 20 20 20 20 20 | 3b 55 73 65 20 65 78 70 | |;Use exp|
|00000b00| 61 6e 64 65 64 20 6d 65 | 6d 6f 72 79 0d 0a 65 6d |anded me|mory..em|
|00000b10| 73 5f 73 65 67 6d 65 6e | 74 20 20 20 20 20 64 77 |s_segmen|t dw|
|00000b20| 20 20 20 20 20 20 30 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00000b30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 45 | | ;E|
|00000b40| 4d 53 20 70 61 67 65 20 | 66 72 61 6d 65 20 73 65 |MS page |frame se|
|00000b50| 67 6d 65 6e 74 0d 0a 65 | 6d 73 5f 76 65 72 73 69 |gment..e|ms_versi|
|00000b60| 6f 6e 20 20 20 20 20 64 | 62 20 20 20 20 20 20 30 |on d|b 0|
|00000b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b80| 20 20 20 20 20 20 20 3b | 56 65 72 73 69 6f 6e 20 | ;|Version |
|00000b90| 6f 66 20 45 4d 53 20 6d | 61 6e 61 67 65 72 0d 0a |of EMS m|anager..|
|00000ba0| 0d 0a 65 6d 73 5f 68 61 | 6e 64 6c 65 20 20 20 20 |..ems_ha|ndle |
|00000bb0| 20 20 64 77 20 20 20 20 | 20 20 30 20 20 20 20 20 | dw | 0 |
|00000bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000bd0| 20 20 3b 45 4d 53 20 68 | 61 6e 64 6c 65 20 75 73 | ;EMS h|andle us|
|00000be0| 65 64 0d 0a 0d 0a 78 6d | 73 5f 66 6c 61 67 20 20 |ed....xm|s_flag |
|00000bf0| 20 20 20 20 20 20 64 62 | 20 20 20 20 20 20 30 20 | db| 0 |
|00000c00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c10| 20 20 20 20 20 20 3b 45 | 78 74 65 6e 64 65 64 20 | ;E|xtended |
|00000c20| 6d 65 6d 6f 72 79 20 61 | 76 61 69 6c 61 62 6c 65 |memory a|vailable|
|00000c30| 0d 0a 78 6d 73 5f 73 65 | 72 76 69 63 65 20 20 20 |..xms_se|rvice |
|00000c40| 20 20 64 64 20 20 20 20 | 20 20 2d 31 20 20 20 20 | dd | -1 |
|00000c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c60| 20 20 3b 45 6e 74 72 79 | 20 70 74 20 66 6f 72 20 | ;Entry| pt for |
|00000c70| 58 4d 53 20 6d 61 6e 61 | 67 65 72 0d 0a 78 6d 73 |XMS mana|ger..xms|
|00000c80| 5f 76 65 72 73 69 6f 6e | 20 20 20 20 20 64 62 20 |_version| db |
|00000c90| 20 20 20 20 20 30 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00000ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 56 65 | | ;Ve|
|00000cb0| 72 73 69 6f 6e 20 6f 66 | 20 58 4d 53 20 6d 61 6e |rsion of| XMS man|
|00000cc0| 61 67 65 72 0d 0a 0d 0a | 69 6e 64 6f 73 5f 70 74 |ager....|indos_pt|
|00000cd0| 72 20 20 20 20 20 20 20 | 64 64 20 20 20 20 20 20 |r |dd |
|00000ce0| 2d 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |-1 | |
|00000cf0| 20 20 20 20 20 20 20 20 | 3b 50 6f 69 6e 74 65 72 | |;Pointer|
|00000d00| 20 74 6f 20 49 4e 44 4f | 53 20 66 6c 61 67 0d 0a | to INDO|S flag..|
|00000d10| 63 72 69 74 65 72 72 5f | 70 74 72 20 20 20 20 20 |criterr_|ptr |
|00000d20| 64 64 20 20 20 20 20 20 | 2d 31 20 20 20 20 20 20 |dd |-1 |
|00000d30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d40| 3b 50 6f 69 6e 74 65 72 | 20 74 6f 20 44 4f 53 20 |;Pointer| to DOS |
|00000d50| 63 72 69 74 20 65 72 72 | 20 66 6c 61 67 0d 0a 0d |crit err| flag...|
|00000d60| 0a 69 6e 74 30 38 68 20 | 20 20 20 20 20 20 20 20 |.int08h | |
|00000d70| 20 64 64 20 20 20 20 20 | 20 2d 31 20 20 20 20 20 | dd | -1 |
|00000d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d90| 20 3b 49 6e 74 20 32 66 | 20 76 65 63 74 6f 72 20 | ;Int 2f| vector |
|00000da0| 28 54 69 6d 65 72 29 0d | 0a 69 6e 74 30 39 68 20 |(Timer).|.int09h |
|00000db0| 20 20 20 20 20 20 20 20 | 20 64 64 20 20 20 20 20 | | dd |
|00000dc0| 20 2d 31 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | -1 | |
|00000dd0| 20 20 20 20 20 20 20 20 | 20 3b 49 6e 74 20 30 39 | | ;Int 09|
|00000de0| 20 76 65 63 74 6f 72 20 | 28 4b 65 79 62 6f 61 72 | vector |(Keyboar|
|00000df0| 64 20 48 57 29 0d 0a 69 | 6e 74 31 30 68 20 20 20 |d HW)..i|nt10h |
|00000e00| 20 20 20 20 20 20 20 64 | 64 20 20 20 20 20 20 2d | d|d -|
|00000e10| 31 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |1 | |
|00000e20| 20 20 20 20 20 20 20 3b | 49 6e 74 20 31 30 20 76 | ;|Int 10 v|
|00000e30| 65 63 74 6f 72 20 28 56 | 69 64 65 6f 20 42 49 4f |ector (V|ideo BIO|
|00000e40| 53 29 0d 0a 69 6e 74 31 | 33 68 20 20 20 20 20 20 |S)..int1|3h |
|00000e50| 20 20 20 20 64 64 20 20 | 20 20 20 20 2d 31 20 20 | dd | -1 |
|00000e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e70| 20 20 20 20 3b 49 6e 74 | 20 31 33 20 76 65 63 74 | ;Int| 13 vect|
|00000e80| 6f 72 20 28 44 69 73 6b | 20 42 49 4f 53 29 0d 0a |or (Disk| BIOS)..|
|00000e90| 69 6e 74 31 36 68 20 20 | 20 20 20 20 20 20 20 20 |int16h | |
|00000ea0| 64 64 20 20 20 20 20 20 | 2d 31 20 20 20 20 20 20 |dd |-1 |
|00000eb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ec0| 3b 49 6e 74 20 31 36 20 | 76 65 63 74 6f 72 20 28 |;Int 16 |vector (|
|00000ed0| 42 49 4f 53 20 4b 65 79 | 62 6f 61 72 64 29 0d 0a |BIOS Key|board)..|
|00000ee0| 69 6e 74 32 38 68 20 20 | 20 20 20 20 20 20 20 20 |int28h | |
|00000ef0| 64 64 20 20 20 20 20 20 | 2d 31 20 20 20 20 20 20 |dd |-1 |
|00000f00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f10| 3b 49 6e 74 20 32 38 20 | 76 65 63 74 6f 72 20 28 |;Int 28 |vector (|
|00000f20| 44 4f 53 20 49 64 6c 65 | 29 0d 0a 69 6e 74 32 46 |DOS Idle|)..int2F|
|00000f30| 68 20 20 20 20 20 20 20 | 20 20 20 64 64 20 20 20 |h | dd |
|00000f40| 20 20 20 2d 31 20 20 20 | 20 20 20 20 20 20 20 20 | -1 | |
|00000f50| 20 20 20 20 20 20 20 20 | 20 20 20 3b 49 6e 74 20 | | ;Int |
|00000f60| 32 46 20 76 65 63 74 6f | 72 20 28 44 4f 53 20 4d |2F vecto|r (DOS M|
|00000f70| 75 6c 74 69 70 6c 65 78 | 29 0d 0a 0d 0a 69 6e 74 |ultiplex|)....int|
|00000f80| 30 38 5f 61 63 74 69 76 | 65 20 20 20 20 64 62 20 |08_activ|e db |
|00000f90| 20 20 20 20 20 30 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00000fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 49 6e | | ;In|
|00000fb0| 74 65 72 72 75 70 74 20 | 61 63 74 69 76 65 20 66 |terrupt |active f|
|00000fc0| 6c 61 67 0d 0a 69 6e 74 | 30 39 5f 61 63 74 69 76 |lag..int|09_activ|
|00000fd0| 65 20 20 20 20 64 62 20 | 20 20 20 20 20 30 20 20 |e db | 0 |
|00000fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ff0| 20 20 20 20 20 3b 49 6e | 74 65 72 72 75 70 74 20 | ;In|terrupt |
|00001000| 61 63 74 69 76 65 20 66 | 6c 61 67 0d 0a 69 6e 74 |active f|lag..int|
|00001010| 31 30 5f 61 63 74 69 76 | 65 20 20 20 20 64 62 20 |10_activ|e db |
|00001020| 20 20 20 20 20 30 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 49 6e | | ;In|
|00001040| 74 65 72 72 75 70 74 20 | 61 63 74 69 76 65 20 66 |terrupt |active f|
|00001050| 6c 61 67 0d 0a 69 6e 74 | 31 33 5f 61 63 74 69 76 |lag..int|13_activ|
|00001060| 65 20 20 20 20 64 62 20 | 20 20 20 20 20 30 20 20 |e db | 0 |
|00001070| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001080| 20 20 20 20 20 3b 49 6e | 74 65 72 72 75 70 74 20 | ;In|terrupt |
|00001090| 61 63 74 69 76 65 20 66 | 6c 61 67 0d 0a 69 6e 74 |active f|lag..int|
|000010a0| 31 36 5f 61 63 74 69 76 | 65 20 20 20 20 64 62 20 |16_activ|e db |
|000010b0| 20 20 20 20 20 30 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|000010c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 49 6e | | ;In|
|000010d0| 74 65 72 72 75 70 74 20 | 61 63 74 69 76 65 20 66 |terrupt |active f|
|000010e0| 6c 61 67 0d 0a 69 6e 74 | 32 38 5f 61 63 74 69 76 |lag..int|28_activ|
|000010f0| 65 20 20 20 20 64 62 20 | 20 20 20 20 20 30 20 20 |e db | 0 |
|00001100| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001110| 20 20 20 20 20 3b 49 6e | 74 65 72 72 75 70 74 20 | ;In|terrupt |
|00001120| 61 63 74 69 76 65 20 66 | 6c 61 67 0d 0a 69 6e 74 |active f|lag..int|
|00001130| 32 46 5f 61 63 74 69 76 | 65 20 20 20 20 64 62 20 |2F_activ|e db |
|00001140| 20 20 20 20 20 30 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 49 6e | | ;In|
|00001160| 74 65 72 72 75 70 74 20 | 61 63 74 69 76 65 20 66 |terrupt |active f|
|00001170| 6c 61 67 0d 0a 0d 0a 53 | 57 4e 6f 74 69 66 79 4a |lag....S|WNotifyJ|
|00001180| 54 20 20 20 20 20 20 64 | 77 20 20 20 20 20 20 6f |T d|w o|
|00001190| 66 66 73 65 74 20 53 57 | 4e 49 6e 69 74 20 20 20 |ffset SW|NInit |
|000011a0| 20 20 20 20 20 20 20 3b | 4a 75 6d 70 20 74 61 62 | ;|Jump tab|
|000011b0| 6c 65 20 75 73 65 64 20 | 62 79 20 73 77 69 74 63 |le used |by switc|
|000011c0| 68 65 72 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |her.. | |
|000011d0| 20 20 20 20 20 64 77 20 | 20 20 20 20 20 6f 66 66 | dw | off|
|000011e0| 73 65 74 20 53 57 4e 51 | 53 75 73 70 65 6e 64 20 |set SWNQ|Suspend |
|000011f0| 20 20 20 20 20 3b 20 20 | 6e 6f 74 69 66 69 63 61 | ; |notifica|
|00001200| 74 69 6f 6e 20 72 6f 75 | 74 69 6e 65 2e 0d 0a 20 |tion rou|tine... |
|00001210| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 64 | | d|
|00001220| 77 20 20 20 20 20 20 6f | 66 66 73 65 74 20 53 57 |w o|ffset SW|
|00001230| 4e 53 75 73 70 65 6e 64 | 0d 0a 20 20 20 20 20 20 |NSuspend|.. |
|00001240| 20 20 20 20 20 20 20 20 | 20 20 64 77 20 20 20 20 | | dw |
|00001250| 20 20 6f 66 66 73 65 74 | 20 53 57 4e 41 63 74 69 | offset| SWNActi|
|00001260| 76 61 74 65 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |vate.. | |
|00001270| 20 20 20 20 20 20 64 77 | 20 20 20 20 20 20 6f 66 | dw| of|
|00001280| 66 73 65 74 20 53 57 4e | 41 63 74 69 76 65 0d 0a |fset SWN|Active..|
|00001290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012a0| 64 77 20 20 20 20 20 20 | 6f 66 66 73 65 74 20 53 |dw |offset S|
|000012b0| 57 4e 43 53 65 73 73 69 | 6f 6e 0d 0a 20 20 20 20 |WNCSessi|on.. |
|000012c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 64 77 20 20 | | dw |
|000012d0| 20 20 20 20 6f 66 66 73 | 65 74 20 53 57 4e 44 53 | offs|et SWNDS|
|000012e0| 65 73 73 69 6f 6e 0d 0a | 20 20 20 20 20 20 20 20 |ession..| |
|000012f0| 20 20 20 20 20 20 20 20 | 64 77 20 20 20 20 20 20 | |dw |
|00001300| 6f 66 66 73 65 74 20 53 | 57 4e 45 78 69 74 0d 0a |offset S|WNExit..|
|00001310| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00001320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 0a 3b |--------|-----..;|
|00001360| 53 77 69 74 63 68 65 72 | 20 67 6c 6f 62 61 6c 20 |Switcher| global |
|00001370| 64 61 74 61 20 73 74 72 | 75 63 74 75 72 65 73 0d |data str|uctures.|
|00001380| 0a 3b 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.;------|--------|
|00001390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0a |--------|------..|
|000013d0| 53 74 61 72 74 75 70 49 | 6e 66 6f 20 20 20 20 20 |StartupI|nfo |
|000013e0| 3d 20 20 20 20 20 20 20 | 24 0d 0a 20 73 69 73 56 |= |$.. sisV|
|000013f0| 65 72 73 69 6f 6e 20 20 | 20 20 20 64 77 20 20 20 |ersion | dw |
|00001400| 20 20 20 33 20 20 20 20 | 20 20 20 20 20 20 20 20 | 3 | |
|00001410| 20 20 20 20 20 20 20 20 | 20 20 20 3b 53 77 69 74 | | ;Swit|
|00001420| 63 68 65 72 20 73 74 72 | 75 63 74 75 72 65 20 49 |cher str|ucture I|
|00001430| 44 0d 0a 20 73 69 73 4e | 65 78 74 44 65 76 20 20 |D.. sisN|extDev |
|00001440| 20 20 20 64 64 20 20 20 | 20 20 20 30 20 20 20 20 | dd | 0 |
|00001450| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001460| 20 20 20 3b 50 74 72 20 | 74 6f 20 70 72 65 76 20 | ;Ptr |to prev |
|00001470| 73 74 61 72 74 75 70 20 | 73 74 72 75 63 74 75 72 |startup |structur|
|00001480| 65 0d 0a 20 73 69 73 56 | 69 72 74 44 65 76 46 69 |e.. sisV|irtDevFi|
|00001490| 6c 65 20 64 64 20 20 20 | 20 20 20 30 20 20 20 20 |le dd | 0 |
|000014a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014b0| 20 20 20 3b 50 74 72 20 | 74 6f 20 6e 61 6d 65 20 | ;Ptr |to name |
|000014c0| 6f 66 20 6f 70 74 20 64 | 65 76 20 64 72 76 72 0d |of opt d|ev drvr.|
|000014d0| 0a 20 73 69 73 52 65 66 | 65 72 65 6e 63 65 44 61 |. sisRef|erenceDa|
|000014e0| 74 61 20 64 64 20 20 20 | 20 30 20 20 20 20 20 20 |ta dd | 0 |
|000014f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001500| 20 3b 44 61 74 61 20 66 | 6f 72 20 57 69 6e 20 64 | ;Data f|or Win d|
|00001510| 65 76 20 64 72 69 76 72 | 0d 0a 20 73 69 73 49 6e |ev drivr|.. sisIn|
|00001520| 73 74 44 61 74 61 20 20 | 20 20 64 64 20 20 20 20 |stData | dd |
|00001530| 20 20 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001540| 20 20 20 20 20 20 20 20 | 20 20 3b 50 74 72 20 74 | | ;Ptr t|
|00001550| 6f 20 69 6e 73 74 61 6e | 63 65 20 6d 65 6d 20 6c |o instan|ce mem l|
|00001560| 69 73 74 0d 0a 0d 0a 49 | 6e 73 74 49 74 65 6d 31 |ist....I|nstItem1|
|00001570| 20 20 20 20 20 20 20 64 | 64 20 20 20 20 20 20 30 | d|d 0|
|00001580| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001590| 20 20 20 20 20 20 20 3b | 50 74 72 20 74 6f 20 69 | ;|Ptr to i|
|000015a0| 6e 73 74 61 6e 63 65 20 | 64 61 74 61 0d 0a 49 6e |nstance |data..In|
|000015b0| 73 74 53 69 7a 65 31 20 | 20 20 20 20 20 20 64 77 |stSize1 | dw|
|000015c0| 20 20 20 20 20 20 30 20 | 20 20 20 20 20 20 20 20 | 0 | |
|000015d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 53 | | ;S|
|000015e0| 69 7a 65 20 6f 66 20 69 | 6e 73 74 61 6e 63 65 20 |ize of i|nstance |
|000015f0| 64 61 74 61 0d 0a 49 6e | 73 74 49 74 65 6d 32 20 |data..In|stItem2 |
|00001600| 20 20 20 20 20 20 64 64 | 20 20 20 20 20 20 30 20 | dd| 0 |
|00001610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001620| 20 20 20 20 20 20 3b 50 | 74 72 20 74 6f 20 69 6e | ;P|tr to in|
|00001630| 73 74 61 6e 63 65 20 73 | 74 61 63 6b 0d 0a 49 6e |stance s|tack..In|
|00001640| 73 74 53 69 7a 65 32 20 | 20 20 20 20 20 20 64 77 |stSize2 | dw|
|00001650| 20 20 20 20 20 20 30 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001660| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 53 | | ;S|
|00001670| 69 7a 65 20 6f 66 20 69 | 6e 73 74 61 6e 63 65 20 |ize of i|nstance |
|00001680| 73 74 61 63 6b 0d 0a 20 | 20 20 20 20 20 20 20 20 |stack.. | |
|00001690| 20 20 20 20 20 20 20 64 | 64 20 20 20 20 20 20 30 | d|d 0|
|000016a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000016b0| 20 20 20 20 20 20 20 3b | 50 74 72 20 74 6f 20 6e | ;|Ptr to n|
|000016c0| 65 78 74 20 62 6c 6f 63 | 6b 20 3d 20 30 20 74 6f |ext bloc|k = 0 to|
|000016d0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|000016e0| 20 20 64 77 20 20 20 20 | 20 20 30 20 20 20 20 20 | dw | 0 |
|000016f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001700| 20 20 3b 20 20 74 65 72 | 6d 69 6e 61 74 65 20 6c | ; ter|minate l|
|00001710| 69 73 74 0d 0a 3b 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |ist..;==|========|
|00001720| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001730| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001740| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001750| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001760| 3d 3d 0d 0a 3b 49 6e 73 | 74 61 6e 63 65 20 64 61 |==..;Ins|tance da|
|00001770| 74 61 0d 0a 3b 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |ta..;===|========|
|00001780| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001790| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000017a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000017b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000017c0| 3d 0d 0a 54 53 52 49 6e | 73 74 44 61 74 61 20 20 |=..TSRIn|stData |
|000017d0| 20 20 20 3d 20 20 20 20 | 20 20 20 24 0d 0a 3b 2d | = | $..;-|
|000017e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 0a 3b 53 77 |--------|---..;Sw|
|00001830| 69 74 63 68 65 72 20 69 | 6e 73 74 61 6e 63 65 20 |itcher i|nstance |
|00001840| 64 61 74 61 20 73 74 72 | 75 63 74 75 72 65 73 0d |data str|uctures.|
|00001850| 0a 3b 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.;------|--------|
|00001860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0a |--------|------..|
|000018a0| 53 57 53 65 72 76 69 63 | 65 20 20 20 20 20 20 20 |SWServic|e |
|000018b0| 64 64 20 20 20 20 20 20 | 30 20 20 20 20 20 20 20 |dd |0 |
|000018c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000018d0| 3b 50 74 72 20 74 6f 20 | 73 77 69 74 63 68 65 72 |;Ptr to |switcher|
|000018e0| 20 73 65 72 76 69 63 65 | 20 72 74 6e 0d 0a 0d 0a | service| rtn....|
|000018f0| 43 61 6c 6c 62 61 63 6b | 49 6e 66 6f 20 20 20 20 |Callback|Info |
|00001900| 3d 20 20 20 20 20 20 20 | 24 0d 0a 20 73 63 62 69 |= |$.. scbi|
|00001910| 4e 65 78 74 20 20 20 20 | 20 20 20 64 64 20 20 20 |Next | dd |
|00001920| 20 20 20 30 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001930| 20 20 20 20 20 20 20 20 | 20 20 20 3b 50 74 72 20 | | ;Ptr |
|00001940| 74 6f 20 70 72 65 76 20 | 63 61 6c 6c 62 61 63 6b |to prev |callback|
|00001950| 20 73 74 72 75 63 0d 0a | 20 73 63 62 69 45 6e 74 | struc..| scbiEnt|
|00001960| 72 79 50 6f 69 6e 74 20 | 64 64 20 20 20 20 20 20 |ryPoint |dd |
|00001970| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00001980| 20 20 20 20 20 20 20 20 | 3b 50 74 72 20 74 6f 20 | |;Ptr to |
|00001990| 6c 6f 63 61 6c 20 63 61 | 6c 6c 62 61 63 6b 20 70 |local ca|llback p|
|000019a0| 72 6f 63 0d 0a 20 73 63 | 62 69 52 65 73 65 72 76 |roc.. sc|biReserv|
|000019b0| 65 64 20 20 20 64 64 20 | 20 20 20 20 20 30 20 20 |ed dd | 0 |
|000019c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019d0| 20 20 20 20 20 3b 52 65 | 73 65 72 76 65 64 0d 0a | ;Re|served..|
|000019e0| 20 73 63 62 69 41 50 49 | 20 20 20 20 20 20 20 20 | scbiAPI| |
|000019f0| 64 64 20 20 20 20 20 20 | 30 20 20 20 20 20 20 20 |dd |0 |
|00001a00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a10| 3b 50 74 72 20 74 6f 20 | 69 6e 66 6f 20 73 74 72 |;Ptr to |info str|
|00001a20| 75 63 74 75 72 65 73 0d | 0a 0d 0a 53 77 61 70 49 |uctures.|...SwapI|
|00001a30| 6e 66 6f 20 20 20 20 20 | 20 20 20 3d 20 20 20 20 |nfo | = |
|00001a40| 20 20 20 24 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | $.. | |
|00001a50| 20 20 20 20 20 20 64 77 | 20 20 20 20 20 20 30 20 | dw| 0 |
|00001a60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a70| 20 20 20 20 20 20 3b 5a | 65 72 6f 20 73 77 61 70 | ;Z|ero swap|
|00001a80| 69 6e 66 6f 20 73 74 72 | 75 63 74 75 72 65 0d 0a |info str|ucture..|
|00001a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001aa0| 64 77 20 20 20 20 20 20 | 30 20 20 20 20 20 20 20 |dw |0 |
|00001ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ac0| 3b 20 20 73 69 6e 63 65 | 20 6e 6f 20 41 50 49 20 |; since| no API |
|00001ad0| 73 75 70 70 6f 72 74 0d | 0a 20 20 20 20 20 20 20 |support.|. |
|00001ae0| 20 20 20 20 20 20 20 20 | 20 64 77 20 20 20 20 20 | | dw |
|00001af0| 20 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001b00| 20 20 20 20 20 20 20 20 | 20 3b 20 20 69 6d 70 6c | | ; impl|
|00001b10| 69 6d 65 6e 74 65 64 20 | 62 79 20 74 68 65 20 54 |imented |by the T|
|00001b20| 53 52 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |SR.. | |
|00001b30| 20 20 20 20 64 77 20 20 | 20 20 20 20 30 0d 0a 20 | dw | 0.. |
|00001b40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 64 | | d|
|00001b50| 77 20 20 20 20 20 20 30 | 0d 0a 0d 0a 3b 2d 2d 2d |w 0|....;---|
|00001b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ba0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 0a 3b 44 4f 53 20 |--------|-..;DOS |
|00001bb0| 53 74 61 74 65 20 69 6e | 66 6f 72 6d 61 74 69 6f |State in|formatio|
|00001bc0| 6e 0d 0a 3b 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |n..;----|--------|
|00001bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c10| 0d 0a 73 61 76 65 64 5f | 64 74 61 20 20 20 20 20 |..saved_|dta |
|00001c20| 20 20 64 64 20 20 20 20 | 20 20 30 20 20 20 20 20 | dd | 0 |
|00001c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c40| 20 20 3b 73 61 76 65 64 | 20 70 6f 69 6e 74 65 72 | ;saved| pointer|
|00001c50| 20 74 6f 20 63 75 72 72 | 20 44 54 41 0d 0a 73 61 | to curr| DTA..sa|
|00001c60| 76 65 64 5f 70 73 70 20 | 20 20 20 20 20 20 64 77 |ved_psp | dw|
|00001c70| 20 20 20 20 20 20 30 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001c80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 73 | | ;s|
|00001c90| 61 76 65 64 20 73 65 67 | 6d 65 6e 74 20 6f 66 20 |aved seg|ment of |
|00001ca0| 63 75 72 72 20 50 53 50 | 0d 0a 73 73 5f 72 65 67 |curr PSP|..ss_reg|
|00001cb0| 69 73 74 65 72 20 20 20 | 20 20 64 77 20 20 20 20 |ister | dw |
|00001cc0| 20 20 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001cd0| 20 20 20 20 20 20 20 20 | 20 20 3b 53 53 20 72 65 | | ;SS re|
|00001ce0| 67 69 73 74 65 72 0d 0a | 73 70 5f 72 65 67 69 73 |gister..|sp_regis|
|00001cf0| 74 65 72 20 20 20 20 20 | 64 77 20 20 20 20 20 20 |ter |dw |
|00001d00| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00001d10| 20 20 20 20 20 20 20 20 | 3b 53 50 20 72 65 67 69 | |;SP regi|
|00001d20| 73 74 65 72 0d 0a 0d 0a | 73 68 69 66 74 5f 73 61 |ster....|shift_sa|
|00001d30| 76 65 20 20 20 20 20 20 | 64 62 20 20 20 20 20 20 |ve |db |
|00001d40| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00001d50| 20 20 20 20 20 20 20 20 | 3b 4b 65 79 62 6f 61 72 | |;Keyboar|
|00001d60| 64 20 73 68 69 66 74 20 | 6c 6f 63 6b 20 73 74 61 |d shift |lock sta|
|00001d70| 74 65 0d 0a 41 32 30 5f | 73 74 61 74 65 20 20 20 |te..A20_|state |
|00001d80| 20 20 20 20 64 77 20 20 | 20 20 20 20 30 20 20 20 | dw | 0 |
|00001d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001da0| 20 20 20 20 3b 53 61 76 | 65 64 20 73 74 61 74 65 | ;Sav|ed state|
|00001db0| 20 6f 66 20 41 32 30 20 | 6c 69 6e 65 0d 0a 0d 0a | of A20 |line....|
|00001dc0| 6d 65 6d 5f 61 6c 6c 6f | 63 20 20 20 20 20 20 20 |mem_allo|c |
|00001dd0| 64 77 20 20 20 20 20 20 | 30 20 20 20 20 20 20 20 |dw |0 |
|00001de0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001df0| 3b 44 4f 53 20 6d 65 6d | 6f 72 79 20 61 6c 6c 6f |;DOS mem|ory allo|
|00001e00| 63 61 74 69 6f 6e 20 73 | 74 72 61 74 0d 0a 6c 69 |cation s|trat..li|
|00001e10| 6e 6b 66 6c 61 67 20 20 | 20 20 20 20 20 20 64 62 |nkflag | db|
|00001e20| 20 20 20 20 20 20 30 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 44 | | ;D|
|00001e40| 4f 53 20 55 4d 42 20 6c | 69 6e 6b 20 66 6c 61 67 |OS UMB l|ink flag|
|00001e50| 0d 0a 0d 0a 63 75 72 72 | 5f 64 69 73 6b 20 20 20 |....curr|_disk |
|00001e60| 20 20 20 20 64 62 20 20 | 20 20 20 20 30 20 20 20 | db | 0 |
|00001e70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e80| 20 20 20 20 3b 44 65 66 | 61 75 6c 74 20 64 69 73 | ;Def|ault dis|
|00001e90| 6b 20 61 74 20 70 6f 70 | 75 70 0d 0a 63 75 72 72 |k at pop|up..curr|
|00001ea0| 5f 64 69 72 20 20 20 20 | 20 20 20 20 64 62 20 20 |_dir | db |
|00001eb0| 20 20 20 20 36 34 20 64 | 75 70 20 28 30 29 20 20 | 64 d|up (0) |
|00001ec0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 44 65 66 | | ;Def|
|00001ed0| 61 75 6c 74 20 64 69 72 | 65 63 74 6f 72 79 20 61 |ault dir|ectory a|
|00001ee0| 74 20 70 6f 70 75 70 0d | 0a 0d 0a 65 72 72 69 6e |t popup.|...errin|
|00001ef0| 66 6f 61 72 72 61 79 3a | 0d 0a 65 72 72 41 58 20 |foarray:|..errAX |
|00001f00| 20 20 20 20 20 20 20 20 | 20 20 64 77 20 20 20 20 | | dw |
|00001f10| 20 20 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00001f20| 20 20 20 20 20 20 20 20 | 20 20 3b 53 61 76 65 64 | | ;Saved|
|00001f30| 20 65 78 74 65 6e 64 65 | 64 20 65 72 72 6f 72 20 | extende|d error |
|00001f40| 69 6e 66 6f 0d 0a 65 72 | 72 42 58 20 20 20 20 20 |info..er|rBX |
|00001f50| 20 20 20 20 20 20 64 77 | 20 20 20 20 20 20 30 0d | dw| 0.|
|00001f60| 0a 65 72 72 43 58 20 20 | 20 20 20 20 20 20 20 20 |.errCX | |
|00001f70| 20 64 77 20 20 20 20 20 | 20 30 0d 0a 65 72 72 44 | dw | 0..errD|
|00001f80| 58 20 20 20 20 20 20 20 | 20 20 20 20 64 77 20 20 |X | dw |
|00001f90| 20 20 20 20 30 0d 0a 65 | 72 72 53 49 20 20 20 20 | 0..e|rrSI |
|00001fa0| 20 20 20 20 20 20 20 64 | 77 20 20 20 20 20 20 30 | d|w 0|
|00001fb0| 0d 0a 65 72 72 44 49 20 | 20 20 20 20 20 20 20 20 |..errDI | |
|00001fc0| 20 20 64 77 20 20 20 20 | 20 20 30 0d 0a 65 72 72 | dw | 0..err|
|00001fd0| 44 53 20 20 20 20 20 20 | 20 20 20 20 20 64 77 20 |DS | dw |
|00001fe0| 20 20 20 20 20 30 0d 0a | 65 72 72 45 53 20 20 20 | 0..|errES |
|00001ff0| 20 20 20 20 20 20 20 20 | 64 77 20 20 20 20 20 20 | |dw |
|00002000| 30 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0.. | |
|00002010| 20 20 20 64 77 20 20 20 | 20 20 20 33 20 64 75 70 | dw | 3 dup|
|00002020| 20 28 30 29 20 20 20 20 | 20 20 20 20 20 20 20 20 | (0) | |
|00002030| 20 20 20 3b 52 65 73 65 | 72 76 65 64 20 65 72 72 | ;Rese|rved err|
|00002040| 6f 72 20 74 61 62 6c 65 | 20 62 79 74 65 73 0d 0a |or table| bytes..|
|00002050| 0d 0a 76 65 63 74 6f 72 | 31 62 68 20 20 20 20 20 |..vector|1bh |
|00002060| 20 20 64 64 20 20 20 20 | 20 20 30 20 20 20 20 20 | dd | 0 |
|00002070| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002080| 20 20 3b 69 6e 74 20 31 | 42 68 20 76 65 63 74 6f | ;int 1|Bh vecto|
|00002090| 72 20 28 42 72 65 61 6b | 29 0d 0a 76 65 63 74 6f |r (Break|)..vecto|
|000020a0| 72 32 33 68 20 20 20 20 | 20 20 20 64 64 20 20 20 |r23h | dd |
|000020b0| 20 20 20 30 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|000020c0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 69 6e 74 20 | | ;int |
|000020d0| 32 33 68 20 76 65 63 74 | 6f 72 20 28 43 74 72 6c |23h vect|or (Ctrl|
|000020e0| 2d 43 29 0d 0a 76 65 63 | 74 6f 72 32 34 68 20 20 |-C)..vec|tor24h |
|000020f0| 20 20 20 20 20 64 64 20 | 20 20 20 20 20 30 20 20 | dd | 0 |
|00002100| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002110| 20 20 20 20 20 3b 69 6e | 74 20 32 34 68 20 76 65 | ;in|t 24h ve|
|00002120| 63 74 6f 72 20 28 43 72 | 69 74 20 65 72 72 29 0d |ctor (Cr|it err).|
|00002130| 0a 0d 0a 3b 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |...;----|--------|
|00002140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002180| 0d 0a 3b 54 53 52 20 53 | 74 61 74 65 20 69 6e 66 |..;TSR S|tate inf|
|00002190| 6f 72 6d 61 74 69 6f 6e | 0d 0a 3b 2d 2d 2d 2d 2d |ormation|..;-----|
|000021a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021e0| 2d 2d 2d 2d 2d 2d 2d 0d | 0a 70 6f 70 66 6c 61 67 |-------.|.popflag|
|000021f0| 20 20 20 20 20 20 20 20 | 20 64 62 20 20 20 20 20 | | db |
|00002200| 20 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00002210| 20 20 20 20 20 20 20 20 | 20 3b 52 65 71 75 65 73 | | ;Reques|
|00002220| 74 20 66 6c 61 67 2f 74 | 69 6d 65 72 0d 0a 6d 61 |t flag/t|imer..ma|
|00002230| 69 6e 5f 61 63 74 69 76 | 65 20 20 20 20 20 64 62 |in_activ|e db|
|00002240| 20 20 20 20 20 20 30 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00002250| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 54 | | ;T|
|00002260| 53 52 20 61 63 74 69 76 | 65 20 66 6c 61 67 0d 0a |SR activ|e flag..|
|00002270| 6e 6f 5f 73 77 69 74 63 | 68 20 20 20 20 20 20 20 |no_switc|h |
|00002280| 64 77 20 20 20 20 20 20 | 30 20 20 20 20 20 20 20 |dw |0 |
|00002290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000022a0| 3b 46 6c 61 67 20 69 6e | 64 69 63 61 74 69 6e 67 |;Flag in|dicating|
|000022b0| 20 73 77 69 74 63 68 20 | 4f 4b 0d 0a 72 65 74 5f | switch |OK..ret_|
|000022c0| 61 64 64 72 20 20 20 20 | 20 20 20 20 64 77 20 20 |addr | dw |
|000022d0| 20 20 20 20 30 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|000022e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 53 61 76 | | ;Sav|
|000022f0| 65 64 20 72 65 74 75 72 | 6e 20 61 64 64 72 20 66 |ed retur|n addr f|
|00002300| 6f 72 20 63 61 6c 6c 73 | 0d 0a 77 69 6e 5f 65 6e |or calls|..win_en|
|00002310| 68 61 6e 63 65 64 20 20 | 20 20 64 62 20 20 20 20 |hanced | db |
|00002320| 20 20 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00002330| 20 20 20 20 20 20 20 20 | 20 20 3b 45 6e 68 61 6e | | ;Enhan|
|00002340| 63 65 64 20 6d 6f 64 65 | 20 77 69 6e 64 6f 77 73 |ced mode| windows|
|00002350| 20 66 6c 61 67 0d 0a 54 | 53 52 49 6e 73 74 44 61 | flag..T|SRInstDa|
|00002360| 74 61 45 6e 64 20 20 3d | 20 20 20 20 20 20 20 24 |taEnd =| $|
|00002370| 0d 0a 0d 0a 3b 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |....;===|========|
|00002380| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000023a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000023b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000023c0| 3d 0d 0a 3b 20 56 49 44 | 45 4f 49 4e 54 20 70 72 |=..; VID|EOINT pr|
|000023d0| 6f 63 65 73 73 65 73 20 | 42 49 4f 53 20 76 69 64 |ocesses |BIOS vid|
|000023e0| 65 6f 20 73 65 72 76 69 | 63 65 73 20 69 6e 74 65 |eo servi|ces inte|
|000023f0| 72 72 75 70 74 20 28 49 | 6e 74 20 31 30 68 29 0d |rrupt (I|nt 10h).|
|00002400| 0a 3b 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.;======|========|
|00002410| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002420| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002430| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002440| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0a |========|======..|
|00002450| 76 69 64 65 6f 69 6e 74 | 20 20 20 20 20 20 20 20 |videoint| |
|00002460| 70 72 6f 63 20 20 20 20 | 66 61 72 0d 0a 20 20 20 |proc |far.. |
|00002470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 61 73 73 | | ass|
|00002480| 75 6d 65 20 20 63 73 3a | 63 6f 64 65 2c 64 73 3a |ume cs:|code,ds:|
|00002490| 6e 6f 74 68 69 6e 67 2c | 65 73 3a 6e 6f 74 68 69 |nothing,|es:nothi|
|000024a0| 6e 67 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ng.. | |
|000024b0| 20 20 20 20 69 6e 63 20 | 20 20 20 20 63 73 3a 69 | inc | cs:i|
|000024c0| 6e 74 31 30 5f 61 63 74 | 69 76 65 0d 0a 20 20 20 |nt10_act|ive.. |
|000024d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 75 73 | | pus|
|000024e0| 68 66 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |hf.. | |
|000024f0| 20 20 20 20 63 61 6c 6c | 20 20 20 20 63 73 3a 5b | call| cs:[|
|00002500| 69 6e 74 31 30 68 5d 20 | 20 20 20 20 20 20 20 20 |int10h] | |
|00002510| 20 20 20 20 3b 43 61 6c | 6c 20 6f 6c 64 20 69 6e | ;Cal|l old in|
|00002520| 74 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t.. | |
|00002530| 20 20 20 64 65 63 20 20 | 20 20 20 63 73 3a 69 6e | dec | cs:in|
|00002540| 74 31 30 5f 61 63 74 69 | 76 65 0d 0a 20 20 20 20 |t10_acti|ve.. |
|00002550| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 72 65 74 | | iret|
|00002560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002570| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 52 65 74 | | ;Ret|
|00002580| 75 72 6e 0d 0a 76 69 64 | 65 6f 69 6e 74 20 20 20 |urn..vid|eoint |
|00002590| 20 20 20 20 20 65 6e 64 | 70 0d 0a 0d 0a 3b 3d 3d | end|p....;==|
|000025a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000025b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000025c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000025d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000025e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0a 3b 20 44 |========|===..; D|
|000025f0| 49 53 4b 49 4e 54 20 72 | 65 63 65 69 76 65 73 20 |ISKINT r|eceives |
|00002600| 63 6f 6e 74 72 6f 6c 20 | 77 68 65 6e 20 61 6e 20 |control |when an |
|00002610| 69 6e 74 65 72 72 75 70 | 74 20 31 33 68 20 69 73 |interrup|t 13h is|
|00002620| 20 67 65 6e 65 72 61 74 | 65 64 2e 0d 0a 3b 3d 3d | generat|ed...;==|
|00002630| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002640| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002650| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002660| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002670| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0a 64 69 73 |========|===..dis|
|00002680| 6b 69 6e 74 20 20 20 20 | 20 20 20 20 20 70 72 6f |kint | pro|
|00002690| 63 20 20 20 20 66 61 72 | 0d 0a 20 20 20 20 20 20 |c far|.. |
|000026a0| 20 20 20 20 20 20 20 20 | 20 20 61 73 73 75 6d 65 | | assume|
|000026b0| 20 20 63 73 3a 63 6f 64 | 65 2c 64 73 3a 6e 6f 74 | cs:cod|e,ds:not|
|000026c0| 68 69 6e 67 2c 65 73 3a | 6e 6f 74 68 69 6e 67 0d |hing,es:|nothing.|
|000026d0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000026e0| 20 70 75 73 68 66 20 20 | 20 20 20 20 20 20 20 20 | pushf | |
|000026f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002700| 20 3b 73 61 76 65 20 66 | 6c 61 67 73 20 72 65 67 | ;save f|lags reg|
|00002710| 69 73 74 65 72 0d 0a 20 | 20 20 20 20 20 20 20 20 |ister.. | |
|00002720| 20 20 20 20 20 20 20 69 | 6e 63 20 20 20 20 20 63 | i|nc c|
|00002730| 73 3a 69 6e 74 31 33 5f | 61 63 74 69 76 65 20 20 |s:int13_|active |
|00002740| 20 20 20 20 20 20 20 3b | 73 65 74 20 64 69 73 6b | ;|set disk|
|00002750| 20 61 63 63 65 73 73 20 | 66 6c 61 67 0d 0a 20 20 | access |flag.. |
|00002760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 61 | | ca|
|00002770| 6c 6c 20 20 20 20 63 73 | 3a 5b 69 6e 74 31 33 68 |ll cs|:[int13h|
|00002780| 5d 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |].. | |
|00002790| 20 20 20 70 75 73 68 66 | 20 20 20 20 20 20 20 20 | pushf| |
|000027a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000027b0| 20 20 20 3b 73 61 76 65 | 20 66 6c 61 67 73 20 61 | ;save| flags a|
|000027c0| 67 61 69 6e 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |gain.. | |
|000027d0| 20 20 20 20 20 20 64 65 | 63 20 20 20 20 20 63 73 | de|c cs|
|000027e0| 3a 69 6e 74 31 33 5f 61 | 63 74 69 76 65 20 20 20 |:int13_a|ctive |
|000027f0| 20 20 20 20 20 20 3b 72 | 65 73 65 74 20 64 69 73 | ;r|eset dis|
|00002800| 6b 20 61 63 63 65 73 73 | 20 66 6c 61 67 0d 0a 20 |k access| flag.. |
|00002810| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00002820| 6f 70 66 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |opf | |
|00002830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00002840| 72 65 73 74 6f 72 65 20 | 66 6c 61 67 73 0d 0a 20 |restore |flags.. |
|00002850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00002860| 65 74 20 20 20 20 20 32 | 20 20 20 20 20 20 20 20 |et 2| |
|00002870| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00002880| 65 78 69 74 20 77 69 74 | 68 20 66 6c 61 67 73 20 |exit wit|h flags |
|00002890| 69 6e 74 61 63 74 0d 0a | 64 69 73 6b 69 6e 74 20 |intact..|diskint |
|000028a0| 20 20 20 20 20 20 20 20 | 65 6e 64 70 0d 0a 0d 0a | |endp....|
|000028b0| 3b 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |;=======|========|
|000028c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000028d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000028e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000028f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0a 3b |========|=====..;|
|00002900| 20 42 49 4f 53 4b 45 59 | 49 4e 54 20 70 72 6f 63 | BIOSKEY|INT proc|
|00002910| 65 73 73 65 73 20 74 68 | 65 20 42 49 4f 53 20 6b |esses th|e BIOS k|
|00002920| 65 79 62 6f 61 72 64 20 | 73 65 72 76 69 63 65 73 |eyboard |services|
|00002930| 0d 0a 3b 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..;=====|========|
|00002940| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002950| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002960| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002970| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00002980| 0a 62 69 6f 73 6b 65 79 | 69 6e 74 20 20 20 20 20 |.bioskey|int |
|00002990| 20 70 72 6f 63 20 20 20 | 20 66 61 72 0d 0a 20 20 | proc | far.. |
|000029a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 61 73 | | as|
|000029b0| 73 75 6d 65 20 20 63 73 | 3a 63 6f 64 65 2c 64 73 |sume cs|:code,ds|
|000029c0| 3a 6e 6f 74 68 69 6e 67 | 2c 65 73 3a 6e 6f 74 68 |:nothing|,es:noth|
|000029d0| 69 6e 67 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ing.. | |
|000029e0| 20 20 20 20 20 70 75 73 | 68 66 20 20 20 20 20 20 | pus|hf |
|000029f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002a00| 20 20 20 20 20 3b 73 61 | 76 65 20 66 6c 61 67 73 | ;sa|ve flags|
|00002a10| 20 72 65 67 69 73 74 65 | 72 0d 0a 20 20 20 20 20 | registe|r.. |
|00002a20| 20 20 20 20 20 20 20 20 | 20 20 20 69 6e 63 20 20 | | inc |
|00002a30| 20 20 20 63 73 3a 69 6e | 74 31 36 5f 61 63 74 69 | cs:in|t16_acti|
|00002a40| 76 65 20 20 20 20 20 20 | 20 20 20 3b 73 65 74 20 |ve | ;set |
|00002a50| 6b 65 79 62 6f 61 72 64 | 20 61 63 74 69 76 65 20 |keyboard| active |
|00002a60| 66 6c 61 67 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |flag.. | |
|00002a70| 20 20 20 20 20 20 63 61 | 6c 6c 20 20 20 20 63 73 | ca|ll cs|
|00002a80| 3a 5b 69 6e 74 31 36 68 | 5d 0d 0a 20 20 20 20 20 |:[int16h|].. |
|00002a90| 20 20 20 20 20 20 20 20 | 20 20 20 70 75 73 68 66 | | pushf|
|00002aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ab0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 73 61 76 65 | | ;save|
|00002ac0| 20 66 6c 61 67 73 20 61 | 67 61 69 6e 0d 0a 20 20 | flags a|gain.. |
|00002ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 64 65 | | de|
|00002ae0| 63 20 20 20 20 20 63 73 | 3a 69 6e 74 31 36 5f 61 |c cs|:int16_a|
|00002af0| 63 74 69 76 65 20 20 20 | 20 20 20 20 20 20 3b 72 |ctive | ;r|
|00002b00| 65 73 65 74 20 6b 65 79 | 62 6f 72 61 72 64 20 61 |eset key|borard a|
|00002b10| 76 74 69 76 65 20 66 6c | 61 67 0d 0a 20 20 20 20 |vtive fl|ag.. |
|00002b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 6f 70 66 | | popf|
|00002b30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002b40| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 72 65 73 | | ;res|
|00002b50| 74 6f 72 65 20 66 6c 61 | 67 73 0d 0a 20 20 20 20 |tore fla|gs.. |
|00002b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 65 74 20 | | ret |
|00002b70| 20 20 20 20 32 20 20 20 | 20 20 20 20 20 20 20 20 | 2 | |
|00002b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 65 78 69 | | ;exi|
|00002b90| 74 20 77 69 74 68 20 66 | 6c 61 67 73 20 69 6e 74 |t with f|lags int|
|00002ba0| 61 63 74 0d 0a 62 69 6f | 73 6b 65 79 69 6e 74 20 |act..bio|skeyint |
|00002bb0| 20 20 20 20 20 65 6e 64 | 70 0d 0a 0d 0a 3b 3d 3d | end|p....;==|
|00002bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 0a 3b 20 54 49 |========|==..; TI|
|00002c10| 4d 45 52 49 4e 54 20 70 | 72 6f 63 65 73 73 65 73 |MERINT p|rocesses|
|00002c20| 20 74 69 6d 65 72 20 69 | 6e 74 65 72 72 75 70 74 | timer i|nterrupt|
|00002c30| 20 28 49 6e 74 20 30 38 | 68 29 0d 0a 3b 3d 3d 3d | (Int 08|h)..;===|
|00002c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 74 69 6d 65 72 |========|=..timer|
|00002c90| 69 6e 74 20 20 20 20 20 | 20 20 20 70 72 6f 63 20 |int | proc |
|00002ca0| 20 20 20 66 61 72 0d 0a | 20 20 20 20 20 20 20 20 | far..| |
|00002cb0| 20 20 20 20 20 20 20 20 | 61 73 73 75 6d 65 20 20 | |assume |
|00002cc0| 63 73 3a 63 6f 64 65 2c | 64 73 3a 6e 6f 74 68 69 |cs:code,|ds:nothi|
|00002cd0| 6e 67 2c 65 73 3a 6e 6f | 74 68 69 6e 67 0d 0a 20 |ng,es:no|thing.. |
|00002ce0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00002cf0| 75 73 68 66 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ushf.. | |
|00002d00| 20 20 20 20 20 20 63 61 | 6c 6c 20 20 20 20 63 73 | ca|ll cs|
|00002d10| 3a 5b 69 6e 74 30 38 68 | 5d 20 20 20 20 20 20 20 |:[int08h|] |
|00002d20| 20 20 20 20 20 20 3b 43 | 61 6c 6c 20 6f 6c 64 20 | ;C|all old |
|00002d30| 69 6e 74 20 38 0d 0a 0d | 0a 20 20 20 20 20 20 20 |int 8...|. |
|00002d40| 20 20 20 20 20 20 20 20 | 20 63 6d 70 20 20 20 20 | | cmp |
|00002d50| 20 63 73 3a 69 6e 74 30 | 38 5f 61 63 74 69 76 65 | cs:int0|8_active|
|00002d60| 2c 30 20 20 20 20 20 20 | 20 3b 53 65 65 20 69 66 |,0 | ;See if|
|00002d70| 20 77 65 20 61 72 65 20 | 69 6e 20 74 68 69 73 0d | we are |in this.|
|00002d80| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00002d90| 20 6a 6e 65 20 20 20 20 | 20 74 69 6d 65 72 69 6e | jne | timerin|
|00002da0| 74 5f 65 78 69 74 20 20 | 20 20 20 20 20 20 20 20 |t_exit | |
|00002db0| 20 3b 20 20 72 6f 75 74 | 69 6e 65 20 61 6c 72 65 | ; rout|ine alre|
|00002dc0| 61 64 79 0d 0a 0d 0a 20 | 20 20 20 20 20 20 20 20 |ady.... | |
|00002dd0| 20 20 20 20 20 20 20 63 | 6d 70 20 20 20 20 20 63 | c|mp c|
|00002de0| 73 3a 70 6f 70 66 6c 61 | 67 2c 30 20 20 20 20 20 |s:popfla|g,0 |
|00002df0| 20 20 20 20 20 20 20 3b | 53 65 65 20 69 66 20 77 | ;|See if w|
|00002e00| 65 20 6e 65 65 64 20 74 | 6f 20 74 72 79 20 74 6f |e need t|o try to|
|00002e10| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00002e20| 20 20 6a 6e 65 20 20 20 | 20 20 74 69 6d 65 72 5f | jne | timer_|
|00002e30| 63 68 65 63 6b 20 20 20 | 20 20 20 20 20 20 20 20 |check | |
|00002e40| 20 20 3b 20 20 70 6f 70 | 20 75 70 0d 0a 74 69 6d | ; pop| up..tim|
|00002e50| 65 72 69 6e 74 5f 65 78 | 69 74 3a 0d 0a 20 20 20 |erint_ex|it:.. |
|00002e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 72 65 | | ire|
|00002e70| 74 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t | |
|00002e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 52 65 | | ;Re|
|00002e90| 74 75 72 6e 0d 0a 74 69 | 6d 65 72 5f 63 68 65 63 |turn..ti|mer_chec|
|00002ea0| 6b 3a 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |k:.. | |
|00002eb0| 20 20 20 20 70 75 73 68 | 20 20 20 20 61 78 0d 0a | push| ax..|
|00002ec0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ed0| 69 6e 63 20 20 20 20 20 | 63 73 3a 69 6e 74 30 38 |inc |cs:int08|
|00002ee0| 5f 61 63 74 69 76 65 20 | 20 20 20 20 20 20 20 20 |_active | |
|00002ef0| 3b 53 65 74 20 69 6e 74 | 20 61 63 74 69 76 65 20 |;Set int| active |
|00002f00| 66 6c 61 67 0d 0a 0d 0a | 20 20 20 20 20 20 20 20 |flag....| |
|00002f10| 20 20 20 20 20 20 20 20 | 63 61 6c 6c 20 20 20 20 | |call |
|00002f20| 63 68 65 63 6b 5f 73 79 | 73 74 65 6d 20 20 20 20 |check_sy|stem |
|00002f30| 20 20 20 20 20 20 20 20 | 3b 53 65 65 20 69 66 20 | |;See if |
|00002f40| 73 79 73 74 65 6d 20 4f | 4b 20 74 6f 20 70 6f 70 |system O|K to pop|
|00002f50| 20 75 70 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | up.. | |
|00002f60| 20 20 20 20 20 6f 72 20 | 20 20 20 20 20 61 78 2c | or | ax,|
|00002f70| 61 78 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ax.. | |
|00002f80| 20 20 20 20 6a 6e 65 20 | 20 20 20 20 74 69 6d 65 | jne | time|
|00002f90| 72 69 6e 74 5f 64 65 63 | 0d 0a 20 20 20 20 20 20 |rint_dec|.. |
|00002fa0| 20 20 20 20 20 20 20 20 | 20 20 63 61 6c 6c 20 20 | | call |
|00002fb0| 20 20 6d 61 69 6e 20 20 | 20 20 20 20 20 20 20 20 | main | |
|00002fc0| 20 20 20 20 20 20 20 20 | 20 20 3b 43 61 6c 6c 20 | | ;Call |
|00002fd0| 74 68 65 20 54 53 52 0d | 0a 20 20 20 20 20 20 20 |the TSR.|. |
|00002fe0| 20 20 20 20 20 20 20 20 | 20 6d 6f 76 20 20 20 20 | | mov |
|00002ff0| 20 63 73 3a 70 6f 70 66 | 6c 61 67 2c 31 0d 0a 74 | cs:popf|lag,1..t|
|00003000| 69 6d 65 72 69 6e 74 5f | 64 65 63 3a 0d 0a 20 20 |imerint_|dec:.. |
|00003010| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 64 65 | | de|
|00003020| 63 20 20 20 20 20 63 73 | 3a 70 6f 70 66 6c 61 67 |c cs|:popflag|
|00003030| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00003040| 20 20 64 65 63 20 20 20 | 20 20 63 73 3a 69 6e 74 | dec | cs:int|
|00003050| 30 38 5f 61 63 74 69 76 | 65 20 20 20 20 20 20 20 |08_activ|e |
|00003060| 20 20 3b 43 6c 65 61 72 | 20 69 6e 74 20 61 63 74 | ;Clear| int act|
|00003070| 69 76 65 20 66 6c 61 67 | 0d 0a 20 20 20 20 20 20 |ive flag|.. |
|00003080| 20 20 20 20 20 20 20 20 | 20 20 70 6f 70 20 20 20 | | pop |
|00003090| 20 20 61 78 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | ax.. | |
|000030a0| 20 20 20 20 20 20 6a 6d | 70 20 20 20 20 20 73 68 | jm|p sh|
|000030b0| 6f 72 74 20 74 69 6d 65 | 72 69 6e 74 5f 65 78 69 |ort time|rint_exi|
|000030c0| 74 0d 0a 74 69 6d 65 72 | 69 6e 74 20 20 20 20 20 |t..timer|int |
|000030d0| 20 20 20 65 6e 64 70 0d | 0a 0d 0a 3b 3d 3d 3d 3d | endp.|...;====|
|000030e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000030f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003100| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003110| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003120| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0a 3b 20 4b 45 59 49 |========|..; KEYI|
|00003130| 4e 54 20 70 72 6f 63 65 | 73 73 65 73 20 6b 65 79 |NT proce|sses key|
|00003140| 62 6f 61 72 64 20 69 6e | 74 65 72 72 75 70 74 73 |board in|terrupts|
|00003150| 20 28 49 6e 74 20 30 39 | 68 29 0d 0a 3b 3d 3d 3d | (Int 09|h)..;===|
|00003160| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003170| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003180| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003190| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000031a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 6b 65 79 69 6e |========|=..keyin|
|000031b0| 74 20 20 20 20 20 20 20 | 20 20 20 70 72 6f 63 20 |t | proc |
|000031c0| 20 20 20 66 61 72 0d 0a | 20 20 20 20 20 20 20 20 | far..| |
|000031d0| 20 20 20 20 20 20 20 20 | 61 73 73 75 6d 65 20 20 | |assume |
|000031e0| 63 73 3a 63 6f 64 65 2c | 64 73 3a 6e 6f 74 68 69 |cs:code,|ds:nothi|
|000031f0| 6e 67 2c 65 73 3a 6e 6f | 74 68 69 6e 67 0d 0a 20 |ng,es:no|thing.. |
|00003200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00003210| 75 73 68 66 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ushf.. | |
|00003220| 20 20 20 20 20 20 63 61 | 6c 6c 20 20 20 20 63 73 | ca|ll cs|
|00003230| 3a 5b 69 6e 74 30 39 68 | 5d 20 20 20 20 20 20 20 |:[int09h|] |
|00003240| 20 20 20 20 20 20 3b 43 | 61 6c 6c 20 6f 6c 64 20 | ;C|all old |
|00003250| 69 6e 74 20 39 0d 0a 0d | 0a 20 20 20 20 20 20 20 |int 9...|. |
|00003260| 20 20 20 20 20 20 20 20 | 20 70 75 73 68 20 20 20 | | push |
|00003270| 20 61 78 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | ax.. | |
|00003280| 20 20 20 20 20 70 75 73 | 68 20 20 20 20 64 73 0d | pus|h ds.|
|00003290| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000032a0| 20 6d 6f 76 20 20 20 20 | 20 61 78 2c 34 30 68 0d | mov | ax,40h.|
|000032b0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000032c0| 20 6d 6f 76 20 20 20 20 | 20 64 73 2c 61 78 20 20 | mov | ds,ax |
|000032d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000032e0| 20 3b 53 65 74 20 45 53 | 20 74 6f 20 62 69 6f 73 | ;Set ES| to bios|
|000032f0| 20 64 61 74 61 20 73 65 | 67 6d 65 6e 74 0d 0a 20 | data se|gment.. |
|00003300| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 61 | | a|
|00003310| 73 73 75 6d 65 20 20 64 | 73 3a 62 69 6f 73 5f 64 |ssume d|s:bios_d|
|00003320| 61 74 61 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ata.. | |
|00003330| 20 20 20 20 20 6d 6f 76 | 20 20 20 20 20 61 6c 2c | mov| al,|
|00003340| 64 73 3a 5b 73 68 69 66 | 74 5f 73 74 61 74 65 5d |ds:[shif|t_state]|
|00003350| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00003360| 20 20 61 6e 64 20 20 20 | 20 20 61 6c 2c 30 66 68 | and | al,0fh|
|00003370| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003380| 20 20 3b 4d 61 73 6b 20 | 6c 6f 63 6b 20 62 69 74 | ;Mask |lock bit|
|00003390| 73 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |s.. | |
|000033a0| 20 20 20 63 6d 70 20 20 | 20 20 20 61 6c 2c 63 73 | cmp | al,cs|
|000033b0| 3a 5b 68 6f 74 73 68 69 | 66 74 5d 0d 0a 20 20 20 |:[hotshi|ft].. |
|000033c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 6f 70 | | pop|
|000033d0| 20 20 20 20 20 64 73 0d | 0a 20 20 20 20 20 20 20 | ds.|. |
|000033e0| 20 20 20 20 20 20 20 20 | 20 70 6f 70 20 20 20 20 | | pop |
|000033f0| 20 61 78 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 | ax.. | |
|00003400| 20 20 20 20 20 6a 65 20 | 20 20 20 20 20 6b 65 79 | je | key|
|00003410| 69 6e 74 5f 68 6f 74 6b | 65 79 0d 0a 6b 65 79 69 |int_hotk|ey..keyi|
|00003420| 6e 74 5f 65 78 69 74 3a | 0d 0a 20 20 20 20 20 20 |nt_exit:|.. |
|00003430| 20 20 20 20 20 20 20 20 | 20 20 69 72 65 74 20 20 | | iret |
|00003440| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003450| 20 20 20 20 20 20 20 20 | 20 20 3b 52 65 74 75 72 | | ;Retur|
|00003460| 6e 0d 0a 6b 65 79 69 6e | 74 5f 68 6f 74 6b 65 79 |n..keyin|t_hotkey|
|00003470| 3a 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |:.. | |
|00003480| 20 20 20 6d 6f 76 20 20 | 20 20 20 63 73 3a 70 6f | mov | cs:po|
|00003490| 70 66 6c 61 67 2c 50 4f | 50 54 49 4d 45 20 20 20 |pflag,PO|PTIME |
|000034a0| 20 20 20 3b 53 65 74 20 | 74 69 6d 65 72 20 74 6f | ;Set |timer to|
|000034b0| 20 70 6f 70 20 75 70 0d | 0a 20 20 20 20 20 20 20 | pop up.|. |
|000034c0| 20 20 20 20 20 20 20 20 | 20 6a 6d 70 20 20 20 20 | | jmp |
|000034d0| 20 73 68 6f 72 74 20 6b | 65 79 69 6e 74 5f 65 78 | short k|eyint_ex|
|000034e0| 69 74 0d 0a 6b 65 79 69 | 6e 74 20 20 20 20 20 20 |it..keyi|nt |
|000034f0| 20 20 20 20 65 6e 64 70 | 0d 0a 0d 0a 3b 3d 3d 3d | endp|....;===|
|00003500| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003510| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003520| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003530| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003540| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 3b 20 49 44 4c |========|=..; IDL|
|00003550| 45 49 4e 54 20 70 72 6f | 63 65 73 73 65 73 20 44 |EINT pro|cesses D|
|00003560| 4f 53 20 49 64 6c 65 20 | 69 6e 74 65 72 72 75 70 |OS Idle |interrup|
|00003570| 74 20 28 49 6e 74 20 32 | 38 68 29 0d 0a 3b 3d 3d |t (Int 2|8h)..;==|
|00003580| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003590| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 0a 69 64 6c 65 |========|==..idle|
|000035d0| 69 6e 74 20 20 20 20 20 | 20 20 20 20 70 72 6f 63 |int | proc|
|000035e0| 20 20 20 20 66 61 72 0d | 0a 20 20 20 20 20 20 20 | far.|. |
|000035f0| 20 20 20 20 20 20 20 20 | 20 61 73 73 75 6d 65 20 | | assume |
|00003600| 20 63 73 3a 63 6f 64 65 | 2c 64 73 3a 6e 6f 74 68 | cs:code|,ds:noth|
|00003610| 69 6e 67 2c 65 73 3a 6e | 6f 74 68 69 6e 67 0d 0a |ing,es:n|othing..|
|00003620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003630| 70 75 73 68 66 0d 0a 20 | 20 20 20 20 20 20 20 20 |pushf.. | |
|00003640| 20 20 20 20 20 20 20 63 | 61 6c 6c 20 20 20 20 63 | c|all c|
|00003650| 73 3a 5b 69 6e 74 32 38 | 68 5d 20 20 20 20 20 20 |s:[int28|h] |
|00003660| 20 20 20 20 20 20 20 3b | 43 61 6c 6c 20 6f 6c 64 | ;|Call old|
|00003670| 20 69 6e 74 0d 0a 0d 0a | 20 20 20 20 20 20 20 20 | int....| |
|00003680| 20 20 20 20 20 20 20 20 | 63 6d 70 20 20 20 20 20 | |cmp |
|00003690| 63 73 3a 69 6e 74 32 38 | 5f 61 63 74 69 76 65 2c |cs:int28|_active,|
|000036a0| 30 20 20 20 20 20 20 20 | 3b 53 65 65 20 69 66 20 |0 |;See if |
|000036b0| 77 65 20 61 72 65 20 69 | 6e 20 74 68 69 73 0d 0a |we are i|n this..|
|000036c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000036d0| 6a 6e 65 20 20 20 20 20 | 69 64 6c 65 69 6e 74 5f |jne |idleint_|
|000036e0| 65 78 69 74 20 20 20 20 | 20 20 20 20 20 20 20 20 |exit | |
|000036f0| 3b 20 20 72 6f 75 74 69 | 6e 65 20 61 6c 72 65 61 |; routi|ne alrea|
|00003700| 64 79 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |dy.. | |
|00003710| 20 20 20 20 63 6d 70 20 | 20 20 20 20 63 73 3a 70 | cmp | cs:p|
|00003720| 6f 70 66 6c 61 67 2c 30 | 20 20 20 20 20 20 20 20 |opflag,0| |
|00003730| 20 20 20 20 3b 53 65 65 | 20 69 66 20 77 65 20 6e | ;See| if we n|
|00003740| 65 65 64 20 74 6f 20 74 | 72 79 20 74 6f 0d 0a 20 |eed to t|ry to.. |
|00003750| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6a | | j|
|00003760| 6e 65 20 20 20 20 20 69 | 64 6c 65 5f 63 68 65 63 |ne i|dle_chec|
|00003770| 6b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b |k | ;|
|00003780| 20 20 70 6f 70 20 75 70 | 0d 0a 69 64 6c 65 69 6e | pop up|..idlein|
|00003790| 74 5f 65 78 69 74 3a 0d | 0a 20 20 20 20 20 20 20 |t_exit:.|. |
|000037a0| 20 20 20 20 20 20 20 20 | 20 69 72 65 74 20 20 20 | | iret |
|000037b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000037c0| 20 20 20 20 20 20 20 20 | 20 3b 52 65 74 75 72 6e | | ;Return|
|000037d0| 0d 0a 69 64 6c 65 5f 63 | 68 65 63 6b 3a 0d 0a 20 |..idle_c|heck:.. |
|000037e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|000037f0| 75 73 68 20 20 20 20 61 | 78 0d 0a 20 20 20 20 20 |ush a|x.. |
|00003800| 20 20 20 20 20 20 20 20 | 20 20 20 69 6e 63 20 20 | | inc |
|00003810| 20 20 20 63 73 3a 69 6e | 74 32 38 5f 61 63 74 69 | cs:in|t28_acti|
|00003820| 76 65 20 20 20 20 20 20 | 20 20 20 3b 53 65 74 20 |ve | ;Set |
|00003830| 69 6e 74 20 61 63 74 69 | 76 65 20 66 6c 61 67 0d |int acti|ve flag.|
|00003840| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00003850| 20 63 61 6c 6c 20 20 20 | 20 63 68 65 63 6b 5f 73 | call | check_s|
|00003860| 79 73 74 65 6d 20 20 20 | 20 20 20 20 20 20 20 20 |ystem | |
|00003870| 20 3b 53 65 65 20 69 66 | 20 4f 4b 20 74 6f 20 70 | ;See if| OK to p|
|00003880| 6f 70 20 75 70 2e 20 20 | 49 67 6e 6f 72 65 0d 0a |op up. |Ignore..|
|00003890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000038a0| 6f 72 20 20 20 20 20 20 | 61 6c 2c 61 6c 20 20 20 |or |al,al |
|000038b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000038c0| 3b 20 20 49 4e 44 4f 53 | 20 73 69 6e 63 65 20 69 |; INDOS| since i|
|000038d0| 6e 20 69 64 6c 65 2e 0d | 0a 20 20 20 20 20 20 20 |n idle..|. |
|000038e0| 20 20 20 20 20 20 20 20 | 20 6a 6e 65 20 20 20 20 | | jne |
|000038f0| 20 69 64 6c 65 69 6e 74 | 5f 65 78 69 74 31 0d 0a | idleint|_exit1..|
|00003900| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003910| 6d 6f 76 20 20 20 20 20 | 63 73 3a 70 6f 70 66 6c |mov |cs:popfl|
|00003920| 61 67 2c 30 20 20 20 20 | 20 20 20 20 20 20 20 20 |ag,0 | |
|00003930| 3b 43 6c 65 61 72 20 70 | 6f 70 75 70 20 66 6c 61 |;Clear p|opup fla|
|00003940| 67 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |g.. | |
|00003950| 20 20 20 63 61 6c 6c 20 | 20 20 20 6d 61 69 6e 20 | call | main |
|00003960| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003970| 20 20 20 3b 43 61 6c 6c | 20 74 68 65 20 54 53 52 | ;Call| the TSR|
|00003980| 0d 0a 69 64 6c 65 69 6e | 74 5f 65 78 69 74 31 3a |..idlein|t_exit1:|
|00003990| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|000039a0| 20 20 64 65 63 20 20 20 | 20 20 63 73 3a 69 6e 74 | dec | cs:int|
|000039b0| 32 38 5f 61 63 74 69 76 | 65 20 20 20 20 20 20 20 |28_activ|e |
|000039c0| 20 20 3b 43 6c 65 61 72 | 20 69 6e 74 20 61 63 74 | ;Clear| int act|
|000039d0| 69 76 65 20 66 6c 61 67 | 0d 0a 20 20 20 20 20 20 |ive flag|.. |
|000039e0| 20 20 20 20 20 20 20 20 | 20 20 70 6f 70 20 20 20 | | pop |
|000039f0| 20 20 61 78 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | ax.. | |
|00003a00| 20 20 20 20 20 20 6a 6d | 70 20 20 20 20 20 73 68 | jm|p sh|
|00003a10| 6f 72 74 20 69 64 6c 65 | 69 6e 74 5f 65 78 69 74 |ort idle|int_exit|
|00003a20| 0d 0a 69 64 6c 65 69 6e | 74 20 20 20 20 20 20 20 |..idlein|t |
|00003a30| 20 20 65 6e 64 70 0d 0a | 0d 0a 3b 3d 3d 3d 3d 3d | endp..|..;=====|
|00003a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a80| 3d 3d 3d 3d 3d 3d 3d 0d | 0a 3b 20 4d 55 58 49 4e |=======.|.; MUXIN|
|00003a90| 54 20 70 72 6f 63 65 73 | 73 65 73 20 74 68 65 20 |T proces|ses the |
|00003aa0| 44 4f 53 20 4d 75 6c 74 | 69 70 6c 65 78 20 69 6e |DOS Mult|iplex in|
|00003ab0| 74 65 72 72 75 70 74 0d | 0a 3b 3d 3d 3d 3d 3d 3d |terrupt.|.;======|
|00003ac0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ad0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ae0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003af0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003b00| 3d 3d 3d 3d 3d 3d 0d 0a | 6d 75 78 69 6e 74 20 20 |======..|muxint |
|00003b10| 20 20 20 20 20 20 20 20 | 70 72 6f 63 20 20 20 20 | |proc |
|00003b20| 66 61 72 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |far.. | |
|00003b30| 20 20 20 20 20 61 73 73 | 75 6d 65 20 20 63 73 3a | ass|ume cs:|
|00003b40| 63 6f 64 65 2c 64 73 3a | 6e 6f 74 68 69 6e 67 2c |code,ds:|nothing,|
|00003b50| 65 73 3a 6e 6f 74 68 69 | 6e 67 0d 0a 0d 0a 20 20 |es:nothi|ng.... |
|00003b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 6d | | cm|
|00003b70| 70 20 20 20 20 20 61 78 | 2c 31 36 30 35 68 20 20 |p ax|,1605h |
|00003b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 53 | | ;S|
|00003b90| 65 65 20 69 66 20 57 69 | 6e 64 6f 77 73 20 73 74 |ee if Wi|ndows st|
|00003ba0| 61 72 74 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |art.. | |
|00003bb0| 20 20 20 20 20 6a 65 20 | 20 20 20 20 20 69 6e 69 | je | ini|
|00003bc0| 74 5f 77 69 6e 0d 0a 20 | 20 20 20 20 20 20 20 20 |t_win.. | |
|00003bd0| 20 20 20 20 20 20 20 63 | 6d 70 20 20 20 20 20 61 | c|mp a|
|00003be0| 78 2c 34 62 30 35 68 20 | 20 20 20 20 20 20 20 20 |x,4b05h | |
|00003bf0| 20 20 20 20 20 20 20 3b | 53 65 65 20 69 66 20 73 | ;|See if s|
|00003c00| 77 69 74 63 68 65 72 20 | 67 65 74 20 69 6e 73 74 |witcher |get inst|
|00003c10| 61 6e 63 65 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ance.. | |
|00003c20| 20 20 20 20 20 20 6a 65 | 20 20 20 20 20 20 69 6e | je| in|
|00003c30| 69 74 5f 69 6e 73 74 61 | 6e 63 65 20 20 20 20 20 |it_insta|nce |
|00003c40| 20 20 20 20 20 20 3b 20 | 20 64 61 74 61 2e 0d 0a | ; | data...|
|00003c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003c60| 63 6d 70 20 20 20 20 20 | 61 78 2c 34 62 30 31 68 |cmp |ax,4b01h|
|00003c70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003c80| 3b 53 65 65 20 69 66 20 | 73 77 69 74 63 68 65 72 |;See if |switcher|
|00003c90| 20 62 75 69 6c 64 20 63 | 68 61 69 6e 0d 0a 20 20 | build c|hain.. |
|00003ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6a 65 | | je|
|00003cb0| 20 20 20 20 20 20 63 68 | 61 69 6e 5f 69 6e 69 74 | ch|ain_init|
|00003cc0| 0d 0a 6d 75 78 69 6e 74 | 5f 6a 6d 70 3a 0d 0a 20 |..muxint|_jmp:.. |
|00003cd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6a | | j|
|00003ce0| 6d 70 20 20 20 20 20 63 | 73 3a 5b 69 6e 74 32 66 |mp c|s:[int2f|
|00003cf0| 68 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b |h] | ;|
|00003d00| 43 61 6c 6c 20 6f 6c 64 | 20 69 6e 74 0d 0a 63 6c |Call old| int..cl|
|00003d10| 6f 73 65 5f 77 69 6e 3a | 0d 0a 20 20 20 20 20 20 |ose_win:|.. |
|00003d20| 20 20 20 20 20 20 20 20 | 20 20 74 65 73 74 20 20 | | test |
|00003d30| 20 20 64 78 2c 30 31 68 | 20 20 20 20 20 20 20 20 | dx,01h| |
|00003d40| 20 20 20 20 20 20 20 20 | 20 20 3b 53 65 65 20 69 | | ;See i|
|00003d50| 66 20 65 6e 68 61 6e 63 | 65 64 20 6d 6f 64 65 20 |f enhanc|ed mode |
|00003d60| 57 69 6e 64 6f 77 73 0d | 0a 20 20 20 20 20 20 20 |Windows.|. |
|00003d70| 20 20 20 20 20 20 20 20 | 20 6a 6e 65 20 20 20 20 | | jne |
|00003d80| 20 6d 75 78 69 6e 74 5f | 6a 6d 70 0d 0a 20 20 20 | muxint_|jmp.. |
|00003d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 64 65 63 | | dec|
|00003da0| 20 20 20 20 20 63 73 3a | 77 69 6e 5f 65 6e 68 61 | cs:|win_enha|
|00003db0| 6e 63 65 64 20 20 20 20 | 20 20 20 20 20 3b 43 6c |nced | ;Cl|
|00003dc0| 65 61 72 20 65 6e 68 61 | 6e 63 65 64 20 6d 6f 64 |ear enha|nced mod|
|00003dd0| 65 20 66 6c 61 67 0d 0a | 20 20 20 20 20 20 20 20 |e flag..| |
|00003de0| 20 20 20 20 20 20 20 20 | 6a 6d 70 20 20 20 20 20 | |jmp |
|00003df0| 73 68 6f 72 74 20 6d 75 | 78 69 6e 74 5f 6a 6d 70 |short mu|xint_jmp|
|00003e00| 0d 0a 69 6e 69 74 5f 77 | 69 6e 3a 0d 0a 20 20 20 |..init_w|in:.. |
|00003e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 74 65 73 | | tes|
|00003e20| 74 20 20 20 20 64 78 2c | 30 31 68 20 20 20 20 20 |t dx,|01h |
|00003e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 53 65 | | ;Se|
|00003e40| 65 20 69 66 20 65 6e 68 | 61 6e 63 65 64 20 6d 6f |e if enh|anced mo|
|00003e50| 64 65 20 57 69 6e 64 6f | 77 73 0d 0a 20 20 20 20 |de Windo|ws.. |
|00003e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 6a 6e 65 20 | | jne |
|00003e70| 20 20 20 20 69 6e 69 74 | 5f 69 6e 73 74 61 6e 63 | init|_instanc|
|00003e80| 65 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e.. | |
|00003e90| 20 20 20 69 6e 63 20 20 | 20 20 20 63 73 3a 77 69 | inc | cs:wi|
|00003ea0| 6e 5f 65 6e 68 61 6e 63 | 65 64 0d 0a 69 6e 69 74 |n_enhanc|ed..init|
|00003eb0| 5f 69 6e 73 74 61 6e 63 | 65 3a 0d 0a 20 20 20 20 |_instanc|e:.. |
|00003ec0| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 75 73 68 | | push|
|00003ed0| 66 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |f.. | |
|00003ee0| 20 20 20 63 61 6c 6c 20 | 20 20 20 63 73 3a 5b 69 | call | cs:[i|
|00003ef0| 6e 74 32 66 68 5d 20 20 | 20 20 20 20 20 20 20 20 |nt2fh] | |
|00003f00| 20 20 20 3b 43 61 6c 6c | 20 6f 6c 64 20 69 6e 74 | ;Call| old int|
|00003f10| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00003f20| 20 20 6d 6f 76 20 20 20 | 20 20 77 6f 72 64 20 70 | mov | word p|
|00003f30| 74 72 20 63 73 3a 5b 73 | 69 73 4e 65 78 74 44 65 |tr cs:[s|isNextDe|
|00003f40| 76 5d 2c 62 78 0d 0a 20 | 20 20 20 20 20 20 20 20 |v],bx.. | |
|00003f50| 20 20 20 20 20 20 20 6d | 6f 76 20 20 20 20 20 77 | m|ov w|
|00003f60| 6f 72 64 20 70 74 72 20 | 63 73 3a 5b 73 69 73 4e |ord ptr |cs:[sisN|
|00003f70| 65 78 74 44 65 76 2b 32 | 5d 2c 65 73 0d 0a 20 20 |extDev+2|],es.. |
|00003f80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 70 75 | | pu|
|00003f90| 73 68 20 20 20 20 63 73 | 20 20 20 20 20 20 20 20 |sh cs| |
|00003fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 45 | | ;E|
|00003fb0| 53 3a 42 58 20 70 6f 69 | 6e 74 20 74 6f 20 73 77 |S:BX poi|nt to sw|
|00003fc0| 69 74 63 68 65 72 20 73 | 74 72 75 63 0d 0a 20 20 |itcher s|truc.. |
|00003fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 70 6f | | po|
|00003fe0| 70 20 20 20 20 20 65 73 | 0d 0a 20 20 20 20 20 20 |p es|.. |
|00003ff0| 20 20 20 20 20 20 20 20 | 20 20 6d 6f 76 20 20 20 | | mov |
|00004000| 20 20 62 78 2c 6f 66 66 | 73 65 74 20 53 74 61 72 | bx,off|set Star|
|00004010| 74 75 70 49 6e 66 6f 0d | 0a 20 20 20 20 20 20 20 |tupInfo.|. |
|00004020| 20 20 20 20 20 20 20 20 | 20 6a 6d 70 20 20 20 20 | | jmp |
|00004030| 20 73 68 6f 72 74 20 6d | 75 78 69 6e 74 5f 65 78 | short m|uxint_ex|
|00004040| 69 74 0d 0a 63 68 61 69 | 6e 5f 69 6e 69 74 3a 0d |it..chai|n_init:.|
|00004050| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004060| 20 70 75 73 68 66 0d 0a | 20 20 20 20 20 20 20 20 | pushf..| |
|00004070| 20 20 20 20 20 20 20 20 | 63 61 6c 6c 20 20 20 20 | |call |
|00004080| 63 73 3a 5b 69 6e 74 32 | 66 68 5d 20 20 20 20 20 |cs:[int2|fh] |
|00004090| 20 20 20 20 20 20 20 20 | 3b 43 61 6c 6c 20 6f 6c | |;Call ol|
|000040a0| 64 20 69 6e 74 0d 0a 20 | 20 20 20 20 20 20 20 20 |d int.. | |
|000040b0| 20 20 20 20 20 20 20 6d | 6f 76 20 20 20 20 20 77 | m|ov w|
|000040c0| 6f 72 64 20 70 74 72 20 | 63 73 3a 5b 73 63 62 69 |ord ptr |cs:[scbi|
|000040d0| 4e 65 78 74 5d 2c 62 78 | 0d 0a 20 20 20 20 20 20 |Next],bx|.. |
|000040e0| 20 20 20 20 20 20 20 20 | 20 20 6d 6f 76 20 20 20 | | mov |
|000040f0| 20 20 77 6f 72 64 20 70 | 74 72 20 63 73 3a 5b 73 | word p|tr cs:[s|
|00004100| 63 62 69 4e 65 78 74 2b | 32 5d 2c 65 73 0d 0a 20 |cbiNext+|2],es.. |
|00004110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00004120| 75 73 68 20 20 20 20 63 | 73 20 20 20 20 20 20 20 |ush c|s |
|00004130| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00004140| 45 53 3a 42 58 20 70 6f | 69 6e 74 20 74 6f 20 73 |ES:BX po|int to s|
|00004150| 77 69 74 63 68 65 72 20 | 73 74 72 75 63 0d 0a 20 |witcher |struc.. |
|00004160| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00004170| 6f 70 20 20 20 20 20 65 | 73 0d 0a 20 20 20 20 20 |op e|s.. |
|00004180| 20 20 20 20 20 20 20 20 | 20 20 20 6d 6f 76 20 20 | | mov |
|00004190| 20 20 20 62 78 2c 6f 66 | 66 73 65 74 20 43 61 6c | bx,of|fset Cal|
|000041a0| 6c 62 61 63 6b 49 6e 66 | 6f 0d 0a 6d 75 78 69 6e |lbackInf|o..muxin|
|000041b0| 74 5f 65 78 69 74 3a 0d | 0a 20 20 20 20 20 20 20 |t_exit:.|. |
|000041c0| 20 20 20 20 20 20 20 20 | 20 69 72 65 74 0d 0a 6d | | iret..m|
|000041d0| 75 78 69 6e 74 20 20 20 | 20 20 20 20 20 20 20 65 |uxint | e|
|000041e0| 6e 64 70 0d 0a 0d 0a 3b | 2d 2d 2d 2d 2d 2d 2d 2d |ndp....;|--------|
|000041f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004230| 2d 2d 2d 0d 0a 3b 20 43 | 68 65 63 6b 20 53 79 73 |---..; C|heck Sys|
|00004240| 74 65 6d 20 44 65 74 65 | 72 6d 69 6e 65 73 20 69 |tem Dete|rmines i|
|00004250| 66 20 74 68 65 20 73 79 | 73 74 65 6d 20 69 73 20 |f the sy|stem is |
|00004260| 69 6e 20 61 20 73 74 61 | 74 65 20 63 6f 6d 70 61 |in a sta|te compa|
|00004270| 74 69 62 6c 65 20 77 69 | 74 68 20 54 53 52 73 0d |tible wi|th TSRs.|
|00004280| 0a 3b 20 45 78 69 74 3a | 20 43 46 20 2d 20 43 6c |.; Exit:| CF - Cl|
|00004290| 65 61 72 20 69 66 20 4f | 4b 20 74 6f 20 70 6f 70 |ear if O|K to pop|
|000042a0| 20 75 70 0d 0a 3b 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | up..;--|--------|
|000042b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042f0| 2d 0d 0a 63 68 65 63 6b | 5f 73 79 73 74 65 6d 20 |-..check|_system |
|00004300| 20 20 20 70 72 6f 63 20 | 20 20 20 6e 65 61 72 0d | proc | near.|
|00004310| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004320| 20 61 73 73 75 6d 65 20 | 20 63 73 3a 63 6f 64 65 | assume | cs:code|
|00004330| 2c 64 73 3a 6e 6f 74 68 | 69 6e 67 2c 65 73 3a 6e |,ds:noth|ing,es:n|
|00004340| 6f 74 68 69 6e 67 0d 0a | 20 20 20 20 20 20 20 20 |othing..| |
|00004350| 20 20 20 20 20 20 20 20 | 70 75 73 68 20 20 20 20 | |push |
|00004360| 62 78 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |bx.. | |
|00004370| 20 20 20 20 70 75 73 68 | 20 20 20 20 64 73 0d 0a | push| ds..|
|00004380| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004390| 78 6f 72 20 20 20 20 20 | 61 78 2c 61 78 0d 0a 20 |xor |ax,ax.. |
|000043a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6f | | o|
|000043b0| 72 20 20 20 20 20 20 61 | 6c 2c 63 73 3a 69 6e 74 |r a|l,cs:int|
|000043c0| 31 30 5f 61 63 74 69 76 | 65 20 20 20 20 20 20 3b |10_activ|e ;|
|000043d0| 43 68 65 63 6b 20 42 49 | 4f 53 20 76 69 64 65 6f |Check BI|OS video|
|000043e0| 20 69 6e 74 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | int.. | |
|000043f0| 20 20 20 20 20 20 6f 72 | 20 20 20 20 20 20 61 6c | or| al|
|00004400| 2c 63 73 3a 69 6e 74 31 | 33 5f 61 63 74 69 76 65 |,cs:int1|3_active|
|00004410| 20 20 20 20 20 20 3b 43 | 68 65 63 6b 20 42 49 4f | ;C|heck BIO|
|00004420| 53 20 64 69 73 6b 20 69 | 6e 74 0d 0a 20 20 20 20 |S disk i|nt.. |
|00004430| 20 20 20 20 20 20 20 20 | 20 20 20 20 6f 72 20 20 | | or |
|00004440| 20 20 20 20 61 6c 2c 63 | 73 3a 69 6e 74 31 36 5f | al,c|s:int16_|
|00004450| 61 63 74 69 76 65 20 20 | 20 20 20 20 3b 43 68 65 |active | ;Che|
|00004460| 63 6b 20 42 49 4f 53 20 | 6b 65 79 62 6f 61 72 64 |ck BIOS |keyboard|
|00004470| 20 69 6e 74 0d 0a 20 20 | 20 20 20 20 20 20 20 20 | int.. | |
|00004480| 20 20 20 20 20 20 6c 64 | 73 20 20 20 20 20 62 78 | ld|s bx|
|00004490| 2c 63 73 3a 63 72 69 74 | 65 72 72 5f 70 74 72 20 |,cs:crit|err_ptr |
|000044a0| 20 20 20 20 20 20 3b 43 | 68 65 63 6b 20 44 4f 53 | ;C|heck DOS|
|000044b0| 20 63 72 69 74 69 63 61 | 6c 20 65 72 72 6f 72 0d | critica|l error.|
|000044c0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000044d0| 20 6f 72 20 20 20 20 20 | 20 61 6c 2c 62 79 74 65 | or | al,byte|
|000044e0| 20 70 74 72 20 64 73 3a | 5b 62 78 5d 20 20 20 20 | ptr ds:|[bx] |
|000044f0| 20 3b 20 20 66 6c 61 67 | 0d 0a 20 20 20 20 20 20 | ; flag|.. |
|00004500| 20 20 20 20 20 20 20 20 | 20 20 6c 64 73 20 20 20 | | lds |
|00004510| 20 20 62 78 2c 63 73 3a | 69 6e 64 6f 73 5f 70 74 | bx,cs:|indos_pt|
|00004520| 72 20 20 20 20 20 20 20 | 20 20 3b 43 68 65 63 6b |r | ;Check|
|00004530| 20 49 4e 44 4f 53 20 66 | 6c 61 67 0d 0a 20 20 20 | INDOS f|lag.. |
|00004540| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 6f 76 | | mov|
|00004550| 20 20 20 20 20 61 68 2c | 62 79 74 65 20 70 74 72 | ah,|byte ptr|
|00004560| 20 64 73 3a 5b 62 78 5d | 0d 0a 63 68 65 63 6b 5f | ds:[bx]|..check_|
|00004570| 73 79 73 5f 65 78 69 74 | 3a 0d 0a 20 20 20 20 20 |sys_exit|:.. |
|00004580| 20 20 20 20 20 20 20 20 | 20 20 20 70 6f 70 20 20 | | pop |
|00004590| 20 20 20 64 73 0d 0a 20 | 20 20 20 20 20 20 20 20 | ds.. | |
|000045a0| 20 20 20 20 20 20 20 70 | 6f 70 20 20 20 20 20 62 | p|op b|
|000045b0| 78 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |x.. | |
|000045c0| 20 20 20 72 65 74 0d 0a | 63 68 65 63 6b 5f 73 79 | ret..|check_sy|
|000045d0| 73 74 65 6d 20 20 20 20 | 65 6e 64 70 0d 0a 0d 0a |stem |endp....|
|000045e0| 3b 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |;=======|========|
|000045f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004600| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004610| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004620| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0a |========|======..|
|00004630| 3b 20 43 52 49 54 49 43 | 41 4c 45 52 52 20 72 65 |; CRITIC|ALERR re|
|00004640| 63 65 69 76 65 73 20 63 | 6f 6e 74 72 6f 6c 20 77 |ceives c|ontrol w|
|00004650| 68 65 6e 20 61 6e 20 69 | 6e 74 65 72 72 75 70 74 |hen an i|nterrupt|
|00004660| 20 32 34 68 20 69 73 20 | 67 65 6e 65 72 61 74 65 | 24h is |generate|
|00004670| 64 2e 0d 0a 3b 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |d...;===|========|
|00004680| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004690| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000046a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000046b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000046c0| 3d 3d 0d 0a 63 72 69 74 | 69 63 61 6c 65 72 72 20 |==..crit|icalerr |
|000046d0| 20 20 20 20 70 72 6f 63 | 20 20 20 20 66 61 72 0d | proc| far.|
|000046e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000046f0| 20 61 73 73 75 6d 65 20 | 20 63 73 3a 63 6f 64 65 | assume | cs:code|
|00004700| 2c 64 73 3a 6e 6f 74 68 | 69 6e 67 2c 65 73 3a 6e |,ds:noth|ing,es:n|
|00004710| 6f 74 68 69 6e 67 0d 0a | 20 20 20 20 20 20 20 20 |othing..| |
|00004720| 20 20 20 20 20 20 20 20 | 78 6f 72 20 20 20 20 20 | |xor |
|00004730| 61 6c 2c 61 6c 20 20 20 | 20 20 20 20 20 20 20 20 |al,al | |
|00004740| 20 20 20 20 20 20 20 20 | 3b 44 65 66 61 75 6c 74 | |;Default|
|00004750| 20 74 6f 20 69 67 6e 6f | 72 65 0d 0a 20 20 20 20 | to igno|re.. |
|00004760| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 6d 70 20 | | cmp |
|00004770| 20 20 20 20 63 73 3a 64 | 6f 73 5f 76 65 72 73 69 | cs:d|os_versi|
|00004780| 6f 6e 2c 33 30 61 68 20 | 20 20 20 20 3b 53 65 65 |on,30ah | ;See|
|00004790| 20 69 66 20 62 65 66 6f | 72 65 20 44 4f 53 20 33 | if befo|re DOS 3|
|000047a0| 2e 31 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |.1.. | |
|000047b0| 20 20 20 20 6a 6c 20 20 | 20 20 20 20 63 72 69 74 | jl | crit|
|000047c0| 69 63 61 6c 31 0d 0a 20 | 20 20 20 20 20 20 20 20 |ical1.. | |
|000047d0| 20 20 20 20 20 20 20 61 | 64 64 20 20 20 20 20 61 | a|dd a|
|000047e0| 6c 2c 33 0d 0a 63 72 69 | 74 69 63 61 6c 31 3a 0d |l,3..cri|tical1:.|
|000047f0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004800| 20 69 72 65 74 0d 0a 63 | 72 69 74 69 63 61 6c 65 | iret..c|riticale|
|00004810| 72 72 20 20 20 20 20 65 | 6e 64 70 0d 0a 0d 0a 3b |rr e|ndp....;|
|00004820| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004830| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004840| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004850| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004860| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0a 3b |========|=====..;|
|00004870| 20 4d 41 49 4e 0d 0a 3b | 3d 3d 3d 3d 3d 3d 3d 3d | MAIN..;|========|
|00004880| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004890| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000048a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000048b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000048c0| 3d 3d 3d 3d 3d 0d 0a 6d | 61 69 6e 20 20 20 20 20 |=====..m|ain |
|000048d0| 20 20 20 20 20 20 20 70 | 72 6f 63 20 20 20 20 6e | p|roc n|
|000048e0| 65 61 72 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ear.. | |
|000048f0| 20 20 20 20 20 61 73 73 | 75 6d 65 20 20 63 73 3a | ass|ume cs:|
|00004900| 63 6f 64 65 2c 64 73 3a | 6e 6f 74 68 69 6e 67 2c |code,ds:|nothing,|
|00004910| 65 73 3a 6e 6f 74 68 69 | 6e 67 0d 0a 20 20 20 20 |es:nothi|ng.. |
|00004920| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 6c 69 0d | | cli.|
|00004930| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004940| 20 69 6e 63 20 20 20 20 | 20 63 73 3a 6e 6f 5f 73 | inc | cs:no_s|
|00004950| 77 69 74 63 68 20 20 20 | 20 20 20 20 20 20 20 20 |witch | |
|00004960| 20 3b 44 6f 6e 27 74 20 | 61 6c 6c 6f 77 20 73 77 | ;Don't |allow sw|
|00004970| 69 74 63 68 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |itch.. | |
|00004980| 20 20 20 20 20 20 69 6e | 63 20 20 20 20 20 63 73 | in|c cs|
|00004990| 3a 5b 6d 61 69 6e 5f 61 | 63 74 69 76 65 5d 20 20 |:[main_a|ctive] |
|000049a0| 20 20 20 20 20 20 3b 73 | 65 74 20 70 72 6f 67 72 | ;s|et progr|
|000049b0| 61 6d 20 73 74 61 74 75 | 73 20 66 6c 61 67 0d 0a |am statu|s flag..|
|000049c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000049d0| 6d 6f 76 20 20 20 20 20 | 63 73 3a 73 73 5f 72 65 |mov |cs:ss_re|
|000049e0| 67 69 73 74 65 72 2c 73 | 73 20 20 20 20 20 20 20 |gister,s|s |
|000049f0| 3b 73 61 76 65 20 53 53 | 20 61 6e 64 20 53 50 20 |;save SS| and SP |
|00004a00| 72 65 67 69 73 74 65 72 | 73 0d 0a 20 20 20 20 20 |register|s.. |
|00004a10| 20 20 20 20 20 20 20 20 | 20 20 20 6d 6f 76 20 20 | | mov |
|00004a20| 20 20 20 63 73 3a 73 70 | 5f 72 65 67 69 73 74 65 | cs:sp|_registe|
|00004a30| 72 2c 73 70 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |r,sp.. | |
|00004a40| 20 20 20 20 20 20 6d 6f | 76 20 20 20 20 20 61 78 | mo|v ax|
|00004a50| 2c 63 73 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,cs | |
|00004a60| 20 20 20 20 20 20 3b 73 | 77 69 74 63 68 20 74 6f | ;s|witch to|
|00004a70| 20 69 6e 74 65 72 6e 61 | 6c 20 73 74 61 63 6b 0d | interna|l stack.|
|00004a80| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004a90| 20 6d 6f 76 20 20 20 20 | 20 62 78 2c 72 65 73 69 | mov | bx,resi|
|00004aa0| 64 65 6e 74 5f 73 70 0d | 0a 20 20 20 20 20 20 20 |dent_sp.|. |
|00004ab0| 20 20 20 20 20 20 20 20 | 20 6d 6f 76 20 20 20 20 | | mov |
|00004ac0| 20 73 73 2c 61 78 0d 0a | 20 20 20 20 20 20 20 20 | ss,ax..| |
|00004ad0| 20 20 20 20 20 20 20 20 | 6d 6f 76 20 20 20 20 20 | |mov |
|00004ae0| 73 70 2c 62 78 0d 0a 20 | 20 20 20 20 20 20 20 20 |sp,bx.. | |
|00004af0| 20 20 20 20 20 20 20 64 | 65 63 20 20 20 20 20 63 | d|ec c|
|00004b00| 73 3a 6e 6f 5f 73 77 69 | 74 63 68 0d 0a 20 20 20 |s:no_swi|tch.. |
|00004b10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 73 74 69 | | sti|
|00004b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004b30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 65 6e | | ;en|
|00004b40| 61 62 6c 65 20 69 6e 74 | 65 72 72 75 70 74 73 0d |able int|errupts.|
|00004b50| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004b60| 20 63 61 6c 6c 20 20 20 | 20 73 61 76 65 5f 72 65 | call | save_re|
|00004b70| 67 73 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |gs | |
|00004b80| 20 3b 73 61 76 65 20 61 | 6c 6c 20 72 65 67 69 73 | ;save a|ll regis|
|00004b90| 74 65 72 73 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ters.. | |
|00004ba0| 20 20 20 20 20 20 61 73 | 73 75 6d 65 20 20 64 73 | as|sume ds|
|00004bb0| 3a 63 6f 64 65 2c 65 73 | 3a 6e 6f 74 68 69 6e 67 |:code,es|:nothing|
|00004bc0| 0d 0a 3b 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..;-----|--------|
|00004bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004c10| 0d 0a 3b 50 6f 69 6e 74 | 20 74 68 65 20 69 6e 74 |..;Point| the int|
|00004c20| 65 72 72 75 70 74 20 31 | 42 68 2c 20 32 33 68 2c |errupt 1|Bh, 23h,|
|00004c30| 20 61 6e 64 20 32 34 68 | 20 76 65 63 74 6f 72 73 | and 24h| vectors|
|00004c40| 20 74 6f 20 69 6e 74 65 | 72 6e 61 6c 20 68 61 6e | to inte|rnal han|
|00004c50| 64 6c 65 72 73 2e 0d 0a | 3b 2d 2d 2d 2d 2d 2d 2d |dlers...|;-------|
|00004c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ca0| 2d 2d 2d 2d 2d 2d 0d 0a | 20 20 20 20 20 20 20 20 |------..| |
|00004cb0| 20 20 20 20 20 20 20 20 | 6d 6f 76 20 20 20 20 20 | |mov |
|00004cc0| 61 78 2c 33 35 31 62 68 | 20 20 20 20 20 20 20 20 |ax,351bh| |
|00004cd0| 20 20 20 20 20 20 20 20 | 3b 67 65 74 20 61 6e 64 | |;get and|
|00004ce0| 20 73 61 76 65 20 31 42 | 68 20 76 65 63 74 6f 72 | save 1B|h vector|
|00004cf0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00004d00| 20 20 69 6e 74 20 20 20 | 20 20 32 31 68 0d 0a 20 | int | 21h.. |
|00004d10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6d | | m|
|00004d20| 6f 76 20 20 20 20 20 77 | 6f 72 64 20 70 74 72 20 |ov w|ord ptr |
|00004d30| 76 65 63 74 6f 72 31 62 | 68 2c 62 78 0d 0a 20 20 |vector1b|h,bx.. |
|00004d40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 6f | | mo|
|00004d50| 76 20 20 20 20 20 77 6f | 72 64 20 70 74 72 20 76 |v wo|rd ptr v|
|00004d60| 65 63 74 6f 72 31 62 68 | 5b 32 5d 2c 65 73 0d 0a |ector1bh|[2],es..|
|00004d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004d80| 6d 6f 76 20 20 20 20 20 | 61 78 2c 32 35 31 62 68 |mov |ax,251bh|
|00004d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004da0| 3b 70 6f 69 6e 74 20 69 | 6e 74 65 72 72 75 70 74 |;point i|nterrupt|
|00004db0| 20 74 6f 20 49 52 45 54 | 0d 0a 20 20 20 20 20 20 | to IRET|.. |
|00004dc0| 20 20 20 20 20 20 20 20 | 20 20 6d 6f 76 20 20 20 | | mov |
|00004dd0| 20 20 64 78 2c 6f 66 66 | 73 65 74 20 69 64 6c 65 | dx,off|set idle|
|00004de0| 69 6e 74 5f 65 78 69 74 | 0d 0a 20 20 20 20 20 20 |int_exit|.. |
|00004df0| 20 20 20 20 20 20 20 20 | 20 20 69 6e 74 20 20 20 | | int |
|00004e00| 20 20 32 31 68 0d 0a 0d | 0a 20 20 20 20 20 20 20 | 21h...|. |
|00004e10| 20 20 20 20 20 20 20 20 | 20 6d 6f 76 20 20 20 20 | | mov |
|00004e20| 20 61 78 2c 33 35 32 33 | 68 20 20 20 20 20 20 20 | ax,3523|h |
|00004e30| 20 20 20 20 20 20 20 20 | 20 3b 67 65 74 20 61 6e | | ;get an|
|00004e40| 64 20 73 61 76 65 20 32 | 33 68 20 76 65 63 74 6f |d save 2|3h vecto|
|00004e50| 72 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r.. | |
|00004e60| 20 20 20 69 6e 74 20 20 | 20 20 20 32 31 68 0d 0a | int | 21h..|
|00004e70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004e80| 6d 6f 76 20 20 20 20 20 | 77 6f 72 64 20 70 74 72 |mov |word ptr|
|00004e90| 20 76 65 63 74 6f 72 32 | 33 68 2c 62 78 0d 0a 20 | vector2|3h,bx.. |
|00004ea0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6d | | m|
|00004eb0| 6f 76 20 20 20 20 20 77 | 6f 72 64 20 70 74 72 20 |ov w|ord ptr |
|00004ec0| 76 65 63 74 6f 72 32 33 | 68 5b 32 5d 2c 65 73 0d |vector23|h[2],es.|
|00004ed0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004ee0| 20 6d 6f 76 20 20 20 20 | 20 61 78 2c 32 35 32 33 | mov | ax,2523|
|00004ef0| 68 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |h | |
|00004f00| 20 3b 53 65 74 20 74 6f | 20 49 52 45 54 0d 0a 20 | ;Set to| IRET.. |
|00004f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6d | | m|
|00004f20| 6f 76 20 20 20 20 20 64 | 78 2c 6f 66 66 73 65 74 |ov d|x,offset|
|00004f30| 20 69 64 6c 65 69 6e 74 | 5f 65 78 69 74 0d 0a 20 | idleint|_exit.. |
|00004f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 69 | | i|
|00004f50| 6e 74 20 20 20 20 20 32 | 31 68 0d 0a 0d 0a 20 20 |nt 2|1h.... |
|00004f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 6f | | mo|
|00004f70| 76 20 20 20 20 20 61 78 | 2c 33 35 32 34 68 20 20 |v ax|,3524h |
|00004f80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 67 | | ;g|
|00004f90| 65 74 20 61 6e 64 20 73 | 61 76 65 20 32 34 68 20 |et and s|ave 24h |
|00004fa0| 76 65 63 74 6f 72 0d 0a | 20 20 20 20 20 20 20 20 |vector..| |
|00004fb0| 20 20 20 20 20 20 20 20 | 69 6e 74 20 20 20 20 20 | |int |
|00004fc0| 32 31 68 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |21h.. | |
|00004fd0| 20 20 20 20 20 6d 6f 76 | 20 20 20 20 20 77 6f 72 | mov| wor|
|00004fe0| 64 20 70 74 72 20 76 65 | 63 74 6f 72 32 34 68 2c |d ptr ve|ctor24h,|
|00004ff0| 62 78 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |bx.. | |
|00005000| 20 20 20 20 6d 6f 76 20 | 20 20 20 20 77 6f 72 64 | mov | word|
|00005010| 20 70 74 72 20 76 65 63 | 74 6f 72 32 34 68 5b 32 | ptr vec|tor24h[2|
|00005020| 5d 2c 65 73 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |],es.. | |
|00005030| 20 20 20 20 20 20 6d 6f | 76 20 20 20 20 20 61 78 | mo|v ax|
|00005040| 2c 32 35 32 34 68 20 20 | 20 20 20 20 20 20 20 20 |,2524h | |
|00005050| 20 20 20 20 20 20 3b 70 | 6f 69 6e 74 20 69 6e 74 | ;p|oint int|
|00005060| 65 72 72 75 70 74 20 74 | 6f 20 69 6e 74 65 72 6e |errupt t|o intern|
|00005070| 61 6c 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |al.. | |
|00005080| 20 20 20 20 6d 6f 76 20 | 20 20 20 20 64 78 2c 6f | mov | dx,o|
|00005090| 66 66 73 65 74 20 63 72 | 69 74 69 63 61 6c 65 72 |ffset cr|iticaler|
|000050a0| 72 20 20 20 3b 20 20 63 | 72 69 74 69 63 61 6c 20 |r ; c|ritical |
|000050b0| 65 72 72 6f 72 20 68 61 | 6e 64 6c 65 72 0d 0a 20 |error ha|ndler.. |
|000050c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 69 | | i|
|000050d0| 6e 74 20 20 20 20 20 32 | 31 68 0d 0a 3b 2d 2d 2d |nt 2|1h..;---|
|000050e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000050f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0a 3b 53 61 76 |--------|--..;Sav|
|00005130| 65 20 61 6e 64 20 73 77 | 69 74 63 68 20 74 6f 20 |e and sw|itch to |
|00005140| 69 6e 74 65 72 6e 61 6c | 20 50 53 50 0d 0a 3b 2d |internal| PSP..;-|
|00005150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0a 20 20 |--------|----.. |
|000051a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 6f | | mo|
|000051b0| 76 20 20 20 20 20 61 68 | 2c 35 31 68 20 20 20 20 |v ah|,51h |
|000051c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 47 | | ;G|
|000051d0| 65 74 20 63 75 72 72 65 | 6e 74 20 50 53 50 0d 0a |et curre|nt PSP..|
|000051e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000051f0| 63 61 6c 6c 20 20 20 20 | 64 6f 73 70 73 70 63 61 |call |dospspca|
|00005200| 6c 6c 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ll | |
|00005210| 3b 42 65 77 61 72 65 20 | 44 4f 53 20 32 2e 30 20 |;Beware |DOS 2.0 |
|00005220| 2d 20 33 2e 30 0d 0a 20 | 20 20 20 20 20 20 20 20 |- 3.0.. | |
|00005230| 20 20 20 20 20 20 20 6d | 6f 76 20 20 20 20 20 73 | m|ov s|
|00005240| 61 76 65 64 5f 70 73 70 | 2c 62 78 20 20 20 20 20 |aved_psp|,bx |
|00005250| 20 20 20 20 20 20 20 3b | 73 61 76 65 20 69 74 0d | ;|save it.|
|00005260| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005270| 20 70 75 73 68 20 20 20 | 20 63 73 0d 0a 20 20 20 | push | cs.. |
|00005280| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 6f 70 | | pop|
|00005290| 20 20 20 20 20 62 78 0d | 0a 20 20 20 20 20 20 20 | bx.|. |
|000052a0| 20 20 20 20 20 20 20 20 | 20 6d 6f 76 20 20 20 20 | | mov |
|000052b0| 20 61 68 2c 35 30 68 20 | 20 20 20 20 20 20 20 20 | ah,50h | |
|000052c0| 20 20 20 20 20 20 20 20 | 20 3b 53 65 74 20 69 6e | | ;Set in|
|000052d0| 74 65 72 6e 61 6c 20 50 | 53 50 0d 0a 20 20 20 20 |ternal P|SP.. |
|000052e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 61 6c 6c | | call|
|000052f0| 20 20 20 20 64 6f 73 70 | 73 70 63 61 6c 6c 0d 0a | dosp|spcall..|
|00005300| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00005310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0a |--------|------..|
|00005350| 3b 53 61 76 65 20 61 6e | 64 20 73 77 69 74 63 68 |;Save an|d switch|
|00005360| 20 74 6f 20 69 6e 74 65 | 72 6e 61 6c 20 44 54 41 | to inte|rnal DTA|
|00005370| 0d 0a 3b 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..;-----|--------|
|00005380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000053a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000053b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000053c0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|000053d0| 20 20 6d 6f 76 20 20 20 | 20 20 61 68 2c 32 66 68 | mov | ah,2fh|
|000053e0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|000053f0| 20 20 69 6e 74 20 20 20 | 20 20 32 31 68 20 20 20 | int | 21h |
|00005400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005410| 20 20 3b 47 65 74 20 63 | 75 72 72 65 6e 74 20 44 | ;Get c|urrent D|
|00005420| 54 41 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |TA.. | |
|00005430| 20 20 20 20 6d 6f 76 20 | 20 20 20 20 77 6f 72 64 | mov | word|
|00005440| 20 70 74 72 20 73 61 76 | 65 64 5f 64 74 61 2c 62 | ptr sav|ed_dta,b|
|00005450| 78 20 20 20 3b 73 61 76 | 65 20 69 74 0d 0a 20 20 |x ;sav|e it.. |
|00005460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 6f | | mo|
|00005470| 76 20 20 20 20 20 77 6f | 72 64 20 70 74 72 20 73 |v wo|rd ptr s|
|00005480| 61 76 65 64 5f 64 74 61 | 5b 32 5d 2c 65 73 0d 0a |aved_dta|[2],es..|
|00005490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000054a0| 6d 6f 76 20 20 20 20 20 | 64 78 2c 6f 66 66 73 65 |mov |dx,offse|
|000054b0| 74 20 63 6f 6d 6d 61 6e | 64 5f 74 61 69 6c 20 20 |t comman|d_tail |
|000054c0| 3b 75 73 65 20 50 53 50 | 20 66 6f 72 20 44 54 41 |;use PSP| for DTA|
|000054d0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|000054e0| 20 20 6d 6f 76 20 20 20 | 20 20 61 68 2c 31 61 68 | mov | ah,1ah|
|000054f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005500| 20 20 3b 53 65 74 20 44 | 54 41 0d 0a 20 20 20 20 | ;Set D|TA.. |
|00005510| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 6e 74 20 | | int |
|00005520| 20 20 20 20 32 31 68 0d | 0a 3b 2d 2d 2d 2d 2d 2d | 21h.|.;------|
|00005530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005570| 2d 2d 2d 2d 2d 2d 2d 0d | 0a 3b 49 66 20 44 4f 53 |-------.|.;If DOS|
|00005580| 20 20 33 2e 78 2c 20 73 | 61 76 65 20 65 78 74 65 | 3.x, s|ave exte|
|00005590| 6e 64 65 64 20 65 72 72 | 6f 72 20 69 6e 66 6f 72 |nded err|or infor|
|000055a0| 6d 61 74 69 6f 6e 2e 0d | 0a 3b 2d 2d 2d 2d 2d 2d |mation..|.;------|
|000055b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000055c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000055d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000055e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000055f0| 2d 2d 2d 2d 2d 2d 2d 0d | 0a 20 20 20 20 20 20 20 |-------.|. |
|00005600| 20 20 20 20 20 20 20 20 | 20 63 6d 70 20 20 20 20 | | cmp |
|00005610| 20 77 6f 72 64 20 70 74 | 72 20 64 6f 73 5f 76 65 | word pt|r dos_ve|
|00005620| 72 73 69 6f 6e 2c 30 33 | 30 61 68 0d 0a 20 20 20 |rsion,03|0ah.. |
|00005630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6a 62 20 | | jb |
|00005640| 20 20 20 20 20 73 6b 69 | 70 5f 65 72 72 5f 73 61 | ski|p_err_sa|
|00005650| 76 65 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ve.. | |
|00005660| 20 20 20 20 70 75 73 68 | 20 20 20 20 64 73 20 20 | push| ds |
|00005670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005680| 20 20 20 20 3b 73 61 76 | 65 20 44 53 0d 0a 20 20 | ;sav|e DS.. |
|00005690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 78 6f | | xo|
|000056a0| 72 20 20 20 20 20 61 78 | 2c 61 78 20 20 20 20 20 |r ax|,ax |
|000056b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 43 | | ;C|
|000056c0| 6c 65 61 72 20 72 65 67 | 73 0d 0a 20 20 20 20 20 |lear reg|s.. |
|000056d0| 20 20 20 20 20 20 20 20 | 20 20 20 6d 6f 76 20 20 | | mov |
|000056e0| 20 20 20 62 78 2c 61 78 | 0d 0a 20 20 20 20 20 20 | bx,ax|.. |
|000056f0| 20 20 20 20 20 20 20 20 | 20 20 6d 6f 76 20 20 20 | | mov |
|00005700| 20 20 63 78 2c 61 78 0d | 0a 20 20 20 20 20 20 20 | cx,ax.|. |
|00005710| 20 20 20 20 20 20 20 20 | 20 6d 6f 76 20 20 20 20 | | mov |
|00005720| 20 64 78 2c 61 78 0d 0a | 20 20 20 20 20 20 20 20 | dx,ax..| |
|00005730| 20 20 20 20 20 20 20 20 | 6d 6f 76 20 20 20 20 20 | |mov |
|00005740| 64 69 2c 61 78 0d 0a 20 | 20 20 20 20 20 20 20 20 |di,ax.. | |
|00005750| 20 20 20 20 20 20 20 6d | 6f 76 20 20 20 20 20 73 | m|ov s|
|00005760| 69 2c 61 78 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |i,ax.. | |
|00005770| 20 20 20 20 20 20 6d 6f | 76 20 20 20 20 20 61 68 | mo|v ah|
|00005780| 2c 35 39 68 20 20 20 20 | 20 20 20 20 20 20 20 20 |,59h | |
|00005790| 20 20 20 20 20 20 3b 45 | 78 74 65 6e 64 65 64 20 | ;E|xtended |
|000057a0| 65 72 72 6f 72 20 69 6e | 66 6f 0d 0a 20 20 20 20 |error in|fo.. |
|000057b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 6e 74 20 | | int |
|000057c0| 20 20 20 20 32 31 68 20 | 20 20 20 20 20 20 20 20 | 21h | |
|000057d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 43 61 6c | | ;Cal|
|000057e0| 6c 20 44 4f 53 0d 0a 20 | 20 20 20 20 20 20 20 20 |l DOS.. | |
|000057f0| 20 20 20 20 20 20 20 6d | 6f 76 20 20 20 20 20 63 | m|ov c|
|00005800| 73 3a 5b 65 72 72 44 53 | 5d 2c 64 73 20 20 20 20 |s:[errDS|],ds |
|00005810| 20 20 20 20 20 20 20 3b | 73 61 76 65 20 72 65 74 | ;|save ret|
|00005820| 75 72 6e 65 64 20 44 53 | 0d 0a 20 20 20 20 20 20 |urned DS|.. |
|00005830| 20 20 20 20 20 20 20 20 | 20 20 70 6f 70 20 20 20 | | pop |
|00005840| 20 20 64 73 20 20 20 20 | 20 20 20 20 20 20 20 20 | ds | |
|00005850| 20 20 20 20 20 20 20 20 | 20 20 3b 52 65 73 74 6f | | ;Resto|
|00005860| 72 65 20 44 53 0d 0a 20 | 20 20 20 20 20 20 20 20 |re DS.. | |
|00005870| 20 20 20 20 20 20 20 70 | 75 73 68 20 20 20 20 62 | p|ush b|
|00005880| 78 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |x.. | |
|00005890| 20 20 20 6d 6f 76 20 20 | 20 20 20 62 78 2c 6f 66 | mov | bx,of|
|000058a0| 66 73 65 74 20 65 72 72 | 69 6e 66 6f 61 72 72 61 |fset err|infoarra|
|000058b0| 79 20 20 3b 53 61 76 65 | 20 64 61 74 61 20 69 6e |y ;Save| data in|
|000058c0| 20 72 65 67 69 73 74 65 | 72 73 0d 0a 20 20 20 20 | registe|rs.. |
|000058d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 6f 76 20 | | mov |
|000058e0| 20 20 20 20 5b 62 78 5d | 2c 61 78 20 20 20 20 20 | [bx]|,ax |
|000058f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 20 69 | | ; i|
|00005900| 6e 20 74 68 69 73 20 73 | 70 65 63 69 66 69 63 20 |n this s|pecific |
|00005910| 6f 72 64 65 72 2e 0d 0a | 20 20 20 20 20 20 20 20 |order...| |
|00005920| 20 20 20 20 20 20 20 20 | 70 6f 70 20 20 20 20 20 | |pop |
|00005930| 5b 62 78 2b 32 5d 0d 0a | 20 20 20 20 20 20 20 20 |[bx+2]..| |
|00005940| 20 20 20 20 20 20 20 20 | 6d 6f 76 20 20 20 20 20 | |mov |
|00005950| 5b 62 78 2b 34 5d 2c 63 | 78 0d 0a 20 20 20 20 20 |[bx+4],c|x.. |
|00005960| 20 20 20 20 20 20 20 20 | 20 20 20 6d 6f 76 20 20 | | mov |
|00005970| 20 20 20 5b 62 78 2b 36 | 5d 2c 64 78 0d 0a 20 20 | [bx+6|],dx.. |
|00005980| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6d 6f | | mo|
|00005990| 76 20 20 20 20 20 5b 62 | 78 2b 38 5d 2c 73 69 0d |v [b|x+8],si.|
|000059a0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000059b0| 20 6d 6f 76 20 20 20 20 | 20 5b 62 78 2b 31 30 5d | mov | [bx+10]|
|000059c0| 2c 64 69 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |,di.. | |
|000059d0| 20 20 20 20 20 6d 6f 76 | 20 20 20 20 20 5b 62 78 | mov| [bx|
|000059e0| 2b 31 34 5d 2c 65 73 0d | 0a 73 6b 69 70 5f 65 72 |+14],es.|.skip_er|
|000059f0| 72 5f 73 61 76 65 3a 0d | 0a 3b 2d 2d 2d 2d 2d 2d |r_save:.|.;------|
|00005a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a40| 2d 2d 2d 2d 2d 2d 2d 0d | 0a 3b 49 66 20 75 73 69 |-------.|.;If usi|
|00005a50| 6e 67 20 45 4d 53 20 6d | 65 6d 6f 72 79 2c 20 73 |ng EMS m|emory, s|
|00005a60| 61 76 65 20 45 4d 53 20 | 6d 61 70 70 69 6e 67 20 |ave EMS |mapping |
|00005a70| 63 6f 6e 74 65 78 74 20 | 61 6e 64 20 6d 61 70 20 |context |and map |
|00005a80| 6f 75 72 20 70 61 67 65 | 2e 0d 0a 3b 2d 2d 2d 2d |our page|...;----|
|00005a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 0a 20 20 20 20 20 |--------|-.. |
|00005ae0| 20 20 20 20 20 20 20 20 | 20 20 20 63 6d 70 20 20 | | cmp |
|00005af0| 20 20 20 65 6d 73 5f 66 | 6c 61 67 2c 30 0d 0a 20 | ems_f|lag,0.. |
|00005b00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6a | | j|
|00005b10| 65 20 20 20 20 20 20 73 | 6b 69 70 5f 65 6d 73 5f |e s|kip_ems_|
|00005b20| 73 61 76 65 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |save.. | |
|00005b30| 20 20 20 20 20 20 6d 6f | 76 20 20 20 20 20 61 68 | mo|v ah|
|00005b40| 2c 34 37 68 20 20 20 20 | 20 20 20 20 20 20 20 20 |,47h | |
|00005b50| 20 20 20 20 20 20 3b 53 | 61 76 65 20 6d 61 70 70 | ;S|ave mapp|
|00005b60| 69 6e 67 20 63 6f 6e 74 | 65 78 74 0d 0a 20 20 20 |ing cont|ext.. |
|00005b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 6f 76 | | mov|
|00005b80| 20 20 20 20 20 64 78 2c | 65 6d 73 5f 68 61 6e 64 | dx,|ems_hand|
|00005b90| 6c 65 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |le.. | |
|00005ba0| 20 20 20 20 69 6e 74 20 | 20 20 20 20 36 37 68 0d | int | 67h.|
|00005bb0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005bc0| 20 6f 72 20 20 20 20 20 | 20 61 68 2c 61 68 0d 0a | or | ah,ah..|
|00005bd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005be0| 6a 6e 65 20 20 20 20 20 | 63 6c 65 61 6e 5f 75 70 |jne |clean_up|
|00005bf0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00005c00| 20 20 78 6f 72 20 20 20 | 20 20 61 78 2c 61 78 0d | xor | ax,ax.|
|00005c10| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005c20| 20 6d 6f 76 20 20 20 20 | 20 62 78 2c 61 78 0d 0a | mov | bx,ax..|
|00005c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005c40| 63 61 6c 6c 20 20 20 20 | 6d 61 70 5f 65 6d 73 6d |call |map_emsm|
|00005c50| 65 6d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |em | |
|00005c60| 3b 4d 61 70 20 70 61 67 | 65 0d 0a 20 20 20 20 20 |;Map pag|e.. |
|00005c70| 20 20 20 20 20 20 20 20 | 20 20 20 6a 6e 65 20 20 | | jne |
|00005c80| 20 20 20 63 6c 65 61 6e | 5f 75 70 0d 0a 73 6b 69 | clean|_up..ski|
|00005c90| 70 5f 65 6d 73 5f 73 61 | 76 65 3a 0d 0a 3b 2d 2d |p_ems_sa|ve:..;--|
|00005ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 0a 3b 53 61 |--------|---..;Sa|
|00005cf0| 76 65 20 64 65 66 61 75 | 6c 74 20 64 69 72 65 63 |ve defau|lt direc|
|00005d00| 74 6f 72 79 20 61 6e 64 | 20 64 72 69 76 65 0d 0a |tory and| drive..|
|00005d10| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00005d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0a |--------|------..|
|00005d60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005d70| 6d 6f 76 20 20 20 20 20 | 61 68 2c 31 39 68 20 20 |mov |ah,19h |
|00005d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005d90| 3b 47 65 74 20 63 75 72 | 72 65 6e 74 20 64 69 73 |;Get cur|rent dis|
|00005da0| 6b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |k.. | |
|00005db0| 20 20 20 69 6e 74 20 20 | 20 20 20 32 31 68 0d 0a | int | 21h..|
|00005dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005dd0| 6d 6f 76 20 20 20 20 20 | 63 75 72 72 5f 64 69 73 |mov |curr_dis|
|00005de0| 6b 2c 61 6c 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |k,al.. | |
|00005df0| 20 20 20 20 20 20 6d 6f | 76 20 20 20 20 20 61 68 | mo|v ah|
|00005e00| 2c 34 37 68 20 20 20 20 | 20 20 20 20 20 20 20 20 |,47h | |
|00005e10| 20 20 20 20 20 20 3b 47 | 65 74 20 63 75 72 72 65 | ;G|et curre|
|00005e20| 6e 74 20 64 69 72 65 63 | 74 6f 72 79 0d 0a 20 20 |nt direc|tory.. |
|00005e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 78 6f | | xo|
|00005e40| 72 20 20 20 20 20 64 6c | 2c 64 6c 0d 0a 20 20 20 |r dl|,dl.. |
|00005e50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 6f 76 | | mov|
|00005e60| 20 20 20 20 20 73 69 2c | 6f 66 66 73 65 74 20 63 | si,|offset c|
|00005e70| 75 72 72 5f 64 69 72 0d | 0a 20 20 20 20 20 20 20 |urr_dir.|. |
|00005e80| 20 20 20 20 20 20 20 20 | 20 69 6e 74 20 20 20 20 | | int |
|00005e90| 20 32 31 68 0d 0a 3b 2d | 2d 2d 2d 2d 2d 2d 2d 2d | 21h..;-|--------|
|00005ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ee0| 2d 2d 2d 2d 0d 0a 3b 53 | 61 76 65 20 73 74 61 74 |----..;S|ave stat|
|00005ef0| 65 20 6f 66 20 41 32 30 | 20 6c 69 6e 65 2e 0d 0a |e of A20| line...|
|00005f00| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00005f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0a |--------|------..|
|00005f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005f60| 63 6d 70 20 20 20 20 20 | 78 6d 73 5f 66 6c 61 67 |cmp |xms_flag|
|00005f70| 2c 30 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |,0.. | |
|00005f80| 20 20 20 20 6a 65 20 20 | 20 20 20 20 73 6b 69 70 | je | skip|
|00005f90| 5f 78 6d 73 5f 73 61 76 | 65 0d 0a 20 20 20 20 20 |_xms_sav|e.. |
|00005fa0| 20 20 20 20 20 20 20 20 | 20 20 20 6d 6f 76 20 20 | | mov |
|00005fb0| 20 20 20 61 68 2c 37 20 | 20 20 20 20 20 20 20 20 | ah,7 | |
|00005fc0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 47 65 74 20 | | ;Get |
|00005fd0| 73 74 61 74 65 20 6f 66 | 20 41 32 30 20 6c 69 6e |state of| A20 lin|
|00005fe0| 65 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e.. | |
|00005ff0| 20 20 20 63 61 6c 6c 20 | 20 20 20 5b 78 6d 73 5f | call | [xms_|
|00006000| 73 65 72 76 69 63 65 5d | 0d 0a 20 20 20 20 20 20 |service]|.. |
|00006010| 20 20 20 20 20 20 20 20 | 20 20 6d 6f 76 20 20 20 | | mov |
|00006020| 20 20 41 32 30 5f 73 74 | 61 74 65 2c 61 78 0d 0a | A20_st|ate,ax..|
|00006030| 73 6b 69 70 5f 78 6d 73 | 5f 73 61 76 65 3a 0d 0a |skip_xms|_save:..|
|00006040| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00006050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006060| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0a |--------|------..|
|00006090| 3b 53 61 76 65 20 55 4d | 42 20 6c 69 6e 6b 20 61 |;Save UM|B link a|
|000060a0| 6e 64 20 6d 65 6d 20 61 | 6c 6c 6f 63 61 74 6f 6e |nd mem a|llocaton|
|000060b0| 20 73 74 61 74 65 2e 20 | 49 66 20 44 4f 53 20 35 | state. |If DOS 5|
|000060c0| 2c 20 6c 69 6e 6b 20 55 | 4d 42 73 0d 0a 3b 2d 2d |, link U|MBs..;--|
|000060d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000060e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000060f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 0a 20 20 20 |--------|---.. |
|00006120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 6f 76 | | mov|
|00006130| 20 20 20 20 20 61 78 2c | 35 38 30 30 68 20 20 20 | ax,|5800h |
|00006140| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 47 65 | | ;Ge|
|00006150| 74 20 44 4f 53 20 6d 65 | 6d 20 61 6c 6c 6f 63 20 |t DOS me|m alloc |
|00006160| 73 74 72 61 74 65 67 79 | 0d 0a 20 20 20 20 20 20 |strategy|.. |
|00006170| 20 20 20 20 20 20 20 20 | 20 20 69 6e 74 20 20 20 | | int |
|00006180| 20 20 32 31 68 0d 0a 20 | 20 20 20 20 20 20 20 20 | 21h.. | |
|00006190| 20 20 20 20 20 20 20 6d | 6f 76 20 20 20 20 20 6d | m|ov m|
|000061a0| 65 6d 5f 61 6c 6c 6f 63 | 2c 61 78 0d 0a 20 20 20 |em_alloc|,ax.. |
|000061b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 63 6d 70 | | cmp|
|000061c0| 20 20 20 20 20 64 6f 73 | 5f 76 65 72 73 69 6f 6e | dos|_version|
|000061d0| 2c 35 30 30 68 20 20 20 | 20 20 20 20 20 3b 49 66 |,500h | ;If|
|000061e0| 20 44 4f 53 20 35 2c 20 | 73 61 76 65 20 55 4d 42 | DOS 5, |save UMB|
|000061f0| 20 6c 69 6e 6b 0d 0a 20 | 20 20 20 20 20 20 20 20 | link.. | |
|00006200| 20 20 20 20 20 20 20 6a | 62 20 20 20 20 20 20 73 | j|b s|
|00006210| 6b 69 70 5f 75 6d 62 6c | 69 6e 6b 20 20 20 20 20 |kip_umbl|ink |
|00006220| 20 20 20 20 20 20 20 3b | 20 20 73 74 61 74 65 2e | ;| state.|
|00006230| 20 20 54 68 65 6e 20 6c | 69 6e 6b 20 55 4d 42 73 | Then l|ink UMBs|
|00006240| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00006250| 20 20 6d 6f 76 20 20 20 | 20 20 61 78 2c 35 38 30 | mov | ax,580|
|00006260| 32 68 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |2h.. | |
|00006270| 20 20 20 20 69 6e 74 20 | 20 20 20 20 32 31 68 0d | int | 21h.|
|00006280| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00006290| 20 6d 6f 76 20 20 20 20 | 20 6c 69 6e 6b 66 6c 61 | mov | linkfla|
|000062a0| 67 2c 61 6c 20 20 20 20 | 20 20 20 20 20 20 20 20 |g,al | |
|000062b0| 20 3b 53 61 76 65 20 55 | 4d 42 20 6c 69 6e 6b 20 | ;Save U|MB link |
|000062c0| 73 74 61 74 65 0d 0a 20 | 20 20 20 20 20 20 20 20 |state.. | |
|000062d0| 20 20 20 20 20 20 20 6d | 6f 76 20 20 20 20 20 61 | m|ov a|
|000062e0| 78 2c 35 38 30 33 68 0d | 0a 20 20 20 20 20 20 20 |x,5803h.|. |
|000062f0| 20 20 20 20 20 20 20 20 | 20 6d 6f 76 20 20 20 20 | | mov |
|00006300| 20 62 78 2c 31 20 20 20 | 20 20 20 20 20 20 20 20 | bx,1 | |
|00006310| 20 20 20 20 20 20 20 20 | 20 3b 4c 69 6e 6b 20 55 | | ;Link U|
|00006320| 4d 42 73 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |MBs.. | |
|00006330| 20 20 20 20 20 69 6e 74 | 20 20 20 20 20 32 31 68 | int| 21h|
|00006340| 0d 0a 73 6b 69 70 5f 75 | 6d 62 6c 69 6e 6b 3a 0d |..skip_u|mblink:.|
|00006350| 0a 3b 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.;------|--------|
|00006360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|000063a0| 0a 3b 53 61 76 65 20 4d | 6f 75 73 65 20 73 74 61 |.;Save M|ouse sta|
|000063b0| 74 65 0d 0a 3b 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |te..;---|--------|
|000063c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000063d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000063e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000063f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.