Advertisement
Guest User

Untitled

a guest
Dec 23rd, 2021
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 67.39 KB | None | 0 0
  1. seg000:0000 ; Input MD5 : 36E21E035D55CF46308A6E685FBC328F
  2. seg000:0000 ; Input CRC32 : F55A1183
  3. seg000:0000
  4. seg000:0000 ; ---------------------------------------------------------------------------
  5. seg000:0000 ; File Name : C:\temp\Freddy Pharkas - Frontier Pharmacist\EGA640.DRV
  6. seg000:0000 ; Format : Binary file
  7. seg000:0000 ; Base Address: 0000h Range: 0000h - 1723h Loaded length: 1723h
  8. seg000:0000
  9. seg000:0000 ; ===========================================================================
  10. seg000:0000
  11. seg000:0000 ; Segment type: Pure code
  12. seg000:0000 seg000 segment byte public 'CODE' use16
  13. seg000:0000 assume cs:seg000
  14. seg000:0000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
  15. seg000:0000 jmp near ptr sub_EFA
  16. seg000:0000 ; ---------------------------------------------------------------------------
  17. seg000:0003 db 0, 21h, 43h, 65h, 87h, 0, 6, 65h, 67h, 61h, 36h, 34h
  18. seg000:0003 db 30h, 24h, 45h, 47h, 41h, 2Fh, 56h, 47h, 41h, 20h, 77h
  19. seg000:0003 db 69h, 74h, 68h, 20h, 52h, 47h, 42h, 20h, 6Dh, 6Fh, 6Eh
  20. seg000:0003 db 69h, 74h, 6Fh, 72h, 20h, 2Dh, 20h, 31h, 36h, 20h, 43h
  21. seg000:0003 db 6Fh, 6Ch, 6Fh, 72h, 73h, 98h, 0BAh, 0DCh, 0FEh, 20h
  22. seg000:0003 db 3 dup(0), 90h
  23. seg000:003E off_3E dw offset sub_F1D ; DATA XREF: sub_EFA+12r
  24. seg000:0040 off_40 dw offset sub_F21 ; DATA XREF: sub_F21+2r
  25. seg000:0040 ; sub_F21+Ar ...
  26. seg000:0042 dw offset sub_F4C
  27. seg000:0044 dw offset sub_F51
  28. seg000:0046 dw offset sub_1351
  29. seg000:0048 dw offset sub_1380
  30. seg000:004A dw offset sub_1392
  31. seg000:004C dw offset sub_1348
  32. seg000:004E dw offset sub_12AA
  33. seg000:0050 dw offset sub_1332
  34. seg000:0052 dw offset sub_1615
  35. seg000:0054 dw offset sub_15E0
  36. seg000:0056 dw offset nullsub_1
  37. seg000:0058 word_58 dw 0Fh ; DATA XREF: sub_13D3+37r
  38. seg000:0058 ; sub_13D3+CDr ...
  39. seg000:005A word_5A dw 0Fh ; DATA XREF: sub_1694+5Br
  40. seg000:005C word_5C dw 0 ; DATA XREF: sub_1694+8r
  41. seg000:005C ; sub_1694+3Br
  42. seg000:005E word_5E dw 0 ; DATA XREF: sub_1694+23r
  43. seg000:005E ; sub_1694+56r
  44. seg000:0060 byte_60 db 20h, 0, 2 dup(34h), 6 dup(7), 2 dup(37h), 7, 6 dup(34h)
  45. seg000:0060 ; DATA XREF: sub_13D3+7Cr
  46. seg000:0060 db 23h, 5 dup(7), 2 dup(2Bh), 7, 34h, 2 dup(1), 3 dup(34h)
  47. seg000:0060 db 7, 24h, 4 dup(7), 2 dup(2Ch), 7, 34h, 2 dup(1), 3 dup(34h)
  48. seg000:0060 db 7
  49. seg000:0092 db 7, 25h, 3 dup(7), 2 dup(2Dh), 7, 6 dup(34h), 0Dh, 2 dup(7)
  50. seg000:0092 db 26h, 5 dup(7), 6 dup(34h), 7, 0Fh, 7 dup(7), 44h dup(34h)
  51. seg000:0092 db 8 dup(6), 7 dup(34h), 6, 2 dup(34h), 6, 3 dup(5), 6
  52. seg000:0092 db 7 dup(34h), 5, 2 dup(34h), 4 dup(5), 6, 7 dup(34h)
  53. seg000:0092 db 5, 2 dup(34h), 4 dup(5), 6, 7 dup(34h), 8 dup(4), 3 dup(34h)
  54. seg000:0092 db 2B5h dup(0), 2 dup(10h), 4 dup(11h), 2 dup(80h), 10h
  55. seg000:0092 db 18h, 3 dup(91h), 3 dup(20h), 2 dup(30h), 18h, 3 dup(91h)
  56. seg000:0092 db 20h, 28h, 30h, 38h, 2 dup(33h), 99h, 3 dup(22h), 28h
  57. seg000:0092 db 5 dup(33h), 2 dup(22h), 0A2h, 3 dup(33h), 2 dup(0B3h)
  58. seg000:0092 db 4 dup(0A2h), 4 dup(0B3h), 4 dup(0A2h), 4 dup(0B3h)
  59. seg000:0092 db 2 dup(0), 2 dup(10h), 4 dup(11h), 3 dup(80h), 2 dup(18h)
  60. seg000:0092 db 3 dup(91h), 20h, 80h, 2 dup(30h), 18h, 91h, 2 dup(99h)
  61. seg000:0092 db 3 dup(28h), 3 dup(38h), 2 dup(99h), 22h, 2 dup(28h)
  62. seg000:0092 db 2 dup(38h), 3 dup(33h), 3 dup(0A2h), 0A7h, 4 dup(0B3h)
  63. seg000:0092 db 3 dup(0A2h), 0AAh, 4 dup(0B3h), 2 dup(0A2h), 2 dup(0AAh)
  64. seg000:0092 db 2 dup(0B3h), 2 dup(0BBh), 2 dup(40h), 3 dup(50h), 2 dup(91h)
  65. seg000:0092 db 2 dup(60h), 2 dup(80h), 2 dup(18h), 3 dup(91h), 60h
  66. seg000:0092 db 3 dup(88h), 18h, 3 dup(99h), 2 dup(28h), 88h, 2 dup(38h)
  67. seg000:0092 db 97h, 2 dup(99h), 3 dup(28h), 3 dup(38h), 2 dup(97h)
  68. seg000:0092 db 2 dup(0A2h), 2 dup(0A7h), 2 dup(0B7h), 2 dup(0B3h)
  69. seg000:0092 db 0A2h, 3 dup(0AAh), 0A7h, 3 dup(0BBh), 5 dup(0AAh), 3 dup(0BBh)
  70. seg000:0092 db 2 dup(40h), 2 dup(50h), 3 dup(55h), 91h, 60h, 2 dup(48h)
  71. seg000:0092 db 3 dup(58h), 66h, 99h, 2 dup(68h), 2 dup(88h), 58h, 97h
  72. seg000:0092 db 3 dup(99h), 68h, 3 dup(78h), 2 dup(97h), 99h, 0E6h
  73. seg000:0092 db 28h, 0A7h, 2 dup(78h), 3 dup(97h), 2 dup(0A2h), 3 dup(0A7h)
  74. seg000:0092 db 3 dup(0B7h), 3 dup(0AAh), 2 dup(0A7h), 2 dup(0B7h)
  75. seg000:0092 db 0BBh, 4 dup(0AAh), 0AFh, 0B7h, 2 dup(0BBh), 2 dup(44h)
  76. seg000:0092 db 58h, 5 dup(55h), 44h, 2 dup(48h), 2 dup(58h), 2 dup(0D5h)
  77. seg000:0092 db 2 dup(66h), 68h, 48h, 3 dup(58h), 2 dup(99h), 66h, 2 dup(68h)
  78. seg000:0092 db 2 dup(78h), 3 dup(97h), 2 dup(0E6h), 0E7h, 3 dup(77h)
  79. seg000:0092 db 2 dup(9Fh), 2 dup(0E6h), 0E7h, 0A7h, 77h, 2 dup(0B7h)
  80. seg000:0092 db 9Fh, 2 dup(0EEh), 0AAh, 3 dup(0AFh), 2 dup(0BFh), 2 dup(0EEh)
  81. seg000:0092 db 0AAh, 3 dup(0AFh), 2 dup(0BFh), 3 dup(44h), 5 dup(55h)
  82. seg000:0092 db 3 dup(0C4h), 58h, 4 dup(0D5h), 2 dup(66h), 0CCh, 0C7h
  83. seg000:0092 db 2 dup(0D7h), 0D5h, 0DDh, 2 dup(66h), 3 dup(0C7h), 3 dup(0D7h)
  84. seg000:0092 db 3 dup(0E6h), 0C7h, 2 dup(77h), 3 dup(9Fh), 0E6h, 3 dup(0E7h)
  85. seg000:0092 db 2 dup(0F7h), 9Fh, 3 dup(0EEh), 0E7h, 0AFh, 2 dup(0F7h)
  86. seg000:0092 db 0BFh, 3 dup(0EEh), 0E7h, 2 dup(0AFh), 2 dup(0BFh), 44h
  87. seg000:0092 db 2 dup(0C4h), 2 dup(55h), 3 dup(0D5h), 4 dup(0C4h), 4 dup(0D5h)
  88. seg000:0092 db 66h, 3 dup(0CCh), 0D7h, 3 dup(0DDh), 2 dup(66h), 0CCh
  89. seg000:0092 db 2 dup(0C7h), 2 dup(0D7h), 0DDh, 3 dup(0E6h), 3 dup(0CFh)
  90. seg000:0092 db 2 dup(0DFh), 3 dup(0E6h), 2 dup(0E7h), 2 dup(0F7h)
  91. seg000:0092 db 0DFh, 3 dup(0EEh), 2 dup(0EFh), 0F7h, 2 dup(0FFh), 4 dup(0EEh)
  92. seg000:0092 db 2 dup(0EFh), 2 dup(0FFh), 3 dup(0C4h), 55h, 4 dup(0D5h)
  93. seg000:0092 db 4 dup(0C4h), 4 dup(0D5h), 66h, 4 dup(0CCh), 3 dup(0DDh)
  94. seg000:0092 db 2 dup(66h), 2 dup(0CCh), 0C7h, 2 dup(0D7h), 0DDh, 3 dup(0E6h)
  95. seg000:0092 db 3 dup(0CFh), 2 dup(0DFh), 3 dup(0E6h), 0E7h, 2 dup(0CFh)
  96. seg000:0092 db 2 dup(0DFh), 4 dup(0EEh), 2 dup(0EFh), 2 dup(0FFh)
  97. seg000:0092 db 4 dup(0EEh), 2 dup(0EFh), 2 dup(0FFh)
  98. seg000:05F6 word_5F6 dw 98h ; DATA XREF: sub_1392:loc_13A2w
  99. seg000:05F6 ; sub_1694+3r ...
  100. seg000:05F8 word_5F8 dw 0A0h ; DATA XREF: sub_1392+14w
  101. seg000:05F8 ; sub_1694+1Er ...
  102. seg000:05FA byte_5FA db 0 ; DATA XREF: sub_F70+2Aw
  103. seg000:05FA ; sub_F70+5Bw ...
  104. seg000:05FB byte_5FB db 0 ; DATA XREF: sub_F70+6w
  105. seg000:05FB ; sub_F70:loc_FEBw ...
  106. seg000:05FC word_5FC dw 0 ; DATA XREF: sub_1351r
  107. seg000:05FC ; sub_1351+Bw ...
  108. seg000:05FE word_5FE dw 0 ; DATA XREF: sub_11F2:loc_1255w
  109. seg000:05FE ; sub_11F2:loc_1273r
  110. seg000:0600 word_600 dw 0 ; DATA XREF: sub_11F2+6Ew
  111. seg000:0600 ; sub_11F2+A3w ...
  112. seg000:0602 word_602 dw 0 ; DATA XREF: sub_11F2+36w
  113. seg000:0602 ; sub_11F2+89r ...
  114. seg000:0604 db 0
  115. seg000:0605 db 0
  116. seg000:0606 word_606 dw 0 ; DATA XREF: sub_13D3+3Er
  117. seg000:0606 ; sub_1694:loc_16A7w
  118. seg000:0608 word_608 dw 0 ; DATA XREF: sub_13D3+33r
  119. seg000:0608 ; sub_1694:loc_16C2w
  120. seg000:060A word_60A dw 0 ; DATA XREF: sub_F70+30r
  121. seg000:060A ; sub_13D3+11r ...
  122. seg000:060C word_60C dw 0 ; DATA XREF: sub_F70+44r
  123. seg000:060C ; sub_13D3+1Er ...
  124. seg000:060E word_60E dw 0 ; DATA XREF: sub_F70+3Ar
  125. seg000:060E ; sub_13D3+Dr ...
  126. seg000:0610 word_610 dw 0 ; DATA XREF: sub_F70+4Er
  127. seg000:0610 ; sub_13D3+1Ar ...
  128. seg000:0612 word_612 dw 0 ; DATA XREF: sub_14C6+Cw
  129. seg000:0612 ; sub_14C6+47r ...
  130. seg000:0614 word_614 dw 0 ; DATA XREF: sub_14C6+14w
  131. seg000:0614 ; sub_14C6+3Br ...
  132. seg000:0616 word_616 dw 0 ; DATA XREF: sub_14C6+1Fw
  133. seg000:0616 ; sub_14C6+51r ...
  134. seg000:0618 word_618 dw 0 ; DATA XREF: sub_14C6+27w
  135. seg000:0618 ; sub_14C6+65r ...
  136. seg000:061A db 0
  137. seg000:061B db 0
  138. seg000:061C db 0
  139. seg000:061D db 0
  140. seg000:061E db 0
  141. seg000:061F db 0
  142. seg000:0620 db 0
  143. seg000:0621 db 0
  144. seg000:0622 word_622 dw 0FFFFh ; DATA XREF: sub_F70+1Dw
  145. seg000:0622 ; sub_11F2+6w ...
  146. seg000:0624 word_624 dw 0, 0C9h dup(1), 280h dup(101h), 80h dup(0), 0A0h dup(101h)
  147. seg000:0624 ; DATA XREF: sub_F70+Cw
  148. seg000:0624 dw 0
  149. seg000:0EFA
  150. seg000:0EFA ; =============== S U B R O U T I N E =======================================
  151. seg000:0EFA
  152. seg000:0EFA
  153. seg000:0EFA sub_EFA proc far ; CODE XREF: seg000:0000j
  154. seg000:0EFA push ds
  155. seg000:0EFB push es
  156. seg000:0EFC push si
  157. seg000:0EFD push di
  158. seg000:0EFE push bp
  159. seg000:0EFF push bx
  160. seg000:0F00 push cx
  161. seg000:0F01 pushf
  162. seg000:0F02 cld
  163. seg000:0F03 push di
  164. seg000:0F04 mov di, cs
  165. seg000:0F06 mov ds, di
  166. seg000:0F08 mov es, di
  167. seg000:0F0A xchg di, bp
  168. seg000:0F0C mov bp, cs:off_3E[di]
  169. seg000:0F11 pop di
  170. seg000:0F12 call bp
  171. seg000:0F14 popf
  172. seg000:0F15 pop cx
  173. seg000:0F16 pop bx
  174. seg000:0F17 pop bp
  175. seg000:0F18 pop di
  176. seg000:0F19 pop si
  177. seg000:0F1A pop es
  178. seg000:0F1B pop ds
  179. seg000:0F1C retf
  180. seg000:0F1C sub_EFA endp
  181. seg000:0F1C
  182. seg000:0F1D
  183. seg000:0F1D ; =============== S U B R O U T I N E =======================================
  184. seg000:0F1D
  185. seg000:0F1D
  186. seg000:0F1D sub_F1D proc near ; DATA XREF: seg000:off_3Eo
  187. seg000:0F1D mov ax, 10h
  188. seg000:0F20 retn
  189. seg000:0F20 sub_F1D endp
  190. seg000:0F20
  191. seg000:0F21
  192. seg000:0F21 ; =============== S U B R O U T I N E =======================================
  193. seg000:0F21
  194. seg000:0F21
  195. seg000:0F21 sub_F21 proc near ; DATA XREF: seg000:off_40o
  196. seg000:0F21 mov ah, 0Fh
  197. seg000:0F23 int 10h ; - VIDEO - GET CURRENT VIDEO MODE
  198. seg000:0F23 ; Return: AH = number of columns on screen
  199. seg000:0F23 ; AL = current video mode
  200. seg000:0F23 ; BH = current active display page
  201. seg000:0F25 xor ah, ah
  202. seg000:0F27 push ax
  203. seg000:0F28 mov ax, 0Eh
  204. seg000:0F2B int 10h ; - VIDEO - SET VIDEO MODE
  205. seg000:0F2B ; AL = mode
  206. seg000:0F2D mov ah, 10h
  207. seg000:0F2F mov al, 3
  208. seg000:0F31 xor bx, bx
  209. seg000:0F33 int 10h ; - VIDEO - TOGGLE INTENSITY/BLINKING BIT (Jr, PS, TANDY 1000, EGA, VGA)
  210. seg000:0F33 ; BL = 00h enable background intensity
  211. seg000:0F33 ; = 01h enable blink
  212. seg000:0F35 cld
  213. seg000:0F36 mov ax, 0
  214. seg000:0F39 mov bx, 50h ; 'P'
  215. seg000:0F3C mov cx, 0C9h ; '+'
  216. seg000:0F3F mov di, 626h
  217. seg000:0F42
  218. seg000:0F42 loc_F42: ; CODE XREF: sub_F21+24j
  219. seg000:0F42 stosw
  220. seg000:0F43 add ax, bx
  221. seg000:0F45 loop loc_F42
  222. seg000:0F47 call sub_1694
  223. seg000:0F4A pop ax
  224. seg000:0F4B retn
  225. seg000:0F4B sub_F21 endp
  226. seg000:0F4B
  227. seg000:0F4C
  228. seg000:0F4C ; =============== S U B R O U T I N E =======================================
  229. seg000:0F4C
  230. seg000:0F4C
  231. seg000:0F4C sub_F4C proc near ; DATA XREF: seg000:0042o
  232. seg000:0F4C xor ah, ah
  233. seg000:0F4E int 10h ; - VIDEO - SET VIDEO MODE
  234. seg000:0F4E ; AL = mode
  235. seg000:0F50 retn
  236. seg000:0F50 sub_F4C endp
  237. seg000:0F50
  238. seg000:0F51
  239. seg000:0F51 ; =============== S U B R O U T I N E =======================================
  240. seg000:0F51
  241. seg000:0F51
  242. seg000:0F51 sub_F51 proc near ; DATA XREF: seg000:0044o
  243. seg000:0F51 test ax, 8000h
  244. seg000:0F54 jz short loc_F57
  245. seg000:0F56 retn
  246. seg000:0F57 ; ---------------------------------------------------------------------------
  247. seg000:0F57
  248. seg000:0F57 loc_F57: ; CODE XREF: sub_F51+3j
  249. seg000:0F57 test bx, 8000h
  250. seg000:0F5B jz short loc_F5E
  251. seg000:0F5D retn
  252. seg000:0F5E ; ---------------------------------------------------------------------------
  253. seg000:0F5E
  254. seg000:0F5E loc_F5E: ; CODE XREF: sub_F51+Aj
  255. seg000:0F5E cmp dx, 13Fh
  256. seg000:0F62 jbe short loc_F67
  257. seg000:0F64 mov dx, 13Fh
  258. seg000:0F67
  259. seg000:0F67 loc_F67: ; CODE XREF: sub_F51+11j
  260. seg000:0F67 mov di, 0A000h
  261. seg000:0F6A dec cx
  262. seg000:0F6B dec dx
  263. seg000:0F6C call sub_F70
  264. seg000:0F6F retn
  265. seg000:0F6F sub_F51 endp
  266. seg000:0F6F
  267. seg000:0F70
  268. seg000:0F70 ; =============== S U B R O U T I N E =======================================
  269. seg000:0F70
  270. seg000:0F70 ; Attributes: bp-based frame
  271. seg000:0F70
  272. seg000:0F70 sub_F70 proc near ; CODE XREF: sub_F51+1Bp
  273. seg000:0F70 ; sub_1332+12p
  274. seg000:0F70
  275. seg000:0F70 var_8 = word ptr -8
  276. seg000:0F70 var_6 = word ptr -6
  277. seg000:0F70 var_4 = word ptr -4
  278. seg000:0F70 var_2 = word ptr -2
  279. seg000:0F70
  280. seg000:0F70 push bp
  281. seg000:0F71 mov bp, sp
  282. seg000:0F73 add sp, 0FFF8h
  283. seg000:0F76 mov cs:byte_5FB, 1
  284. seg000:0F7C mov cs:word_624, di
  285. seg000:0F81 mov [bp+var_8], ax
  286. seg000:0F84 mov [bp+var_6], bx
  287. seg000:0F87 mov [bp+var_4], cx
  288. seg000:0F8A mov [bp+var_2], dx
  289. seg000:0F8D mov cs:word_622, si
  290. seg000:0F92 and [bp+var_6], 0FFFCh
  291. seg000:0F96 or [bp+var_2], 3
  292. seg000:0F9A mov cs:byte_5FA, 1
  293. seg000:0FA0 mov cx, cs:word_60A
  294. seg000:0FA5 cmp cx, [bp+var_2]
  295. seg000:0FA8 jnb short loc_FD1
  296. seg000:0FAA mov cx, cs:word_60E
  297. seg000:0FAF cmp cx, [bp+var_6]
  298. seg000:0FB2 jbe short loc_FD1
  299. seg000:0FB4 mov dx, cs:word_60C
  300. seg000:0FB9 cmp dx, [bp+var_4]
  301. seg000:0FBC jnb short loc_FD1
  302. seg000:0FBE mov dx, cs:word_610
  303. seg000:0FC3 cmp dx, [bp+var_8]
  304. seg000:0FC6 jbe short loc_FD1
  305. seg000:0FC8 call sub_1380
  306. seg000:0FCB mov cs:byte_5FA, 0
  307. seg000:0FD1
  308. seg000:0FD1 loc_FD1: ; CODE XREF: sub_F70+38j
  309. seg000:0FD1 ; sub_F70+42j ...
  310. seg000:0FD1 mov ax, [bp+var_8]
  311. seg000:0FD4 mov bx, [bp+var_6]
  312. seg000:0FD7 mov cx, [bp+var_4]
  313. seg000:0FDA mov dx, [bp+var_2]
  314. seg000:0FDD call sub_11F2
  315. seg000:0FE0 cmp cs:byte_5FA, 0
  316. seg000:0FE6 jnz short loc_FEB
  317. seg000:0FE8 call sub_1351
  318. seg000:0FEB
  319. seg000:0FEB loc_FEB: ; CODE XREF: sub_F70+76j
  320. seg000:0FEB mov cs:byte_5FB, 0
  321. seg000:0FF1 mov sp, bp
  322. seg000:0FF3 pop bp
  323. seg000:0FF4 retn
  324. seg000:0FF4 sub_F70 endp
  325. seg000:0FF4
  326. seg000:0FF5
  327. seg000:0FF5 ; =============== S U B R O U T I N E =======================================
  328. seg000:0FF5
  329. seg000:0FF5 ; Attributes: bp-based frame
  330. seg000:0FF5
  331. seg000:0FF5 sub_FF5 proc near ; CODE XREF: sub_11F2+94p
  332. seg000:0FF5
  333. seg000:0FF5 var_2 = word ptr -2
  334. seg000:0FF5
  335. seg000:0FF5 push bp
  336. seg000:0FF6 mov bp, sp
  337. seg000:0FF8 add sp, 0FFFEh
  338. seg000:0FFB or cx, cx
  339. seg000:0FFD jnz short loc_1003
  340. seg000:0FFF mov sp, bp
  341. seg000:1001 pop bp
  342. seg000:1002 retn
  343. seg000:1003 ; ---------------------------------------------------------------------------
  344. seg000:1003
  345. seg000:1003 loc_1003: ; CODE XREF: sub_FF5+8j
  346. seg000:1003 push cx
  347. seg000:1004 mov [bp+var_2], cx
  348. seg000:1007 push di
  349. seg000:1008 sub di, di
  350. seg000:100A push es
  351. seg000:100B mov ax, cs
  352. seg000:100D mov es, ax
  353. seg000:100F jmp loc_10D0
  354. seg000:1012 ; ---------------------------------------------------------------------------
  355. seg000:1012
  356. seg000:1012 loc_1012: ; CODE XREF: sub_FF5+E1j
  357. seg000:1012 mov bl, [si+2]
  358. seg000:1015 sub bh, bh
  359. seg000:1017 mov al, es:[bx+0AB8h]
  360. seg000:101C mov bl, [si+3]
  361. seg000:101F mov ah, es:[bx+0AB8h]
  362. seg000:1024 push ax
  363. seg000:1025 mov bl, [si]
  364. seg000:1027 mov al, es:[bx+0AB8h]
  365. seg000:102C mov bl, [si+1]
  366. seg000:102F mov ah, es:[bx+0AB8h]
  367. seg000:1034 add si, 4
  368. seg000:1037 shl al, 1
  369. seg000:1039 rcl cl, 1
  370. seg000:103B shl al, 1
  371. seg000:103D rcl bh, 1
  372. seg000:103F shl al, 1
  373. seg000:1041 rcl bl, 1
  374. seg000:1043 shl al, 1
  375. seg000:1045 rcl ch, 1
  376. seg000:1047 shl al, 1
  377. seg000:1049 rcl cl, 1
  378. seg000:104B shl al, 1
  379. seg000:104D rcl bh, 1
  380. seg000:104F shl al, 1
  381. seg000:1051 rcl bl, 1
  382. seg000:1053 shl al, 1
  383. seg000:1055 rcl ch, 1
  384. seg000:1057 shl ah, 1
  385. seg000:1059 rcl cl, 1
  386. seg000:105B shl ah, 1
  387. seg000:105D rcl bh, 1
  388. seg000:105F shl ah, 1
  389. seg000:1061 rcl bl, 1
  390. seg000:1063 shl ah, 1
  391. seg000:1065 rcl ch, 1
  392. seg000:1067 shl ah, 1
  393. seg000:1069 rcl cl, 1
  394. seg000:106B shl ah, 1
  395. seg000:106D rcl bh, 1
  396. seg000:106F shl ah, 1
  397. seg000:1071 rcl bl, 1
  398. seg000:1073 shl ah, 1
  399. seg000:1075 rcl ch, 1
  400. seg000:1077 pop ax
  401. seg000:1078 shl al, 1
  402. seg000:107A rcl cl, 1
  403. seg000:107C shl al, 1
  404. seg000:107E rcl bh, 1
  405. seg000:1080 shl al, 1
  406. seg000:1082 rcl bl, 1
  407. seg000:1084 shl al, 1
  408. seg000:1086 rcl ch, 1
  409. seg000:1088 shl al, 1
  410. seg000:108A rcl cl, 1
  411. seg000:108C shl al, 1
  412. seg000:108E rcl bh, 1
  413. seg000:1090 shl al, 1
  414. seg000:1092 rcl bl, 1
  415. seg000:1094 shl al, 1
  416. seg000:1096 rcl ch, 1
  417. seg000:1098 shl ah, 1
  418. seg000:109A rcl cl, 1
  419. seg000:109C shl ah, 1
  420. seg000:109E rcl bh, 1
  421. seg000:10A0 shl ah, 1
  422. seg000:10A2 rcl bl, 1
  423. seg000:10A4 shl ah, 1
  424. seg000:10A6 rcl ch, 1
  425. seg000:10A8 shl ah, 1
  426. seg000:10AA rcl cl, 1
  427. seg000:10AC shl ah, 1
  428. seg000:10AE rcl bh, 1
  429. seg000:10B0 shl ah, 1
  430. seg000:10B2 rcl bl, 1
  431. seg000:10B4 shl ah, 1
  432. seg000:10B6 rcl ch, 1
  433. seg000:10B8 mov es:[di+0DB8h], ch
  434. seg000:10BD mov es:[di+0E08h], bl
  435. seg000:10C2 mov es:[di+0E58h], bh
  436. seg000:10C7 mov es:[di+0EA8h], cl
  437. seg000:10CC inc di
  438. seg000:10CD dec [bp+var_2]
  439. seg000:10D0
  440. seg000:10D0 loc_10D0: ; CODE XREF: sub_FF5+1Aj
  441. seg000:10D0 cmp [bp+var_2], 0
  442. seg000:10D4 jz short loc_10D9
  443. seg000:10D6 jmp loc_1012
  444. seg000:10D9 ; ---------------------------------------------------------------------------
  445. seg000:10D9
  446. seg000:10D9 loc_10D9: ; CODE XREF: sub_FF5+DFj
  447. seg000:10D9 mov ax, es
  448. seg000:10DB pop es
  449. seg000:10DC pop bx
  450. seg000:10DD pop cx
  451. seg000:10DE mov [bp+var_2], cx
  452. seg000:10E1 push ds
  453. seg000:10E2 mov ds, ax
  454. seg000:10E4 cld
  455. seg000:10E5 mov al, 1
  456. seg000:10E7 out dx, al
  457. seg000:10E8 mov cx, [bp+var_2]
  458. seg000:10EB mov di, bx
  459. seg000:10ED mov si, 0DB8h
  460. seg000:10F0 rep movsb
  461. seg000:10F2 mov al, 2
  462. seg000:10F4 out dx, al
  463. seg000:10F5 mov cx, [bp+var_2]
  464. seg000:10F8 mov di, bx
  465. seg000:10FA mov si, 0E08h
  466. seg000:10FD rep movsb
  467. seg000:10FF mov al, 4
  468. seg000:1101 out dx, al
  469. seg000:1102 mov cx, [bp+var_2]
  470. seg000:1105 mov di, bx
  471. seg000:1107 mov si, 0E58h
  472. seg000:110A rep movsb
  473. seg000:110C mov al, 8
  474. seg000:110E out dx, al
  475. seg000:110F mov cx, [bp+var_2]
  476. seg000:1112 mov di, bx
  477. seg000:1114 mov si, 0EA8h
  478. seg000:1117 rep movsb
  479. seg000:1119 pop ds
  480. seg000:111A mov sp, bp
  481. seg000:111C pop bp
  482. seg000:111D retn
  483. seg000:111D sub_FF5 endp
  484. seg000:111D
  485. seg000:111E
  486. seg000:111E ; =============== S U B R O U T I N E =======================================
  487. seg000:111E
  488. seg000:111E
  489. seg000:111E sub_111E proc near
  490. seg000:111E push ax
  491. seg000:111F push cx
  492. seg000:1120 push dx
  493. seg000:1121 push bx
  494. seg000:1122 push bp
  495. seg000:1123 push si
  496. seg000:1124 push di
  497. seg000:1125
  498. seg000:1125 loc_1125: ; CODE XREF: sub_111E+C9j
  499. seg000:1125 mov bl, [si+2]
  500. seg000:1128 sub bh, bh
  501. seg000:112A mov al, cs:[bx+0AB8h]
  502. seg000:112F mov bl, [si+3]
  503. seg000:1132 mov ah, cs:[bx+0AB8h]
  504. seg000:1137 push ax
  505. seg000:1138 mov bl, [si]
  506. seg000:113A mov al, cs:[bx+0AB8h]
  507. seg000:113F mov bl, [si+1]
  508. seg000:1142 mov ah, cs:[bx+0AB8h]
  509. seg000:1147 add si, 4
  510. seg000:114A shl al, 1
  511. seg000:114C rcl cl, 1
  512. seg000:114E shl al, 1
  513. seg000:1150 rcl bh, 1
  514. seg000:1152 shl al, 1
  515. seg000:1154 rcl bl, 1
  516. seg000:1156 shl al, 1
  517. seg000:1158 rcl ch, 1
  518. seg000:115A shl al, 1
  519. seg000:115C rcl cl, 1
  520. seg000:115E shl al, 1
  521. seg000:1160 rcl bh, 1
  522. seg000:1162 shl al, 1
  523. seg000:1164 rcl bl, 1
  524. seg000:1166 shl al, 1
  525. seg000:1168 rcl ch, 1
  526. seg000:116A shl ah, 1
  527. seg000:116C rcl cl, 1
  528. seg000:116E shl ah, 1
  529. seg000:1170 rcl bh, 1
  530. seg000:1172 shl ah, 1
  531. seg000:1174 rcl bl, 1
  532. seg000:1176 shl ah, 1
  533. seg000:1178 rcl ch, 1
  534. seg000:117A shl ah, 1
  535. seg000:117C rcl cl, 1
  536. seg000:117E shl ah, 1
  537. seg000:1180 rcl bh, 1
  538. seg000:1182 shl ah, 1
  539. seg000:1184 rcl bl, 1
  540. seg000:1186 shl ah, 1
  541. seg000:1188 rcl ch, 1
  542. seg000:118A pop ax
  543. seg000:118B shl al, 1
  544. seg000:118D rcl cl, 1
  545. seg000:118F shl al, 1
  546. seg000:1191 rcl bh, 1
  547. seg000:1193 shl al, 1
  548. seg000:1195 rcl bl, 1
  549. seg000:1197 shl al, 1
  550. seg000:1199 rcl ch, 1
  551. seg000:119B shl al, 1
  552. seg000:119D rcl cl, 1
  553. seg000:119F shl al, 1
  554. seg000:11A1 rcl bh, 1
  555. seg000:11A3 shl al, 1
  556. seg000:11A5 rcl bl, 1
  557. seg000:11A7 shl al, 1
  558. seg000:11A9 rcl ch, 1
  559. seg000:11AB shl ah, 1
  560. seg000:11AD rcl cl, 1
  561. seg000:11AF shl ah, 1
  562. seg000:11B1 rcl bh, 1
  563. seg000:11B3 shl ah, 1
  564. seg000:11B5 rcl bl, 1
  565. seg000:11B7 shl ah, 1
  566. seg000:11B9 rcl ch, 1
  567. seg000:11BB shl ah, 1
  568. seg000:11BD rcl cl, 1
  569. seg000:11BF shl ah, 1
  570. seg000:11C1 rcl bh, 1
  571. seg000:11C3 shl ah, 1
  572. seg000:11C5 rcl bl, 1
  573. seg000:11C7 shl ah, 1
  574. seg000:11C9 rcl ch, 1
  575. seg000:11CB mov al, 1
  576. seg000:11CD out dx, al
  577. seg000:11CE mov es:[di], ch
  578. seg000:11D1 shl al, 1
  579. seg000:11D3 out dx, al
  580. seg000:11D4 mov es:[di], bl
  581. seg000:11D7 shl al, 1
  582. seg000:11D9 out dx, al
  583. seg000:11DA mov es:[di], bh
  584. seg000:11DD shl al, 1
  585. seg000:11DF out dx, al
  586. seg000:11E0 mov es:[di], cl
  587. seg000:11E3 inc di
  588. seg000:11E4 dec bp
  589. seg000:11E5 jz short loc_11EA
  590. seg000:11E7 jmp loc_1125
  591. seg000:11EA ; ---------------------------------------------------------------------------
  592. seg000:11EA
  593. seg000:11EA loc_11EA: ; CODE XREF: sub_111E+C7j
  594. seg000:11EA pop di
  595. seg000:11EB pop si
  596. seg000:11EC pop bp
  597. seg000:11ED pop bx
  598. seg000:11EE pop dx
  599. seg000:11EF pop cx
  600. seg000:11F0 pop ax
  601. seg000:11F1 retn
  602. seg000:11F1 sub_111E endp
  603. seg000:11F1
  604. seg000:11F2
  605. seg000:11F2 ; =============== S U B R O U T I N E =======================================
  606. seg000:11F2
  607. seg000:11F2 ; Attributes: bp-based frame
  608. seg000:11F2
  609. seg000:11F2 sub_11F2 proc near ; CODE XREF: sub_F70+6Dp
  610. seg000:11F2
  611. seg000:11F2 var_A = word ptr -0Ah
  612. seg000:11F2 var_8 = word ptr -8
  613. seg000:11F2 var_6 = word ptr -6
  614. seg000:11F2 var_4 = word ptr -4
  615. seg000:11F2 var_2 = word ptr -2
  616. seg000:11F2
  617. seg000:11F2 push bp
  618. seg000:11F3 mov bp, sp
  619. seg000:11F5 add sp, 0FFF6h
  620. seg000:11F8 mov cs:word_622, si
  621. seg000:11FD mov [bp+var_A], ax
  622. seg000:1200 mov [bp+var_8], bx
  623. seg000:1203 mov [bp+var_6], cx
  624. seg000:1206 mov [bp+var_4], dx
  625. seg000:1209 mov bh, 0
  626. seg000:120B call sub_1703
  627. seg000:120E mov bh, 0
  628. seg000:1210 call sub_170E
  629. seg000:1213 call sub_171B
  630. seg000:1216 mov al, 0FFh
  631. seg000:1218 out dx, al
  632. seg000:1219 mov ax, [bp+var_A]
  633. seg000:121C mov bx, 140h
  634. seg000:121F mul bx
  635. seg000:1221 mov si, ax
  636. seg000:1223 mov ax, [bp+var_8]
  637. seg000:1226 add si, ax
  638. seg000:1228 mov cs:word_602, si
  639. seg000:122D mov di, [bp+var_A]
  640. seg000:1230 shl di, 1
  641. seg000:1232 mov di, cs:[di+626h]
  642. seg000:1237 mov ax, [bp+var_8]
  643. seg000:123A shr ax, 1
  644. seg000:123C shr ax, 1
  645. seg000:123E add di, ax
  646. seg000:1240 mov [bp+var_2], di
  647. seg000:1243 mov ax, [bp+var_4]
  648. seg000:1246 sub ax, [bp+var_8]
  649. seg000:1249 inc ax
  650. seg000:124A shr ax, 1
  651. seg000:124C shr ax, 1
  652. seg000:124E or ax, ax
  653. seg000:1250 jnz short loc_1255
  654. seg000:1252 mov ax, 1
  655. seg000:1255
  656. seg000:1255 loc_1255: ; CODE XREF: sub_11F2+5Ej
  657. seg000:1255 mov cs:word_5FE, ax
  658. seg000:1259 mov ax, [bp+var_6]
  659. seg000:125C sub ax, [bp+var_A]
  660. seg000:125F inc ax
  661. seg000:1260 mov cs:word_600, ax
  662. seg000:1264 mov dx, 3C4h
  663. seg000:1267 mov al, 2
  664. seg000:1269 out dx, al ; EGA: sequencer address reg
  665. seg000:1269 ; map mask: data bits 0-3 enable writes to bit planes 0-3
  666. seg000:126A inc dx
  667. seg000:126B push es
  668. seg000:126C mov ax, 0A000h
  669. seg000:126F mov es, ax
  670. seg000:1271 assume es:nothing
  671. seg000:1271 jmp short loc_129A
  672. seg000:1273 ; ---------------------------------------------------------------------------
  673. seg000:1273
  674. seg000:1273 loc_1273: ; CODE XREF: sub_11F2+AEj
  675. seg000:1273 mov cx, cs:word_5FE
  676. seg000:1278 mov di, [bp+var_2]
  677. seg000:127B mov si, cs:word_602
  678. seg000:1280 push ds
  679. seg000:1281 mov ds, cs:word_622
  680. seg000:1286 call sub_FF5
  681. seg000:1289 pop ds
  682. seg000:128A add [bp+var_2], 50h ; 'P'
  683. seg000:128E add cs:word_602, 140h
  684. seg000:1295 dec cs:word_600
  685. seg000:129A
  686. seg000:129A loc_129A: ; CODE XREF: sub_11F2+7Fj
  687. seg000:129A cmp cs:word_600, 0
  688. seg000:12A0 jnz short loc_1273
  689. seg000:12A2 pop es
  690. seg000:12A3 assume es:nothing
  691. seg000:12A3 mov al, 0Fh
  692. seg000:12A5 out dx, al
  693. seg000:12A6 mov sp, bp
  694. seg000:12A8 pop bp
  695. seg000:12A9 retn
  696. seg000:12A9 sub_11F2 endp
  697. seg000:12A9
  698. seg000:12AA
  699. seg000:12AA ; =============== S U B R O U T I N E =======================================
  700. seg000:12AA
  701. seg000:12AA ; Attributes: bp-based frame
  702. seg000:12AA
  703. seg000:12AA sub_12AA proc near ; DATA XREF: seg000:004Eo
  704. seg000:12AA
  705. seg000:12AA var_8 = word ptr -8
  706. seg000:12AA var_6 = word ptr -6
  707. seg000:12AA var_4 = dword ptr -4
  708. seg000:12AA
  709. seg000:12AA push bp
  710. seg000:12AB mov bp, sp
  711. seg000:12AD add sp, 0FFF8h
  712. seg000:12B0 mov word ptr [bp+var_4], bx
  713. seg000:12B3 mov word ptr [bp+var_4+2], ax
  714. seg000:12B6 mov [bp+var_6], cx
  715. seg000:12B9 mov [bp+var_8], dx
  716. seg000:12BC call sub_1380
  717. seg000:12BF mov bh, 0
  718. seg000:12C1 call sub_1703
  719. seg000:12C4 mov bh, 0
  720. seg000:12C6 call sub_170E
  721. seg000:12C9 call sub_171B
  722. seg000:12CC xor al, al
  723. seg000:12CE out dx, al
  724. seg000:12CF push es
  725. seg000:12D0 push ds
  726. seg000:12D1 xor di, di
  727. seg000:12D3 test [bp+var_8], 1
  728. seg000:12D8 jz short loc_12DE
  729. seg000:12DA add di, 280h
  730. seg000:12DE
  731. seg000:12DE loc_12DE: ; CODE XREF: sub_12AA+2Ej
  732. seg000:12DE test [bp+var_8], 2
  733. seg000:12E3 jz short loc_12E6
  734. seg000:12E5 inc di
  735. seg000:12E6
  736. seg000:12E6 loc_12E6: ; CODE XREF: sub_12AA+39j
  737. seg000:12E6 mov cx, 4000h
  738. seg000:12E9 sub cx, di
  739. seg000:12EB add di, 4000h
  740. seg000:12EF mov ax, 0A000h
  741. seg000:12F2 mov ds, ax
  742. seg000:12F4 assume ds:nothing
  743. seg000:12F4 mov es, ax
  744. seg000:12F6 assume es:nothing
  745. seg000:12F6 xor si, si
  746. seg000:12F8
  747. seg000:12F8 loc_12F8: ; CODE XREF: sub_12AA+50j
  748. seg000:12F8 lodsb
  749. seg000:12F9 stosb
  750. seg000:12FA loop loc_12F8
  751. seg000:12FC pop ds
  752. seg000:12FD assume ds:nothing
  753. seg000:12FD mov bl, 1
  754. seg000:12FF mov cx, [bp+var_6]
  755. seg000:1302
  756. seg000:1302 loc_1302: ; CODE XREF: sub_12AA+74j
  757. seg000:1302 mov ah, 5
  758. seg000:1304 mov al, bl
  759. seg000:1306 int 10h ; - VIDEO - SELECT DISPLAY PAGE
  760. seg000:1306 ; AL = display page, 0-7 for modes 0 & 1, 0-3 for modes 2 & 3
  761. seg000:1308 xor bl, 1
  762. seg000:130B push cx
  763. seg000:130C mov cx, 3
  764. seg000:130F les di, [bp+var_4]
  765. seg000:1312 assume es:nothing
  766. seg000:1312
  767. seg000:1312 loc_1312: ; CODE XREF: sub_12AA+71j
  768. seg000:1312 mov ax, es:[di]
  769. seg000:1315
  770. seg000:1315 loc_1315: ; CODE XREF: sub_12AA+6Fj
  771. seg000:1315 nop
  772. seg000:1316 cmp ax, es:[di]
  773. seg000:1319 jz short loc_1315
  774. seg000:131B loop loc_1312
  775. seg000:131D pop cx
  776. seg000:131E loop loc_1302
  777. seg000:1320 xor al, al
  778. seg000:1322 mov ah, 5
  779. seg000:1324 int 10h ; - VIDEO - SELECT DISPLAY PAGE
  780. seg000:1324 ; AL = display page, 0-7 for modes 0 & 1, 0-3 for modes 2 & 3
  781. seg000:1326 pop es
  782. seg000:1327 call sub_1351
  783. seg000:132A xor ax, ax
  784. seg000:132C xor dx, dx
  785. seg000:132E mov sp, bp
  786. seg000:1330 pop bp
  787. seg000:1331 retn
  788. seg000:1331 sub_12AA endp
  789. seg000:1331
  790. seg000:1332
  791. seg000:1332 ; =============== S U B R O U T I N E =======================================
  792. seg000:1332
  793. seg000:1332
  794. seg000:1332 sub_1332 proc near ; DATA XREF: seg000:0050o
  795. seg000:1332 mov di, 0A000h
  796. seg000:1335 sub ax, ax
  797. seg000:1337 sub bx, bx
  798. seg000:1339 mov cx, 0C7h ; 'Ã'
  799. seg000:133C mov dx, 13Fh
  800. seg000:133F mov si, cs:word_622
  801. seg000:1344 call sub_F70
  802. seg000:1347 retn
  803. seg000:1347 sub_1332 endp
  804. seg000:1347
  805. seg000:1348
  806. seg000:1348 ; =============== S U B R O U T I N E =======================================
  807. seg000:1348
  808. seg000:1348
  809. seg000:1348 sub_1348 proc near ; DATA XREF: seg000:004Co
  810. seg000:1348 call sub_1380
  811. seg000:134B mov dx, cs
  812. seg000:134D mov ax, 58h ; 'X'
  813. seg000:1350 retn
  814. seg000:1350 sub_1348 endp
  815. seg000:1350
  816. seg000:1351
  817. seg000:1351 ; =============== S U B R O U T I N E =======================================
  818. seg000:1351
  819. seg000:1351
  820. seg000:1351 sub_1351 proc near ; CODE XREF: sub_F70+78p
  821. seg000:1351 ; sub_12AA+7Dp
  822. seg000:1351 ; DATA XREF: ...
  823. seg000:1351 cmp cs:word_5FC, 1
  824. seg000:1357 jle short loc_1362
  825. seg000:1359 mov ax, 1
  826. seg000:135C mov cs:word_5FC, ax
  827. seg000:1360 jmp short loc_137B
  828. seg000:1362 ; ---------------------------------------------------------------------------
  829. seg000:1362
  830. seg000:1362 loc_1362: ; CODE XREF: sub_1351+6j
  831. seg000:1362 inc cs:word_5FC
  832. seg000:1367 cmp cs:word_5FC, 1
  833. seg000:136D jnz short loc_137B
  834. seg000:136F pushf
  835. seg000:1370 cli
  836. seg000:1371 call sub_1694
  837. seg000:1374 call sub_14C6
  838. seg000:1377 call sub_13D3
  839. seg000:137A popf
  840. seg000:137B
  841. seg000:137B loc_137B: ; CODE XREF: sub_1351+Fj
  842. seg000:137B ; sub_1351+1Cj
  843. seg000:137B mov ax, cs:word_5FC
  844. seg000:137F retn
  845. seg000:137F sub_1351 endp
  846. seg000:137F
  847. seg000:1380
  848. seg000:1380 ; =============== S U B R O U T I N E =======================================
  849. seg000:1380
  850. seg000:1380
  851. seg000:1380 sub_1380 proc near ; CODE XREF: sub_F70+58p
  852. seg000:1380 ; sub_12AA+12p ...
  853. seg000:1380 dec cs:word_5FC
  854. seg000:1385 jnz short loc_138D
  855. seg000:1387 pushf
  856. seg000:1388 cli
  857. seg000:1389 call sub_1563
  858. seg000:138C popf
  859. seg000:138D
  860. seg000:138D loc_138D: ; CODE XREF: sub_1380+5j
  861. seg000:138D mov ax, cs:word_5FC
  862. seg000:1391 retn
  863. seg000:1391 sub_1380 endp
  864. seg000:1391
  865. seg000:1392
  866. seg000:1392 ; =============== S U B R O U T I N E =======================================
  867. seg000:1392
  868. seg000:1392
  869. seg000:1392 sub_1392 proc near ; DATA XREF: seg000:004Ao
  870. seg000:1392 push ax
  871. seg000:1393 push cx
  872. seg000:1394 push dx
  873. seg000:1395 push bx
  874. seg000:1396 push bp
  875. seg000:1397 push si
  876. seg000:1398 push di
  877. seg000:1399 cli
  878. seg000:139A cmp ax, 13Fh
  879. seg000:139D jbe short loc_13A2
  880. seg000:139F mov ax, 13Fh
  881. seg000:13A2
  882. seg000:13A2 loc_13A2: ; CODE XREF: sub_1392+Bj
  883. seg000:13A2 mov cs:word_5F6, ax
  884. seg000:13A6 mov cs:word_5F8, bx
  885. seg000:13AB cmp cs:byte_5FB, 0
  886. seg000:13B1 jnz short loc_13C7
  887. seg000:13B3 cmp cs:word_5FC, 0
  888. seg000:13B9 jle short loc_13C7
  889. seg000:13BB call sub_1563
  890. seg000:13BE call sub_1694
  891. seg000:13C1 call sub_14C6
  892. seg000:13C4 call sub_13D3
  893. seg000:13C7
  894. seg000:13C7 loc_13C7: ; CODE XREF: sub_1392+1Fj
  895. seg000:13C7 ; sub_1392+27j
  896. seg000:13C7 pop di
  897. seg000:13C8 pop si
  898. seg000:13C9 pop bp
  899. seg000:13CA pop bx
  900. seg000:13CB pop dx
  901. seg000:13CC pop cx
  902. seg000:13CD pop ax
  903. seg000:13CE xor ax, ax
  904. seg000:13D0 xor dx, dx
  905. seg000:13D2 retn
  906. seg000:13D2 sub_1392 endp
  907. seg000:13D2
  908. seg000:13D3
  909. seg000:13D3 ; =============== S U B R O U T I N E =======================================
  910. seg000:13D3
  911. seg000:13D3 ; Attributes: bp-based frame
  912. seg000:13D3
  913. seg000:13D3 sub_13D3 proc near ; CODE XREF: sub_1351+26p
  914. seg000:13D3 ; sub_1392+32p
  915. seg000:13D3
  916. seg000:13D3 var_6 = word ptr -6
  917. seg000:13D3 var_4 = word ptr -4
  918. seg000:13D3 var_2 = word ptr -2
  919. seg000:13D3
  920. seg000:13D3 push bp
  921. seg000:13D4 mov bp, sp
  922. seg000:13D6 add sp, 0FFFAh
  923. seg000:13D9 push bx
  924. seg000:13DA push cx
  925. seg000:13DB push dx
  926. seg000:13DC push si
  927. seg000:13DD push di
  928. seg000:13DE push es
  929. seg000:13DF cld
  930. seg000:13E0 mov ax, cs:word_60E
  931. seg000:13E4 sub ax, cs:word_60A
  932. seg000:13E9 inc ax
  933. seg000:13EA mov [bp+var_2], ax
  934. seg000:13ED mov ax, cs:word_610
  935. seg000:13F1 sub ax, cs:word_60C
  936. seg000:13F6 inc ax
  937. seg000:13F7 mov [bp+var_4], ax
  938. seg000:13FA mov bh, 2
  939. seg000:13FC call sub_1703
  940. seg000:13FF call sub_171B
  941. seg000:1402 push dx
  942. seg000:1403 mov si, 62h ; 'b'
  943. seg000:1406 mov ax, cs:word_608
  944. seg000:140A mul cs:word_58
  945. seg000:140F add si, ax
  946. seg000:1411 add si, cs:word_606
  947. seg000:1416 mov di, cs:word_60C
  948. seg000:141B shl di, 1
  949. seg000:141D mov di, cs:[di+626h]
  950. seg000:1422 mov ax, cs:word_60A
  951. seg000:1426 shr ax, 1
  952. seg000:1428 shr ax, 1
  953. seg000:142A add di, ax
  954. seg000:142C mov ax, 0A000h
  955. seg000:142F mov es, ax
  956. seg000:1431 assume es:nothing
  957. seg000:1431 mov cx, cs:word_60A
  958. seg000:1436 and cx, 3
  959. seg000:1439 add cx, cx
  960. seg000:143B mov bl, 80h ; 'Ç'
  961. seg000:143D shr bl, cl
  962. seg000:143F mov ch, bl
  963. seg000:1441 pop dx
  964. seg000:1442 jmp short loc_14AB
  965. seg000:1444 ; ---------------------------------------------------------------------------
  966. seg000:1444
  967. seg000:1444 loc_1444: ; CODE XREF: sub_13D3+DCj
  968. seg000:1444 push si
  969. seg000:1445 push di
  970. seg000:1446 mov ax, [bp+var_2]
  971. seg000:1449 mov [bp+var_6], ax
  972. seg000:144C mov al, es:[di]
  973. seg000:144F mov ah, cs:byte_60
  974. seg000:1454 sub bh, bh
  975. seg000:1456 mov al, ch
  976. seg000:1458
  977. seg000:1458 loc_1458: ; CODE XREF: sub_13D3+C9j
  978. seg000:1458 mov bl, [si]
  979. seg000:145A cmp bl, ah
  980. seg000:145C jz short loc_1486
  981. seg000:145E mov bl, cs:[bx+0AB8h]
  982. seg000:1463 shr bl, 1
  983. seg000:1465 shr bl, 1
  984. seg000:1467 shr bl, 1
  985. seg000:1469 shr bl, 1
  986. seg000:146B out dx, al
  987. seg000:146C mov cl, es:[di]
  988. seg000:146F mov es:[di], bl
  989. seg000:1472 shr al, 1
  990. seg000:1474 mov bl, [si]
  991. seg000:1476 mov bl, cs:[bx+0AB8h]
  992. seg000:147B out dx, al
  993. seg000:147C mov cl, es:[di]
  994. seg000:147F mov es:[di], bl
  995. seg000:1482 shr al, 1
  996. seg000:1484 jmp short loc_148A
  997. seg000:1486 ; ---------------------------------------------------------------------------
  998. seg000:1486
  999. seg000:1486 loc_1486: ; CODE XREF: sub_13D3+89j
  1000. seg000:1486 shr al, 1
  1001. seg000:1488 shr al, 1
  1002. seg000:148A
  1003. seg000:148A loc_148A: ; CODE XREF: sub_13D3+B1j
  1004. seg000:148A or al, al
  1005. seg000:148C jnz short loc_1494
  1006. seg000:148E inc di
  1007. seg000:148F mov al, es:[di]
  1008. seg000:1492 mov al, 80h ; 'Ç'
  1009. seg000:1494
  1010. seg000:1494 loc_1494: ; CODE XREF: sub_13D3+B9j
  1011. seg000:1494 inc si
  1012. seg000:1495 dec [bp+var_6]
  1013. seg000:1498 cmp [bp+var_6], 0
  1014. seg000:149C jnz short loc_1458
  1015. seg000:149E pop di
  1016. seg000:149F pop si
  1017. seg000:14A0 add si, cs:word_58
  1018. seg000:14A5 add di, 50h ; 'P'
  1019. seg000:14A8 dec [bp+var_4]
  1020. seg000:14AB
  1021. seg000:14AB loc_14AB: ; CODE XREF: sub_13D3+6Fj
  1022. seg000:14AB cmp [bp+var_4], 0
  1023. seg000:14AF jnz short loc_1444
  1024. seg000:14B1 mov bh, 0
  1025. seg000:14B3 call sub_1703
  1026. seg000:14B6 call sub_171B
  1027. seg000:14B9 mov al, 0FFh
  1028. seg000:14BB out dx, al
  1029. seg000:14BC pop es
  1030. seg000:14BD assume es:nothing
  1031. seg000:14BD pop di
  1032. seg000:14BE pop si
  1033. seg000:14BF pop dx
  1034. seg000:14C0 pop cx
  1035. seg000:14C1 pop bx
  1036. seg000:14C2 mov sp, bp
  1037. seg000:14C4 pop bp
  1038. seg000:14C5 retn
  1039. seg000:14C5 sub_13D3 endp
  1040. seg000:14C5
  1041. seg000:14C6
  1042. seg000:14C6 ; =============== S U B R O U T I N E =======================================
  1043. seg000:14C6
  1044. seg000:14C6
  1045. seg000:14C6 sub_14C6 proc near ; CODE XREF: sub_1351+23p
  1046. seg000:14C6 ; sub_1392+2Fp
  1047. seg000:14C6 push si
  1048. seg000:14C7 push di
  1049. seg000:14C8 push dx
  1050. seg000:14C9 push cx
  1051. seg000:14CA push bx
  1052. seg000:14CB mov ax, cs:word_60A
  1053. seg000:14CF and ax, 0FFFCh
  1054. seg000:14D2 mov cs:word_612, ax
  1055. seg000:14D6 mov ax, cs:word_60C
  1056. seg000:14DA mov cs:word_614, ax
  1057. seg000:14DE mov ax, cs:word_60E
  1058. seg000:14E2 or ax, 3
  1059. seg000:14E5 mov cs:word_616, ax
  1060. seg000:14E9 mov ax, cs:word_610
  1061. seg000:14ED mov cs:word_618, ax
  1062. seg000:14F1 mov bh, 0
  1063. seg000:14F3 call sub_1703
  1064. seg000:14F6 mov bh, 0
  1065. seg000:14F8 call sub_170E
  1066. seg000:14FB call sub_171B
  1067. seg000:14FE xor al, al
  1068. seg000:1500 out dx, al
  1069. seg000:1501 mov si, cs:word_614
  1070. seg000:1506 shl si, 1
  1071. seg000:1508 mov si, cs:[si+626h]
  1072. seg000:150D mov ax, cs:word_612
  1073. seg000:1511 shr ax, 1
  1074. seg000:1513 shr ax, 1
  1075. seg000:1515 add si, ax
  1076. seg000:1517 mov cx, cs:word_616
  1077. seg000:151C sub cx, cs:word_612
  1078. seg000:1521 inc cx
  1079. seg000:1522 shr cx, 1
  1080. seg000:1524 shr cx, 1
  1081. seg000:1526 mov dx, 50h ; 'P'
  1082. seg000:1529 sub dx, cx
  1083. seg000:152B mov bx, cs:word_618
  1084. seg000:1530 sub bx, cs:word_614
  1085. seg000:1535 inc bx
  1086. seg000:1536 mov di, 0C8h ; '+'
  1087. seg000:1539 shl di, 1
  1088. seg000:153B mov di, cs:[di+626h]
  1089. seg000:1540 push es
  1090. seg000:1541 push ds
  1091. seg000:1542 mov ax, 0A000h
  1092. seg000:1545 mov es, ax
  1093. seg000:1547 assume es:nothing
  1094. seg000:1547 mov ds, ax
  1095. seg000:1549 assume ds:nothing
  1096. seg000:1549 jmp short loc_1552
  1097. seg000:154B ; ---------------------------------------------------------------------------
  1098. seg000:154B
  1099. seg000:154B loc_154B: ; CODE XREF: sub_14C6+8Ej
  1100. seg000:154B push cx
  1101. seg000:154C rep movsb
  1102. seg000:154E pop cx
  1103. seg000:154F add si, dx
  1104. seg000:1551 dec bx
  1105. seg000:1552
  1106. seg000:1552 loc_1552: ; CODE XREF: sub_14C6+83j
  1107. seg000:1552 or bx, bx
  1108. seg000:1554 jnz short loc_154B
  1109. seg000:1556 pop ds
  1110. seg000:1557 assume ds:nothing
  1111. seg000:1557 pop es
  1112. seg000:1558 assume es:nothing
  1113. seg000:1558 mov bh, 2
  1114. seg000:155A call sub_1703
  1115. seg000:155D pop bx
  1116. seg000:155E pop cx
  1117. seg000:155F pop dx
  1118. seg000:1560 pop di
  1119. seg000:1561 pop si
  1120. seg000:1562 retn
  1121. seg000:1562 sub_14C6 endp
  1122. seg000:1562
  1123. seg000:1563
  1124. seg000:1563 ; =============== S U B R O U T I N E =======================================
  1125. seg000:1563
  1126. seg000:1563
  1127. seg000:1563 sub_1563 proc near ; CODE XREF: sub_1380+9p
  1128. seg000:1563 ; sub_1392+29p
  1129. seg000:1563 push si
  1130. seg000:1564 push di
  1131. seg000:1565 push dx
  1132. seg000:1566 push cx
  1133. seg000:1567 push bx
  1134. seg000:1568 mov bh, 0
  1135. seg000:156A call sub_1703
  1136. seg000:156D mov bh, 0
  1137. seg000:156F call sub_170E
  1138. seg000:1572 call sub_171B
  1139. seg000:1575 xor al, al
  1140. seg000:1577 out dx, al
  1141. seg000:1578 mov di, cs:word_614
  1142. seg000:157D shl di, 1
  1143. seg000:157F mov di, cs:[di+626h]
  1144. seg000:1584 mov ax, cs:word_612
  1145. seg000:1588 shr ax, 1
  1146. seg000:158A shr ax, 1
  1147. seg000:158C add di, ax
  1148. seg000:158E mov cx, cs:word_616
  1149. seg000:1593 sub cx, cs:word_612
  1150. seg000:1598 inc cx
  1151. seg000:1599 shr cx, 1
  1152. seg000:159B shr cx, 1
  1153. seg000:159D mov dx, 50h ; 'P'
  1154. seg000:15A0 sub dx, cx
  1155. seg000:15A2 mov bx, cs:word_618
  1156. seg000:15A7 sub bx, cs:word_614
  1157. seg000:15AC inc bx
  1158. seg000:15AD mov si, 0C8h ; '+'
  1159. seg000:15B0 shl si, 1
  1160. seg000:15B2 mov si, cs:[si+626h]
  1161. seg000:15B7 push es
  1162. seg000:15B8 push ds
  1163. seg000:15B9 mov ax, 0A000h
  1164. seg000:15BC mov es, ax
  1165. seg000:15BE assume es:nothing
  1166. seg000:15BE mov ds, ax
  1167. seg000:15C0 assume ds:nothing
  1168. seg000:15C0 jmp short loc_15C9
  1169. seg000:15C2 ; ---------------------------------------------------------------------------
  1170. seg000:15C2
  1171. seg000:15C2 loc_15C2: ; CODE XREF: sub_1563+68j
  1172. seg000:15C2 push cx
  1173. seg000:15C3 rep movsb
  1174. seg000:15C5 pop cx
  1175. seg000:15C6 add di, dx
  1176. seg000:15C8 dec bx
  1177. seg000:15C9
  1178. seg000:15C9 loc_15C9: ; CODE XREF: sub_1563+5Dj
  1179. seg000:15C9 or bx, bx
  1180. seg000:15CB jnz short loc_15C2
  1181. seg000:15CD pop ds
  1182. seg000:15CE assume ds:nothing
  1183. seg000:15CE pop es
  1184. seg000:15CF assume es:nothing
  1185. seg000:15CF mov bh, 2
  1186. seg000:15D1 call sub_1703
  1187. seg000:15D4 call sub_171B
  1188. seg000:15D7 mov al, 0FFh
  1189. seg000:15D9 out dx, al
  1190. seg000:15DA pop bx
  1191. seg000:15DB pop cx
  1192. seg000:15DC pop dx
  1193. seg000:15DD pop di
  1194. seg000:15DE pop si
  1195. seg000:15DF retn
  1196. seg000:15DF sub_1563 endp
  1197. seg000:15DF
  1198. seg000:15E0
  1199. seg000:15E0 ; =============== S U B R O U T I N E =======================================
  1200. seg000:15E0
  1201. seg000:15E0
  1202. seg000:15E0 sub_15E0 proc near ; DATA XREF: seg000:0054o
  1203. seg000:15E0 cld
  1204. seg000:15E1 push es
  1205. seg000:15E2 mov es, ax
  1206. seg000:15E4 mov di, si
  1207. seg000:15E6 mov cx, 100h
  1208. seg000:15E9 mov si, 0CB8h
  1209. seg000:15EC rep movsb
  1210. seg000:15EE sub ax, ax
  1211. seg000:15F0 stosw
  1212. seg000:15F1 stosw
  1213. seg000:15F2 mov si, 7B8h
  1214. seg000:15F5 mov bx, 0BB8h
  1215. seg000:15F8 mov cx, 100h
  1216. seg000:15FB
  1217. seg000:15FB loc_15FB: ; CODE XREF: sub_15E0+31j
  1218. seg000:15FB mov al, [bx]
  1219. seg000:15FD inc bx
  1220. seg000:15FE stosb
  1221. seg000:15FF lodsb
  1222. seg000:1600 shl al, 1
  1223. seg000:1602 shl al, 1
  1224. seg000:1604 stosb
  1225. seg000:1605 lodsb
  1226. seg000:1606 shl al, 1
  1227. seg000:1608 shl al, 1
  1228. seg000:160A stosb
  1229. seg000:160B lodsb
  1230. seg000:160C shl al, 1
  1231. seg000:160E shl al, 1
  1232. seg000:1610 stosb
  1233. seg000:1611 loop loc_15FB
  1234. seg000:1613 pop es
  1235. seg000:1614 retn
  1236. seg000:1614 sub_15E0 endp
  1237. seg000:1614
  1238. seg000:1615
  1239. seg000:1615 ; =============== S U B R O U T I N E =======================================
  1240. seg000:1615
  1241. seg000:1615
  1242. seg000:1615 sub_1615 proc near ; DATA XREF: seg000:0052o
  1243. seg000:1615 cld
  1244. seg000:1616 push ax
  1245. seg000:1617 push si
  1246. seg000:1618 push di
  1247. seg000:1619 push ds
  1248. seg000:161A push bp
  1249. seg000:161B push ax
  1250. seg000:161C mov ax, ds
  1251. seg000:161E mov es, ax
  1252. seg000:1620 pop ds
  1253. seg000:1621 mov di, 0CB8h
  1254. seg000:1624 mov cx, 100h
  1255. seg000:1627 rep movsb
  1256. seg000:1629 add si, 4
  1257. seg000:162C mov bx, 0BB8h
  1258. seg000:162F mov di, 7B8h
  1259. seg000:1632 sub dx, dx
  1260. seg000:1634
  1261. seg000:1634 loc_1634: ; CODE XREF: sub_1615+76j
  1262. seg000:1634 lodsb
  1263. seg000:1635 mov es:[bx], al
  1264. seg000:1638 inc bx
  1265. seg000:1639 test ax, 1
  1266. seg000:163C jz short loc_1680
  1267. seg000:163E mov cx, 3
  1268. seg000:1641
  1269. seg000:1641 loc_1641: ; CODE XREF: sub_1615+34j
  1270. seg000:1641 lodsb
  1271. seg000:1642 sub ah, ah
  1272. seg000:1644 shr al, 1
  1273. seg000:1646 shr al, 1
  1274. seg000:1648 stosb
  1275. seg000:1649 loop loc_1641
  1276. seg000:164B sub ah, ah
  1277. seg000:164D mov al, es:[di-3]
  1278. seg000:1651 and al, 38h
  1279. seg000:1653 add ax, ax
  1280. seg000:1655 add ax, ax
  1281. seg000:1657 add ax, ax
  1282. seg000:1659 mov cl, es:[di-2]
  1283. seg000:165D and cl, 38h
  1284. seg000:1660 or al, cl
  1285. seg000:1662 mov cl, es:[di-1]
  1286. seg000:1666 shr cl, 1
  1287. seg000:1668 shr cl, 1
  1288. seg000:166A shr cl, 1
  1289. seg000:166C or al, cl
  1290. seg000:166E push bx
  1291. seg000:166F mov bx, ax
  1292. seg000:1671 mov al, cs:[bx+3F6h]
  1293. seg000:1676 mov bx, dx
  1294. seg000:1678 mov cs:[bx+0AB8h], al
  1295. seg000:167D pop bx
  1296. seg000:167E jmp short loc_1686
  1297. seg000:1680 ; ---------------------------------------------------------------------------
  1298. seg000:1680
  1299. seg000:1680 loc_1680: ; CODE XREF: sub_1615+27j
  1300. seg000:1680 add si, 3
  1301. seg000:1683 add di, 3
  1302. seg000:1686
  1303. seg000:1686 loc_1686: ; CODE XREF: sub_1615+69j
  1304. seg000:1686 inc dx
  1305. seg000:1687 cmp dx, 100h
  1306. seg000:168B jnz short loc_1634
  1307. seg000:168D pop bp
  1308. seg000:168E pop ds
  1309. seg000:168F pop di
  1310. seg000:1690 pop si
  1311. seg000:1691 pop ax
  1312. seg000:1692 retn
  1313. seg000:1692 sub_1615 endp
  1314. seg000:1692
  1315. seg000:1693
  1316. seg000:1693 ; =============== S U B R O U T I N E =======================================
  1317. seg000:1693
  1318. seg000:1693
  1319. seg000:1693 nullsub_1 proc near ; DATA XREF: seg000:0056o
  1320. seg000:1693 retn
  1321. seg000:1693 nullsub_1 endp
  1322. seg000:1693
  1323. seg000:1694
  1324. seg000:1694 ; =============== S U B R O U T I N E =======================================
  1325. seg000:1694
  1326. seg000:1694
  1327. seg000:1694 sub_1694 proc near ; CODE XREF: sub_F21+26p
  1328. seg000:1694 ; sub_1351+20p ...
  1329. seg000:1694 push bx
  1330. seg000:1695 sub ax, ax
  1331. seg000:1697 mov bx, cs:word_5F6
  1332. seg000:169C sub bx, cs:word_5C
  1333. seg000:16A1 jnb short loc_16A7
  1334. seg000:16A3 sub ax, bx
  1335. seg000:16A5 xor bx, bx
  1336. seg000:16A7
  1337. seg000:16A7 loc_16A7: ; CODE XREF: sub_1694+Dj
  1338. seg000:16A7 mov cs:word_606, ax
  1339. seg000:16AB mov cs:word_60A, bx
  1340. seg000:16B0 sub ax, ax
  1341. seg000:16B2 mov bx, cs:word_5F8
  1342. seg000:16B7 sub bx, cs:word_5E
  1343. seg000:16BC jnb short loc_16C2
  1344. seg000:16BE sub ax, bx
  1345. seg000:16C0 xor bx, bx
  1346. seg000:16C2
  1347. seg000:16C2 loc_16C2: ; CODE XREF: sub_1694+28j
  1348. seg000:16C2 mov cs:word_608, ax
  1349. seg000:16C6 mov cs:word_60C, bx
  1350. seg000:16CB mov ax, cs:word_5F6
  1351. seg000:16CF sub ax, cs:word_5C
  1352. seg000:16D4 add ax, cs:word_58
  1353. seg000:16D9 dec ax
  1354. seg000:16DA cmp ax, 13Fh
  1355. seg000:16DD jbe short loc_16E2
  1356. seg000:16DF mov ax, 13Fh
  1357. seg000:16E2
  1358. seg000:16E2 loc_16E2: ; CODE XREF: sub_1694+49j
  1359. seg000:16E2 mov cs:word_60E, ax
  1360. seg000:16E6 mov ax, cs:word_5F8
  1361. seg000:16EA sub ax, cs:word_5E
  1362. seg000:16EF add ax, cs:word_5A
  1363. seg000:16F4 dec ax
  1364. seg000:16F5 cmp ax, 0C7h ; 'Ã'
  1365. seg000:16F8 jbe short loc_16FD
  1366. seg000:16FA mov ax, 0C7h ; 'Ã'
  1367. seg000:16FD
  1368. seg000:16FD loc_16FD: ; CODE XREF: sub_1694+64j
  1369. seg000:16FD mov cs:word_610, ax
  1370. seg000:1701 pop bx
  1371. seg000:1702 retn
  1372. seg000:1702 sub_1694 endp
  1373. seg000:1702
  1374. seg000:1703
  1375. seg000:1703 ; =============== S U B R O U T I N E =======================================
  1376. seg000:1703
  1377. seg000:1703
  1378. seg000:1703 sub_1703 proc near ; CODE XREF: sub_11F2+19p
  1379. seg000:1703 ; sub_12AA+17p ...
  1380. seg000:1703 mov dx, 3CEh
  1381. seg000:1706 mov al, 5
  1382. seg000:1708 out dx, al ; EGA: graph 1 and 2 addr reg:
  1383. seg000:1708 ; mode register.Data bits:
  1384. seg000:1708 ; 0-1: Write mode 0-2
  1385. seg000:1708 ; 2: test condition
  1386. seg000:1708 ; 3: read mode: 1=color compare, 0=direct
  1387. seg000:1708 ; 4: 1=use odd/even RAM addressing
  1388. seg000:1708 ; 5: 1=use CGA mid-res map (2-bits/pixel)
  1389. seg000:1709 inc dx
  1390. seg000:170A mov al, bh
  1391. seg000:170C out dx, al ; EGA port: graphics controller data register
  1392. seg000:170D retn
  1393. seg000:170D sub_1703 endp
  1394. seg000:170D
  1395. seg000:170E
  1396. seg000:170E ; =============== S U B R O U T I N E =======================================
  1397. seg000:170E
  1398. seg000:170E
  1399. seg000:170E sub_170E proc near ; CODE XREF: sub_11F2+1Ep
  1400. seg000:170E ; sub_12AA+1Cp ...
  1401. seg000:170E mov dx, 3CEh
  1402. seg000:1711 mov al, 3
  1403. seg000:1713 out dx, al ; EGA: graph 1 and 2 addr reg:
  1404. seg000:1713 ; data rotate and function select for write mode 00. Bits:
  1405. seg000:1713 ; 0-2: set rotate count for write mode 00
  1406. seg000:1713 ; 3-4: fn for write modes 00 and 02
  1407. seg000:1713 ; 00=no change; 01=AND; 10=OR; 11=XOR
  1408. seg000:1714 mov dx, 3CFh
  1409. seg000:1717 mov al, bh
  1410. seg000:1719 out dx, al ; EGA port: graphics controller data register
  1411. seg000:171A retn
  1412. seg000:171A sub_170E endp
  1413. seg000:171A
  1414. seg000:171B
  1415. seg000:171B ; =============== S U B R O U T I N E =======================================
  1416. seg000:171B
  1417. seg000:171B
  1418. seg000:171B sub_171B proc near ; CODE XREF: sub_11F2+21p
  1419. seg000:171B ; sub_12AA+1Fp ...
  1420. seg000:171B mov dx, 3CEh
  1421. seg000:171E mov al, 8
  1422. seg000:1720 out dx, al ; EGA: graph 1 and 2 addr reg:
  1423. seg000:1720 ; bit mask
  1424. seg000:1720 ; Bits 0-7 select bits to be masked in all planes
  1425. seg000:1721 inc dx
  1426. seg000:1722 retn
  1427. seg000:1722 sub_171B endp
  1428. seg000:1722
  1429. seg000:1722 seg000 ends
  1430. seg000:1722
  1431. seg000:1722
  1432. seg000:1722 end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement