* ------------------------------------------------------------------------- *

		Disect - © DMA 1994-5		24.11.94
		=====================		========

V1.0: 13 Mar-Oct 94	At times, I thought I'd never get there...
-------------------

V1.1: 17.11.94-24.11.94	Well, from my rather affected memory:
-----------------------

	1) No longer crashes if disassembly window at hardware registers
	2) No longer need to define hundreds of copper addresses one
		at a time (!)
	3) DataStrings allow 'X' in base string
	4) Will load executables containing LINE debug/HCLN hunks

V1.2: 25.11.94-29.11.94	Got fed up playing Frontier, so...
-----------------------

	1) Gave screen a proper menu bar, and menus. ASL menus OK now.
	2) Screen is now WB2+, ASL requester is (at last) blue!
	3) Disect aware of 'gadtools.library' base address
	4) Main window is now WFLG_BACKDROP, so now cannot lose ASL
		requester window behind it! I remember the day I
		discovered that one...
	5) Key '+' swaps both disassembly windows
	6) Symbol Window: LMB on a selected symbol, moves (upper)
		disassembly window to address of (program) symbol
	7) Up & Down arrow gadgets in disassembly windows

V1.3: 30.11.94-7.12.94
----------------------

	1) A bug which made Process crash/caused system corruption
		on Process termination creeped into V1.1. Dead now...
	2) INCBIN Request. Thanks to Mark M for that idea
	3) Symbol Window: if press a letter key (with/without) SHIFT key,
		or '.' key, and if symbols are sorted alphabetically,
		now moves window to first symbol which begins with
		that character
	4) Improved algorithms for ensuring disassembly windows align
		themselves to defined program addresses
	5) Improved handling of global/local program symbol definition
		and reference
	6) Added an 'about' message
	7) When define global program symbol, opens request if causes
		local program symbols to be corrupted
	8) RMB on a local in program symbol area moves disassembly window
		the local's global symbol

V1.4: 7.12.94-11.12.94
----------------------

	1) When disassemble to file, will concatenate successive DC.X
		statements to produce (much fewer) lines of source
	2) RMB on instruction mnemonic moves PC to instruction
	3) Can display addresses normally, or as hunk start offsets
	4) Allows hunk offsets in expressions: "[0:64]"
	5) Shift key WILL move memory window fast
	6) Letters in hex now follow selected case
	7) Up/down arrow gadgets in windows repeat if held down
	8) Alarm sound when finds search data

V1.5: 18.12.94
--------------

	1) RMB on displacement (eg: 'dd(Ax)') moves disass window to EA
	2) WB requesters if cannot get resources

V1.6: 9.1.95-01.02.95
---------------------

	 1) It sometimes missed arrow gadget messages, only responding
		to them when another IDCMP message occurred which
		created a signal bit to the message port. This
		happened if LMB > 4 times quickly on arrow gadgets
	 2) System DataStrings: now contain 'X' for address pointers, and
		is now aware of address pointers which point to other
		system structures
	 3) System DataStrings: automatic line commenting, and automatic
		program symbol name definition
	 4) Allows definition of user address same as previous defined
	 5) Allows a base offset address to be defined
	 6) LMB on SEA/DEA text to lock register zoom
	 7) Auto blank lines preference
	 8) SS 'Prev' gadget allows offsets from locals if same global
	 9) Dummy symbol selections can be used as line comment texts
	10) Symbol Window now contains a scroller gadget
	11) Disect aware of 'mathffp.library' base address
	12) Added 'PROCP' reserved symbol name
	13) Added Process Grabber, but only tested on A500+ so far
	14) Request windows which take an address range: can enter '=',
		'+X', and ',X' into end address string gadgets
	15) Was unable to read any DSCT data file if the file contained
		no user address structures
	16) Could not detect characters between "9" and "A" as invalid in
		hex numbers input by user
	17) Added LMB function in Display Breakpoints request window
	18) RMB in memory dump will define base offset address
	19) No longer scans executable files to determine project memory
		sizes, now uses seg list (the things you learn once
		you get the RKMs...)
	20) Data areas defined using system DataStrings now get DF'd as
		macros
	21) During DF, if a program symbol name length exceeds one tab
		size, then the remainder of the source line will be
		output using a new line
	22) Increased executable file hunk limit

V1.7: 2.2.95-20.3.95
--------------------

	 1) When RMB on program address or displacement, right ALT will
		move memory window to the address
	 2) Memory dump now contains a +/- cycle gadget
	 3) When filling memory: eg, if filling LONGs, but address range
		was 31 bytes, Disect would actually write 32 bytes
		(ie: 8 complete LONGs); also changed FORBID/CLEAR
		CACHE/PERMIT method (once per byte, instead of once
		per address range, since very large fills may FORBID
		for too long); also did this for copy memory
	 4) Search memory also gives alarm sound when search ends (data
		not found); source/ASCII searches now match any
		number of spaces or tabs
	 5) During DF, if a program address was automatically replaced
		with a (program) symbol (creating an instruction
		address), the original address would still be logged
		as an missing undefined-reference address; by adding
		a single instruction, this was solved
	 6) Added Process Menu 'Breakpoint At Active Process PC' function,
		but I think the world may not like this too much...
	 7) A new, improved Symbol Selection window...
	 8) Cute little arrow gadgets in main window to move disassembly
		windows left and right
	 9) Disect refused to disassemble movec control registers (unless
		the upper 4 bits of the opcode extension word were 0)
	10) Disect hung when I ungrabbed what I had previously considered
		to be a safe Process to do this to... it was a very
		well hidden bug (since I did not realise that by
		sending a Signal to a Wait()ing Process, a task-
		switch might/will occur)
	11) Added Process memory allocations monitor, & unfreed memory
		list when Process terminates
	12) History buffer no longer limited to only four entries (!)
	13) ASL window size and coords now saved as Preferences
	14) Can now extract symbols from .gs files
	15) Binary files: allows load to a preferred address
	16) Disect auto-replaces CUSTOM/CIA addresses with symbols
	17) Another bug: if an address register contained a library base
		address, and was displayed in register window as,
		eg: 'BASEDOS', then the content of the address would
		not be displayed
	18) Mark M pointed out to me that 'CUSTOM' is defined in
		'intuition/preferences.i', but not as $DFF000,
		so had to rename the same symbol (held within
		Disect executable file) to 'CUSTOM_BASE'
	19) Allows '.x' in expressions for FFP values
	20) Fill & Copy Memory: no longer FORBID/CLEAR CACHE/PERMIT
	21) LMB on address digits in disass window: if right ALT pressed
		moves memory window to address (instead of defining
		a breakpoint)
	22) Had a bit of screen corruption (register/memory window) if
		defined a base offset which caused large offsets to
		be displayed (eg: '[-$12345678]', which would not
		fit into 10-chars available for it)
	23) Now allows definition of key macros... it's simple, but
		highly effective, and I'll sleep with a grin on
		my face tonight! (I will get around to allowing
		macros to be loaded/saved... eventually)
	24) Previously, could not replace references to seglists with
		program symbols (eg: 'move.l main-4,a0'), so Disect
		will now do this automatically
	25) Grabbing a Process would crash if it's pr_WindowPtr was -1
	26) Now replaces 'jsr dd(a6)' with relevant '_LVO' symbols for
		following libraries: Exec, DOS, Gfx, Int, ASL,
		GadTools, MathFFP
	27) Can no longer define breakpoints outside project memory range
	28) MultiBin files load and save, and program 'AllocMultiBin'
	29) Request window gadgets now display '_' characters beneath
		letters equivalent to keyboard controls
	30) Now allows definition of a Process's variables memory area
		(either within Process, or allocated memory), and
		can define user constant symbols as displacements
		within this memory (eg: dd(ax)), so that Disect can
		auto-replace any displacements with relevant constant
		symbol
	31) Disect will now display content of addresses (eg: register
		window) as program symbols (no longer displays only
		an address as a program symbol)
	32) Found a very obscure bug: if a 'JSR _LVOAllocMem' was ('E')
		executed (buffered), and if this memory was not freed
		then when Process terminated, unfreed memory was not
		listed as 'SELF' allocated
	33) Now allows binary files to be inserted into loaded project
	34) With much DSCT data (especially on a 500+!), things tended
		to get slow, so added something to speed things up
	35) Auto Trace mode!!
	36) Hardware monitor (not finished?!)

* ------------------------------------------------------------------------- *