KPENG13 is a powerful Disk Analysis Program which runs under CP/M 2.xx, I have been running it on a Kaypro IV. I don't know whether it runs without modification on other machines. The program was written by the previous owner of this machine, a gentleman name of Veeren who I managed to track down and he was happy to have it placed in the public domain. However, he no longer had the scource code for it. The program works very well, with no bugs that I have discovered. However, exercise great care as it is an immensely powerful tool capable of doing bad to a disk as good. Basically, take the time to find out what it can do and how it does it, it is capable of doing any thing on a disk that you may want. A few notes: 1.Entering any key during any process will stop the process with the message "**INTERRUPTED** Do you wish to abort the current process? (y/n) Giving you the oppurtunity to abort the current process, should you so wish. 2.Enter 'H' at any command prompt to pull down command menu appropiate for the area you are in. 3.Command "<0> Go to debugger" from the main menu assumes you have loaded through DDT. KPENG13 ******************************************************* CP/M 2.x Extended Disk Analysis Program ******************************************************* MAIN MENU: - select DRIVE (A,B) - set TRACK - set SECTOR - AUTO-READ read and display all sectors - READ disk, display sector - display NEXT sector - display previous 'BACK' sector

- PRINT current sector buffer - EDIT current sector } - WRITE current sector back on disk }these four selections have - FILER, find files }further menus associated - INFO, on current disk parameters } - VALIDATE disk, find bad sectors <0> - RST 7 go to debugger <^> - display SPEED-UP - display SLOW-DOWN FILER MENU, file handler - enter FILE name - toggle file SEEK parameters display - toggle file HEADER display - toggle RECORD display - set RANDOM record #

- read PRESENT RANDOM record - read PREVIOUS RANDOM record - read NEXT RANDOM record < > - read NEXT SEQUENTIAL record - VERIFY entire file by reading - SEARCH file for string - REPEAT string search - INFORMATION menu - QUIT from file level INFORMATION MENU <0> - SET # of sectors on system tracks - GET current USER number - SET USER number - select DRIVE - find file given by track and sector # - Extract track and sector from block # - find file given by block # <1> - display latest DISK level SEEK parameters <2> - display latest FILER seek parameters - Print current active file name - QUIT this level EDIT MENU - Edit current DISK sector buffer - Edit FILER buffer (at 80H ) - HEX substitute - ASCII substitute - quit substitute <^H> - cursor LEFT <^L> - cursor RIGHT <^J> - cursor DOWN <^K> - cursor UP <^> - display SPEED UP - display SLOW DOWN - HELP ( active in main cursor control ) - QUIT this level WRITE MENU

- PROMPTED (info will be asked ) - write to latest FILE seek parameters - AUTO ( what ever seems logical correct ) - get INFORMATION module - QUIT from this level