BMEMCHECKAQ62å‡MEMCHECKDOC3OðÿvÿúØMEMCHECK.A86e  öÿßÿšÿòÿõÿ�ÿ‹ÿŒÿžÿ“ÿ�ÿ›ÿ‘ÿ–ÿœÿ �ÿ!Äÿ"’ÿÓÿ#$Šÿ™ÿ‡ÿ%—ÿ&�ÿ'˜ÿ(‰ÿ)oÿ+*,ÏÿØÿ-/.üÿ0†ÿˆÿÅÿ132”ÿ4Îÿ57698:•ÿ;Íÿ=<?>Žÿ ÿA@ÌÿÛÿÑÿBÒÿCÕÿDEËÿ¬ÿFÖÿGH×ÿKILJ¾ÿ»ÿÂÿMNOºÿP²ÿÝÿ…ÿ¹ÿRÉÿSQ¯ÿÇÿ¼ÿ´ÿUTVW³ÿ°ÿ§ÿúÿ«ÿ­ÿXùÿYZÀÿ[ÐÿÆÿ½ÿéÿ¢ÿÈÿåÿ¤ÿ\]^_·ÿ±ÿ©ÿÜÿ®ÿ`÷ÿÔÿÊÿëÿûÿ¦ÿcbda¸ÿµÿ¨ÿäÿçÿªÿ¶ÿèÿêÿÿþñÿÙÿæÿøÿw]‡±Ù›%œ ’Jz²¡g~Ñ[ô®k‚ßÌwΔ ÂÔP™é¼vÑ»®�pèùÐ3²s|¥‚Z†íIDïº&¨Žs�Çk4Ñsm6Ô…6›5ôÆÌ¢·è]×N^ 86J =\ô½ë: ä õri´Ù�è]׳±QÈ2¤c®¤xÌ z×õ¢‡,ðÖ,x ËI§š=¨Ú–xám3½E»ÕŽ¿_. yô÷Kã†êV;.z‹FGúýÒøÝjÇÿï3j³ñ@‡‚Ôžb –M͸DoÑïï—ÆOLþ[žóˆ¡:εã½åY­‰Æ³µm~¿4þ…çéÿíÙªmµÜ€eS˜3ˆÆ³µ-x¿4þ¼ëÒÿ;Ú³UÛ*ûq(Âû¾L�gkÛó~iüù5�þßÑž­ÚV À X6Exß—‰¢çÄëýÒøEÒÿûPN�W\° sÑs À‚÷Kã_TLÿïC9uF\Œ§0g…>GÊû¥ñ7þïC9uF\ÐWö)µ¯³%šû)ï—ÆOü¿åÔqå¾²¯H©}�-Ñ[ôÉqZô9Ó¿1Ÿ§ÿ÷Ðó¡çµsô&z`e@ˆþÎè“6]øÿÆÙ¨îBDôwF?öwÝq¨ciÃFô­�ßñþãl Ô±´aS»Ÿ³h½Eßve*z8Ò¢¿3ú¤MÃ7þïèmQDgôc?Íüo\hc^ÇÉ&Ñ·~Ç»è-ú¤YÑ[ôþÍõ™é¼ö®ùõâó�ù<½Egô��¸ëŽCXê>Y­ý~hAôwF?ì'rDŸ¬Ö>ìSïEoÑßýØOÜuÇ¡â±GôÉjí÷Có¢¿3úa?Å#údµöaŸz/z‹þÎèÇ~â®;uŽ=¢OVk¿šGý�ÑûéÑ'«µûÔ{Ñ[ôÉjíIn�è-z‹ÞŸu`e°†®eb¹‰ÖÐ5óð¤+lL¶*áqzwIÊŒ{èùTÂù¬Ù“ˆÞÏyÓ5PnÀs!¥€ëÒha“è-Ê,›ƒý�ѧrŽ…!WcÆ—‰�iþ÷lž¹3.£Ï5b6~ ²XDgôc?qׇ �^gKôÉjí÷Có ÜëlUǹB§ë8]Á}²Z«'Öü5pÓEÒ•EŸ¬ÖxÄØó_÷¾¶¼FŒ=YÇEŸìøW›Hˆ~²ñ�ž‹~òŽ?²ñ¹hèô!údµö©÷…¿î}my¥Þ—íª9½ÚTœ+;¡ ÙýdòŒÁ²9 Ü�—íÊsæ,:½�}REgôI›†‹~æü«ŸHý�ѧrŽ…!WèôqzZýßg¡^¡ÓÖkè:N׊1Q7ñò¥Ñ Dgôc?qׇr×Ù}²ZûýÐ<Â_÷:[Õq®Ðé:NWðEŸ¬Öê‰5 Ü´C‘teÑ[ôÉjíSï ¢ŸLÞM¼|iôÿwcÆe»òœ9‹> ©¢¿3ú¤MÃE?sþÕO¤‰þÎèS9ÇÂ�ËMY­}اÞÿ5pG{p[”:Nïn VŒÙÏ}ÌøýˆþÎèG;Íÿ¸­±`W+îºã ú;£Oúi[âŒ�yâðÿü@mKLº¨œãÆsÄ_ƒ½ÿg\‘®Î¶V5ãz¢¿3úa?Eû×À ~ â‚Uèj£‹¾aø°ÿkà�á7ßÝ@qWÜuÇAôwFß‚Ê9†<Ìhg2…ýßÔlÁ+.X•0�‚yÑ_1~´Sâ_·ñŠÊ9Š~cÆŒç Ü£Û*²ñŸu¶è-ú;£û‰»î8êÙv” Ñ'«µßÍ#ˆþÎèG;ÍEgôI?mKœ±1O. Œ7 öþŸqEºP϶£ÔF͸"-ú;£öS´¢o>ìÿ¸³Ï"ÙxÅ«ÐÕFý�Ñ_ýäAå Cf´3ù;ûЬ¢rŽ¢Ovü«ŸÂþ¯�û¬Ýk�¢f à¦.&úÉþ¼5ÿkà¦ø™*yÇ¢OVkï9sþkàŽöà¶(å9så­9BôÉjí­9°à¯�›¤Ë¯Žs­�3ˆ~òlÏ[ ÜÉ;.Û•áÚrJ¥DŸ¬ÖžXó×Àííxц͋¤+‹~òŽŸ1X6ç¯�;û�•¡ƒesDyk!ú+Æ�vJükà6ÞCQ9GÑoÌø�ñÆ_÷ÿ¬ë°EoÑûg·ù@áuNQש “ÞT¤c_PT iÞqóÝ x¬¸`^žÍ&Ñ[ôwF?öwÝq¨Î¶–ø/cx4Äë8a ¯sDŸ¬Ö~?4� ú;£í4ÿkà¶Æ‚]­¸ëŽƒèïŒ>é§m‰36æ‰Ãÿoðµ-1é¢rŽG'"þìý?ãŠtu¶µJ¬׋ý�Ñû)Ú¿nð¬BW]ôwFß‚Ê9†<Ìhg2…ýßÔlÁ+.X•0�‚yÑ_1~´Sâ_·ñŠÊ9Š~cÆŒÿ¸G¶Udã?ë:lÑ[ôwF?öwÝq(Ô³í(‰¢OVk¿šGý�Ñ�vš‹þÎè“~Ú–8ccž8\oCü5ØûÆéB=ÛŽR‰5㊴èïŒ~ØOÑŠþÎè¯~òƒ rŽ…!3Ú™ü�}ÅŠ VQ9GÑ';þÕOaÿ×À}ÖîµNQ³pSýdÞJükà¦ø™*yÇ¢OVkï9sþkàŽöà¶(å9så­D„è“ÕÚ[s`Á_7I—!^çZ!gýäÙž·¶ý5p'ï¸lW†kË)•Z}²Z{bÍ_··ãEs6/’®,úÉ;~Æ`Ùœ¿îìV†b –Íå­mÑ_1~´Sâ_·ñŠÊ9Š~cÆŒ·ý5pÿϺ[ô½9/ª…´È˜³¨ãôîDoÑßýØOÜuÇ¡š5þǼ¨Õ¬ñZ$ó9uHv7¢OVk¿šG½EgôÃ~ò#údÇö•s, ¹ÜÄãôßÉã�ꬱ'õXm¨ãôîêb¢ŸìÙ¸è¯?ì§�ù5�þ߯{¨ãôîD?yÇ`e±hdãÑ·†<•s, ¹3¾L ˆÞ¢¿3ú±Ÿ¸ëŽC5f|ÙŒ»è“ÕÚï‡æDgôÃ~¢rŽ…!WcÆ—‰Ñ'«µûÔ{ÑßýÕ¦�^rí�ÿM;TcÆÅ,›êÚ¢EŸó¯6­ö×Àݘq1˦.&úɳ}dãsÑOÞñwœõü×Àm»j̸:ÎŽz.Æ`ÙˆF6>GˆþÎèÇ~â®;µZ»Ù¸è“ÕÚï‡æDoÑ·Ý†ŠŽ´èïŒ~ì'îºãPÑW}²ZûýÐ<‚軉¶½Eßvo*z8Ò¢Ÿ6øëÅÝ3®HWºÔ¡ð½f\¬è»‰¶}Û}ôp¤EgôI›æ ÜÞ[(àÚl¨ mV‡rÀwÑ·~ǻ軉¶½g\‡]g 3�`�ŸšqE*Ñ[ômW†¡¢‡#-z‹Þï2Q«’"éÊ¢„G@ˆ>Oú«=�#Dßš_m:×,}ð¿Ú}ŽÑOžíOcÆ¢�ÿêEŸGøsâ‚5­&úÙAôÝDÛ‰Š¾í>z8Ò¢„G@ˆ>Oúa/úx<é“^ôñxÒ�½èïŒ~lÓj¢¿3ú¤M‰¢o üŽwÑÇŒ?ö¢�?éE3þ°ýì ún¢íDEßvõ†¡¢‡#-jÍ�Ñ·æW›Î5 DüÀ¯6å>GŠèg‡½EïÏc6ˆ’®\ÖÔj¢Ä„è“ÕÚ[s`ÁÿMR'[e ¡,�è'ÏöÄÑ·æW›Î‰ –è“ÕÚáÿv’rYƒGýì ún¢íDEßv=iQk,@ˆ>Oúa/úx<é“^ôñxÒ÷#úx<éG+ú;£OÚ´±ñ6‡›×�ã©îBDô­�ßñ.úœµi5ÑÇŒ?ZÑÇŒß�ècÆOzÑÇŒ?ìE?;ˆk¢�Ç“>éEgôI›6Dßøï¢�?éE?;”軉¶½EïG6$©à\LÍ*œ­�S©÷…®6zuœkxµNqWÈ‚½_t’z�}<žôW/úËÄ_mšw©è“ÿjÓÆüÿÞDæºp]Lô“ɯtCôWŒ¿Ú4Óÿ{Åäñ@Ù®(~DWº�ýã¯6 æƒÿ{ÅXëk+´ëˆ>Y­=áD3þÕ‹~v½EïV0Á¹ ˜šUCek p§¸«aSÖTê}uœ÷¢·hاÞ#ªðxÒ_½èãñ¤OzÑßýÕOaÿ�Çkõ¢¿3ú¤MÃÿḭ̈À‹ðh@ô3·_ýDšè“ÕÚ¯CRïÿo�P©÷-m¡6D?sûÕO¤‰>Y­ý:$õþÿæð•z_ÑÒ*Qô3·_ýDšè“ÕÚ¯CRïÿo�P©÷-m¡¶‰~æö«ŸH}²ZûuHêýÿÍ#à*õ¾¢¥-ÔpÑÇŒŸô¢�ÿêE?;ˆŠÞ¢÷o6$‚Fê jVál œÚýœE{-¨Mȃ©„Ösv…|Áª!N'©Ñ€mµ}“è-ºšG@ˆ>OúÇŠþÎè;Å^t?tÃÑßýÕ¦�^r óØ™ˆ>Ùñ¯6 ¶þo7±¸«ýÐýd3Ûïœ÷C‹>füÇŠ~vÝ9ï‡Fˆ>Y­=áDßòÇŠ~òŽ?tâ¢$·!ú;£¿Ú4�éÿM²è“ÕÚAôwFµi¾Òÿ»u¢OVkOxÑÏ¢·èýÁ¹ ˜¤‚DÍ*Âõ §Ö!ÖIW.k YP\©÷e(aؼlWèj6Vê}EK[½ÿk™XdåL)Ò|e�›ª‚†Ô3Õ¯ì0fsŠj!-²r¦ÔqØ$z‹¦Þ¢OVkÙñ¯6 f\ä†è'ò†ársÏ¢ÆðW›óÁEÎôï“ÇÕq®ÔûŠ–¶p Ù¬ÙE?yÇŸz™·þï�‚×95Ÿuኖ¶PyÚ‹¤N¶Ž¨a¸ÜÀ3BôÏþjÓ`>ø¿³ïŒz­C¬­Ð®#údÇ¿Ú4ýdò©÷—=gÑ';þÕ¦�¹è'ò©÷—=gÑÔû˼…}ÒˆègÑÔûËž3BôÑÏ¢·èýA�ÔC uA�5«²Ã˜Í©cÏEÖñâ®HºrYSÈ‚*ÛIW.{j5œ®M¢·(ðˆ±g„è“ÿjÓ` þï¼ íER'[Gô“ÉóÖåu.Û#údÇ¿Ú4˜mp‘¢ŸlÈóÖåu.Û#úËÄ_m nÐATâ<ý{_[^#Æž‹¬ãRŠ4_ÙºÖ!ÖVh¡.J”·.¯sÙ„ègÑ[ô½Eï¿ È ƒ²fU´·E)Ï™sX0Ñ[ôþ d â‘SH*.X•}Åé‡L!©¸`5[7S]0¤�ÔqzwS!Op…¤¸ëŽƒè-ê9sFˆ>Oú¤ÑÇãIõ ÜÙW¬¸`ºÚè¢�Ç“~Øÿ5pS³pSqÁ*tµÑE�'ýhÿ¸¹ëŽƒèãñ¤ïç¯�û8-ú;£û‰»î8”ç¼úï+CqWž3çÚ-údµöû¡yÑÇŒ?ìÿ¸�Ó»}²Zû°O½ÿkàý�Ñ�ýÄ]wŠ»Î/ýß›sׇBR›‹>Y­ý~hAô1ãû¿nîºã údµöaŸzÿ×À-ú;£û‰»î8Ô ýÒÿ½ùIyl±B/$µ¹è“ÕÚï‡æD3þ°ÿkàŽ VQ³p#údµöaŸzÿ×À=8)�-V胊 V¡«�^ ©Ù¸I"ú;£û‰»î8u¿ôoN]góŠ V¡«�^ ³¯˜DôÉjí÷Có¢�Øÿ5pÇ«²¯(údµöaŸz/ú˜ñ“^ô³ƒè-z,mØ| P×±™ïœ)„¨„Cχž¹‚çùX6I*qx%àØ(5ôð�èÇðç1�æ+�æ+ýþ ® LÍÀM…”Á4�é4_©èÇðuò…z ¹4Úìg0Íc:ÍW*ú1üA]‡±±QÈ2¤c®¤`Ó`šÇtš¯Tôcøƒº^ô�Þš¯aù"éT³UÛ/¼m¦ƒiÓi¾RÑ�áÏW: ‚ôÆd�5tazß´i0Íc:ÍW: ¶Dɱçcøó•Nƒà:µ’RöTmˆÆcÏÇðu 6¸N-äCÊžªíÑsìùþ ®Áש5dHÙSµ} z‹†N¯³õ1üyL§ùJ§Á<×ÌÓ®°1Ù*à:°2ø�J¸1kö$Ź�RÀui´€¨íQ7q�­�áÏc:ÍW: .0à¹fžt…�ÉV—›Xà*áÆ¬Ù“ jû@ômÌø2cøþ<¦Ó|¥Ó (f\gG=WBÊ…LDmˆv¶µ��áÏc:ÍW: †ZçÔ¢f·­YC×ÌÓ®°1ÙªuœÞÝ@­³ŸSHjû@õl;ÊÆÇðu½ˆày¶Åºâ‚µ} ÚÙÖ?†?�é4_é4j�S‰ˆšÝ¶f ]3OºÂÆd«½¬)ª…´ï¸ùî†?¨k€»î8 Ù>=¡_úþ ®j¶n�lˆR×ñKÃÔ5�}E$Û¢ÑWüþ<¦Ó|¥Ó áÊß+]§BwSéjàqSÕÅóXûx ²‡Ì°)Éö�¨÷>†?�é4_é4ŠÞ+]§¼·àqÓö�è-Ú˜ñe3îÃÔ53®à×ö�è-º7fü1üùÿݘq1˦f•a3›g®Ý—9Õ˜±hcÆ—‰��ÔŸÿݘq ˆ†N§?SCÔM°ÈV¼ˆ‹Ÿ÷KãouÆï—Æß.ún¢è0®È4¹è“ÕÚï‡æDDOCUMENTATION FOR FILE: MEMCHECK.A86 WRITTEN BY: DAVE SQUIRES 11 ARTHUR CT. SATELLITE BEACH, FL 32937 PURPOSE OF PROGRAM: Provides memory test capability for up to 15 "banks" of 64KB. Up to 15 64KB segments of memory may be tested - all but the segment at paragraph 0000. This program was especially written for a CompuPro system using the CPU 85/88 or CPU 86/87 and one of the 8086/88 operating systems. In particular, this implementation assumes that a CompuPro system support card serial port is the system console interface, although since source is provided, the program could easily be adapted to other serial interface cards. The program also assumes that a CompuPro DISK3 hard disk controller is present in the system. The DISK3 controller is disabled before the memory test begins - just in case memory is bad and the processor goes berserk. If you don't have a DISK3, just eliminate the appropriate lines (commented). OPERATION: The program loads wherever the operating system puts it, then promptly relocates itself in the lowest 64KB memory chunk available (and assumed to exist for any 8086/88 system). The program then "takes over the system" by disabling interrupts. The program provides all of its own character input/output routines since it has probably clobbered (or at least paralyzed) the operating system by now. The program then prompts the user for the range of 64KB memory chunks to test. The user may specify ranges from the second 64KB chunk thru the sixteenth chunk (corresponding to segments 1000 thru F000 hex) or any contiguous range in between. As far as the memory test scheme itself, the program checks each 64KB chunk individually. First the program writes 32K words (16 bits) corresponding to the COMPLEMENT of the word offset in the chunk. It does this for all 32K words, THEN goes back and verifies all locations in the chunk. Any errors are displayed. Then the program fills each word in the same chunk with its word offset. As before, it does this for all 32K words in the 64KB chunk before going back to verify all locations. Again, any errors are logged. Upon completion of these two complete fill/verify passes, the program proceeds with the next 64KB chunk to test, until all requested chunks have been tested. If the looping option was used, the program will test all specified memory continuously and display the total number of passes through all specified memory. This simple test algorithm is fast and is adequate for systems with static memory (where pattern sensitivity is not so common) and does detect many memory address decoding problems. Obviously this program will also work with dynamic memory, however the test is not as thorough. Once the option to quit (Q) has been taken, the program issues a final message to advise you that your system has been halted. You must reset and reboot to bring your system to life after this. FUTURE ENHANCEMENTS: Future enhancements may include a new option to allow the program to relocate itself to any specified memory segment. This will make it easy to test ALL of your system's memory. Currently, all but the lowest 64KB segment can be tested without reconfiguring memory card address switches/jumpers. DISCLAIMER: Although this program has been tested to run acceptably in my particular hardware environment, there are no guarantees made concerning freedom from bugs and "gotchas", especially on a different system. The source is provided and may be used as is or modified for any purpose. Any comments or specific suggestions for improvement are welcomed and may be left for me in the form of a message.