Sleuth Notes by Gene Heskett I got this from a friend who bought it way back then, and was then not able to build it since it came as source only. Not only that, but the src's were in original os9 level one version 1.0 format, with shorter names for everything. The first thing I did was to bring it up to level one version 2.0 status. Which I believe is where its at now. Eg, no 6309 stuffs in it yet, although with the good organization Prof Bud Pass wrote it with, that would not be a huge undertaking. I called Bud on the phone shortly after I did the upgrade to the newer style defsfiles and function names and asked him if he had any problems with what I had done, and he was at that time very friendly and said I could do most anything with it I wanted, so I doubt he would object to its being preserved for posterity by becoming a part of nitros9's development. This is a multipass disassembler that is used in a more or less recursive loop. It generates very nice looking source code by walking through the object, and everytime it gets out of synch, you add the definition of what the code is at the point where it got confused, sort of a list that tells sleuth that a string definition starts at offset $0077 and continues to offset $0089 etc etc. So its a bit tedious to use, but is dead accurate with our help. Better by far than disasm, but slower to use. Cheers, Gene ****************************************************************************** Sleuth3 Addendum by Bill Pierce: I have updated the system calls to both NitrOS9 L1 & NitrOS9 L2. To use for NitrOS9 Level 1, you must change the "os9lno equ $02" to "os9lno equ #$01". Sleuth3 will then properly (I hope) disassemble Level 1 modules. Gene had started the 6309 CPU instruction decoding, but it was never finish and remains in that state (either jumped over, or commented out). I do not have enough knowledge of 6309 code to complete this and I leave it up to those who do. One thing I noticed, but never seemed to be able to fix, was the "pshs", "puls", "pshu", & "pulu" register order. All registers are listed in reverse order, high to low as opposed to low to high as is OS-9 convention, I.E. "u,y,x,b,a,cc" instead of "cc,a,b,x,y,u". This can be fixed, but due to the many places it's referenced, I couldn't seem to find them all so I left them as they were. The OS-9 assembler manual states that the register order in the source does not matter, that the assembler will sort it out, so I assume sources generated by Sleuth3 will assemble correctly "as is". They have for me so far. The "Super Sleuth" user's manual I have included is actually for the RSDOS version of Sleuth, but almost all instructions still apply to the OS-9 version with the exception that this version of Sleuth disassembles OS-9 program modules and not RSDOS machine language programs. Enjoy! Bill Pierce