home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / hackers / tools / nsk.arj / COPYLOCK / COPYLOCK.LST
Encoding:
File List  |  1980-01-01  |  111.1 KB  |  2,840 lines

  1.      = 0012            data_1e        equ    12h            ; (0000:0012=70h)
  2.      = 0013            data_2e        equ    13h            ; (0000:0013=0)
  3.      = 0014            data_3e        equ    14h            ; (0000:0014=72h)
  4.      = 002C            data_4e        equ    2Ch            ; (0000:002C=23h)
  5.      = 0038            data_5e        equ    38h            ; (0000:0038=57h)
  6.      = 004C            data_6e        equ    4Ch            ; (0000:004C=92h)
  7.      = 0070            data_7e        equ    70h            ; (0000:0070=53h)
  8.      = 008C            data_8e        equ    8Ch            ; (0000:008C=0F7h)
  9.      = 00E0            data_9e        equ    0E0h            ; (0000:00E0=45h)
  10.      = 0100            data_10e    equ    100h            ; (0000:0100=59h)
  11.      = 8000            data_11e    equ    8000h            ; (0000:8000=0F6h)
  12.      = 0108            data_12e    equ    108h            ; (0011:0108=0)
  13.      = 0040            data_13e    equ    40h            ; (0040:0040=0DDh)
  14.      = 008B            data_14e    equ    8Bh            ; (0040:008B=0)
  15.      = 0001            data_15e    equ    1            ; (011A:0001=7Fh)
  16.      = 000F            data_16e    equ    0Fh            ; (011A:000F=74h)
  17.      = 0010            data_17e    equ    10h            ; (011A:0010=3)
  18.      = 0011            data_18e    equ    11h            ; (011A:0011=0E9h)
  19.      = 0090            data_38e    equ    90h            ; (7816:0090=0FBD8h)
  20.      = 00A0            data_39e    equ    0A0h            ; (7816:00A0=46E8h)
  21.      = 173E            data_134e    equ    173Eh            ; (7816:173E=0)
  22.      = A9AE            data_135e    equ    0A9AEh            ; (7816:A9AE=0)
  23.      = ACA6            data_136e    equ    0ACA6h            ; (7816:ACA6=0)
  24.      = E1A8            data_137e    equ    0E1A8h            ; (7816:E1A8=0)
  25.      = E8A8            data_138e    equ    0E8A8h            ; (7816:E8A8=0)
  26.      = ECA2            data_139e    equ    0ECA2h            ; (7816:ECA2=0)
  27.      = FB01            data_140e    equ    0FB01h            ; (7816:FB01=0)
  28.      = FE01            data_141e    equ    0FE01h            ; (7816:FE01=0)
  29.      = 0001            data_142e    equ    1            ; (8813:0001=0)
  30.      = 0004            data_143e    equ    4            ; (8813:0004=0)
  31.      = 0006            data_144e    equ    6            ; (8813:0006=0)
  32.      = 0009            data_145e    equ    9            ; (8813:0009=0)
  33.      = 000B            data_146e    equ    0Bh            ; (8813:000B=0)
  34.      = 000D            data_147e    equ    0Dh            ; (8813:000D=0)
  35.      = 000F            data_148e    equ    0Fh            ; (8813:000F=0)
  36.      = 001A            data_149e    equ    1Ah            ; (8813:001A=0)
  37.      = 001C            data_150e    equ    1Ch            ; (8813:001C=0)
  38.      = 003A            data_151e    equ    3Ah            ; (8813:003A=0)
  39.      = 08A6            data_152e    equ    8A6h            ; (8813:08A6=0)
  40.      = 0D3E            data_153e    equ    0D3Eh            ; (8813:0D3E=0)
  41.      = 0D3F            data_154e    equ    0D3Fh            ; (8813:0D3F=0)
  42.      = 0D41            data_155e    equ    0D41h            ; (8813:0D41=0)
  43.      = 0DD8            data_156e    equ    0DD8h            ; (8813:0DD8=0)
  44.      = 10C2            data_157e    equ    10C2h            ; (8813:10C2=0)
  45.      = 10C3            data_158e    equ    10C3h            ; (8813:10C3=0)
  46.      = 10CC            data_159e    equ    10CCh            ; (8813:10CC=0)
  47.      = 1252            data_160e    equ    1252h            ; (8813:1252=0)
  48.      = 12A6            data_161e    equ    12A6h            ; (8813:12A6=0)
  49.      = 12A8            data_162e    equ    12A8h            ; (8813:12A8=0)
  50.      = 12AA            data_163e    equ    12AAh            ; (8813:12AA=0)
  51.      = 12AC            data_164e    equ    12ACh            ; (8813:12AC=0)
  52.      = 1D0C            data_165e    equ    1D0Ch            ; (8813:1D0C=0)
  53.      = 0000            data_166e    equ    0            ; (FF23:0000=0)
  54.   
  55.                 seg_a        segment    byte public
  56.                         assume    cs:seg_a, ds:seg_a
  57.   
  58.   
  59.                         org    0
  60.   
  61.                 copylock    proc    far
  62.  
  63. 7816:0000  AE BA                dw    0BAAEh    ; í½«¬ »áαá¼ÑΓα«ó ºáΘ¿Γδ
  64. 7816:0002  C0 FE                dw    0FEC0h
  65. 7816:0004  00 00                dw    0000
  66. 7816:0006  9D E6                dw    0E69Dh
  67. 7816:0008  16 FF        loc_1:        dw    0FF16h
  68. 7816:000A  00 EB                dw    0EB00h
  69. 7816:000C  00 E8                dw    0E800h
  70. 7816:000E  00 E2                dw    0E200h
  71. 7816:0010  00 00                dw    0000
  72. 7816:0012  00 00                dw    0000
  73. 7816:0014  00 B2                dw    0B200h
  74. 7816:0016  E8 FF                dw    0FFE8h
  75. 7816:0018  00 00                dw    0000
  76. 7816:001A  FF FF                dw    0FFFFh
  77. 7816:001C  FF FF        data_32        dw    0FFFFh
  78. 7816:001E  00 00                                dw      0000
  79.  
  80. 7816:0020  50                                   push    ax
  81. 7816:0021  1E                                   push    ds
  82. 7816:0022  06                                   push    es
  83. 7816:0023  E8 00 00                             call    [0026h]
  84. 7816:0026  58                    pop    ax
  85. 7816:0027  E9 4F 0A                jmp     loc_110
  86. 7816:002A            loc_2:                        ;  xref 7816:0AF9
  87. 7816:002A  8F 06 10CC                pop    word ptr ds:data_159e    ; (8813:10CC=0)
  88. 7816:002E  B5 03                mov    ch,3
  89. 7816:0030  BA 0000                mov    dx,0
  90. 7816:0033  B8 02B0                mov    ax,2B0h
  91. 7816:0036  50                    push    ax
  92. 7816:0037  E8 0996                call    sub_18            ; (09D0)
  93. 7816:003A  D0 C8                ror    al,1            ; Rotate
  94. 7816:003C  FB                    sti                ; Enable interrupts
  95. 7816:003D  B8 0000                mov    ax,0
  96. 7816:0040  8E C0                mov    es,ax
  97. 7816:0042 .BB 008C                mov    bx,data_8e        ; (0000:008C=0F7h)
  98. 7816:0045  26: 8B 07                mov    ax,es:[bx]
  99. 7816:0048  A3 12A6                mov    ds:data_161e,ax        ; (8813:12A6=0)
  100. 7816:004B  26: 8B 47 02                mov    ax,es:[bx+2]
  101. 7816:004F  A3 12A8                mov    ds:data_162e,ax        ; (8813:12A8=0)
  102. 7816:0052  B8 0C74                mov    ax,0C74h
  103. 7816:0055  26: 89 07                mov    es:[bx],ax
  104. 7816:0058  8C D8                mov    ax,ds
  105. 7816:005A  26: 89 47 02                mov    es:[bx+2],ax
  106. 7816:005E  80 3E 12AC C3            cmp    byte ptr ds:data_164e,0C3h    ; (8813:12AC=0)
  107. 7816:0063  74 10                je    loc_3            ; Jump if equal
  108. 7816:0065  80 3E 1D0C 01            cmp    byte ptr ds:data_165e,1    ; (8813:1D0C=0)
  109. 7816:006A  75 09                jne    loc_3            ; Jump if not equal
  110. 7816:006C  C6 06 10C3 01            mov    byte ptr ds:data_158e,1    ; (8813:10C3=0)
  111. 7816:0071  90                    nop
  112. 7816:0072  E9 0177                jmp    loc_17            ; (01EC)
  113. 7816:0075            loc_3:                        ;  xref 7816:0063, 006A
  114. 7816:0075  B8 0000                mov    ax,0
  115. 7816:0078  8E C0                mov    es,ax
  116. 7816:007A  E9 0000                jmp    loc_4            ; (007D)
  117. 7816:007D            loc_4:                        ;  xref 7816:007A
  118. 7816:007D  B5 03                mov    ch,3
  119. 7816:007F  BA 0015                mov    dx,15h
  120. 7816:0082  B8 0024                mov    ax,24h
  121. 7816:0085  90                    nop
  122. 7816:0086  50                    push    ax
  123. 7816:0087  E8 0946                call    sub_18            ; (09D0)
  124. 7816:008A  A1 0006                mov    ax,ds:data_144e        ; (8813:0006=0)
  125. 7816:008D  F6 DC                neg    ah
  126. 7816:008F  F6 D8                neg    al
  127. 7816:0091  FB                    sti                ; Enable interrupts
  128. 7816:0092  8B 1E 1252                mov    bx,ds:data_160e        ; (8813:1252=0)
  129. 7816:0096  26: 39 07                cmp    es:[bx],ax
  130. 7816:0099  75 13                jne    loc_5            ; Jump if not equal
  131. 7816:009B  E8 0D65                call    sub_33            ; (0E03)
  132. 7816:009E  72 0E                jc    loc_5            ; Jump if carry Set
  133. 7816:00A0  E8 0D46                call    sub_32            ; (0DE9)
  134. 7816:00A3  72 09                jc    loc_5            ; Jump if carry Set
  135. 7816:00A5  C6 06 10C2 01            mov    byte ptr ds:data_157e,1    ; (8813:10C2=0)
  136. 7816:00AA  90                    nop
  137. 7816:00AB  E9 013E                jmp    loc_17            ; (01EC)
  138. 7816:00AE            loc_5:                        ;  xref 7816:0099, 009E, 00A3
  139. 7816:00AE  E8 0DA4                call    sub_37            ; (0E55)
  140. 7816:00B1  E8 0CCA                call    sub_30            ; (0D7E)
  141. 7816:00B4  C7 06 11E0 0000            mov    data_120,0        ; (7816:11E0=0)
  142. 7816:00BA  80 FA 03                cmp    dl,3
  143. 7816:00BD  74 02                je    loc_6            ; Jump if equal
  144. 7816:00BF  73 06                jnc    loc_7            ; Jump if carry=0
  145. 7816:00C1            loc_6:                        ;  xref 7816:00BD
  146. 7816:00C1  B6 00                mov    dh,0
  147. 7816:00C3  89 16 11E0                mov    data_120,dx        ; (7816:11E0=0)
  148. 7816:00C7            loc_7:                        ;  xref 7816:00BF, 0108
  149. 7816:00C7  B8 0001                mov    ax,1
  150. 7816:00CA  A3 00D5                mov    data_41,ax        ; (7816:00D5=0)
  151. 7816:00CD  B8 0004                mov    ax,4
  152. 7816:00D0  A3 00D7                mov    data_42,ax        ; (7816:00D7=0)
  153. 7816:00D3  EB 04                jmp    short loc_8        ; (00D9)
  154. 7816:00D5  0000            data_41        dw    0            ;  xref 7816:00CA, 00F3, 00F9
  155. 7816:00D7  0000            data_42        dw    0            ;  xref 7816:00D0, 00F0
  156. 7816:00D9            loc_8:                        ;  xref 7816:00D3, 00FD
  157. 7816:00D9  B8 0201                mov    ax,201h
  158. 7816:00DC  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  159. 7816:00E0  B5 00                mov    ch,0
  160. 7816:00E2  B1 01                mov    cl,1
  161. 7816:00E4  B6 00                mov    dh,0
  162. 7816:00E6  8A 16 11E0                mov    dl,byte ptr data_120    ; (7816:11E0=0)
  163. 7816:00EA  1E                    push    ds
  164. 7816:00EB  07                    pop    es
  165. 7816:00EC  CD 13                int    13h            ; Disk  dl=drive a  ah=func 02h
  166.                                         ;  read sectors to memory es:bx
  167. 7816:00EE  73 1A                jnc    loc_10            ; Jump if carry=0
  168. 7816:00F0  A1 00D7                mov    ax,data_42        ; (7816:00D7=0)
  169. 7816:00F3  3B 06 00D5                cmp    ax,data_41        ; (7816:00D5=0)
  170. 7816:00F7  74 06                je    loc_9            ; Jump if equal
  171. 7816:00F9  FF 06 00D5                inc    data_41            ; (7816:00D5=0)
  172. 7816:00FD  EB DA                jmp    short loc_8        ; (00D9)
  173. 7816:00FF            loc_9:                        ;  xref 7816:00F7, 010D
  174. 7816:00FF  E8 0016                call    sub_1            ; (0118)
  175. 7816:0102  C7 06 11E0 0000            mov    data_120,0        ; (7816:11E0=0)
  176. 7816:0108  EB BD                jmp    short loc_7        ; (00C7)
  177. 7816:010A            loc_10:                        ;  xref 7816:00EE
  178. 7816:010A  E8 07B9                call    sub_16            ; (08C6)
  179. 7816:010D  72 F0                jc    loc_9            ; Jump if carry Set
  180. 7816:010F  E8 0019                call    sub_2            ; (012B)
  181. 7816:0112  E8 0050                call    sub_3            ; (0165)
  182. 7816:0115  E9 00D4                jmp    loc_17            ; (01EC)
  183.   
  184.                 copylock    endp
  185.  
  186.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  187.                 ;                   SUBROUTINE
  188.                 ;
  189.                 ;    éδó«ñ ß««íΘÑ¡¿∩ "éßΓáó∞ΓÑ ¬½ετÑó«⌐ ñ¿ß¬ ..." ¿ Γ.ñ.
  190.                 ;
  191.                 ;         Called from:     7816:00FF
  192.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  193.   
  194.                 sub_1        proc    near
  195. 7816:0118 .BA 10DB                mov    dx,offset data_93    ; (7816:10DB=0Dh)
  196. 7816:011B  B4 09                mov    ah,9
  197. 7816:011D  CD 21                int    21h            ; DOS Services  ah=function 09h
  198.                                         ;  display char string at ds:dx
  199. 7816:011F .BA 1264                mov    dx,offset ds:[1264h]    ; (7816:1264=20h)
  200. 7816:0122  B4 09                mov    ah,9
  201. 7816:0124  CD 21                int    21h            ; DOS Services  ah=function 09h
  202.                                         ;  display char string at ds:dx
  203. 7816:0126  B4 01                mov    ah,1
  204. 7816:0128  CD 21                int    21h            ; DOS Services  ah=function 01h
  205.                                         ;  get keybd char al, with echo
  206. 7816:012A  C3                    retn
  207.                 sub_1        endp
  208.   
  209.   
  210.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  211.                 ;                   SUBROUTINE
  212.                 ;
  213.                 ;    Åα«óÑα¬á ¬½ετá
  214.                 ;
  215.                 ;         Called from:     7816:010F
  216.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  217.   
  218.                 sub_2        proc    near
  219. 7816:012B  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  220. 7816:012F  A1 0006                mov    ax,word ptr ds:[6]    ; (7816:0006=0E69Dh)
  221. 7816:0132  3B 07                cmp    ax,[bx]
  222. 7816:0134  74 2E                je    loc_ret_13        ; Jump if equal
  223. 7816:0136  40                    inc    ax
  224. 7816:0137  75 01                jnz    loc_11            ; Jump if not zero
  225. 7816:0139  C3                    retn
  226. 7816:013A            loc_11:                        ;  xref 7816:0137
  227. 7816:013A .BA 0144                mov    dx,offset data_43    ; (7816:0144=0Dh)
  228. 7816:013D  B4 09                mov    ah,9
  229. 7816:013F  CD 21                int    21h            ; DOS Services  ah=function 09h
  230.                                         ;  display char string at ds:dx
  231. 7816:0141  EB 1E                jmp    short loc_12        ; (0161)
  232. 7816:0143  90                    db    90h
  233. 7816:0144  0D 0A 09 2A 2A 20    data_43        db    0Dh, 0Ah, 9, '** ìÑóÑα¡δ⌐ N ¬½ετá'    ;  xref 7816:013A, 013F
  234. 7816:014A  8D A5 A2 A5 E0 AD
  235. 7816:0150  EB A9 20 4E 20 AA
  236. 7816:0156  AB EE E7 A0
  237. 7816:015A  20 20 20 20 2A 2A            db    '    **$'
  238. 7816:0160  24
  239. 7816:0161            loc_12:                        ;  xref 7816:0141
  240. 7816:0161  E9 0B78                jmp    loc_159            ; (0CDC)
  241.   
  242. 7816:0164            loc_ret_13:                    ;  xref 7816:0134
  243. 7816:0164  C3                    retn
  244.                 sub_2        endp
  245.   
  246.   
  247.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  248.                 ;                   SUBROUTINE
  249.                 ;
  250.                 ;    éδó«ñ ßÑα¿¿, óÑαß¿¿ ¿ Γ.ñ.
  251.                 ;
  252.                 ;         Called from:     7816:0112
  253.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  254.   
  255.                 sub_3        proc    near
  256. 7816:0165  80 3E 0015 4E            cmp    byte ptr ds:[15h],4Eh    ; (7816:0015=0B2h) 'N'
  257. 7816:016A  75 01                jne    loc_14            ; Jump if not equal
  258. 7816:016C  C3                    retn
  259. 7816:016D            loc_14:                        ;  xref 7816:016A
  260. 7816:016D  33 D2                xor    dx,dx            ; Zero register
  261. 7816:016F  B4 02                mov    ah,2
  262. 7816:0171  B7 00                mov    bh,0
  263. 7816:0173  CD 10                int    10h            ; Video display   ah=functn 02h
  264.                                         ;  set cursor location in dx
  265. 7816:0175  B8 0920                mov    ax,920h
  266. 7816:0178  B9 07D0                mov    cx,7D0h
  267. 7816:017B  BB 0007                mov    bx,7
  268. 7816:017E  CD 10                int    10h            ; Video display   ah=functn 09h
  269.                                         ;  set char al & attrib bl @curs
  270. 7816:0180 .BA 018C                mov    dx,offset data_44    ; (7816:018C=20h)
  271. 7816:0183  B4 09                mov    ah,9
  272. 7816:0185  CD 21                int    21h            ; DOS Services  ah=function 09h
  273.                                         ;  display char string at ds:dx
  274. 7816:0187  EB 12                jmp    short loc_15        ; (019B)
  275. 7816:0189  90 0D 0A                db     90h, 0Dh, 0Ah
  276. 7816:018C  20 20 20 4E 20 E1    data_44        db    '   N ßÑα¿¿    $'    ;  xref 7816:0180, 0185
  277. 7816:0192  A5 E0 A8 A8 20 20
  278. 7816:0198  20 20 24
  279. 7816:019B            loc_15:                        ;  xref 7816:0187
  280. 7816:019B  8B 16 12AA                mov    dx,data_132        ; (7816:12AA=14ADh)
  281. 7816:019F  83 C2 20                add    dx,20h
  282. 7816:01A2  B4 09                mov    ah,9
  283. 7816:01A4  CD 21                int    21h            ; DOS Services  ah=function 09h
  284.                                         ;  display char string at ds:dx
  285. 7816:01A6  8B 16 12AA                mov    dx,data_132        ; (7816:12AA=14ADh)
  286. 7816:01AA  83 C2 40                add    dx,40h
  287. 7816:01AD  B4 09                mov    ah,9
  288. 7816:01AF  CD 21                int    21h            ; DOS Services  ah=function 09h
  289.                                         ;  display char string at ds:dx
  290. 7816:01B1 .BA 01BB                mov    dx,offset data_45    ; (7816:01BB=0Dh)
  291. 7816:01B4  B4 09                mov    ah,9
  292. 7816:01B6  CD 21                int    21h            ; DOS Services  ah=function 09h
  293.                                         ;  display char string at ds:dx
  294. 7816:01B8  EB 12                jmp    short loc_16        ; (01CC)
  295. 7816:01BA  90                    db    90h
  296. 7816:01BB  0D 0A 20 20 20 82    data_45        db    0Dh, 0Ah, '   éÑαß¿∩ :   $'    ;  xref 7816:01B1, 01B6
  297. 7816:01C1  A5 E0 E1 A8 EF 20
  298. 7816:01C7  3A 20 20 20 24
  299. 7816:01CC            loc_16:                        ;  xref 7816:01B8
  300. 7816:01CC  8B 16 12AA                mov    dx,data_132        ; (7816:12AA=14ADh)
  301. 7816:01D0  83 C2 60                add    dx,60h
  302. 7816:01D3  B4 09                mov    ah,9
  303. 7816:01D5  CD 21                int    21h            ; DOS Services  ah=function 09h
  304.                                         ;  display char string at ds:dx
  305. 7816:01D7  8B 16 12AA                mov    dx,data_132        ; (7816:12AA=14ADh)
  306. 7816:01DB .81 C2 0080                add    dx,offset ds:[80h]    ; (7816:0080=15h)
  307. 7816:01DF  B4 09                mov    ah,9
  308. 7816:01E1  CD 21                int    21h            ; DOS Services  ah=function 09h
  309.                                         ;  display char string at ds:dx
  310. 7816:01E3 .BA 10DB                mov    dx,offset data_93    ; (7816:10DB=0Dh)
  311. 7816:01E6  B4 09                mov    ah,9
  312. 7816:01E8  CD 21                int    21h            ; DOS Services  ah=function 09h
  313.                                         ;  display char string at ds:dx
  314. 7816:01EA  C3                    retn
  315.                 sub_3        endp
  316.   
  317. 7816:01EB  90                    db    90h
  318. 7816:01EC            loc_17:                        ;  xref 7816:0072, 00AB, 0115
  319. 7816:01EC  B9 00D9                mov    cx,0D9h
  320. 7816:01EF .BF 003A                mov    di,offset ds:[3Ah]    ; (7816:003A=0D0h)
  321. 7816:01F2  E8 0B6E                call    sub_28            ; (0D63)
  322. 7816:01F5  B5 03                mov    ch,3
  323. 7816:01F7  BA 0007                mov    dx,7
  324. 7816:01FA  B8 0482                mov    ax,482h
  325. 7816:01FD  90                    nop
  326. 7816:01FE  50                    push    ax
  327. 7816:01FF  E8 07CE                call    sub_18            ; (09D0)
  328. 7816:0202  80 3E 10C3 01            cmp    byte ptr data_75,1    ; (7816:10C3=0)
  329. 7816:0207  FB                    sti                ; Enable interrupts
  330. 7816:0208  90                    nop
  331. 7816:0209  90                    nop
  332. 7816:020A  80 3E 10C2 01            cmp    byte ptr data_74,1    ; (7816:10C2=0)
  333. 7816:020F  74 03                je    loc_18            ; Jump if equal
  334. 7816:0211  EB 0A                jmp    short loc_19        ; (021D)
  335. 7816:0213  90                    db    90h
  336. 7816:0214            loc_18:                        ;  xref 7816:020F
  337. 7816:0214  C7 06 11CE 0001            mov    data_111,1        ; (7816:11CE=0)
  338. 7816:021A  E9 00CC                jmp    loc_32            ; (02E9)
  339. 7816:021D            loc_19:                        ;  xref 7816:0211
  340. 7816:021D  C6 06 0D3E 81            mov    byte ptr data_66,81h    ; (7816:0D3E=0)
  341. 7816:0222  90                    nop
  342. 7816:0223  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  343. 7816:0227  8B 87 00A0                mov    ax,ds:data_39e[bx]    ; (7816:00A0=46E8h)
  344. 7816:022B  A3 10D9                mov    data_92,ax        ; (7816:10D9=0)
  345. 7816:022E  A3 0D3F                mov    data_67,ax        ; (7816:0D3F=0)
  346. 7816:0231  A1 1256                mov    ax,word ptr ds:[1256h]    ; (7816:1256=0F7h)
  347. 7816:0234  A2 10C6                mov    data_78,al        ; (7816:10C6=0F8h)
  348. 7816:0237  C6 06 10CB 46            mov    byte ptr data_83,46h    ; (7816:10CB=46h) 'F'
  349. 7816:023C  C6 06 10C9 01            mov    byte ptr data_81,1    ; (7816:10C9=1)
  350. 7816:0241  B0 00                mov    al,0
  351. 7816:0243  A2 10C8                mov    data_80,al        ; (7816:10C8=0)
  352. 7816:0246  A0 1256                mov    al,byte ptr ds:[1256h]    ; (7816:1256=0F7h)
  353. 7816:0249  A2 10CA                mov    data_82,al        ; (7816:10CA=0F8h)
  354. 7816:024C  E8 0D1E                call    sub_43            ; (0F6D)
  355. 7816:024F  C6 06 10C6 09            mov    byte ptr data_78,9    ; (7816:10C6=0F8h)
  356. 7816:0254  90                    nop
  357. 7816:0255  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  358. 7816:0259  A3 0D3F                mov    data_67,ax        ; (7816:0D3F=0)
  359. 7816:025C  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  360. 7816:0260 .81 C3 0083                add    bx,offset ds:[83h]    ; (7816:0083=24h)
  361. 7816:0264  B9 0100                mov    cx,100h
  362. 7816:0267  BA 0003                mov    dx,3
  363. 7816:026A  8B 3E 10D9                mov    di,data_92        ; (7816:10D9=0)
  364. 7816:026E  E8 099B                call    sub_23            ; (0C0C)
  365. 7816:0271  83 F9 02                cmp    cx,2
  366. 7816:0274  74 05                je    loc_20            ; Jump if equal
  367. 7816:0276  72 03                jc    loc_20            ; Jump if carry Set
  368. 7816:0278  E9 0A3F                jmp    loc_157            ; (0CBA)
  369. 7816:027B            loc_20:                        ;  xref 7816:0274, 0276
  370. 7816:027B  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  371. 7816:027F  B9 0040                mov    cx,40h
  372. 7816:0282  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  373. 7816:0286  E8 08D2                call    sub_20            ; (0B5B)
  374. 7816:0289  8B 17                mov    dx,[bx]
  375. 7816:028B  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  376. 7816:028F  81 FA 92F2                cmp    dx,92F2h
  377. 7816:0293  74 03                je    loc_21            ; Jump if equal
  378. 7816:0295  E9 0A14                jmp    loc_156            ; (0CAC)
  379. 7816:0298            loc_21:                        ;  xref 7816:0293
  380. 7816:0298  43                    inc    bx
  381. 7816:0299  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  382. 7816:029D  E8 08CC                call    sub_21            ; (0B6C)
  383. 7816:02A0  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  384. 7816:02A4  B9 0013                mov    cx,13h
  385.   
  386. 7816:02A7            locloop_22:                    ;  xref 7816:02AF
  387. 7816:02A7  3A 37                cmp    dh,[bx]
  388. 7816:02A9  74 03                je    loc_23            ; Jump if equal
  389. 7816:02AB  E9 09FE                jmp    loc_156            ; (0CAC)
  390. 7816:02AE            loc_23:                        ;  xref 7816:02A9
  391. 7816:02AE  43                    inc    bx
  392. 7816:02AF  E2 F6                loop    locloop_22        ; Loop if cx > 0
  393.   
  394. 7816:02B1  4B                    dec    bx
  395. 7816:02B2            loc_24:                        ;  xref 7816:02B5
  396. 7816:02B2  43                    inc    bx
  397. 7816:02B3  3A 37                cmp    dh,[bx]
  398. 7816:02B5  74 FB                je    loc_24            ; Jump if equal
  399. 7816:02B7  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  400. 7816:02BB  43                    inc    bx
  401. 7816:02BC  43                    inc    bx
  402. 7816:02BD  8A 37                mov    dh,[bx]
  403. 7816:02BF  80 FE 00                cmp    dh,0
  404. 7816:02C2  74 08                je    loc_25            ; Jump if equal
  405. 7816:02C4  80 FE FF                cmp    dh,0FFh
  406. 7816:02C7  74 03                je    loc_25            ; Jump if equal
  407. 7816:02C9  EB 04                jmp    short loc_26        ; (02CF)
  408. 7816:02CB  90                    nop
  409. 7816:02CC            loc_25:                        ;  xref 7816:02C2, 02C7
  410. 7816:02CC  EB 04                jmp    short loc_27        ; (02D2)
  411. 7816:02CE  90                    nop
  412. 7816:02CF            loc_26:                        ;  xref 7816:02C9
  413. 7816:02CF  EB 04                jmp    short loc_28        ; (02D5)
  414. 7816:02D1  90                    nop
  415. 7816:02D2            loc_27:                        ;  xref 7816:02CC
  416. 7816:02D2  EB 04                jmp    short loc_29        ; (02D8)
  417. 7816:02D4  90                    db    90h
  418. 7816:02D5            loc_28:                        ;  xref 7816:02CF
  419. 7816:02D5  E9 09D4                jmp    loc_156            ; (0CAC)
  420. 7816:02D8            loc_29:                        ;  xref 7816:02D2
  421. 7816:02D8  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  422. 7816:02DC  B9 0008                mov    cx,8
  423.   
  424. 7816:02DF            locloop_30:                    ;  xref 7816:02E7
  425. 7816:02DF  43                    inc    bx
  426. 7816:02E0  3A 37                cmp    dh,[bx]
  427. 7816:02E2  74 03                je    loc_31            ; Jump if equal
  428. 7816:02E4  E9 09C5                jmp    loc_156            ; (0CAC)
  429. 7816:02E7            loc_31:                        ;  xref 7816:02E2
  430. 7816:02E7  E2 F6                loop    locloop_30        ; Loop if cx > 0
  431.   
  432. 7816:02E9            loc_32:                        ;  xref 7816:021A
  433. 7816:02E9  90                    nop
  434. 7816:02EA  B9 0074                mov    cx,74h
  435. 7816:02ED .BF 0202                mov    di,offset ds:[202h]    ; (7816:0202=80h)
  436. 7816:02F0  E8 0A70                call    sub_28            ; (0D63)
  437. 7816:02F3  E9 0000                jmp    loc_33            ; (02F6)
  438. 7816:02F6            loc_33:                        ;  xref 7816:02F3
  439. 7816:02F6  B5 03                mov    ch,3
  440. 7816:02F8  BA 000A                mov    dx,0Ah
  441. 7816:02FB  B8 0494                mov    ax,494h
  442. 7816:02FE  50                    push    ax
  443. 7816:02FF  E8 06CE                call    sub_18            ; (09D0)
  444. 7816:0302  C7 06 02F4 000C            mov    word ptr ds:[2F4h],0Ch    ; (7816:02F4=0)
  445. 7816:0308  FB                    sti                ; Enable interrupts
  446. 7816:0309  83 3E 11CE 01            cmp    data_111,1        ; (7816:11CE=0)
  447. 7816:030E  75 03                jne    loc_34            ; Jump if not equal
  448. 7816:0310  E9 0370                jmp    loc_78            ; (0683)
  449. 7816:0313            loc_34:                        ;  xref 7816:030E
  450. 7816:0313  C6 06 10CB 46            mov    byte ptr data_83,46h    ; (7816:10CB=46h) 'F'
  451. 7816:0318  C6 06 10C9 01            mov    byte ptr data_81,1    ; (7816:10C9=1)
  452. 7816:031D  B0 00                mov    al,0
  453. 7816:031F  A2 10C8                mov    data_80,al        ; (7816:10C8=0)
  454. 7816:0322  B0 03                mov    al,3
  455. 7816:0324  A2 10CA                mov    data_82,al        ; (7816:10CA=0F8h)
  456. 7816:0327  E8 0C43                call    sub_43            ; (0F6D)
  457. 7816:032A  C6 06 0D3E C1            mov    byte ptr data_66,0C1h    ; (7816:0D3E=0)
  458. 7816:032F  90                    nop
  459. 7816:0330  C7 06 11D6 004E            mov    data_114,4Eh        ; (7816:11D6=4Eh)
  460. 7816:0336  E8 0B48                call    sub_38            ; (0E81)
  461. 7816:0339  E8 0B81                call    sub_39            ; (0EBD)
  462. 7816:033C  B8 0002                mov    ax,2
  463. 7816:033F  E8 0BEB                call    sub_41            ; (0F2D)
  464. 7816:0342  C7 06 10E4 0014            mov    data_97,14h        ; (7816:10E4=0)
  465. 7816:0348            loc_35:                        ;  xref 7816:0359
  466. 7816:0348  FF 0E 10E4                dec    data_97            ; (7816:10E4=0)
  467. 7816:034C  74 25                jz    loc_36            ; Jump if zero
  468. 7816:034E  E8 0B30                call    sub_38            ; (0E81)
  469. 7816:0351  E8 0180                call    sub_5            ; (04D4)
  470. 7816:0354  A0 11E2                mov    al,data_121        ; (7816:11E2=0)
  471. 7816:0357  24 C0                and    al,0C0h
  472. 7816:0359  75 ED                jnz    loc_35            ; Jump if not zero
  473. 7816:035B  8A 16 11E5                mov    dl,data_122        ; (7816:11E5=0)
  474. 7816:035F  E8 0BF3                call    sub_42            ; (0F55)
  475. 7816:0362  E8 0B9C                call    sub_40            ; (0F01)
  476. 7816:0365  80 FA 02                cmp    dl,2
  477. 7816:0368  74 10                je    loc_37            ; Jump if equal
  478. 7816:036A  C7 06 11D6 0059            mov    data_114,59h        ; (7816:11D6=4Eh)
  479. 7816:0370  EB 08                jmp    short loc_37        ; (037A)
  480. 7816:0372  90                    db    90h
  481. 7816:0373            loc_36:                        ;  xref 7816:034C
  482. 7816:0373  E8 0B8B                call    sub_40            ; (0F01)
  483. 7816:0376  E9 0941                jmp    loc_157            ; (0CBA)
  484. 7816:0379  90                    db    90h
  485. 7816:037A            loc_37:                        ;  xref 7816:0368, 0370
  486. 7816:037A  E8 0B40                call    sub_39            ; (0EBD)
  487. 7816:037D  C7 06 11B0 10FC            mov    data_104,10FCh        ; (7816:11B0=0)
  488. 7816:0383  B9 0002                mov    cx,2
  489. 7816:0386  B8 0001                mov    ax,1
  490. 7816:0389  A3 0394                mov    data_49,ax        ; (7816:0394=0)
  491. 7816:038C  B8 0002                mov    ax,2
  492. 7816:038F  A3 0396                mov    data_50,ax        ; (7816:0396=0)
  493. 7816:0392  EB 04                jmp    short loc_38        ; (0398)
  494. 7816:0394  0000            data_49        dw    0            ;  xref 7816:0389, 0403, 0409
  495. 7816:0396  0000            data_50        dw    0            ;  xref 7816:038F, 0400
  496. 7816:0398            loc_38:                        ;  xref 7816:0392, 040D
  497. 7816:0398  8C D8                mov    ax,ds
  498. 7816:039A  8E C0                mov    es,ax
  499. 7816:039C  51                    push    cx
  500. 7816:039D  57                    push    di
  501. 7816:039E  B9 0024                mov    cx,24h
  502. 7816:03A1  B0 00                mov    al,0
  503. 7816:03A3 .BF 118C                mov    di,offset data_102    ; (7816:118C=0)
  504. 7816:03A6  F3/ AA                rep    stosb            ; Rep when cx >0 Store al to es:[di]
  505. 7816:03A8  5F                    pop    di
  506. 7816:03A9  59                    pop    cx
  507. 7816:03AA  B8 0001                mov    ax,1
  508. 7816:03AD  A3 03B8                mov    data_51,ax        ; (7816:03B8=0)
  509. 7816:03B0  B8 0002                mov    ax,2
  510. 7816:03B3  A3 03BA                mov    data_52,ax        ; (7816:03BA=0)
  511. 7816:03B6  EB 04                jmp    short loc_39        ; (03BC)
  512. 7816:03B8  0000            data_51        dw    0            ;  xref 7816:03AD, 03F1, 03F7
  513. 7816:03BA  0000            data_52        dw    0            ;  xref 7816:03B3, 03EE
  514. 7816:03BC            loc_39:                        ;  xref 7816:03B6, 03FB
  515. 7816:03BC  A1 11B6                mov    ax,data_107        ; (7816:11B6=0)
  516. 7816:03BF  A3 11DE                mov    data_119,ax        ; (7816:11DE=0)
  517. 7816:03C2  E8 0B68                call    sub_41            ; (0F2D)
  518. 7816:03C5  B8 118C                mov    ax,118Ch
  519. 7816:03C8  A3 10E8                mov    data_99,ax        ; (7816:10E8=0)
  520. 7816:03CB  A3 11B4                mov    data_106,ax        ; (7816:11B4=0)
  521. 7816:03CE  E8 0062                call    sub_4            ; (0433)
  522. 7816:03D1  A1 11B8                mov    ax,data_108        ; (7816:11B8=0)
  523. 7816:03D4  A3 11DE                mov    data_119,ax        ; (7816:11DE=0)
  524. 7816:03D7  E8 0B53                call    sub_41            ; (0F2D)
  525. 7816:03DA  B8 119E                mov    ax,119Eh
  526. 7816:03DD  A3 10E8                mov    data_99,ax        ; (7816:10E8=0)
  527. 7816:03E0  A3 11B4                mov    data_106,ax        ; (7816:11B4=0)
  528. 7816:03E3  E8 004D                call    sub_4            ; (0433)
  529. 7816:03E6  E8 0164                call    sub_7            ; (054D)
  530. 7816:03E9  72 03                jc    loc_40            ; Jump if carry Set
  531. 7816:03EB  E9 0285                jmp    loc_77            ; (0673)
  532. 7816:03EE            loc_40:                        ;  xref 7816:03E9
  533. 7816:03EE  A1 03BA                mov    ax,data_52        ; (7816:03BA=0)
  534. 7816:03F1  3B 06 03B8                cmp    ax,data_51        ; (7816:03B8=0)
  535. 7816:03F5  74 06                je    loc_41            ; Jump if equal
  536. 7816:03F7  FF 06 03B8                inc    data_51            ; (7816:03B8=0)
  537. 7816:03FB  EB BF                jmp    short loc_39        ; (03BC)
  538. 7816:03FD            loc_41:                        ;  xref 7816:03F5
  539. 7816:03FD  E8 0B55                call    sub_42            ; (0F55)
  540. 7816:0400  A1 0396                mov    ax,data_50        ; (7816:0396=0)
  541. 7816:0403  3B 06 0394                cmp    ax,data_49        ; (7816:0394=0)
  542. 7816:0407  74 06                je    loc_42            ; Jump if equal
  543. 7816:0409  FF 06 0394                inc    data_49            ; (7816:0394=0)
  544. 7816:040D  EB 89                jmp    short loc_38        ; (0398)
  545. 7816:040F            loc_42:                        ;  xref 7816:0407
  546. 7816:040F  A1 11B8                mov    ax,data_108        ; (7816:11B8=0)
  547. 7816:0412  A3 11DE                mov    data_119,ax        ; (7816:11DE=0)
  548. 7816:0415  E8 0B15                call    sub_41            ; (0F2D)
  549. 7816:0418  E8 01D1                call    sub_10            ; (05EC)
  550. 7816:041B  E8 012F                call    sub_7            ; (054D)
  551. 7816:041E  72 03                jc    loc_43            ; Jump if carry Set
  552. 7816:0420  E9 0250                jmp    loc_77            ; (0673)
  553. 7816:0423            loc_43:                        ;  xref 7816:041E
  554. 7816:0423  E8 0ADB                call    sub_40            ; (0F01)
  555. 7816:0426  A1 10E0                mov    ax,data_95        ; (7816:10E0=0)
  556. 7816:0429  A3 0D41                mov    data_68,ax        ; (7816:0D41=0)
  557. 7816:042C  89 0E 0D3F                mov    data_67,cx        ; (7816:0D3F=0)
  558. 7816:0430  E9 0887                jmp    loc_157            ; (0CBA)
  559.   
  560.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  561.                 ;                   SUBROUTINE
  562.                 ;
  563.                 ;    ö«α¼¿α«óá¡¿Ñ ¼áßß¿ó«ó ñ½¿Γѽ∞¡«ßΓ¿ ºá»¿ß¿ ¡á ñ«α«ª¬π.
  564.                 ;
  565.                 ;         Called from:     7816:03CE, 03E3
  566.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  567.  
  568.                 sub_4        proc    near
  569. 7816:0433  A1 11DE                mov    ax,data_119        ; (7816:11DE=0)
  570. 7816:0436  A3 11DC                mov    data_118,ax        ; (7816:11DC=0)
  571. 7816:0439            loc_44:                        ;  xref 7816:04D1
  572. 7816:0439  E8 09F7                call    sub_35            ; (0E33)
  573. 7816:043C  C7 06 10E4 0064            mov    data_97,64h        ; (7816:10E4=0)
  574. 7816:0442  EB 0F                jmp    short loc_46        ; (0453)
  575. 7816:0444  90                    db    90h
  576. 7816:0445            loc_45:                        ;  xref 7816:0494
  577. 7816:0445 .BA 0451                mov    dx,offset data_53    ; (7816:0451=2Ah)
  578. 7816:0448  B4 09                mov    ah,9
  579. 7816:044A  CD 21                int    21h            ; DOS Services  ah=function 09h
  580.                                         ;  display char string at ds:dx
  581. 7816:044C  EB 05                jmp    short loc_46        ; (0453)
  582. 7816:044E  90 0D 0A                db     90h, 0Dh, 0Ah
  583. 7816:0451  2A 24        data_53        db    '*$'            ;  xref 7816:0445, 044A
  584. 7816:0453            loc_46:                        ;  xref 7816:0442, 044C, 04AE
  585. 7816:0453  FF 0E 10E4                dec    data_97            ; (7816:10E4=0)
  586. 7816:0457  75 03                jnz    loc_47            ; Jump if not zero
  587. 7816:0459  E9 06E0                jmp    loc_117            ; (0B3C)
  588. 7816:045C            loc_47:                        ;  xref 7816:0457
  589. 7816:045C  E8 0A22                call    sub_38            ; (0E81)
  590. 7816:045F  E8 0072                call    sub_5            ; (04D4)
  591. 7816:0462  A0 11E7                mov    al,data_123        ; (7816:11E7=0)
  592. 7816:0465  A2 10E6                mov    data_98,al        ; (7816:10E6=0)
  593. 7816:0468  A1 10D6                mov    ax,data_90        ; (7816:10D6=0)
  594. 7816:046B  A3 10D4                mov    data_89,ax        ; (7816:10D4=0)
  595. 7816:046E  B8 0001                mov    ax,1
  596. 7816:0471  A3 047C                mov    data_54,ax        ; (7816:047C=0)
  597. 7816:0474  B8 0009                mov    ax,9
  598. 7816:0477  A3 047E                mov    data_55,ax        ; (7816:047E=0)
  599. 7816:047A  EB 04                jmp    short loc_48        ; (0480)
  600. 7816:047C  0000            data_54        dw    0            ;  xref 7816:0471, 0499, 049F
  601. 7816:047E  0000            data_55        dw    0            ;  xref 7816:0477, 0496
  602. 7816:0480            loc_48:                        ;  xref 7816:047A, 04A3
  603. 7816:0480  E8 0051                call    sub_5            ; (04D4)
  604. 7816:0483  A0 11E5                mov    al,data_122        ; (7816:11E5=0)
  605. 7816:0486  B4 00                mov    ah,0
  606. 7816:0488  3B 06 11DC                cmp    ax,data_118        ; (7816:11DC=0)
  607. 7816:048C  74 03                je    loc_49            ; Jump if equal
  608. 7816:048E  EB 38                jmp    short loc_52        ; (04C8)
  609. 7816:0490  90                    db    90h
  610. 7816:0491            loc_49:                        ;  xref 7816:048C
  611. 7816:0491  E8 0080                call    sub_6            ; (0514)
  612. 7816:0494  72 AF                jc    loc_45            ; Jump if carry Set
  613. 7816:0496  A1 047E                mov    ax,data_55        ; (7816:047E=0)
  614. 7816:0499  3B 06 047C                cmp    ax,data_54        ; (7816:047C=0)
  615. 7816:049D  74 06                je    loc_50            ; Jump if equal
  616. 7816:049F  FF 06 047C                inc    data_54            ; (7816:047C=0)
  617. 7816:04A3  EB DB                jmp    short loc_48        ; (0480)
  618. 7816:04A5            loc_50:                        ;  xref 7816:049D
  619. 7816:04A5  A0 11E7                mov    al,data_123        ; (7816:11E7=0)
  620. 7816:04A8  3A 06 10E6                cmp    al,data_98        ; (7816:10E6=0)
  621. 7816:04AC  74 02                je    loc_51            ; Jump if equal
  622. 7816:04AE  EB A3                jmp    short loc_46        ; (0453)
  623. 7816:04B0            loc_51:                        ;  xref 7816:04AC
  624. 7816:04B0  8B 3E 11B0                mov    di,data_104        ; (7816:11B0=0)
  625. 7816:04B4  8B 36 11B4                mov    si,data_106        ; (7816:11B4=0)
  626. 7816:04B8  B9 0009                mov    cx,9
  627. 7816:04BB  FC                    cld                ; Clear direction
  628. 7816:04BC  8C D8                mov    ax,ds
  629. 7816:04BE  8E C0                mov    es,ax
  630. 7816:04C0  F3/ A5                rep    movsw            ; Rep when cx >0 Mov [si] to es:[di]
  631. 7816:04C2  83 06 11B0 12            add    data_104,12h        ; (7816:11B0=0)
  632. 7816:04C7  C3                    retn
  633. 7816:04C8            loc_52:                        ;  xref 7816:048E
  634. 7816:04C8  E8 0A8A                call    sub_42            ; (0F55)
  635. 7816:04CB  A1 11DC                mov    ax,data_118        ; (7816:11DC=0)
  636. 7816:04CE  E8 0A5C                call    sub_41            ; (0F2D)
  637. 7816:04D1  E9 FF65                jmp    loc_44            ; (0439)
  638.                 sub_4        endp
  639.   
  640.   
  641.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  642.                 ;                   SUBROUTINE
  643.                 ;
  644.                 ;    ÅÑαÑñáτá ¬«¼á¡ñδ 4Ah ó ¬«¡Γα«½Ñα ìâîä.
  645.                 ;
  646.                 ;         Called from:     7816:0351, 045F, 0480
  647.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  648.   
  649.                 sub_5        proc    near
  650. 7816:04D4  FA                    cli                ; Disable interrupts
  651. 7816:04D5  E4 21                in    al,21h            ; port 21h, 8259-1 int IMR
  652. 7816:04D7  A2 11D8                mov    data_115,al        ; (7816:11D8=0)
  653. 7816:04DA  E4 A1                in    al,0A1h            ; port 0A1h
  654. 7816:04DC  A2 11DA                mov    data_117,al        ; (7816:11DA=0)
  655. 7816:04DF  B0 BF                mov    al,0BFh
  656. 7816:04E1  E6 21                out    21h,al            ; port 21h, 8259-1 int comands
  657. 7816:04E3  B0 FF                mov    al,0FFh
  658. 7816:04E5  E6 A1                out    0A1h,al            ; port 0A1h, inhibit IRQ8 RTC
  659.                                         ;  al = 0FFh, inhibit interrupts
  660. 7816:04E7  FB                    sti                ; Enable interrupts
  661. 7816:04E8  C6 06 10D2 FF            mov    byte ptr data_87,0FFh    ; (7816:10D2=0)
  662. 7816:04ED  B4 4A                mov    ah,4Ah            ; 'J'
  663. 7816:04EF  E8 0B0C                call    sub_44            ; (0FFE)
  664. 7816:04F2  8A 26 11E0                mov    ah,byte ptr data_120    ; (7816:11E0=0)
  665. 7816:04F6  E8 0B05                call    sub_44            ; (0FFE)
  666. 7816:04F9            loc_53:                        ;  xref 7816:04FF
  667. 7816:04F9  F4                    hlt                ; Halt processor
  668. 7816:04FA  80 3E 10D2 00            cmp    byte ptr data_87,0    ; (7816:10D2=0)
  669. 7816:04FF  75 F8                jne    loc_53            ; Jump if not equal
  670. 7816:0501  FA                    cli                ; Disable interrupts
  671. 7816:0502  A0 11D8                mov    al,data_115        ; (7816:11D8=0)
  672. 7816:0505  E6 21                out    21h,al            ; port 21h, 8259-1 int comands
  673. 7816:0507  A0 11DA                mov    al,data_117        ; (7816:11DA=0)
  674. 7816:050A  E6 A1                out    0A1h,al            ; port 0A1h, inhibit IRQ8 RTC
  675. 7816:050C  FB                    sti                ; Enable interrupts
  676. 7816:050D  E8 0B4C                call    sub_46            ; (105C)
  677. 7816:0510  E8 0B87                call    sub_47            ; (109A)
  678. 7816:0513  C3                    retn
  679.                 sub_5        endp
  680.   
  681. ;    Å«ñ»α«úαá¼¼δ sub_6 ... sub_13 «íαáíáΓδóáεΓ αѺπ½∞ΓáΓδ óαѼѡ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ¿ ºá»¿ß¿ ¡á ñ«α«ª¬π.
  682.  
  683.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  684.                 ;                   SUBROUTINE
  685.                 ;
  686.                 ;         Called from:     7816:0491
  687.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  688.   
  689.                 sub_6        proc    near
  690. 7816:0514  8B 16 10D4                mov    dx,data_89        ; (7816:10D4=0)
  691. 7816:0518  A1 10D6                mov    ax,data_90        ; (7816:10D6=0)
  692. 7816:051B  A3 10D4                mov    data_89,ax        ; (7816:10D4=0)
  693. 7816:051E  2B 16 10D6                sub    dx,data_90        ; (7816:10D6=0)
  694. 7816:0522 .BB 11E7                mov    bx,offset data_123    ; (7816:11E7=0)
  695. 7816:0525  8A 0F                mov    cl,[bx]
  696. 7816:0527 .BB 0000                mov    bx,offset ds:[0]    ; (7816:0000=0AEh)
  697. 7816:052A  FE C9                dec    cl
  698. 7816:052C  80 F9 08                cmp    cl,8
  699. 7816:052F  74 02                je    loc_54            ; Jump if equal
  700. 7816:0531  73 18                jnc    loc_56            ; Jump if carry=0
  701. 7816:0533            loc_54:                        ;  xref 7816:052F
  702. 7816:0533  B5 00                mov    ch,0
  703. 7816:0535  03 C9                add    cx,cx
  704. 7816:0537  03 1E 10E8                add    bx,data_99        ; (7816:10E8=0)
  705. 7816:053B  03 D9                add    bx,cx
  706. 7816:053D  8B 0F                mov    cx,[bx]
  707. 7816:053F  0B C9                or    cx,cx            ; Zero ?
  708. 7816:0541  74 04                jz    loc_55            ; Jump if zero
  709. 7816:0543  03 D1                add    dx,cx
  710. 7816:0545  D1 DA                rcr    dx,1            ; Rotate thru carry
  711. 7816:0547            loc_55:                        ;  xref 7816:0541
  712. 7816:0547  89 17                mov    [bx],dx
  713. 7816:0549  F8                    clc                ; Clear carry flag
  714. 7816:054A  C3                    retn
  715. 7816:054B            loc_56:                        ;  xref 7816:0531
  716. 7816:054B  F9                    stc                ; Set carry flag
  717. 7816:054C  C3                    retn
  718.                 sub_6        endp
  719.   
  720.   
  721.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  722.                 ;                   SUBROUTINE
  723.                 ;
  724.                 ;         Called from:     7816:03E6, 041B
  725.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  726.   
  727.                 sub_7        proc    near
  728. 7816:054D .BB 118C                mov    bx,offset data_102    ; (7816:118C=0)
  729. 7816:0550 .BE 119E                mov    si,offset data_103    ; (7816:119E=0)
  730. 7816:0553 .BF 10EA                mov    di,offset data_100    ; (7816:10EA=0)
  731. 7816:0556  E8 0044                call    sub_8            ; (059D)
  732. 7816:0559  73 01                jnc    loc_57            ; Jump if carry=0
  733. 7816:055B  C3                    retn
  734. 7816:055C            loc_57:                        ;  xref 7816:0559
  735. 7816:055C .BE 119E                mov    si,offset data_103    ; (7816:119E=0)
  736. 7816:055F  8B 16 125A                mov    dx,word ptr ds:[125Ah]    ; (7816:125A=14h)
  737. 7816:0563  8B 4C 02                mov    cx,[si+2]
  738. 7816:0566  81 F9 4650                cmp    cx,4650h
  739. 7816:056A  73 03                jae    loc_58            ; Jump if above or =
  740. 7816:056C  B9 4650                mov    cx,4650h
  741. 7816:056F            loc_58:                        ;  xref 7816:056A
  742. 7816:056F  B8 0000                mov    ax,0
  743. 7816:0572  F7 F1                div    cx            ; ax,dx rem=dx:ax/reg
  744. 7816:0574  8B D8                mov    bx,ax
  745. 7816:0576  83 3E 11D6 59            cmp    data_114,59h        ; (7816:11D6=4Eh)
  746. 7816:057B  75 03                jne    loc_59            ; Jump if not equal
  747. 7816:057D  83 C3 0A                add    bx,0Ah
  748. 7816:0580            loc_59:                        ;  xref 7816:057B
  749. 7816:0580  89 1E 10E2                mov    data_96,bx        ; (7816:10E2=0)
  750. 7816:0584 .BB 11BC                mov    bx,offset data_110    ; (7816:11BC=0)
  751. 7816:0587 .BE 10EA                mov    si,offset data_100    ; (7816:10EA=0)
  752. 7816:058A  B9 0009                mov    cx,9
  753.   
  754. 7816:058D            locloop_60:                    ;  xref 7816:0599
  755. 7816:058D  E8 003A                call    sub_9            ; (05CA)
  756. 7816:0590  73 01                jnc    loc_61            ; Jump if carry=0
  757. 7816:0592  C3                    retn
  758. 7816:0593            loc_61:                        ;  xref 7816:0590
  759. 7816:0593  83 C3 02                add    bx,2
  760. 7816:0596  83 C6 02                add    si,2
  761. 7816:0599  E2 F2                loop    locloop_60        ; Loop if cx > 0
  762.   
  763. 7816:059B  F8                    clc                ; Clear carry flag
  764. 7816:059C  C3                    retn
  765.                 sub_7        endp
  766.   
  767.   
  768.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  769.                 ;                   SUBROUTINE
  770.                 ;
  771.                 ;         Called from:     7816:0556
  772.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  773.   
  774.                 sub_8        proc    near
  775. 7816:059D  B9 0009                mov    cx,9
  776.   
  777. 7816:05A0            locloop_62:                    ;  xref 7816:05C4
  778. 7816:05A0  8B 17                mov    dx,[bx]
  779. 7816:05A2  2B 14                sub    dx,[si]
  780. 7816:05A4  9C                    pushf                ; Push flags
  781. 7816:05A5  79 02                jns    loc_63            ; Jump if not sign
  782. 7816:05A7  F7 DA                neg    dx
  783. 7816:05A9            loc_63:                        ;  xref 7816:05A5
  784. 7816:05A9  39 14                cmp    [si],dx
  785. 7816:05AB  72 1A                jb    loc_65            ; Jump if below
  786. 7816:05AD  74 18                jz    loc_65            ; Jump if zero
  787. 7816:05AF  B8 0000                mov    ax,0
  788. 7816:05B2  F7 34                div    word ptr [si]        ; ax,dxrem=dx:ax/data
  789. 7816:05B4  9D                    popf                ; Pop flags
  790. 7816:05B5  79 02                jns    loc_64            ; Jump if not sign
  791. 7816:05B7  F7 D8                neg    ax
  792. 7816:05B9            loc_64:                        ;  xref 7816:05B5
  793. 7816:05B9  89 05                mov    [di],ax
  794. 7816:05BB  83 C3 02                add    bx,2
  795. 7816:05BE  83 C6 02                add    si,2
  796. 7816:05C1  83 C7 02                add    di,2
  797. 7816:05C4  E2 DA                loop    locloop_62        ; Loop if cx > 0
  798.  
  799. 7816:05C6  C3                    retn
  800. 7816:05C7            loc_65:                        ;  xref 7816:05AB, 05AD
  801. 7816:05C7  58                    pop    ax
  802. 7816:05C8  F9                    stc                ; Set carry flag
  803. 7816:05C9  C3                    retn
  804.                 sub_8        endp
  805.   
  806.   
  807.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  808.                 ;                   SUBROUTINE
  809.                 ;
  810.                 ;         Called from:     7816:058D
  811.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  812.   
  813.                 sub_9        proc    near
  814. 7816:05CA  8B 14                mov    dx,[si]
  815. 7816:05CC  81 FA 8000                cmp    dx,8000h
  816. 7816:05D0  74 12                je    loc_67            ; Jump if equal
  817. 7816:05D2  8B 07                mov    ax,[bx]
  818. 7816:05D4  2B C2                sub    ax,dx
  819. 7816:05D6  8B D0                mov    dx,ax
  820. 7816:05D8  79 02                jns    loc_66            ; Jump if not sign
  821. 7816:05DA  F7 D8                neg    ax
  822. 7816:05DC            loc_66:                        ;  xref 7816:05D8
  823. 7816:05DC  3B 06 10E2                cmp    ax,data_96        ; (7816:10E2=0)
  824. 7816:05E0  74 02                je    loc_67            ; Jump if equal
  825. 7816:05E2  73 02                jnc    loc_68            ; Jump if carry=0
  826. 7816:05E4            loc_67:                        ;  xref 7816:05D0, 05E0
  827. 7816:05E4  F8                    clc                ; Clear carry flag
  828. 7816:05E5  C3                    retn
  829. 7816:05E6            loc_68:                        ;  xref 7816:05E2
  830. 7816:05E6  89 16 10E0                mov    data_95,dx        ; (7816:10E0=0)
  831. 7816:05EA  F9                    stc                ; Set carry flag
  832. 7816:05EB  C3                    retn
  833.                 sub_9        endp
  834.   
  835.   
  836.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  837.                 ;                   SUBROUTINE
  838.                 ;
  839.                 ;         Called from:     7816:0418
  840.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  841.   
  842.                 sub_10        proc    near
  843. 7816:05EC  E8 0020                call    sub_11            ; (060F)
  844. 7816:05EF  E8 004C                call    sub_12            ; (063E)
  845. 7816:05F2  8B 3E 11B2                mov    di,data_105        ; (7816:11B2=0)
  846. 7816:05F6  B1 04                mov    cl,4
  847. 7816:05F8  D3 EF                shr    di,cl            ; Shift w/zeros fill
  848. 7816:05FA  83 FF 50                cmp    di,50h
  849. 7816:05FD  72 03                jb    loc_69            ; Jump if below
  850. 7816:05FF  BF 0050                mov    di,50h
  851. 7816:0602            loc_69:                        ;  xref 7816:05FD
  852. 7816:0602  83 FF 14                cmp    di,14h
  853. 7816:0605  73 03                jae    loc_70            ; Jump if above or =
  854. 7816:0607  BF 0014                mov    di,14h
  855. 7816:060A            loc_70:                        ;  xref 7816:0605
  856. 7816:060A  89 3E 125A                mov    word ptr ds:[125Ah],di    ; (7816:125A=14h)
  857. 7816:060E  C3                    retn
  858.                 sub_10        endp
  859.   
  860.   
  861.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  862.                 ;                   SUBROUTINE
  863.                 ;
  864.                 ;         Called from:     7816:05EC
  865.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  866.   
  867.                 sub_11        proc    near
  868. 7816:060F .BF 10FC                mov    di,offset data_101    ; (7816:10FC=0)
  869. 7816:0612  B9 0012                mov    cx,12h
  870.   
  871. 7816:0615            locloop_71:                    ;  xref 7816:063B
  872. 7816:0615  BA 0000                mov    dx,0
  873. 7816:0618  8B 1D                mov    bx,[di]
  874. 7816:061A  03 5D 24                add    bx,[di+24h]
  875. 7816:061D  73 01                jnc    loc_72            ; Jump if carry=0
  876. 7816:061F  42                    inc    dx
  877. 7816:0620            loc_72:                        ;  xref 7816:061D
  878. 7816:0620  03 5D 48                add    bx,[di+48h]
  879. 7816:0623  73 01                jnc    loc_73            ; Jump if carry=0
  880. 7816:0625  42                    inc    dx
  881. 7816:0626            loc_73:                        ;  xref 7816:0623
  882. 7816:0626  03 5D 6C                add    bx,[di+6Ch]
  883. 7816:0629  73 01                jnc    loc_74            ; Jump if carry=0
  884. 7816:062B  42                    inc    dx
  885. 7816:062C            loc_74:                        ;  xref 7816:0629
  886. 7816:062C  D1 DA                rcr    dx,1            ; Rotate thru carry
  887. 7816:062E  D1 DB                rcr    bx,1            ; Rotate thru carry
  888. 7816:0630  D1 DA                rcr    dx,1            ; Rotate thru carry
  889. 7816:0632  D1 DB                rcr    bx,1            ; Rotate thru carry
  890. 7816:0634  89 9D 0090                mov    ds:data_38e[di],bx    ; (7816:0090=0FBD8h)
  891. 7816:0638  83 C7 02                add    di,2
  892. 7816:063B  E2 D8                loop    locloop_71        ; Loop if cx > 0
  893.   
  894. 7816:063D  C3                    retn
  895.                 sub_11        endp
  896.   
  897.   
  898.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  899.                 ;                   SUBROUTINE
  900.                 ;
  901.                 ;         Called from:     7816:05EF
  902.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  903.   
  904.                 sub_12        proc    near
  905. 7816:063E .BF 10FC                mov    di,offset data_101    ; (7816:10FC=0)
  906. 7816:0641  BA 0000                mov    dx,0
  907. 7816:0644  B9 0012                mov    cx,12h
  908.   
  909. 7816:0647            locloop_75:                    ;  xref 7816:0661
  910. 7816:0647  8B 1D                mov    bx,[di]
  911. 7816:0649  E8 001C                call    sub_13            ; (0668)
  912. 7816:064C  8B 5D 24                mov    bx,[di+24h]
  913. 7816:064F  E8 0016                call    sub_13            ; (0668)
  914. 7816:0652  8B 5D 48                mov    bx,[di+48h]
  915. 7816:0655  E8 0010                call    sub_13            ; (0668)
  916. 7816:0658  8B 5D 6C                mov    bx,[di+6Ch]
  917. 7816:065B  E8 000A                call    sub_13            ; (0668)
  918. 7816:065E  83 C7 02                add    di,2
  919. 7816:0661  E2 E4                loop    locloop_75        ; Loop if cx > 0
  920.   
  921. 7816:0663  89 16 11B2                mov    data_105,dx        ; (7816:11B2=0)
  922. 7816:0667  C3                    retn
  923.                 sub_12        endp
  924.   
  925.   
  926.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  927.                 ;                   SUBROUTINE
  928.                 ;
  929.                 ;         Called from:     7816:0649, 064F, 0655, 065B
  930.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  931.   
  932.                 sub_13        proc    near
  933. 7816:0668  2B 9D 0090                sub    bx,ds:data_38e[di]    ; (7816:0090=0FBD8h)
  934. 7816:066C  79 02                jns    loc_76            ; Jump if not sign
  935. 7816:066E  F7 DB                neg    bx
  936. 7816:0670            loc_76:                        ;  xref 7816:066C
  937. 7816:0670  03 D3                add    dx,bx
  938. 7816:0672  C3                    retn
  939.                 sub_13        endp
  940.   
  941. 7816:0673            loc_77:                        ;  xref 7816:03EB, 0420
  942. 7816:0673  80 3E 12AC C3            cmp    byte ptr ds:[12ACh],0C3h    ; (7816:12AC=0C3h)
  943. 7816:0678  74 09                je    loc_78            ; Jump if equal
  944. 7816:067A  80 3E 10C4 4E            cmp    byte ptr data_76,4Eh    ; (7816:10C4=4Eh) 'N'
  945. 7816:067F  74 0C                je    loc_79            ; Jump if equal
  946. 7816:0681  F8                    clc                ; Clear carry flag
  947. 7816:0682  C3                    retn
  948. 7816:0683            loc_78:                        ;  xref 7816:0310, 0678
  949. 7816:0683  F8                    clc                ; Clear carry flag
  950. 7816:0684  B9 0185                mov    cx,185h
  951. 7816:0687 .BF 037A                mov    di,offset ds:[37Ah]    ; (7816:037A=0E8h)
  952. 7816:068A  E8 06D6                call    sub_28            ; (0D63)
  953. 7816:068D            loc_79:                        ;  xref 7816:067F
  954. 7816:068D  B5 03                mov    ch,3
  955. 7816:068F  BA 000B                mov    dx,0Bh
  956. 7816:0692  B8 022C                mov    ax,22Ch
  957. 7816:0695  90                    nop
  958. 7816:0696  50                    push    ax
  959. 7816:0697  E8 0336                call    sub_18            ; (09D0)
  960. 7816:069A  D0 EC                shr    ah,1            ; Shift w/zeros fill
  961. 7816:069C  FB                    sti                ; Enable interrupts
  962. 7816:069D  83 3E 11CE 01            cmp    data_111,1        ; (7816:11CE=0)
  963. 7816:06A2  75 03                jne    loc_80            ; Jump if not equal
  964. 7816:06A4  EB 7B                jmp    short loc_86        ; (0721)
  965. 7816:06A6  90                    db    90h
  966. 7816:06A7            loc_80:                        ;  xref 7816:06A2
  967. 7816:06A7  C6 06 0D3E E1            mov    byte ptr data_66,0E1h    ; (7816:0D3E=0)
  968. 7816:06AC  90                    nop
  969. 7816:06AD  A1 11B8                mov    ax,data_108        ; (7816:11B8=0)
  970. 7816:06B0  A3 11DC                mov    data_118,ax        ; (7816:11DC=0)
  971. 7816:06B3  E8 006E                call    sub_14            ; (0724)
  972. 7816:06B6  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  973. 7816:06BA  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  974. 7816:06BE  B8 0001                mov    ax,1
  975. 7816:06C1  A3 06CC                mov    data_57,ax        ; (7816:06CC=0)
  976. 7816:06C4  B8 0008                mov    ax,8
  977. 7816:06C7  A3 06CE                mov    data_58,ax        ; (7816:06CE=0)
  978. 7816:06CA  EB 04                jmp    short loc_81        ; (06D0)
  979. 7816:06CC  0000            data_57        dw    0            ;  xref 7816:06C1, 06DF, 06E5
  980. 7816:06CE  0000            data_58        dw    0            ;  xref 7816:06C7, 06DC
  981. 7816:06D0            loc_81:                        ;  xref 7816:06CA, 06E9
  982. 7816:06D0  B9 0100                mov    cx,100h
  983. 7816:06D3  E8 0485                call    sub_20            ; (0B5B)
  984. 7816:06D6  BE 1231                mov    si,1231h
  985. 7816:06D9  E8 050A                call    sub_22            ; (0BE6)
  986. 7816:06DC  A1 06CE                mov    ax,data_58        ; (7816:06CE=0)
  987. 7816:06DF  3B 06 06CC                cmp    ax,data_57        ; (7816:06CC=0)
  988. 7816:06E3  74 06                je    loc_82            ; Jump if equal
  989. 7816:06E5  FF 06 06CC                inc    data_57            ; (7816:06CC=0)
  990. 7816:06E9  EB E5                jmp    short loc_81        ; (06D0)
  991. 7816:06EB            loc_82:                        ;  xref 7816:06E3
  992. 7816:06EB  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  993. 7816:06EF  B9 0100                mov    cx,100h
  994. 7816:06F2  E8 0466                call    sub_20            ; (0B5B)
  995. 7816:06F5  8B 17                mov    dx,[bx]
  996. 7816:06F7  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  997. 7816:06FB  81 FA F62B                cmp    dx,0F62Bh
  998. 7816:06FF  74 03                je    loc_83            ; Jump if equal
  999. 7816:0701  E9 05A8                jmp    loc_156            ; (0CAC)
  1000. 7816:0704            loc_83:                        ;  xref 7816:06FF
  1001. 7816:0704  43                    inc    bx
  1002. 7816:0705  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  1003. 7816:0709  E8 0460                call    sub_21            ; (0B6C)
  1004. 7816:070C  FE 06 0D3E                inc    data_66            ; (7816:0D3E=0)
  1005. 7816:0710  BE 1227                mov    si,1227h
  1006. 7816:0713  80 FE 4E                cmp    dh,4Eh            ; 'N'
  1007. 7816:0716  74 03                je    loc_84            ; Jump if equal
  1008. 7816:0718  EB 04                jmp    short loc_85        ; (071E)
  1009. 7816:071A  90                    db    90h
  1010. 7816:071B            loc_84:                        ;  xref 7816:0716
  1011. 7816:071B  BE 121B                mov    si,121Bh
  1012. 7816:071E            loc_85:                        ;  xref 7816:0718
  1013. 7816:071E  E8 04C5                call    sub_22            ; (0BE6)
  1014. 7816:0721            loc_86:                        ;  xref 7816:06A4
  1015. 7816:0721  EB 73                jmp    short loc_89        ; (0796)
  1016. 7816:0723  90                    db    90h
  1017.   
  1018.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1019.                 ;                   SUBROUTINE
  1020.                 ;
  1021.                 ;    ùΓÑ¡¿Ñ ¿ »α«óÑα¬á ß«ñÑন¼«ú« ñ«α«ª¬¿.
  1022.                 ;
  1023.                 ;         Called from:     7816:06B3
  1024.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1025.   
  1026.                 sub_14        proc    near
  1027. 7816:0724  B0 46                mov    al,46h            ; 'F'
  1028. 7816:0726  B6 33                mov    dh,33h            ; '3'
  1029. 7816:0728  B2 00                mov    dl,0
  1030. 7816:072A  E8 03CF                call    sub_19            ; (0AFC)
  1031. 7816:072D  B4 42                mov    ah,42h            ; 'B'
  1032. 7816:072F  E8 08CC                call    sub_44            ; (0FFE)
  1033. 7816:0732  8A 26 11E0                mov    ah,byte ptr data_120    ; (7816:11E0=0)
  1034. 7816:0736  E8 08C5                call    sub_44            ; (0FFE)
  1035. 7816:0739  8A 26 11DC                mov    ah,byte ptr data_118    ; (7816:11DC=0)
  1036. 7816:073D  E8 08BE                call    sub_44            ; (0FFE)
  1037. 7816:0740  B4 00                mov    ah,0
  1038. 7816:0742  E8 08B9                call    sub_44            ; (0FFE)
  1039. 7816:0745  B4 01                mov    ah,1
  1040. 7816:0747  E8 08B4                call    sub_44            ; (0FFE)
  1041. 7816:074A  B4 06                mov    ah,6
  1042. 7816:074C  E8 08AF                call    sub_44            ; (0FFE)
  1043. 7816:074F  B4 09                mov    ah,9
  1044. 7816:0751  E8 08AA                call    sub_44            ; (0FFE)
  1045. 7816:0754  B4 1A                mov    ah,1Ah
  1046. 7816:0756  E8 08A5                call    sub_44            ; (0FFE)
  1047. 7816:0759  B4 FF                mov    ah,0FFh
  1048. 7816:075B  E8 08A0                call    sub_44            ; (0FFE)
  1049. 7816:075E  FC                    cld                ; Clear direction
  1050. 7816:075F  FB                    sti                ; Enable interrupts
  1051. 7816:0760  C6 06 10D2 FF            mov    byte ptr data_87,0FFh    ; (7816:10D2=0)
  1052. 7816:0765            loc_87:                        ;  xref 7816:076A
  1053. 7816:0765  80 3E 10D2 00            cmp    byte ptr data_87,0    ; (7816:10D2=0)
  1054. 7816:076A  75 F9                jne    loc_87            ; Jump if not equal
  1055. 7816:076C  E8 08ED                call    sub_46            ; (105C)
  1056. 7816:076F  E8 0928                call    sub_47            ; (109A)
  1057. 7816:0772  E8 078C                call    sub_40            ; (0F01)
  1058. 7816:0775  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  1059. 7816:0779 .81 C3 173E                add    bx,data_134e        ; (7816:173E=0)
  1060. 7816:077D  B9 0200                mov    cx,200h
  1061. 7816:0780  BA 0003                mov    dx,3
  1062. 7816:0783  8B 3E 11BA                mov    di,data_109        ; (7816:11BA=0)
  1063. 7816:0787  E8 0482                call    sub_23            ; (0C0C)
  1064. 7816:078A  83 F9 02                cmp    cx,2
  1065. 7816:078D  74 05                je    loc_ret_88        ; Jump if equal
  1066. 7816:078F  72 03                jc    loc_ret_88        ; Jump if carry Set
  1067. 7816:0791  E9 0526                jmp    loc_157            ; (0CBA)
  1068.   
  1069. 7816:0794            loc_ret_88:                    ;  xref 7816:078D, 078F
  1070. 7816:0794  C3                    retn
  1071.                 sub_14        endp
  1072.   
  1073. 7816:0795  90                    db    90h
  1074. 7816:0796            loc_89:                        ;  xref 7816:0721
  1075. 7816:0796  B9 007E                mov    cx,7Eh
  1076. 7816:0799 .BF 069A                mov    di,offset ds:[69Ah]    ; (7816:069A=0D0h)
  1077. 7816:079C  E8 05C4                call    sub_28            ; (0D63)
  1078. 7816:079F  B5 03                mov    ch,3
  1079. 7816:07A1  BA 0014                mov    dx,14h
  1080. 7816:07A4  B8 011A                mov    ax,11Ah
  1081. 7816:07A7  90                    nop
  1082. 7816:07A8  50                    push    ax
  1083. 7816:07A9  E8 0224                call    sub_18            ; (09D0)
  1084. 7816:07AC  F7 D8                neg    ax
  1085. 7816:07AE  80 3E 10C2 01            cmp    byte ptr data_74,1    ; (7816:10C2=0)
  1086. 7816:07B3  FB                    sti                ; Enable interrupts
  1087. 7816:07B4  75 2F                jnz    loc_91            ; Jump if not zero
  1088. 7816:07B6  80 3E 0015 4E            cmp    byte ptr ds:[15h],4Eh    ; (7816:0015=0B2h) 'N'
  1089. 7816:07BB  74 28                je    loc_91            ; Jump if equal
  1090. 7816:07BD  33 D2                xor    dx,dx            ; Zero register
  1091. 7816:07BF  B4 02                mov    ah,2
  1092. 7816:07C1  B7 00                mov    bh,0
  1093. 7816:07C3  CD 10                int    10h            ; Video display   ah=functn 02h
  1094.                                         ;  set cursor location in dx
  1095. 7816:07C5  B8 0920                mov    ax,920h
  1096. 7816:07C8  B9 07D0                mov    cx,7D0h
  1097. 7816:07CB  BB 0007                mov    bx,7
  1098. 7816:07CE  CD 10                int    10h            ; Video display   ah=functn 09h
  1099.                                         ;  set char al & attrib bl @curs
  1100. 7816:07D0 .BA 07DA                mov    dx,offset data_59    ; (7816:07DA=0Dh)
  1101. 7816:07D3  B4 09                mov    ah,9
  1102. 7816:07D5  CD 21                int    21h            ; DOS Services  ah=function 09h
  1103.                                         ;  display char string at ds:dx
  1104. 7816:07D7  EB 05                jmp    short loc_90        ; (07DE)
  1105. 7816:07D9  90                    db    90h
  1106. 7816:07DA  0D 0A 20 24        data_59        db    0Dh, 0Ah, ' $'        ;  xref 7816:07D0, 07D5
  1107. 7816:07DE            loc_90:                        ;  xref 7816:07D7
  1108. 7816:07DE .BA 10DB                mov    dx,offset data_93    ; (7816:10DB=0Dh)
  1109. 7816:07E1  B4 09                mov    ah,9
  1110. 7816:07E3  CD 21                int    21h            ; DOS Services  ah=function 09h
  1111.                                         ;  display char string at ds:dx
  1112. 7816:07E5            loc_91:                        ;  xref 7816:07B4, 07BB
  1113. 7816:07E5  80 3E 10C2 01            cmp    byte ptr data_74,1    ; (7816:10C2=0)
  1114. 7816:07EA  74 0D                je    loc_92            ; Jump if equal
  1115. 7816:07EC  E8 0ABD                call    sub_48            ; (12AC)
  1116. 7816:07EF  80 3E 0000 4C            cmp    byte ptr ds:[0],4Ch    ; (7816:0000=0AEh) 'L'
  1117. 7816:07F4  74 03                je    loc_92            ; Jump if equal
  1118. 7816:07F6  E8 00AD                call    sub_15            ; (08A6)
  1119. 7816:07F9            loc_92:                        ;  xref 7816:07EA, 07F4
  1120. 7816:07F9  E8 018A                call    sub_17            ; (0986)
  1121. 7816:07FC  E8 0493                call    sub_24            ; (0C92)
  1122. 7816:07FF  B9 040E                mov    cx,40Eh
  1123. 7816:0802 .BF 08A6                mov    di,data_152e        ; (8813:08A6=0)
  1124. 7816:0805  E8 055B                call    sub_28            ; (0D63)
  1125. 7816:0808  A1 10CC                mov    ax,ds:data_159e        ; (8813:10CC=0)
  1126. 7816:080B  8E C0                mov    es,ax
  1127. 7816:080D  80 3E 0001 45            cmp    byte ptr ds:data_142e,45h    ; (8813:0001=0) 'E'
  1128. 7816:0812  74 03                je    loc_93            ; Jump if equal
  1129. 7816:0814  EB 50                jmp    short loc_96        ; (0866)
  1130. 7816:0816  90                    db    90h
  1131. 7816:0817            loc_93:                        ;  xref 7816:0812
  1132. 7816:0817  06                    push    es
  1133. 7816:0818  8C C2                mov    dx,es
  1134. 7816:081A  83 C2 10                add    dx,10h
  1135. 7816:081D .BB 0000                mov    bx,offset ds:[0]    ; (7816:0000=0AEh)
  1136. 7816:0820  8B 0E 001A                mov    cx,ds:data_149e        ; (8813:001A=0)
  1137. 7816:0824  83 F9 00                cmp    cx,0
  1138. 7816:0827  74 18                je    loc_95            ; Jump if equal
  1139. 7816:0829  A1 001C                mov    ax,ds:data_150e        ; (8813:001C=0)
  1140. 7816:082C  1E                    push    ds
  1141. 7816:082D  8E D8                mov    ds,ax
  1142.  
  1143. 7816:082F            locloop_94:                    ;  xref 7816:083E
  1144. 7816:082F  8B 3F                mov    di,[bx]
  1145. 7816:0831  8B 47 02                mov    ax,[bx+2]
  1146. 7816:0834  03 C2                add    ax,dx
  1147. 7816:0836  8E C0                mov    es,ax
  1148. 7816:0838  26: 01 15                add    es:[di],dx
  1149. 7816:083B  83 C3 04                add    bx,4
  1150. 7816:083E  E2 EF                loop    locloop_94        ; Loop if cx > 0
  1151.   
  1152. 7816:0840  1F                    pop    ds
  1153. 7816:0841            loc_95:                        ;  xref 7816:0827
  1154. 7816:0841  A1 000B                mov    ax,ds:data_146e        ; (8813:000B=0)
  1155. 7816:0844  8E C0                mov    es,ax
  1156. 7816:0846  8B 1E 0009                mov    bx,ds:data_145e        ; (8813:0009=0)
  1157. 7816:084A  A0 000F                mov    al,ds:data_148e        ; (8813:000F=0)
  1158. 7816:084D  26: 88 07                mov    es:[bx],al
  1159. 7816:0850  07                    pop    es
  1160. 7816:0851  1F                    pop    ds
  1161. 7816:0852  58                    pop    ax
  1162. 7816:0853  FA                    cli                ; Disable interrupts
  1163. 7816:0854  2E: 8B 16 0004            mov    dx,word ptr cs:[4]    ; (7816:0004=0)
  1164. 7816:0859  8E D2                mov    ss,dx
  1165. 7816:085B  2E: 8B 26 0002            mov    sp,word ptr cs:[2]    ; (7816:0002=0FEC0h)
  1166. 7816:0860  FB                    sti                ; Enable interrupts
  1167. 7816:0861  2E: FF 2E 0009            jmp    dword ptr cs:[9]    ; (7816:0009=0FFh)
  1168. 7816:0866            loc_96:                        ;  xref 7816:0814
  1169. 7816:0866 .BB 0100                mov    bx,data_10e        ; (0000:0100=59h)
  1170. 7816:0869  A0 000F                mov    al,ds:data_16e        ; (011A:000F=74h)
  1171. 7816:086C  26: 88 07                mov    es:[bx],al
  1172. 7816:086F  A0 0010                mov    al,ds:data_17e        ; (011A:0010=3)
  1173. 7816:0872  26: 88 47 01                mov    es:[bx+1],al
  1174. 7816:0876  A0 0011                mov    al,ds:data_18e        ; (011A:0011=0E9h)
  1175. 7816:0879  26: 88 47 02                mov    es:[bx+2],al
  1176. 7816:087D  80 3E 0001 4C            cmp    byte ptr ds:data_15e,4Ch    ; (011A:0001=7Fh) 'L'
  1177. 7816:0882  74 05                je    loc_97            ; Jump if equal
  1178. 7816:0884  1F                    pop    ds
  1179. 7816:0885  58                    pop    ax
  1180. 7816:0886  E9 F77F        ;*        jmp    loc_1            ;*(0008)
  1181. 7816:0886  E9 7F F7                db    0E9h, 7Fh,0F7h
  1182. 7816:0889            loc_97:                        ;  xref 7816:0882
  1183. 7816:0889 .BB 8000                mov    bx,data_11e        ; (0000:8000=0F6h)
  1184. 7816:088C  A0 0012                mov    al,ds:data_1e        ; (0000:0012=70h)
  1185. 7816:088F  26: 88 07                mov    es:[bx],al
  1186. 7816:0892  A0 0013                mov    al,ds:data_2e        ; (0000:0013=0)
  1187. 7816:0895  26: 88 47 01                mov    es:[bx+1],al
  1188. 7816:0899  A0 0014                mov    al,ds:data_3e        ; (0000:0014=72h)
  1189. 7816:089C  26: 88 47 02                mov    es:[bx+2],al
  1190. 7816:08A0  1F                    pop    ds
  1191. 7816:08A1  58                    pop    ax
  1192. 7816:08A2  E9 F763                jmp    loc_1            ;*(0008)
  1193. 7816:08A5  90                    db    90h
  1194.   
  1195.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1196.                 ;                   SUBROUTINE
  1197.                 ;
  1198.                 ;    ôßΓá¡«ó¬á «Γ¼ÑΓ«¬ ñ½∩ »«óΓ«α¡«ú« ºá»π߬ᠻα«úαá¼¼δ íѺ ¬½ετÑó«ú«
  1199.                 ;    ñ¿ß¬á
  1200.                 ;
  1201.                 ;         Called from:     7816:07F6
  1202.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1203.   
  1204.                 sub_15        proc    near
  1205. 7816:08A6  B8 0000                mov    ax,0
  1206. 7816:08A9  8E C0                mov    es,ax
  1207. 7816:08AB  A1 0006                mov    ax,word ptr ds:[6]    ; (7816:0006=0E69Dh)
  1208. 7816:08AE  F6 DC                neg    ah
  1209. 7816:08B0  F6 D8                neg    al
  1210. 7816:08B2  8B 1E 1252                mov    bx,word ptr ds:[1252h]    ; (7816:1252=1F0h)
  1211. 7816:08B6  26: 89 07                mov    es:[bx],ax
  1212. 7816:08B9  E8 0568                call    sub_34            ; (0E24)
  1213. 7816:08BC  FA                    cli                ; Disable interrupts
  1214. 7816:08BD  E4 21                in    al,21h            ; port 21h, 8259-1 int IMR
  1215. 7816:08BF  24 7F                and    al,7Fh
  1216. 7816:08C1  E6 21                out    21h,al            ; port 21h, 8259-1 int comands
  1217. 7816:08C3  FB                    sti                ; Enable interrupts
  1218. 7816:08C4  C3                    retn
  1219.                 sub_15        endp
  1220.   
  1221. 7816:08C5  90                    db    90h
  1222.   
  1223.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1224.                 ;                   SUBROUTINE
  1225.                 ;
  1226.                 ;    Å«ñßτÑΓ ¿ »α«óÑα¬á ¬.ß. ñá¡¡δσ, ßτ¿Γá¡¡δσ ß ñ¿ß¬á
  1227.                 ;
  1228.                 ;         Called from:     7816:010A
  1229.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1230.   
  1231.                 sub_16        proc    near
  1232. 7816:08C6  E9 0000                jmp    loc_98            ; (08C9)
  1233. 7816:08C9            loc_98:                        ;  xref 7816:08C6
  1234. 7816:08C9  B5 03                mov    ch,3
  1235. 7816:08CB  BA 0004                mov    dx,4
  1236. 7816:08CE  B8 00B0                mov    ax,0B0h
  1237. 7816:08D1  90                    nop
  1238. 7816:08D2  50                    push    ax
  1239. 7816:08D3  E8 00FA                call    sub_18            ; (09D0)
  1240. 7816:08D6  C7 06 08C7 000D            mov    word ptr ds:[8C7h],0Dh    ; (7816:08C7=0)
  1241. 7816:08DC  FB                    sti                ; Enable interrupts
  1242. 7816:08DD  B8 0001                mov    ax,1
  1243. 7816:08E0  A3 08EB                mov    data_61,ax        ; (7816:08EB=0)
  1244. 7816:08E3  B8 0004                mov    ax,4
  1245. 7816:08E6  A3 08ED                mov    data_62,ax        ; (7816:08ED=0)
  1246. 7816:08E9  EB 04                jmp    short loc_99        ; (08EF)
  1247. 7816:08EB  0000            data_61        dw    0            ;  xref 7816:08E0, 092A, 0930
  1248. 7816:08ED  0000            data_62        dw    0            ;  xref 7816:08E6, 0927
  1249. 7816:08EF            loc_99:                        ;  xref 7816:08E9, 0934
  1250. 7816:08EF  C6 06 10C5 01            mov    byte ptr data_77,1    ; (7816:10C5=1)
  1251. 7816:08F4  90                    nop
  1252. 7816:08F5  A0 1250                mov    al,byte ptr ds:[1250h]    ; (7816:1250=0F9h)
  1253. 7816:08F8  A2 10C6                mov    data_78,al        ; (7816:10C6=0F8h)
  1254. 7816:08FB  C6 06 10C7 1A            mov    byte ptr data_79,1Ah    ; (7816:10C7=1Ah)
  1255. 7816:0900  90                    nop
  1256. 7816:0901  C6 06 10CB 46            mov    byte ptr data_83,46h    ; (7816:10CB=46h) 'F'
  1257. 7816:0906  C6 06 10C9 01            mov    byte ptr data_81,1    ; (7816:10C9=1)
  1258. 7816:090B  B0 00                mov    al,0
  1259. 7816:090D  A2 10C8                mov    data_80,al        ; (7816:10C8=0)
  1260. 7816:0910  A0 1250                mov    al,byte ptr ds:[1250h]    ; (7816:1250=0F9h)
  1261. 7816:0913  A2 10CA                mov    data_82,al        ; (7816:10CA=0F8h)
  1262. 7816:0916  E8 0654                call    sub_43            ; (0F6D)
  1263. 7816:0919  C6 06 10C5 02            mov    byte ptr data_77,2    ; (7816:10C5=1)
  1264. 7816:091E  90                    nop
  1265. 7816:091F  C6 06 10C6 09            mov    byte ptr data_78,9    ; (7816:10C6=0F8h)
  1266. 7816:0924  90                    nop
  1267. 7816:0925  73 11                jnc    loc_101            ; Jump if carry=0
  1268. 7816:0927  A1 08ED                mov    ax,data_62        ; (7816:08ED=0)
  1269. 7816:092A  3B 06 08EB                cmp    ax,data_61        ; (7816:08EB=0)
  1270. 7816:092E  74 06                je    loc_100            ; Jump if equal
  1271. 7816:0930  FF 06 08EB                inc    data_61            ; (7816:08EB=0)
  1272. 7816:0934  EB B9                jmp    short loc_99        ; (08EF)
  1273. 7816:0936            loc_100:                    ;  xref 7816:092E
  1274. 7816:0936  F9                    stc                ; Set carry flag
  1275. 7816:0937  C3                    retn
  1276. 7816:0938            loc_101:                    ;  xref 7816:0925
  1277. 7816:0938  8B 36 12AA                mov    si,data_132        ; (7816:12AA=14ADh)
  1278. 7816:093C  BA 0000                mov    dx,0
  1279. 7816:093F  8A 3E 1250                mov    bh,byte ptr ds:[1250h]    ; (7816:1250=0F9h)
  1280. 7816:0943  B9 00FE                mov    cx,0FEh
  1281.   
  1282. 7816:0946            locloop_102:                    ;  xref 7816:094D
  1283. 7816:0946  8A 1C                mov    bl,[si]
  1284. 7816:0948  03 D3                add    dx,bx
  1285. 7816:094A  F6 1C                neg    byte ptr [si]
  1286. 7816:094C  46                    inc    si
  1287. 7816:094D  E2 F7                loop    locloop_102        ; Loop if cx > 0
  1288.   
  1289. 7816:094F  39 14                cmp    [si],dx
  1290. 7816:0951  F9                    stc                ; Set carry flag
  1291. 7816:0952  74 01                jz    loc_103            ; Jump if zero
  1292. 7816:0954  C3                    retn
  1293. 7816:0955            loc_103:                    ;  xref 7816:0952
  1294. 7816:0955  FC                    cld                ; Clear direction
  1295. 7816:0956  B9 000C                mov    cx,0Ch
  1296. 7816:0959  8B 36 12AA                mov    si,data_132        ; (7816:12AA=14ADh)
  1297. 7816:095D .81 C6 00B0                add    si,offset ds:[0B0h]    ; (7816:00B0=0Dh)
  1298. 7816:0961  8C D8                mov    ax,ds
  1299. 7816:0963  8E C0                mov    es,ax
  1300. 7816:0965 .BF 11B6                mov    di,offset data_107    ; (7816:11B6=0)
  1301. 7816:0968  F3/ A5                rep    movsw            ; Rep when cx >0 Mov [si] to es:[di]
  1302. 7816:096A  FC                    cld                ; Clear direction
  1303. 7816:096B  8B 36 12AA                mov    si,data_132        ; (7816:12AA=14ADh)
  1304. 7816:096F  83 C6 20                add    si,20h
  1305. 7816:0972 .BF 00E0                mov    di,data_9e        ; (0000:00E0=45h)
  1306. 7816:0975  A1 10CC                mov    ax,data_84        ; (7816:10CC=0)
  1307. 7816:0978  8E C0                mov    es,ax
  1308. 7816:097A  B9 001F                mov    cx,1Fh
  1309. 7816:097D  F3/ A4                rep    movsb            ; Rep when cx >0 Mov [si] to es:[di]
  1310. 7816:097F  8C D8                mov    ax,ds
  1311. 7816:0981  8E C0                mov    es,ax
  1312. 7816:0983  F8                    clc                ; Clear carry flag
  1313. 7816:0984  C3                    retn
  1314.                 sub_16        endp
  1315.   
  1316. 7816:0985  90                    db    90h
  1317.  
  1318.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1319.                 ;                   SUBROUTINE
  1320.                 ;
  1321.                 ;    äÑΦ¿Σαᵿ∩ πτáßΓ¬á »α«úαá¼¼δ.
  1322.                 ;
  1323.                 ;         Called from:     7816:07F9
  1324.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1325.   
  1326.                 sub_17        proc    near
  1327. 7816:0986  B5 03                mov    ch,3
  1328. 7816:0988  BA 000E                mov    dx,0Eh
  1329. 7816:098B  B8 003E                mov    ax,3Eh
  1330. 7816:098E  50                    push    ax
  1331. 7816:098F  E8 003E                call    sub_18            ; (09D0)
  1332. 7816:0992  A1 10CC                mov    ax,data_84        ; (7816:10CC=0)
  1333. 7816:0995  8E C0                mov    es,ax
  1334. 7816:0997  FB                    sti                ; Enable interrupts
  1335. 7816:0998  83 3E 1262 4E            cmp    word ptr ds:[1262h],4Eh    ; (7816:1262=59h)
  1336. 7816:099D  74 28                je    loc_105            ; Jump if equal
  1337. 7816:099F .BB 0108                mov    bx,data_12e        ; (0011:0108=0)
  1338. 7816:09A2  8B 0E 0016                 mov    cx,word ptr ds:[16h]    ; (7816:0016=0FFE8h)
  1339. 7816:09A6  83 E9 40                sub    cx,40h
  1340. 7816:09A9  72 1C                jc    loc_105            ; Jump if carry Set
  1341. 7816:09AB  8A D1                mov    dl,cl
  1342. 7816:09AD  8A 36 1250                mov    dh,byte ptr ds:[1250h]    ; (7816:1250=0F9h)
  1343. 7816:09B1  33 16 0006                xor    dx,word ptr ds:[6]    ; (7816:0006=0E69Dh)
  1344. 7816:09B5  1E                    push    ds
  1345. 7816:09B6  8C C0                mov    ax,es
  1346. 7816:09B8  05 0011                add    ax,11h
  1347.   
  1348. 7816:09BB            locloop_104:                    ;  xref 7816:09C4
  1349. 7816:09BB  8E D8                mov    ds,ax
  1350. 7816:09BD  29 17                sub    [bx],dx
  1351. 7816:09BF  F7 DA                neg    dx
  1352. 7816:09C1  F6 DE                neg    dh
  1353. 7816:09C3  40                    inc    ax
  1354. 7816:09C4  E2 F5                loop    locloop_104        ; Loop if cx > 0
  1355.   
  1356. 7816:09C6  1F                    pop    ds
  1357. 7816:09C7            loc_105:                    ;  xref 7816:099D, 09A9
  1358. 7816:09C7  B9 001F                mov    cx,1Fh
  1359. 7816:09CA  BF 0992                mov    di,992h
  1360. 7816:09CD  E9 0393                jmp    loc_161            ; (0D63)
  1361.                 sub_17        endp
  1362.   
  1363.   
  1364.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1365.                 ;                   SUBROUTINE
  1366.                 ;
  1367.                 ;    âÑ¡Ñαᵿ∩ π¬áºá¡¡«ú« πτáßΓ¬á »α«úαá¼¼δ.
  1368.                 ;
  1369.                 ;         Called from:     7816:0037, 0087, 01FF, 02FF, 0697, 07A9, 08D3
  1370.                 ;                  098F, 0A8F
  1371.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1372.   
  1373.                 sub_18        proc    near
  1374. 7816:09D0  FA                    cli
  1375. 7816:09D1  FC                    cld
  1376. 7816:09D2  B8 0000                mov    ax,0
  1377. 7816:09D5  8E C0                     mov    es,ax
  1378. 7816:09D7  8C C8                        mov    ax,cs
  1379. 7816:09D9  26: A3 0006                   mov    es:data_2e,ax
  1380. 7816:09DD  E8 0000                              call    sub_18a
  1381.                 sub_18a:
  1382. 7816:09E0  8B EC                mov    bp,sp
  1383. 7816:09E2  5F                                   pop    di
  1384. 7816:09E3 .81 C7 0008                           add    di,offset ds:[8]
  1385. 7816:09E7  90                                   nop
  1386. 7816:09E8            loc_106:                    ;  xref 7816:0A31
  1387. 7816:09E8  BB 0074                mov    bx,74h
  1388. 7816:09EB  03 DF                add    bx,di
  1389. 7816:09ED  26: 89 1E 0004            mov    word ptr es:[4],bx    ; (7816:0004=0)
  1390. 7816:09F2  9C                    pushf                ; Push flags
  1391. 7816:09F3  81 4E 00 0100            or    word ptr [bp],100h
  1392. 7816:09F8  9D                    popf                ; Pop flags
  1393. 7816:09F9  8A CE                mov    cl,dh
  1394. 7816:09FB  2E: 89 8D 005D            mov    cs:[di+5Dh],cx
  1395. 7816:0A00  80 E1 07                and    cl,7
  1396. 7816:0A03  80 C1 07                add    cl,7
  1397. 7816:0A06            loc_107:                    ;  xref 7816:0A1F
  1398. 7816:0A06 .BB 008C                mov    bx,offset ds:[8Ch]    ; (7816:008C=0)
  1399. 7816:0A09            loc_108:                    ;  xref 7816:0A0F
  1400. 7816:0A09  2E: 33 11                xor    dx,cs:[bx+di]
  1401. 7816:0A0C  83 EB 02                sub    bx,2
  1402. 7816:0A0F  73 F8                jnc    loc_108            ; Jump if carry=0
  1403. 7816:0A11 .BB 0088                mov    bx,offset ds:[88h]    ; (7816:0088=46h)
  1404. 7816:0A14  03 DF                add    bx,di
  1405. 7816:0A16  26: 89 1E 0004            mov    word ptr es:[4],bx    ; (7816:0004=0)
  1406. 7816:0A1B  D1 CA                ror    dx,1            ; Rotate
  1407. 7816:0A1D  FE C9                dec    cl
  1408. 7816:0A1F  75 E5                jnz    loc_107            ; Jump if not zero
  1409. 7816:0A21  8C C0                mov    ax,es
  1410. 7816:0A23  03 D0                add    dx,ax
  1411. 7816:0A25  26: 89 0E 000C            mov    word ptr es:[0Ch],cx    ; (7816:000C=0E800h)
  1412. 7816:0A2A  26: 89 16 000E            mov    word ptr es:[0Eh],dx    ; (7816:000E=0E200h)
  1413. 7816:0A2F  FE CD                dec    ch
  1414. 7816:0A31  75 B5                jnz    loc_106            ; Jump if not zero
  1415. 7816:0A33  5B                    pop    bx
  1416. 7816:0A34  5E                    pop    si
  1417. 7816:0A35  83 EE 02                sub    si,2
  1418. 7816:0A38            loc_109:                    ;  xref 7816:0A41
  1419. 7816:0A38  2E: 31 10                xor    cs:[bx+si],dx
  1420. 7816:0A3B  42                    inc    dx
  1421. 7816:0A3C  D1 CA                ror    dx,1            ; Rotate
  1422. 7816:0A3E  83 EE 02                sub    si,2
  1423. 7816:0A41  73 F5                jnc    loc_109            ; Jump if carry=0
  1424. 7816:0A43  FF E3                jmp    bx            ;*
  1425. 7816:0A45  D2 01                rol    byte ptr [bx+di],cl    ; Rotate
  1426. 7816:0A47  8B 46 00                mov    ax,[bp]
  1427. 7816:0A4A  25 0FC5                and    ax,0FC5h
  1428. 7816:0A4D  8B 76 FC                mov    si,[bp-4]
  1429. 7816:0A50  2E: 33 04                xor    ax,cs:[si]
  1430. 7816:0A53  2B F7                sub    si,di
  1431. 7816:0A55  03 C6                add    ax,si
  1432. 7816:0A57  03 D0                add    dx,ax
  1433. 7816:0A59  D1 C2                rol    dx,1            ; Rotate
  1434. 7816:0A5B  CF                    iret                ; Interrupt return
  1435.                 sub_18        endp
  1436.   
  1437. 7816:0A5C  8B 46 FC                mov    ax,[bp-4]
  1438. 7816:0A5F  2B C7                          sub    ax,di
  1439. 7816:0A61  2D 15 00                        sub    ax,15h
  1440. 7816:0A64  75 09                           jnz    loc_iret
  1441. 7816:0A66  B8 5F 00                mov    ax,005Fh
  1442. 7816:0A69  03 C7                add    ax,di
  1443. 7816:0A6B  26: A3 0004                mov    es:[4],ax
  1444.                 loc_iret:
  1445. 7816:0A6F  CF                                  iret
  1446. 7816:0A70 .81 66 00 FEFF                        and    [bp],0FEFFh
  1447. 7816:0A75  CF                                   iret
  1448. 7816:0A76  00 00 C3                db    00h, 00h,0C3h
  1449. 7816:0A79            loc_110:
  1450. 7816:0A79  2D 0026                sub    ax,26h
  1451. 7816:0A7C  B1 04                mov    cl,4
  1452. 7816:0A7E  D3 E8                shr    ax,cl            ; Shift w/zeros fill
  1453. 7816:0A80  8C C9                mov    cx,cs
  1454. 7816:0A82  03 C1                add    ax,cx
  1455. 7816:0A84  8E D8                mov    ds,ax
  1456. 7816:0A86  B5 06                mov    ch,6
  1457. 7816:0A88  BA 0000                mov    dx,0
  1458. 7816:0A8B  B8 0818                mov    ax,818h
  1459. 7816:0A8E  50                    push    ax
  1460. 7816:0A8F  E8 FF3E                call    sub_18            ; (09D0)
  1461. 7816:0A92  B9 0010                mov    cx,10h
  1462. 7816:0A95 .BB 0000                mov    bx,offset ds:[0]    ; (7816:0000=0AEh)
  1463. 7816:0A98  FB                    sti                ; Enable interrupts
  1464.   
  1465. 7816:0A99            locloop_111:                    ;  xref 7816:0A9E
  1466. 7816:0A99  F7 1F                neg    word ptr [bx]
  1467. 7816:0A9B  83 C3 02                add    bx,2
  1468. 7816:0A9E  E2 F9                loop    locloop_111        ; Loop if cx > 0
  1469.   
  1470. 7816:0AA0            loc_112:                    ;  xref 7816:0AD8
  1471. 7816:0AA0  B1 04                mov    cl,4
  1472. 7816:0AA2  8B 1E 12AA                mov    bx,ds:data_163e        ; (8813:12AA=0)
  1473. 7816:0AA6  D3 EB                shr    bx,cl            ; Shift w/zeros fill
  1474. 7816:0AA8  8C D8                mov    ax,ds
  1475. 7816:0AAA  03 D8                add    bx,ax
  1476. 7816:0AAC  8B D4                mov    dx,sp
  1477. 7816:0AAE  D3 EA                shr    dx,cl            ; Shift w/zeros fill
  1478. 7816:0AB0  8C D0                mov    ax,ss
  1479. 7816:0AB2  03 D0                add    dx,ax
  1480. 7816:0AB4  2B D3                sub    dx,bx
  1481. 7816:0AB6  81 FA 0200                cmp    dx,200h
  1482. 7816:0ABA  74 02                je    loc_113            ; Jump if equal
  1483. 7816:0ABC  73 06                jnc    loc_114            ; Jump if carry=0
  1484. 7816:0ABE            loc_113:                    ;  xref 7816:0ABA
  1485. 7816:0ABE  81 06 12AA 2000            add    word ptr ds:data_163e,2000h    ; (8813:12AA=0)
  1486. 7816:0AC4            loc_114:                    ;  xref 7816:0ABC
  1487. 7816:0AC4  8C DB                mov    bx,ds
  1488. 7816:0AC6  D3 E3                shl    bx,cl            ; Shift w/zeros fill
  1489. 7816:0AC8  03 1E 12AA                add    bx,ds:data_163e        ; (8813:12AA=0)
  1490. 7816:0ACC  81 C3 2000                add    bx,2000h
  1491. 7816:0AD0  73 08                jnc    loc_115            ; Jump if carry=0
  1492. 7816:0AD2  81 06 12AA 2000            add    word ptr ds:data_163e,2000h    ; (8813:12AA=0)
  1493. 7816:0AD8  EB C6                jmp    short loc_112        ; (0AA0)
  1494. 7816:0ADA            loc_115:                    ;  xref 7816:0AD0
  1495. 7816:0ADA  8C D8                mov    ax,ds
  1496. 7816:0ADC  2B 06 000D                sub    ax,ds:data_147e        ; (8813:000D=0)
  1497. 7816:0AE0  50                    push    ax
  1498. 7816:0AE1  03 06 000B                add    ax,ds:data_146e        ; (8813:000B=0)
  1499. 7816:0AE5  A3 000B                mov    ds:data_146e,ax        ; (8813:000B=0)
  1500. 7816:0AE8  58                    pop    ax
  1501. 7816:0AE9  03 06 0004                add    ax,ds:data_143e        ; (8813:0004=0)
  1502. 7816:0AED  A3 0004                mov    ds:data_143e,ax        ; (8813:0004=0)
  1503. 7816:0AF0  8C D8                mov    ax,ds
  1504. 7816:0AF2  2B 06 001C                sub    ax,ds:data_150e        ; (8813:001C=0)
  1505. 7816:0AF6  A3 001C                mov    ds:data_150e,ax        ; (8813:001C=0)
  1506. 7816:0AF9  E9 F52E                jmp    loc_2            ; (002A)
  1507.   
  1508.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1509.                 ;                   SUBROUTINE
  1510.                 ;
  1511.                 ;    ìáßΓα«⌐¬á ¼¿¬α«ßσѼδ ÅäÅ.
  1512.                 ;
  1513.                 ;         Called from:     7816:072A, 0F84
  1514.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1515.   
  1516.                 sub_19        proc    near
  1517. 7816:0AFC  FA                    cli                ; Disable interrupts
  1518. 7816:0AFD  E6 0C                out    0Ch,al            ; port 0Ch, DMA-1 clr byte ptr
  1519. 7816:0AFF  50                    push    ax
  1520. 7816:0B00  58                    pop    ax
  1521. 7816:0B01  E6 0B                out    0Bh,al            ; port 0Bh, DMA-1 mode reg
  1522. 7816:0B03  8C D8                mov    ax,ds
  1523. 7816:0B05  B1 04                mov    cl,4
  1524. 7816:0B07  D3 C0                rol    ax,cl            ; Rotate
  1525. 7816:0B09  8A E8                mov    ch,al
  1526. 7816:0B0B  24 F0                and    al,0F0h
  1527. 7816:0B0D  03 06 12AA                add    ax,data_132        ; (7816:12AA=14ADh)
  1528. 7816:0B11  73 02                jnc    loc_116            ; Jump if carry=0
  1529. 7816:0B13  FE C5                inc    ch
  1530. 7816:0B15            loc_116:                    ;  xref 7816:0B11
  1531. 7816:0B15  50                    push    ax
  1532. 7816:0B16  E6 04                out    4,al            ; port 4, DMA-1 bas&add ch 2
  1533. 7816:0B18  8A C4                mov    al,ah
  1534. 7816:0B1A  E6 04                out    4,al            ; port 4, DMA-1 bas&add ch 2
  1535. 7816:0B1C  8A C5                mov    al,ch
  1536. 7816:0B1E  24 0F                and    al,0Fh
  1537. 7816:0B20  E6 81                out    81h,al            ; port 81h, DMA page reg ch 2
  1538. 7816:0B22  8A E6                mov    ah,dh
  1539. 7816:0B24  2A C0                sub    al,al
  1540. 7816:0B26  D1 E8                shr    ax,1            ; Shift w/zeros fill
  1541. 7816:0B28  8A CA                mov    cl,dl
  1542. 7816:0B2A  D3 E0                shl    ax,cl            ; Shift w/zeros fill
  1543. 7816:0B2C  48                    dec    ax
  1544. 7816:0B2D  50                    push    ax
  1545. 7816:0B2E  E6 05                out    5,al            ; port 5, DMA-1 bas&cnt ch 2
  1546. 7816:0B30  8A C4                mov    al,ah
  1547. 7816:0B32  E6 05                out    5,al            ; port 5, DMA-1 bas&cnt ch 2
  1548. 7816:0B34  FB                    sti                ; Enable interrupts
  1549. 7816:0B35  59                    pop    cx
  1550. 7816:0B36  58                    pop    ax
  1551. 7816:0B37  B0 02                mov    al,2
  1552. 7816:0B39  E6 0A                out    0Ah,al            ; port 0Ah, DMA-1 mask reg bit
  1553. 7816:0B3B  C3                    retn
  1554.                 sub_19        endp
  1555.   
  1556. 7816:0B3C            loc_117:                    ;  xref 7816:0459
  1557. 7816:0B3C  E8 03C2                call    sub_40            ; (0F01)
  1558. 7816:0B3F .BA 0B49                mov    dx,offset data_63    ; (7816:0B49=0Dh)
  1559. 7816:0B42  B4 09                mov    ah,9
  1560. 7816:0B44  CD 21                int    21h            ; DOS Services  ah=function 09h
  1561.                                         ;  display char string at ds:dx
  1562. 7816:0B46  EB 10                jmp    short loc_118        ; (0B58)
  1563. 7816:0B48  90                    db    90h
  1564. 7816:0B49  0D 0A 31 30 30 20    data_63        db    0Dh, 0Ah, '100 RETR ERR$'    ;  xref 7816:0B3F, 0B44
  1565. 7816:0B4F  52 45 54 52 20 45
  1566. 7816:0B55  52 52 24
  1567. 7816:0B58            loc_118:                    ;  xref 7816:0B46
  1568. 7816:0B58  E9 0181                jmp    loc_159            ; (0CDC)
  1569.  
  1570. ;    Å«ñ»α«úαá¼¼δ sub_20 ... sub_23 »α«óÑα∩εΓ »αáó¿½∞¡«ßΓ∞ ßτ¿Γá¡¡δσ ñá¡¡δσ.
  1571.   
  1572.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1573.                 ;                   SUBROUTINE
  1574.                 ;
  1575.                 ;         Called from:     7816:0286, 06D3, 06F2
  1576.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1577.   
  1578.                 sub_20        proc    near
  1579.   
  1580. 7816:0B5B            locloop_119:                    ;  xref 7816:0B69
  1581. 7816:0B5B  8B 17                mov    dx,[bx]
  1582. 7816:0B5D  83 C3 02                add    bx,2
  1583. 7816:0B60  81 FA F6F6                cmp    dx,0F6F6h
  1584. 7816:0B64  74 03                je    loc_120            ; Jump if equal
  1585. 7816:0B66  E9 0143                jmp    loc_156            ; (0CAC)
  1586. 7816:0B69            loc_120:                    ;  xref 7816:0B64
  1587. 7816:0B69  E2 F0                loop    locloop_119        ; Loop if cx > 0
  1588.   
  1589. 7816:0B6B  C3                    retn
  1590.   
  1591.                 ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1592.                 ;
  1593.                 ;         Called from:     7816:029D, 0709
  1594.   
  1595.                 sub_21:
  1596. 7816:0B6C            loc_121:                    ;  xref 7816:0B70
  1597. 7816:0B6C  43                    inc    bx
  1598. 7816:0B6D  80 3F 4E                cmp    byte ptr [bx],4Eh    ; 'N'
  1599. 7816:0B70  74 FA                je    loc_121            ; Jump if equal
  1600. 7816:0B72  80 27 F0                and    byte ptr [bx],0F0h
  1601. 7816:0B75  80 3F 40                cmp    byte ptr [bx],40h    ; '@'
  1602. 7816:0B78  75 01                jne    loc_122            ; Jump if not equal
  1603. 7816:0B7A  43                    inc    bx
  1604. 7816:0B7B            loc_122:                    ;  xref 7816:0B78
  1605. 7816:0B7B  43                    inc    bx
  1606. 7816:0B7C  B9 0008                mov    cx,8
  1607.   
  1608. 7816:0B7F            locloop_123:                    ;  xref 7816:0BB8
  1609. 7816:0B7F  8A 07                mov    al,[bx]
  1610. 7816:0B81  3C 00                cmp    al,0
  1611. 7816:0B83  74 03                je    loc_124            ; Jump if equal
  1612. 7816:0B85  EB 07                jmp    short loc_125        ; (0B8E)
  1613. 7816:0B87  90                    db    90h
  1614. 7816:0B88            loc_124:                    ;  xref 7816:0B83
  1615. 7816:0B88  BE 11EB                mov    si,11EBh
  1616. 7816:0B8B  EB 30                jmp    short loc_132        ; (0BBD)
  1617. 7816:0B8D  90                    db    90h
  1618. 7816:0B8E            loc_125:                    ;  xref 7816:0B85
  1619. 7816:0B8E  3C FF                cmp    al,0FFh
  1620. 7816:0B90  74 03                je    loc_126            ; Jump if equal
  1621. 7816:0B92  EB 07                jmp    short loc_127        ; (0B9B)
  1622. 7816:0B94  90                    db    90h
  1623. 7816:0B95            loc_126:                    ;  xref 7816:0B90
  1624. 7816:0B95  BE 1204                mov    si,1204h
  1625. 7816:0B98  EB 23                jmp    short loc_132        ; (0BBD)
  1626. 7816:0B9A  90                    db    90h
  1627. 7816:0B9B            loc_127:                    ;  xref 7816:0B92
  1628. 7816:0B9B  3C 4E                cmp    al,4Eh            ; 'N'
  1629. 7816:0B9D  74 03                je    loc_128            ; Jump if equal
  1630. 7816:0B9F  EB 07                jmp    short loc_129        ; (0BA8)
  1631. 7816:0BA1  90                    db    90h
  1632. 7816:0BA2            loc_128:                    ;  xref 7816:0B9D
  1633. 7816:0BA2  BE 11E9                mov    si,11E9h
  1634. 7816:0BA5  EB 36                jmp    short loc_136        ; (0BDD)
  1635. 7816:0BA7  90                    db    90h
  1636. 7816:0BA8            loc_129:                    ;  xref 7816:0B9F
  1637. 7816:0BA8  3C 90                cmp    al,90h
  1638. 7816:0BAA  74 03                je    loc_130            ; Jump if equal
  1639. 7816:0BAC  EB 07                jmp    short loc_131        ; (0BB5)
  1640. 7816:0BAE  90                    db    90h
  1641. 7816:0BAF            loc_130:                    ;  xref 7816:0BAA
  1642. 7816:0BAF  BE 1202                mov    si,1202h
  1643. 7816:0BB2  EB 29                jmp    short loc_136        ; (0BDD)
  1644. 7816:0BB4  90                    db    90h
  1645. 7816:0BB5            loc_131:                    ;  xref 7816:0BAC
  1646. 7816:0BB5  E8 0220                call    sub_31            ; (0DD8)
  1647. 7816:0BB8  E2 C5                loop    locloop_123        ; Loop if cx > 0
  1648.   
  1649. 7816:0BBA  E9 00EF                jmp    loc_156            ; (0CAC)
  1650. 7816:0BBD            loc_132:                    ;  xref 7816:0B8B, 0B98, 0BC0
  1651. 7816:0BBD  43                    inc    bx
  1652. 7816:0BBE  3A 07                cmp    al,[bx]
  1653. 7816:0BC0  74 FB                je    loc_132            ; Jump if equal
  1654. 7816:0BC2  B9 0008                mov    cx,8
  1655.   
  1656. 7816:0BC5            locloop_133:                    ;  xref 7816:0BD8
  1657. 7816:0BC5  8A 07                mov    al,[bx]
  1658. 7816:0BC7  3C C2                cmp    al,0C2h
  1659. 7816:0BC9  74 07                je    loc_134            ; Jump if equal
  1660. 7816:0BCB  3C 14                cmp    al,14h
  1661. 7816:0BCD  74 03                je    loc_134            ; Jump if equal
  1662. 7816:0BCF  EB 04                jmp    short loc_135        ; (0BD5)
  1663. 7816:0BD1  90                    nop
  1664. 7816:0BD2            loc_134:                    ;  xref 7816:0BC9, 0BCD
  1665. 7816:0BD2  EB 0E                jmp    short loc_137        ; (0BE2)
  1666. 7816:0BD4  90                    db    90h
  1667. 7816:0BD5            loc_135:                    ;  xref 7816:0BCF
  1668. 7816:0BD5  E8 0200                call    sub_31            ; (0DD8)
  1669. 7816:0BD8  E2 EB                loop    locloop_133        ; Loop if cx > 0
  1670.   
  1671. 7816:0BDA  E9 00CF                jmp    loc_156            ; (0CAC)
  1672. 7816:0BDD            loc_136:                    ;  xref 7816:0BA5, 0BB2, 0BE0
  1673. 7816:0BDD  43                    inc    bx
  1674. 7816:0BDE  3A 07                cmp    al,[bx]
  1675. 7816:0BE0  74 FB                je    loc_136            ; Jump if equal
  1676. 7816:0BE2            loc_137:                    ;  xref 7816:0BD2
  1677. 7816:0BE2  E8 0001                call    sub_22            ; (0BE6)
  1678. 7816:0BE5  C3                    retn
  1679.  
  1680.                 ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1681.                 ;
  1682.                 ;         Called from:     7816:06D9, 071E, 0BE2
  1683.   
  1684.                 sub_22:
  1685. 7816:0BE6  51                    push    cx
  1686. 7816:0BE7            loc_138:                    ;  xref 7816:0C02, 0C06
  1687. 7816:0BE7  8B 14                mov    dx,[si]
  1688. 7816:0BE9  83 C6 02                add    si,2
  1689. 7816:0BEC  FE C2                inc    dl
  1690. 7816:0BEE  74 18                jz    loc_142            ; Jump if zero
  1691. 7816:0BF0  FE CA                dec    dl
  1692. 7816:0BF2  74 10                jz    loc_141            ; Jump if zero
  1693. 7816:0BF4  B5 00                mov    ch,0
  1694. 7816:0BF6  8A CA                mov    cl,dl
  1695.   
  1696. 7816:0BF8            locloop_139:                    ;  xref 7816:0C00
  1697. 7816:0BF8  3A 37                cmp    dh,[bx]
  1698. 7816:0BFA  74 03                je    loc_140            ; Jump if equal
  1699. 7816:0BFC  E9 00AD                jmp    loc_156            ; (0CAC)
  1700. 7816:0BFF            loc_140:                    ;  xref 7816:0BFA
  1701. 7816:0BFF  43                    inc    bx
  1702. 7816:0C00  E2 F6                loop    locloop_139        ; Loop if cx > 0
  1703.   
  1704. 7816:0C02  EB E3                jmp    short loc_138        ; (0BE7)
  1705. 7816:0C04            loc_141:                    ;  xref 7816:0BF2
  1706. 7816:0C04  4E                    dec    si
  1707. 7816:0C05  43                    inc    bx
  1708. 7816:0C06  EB DF                jmp    short loc_138        ; (0BE7)
  1709. 7816:0C08            loc_142:                    ;  xref 7816:0BEE
  1710. 7816:0C08  0A C0                or    al,al            ; Zero ?
  1711. 7816:0C0A  59                    pop    cx
  1712. 7816:0C0B  C3                    retn
  1713.   
  1714.                 ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1715.                 ;
  1716.                 ;         Called from:     7816:026E, 0787
  1717.   
  1718.                 sub_23:
  1719.   
  1720. 7816:0C0C            locloop_143:                    ;  xref 7816:0C2B
  1721. 7816:0C0C  89 3E 0D3F                mov    data_67,di        ; (7816:0D3F=0)
  1722. 7816:0C10  8B 07                mov    ax,[bx]
  1723. 7816:0C12  3D 0000                cmp    ax,0
  1724. 7816:0C15  74 08                je    loc_144            ; Jump if equal
  1725. 7816:0C17  3D FFFF                cmp    ax,0FFFFh
  1726. 7816:0C1A  74 03                je    loc_144            ; Jump if equal
  1727. 7816:0C1C  EB 0C                jmp    short loc_145        ; (0C2A)
  1728. 7816:0C1E  90                    db    90h
  1729. 7816:0C1F            loc_144:                    ;  xref 7816:0C15, 0C1A
  1730. 7816:0C1F  39 47 02                cmp    [bx+2],ax
  1731. 7816:0C22  75 06                jne    loc_145            ; Jump if not equal
  1732. 7816:0C24  4A                    dec    dx
  1733. 7816:0C25  74 09                jz    locloop_146        ; Jump if zero
  1734. 7816:0C27  83 C3 10                add    bx,10h
  1735. 7816:0C2A            loc_145:                    ;  xref 7816:0C1C, 0C22
  1736. 7816:0C2A  43                    inc    bx
  1737. 7816:0C2B  E2 DF                loop    locloop_143        ; Loop if cx > 0
  1738.   
  1739. 7816:0C2D  E9 008A                jmp    loc_157            ; (0CBA)
  1740.   
  1741. 7816:0C30            locloop_146:                    ;  xref 7816:0C25, 0C4D
  1742. 7816:0C30  8A 07                mov    al,[bx]
  1743. 7816:0C32  3C 00                cmp    al,0
  1744. 7816:0C34  74 07                je    loc_147            ; Jump if equal
  1745. 7816:0C36  3C FF                cmp    al,0FFh
  1746. 7816:0C38  74 03                je    loc_147            ; Jump if equal
  1747. 7816:0C3A  EB 07                jmp    short loc_148        ; (0C43)
  1748. 7816:0C3C  90                    db    90h
  1749. 7816:0C3D            loc_147:                    ;  xref 7816:0C34, 0C38
  1750. 7816:0C3D  A2 10D8                mov    data_91,al        ; (7816:10D8=0)
  1751. 7816:0C40  EB 04                jmp    short loc_149        ; (0C46)
  1752. 7816:0C42  90                    nop
  1753. 7816:0C43            loc_148:                    ;  xref 7816:0C3A
  1754. 7816:0C43  EB 04                jmp    short loc_150        ; (0C49)
  1755. 7816:0C45  90                    nop
  1756. 7816:0C46            loc_149:                    ;  xref 7816:0C40
  1757. 7816:0C46  EB 04                jmp    short loc_151        ; (0C4C)
  1758. 7816:0C48  90                    nop
  1759. 7816:0C49            loc_150:                    ;  xref 7816:0C43
  1760. 7816:0C49  EB 07                jmp    short loc_152        ; (0C52)
  1761. 7816:0C4B  90                    db    90h
  1762. 7816:0C4C            loc_151:                    ;  xref 7816:0C46
  1763. 7816:0C4C  43                    inc    bx
  1764. 7816:0C4D  E2 E1                loop    locloop_146        ; Loop if cx > 0
  1765.   
  1766. 7816:0C4F  EB 69                jmp    short loc_157        ; (0CBA)
  1767. 7816:0C51  90                    db    90h
  1768. 7816:0C52            loc_152:                    ;  xref 7816:0C49
  1769. 7816:0C52  32 06 10D8                xor    al,data_91        ; (7816:10D8=0)
  1770. 7816:0C56  BA 0000                mov    dx,0
  1771. 7816:0C59            loc_153:                    ;  xref 7816:0C5E
  1772. 7816:0C59  D0 E0                shl    al,1            ; Shift w/zeros fill
  1773. 7816:0C5B  72 03                jc    loc_154            ; Jump if carry Set
  1774. 7816:0C5D  42                    inc    dx
  1775. 7816:0C5E  EB F9                jmp    short loc_153        ; (0C59)
  1776. 7816:0C60            loc_154:                    ;  xref 7816:0C5B
  1777. 7816:0C60  D1 E1                shl    cx,1            ; Shift w/zeros fill
  1778. 7816:0C62  D1 E1                shl    cx,1            ; Shift w/zeros fill
  1779. 7816:0C64  D1 E1                shl    cx,1            ; Shift w/zeros fill
  1780. 7816:0C66  2B CA                sub    cx,dx
  1781. 7816:0C68  89 0E 0D41                mov    data_68,cx        ; (7816:0D41=0)
  1782. 7816:0C6C  2B CF                sub    cx,di
  1783. 7816:0C6E  79 02                jns    loc_ret_155        ; Jump if not sign
  1784. 7816:0C70  F7 D9                neg    cx
  1785.   
  1786. 7816:0C72            loc_ret_155:                    ;  xref 7816:0C6E
  1787. 7816:0C72  C3                    retn
  1788. 7816:0C73  90                    nop
  1789. 7816:0C74  E8 00F6                call    sub_29            ; (0D6D)
  1790. 7816:0C77  B9 061D                mov    cx,61Dh
  1791. 7816:0C7A .BF 003A                mov    di,offset ds:[3Ah]    ; (7816:003A=0D0h)
  1792. 7816:0C7D  E8 00E3                call    sub_28            ; (0D63)
  1793. 7816:0C80  B9 02FD                mov    cx,2FDh
  1794. 7816:0C83 .BF 0CAC                mov    di,offset ds:[0CACh]    ; (7816:0CAC=8Ah)
  1795. 7816:0C86  E8 00DA                call    sub_28            ; (0D63)
  1796. 7816:0C89  E8 0006                call    sub_24            ; (0C92)
  1797. 7816:0C8C  B4 4C                mov    ah,4Ch            ; 'L'
  1798. 7816:0C8E  B0 00                mov    al,0
  1799. 7816:0C90  CD 21                int    21h            ; DOS Services  ah=function 4Ch
  1800.                                         ;  terminate with al=return code
  1801.   
  1802.                 ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1803.                 ;
  1804.                 ;    é«ßßΓá¡«ó½Ñ¡¿Ñ óÑ¬Γ«αá 23h.
  1805.                 ;
  1806.                 ;         Called from:     7816:07FC, 0C89
  1807.   
  1808.                 sub_24:
  1809. 7816:0C92  06                    push    es
  1810. 7816:0C93  53                    push    bx
  1811. 7816:0C94  B8 0000                mov    ax,0
  1812. 7816:0C97  8E C0                mov    es,ax
  1813. 7816:0C99 .BB 008C                mov    bx,data_8e        ; (0000:008C=0F7h)
  1814. 7816:0C9C  A1 12A6                mov    ax,ds:data_161e        ; (8813:12A6=0)
  1815. 7816:0C9F  26: 89 07                mov    es:[bx],ax
  1816. 7816:0CA2  A1 12A8                mov    ax,ds:data_162e        ; (8813:12A8=0)
  1817. 7816:0CA5  26: 89 47 02                mov    es:[bx+2],ax
  1818. 7816:0CA9  5B                    pop    bx
  1819. 7816:0CAA  07                    pop    es
  1820. 7816:0CAB  C3                    retn
  1821. 7816:0CAC            loc_156:                    ;  xref 7816:0295, 02AB, 02D5, 02E4
  1822.                                         ;            0701, 0B66, 0BBA, 0BDA
  1823.                                         ;            0BFC
  1824. 7816:0CAC  8A 17                mov    dl,[bx]
  1825. 7816:0CAE  2B 1E 12AA                sub    bx,ds:data_163e        ; (8813:12AA=0)
  1826. 7816:0CB2  89 1E 0D3F                mov    ds:data_154e,bx        ; (8813:0D3F=0)
  1827. 7816:0CB6  89 16 0D41                mov    ds:data_155e,dx        ; (8813:0D41=0)
  1828. 7816:0CBA            loc_157:                    ;  xref 7816:0278, 0376, 0430, 0791
  1829.                                         ;            0C2D, 0C4F
  1830. 7816:0CBA .BA 0CC4                mov    dx,offset data_65    ; (7816:0CC4=0Dh)
  1831. 7816:0CBD  B4 09                mov    ah,9
  1832. 7816:0CBF  CD 21                int    21h            ; DOS Services  ah=function 09h
  1833.                                         ;  display char string at ds:dx
  1834. 7816:0CC1  EB 13                jmp    short loc_158        ; (0CD6)
  1835. 7816:0CC3  90                    db    90h
  1836. 7816:0CC4  0D 0A 09 2A 8F AB    data_65        db    0Dh, 0Ah, 9, '*Ž«σá∩ è«»¿∩*$'    ;  xref 7816:0CBA
  1837. 7816:0CCA  AE E5 A0 EF 20 8A
  1838. 7816:0CD0  AE AF A8 EF 2A 24
  1839. 7816:0CD6            loc_158:                    ;  xref 7816:0CC1
  1840. 7816:0CD6  A0 0D3E                mov    al,ds:data_153e        ; (8813:0D3E=0)
  1841. 7816:0CD9  E8 0067                call    sub_25            ; (0D43)
  1842. 7816:0CDC            loc_159:                    ;  xref 7816:0161, 0B58
  1843. 7816:0CDC  B9 0640                mov    cx,640h
  1844. 7816:0CDF .BF 003A                mov    di,data_151e        ; (8813:003A=0)
  1845. 7816:0CE2  E8 007E                call    sub_28            ; (0D63)
  1846. 7816:0CE5  B9 0269                mov    cx,269h
  1847. 7816:0CE8 .BF 0DD8                mov    di,data_156e        ; (8813:0DD8=0)
  1848. 7816:0CEB  E8 0075                call    sub_28            ; (0D63)
  1849. 7816:0CEE  E8 007C                call    sub_29            ; (0D6D)
  1850. 7816:0CF1  B0 20                mov    al,20h            ; ' '
  1851. 7816:0CF3  E8 0064                call    sub_27            ; (0D5A)
  1852. 7816:0CF6  8B 0E 0D41                mov    cx,ds:data_155e        ; (8813:0D41=0)
  1853. 7816:0CFA  8B D9                mov    bx,cx
  1854. 7816:0CFC  D1 C3                rol    bx,1            ; Rotate
  1855. 7816:0CFE  D1 C3                rol    bx,1            ; Rotate
  1856. 7816:0D00  D1 C3                rol    bx,1            ; Rotate
  1857. 7816:0D02  D1 C3                rol    bx,1            ; Rotate
  1858. 7816:0D04  8A C3                mov    al,bl
  1859. 7816:0D06  24 F0                and    al,0F0h
  1860. 7816:0D08  8A E5                mov    ah,ch
  1861. 7816:0D0A  80 E4 0F                and    ah,0Fh
  1862. 7816:0D0D  0A C4                or    al,ah
  1863. 7816:0D0F  E8 0031                call    sub_25            ; (0D43)
  1864. 7816:0D12  B0 20                mov    al,20h            ; ' '
  1865. 7816:0D14  E8 0043                call    sub_27            ; (0D5A)
  1866. 7816:0D17  8A C1                mov    al,cl
  1867. 7816:0D19  24 F0                and    al,0F0h
  1868. 7816:0D1B  8A E3                mov    ah,bl
  1869. 7816:0D1D  80 E4 0F                and    ah,0Fh
  1870. 7816:0D20  0A C4                or    al,ah
  1871. 7816:0D22  E8 001E                call    sub_25            ; (0D43)
  1872. 7816:0D25  B0 20                mov    al,20h            ; ' '
  1873. 7816:0D27  E8 0030                call    sub_27            ; (0D5A)
  1874. 7816:0D2A  8B 1E 0D3F                mov    bx,ds:data_154e        ; (8813:0D3F=0)
  1875. 7816:0D2E  8A C7                mov    al,bh
  1876. 7816:0D30  E8 0010                call    sub_25            ; (0D43)
  1877. 7816:0D33  8A C3                mov    al,bl
  1878. 7816:0D35  E8 000B                call    sub_25            ; (0D43)
  1879. 7816:0D38  B4 4C                mov    ah,4Ch            ; 'L'
  1880. 7816:0D3A  B0 02                mov    al,2
  1881. 7816:0D3C  CD 21                int    21h            ; DOS Services  ah=function 4Ch
  1882.                                         ;  terminate with al=return code
  1883. 7816:0D3E  00            data_66        db    0            ;  xref 7816:021D, 0255, 0282, 028B
  1884.                                         ;            0299, 02A0, 02B7, 02D8
  1885.                                         ;            032A, 06A7, 06B6, 06EB
  1886.                                         ;            06F7, 0705, 070C
  1887. 7816:0D3F  0000            data_67        dw    0            ;  xref 7816:022E, 0259, 042C, 0C0C
  1888. 7816:0D41  0000            data_68        dw    0            ;  xref 7816:0429, 0C68
  1889.                 sub_20        endp
  1890.   
  1891.   
  1892.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1893.                 ;                   SUBROUTINE
  1894.                 ;
  1895.                 ;    éδó«ñ ß«ñÑন¼«ú« al ó 16-α¿τ¡«⌐ ß¿ßΓѼѠßτ¿ß½Ñ¡¿∩.
  1896.                 ;
  1897.                 ;         Called from:     7816:0CD9, 0D0F, 0D22, 0D30, 0D35
  1898.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1899.   
  1900.                 sub_25        proc    near
  1901. 7816:0D43  50                    push    ax
  1902. 7816:0D44  D0 C8                ror    al,1            ; Rotate
  1903. 7816:0D46  D0 C8                ror    al,1            ; Rotate
  1904. 7816:0D48  D0 C8                ror    al,1            ; Rotate
  1905. 7816:0D4A  D0 C8                ror    al,1            ; Rotate
  1906. 7816:0D4C  E8 0001                call    sub_26            ; (0D50)
  1907. 7816:0D4F  58                    pop    ax
  1908.   
  1909.                 ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1910.                 ;
  1911.                 ;    ÅÑαÑó«ñ τ¿ß½á ó 16_α¿τ¡πε ææ.
  1912.                 ;
  1913.                 ;         Called from:     7816:0D4C
  1914.   
  1915.                 sub_26:
  1916. 7816:0D50  24 0F                and    al,0Fh
  1917. 7816:0D52  04 30                add    al,30h            ; '0'
  1918. 7816:0D54  3C 39                cmp    al,39h            ; '9'
  1919. 7816:0D56  7E 02                jle    loc_160            ; Jump if < or =
  1920. 7816:0D58  04 07                add    al,7
  1921.   
  1922.                 ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1923.                 ;
  1924.                 ;    éδó«ñ ß¿¼ó«½á ó al.
  1925.                 ;
  1926.                 ;         Called from:     7816:0CF3, 0D14, 0D27
  1927.   
  1928.                 sub_27:
  1929. 7816:0D5A            loc_160:                    ;  xref 7816:0D56
  1930. 7816:0D5A  52                    push    dx
  1931. 7816:0D5B  8A D0                mov    dl,al
  1932. 7816:0D5D  B4 02                mov    ah,2
  1933. 7816:0D5F  CD 21                int    21h            ; DOS Services  ah=function 02h
  1934.                                         ;  display char dl
  1935. 7816:0D61  5A                    pop    dx
  1936. 7816:0D62  C3                    retn
  1937.                 sub_25        endp
  1938.   
  1939.   
  1940.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1941.                 ;                   SUBROUTINE
  1942.                 ;
  1943.                 ;    çáΓ¿αá¡¿Ñ π¬áºá¡¡«ú« πτáßΓ¬á »á¼∩Γ¿.
  1944.                 ;
  1945.                 ;         Called from:     7816:01F2, 02F0, 068A, 079C, 0805, 0C7D, 0C86
  1946.                 ;                  0CE2, 0CEB
  1947.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1948.   
  1949.                 sub_28        proc    near
  1950. 7816:0D63            loc_161:                    ;  xref 7816:09CD
  1951. 7816:0D63  9C                    pushf                ; Push flags
  1952. 7816:0D64  FC                    cld                ; Clear direction
  1953. 7816:0D65  8C D8                mov    ax,ds
  1954. 7816:0D67  8E C0                mov    es,ax
  1955. 7816:0D69  F3/ AB                rep    stosw            ; Rep when cx >0 Store ax to es:[di]
  1956. 7816:0D6B  9D                    popf                ; Pop flags
  1957. 7816:0D6C  C3                    retn
  1958.                 sub_28        endp
  1959.   
  1960.   
  1961.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1962.                 ;                   SUBROUTINE
  1963.                 ;
  1964.                 ;    æíα«ß ¬«¡α«½½Ñαá ìâîä.
  1965.                 ;
  1966.                 ;         Called from:     7816:0C74, 0CEE
  1967.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1968.   
  1969.                 sub_29        proc    near
  1970. 7816:0D6D  B8 0000                mov    ax,0
  1971. 7816:0D70  CD 13                int    13h            ; Disk  dl=drive b  ah=func 00h
  1972.                                         ;  reset disk, al=return status
  1973. 7816:0D72  B8 0040                mov    ax,40h
  1974. 7816:0D75  8E C0                mov    es,ax
  1975. 7816:0D77  26: C6 06 008B 00            mov    byte ptr es:data_14e,0    ; (0040:008B=0)
  1976. 7816:0D7D  C3                    retn
  1977.                 sub_29        endp
  1978.   
  1979.   
  1980.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1981.                 ;                   SUBROUTINE
  1982.                 ;
  1983.                 ;    ùΓÑ¡¿Ñ ßÑ¬Γ«αá.
  1984.                 ;
  1985.                 ;         Called from:     7816:00B1
  1986.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1987.   
  1988.                 sub_30        proc    near
  1989. 7816:0D7E  B8 0000                mov    ax,0
  1990. 7816:0D81  8E C0                mov    es,ax
  1991. 7816:0D83 .BB 004C                mov    bx,data_6e        ; (0000:004C=92h)
  1992. 7816:0D86  26: 8B 07                mov    ax,es:[bx]
  1993. 7816:0D89  A3 0DD3                mov    data_69,ax        ; (7816:0DD3=0)
  1994. 7816:0D8C  26: 8B 47 02                mov    ax,es:[bx+2]
  1995. 7816:0D90  A3 0DD5                mov    data_70,ax        ; (7816:0DD5=0)
  1996. 7816:0D93  B8 0DCA                mov    ax,0DCAh
  1997. 7816:0D96  26: 89 07                mov    es:[bx],ax
  1998. 7816:0D99  8C D8                mov    ax,ds
  1999. 7816:0D9B  26: 89 47 02                mov    es:[bx+2],ax
  2000. 7816:0D9F  8A C2                mov    al,dl
  2001. 7816:0DA1  2C 41                sub    al,41h            ; 'A'
  2002. 7816:0DA3  8B 1E 12AA                mov    bx,data_132        ; (7816:12AA=14ADh)
  2003. 7816:0DA7  B9 0001                mov    cx,1
  2004. 7816:0DAA  BA 0001                mov    dx,1
  2005. 7816:0DAD  CD 25                int    25h            ; Absolute disk read, drive al
  2006. 7816:0DAF  9D                    popf                ; Pop flags
  2007. 7816:0DB0  B8 0000                mov    ax,0
  2008. 7816:0DB3  8E C0                mov    es,ax
  2009. 7816:0DB5 .BB 004C                mov    bx,data_6e        ; (0000:004C=92h)
  2010. 7816:0DB8  A1 0DD3                mov    ax,data_69        ; (7816:0DD3=0)
  2011. 7816:0DBB  26: 89 07                mov    es:[bx],ax
  2012. 7816:0DBE  A1 0DD5                mov    ax,data_70        ; (7816:0DD5=0)
  2013. 7816:0DC1  26: 89 47 02                mov    es:[bx+2],ax
  2014. 7816:0DC5  8A 16 0DD7                mov    dl,data_71        ; (7816:0DD7=0)
  2015. 7816:0DC9  C3                    retn
  2016.                 sub_30        endp
  2017.   
  2018. 7816:0DCA  2E: 88 16 0DD7            mov    cs:data_71,dl        ; (7816:0DD7=0)
  2019. 7816:0DCF  F8                    clc                ; Clear carry flag
  2020. 7816:0DD0  CA 0002                retf    2            ; Return far
  2021. 7816:0DD3  0000            data_69        dw    0            ;  xref 7816:0D89, 0DB8
  2022. 7816:0DD5  0000            data_70        dw    0            ;  xref 7816:0D90, 0DBE
  2023. 7816:0DD7  00            data_71        db    0            ;  xref 7816:0DC5, 0DCA
  2024.   
  2025.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2026.                 ;                   SUBROUTINE
  2027.                 ;
  2028.                 ;    äÑΦ¿Σαᵿ∩ ßτ¿Γá¡¡«ú« ßÑ¬Γ«αá.
  2029.                 ;
  2030.                 ;         Called from:     7816:0BB5, 0BD5
  2031.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2032.   
  2033.                 sub_31        proc    near
  2034. 7816:0DD8  53                    push    bx
  2035. 7816:0DD9  51                    push    cx
  2036. 7816:0DDA  FE C7                inc    bh
  2037. 7816:0DDC  FE C7                inc    bh
  2038. 7816:0DDE  B9 0200                mov    cx,200h
  2039.   
  2040. 7816:0DE1            locloop_162:                    ;  xref 7816:0DE4
  2041. 7816:0DE1  4B                    dec    bx
  2042. 7816:0DE2  D0 17                rcl    byte ptr [bx],1        ; Rotate thru carry
  2043. 7816:0DE4  E2 FB                loop    locloop_162        ; Loop if cx > 0
  2044.   
  2045. 7816:0DE6  59                    pop    cx
  2046. 7816:0DE7  5B                    pop    bx
  2047. 7816:0DE8  C3                    retn
  2048.                 sub_31        endp
  2049.   
  2050.   
  2051.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2052.                 ;                   SUBROUTINE
  2053.                 ;
  2054.                 ;    Åα«óÑα¬á IRQ7.
  2055.                 ;
  2056.                 ;         Called from:     7816:00A0
  2057.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2058.   
  2059.                 sub_32        proc    near
  2060. 7816:0DE9  E4 21                in    al,21h            ; port 21h, 8259-1 int IMR
  2061. 7816:0DEB  A8 80                test    al,80h
  2062. 7816:0DED  75 01                jnz    loc_163            ; Jump if not zero
  2063. 7816:0DEF  C3                    retn
  2064. 7816:0DF0            loc_163:                    ;  xref 7816:0DED
  2065. 7816:0DF0  24 7F                and    al,7Fh
  2066. 7816:0DF2  E6 21                out    21h,al            ; port 21h, 8259-1 int comands
  2067. 7816:0DF4  50                    push    ax
  2068. 7816:0DF5  58                    pop    ax
  2069. 7816:0DF6  E4 21                in    al,21h            ; port 21h, 8259-1 int IMR
  2070. 7816:0DF8  A8 80                test    al,80h
  2071. 7816:0DFA  74 01                jz    loc_164            ; Jump if zero
  2072. 7816:0DFC  C3                    retn
  2073. 7816:0DFD            loc_164:                    ;  xref 7816:0DFA
  2074. 7816:0DFD  0C 80                or    al,80h
  2075. 7816:0DFF  E6 21                out    21h,al            ; port 21h, 8259-1 int comands
  2076. 7816:0E01  F9                    stc                ; Set carry flag
  2077. 7816:0E02  C3                    retn
  2078.                 sub_32        endp
  2079.   
  2080.   
  2081.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2082.                 ;                   SUBROUTINE
  2083.                 ;
  2084.                 ;    Åα«óÑα¬á »«αΓá 40h.
  2085.                 ;
  2086.                 ;         Called from:     7816:009B
  2087.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2088.   
  2089.                 sub_33        proc    near
  2090. 7816:0E03  B9 0064                mov    cx,64h
  2091. 7816:0E06  52                    push    dx
  2092. 7816:0E07  BA 0040                mov    dx,40h
  2093.   
  2094. 7816:0E0A            locloop_165:                    ;  xref 7816:0E1C
  2095. 7816:0E0A  EC                    in    al,dx            ; port 40h, 8253 timer 0 clock
  2096. 7816:0E0B  D0 E8                shr    al,1            ; Shift w/zeros fill
  2097. 7816:0E0D  EC                    in    al,dx            ; port 40h, 8253 timer 0 clock
  2098. 7816:0E0E  72 11                jc    loc_167            ; Jump if carry Set
  2099. 7816:0E10  EC                    in    al,dx            ; port 40h, 8253 timer 0 clock
  2100. 7816:0E11  D0 E8                shr    al,1            ; Shift w/zeros fill
  2101. 7816:0E13  EC                    in    al,dx            ; port 40h, 8253 timer 0 clock
  2102. 7816:0E14  72 0B                jc    loc_167            ; Jump if carry Set
  2103. 7816:0E16  24 07                and    al,7
  2104. 7816:0E18            loc_166:                    ;  xref 7816:0E1A
  2105. 7816:0E18  FE C8                dec    al
  2106. 7816:0E1A  75 FC                jnz    loc_166            ; Jump if not zero
  2107. 7816:0E1C  E2 EC                loop    locloop_165        ; Loop if cx > 0
  2108.   
  2109. 7816:0E1E  5A                    pop    dx
  2110. 7816:0E1F  F9                    stc                ; Set carry flag
  2111. 7816:0E20  C3                    retn
  2112. 7816:0E21            loc_167:                    ;  xref 7816:0E0E, 0E14
  2113. 7816:0E21  5A                    pop    dx
  2114. 7816:0E22  F8                    clc                ; Clear carry flag
  2115. 7816:0E23  C3                    retn
  2116.                 sub_33        endp
  2117.   
  2118.   
  2119.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2120.                 ;                   SUBROUTINE
  2121.                 ;
  2122.                 ;    ìáτá½∞¡á∩ πßΓá¡«ó¬á ¬á¡á½á 1 Γá⌐¼Ñαá.
  2123.                 ;
  2124.                 ;         Called from:     7816:08B9
  2125.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2126.   
  2127.                 sub_34        proc    near
  2128. 7816:0E24  FA                    cli                ; Disable interrupts
  2129. 7816:0E25  BA 0043                mov    dx,43h
  2130. 7816:0E28  B0 34                mov    al,34h            ; '4'
  2131. 7816:0E2A  EE                    out    dx,al            ; port 43h, 8253 wrt timr mode
  2132. 7816:0E2B  B2 40                mov    dl,40h            ; '@'
  2133. 7816:0E2D  8A C6                mov    al,dh
  2134. 7816:0E2F  EE                    out    dx,al            ; port 40h, 8253 timer 0 clock
  2135. 7816:0E30  EE                    out    dx,al            ; port 40h, 8253 timer 0 clock
  2136. 7816:0E31  FB                    sti                ; Enable interrupts
  2137. 7816:0E32  C3                    retn
  2138.                 sub_34        endp
  2139.   
  2140.   
  2141.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2142.                 ;                   SUBROUTINE
  2143.                 ;
  2144.                 ;    ìáτá½∞¡á∩ πßΓá¡«ó¬á ¬á¡á½á 2 Γá⌐¼Ñαá.
  2145.                 ;
  2146.                 ;         Called from:     7816:0439
  2147.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2148.   
  2149.                 sub_35        proc    near
  2150. 7816:0E33  FA                    cli                ; Disable interrupts
  2151. 7816:0E34  BA 0043                mov    dx,43h
  2152. 7816:0E37  B0 B4                mov    al,0B4h
  2153. 7816:0E39  EE                    out    dx,al            ; port 43h, 8253 wrt timr mode
  2154. 7816:0E3A  B2 42                mov    dl,42h            ; 'B'
  2155. 7816:0E3C  8A C6                mov    al,dh
  2156. 7816:0E3E  EE                    out    dx,al            ; port 42h, 8253 timer 2 spkr
  2157. 7816:0E3F  EE                    out    dx,al            ; port 42h, 8253 timer 2 spkr
  2158. 7816:0E40  E4 61                in    al,61h            ; port 61h, 8255 port B, read
  2159. 7816:0E42  0C 01                or    al,1
  2160. 7816:0E44  E6 61                out    61h,al            ; port 61h, 8255 B - spkr, etc
  2161. 7816:0E46  FB                    sti                ; Enable interrupts
  2162. 7816:0E47  C3                    retn
  2163.                 sub_35        endp
  2164.   
  2165.   
  2166.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2167.                 ;                   SUBROUTINE
  2168.                 ;
  2169.                 ;    éαѼѡ¡á∩ ºáñÑ᪬á.
  2170.                 ;
  2171.                 ;         Called from:     7816:0F50, 0F68, 1044, 1051
  2172.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2173.   
  2174.                 sub_36        proc    near
  2175.   
  2176. 7816:0E48            locloop_168:                    ;  xref 7816:0E4E
  2177. 7816:0E48  B0 11                mov    al,11h
  2178. 7816:0E4A            loc_169:                    ;  xref 7816:0E4C
  2179. 7816:0E4A  FE C8                dec    al
  2180. 7816:0E4C  75 FC                jnz    loc_169            ; Jump if not zero
  2181. 7816:0E4E  E2 F8                loop    locloop_168        ; Loop if cx > 0
  2182.   
  2183. 7816:0E50  C3                    retn
  2184.                 sub_36        endp
  2185.   
  2186. 7816:0E51  00 00 00 00                db    0, 0, 0, 0
  2187.   
  2188.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2189.                 ;                   SUBROUTINE
  2190.                 ;
  2191.                 ;    Å«½πτÑ¡¿Ñ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ¿º «¬απªÑ¡¿∩ DOS.
  2192.                 ;
  2193.                 ;         Called from:     7816:00AE
  2194.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2195.   
  2196.                 sub_37        proc    near
  2197. 7816:0E55  A1 10CC                mov    ax,ds:data_159e        ; (8813:10CC=0)
  2198. 7816:0E58  8E C0                mov    es,ax
  2199. 7816:0E5A .BB 002C                mov    bx,data_4e        ; (0000:002C=23h)
  2200. 7816:0E5D  26: 8B 07                mov    ax,es:[bx]
  2201. 7816:0E60  8E C0                mov    es,ax
  2202. 7816:0E62 .BF 0000                mov    di,data_166e        ; (FF23:0000=0)
  2203. 7816:0E65            loc_170:                    ;  xref 7816:0E6C
  2204. 7816:0E65  47                    inc    di
  2205. 7816:0E66  26: 83 3D 00                cmp    word ptr es:[di],0
  2206. 7816:0E6A  74 02                je    loc_171            ; Jump if equal
  2207. 7816:0E6C  EB F7                jmp    short loc_170        ; (0E65)
  2208. 7816:0E6E            loc_171:                    ;  xref 7816:0E6A
  2209. 7816:0E6E  83 C7 04                add    di,4
  2210. 7816:0E71  26: 8A 15                mov    dl,es:[di]
  2211. 7816:0E74  80 E2 5F                and    dl,5Fh            ; '_'
  2212. 7816:0E77  89 3E 11D0                mov    data_112,di        ; (7816:11D0=0)
  2213. 7816:0E7B  8C C0                mov    ax,es
  2214. 7816:0E7D  A3 11D2                mov    data_113,ax        ; (7816:11D2=0FF23h)
  2215. 7816:0E80  C3                    retn
  2216.                 sub_37        endp
  2217.   
  2218.   
  2219.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2220.                 ;                   SUBROUTINE
  2221.                 ;
  2222.                 ;    ô»αáó½Ñ¡¿Ñ ¬«¡Γα«½½Ñα«¼ ìâîä.
  2223.                 ;
  2224.                 ;         Called from:     7816:0336, 034E, 045C, 0F6D
  2225.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2226.   
  2227.                 sub_38        proc    near
  2228. 7816:0E81  BB 001C                mov    bx,1Ch
  2229. 7816:0E84  83 3E 11E0 01            cmp    data_120,1        ; (7816:11E0=0)
  2230. 7816:0E89  74 03                je    loc_172            ; Jump if equal
  2231. 7816:0E8B  EB 04                jmp    short loc_173        ; (0E91)
  2232. 7816:0E8D  90                    db    90h
  2233. 7816:0E8E            loc_172:                    ;  xref 7816:0E89
  2234. 7816:0E8E  BB 002D                mov    bx,2Dh
  2235. 7816:0E91            loc_173:                    ;  xref 7816:0E8B
  2236. 7816:0E91  83 3E 11E0 02            cmp    data_120,2        ; (7816:11E0=0)
  2237. 7816:0E96  74 03                je    loc_174            ; Jump if equal
  2238. 7816:0E98  EB 04                jmp    short loc_175        ; (0E9E)
  2239. 7816:0E9A  90                    db    90h
  2240. 7816:0E9B            loc_174:                    ;  xref 7816:0E96
  2241. 7816:0E9B  BB 004E                mov    bx,4Eh
  2242. 7816:0E9E            loc_175:                    ;  xref 7816:0E98
  2243. 7816:0E9E  83 3E 11E0 03            cmp    data_120,3        ; (7816:11E0=0)
  2244. 7816:0EA3  74 03                je    loc_176            ; Jump if equal
  2245. 7816:0EA5  EB 04                jmp    short loc_177        ; (0EAB)
  2246. 7816:0EA7  90                    db    90h
  2247. 7816:0EA8            loc_176:                    ;  xref 7816:0EA3
  2248. 7816:0EA8  BB 008F                mov    bx,8Fh
  2249. 7816:0EAB            loc_177:                    ;  xref 7816:0EA5
  2250. 7816:0EAB  B8 0040                mov    ax,40h
  2251. 7816:0EAE  8E C0                mov    es,ax
  2252. 7816:0EB0  26: C6 06 0040 FF            mov    byte ptr es:data_13e,0FFh    ; (0040:0040=80h)
  2253. 7816:0EB6  BA 03F2                mov    dx,3F2h
  2254. 7816:0EB9  8B C3                mov    ax,bx
  2255. 7816:0EBB  EE                    out    dx,al            ; port 3F2h, dsk0 contrl output
  2256. 7816:0EBC  C3                    retn
  2257.                 sub_38        endp
  2258.   
  2259.   
  2260.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2261.                 ;                   SUBROUTINE
  2262.                 ;
  2263.                 ;    ÅÑαÑσóáΓ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐ 0Eh ¿ 1Ch.
  2264.                 ;
  2265.                 ;         Called from:     7816:0339, 037A, 0F70
  2266.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2267.   
  2268.                 sub_39        proc    near
  2269. 7816:0EBD  FA                    cli                ; Disable interrupts
  2270. 7816:0EBE  06                    push    es
  2271. 7816:0EBF  53                    push    bx
  2272. 7816:0EC0  B8 0000                mov    ax,0
  2273. 7816:0EC3  8E C0                mov    es,ax
  2274. 7816:0EC5 .BB 0038                mov    bx,data_5e        ; (0000:0038=57h)
  2275. 7816:0EC8  26: 8B 07                mov    ax,es:[bx]
  2276. 7816:0ECB  A3 10BB                mov    data_72,ax        ; (7816:10BB=0)
  2277. 7816:0ECE  26: 8B 47 02                mov    ax,es:[bx+2]
  2278. 7816:0ED2  A3 10BD                mov    data_73,ax        ; (7816:10BD=0)
  2279. 7816:0ED5  B8 109F                mov    ax,109Fh
  2280. 7816:0ED8  26: 89 07                mov    es:[bx],ax
  2281. 7816:0EDB  8C D8                mov    ax,ds
  2282. 7816:0EDD  26: 89 47 02                mov    es:[bx+2],ax
  2283. 7816:0EE1 .BB 0070                mov    bx,data_7e        ; (0000:0070=53h)
  2284. 7816:0EE4  26: 8B 07                mov    ax,es:[bx]
  2285. 7816:0EE7  A3 10CE                mov    data_85,ax        ; (7816:10CE=0)
  2286. 7816:0EEA  26: 8B 47 02                mov    ax,es:[bx+2]
  2287. 7816:0EEE  A3 10D0                mov    data_86,ax        ; (7816:10D0=0)
  2288. 7816:0EF1  B8 10BF                mov    ax,10BFh
  2289. 7816:0EF4  26: 89 07                mov    es:[bx],ax
  2290. 7816:0EF7  8C D8                mov    ax,ds
  2291. 7816:0EF9  26: 89 47 02                mov    es:[bx+2],ax
  2292. 7816:0EFD  5B                    pop    bx
  2293. 7816:0EFE  07                    pop    es
  2294. 7816:0EFF  FB                    sti                ; Enable interrupts
  2295. 7816:0F00  C3                    retn
  2296.                 sub_39        endp
  2297.   
  2298.   
  2299.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2300.                 ;                   SUBROUTINE
  2301.                 ;
  2302.                 ;    é«ßßΓá¡«ó½Ñ¡¿Ñ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐ 0Eh ¿ 1Ch.
  2303.                 ;
  2304.                 ;         Called from:     7816:0362, 0373, 0423, 0772, 0B3C, 0FF1
  2305.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2306.   
  2307.                 sub_40        proc    near
  2308. 7816:0F01  FA                    cli                ; Disable interrupts
  2309. 7816:0F02  06                    push    es
  2310. 7816:0F03  53                    push    bx
  2311. 7816:0F04  B8 0000                mov    ax,0
  2312. 7816:0F07  8E C0                mov    es,ax
  2313. 7816:0F09 .BB 0038                mov    bx,data_5e        ; (0000:0038=57h)
  2314. 7816:0F0C  A1 10BB                mov    ax,data_72        ; (7816:10BB=0)
  2315. 7816:0F0F  26: 89 07                mov    es:[bx],ax
  2316. 7816:0F12  A1 10BD                mov    ax,data_73        ; (7816:10BD=0)
  2317. 7816:0F15  26: 89 47 02                mov    es:[bx+2],ax
  2318. 7816:0F19 .BB 0070                mov    bx,data_7e        ; (0000:0070=53h)
  2319. 7816:0F1C  A1 10CE                mov    ax,data_85        ; (7816:10CE=0)
  2320. 7816:0F1F  26: 89 07                mov    es:[bx],ax
  2321. 7816:0F22  A1 10D0                mov    ax,data_86        ; (7816:10D0=0)
  2322. 7816:0F25  26: 89 47 02                mov    es:[bx+2],ax
  2323. 7816:0F29  5B                    pop    bx
  2324. 7816:0F2A  07                    pop    es
  2325. 7816:0F2B  FB                    sti                ; Enable interrupts
  2326. 7816:0F2C  C3                    retn
  2327.                 sub_40        endp
  2328.   
  2329.   
  2330.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2331.                 ;                   SUBROUTINE
  2332.                 ;
  2333.                 ;    ôßΓá¡«ó¬á ¡á ñ«α«ª¬π.
  2334.                 ;
  2335.                 ;         Called from:     7816:033F, 03C2, 03D7, 0415, 04CE, 0F76
  2336.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2337.   
  2338.                 sub_41        proc    near
  2339. 7816:0F2D  83 3E 11D6 4E            cmp    data_114,4Eh        ; (7816:11D6=4Eh)
  2340. 7816:0F32  74 02                je    loc_178            ; Jump if equal
  2341. 7816:0F34  02 C0                add    al,al
  2342. 7816:0F36            loc_178:                    ;  xref 7816:0F32
  2343. 7816:0F36  8A E8                mov    ch,al
  2344. 7816:0F38  B4 0F                mov    ah,0Fh
  2345. 7816:0F3A  E8 00C1                call    sub_44            ; (0FFE)
  2346. 7816:0F3D  8A 26 11E0                mov    ah,byte ptr data_120    ; (7816:11E0=0)
  2347. 7816:0F41  E8 00BA                call    sub_44            ; (0FFE)
  2348. 7816:0F44  8A E5                mov    ah,ch
  2349. 7816:0F46  E8 00B5                call    sub_44            ; (0FFE)
  2350. 7816:0F49  E8 00E8                call    sub_45            ; (1034)
  2351. 7816:0F4C  51                    push    cx
  2352. 7816:0F4D  B9 0190                mov    cx,190h
  2353. 7816:0F50  E8 FEF5                call    sub_36            ; (0E48)
  2354. 7816:0F53  59                    pop    cx
  2355. 7816:0F54  C3                    retn
  2356.                 sub_41        endp
  2357.   
  2358.   
  2359.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2360.                 ;                   SUBROUTINE
  2361.                 ;
  2362.                 ;    ÉѬ὿íαᵿ∩ πßΓα«⌐ßΓóá.
  2363.                 ;
  2364.                 ;         Called from:     7816:035F, 03FD, 04C8
  2365.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2366.   
  2367.                 sub_42        proc    near
  2368. 7816:0F55  B4 07                mov    ah,7
  2369. 7816:0F57  E8 00A4                call    sub_44            ; (0FFE)
  2370. 7816:0F5A  8A 26 11E0                mov    ah,byte ptr data_120    ; (7816:11E0=0)
  2371. 7816:0F5E  E8 009D                call    sub_44            ; (0FFE)
  2372. 7816:0F61  E8 00D0                call    sub_45            ; (1034)
  2373. 7816:0F64  51                    push    cx
  2374. 7816:0F65  B9 0BB8                mov    cx,0BB8h
  2375. 7816:0F68  E8 FEDD                call    sub_36            ; (0E48)
  2376. 7816:0F6B  59                    pop    cx
  2377. 7816:0F6C  C3                    retn
  2378.                 sub_42        endp
  2379.   
  2380.   
  2381.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2382.                 ;                   SUBROUTINE
  2383.                 ;
  2384.                 ;    ùΓÑ¡¿Ñ/ºá»¿ß∞ í½«¬á ñá¡¡δσ τÑαѺ ÅäÅ.
  2385.                 ;
  2386.                 ;         Called from:     7816:024C, 0327, 0916
  2387.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2388.   
  2389.                 sub_43        proc    near
  2390. 7816:0F6D  E8 FF11                call    sub_38            ; (0E81)
  2391. 7816:0F70  E8 FF4A                call    sub_39            ; (0EBD)
  2392. 7816:0F73  A0 10C8                mov    al,data_80        ; (7816:10C8=0)
  2393. 7816:0F76  E8 FFB4                call    sub_41            ; (0F2D)
  2394. 7816:0F79  A0 10CB                mov    al,data_83        ; (7816:10CB=46h)
  2395. 7816:0F7C  8A 36 10C9                mov    dh,data_81        ; (7816:10C9=1)
  2396. 7816:0F80  8A 16 10C5                mov    dl,data_77        ; (7816:10C5=1)
  2397. 7816:0F84  E8 FB75                call    sub_19            ; (0AFC)
  2398. 7816:0F87  80 3E 10CB 46            cmp    byte ptr data_83,46h    ; (7816:10CB=46h) 'F'
  2399. 7816:0F8C  74 03                je    loc_179            ; Jump if equal
  2400. 7816:0F8E  EB 03                jmp    short loc_180        ; (0F93)
  2401. 7816:0F90  90                    db    90h
  2402. 7816:0F91            loc_179:                    ;  xref 7816:0F8C
  2403. 7816:0F91  B4 E6                mov    ah,0E6h
  2404. 7816:0F93            loc_180:                    ;  xref 7816:0F8E
  2405. 7816:0F93  80 3E 10CB 4A            cmp    byte ptr data_83,4Ah    ; (7816:10CB=46h) 'J'
  2406. 7816:0F98  74 03                je    loc_181            ; Jump if equal
  2407. 7816:0F9A  EB 03                jmp    short loc_182        ; (0F9F)
  2408. 7816:0F9C  90                    db    90h
  2409. 7816:0F9D            loc_181:                    ;  xref 7816:0F98
  2410. 7816:0F9D  B4 C5                mov    ah,0C5h
  2411. 7816:0F9F            loc_182:                    ;  xref 7816:0F9A
  2412. 7816:0F9F  E8 005C                call    sub_44            ; (0FFE)
  2413. 7816:0FA2  8A 26 11E0                mov    ah,byte ptr data_120    ; (7816:11E0=0)
  2414. 7816:0FA6  B0 00                mov    al,0
  2415. 7816:0FA8  D0 E0                shl    al,1            ; Shift w/zeros fill
  2416. 7816:0FAA  D0 E0                shl    al,1            ; Shift w/zeros fill
  2417. 7816:0FAC  0A E0                or    ah,al
  2418. 7816:0FAE  E8 004D                call    sub_44            ; (0FFE)
  2419. 7816:0FB1  8A 26 10C8                mov    ah,data_80        ; (7816:10C8=0)
  2420. 7816:0FB5  E8 0046                call    sub_44            ; (0FFE)
  2421. 7816:0FB8  B4 00                mov    ah,0
  2422. 7816:0FBA  E8 0041                call    sub_44            ; (0FFE)
  2423. 7816:0FBD  8A 26 10CA                mov    ah,data_82        ; (7816:10CA=0F8h)
  2424. 7816:0FC1  E8 003A                call    sub_44            ; (0FFE)
  2425. 7816:0FC4  8A 26 10C5                mov    ah,data_77        ; (7816:10C5=1)
  2426. 7816:0FC8  E8 0033                call    sub_44            ; (0FFE)
  2427. 7816:0FCB  8A 26 10C6                mov    ah,data_78        ; (7816:10C6=0F8h)
  2428. 7816:0FCF  E8 002C                call    sub_44            ; (0FFE)
  2429. 7816:0FD2  8A 26 10C7                mov    ah,data_79        ; (7816:10C7=1Ah)
  2430. 7816:0FD6  E8 0025                call    sub_44            ; (0FFE)
  2431. 7816:0FD9  B4 FF                mov    ah,0FFh
  2432. 7816:0FDB  E8 0020                call    sub_44            ; (0FFE)
  2433. 7816:0FDE  FB                    sti                ; Enable interrupts
  2434. 7816:0FDF  C6 06 10D2 FF            mov    byte ptr data_87,0FFh    ; (7816:10D2=0)
  2435. 7816:0FE4            loc_183:                    ;  xref 7816:0FE9
  2436. 7816:0FE4  80 3E 10D2 00            cmp    byte ptr data_87,0    ; (7816:10D2=0)
  2437. 7816:0FE9  75 F9                jne    loc_183            ; Jump if not equal
  2438. 7816:0FEB  E8 006E                call    sub_46            ; (105C)
  2439. 7816:0FEE  E8 00A9                call    sub_47            ; (109A)
  2440. 7816:0FF1  E8 FF0D                call    sub_40            ; (0F01)
  2441. 7816:0FF4  A0 11E2                mov    al,data_121        ; (7816:11E2=0)
  2442. 7816:0FF7  24 C0                and    al,0C0h
  2443. 7816:0FF9  F8                    clc                ; Clear carry flag
  2444. 7816:0FFA  74 01                jz    loc_ret_184        ; Jump if zero
  2445. 7816:0FFC  F9                    stc                ; Set carry flag
  2446.   
  2447. 7816:0FFD            loc_ret_184:                    ;  xref 7816:0FFA
  2448. 7816:0FFD  C3                    retn
  2449.                 sub_43        endp
  2450.   
  2451.   
  2452.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2453.                 ;                   SUBROUTINE
  2454.                 ;
  2455.                 ;    éδó«ñ ah ó »«αΓ 3F5h.
  2456.                 ;
  2457.                 ;         Called from:     7816:04EF, 04F6, 072F, 0736, 073D, 0742, 0747
  2458.                 ;                  074C, 0751, 0756, 075B, 0F3A, 0F41, 0F46
  2459.                 ;                  0F57, 0F5E, 0F9F, 0FAE, 0FB5, 0FBA, 0FC1
  2460.                 ;                  0FC8, 0FCF, 0FD6, 0FDB, 104A
  2461.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2462.  
  2463.                 sub_44        proc    near
  2464. 7816:0FFE  52                    push    dx
  2465. 7816:0FFF  51                    push    cx
  2466. 7816:1000  BA 03F4                mov    dx,3F4h
  2467. 7816:1003  33 C9                xor    cx,cx            ; Zero register
  2468.   
  2469. 7816:1005            locloop_185:                    ;  xref 7816:100A
  2470. 7816:1005  EC                    in    al,dx            ; port 3F4h, dsk0 cntrlr status
  2471. 7816:1006  A8 40                test    al,40h            ; '@'
  2472. 7816:1008  74 06                jz    loc_187            ; Jump if zero
  2473. 7816:100A  E2 F9                loop    locloop_185        ; Loop if cx > 0
  2474.   
  2475. 7816:100C            loc_186:                    ;  xref 7816:1019
  2476. 7816:100C  F9                    stc                ; Set carry flag
  2477. 7816:100D  59                    pop    cx
  2478. 7816:100E  5A                    pop    dx
  2479. 7816:100F  C3                    retn
  2480. 7816:1010            loc_187:                    ;  xref 7816:1008
  2481. 7816:1010  33 C9                xor    cx,cx            ; Zero register
  2482.   
  2483. 7816:1012            locloop_188:                    ;  xref 7816:1017
  2484. 7816:1012  EC                    in    al,dx            ; port 0Ah
  2485. 7816:1013  A8 80                test    al,80h
  2486. 7816:1015  75 04                jnz    loc_189            ; Jump if not zero
  2487. 7816:1017  E2 F9                loop    locloop_188        ; Loop if cx > 0
  2488.   
  2489. 7816:1019  EB F1                jmp    short loc_186        ; (100C)
  2490. 7816:101B            loc_189:                    ;  xref 7816:1015
  2491. 7816:101B  8A C4                mov    al,ah
  2492. 7816:101D  BA 03F5                mov    dx,3F5h
  2493. 7816:1020  EE                    out    dx,al            ; port 3F5h, dsk0 controlr data
  2494. 7816:1021  59                    pop    cx
  2495. 7816:1022  5A                    pop    dx
  2496. 7816:1023  C3                    retn
  2497.                 sub_44        endp
  2498.   
  2499. 7816:1024  51 B9 64 00                db     51h,0B9h, 64h, 00h
  2500.   
  2501. 7816:1028            locloop_190:                    ;  xref 7816:1028
  2502. 7816:1028  E2 FE                loop    locloop_190        ; Loop if cx > 0
  2503.   
  2504. 7816:102A  59                    pop    cx
  2505. 7816:102B  52                    push    dx
  2506. 7816:102C  8A C4                mov    al,ah
  2507. 7816:102E  BA 03F5                mov    dx,3F5h
  2508. 7816:1031  EE                    out    dx,al            ; port 3F5h, dsk0 controlr data
  2509. 7816:1032  5A                    pop    dx
  2510. 7816:1033  C3                    retn
  2511.   
  2512.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2513.                 ;                   SUBROUTINE
  2514.                 ;
  2515.                 ;    çáóÑαΦÑ¡¿Ñ «»Ñαᵿ¿ τÑαѺ ÅäÅ.
  2516.                 ;
  2517.                 ;         Called from:     7816:0F49, 0F61
  2518.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2519.   
  2520.                 sub_45        proc    near
  2521. 7816:1034  C6 06 10D2 FF            mov    byte ptr data_87,0FFh    ; (7816:10D2=0)
  2522. 7816:1039            loc_191:                    ;  xref 7816:103E
  2523. 7816:1039  80 3E 10D2 00            cmp    byte ptr data_87,0    ; (7816:10D2=0)
  2524. 7816:103E  75 F9                jne    loc_191            ; Jump if not equal
  2525. 7816:1040  51                    push    cx
  2526. 7816:1041  B9 0064                mov    cx,64h
  2527. 7816:1044  E8 FE01                call    sub_36            ; (0E48)
  2528. 7816:1047  59                    pop    cx
  2529. 7816:1048  B4 08                mov    ah,8
  2530. 7816:104A  E8 FFB1                call    sub_44            ; (0FFE)
  2531. 7816:104D  51                    push    cx
  2532. 7816:104E  B9 0064                mov    cx,64h
  2533. 7816:1051  E8 FDF4                call    sub_36            ; (0E48)
  2534. 7816:1054  59                    pop    cx
  2535. 7816:1055  E8 0004                call    sub_46            ; (105C)
  2536. 7816:1058  E8 003F                call    sub_47            ; (109A)
  2537. 7816:105B  C3                    retn
  2538.                 sub_45        endp
  2539.   
  2540.   
  2541.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2542.                 ;                   SUBROUTINE
  2543.                 ;
  2544.                 ;    ùΓÑ¡¿Ñ αѺπ½∞ΓáΓ«ó «»Ñαᵿ¿ óó«ñá/óδó«ñá.
  2545.                 ;
  2546.                 ;         Called from:     7816:050D, 076C, 0FEB, 1055
  2547.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2548.   
  2549.                 sub_46        proc    near
  2550. 7816:105C  FC                    cld                ; Clear direction
  2551. 7816:105D  57                    push    di
  2552. 7816:105E  51                    push    cx
  2553. 7816:105F  52                    push    dx
  2554. 7816:1060  53                    push    bx
  2555. 7816:1061 .BF 11E2                mov    di,offset data_121    ; (7816:11E2=0)
  2556. 7816:1064  B3 07                mov    bl,7
  2557. 7816:1066            loc_192:                    ;  xref 7816:1091
  2558. 7816:1066  33 C9                xor    cx,cx            ; Zero register
  2559. 7816:1068  BA 03F4                mov    dx,3F4h
  2560.   
  2561. 7816:106B            locloop_193:                    ;  xref 7816:1070
  2562. 7816:106B  EC                    in    al,dx            ; port 3F4h, dsk0 cntrlr status
  2563. 7816:106C  A8 80                test    al,80h
  2564. 7816:106E  75 08                jnz    loc_195            ; Jump if not zero
  2565. 7816:1070  E2 F9                loop    locloop_193        ; Loop if cx > 0
  2566.   
  2567. 7816:1072            loc_194:                    ;  xref 7816:107D, 1093
  2568. 7816:1072  F9                    stc                ; Set carry flag
  2569. 7816:1073  5B                    pop    bx
  2570. 7816:1074  5A                    pop    dx
  2571. 7816:1075  59                    pop    cx
  2572. 7816:1076  5F                    pop    di
  2573. 7816:1077  C3                    retn
  2574. 7816:1078            loc_195:                    ;  xref 7816:106E
  2575. 7816:1078  EC                    in    al,dx            ; port 0Ah
  2576. 7816:1079  A8 40                test    al,40h            ; '@'
  2577. 7816:107B  75 02                jnz    loc_196            ; Jump if not zero
  2578. 7816:107D  EB F3                jmp    short loc_194        ; (1072)
  2579. 7816:107F            loc_196:                    ;  xref 7816:107B
  2580. 7816:107F  42                    inc    dx
  2581. 7816:1080  EC                    in    al,dx            ; port 0Bh
  2582. 7816:1081  88 05                mov    [di],al
  2583. 7816:1083  47                    inc    di
  2584. 7816:1084  B9 000A                mov    cx,0Ah
  2585.   
  2586. 7816:1087            locloop_197:                    ;  xref 7816:1087
  2587. 7816:1087  E2 FE                loop    locloop_197        ; Loop if cx > 0
  2588.   
  2589. 7816:1089  4A                    dec    dx
  2590. 7816:108A  EC                    in    al,dx            ; port 0Ah
  2591. 7816:108B  A8 10                test    al,10h
  2592. 7816:108D  74 06                jz    loc_198            ; Jump if zero
  2593. 7816:108F  FE CB                dec    bl
  2594. 7816:1091  75 D3                jnz    loc_192            ; Jump if not zero
  2595. 7816:1093  EB DD                jmp    short loc_194        ; (1072)
  2596. 7816:1095            loc_198:                    ;  xref 7816:108D
  2597. 7816:1095  5B                    pop    bx
  2598. 7816:1096  5A                    pop    dx
  2599. 7816:1097  59                    pop    cx
  2600. 7816:1098  5F                    pop    di
  2601. 7816:1099  C3                    retn
  2602.                 sub_46        endp
  2603.   
  2604.   
  2605.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2606.                 ;                   SUBROUTINE
  2607.                 ;
  2608.                 ;    çáóÑαΦÑ¡¿Ñ »αÑαδóá¡¿∩ IRQ6.
  2609.                 ;
  2610.                 ;         Called from:     7816:0510, 076F, 0FEE, 1058
  2611.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2612.   
  2613.                 sub_47        proc    near
  2614. 7816:109A  B0 66                mov    al,66h            ; 'f'
  2615. 7816:109C  E6 20                out    20h,al            ; port 20h, 8259-1 int command
  2616. 7816:109E  C3                    retn
  2617.                 sub_47        endp
  2618.   
  2619. 7816:109F  50                    push    ax
  2620. 7816:10A0  B0 84                mov    al,84h
  2621. 7816:10A2  E6 43                out    43h,al            ; port 43h, 8253 wrt timr mode
  2622. 7816:10A4  53                    push    bx
  2623. 7816:10A5  E4 42                in    al,42h            ; port 42h, 8253 timer 2 spkr
  2624. 7816:10A7  8A D8                mov    bl,al
  2625. 7816:10A9  E4 42                in    al,42h            ; port 42h, 8253 timer 2 spkr
  2626. 7816:10AB  8A F8                mov    bh,al
  2627. 7816:10AD  2E: 89 1E 10D6            mov    cs:data_90,bx        ; (7816:10D6=0)
  2628. 7816:10B2  2E: C6 06 10D2 00            mov    byte ptr cs:data_87,0    ; (7816:10D2=0)
  2629. 7816:10B8  5B                    pop    bx
  2630. 7816:10B9  58                    pop    ax
  2631. 7816:10BA  CF                    iret                ; Interrupt return
  2632. 7816:10BB  0000            data_72        dw    0            ;  xref 7816:0ECB, 0F0C
  2633. 7816:10BD  0000            data_73        dw    0            ;  xref 7816:0ED2, 0F12
  2634. 7816:10BF  FB                    sti
  2635. 7816:10C0  CF                    iret
  2636. 7816:10C1  90                    nop
  2637. 7816:10C2  00            data_74        db    0            ;  xref 7816:020A, 07AE, 07E5
  2638. 7816:10C3  00            data_75        db    0            ;  xref 7816:0202
  2639. 7816:10C4  4E            data_76        db    4Eh            ;  xref 7816:067A
  2640. 7816:10C5  01            data_77        db    1            ;  xref 7816:08EF, 0919, 0F80, 0FC4
  2641. 7816:10C6  F8            data_78        db    0F8h            ;  xref 7816:0234, 024F, 08F8, 091F
  2642.                                         ;            0FCB
  2643. 7816:10C7  1A            data_79        db    1Ah            ;  xref 7816:08FB, 0FD2
  2644. 7816:10C8  00            data_80        db    0            ;  xref 7816:0243, 031F, 090D, 0F73
  2645.                                         ;            0FB1
  2646. 7816:10C9  01            data_81        db    1            ;  xref 7816:023C, 0318, 0906, 0F7C
  2647. 7816:10CA  F8            data_82        db    0F8h            ;  xref 7816:0249, 0324, 0913, 0FBD
  2648. 7816:10CB  46            data_83        db    46h            ;  xref 7816:0237, 0313, 0901, 0F79
  2649.                                         ;            0F87, 0F93
  2650. 7816:10CC  0000            data_84        dw    0            ;  xref 7816:0975, 0992
  2651. 7816:10CE  0000            data_85        dw    0            ;  xref 7816:0EE7, 0F1C
  2652. 7816:10D0  0000            data_86        dw    0            ;  xref 7816:0EEE, 0F22
  2653. 7816:10D2  00            data_87        db    0            ;  xref 7816:04E8, 04FA, 0760, 0765
  2654.                                         ;            0FDF, 0FE4, 1034, 1039
  2655.                                         ;            10B2
  2656. 7816:10D3  00                    db    0
  2657. 7816:10D4  0000            data_89        dw    0            ;  xref 7816:046B, 0514, 051B
  2658. 7816:10D6  0000            data_90        dw    0            ;  xref 7816:0468, 0518, 051E, 10AD
  2659. 7816:10D8  00            data_91        db    0            ;  xref 7816:0C3D, 0C52
  2660. 7816:10D9  0000            data_92        dw    0            ;  xref 7816:022B, 026A
  2661. 7816:10DB  0D 0A 24        data_93        db    0Dh, 0Ah, '$'        ;  xref 7816:0118, 011D, 01E3, 01E8
  2662.                                         ;            07DE, 07E3
  2663. 7816:10DE  00 00                db    0, 0
  2664. 7816:10E0  0000            data_95        dw    0            ;  xref 7816:0426, 05E6
  2665. 7816:10E2  0000            data_96        dw    0            ;  xref 7816:0580, 05DC
  2666. 7816:10E4  0000            data_97        dw    0            ;  xref 7816:0342, 0348, 043C, 0453
  2667. 7816:10E6  00            data_98        db    0            ;  xref 7816:0465, 04A8
  2668. 7816:10E7  00                    db    0
  2669. 7816:10E8  0000            data_99        dw    0            ;  xref 7816:03C8, 03DD, 0537
  2670. 7816:10EA  00            data_100    db    0
  2671. 7816:10EB  0011[00]                db    17 dup (0)
  2672. 7816:10FC  00            data_101    db    0            ;  xref 7816:060F, 063E
  2673. 7816:10FD  008F[00]                db    143 dup (0)
  2674. 7816:118C  00            data_102    db    0            ;  xref 7816:03A3
  2675. 7816:118D  0011[00]                db    17 dup (0)
  2676. 7816:119E  00            data_103    db    0            ;  xref 7816:055C
  2677. 7816:119F  0011[00]                db    17 dup (0)
  2678. 7816:11B0  0000            data_104    dw    0            ;  xref 7816:037D, 04B0, 04C2
  2679. 7816:11B2  0000            data_105    dw    0            ;  xref 7816:05F2, 0663
  2680. 7816:11B4  0000            data_106    dw    0            ;  xref 7816:03CB, 03E0, 04B4
  2681. 7816:11B6  0000            data_107    dw    0            ;  xref 7816:03BC, 0965
  2682. 7816:11B8  0000            data_108    dw    0            ;  xref 7816:03D1, 040F, 06AD
  2683. 7816:11BA  0000            data_109    dw    0            ;  xref 7816:0783
  2684. 7816:11BC  00            data_110    db    0
  2685. 7816:11BD  0011[00]                db    17 dup (0)
  2686. 7816:11CE  0000            data_111    dw    0            ;  xref 7816:0214, 0309, 069D
  2687. 7816:11D0  0000            data_112    dw    0            ;  xref 7816:0E77
  2688. 7816:11D2  FF23            data_113    dw    0FF23h            ;  xref 7816:0E7D
  2689. 7816:11D4  00 00                db    0, 0
  2690. 7816:11D6  004E            data_114    dw    4Eh            ;  xref 7816:0330, 036A, 0576, 0F2D
  2691. 7816:11D8  00            data_115    db    0            ;  xref 7816:04D7, 0502
  2692. 7816:11D9  00                    db    0
  2693. 7816:11DA  00            data_117    db    0            ;  xref 7816:04DC, 0507
  2694. 7816:11DB  00                    db    0
  2695. 7816:11DC  0000            data_118    dw    0            ;  xref 7816:0436, 0488, 04CB, 06B0
  2696.                                         ;            0739
  2697. 7816:11DE  0000            data_119    dw    0            ;  xref 7816:03BF, 03D4, 0412, 0433
  2698. 7816:11E0  0000            data_120    dw    0            ;  xref 7816:00B4, 00C3, 00E6, 0102
  2699.                                         ;            04F2, 0732, 0E84, 0E91
  2700.                                         ;            0E9E, 0F3D, 0F5A, 0FA2
  2701. 7816:11E2  00            data_121    db    0            ;  xref 7816:0354, 0FF4, 1061
  2702. 7816:11E3  00 00                db    0, 0
  2703. 7816:11E5  00            data_122    db    0            ;  xref 7816:035B, 0483
  2704. 7816:11E6  00                    db    0
  2705. 7816:11E7  00            data_123    db    0, 0            ;  xref 7816:0462, 04A5, 0522
  2706. 7816:11E9  0C 00 03 C2 01            db    0Ch, 00h, 03h,0C2h, 01h
  2707. 7816:11EE  FC 32 4E 0C 00 03            db    0FCh, 32h, 4Eh, 0Ch, 00h, 03h
  2708. 7816:11F4  A1 01 FE 00 01 00            db    0A1h, 01h,0FEh, 00h, 01h, 00h
  2709. 7816:11FA  01 01 01 02 00 00            db     01h, 01h, 01h, 02h, 00h, 00h
  2710. 7816:1200  FF 4E 0C FF 03 14            db    0FFh, 4Eh, 0Ch,0FFh, 03h, 14h
  2711. 7816:1206  01 01 32 90 0C FF            db     01h, 01h, 32h, 90h, 0Ch,0FFh
  2712. 7816:120C  03 0A 01 00 00 00            db     03h, 0Ah, 01h, 00h, 00h, 00h
  2713. 7816:1212  01 FE 01 7C 00 00            db     01h,0FEh, 01h, 7Ch, 00h, 00h
  2714.  
  2715. 7816:1218  00 FF
  2716. 7816:121A  90
  2717. 7816:121B  16
  2718. 7816:121C  4E
  2719. 7816:121D  0C 00
  2720. 7816:121F  03 A1 FB01
  2721. 7816:1223  C8 F6 FF F6
  2722. 7816:1227  15 0C90
  2723. 7816:122A  FF 03
  2724. 7816:122C  0A C8
  2725. 7816:122E  00 FF
  2726. 7816:1230  00 01
  2727. 7816:1232  2B 01
  2728. 7816:1234  F6 50 4E
  2729. 7816:1237  0C 00
  2730. 7816:1239  03 A1 FE01
  2731. 7816:123D  00 01
  2732. 7816:123F  00 00
  2733. 7816:1241  01 02
  2734. 7816:1243  00 00
  2735. 7816:1245  16
  2736. 7816:1246  4E
  2737. 7816:1247  0C 00
  2738. 7816:1249  03 A1 FB01
  2739. 7816:124D  FF F6
  2740. 7816:124F  00 F9
  2741. 7816:1251  00 F0
  2742. 7816:1253  01 59 00
  2743. 7816:1256  F7 00 0006
  2744. 7816:125A  14 00
  2745. 7816:125C  41
  2746. 7816:125D  00 00
  2747. 7816:125F  00
  2748. 7816:1260  4E 00                dw    4Eh
  2749. 7816:1262  59 00                                dw      59h
  2750.  
  2751. 7816:1264  20                                   db    '   ****éßΓáó∞ΓÑ ¬½ετÑó«⌐
  2752. 7816:1265  20 20                            ñ¿ß¬ ó ñαá⌐ó Ç. ì᪼¿ΓÑ
  2753. 7816:1267  2A 2A                        ½εíπε ¬½áó¿Φπ... $'
  2754. 7816:1269  2A 2A
  2755. 7816:126B  82 E1 E2
  2756. 7816:126E  A0 ECA2
  2757. 7816:1271  E2 A5
  2758. 7816:1273  20 AA EEAB
  2759. 7816:1277  E7 A5
  2760. 7816:1279  A2 A9AE
  2761. 7816:127C  20 A4 E1A8
  2762. 7816:1280  AA
  2763. 7816:1281  20 A2 A420
  2764. 7816:1285  E0 A0
  2765.  
  2766. 7816:1287  A9 20A2
  2767. 7816:128A  41
  2768. 7816:128B  2C AD
  2769. 7816:128D  A0 ACA6
  2770. 7816:1290  A8 E2
  2771. 7816:1292  A5
  2772. 7816:1293  20 AB A1EE
  2773. 7816:1297  E3 EE
  2774. 7816:1299  20 AA A0AB
  2775. 7816:129D  A2 E8A8
  2776. 7816:12A0  E3 2E
  2777. 7816:12A2  2E 2E 20 24
  2778. 7816:12A6  0000            data_130    dw    0
  2779. 7816:12A8  0000            data_131    dw    0
  2780. 7816:12AA  14AD            data_132    dw    14ADh            ;  xref 7816:00DC, 012B, 019B, 01A6
  2781.                                         ;            01CC, 01D7, 0223, 025C
  2782.                                         ;            027B, 06BA, 0775, 0938
  2783.                                         ;            0959, 096B, 0B0D, 0DA3
  2784.   
  2785.                 ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2786.                 ;                   SUBROUTINE
  2787.                 ;
  2788.                 ;         Called from:     7816:07EC
  2789.                 ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2790.   
  2791.                 sub_48        proc    near
  2792. 7816:12AC  C3                    retn
  2793.                 sub_48        endp
  2794.   
  2795. 7816:12AD  B5 03 BA                db    0B5h, 03h,0BAh
  2796.   
  2797.                 seg_a        ends
  2798.   
  2799.                         end    start
  2800.  
  2801.                 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ CROSS REFERENCE - KEY ENTRY POINTS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2802.   
  2803.                     seg:off    type       label
  2804.                    ---- ----   ----   ---------------
  2805.                    7816:0000   far    start
  2806.   
  2807.                  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Interrupt Usage Synopsis ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2808.   
  2809.                         Interrupt 10h :     set cursor location in dx
  2810.                         Interrupt 10h :     set char al & attrib bl @curs
  2811.                         Interrupt 13h :     reset disk, al=return status
  2812.                         Interrupt 13h :     read sectors to memory es:bx
  2813.                         Interrupt 21h :     get keybd char al, with echo
  2814.                         Interrupt 21h :     display char dl
  2815.                         Interrupt 21h :     display char string at ds:dx
  2816.                         Interrupt 21h :     terminate with al=return code
  2817.   
  2818.                  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ I/O    Port Usage Synopsis  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2819.   
  2820.                         Port 4       : DMA-1 bas&add ch 2
  2821.                         Port 5       : DMA-1 bas&cnt ch 2
  2822.                         Port 0Ah   : DMA-1 mask reg bit
  2823.                         Port 0Bh   : DMA-1 mode reg
  2824.                         Port 0Ch   : DMA-1 clr byte ptr
  2825.                         Port 20h   : 8259-1 int command
  2826.                         Port 21h   : 8259-1 int IMR
  2827.                         Port 21h   : 8259-1 int comands
  2828.                         Port 40h   : 8253 timer 0 clock
  2829.                         Port 42h   : 8253 timer 2 spkr
  2830.                         Port 43h   : 8253 wrt timr mode
  2831.                         Port 61h   : 8255 port B, read
  2832.                         Port 61h   : 8255 B - spkr, etc
  2833.                         Port 81h   : DMA page reg ch 2
  2834.                         Port 0A1h  : inhibit IRQ8 RTC
  2835.                         Port 3F2h  : dsk0 contrl output
  2836.                         Port 3F4h  : dsk0 cntrlr status
  2837.                         Port 3F5h  : dsk0 controlr data
  2838.                             7 Ocurrences of Non-Standard I/O ports used.
  2839.   
  2840.