home *** CD-ROM | disk | FTP | other *** search
- FindBL V1.00 (C) Richard K. Lloyd 1988-1991
- ------------
-
- Introduction
- ------------
-
- Although Clares' Toolkit+ is nice for memory editing and searching, the
- mnemonic search (*MFind) cannot find all branch or branch-with-link
- jumps that branch to one particular memory address. FindBL was specifically
- designed to fill this gap.
-
- So why do I need FindBL ?
- -------------------------
-
- When you are disassembling someone else's code, it is often essential to
- know where a particular routine gets called or jumped to. This invariably
- crops up when attempting to deprotect a commerical program :-)
-
- How do I use it ?
- -----------------
-
- You only need to type in three things:
-
- 1) The filename to be loaded (followed by an optional load address in hex),
- but you can avoid a file load simply by pressing RETURN on its own.
- 2) The B/BL destination address.
- 3) The search start address (default = &8000).
-
- FindBL will produce a disassembly of each B/BL instruction that branches to
- the destination address you specified. ARM code is used to speed up the search,
- so it should never take longer than a couple of seconds.
-
- Technical notes
- ---------------
-
- If the search start address is less than HIMEM, then it will finish at HIMEM.
- If you specify a start address >=&3800000, then the search will finish at the
- end of the ROM space (assumed to be &3800000+512*1024).
- Condition codes (EQ,NE etc.) in the B/BL instructions are ignored.
-
- Known problems
- --------------
-
- * There is a bug with *MemoryI - the 4 bytes of ASCII printed TOTALLY IGNORE
- the *Configure DumpFormat setting and hence may screw up your printer if you
- send the screen output there via CTRL-B/CTRL-C.
-
- * Address exceptions may occur if you are clever with the search start address
- (e.g. &1800000). Eventually I will parse the memory regions more nicely
- (when I find out how to do it !).
-
- * Because FindBL is mostly in BASIC, then you cannot load a binary at
- &8000 - you must pick a suitably higher address, such as &18000, to load it.
- When I have the time, I may well rewrite FindBL completely in ARM code...
- as a Utility to be run from the RMA.
-
- Revision History of FindBL
- --------------------------
-
- Version 1.00 (January 1991)
- ---------------------------
-
- * Publicly released for the first time (I think).
-
- * Search routine revamped in ARM code - now incredibly quick.
-
- * Slightly tidied user interface.
-
- Pre-release version (mid-1988)
- ------------------------------
-
- * Completely in BASIC (and hence SLOW !).
-