/TACH AQ6 AOTACH CMD BOTACH DQC$uW COTACHXDCRAQ62҅ DOTACHXDCRCMD:_ EOMCDOS EQU>x FOTACH FIXO*v;tach.a86d o !"$#&%'()+*,.-/1023465789;:<=>?A@BDCEGHIFJKMLNOQPTRSXVUYWZ[^\]`ba_c?`YǮ=R,QP&]1\F$3t$PE;C<9x[ .g?hVu;lmuBx@31aBϦ+ZSq-#bc[eaEϜ2-C!U[ {en<ґa\Q5{zro95gMʱ`cGPMWnK?S0!8UpliX%ւZ1aBiSN?-C!U[ N9loPПeTzk 銦aX_[O#Ϧ+ZVox)LcC fp_TMp"Uv!ro96]4?S0!n3,^\MW4 +Ǻvc)LgΓl[uןu;W6UHy YQ6\pXϥo6]ѰUcX-H.P*OcW6٨o6]ƶJ)Oa^Ϧ+ZHy /kO5?4#1-^lliX%fMW׳ )>xN3 j|,8"O\czϦ+V[")7g-Gxo(#銆lm͕%Rͽ^g`k}C3嵍20)H}C D #?l:G>no#jZNtB! D #jl?aj Cd6ZF&E+JCj"sPjg?9(L vpX5*ύliWQU\[")u RoSeN ,PsW&Y8wǼғdFUG>)0vy9;)c^+K܂Tq?tEVmf4C‚',?UPpǼaFŜhCD 7G[y5bdFU0's)ҏ W+ #~Q!i j"sPo1;QcظlǼa6ŜhCDSx.n6EwcW%2ԓliMH4c^+M1 s Rspӏ c^9/\s8y%dFj"s0 +}KLg$>dǞɪ7*d?,8d2nrYǮ:nG-e[%^EMXl+C(( M t D౏ w t&(&>Ϝ&ruWV^t_&}_&E&P&R3+y:&uÈ&O*2Q t=Y t SQRбZY[TACHXDCR+ DSS TACHOMETER PGM Version 28 Mar. 85 $ CPU IDLE TIME 0% 25% 50% 75% 100% | | | | | $*** Error: TACHXDCR process not running! ***$v&tach.docK  !"#$&%'(*)+-,/.0132546798:;<=>?@ABDFEHCGIJov^yu#0gee%ʾ aj˺sg?NCر?JO^IA_wٱ'6@٩♠]+hs ]W R~i%yRܧxfݵATౘ3Β[e_0ge]Wqų^7}6s[ ˚G^Hgɭ/HO7ių'ƤǖRjrIjxNCر=BO,uGb.F7i !v̾wTІW +}H;o`+/OwŽ~Bq&&VItǸ&Wy gR܇)xxlK~i5q\5dvZ91OWYrgv!|ސ-Ș;ag4uSϞn{oT^~Ct!xЧ(?U<=A?@BCDEHFGIJ YL0'+$b.oӞݝ] i?PG@VȪgC;]_pn&r7؎ҷM~m4&o0dTG[ ޾6hq7؎YPӯn>Mv+HmtnDadI~XQU,F kE5xFt߶VM~m4"BV}t;Lno-߫A 7,a`rtt O\_9?;tC1#wB"4f8r'G!+>]/B=!/Uܧ"4|#U#M'rdU&}_14vzwH?C~7+QYznt6ːtA1DD~7+QYIJݧ25(F1~7lv7Oeݧ~7\>m!w_kq}N[QesNS2rjp v@è+Q8M~^g>\FVUB,Fp0@Z0@`>dj%\- dybK"x`Ve&{HK!w8nm - X06˒ʀ\tp>|}U ౓౑Hu TACH XDUCER Process (TACHXDCR) Activated - Version 28 Mar 85 $; ; Include file for MC-DOS System Function Calls ; P_TERMCPM equ 0 C_READ equ 1 C_WRITE equ 2 L_WRITE equ 5 C_RAWIO equ 6 C_WRITESTR equ 9 C_READSTR equ 10 C_STAT equ 11 S_BDOSVER equ 12 DRV_ALLRESET equ 13 DRV_SET equ 14 F_OPEN equ 15 F_CLOSE equ 16 F_SFIRST equ 17 F_SNEXT equ 18 F_DELETE equ 19 F_READ equ 20 F_WRITE equ 21 F_MAKE equ 22 F_RENAME equ 23 DRV_LOGINVEC equ 24 DRV_GET equ 25 F_DMAOFF equ 26 DRV_ALLOCVEC equ 27 DRV_SETRO equ 28 DRV_ROVEC equ 29 F_ATTRIB equ 30 DRV_DPB equ 31 F_USERNUM equ 32 F_READRAND equ 33 F_WRITERAND equ 34 F_SIZE equ 35 F_RANDREC equ 36 DRV_RESET equ 37 DRV_ACCESS equ 38 DRV_FREE equ 39 F_WRITEZF equ 40 F_LOCK equ 42 F_UNLOCK equ 43 F_MULTISEC equ 44 F_ERRMODE equ 45 DRV_SPACE equ 46 P_CHAIN equ 47 DRV_FLUSH equ 48 S_BIOS equ 50 F_DMASEG equ 51 F_DMAGET equ 52 MC_MAX equ 53 MC_ABSMAX equ 54 MC_ALLOC equ 55 MC_ABSALLOC equ 56 MC_FREE equ 57 MC_ALLFREE equ 58 P_LOAD equ 59 F_TRUNCATE equ 99 DRV_SETLABEL equ 100 DRV_GETLABEL equ 101 F_TIMEDATE equ 102 F_WRITEXFCB equ 103 T_SET equ 104 T_GET equ 105 F_PASSWD equ 106 S_SERIAL equ 107 C_MODE equ 109 C_DELIMIT equ 110 C_WRITEBLK equ 111 L_WRITEBLK equ 112 M_ALLOC equ 128 M_FREE equ 130 DEV_POLL equ 131 DEV_WAITFLAG equ 132 DEV_SETFLAG equ 133 Q_MAKE equ 134 Q_OPEN equ 135 Q_DELETE equ 136 Q_READ equ 137 Q_CREAD equ 138 Q_WRITE equ 139 Q_CWRITE equ 140 P_DELAY equ 141 P_DISPATCH equ 142 P_TERM equ 143 P_CREATE equ 144 P_PRIORITY equ 145 C_ATTACH equ 146 C_DETACH equ 147 C_SET equ 148 C_ASSIGN equ 149 P_CLI equ 150 P_RPL equ 151 F_PARSE equ 152 C_GET equ 153 S_SYSDAT equ 154 T_SECONDS equ 155 P_PDADR equ 156 P_ABORT equ 157 L_ATTACH equ 158 L_DETACH equ 159 L_SET equ 160 L_CATTACH equ 161 C_CATTACH equ 162 S_OSVER equ 163 L_GET equ 164 ; ; Other Miscellaneous Equates ; DFLT_DMA equ 80h ;default DMA Buffer Address (base page) DFLT_FCB equ 5ch ;default FCB 1 (base page) MPM equ 224 ;system call interrupt ; 06/06/85 Patch For TACH Garry Silvey To allow the TACH program to work under Concurrent DOS V4.1 you need to change it so that it uses the ES register instead of the DS register of the background process. This is because of a bug in CDOS V4.1 where the O/S fails to fill in the DS field of the UDA. Since the ES register is set to the value of the DS register by default, all that is needed is to change TACH so that it locates the ES field instead of the DS field. To change the source file, locate the fourth line after the label match:. This line should read: mov cx,es:word ptr .52h Change this line to: mov cx,es:word ptr .54h That is all that is need to fix the source file. Now regenerate the program and have fun ! If instead you want to patch the command file, load your favorite debugger and read in TACH.CMD. Change the byte at location 110h from 52h to 54h and save the file.  e, load your favorite debugger and read