GBRead / gbread / changelog.txt

-[Add]Comments can be specified for disassembly. They are attached to specific
offsets, and are printed whenever the instruction at that offset is printed.
-[Add]Data templates, for sections. See readme for usage.
-[Add]Preliminary string handling, and table support. See readme for usage.
-[Change]New save file format, settings.txt. Option setting details can be
found in the readme.
-[Change]Added default.txt. This file contains default labels that are loaded
whenever a new project is opened.
-[Change]Highlighting is now on all the time.
-[Fix]New assembler engine generated by ANTLR. So, it should be a lot more
flexible, and simultaneously more strict.

-[Change]Various miscellaneous things.
-[Remove]Function length, "guessed" length. Current length options in label
files will be ignored.
-[Fix]Miscellaneous errors.

-[Add]When searching for references to a function, search results will specify
the type of reference.
-[Change]When giving addresses for calls and jumps, if no label is present,
they will be represented as word-sized numbers, instead of using file offsets.
-[Fix]Fixed the selection highlighting not working when Shift was used.
-[Fix]Fixed the "Data Row Size" not using the entered size when a section is
-[Fix]"Guessed Length" was too low on certain functions that used the "jr"
-[Fix]Fixed "ld a,[nnnn]" not showing brackets.
-[Fix]Fixed error related to textbox drawing.
-[Fix]Fixed the broken "Search for Calls"
-[Fix]Changed the default 'header' label to start at $104.

-[Fix]Some instructions had missing brackets.
-[Fix]"Guessed Length" was in decimal, and not hex, as its identifier would
-[Fix]Some instructions had missing arguments.
-[Fix]Some instructions printed the register twice.

-[Add]Default variables are loaded when a file is loaded. These vars consist
of all the areas in the memory-mapped I/O, like JOY and LCDC.
-[Add]"Data Row Size". That is, this determines how many bytes per line data
prints at.
-[Change]A little work on the backend, so the lookup speed for each line
should be improved.
-[Fix]Removed and repurposed older functions.
-[Fix]The newly added options should be saved now.

-[Add]Highlighting of various text elements. Comments, labels, and
instruction keywords are highlighted by default, and others can be set in the
Options menu. Currently, the highlighting options aren't saved.
-[Add]When printing functions with no length (double clicking on the label),
the guessed length of the function will be printed along with the comments.
Since the guessed length can't compensate for jumps made through means other
than jp and jr (like jp hl, or rst to a jump table, for example), reading the
function to see what it does may still be necessary.
-[Change]When searching for a variable within the saved functions, only the
ones with set lengths will be searched. Same goes for the function reference
-[Change]The format of the search results for variable searching has been
changed to be more compact.
-[Remove]The "Find Functions With Bank Changes" option. Doesn't say much about
the function itself.
-[Fix]Minor option error.
-[Fix]When assembling code, the offsets printed didn't take into account the
place being replaced. The correct offsets should be printed now.
-[Fix]Rewrote the variable search and the called function searches. They
should be a bit better now.
-[Fix]Some functions with unknown length were printing short.

-[Add]An option for word wrap on the main window. Option is not saved yet,
-[Fix]Various alignment changes in the interface.
-[Fix]Wrong check caused some search results to not be shown for variable ref.
-[Fix]Mistyped instruction caused the wrong thing to be searched for in the
var search. Changed to correct instruction.

-[Add]Labels will show up green if they have a length defined.
-[Add]Data will show up pink if they are images.
-[Add]Added visible option to fix header info, specifically the complement 
check and the checksum.
-[Change]Changed interface a bit.
-[Fix]The function that guessed at the contents of a function with no length
defined was giving weird results.
-[Fix]Function labels saving with negative length.
-[Fix]Added a bit more resistance against edge conditions.
-[Fix]Limits changed to [4 kilobytes - 8 megabytes].
-[Fix]When 'assembling', the results were appended to the output, instead of
-[Remove]"Search for var usage". Redundant.

-[Fix]Offset + 1, not offset...
-[Fix]Printing actual names instead of default names for labels...

-[Fix]Printing ASM used default labels instead of actual labels.

-[Fix]Search For Calls causing an exception.

r12 (2011/09/27)
-[Add/Change]All regular labels will have autogenerated names if none are
specified (Ex: 345 -> "F_000345"). As a result, all unnamed labels will get
names when you load them, or generate them.
-[Add]More options :p
-[Change]The way data sections and variables are displayed in the boxes to the
-[Fix]Some spelling mistakes.
-[Fix]Misplaced newline.
-[Fix]Function list at the side wasn't being sorted.
-[Fix]Put ASM printing on a different thread.
-[Fix]Code cleanup.
-[Fix]Changed some things to free up resources.
-[Fix]Size was being printed as decimal instead of hex...
-[Fix]After changing a label, if a mistake was made, the window closed instead
of remaining open.
-[Fix]Data sections being loaded ignored the palette options. Not anymore.
-[Fix]When variables were being printed out in the ASM file, they didn't have
the prefix to indicate they were hex.
-[Fix]Default palette for 'image' sections.
-[Remove]Save Window Contents. You can just copy the stuff out of it, or
print ASM to file directly...
-[Remove]For now, I'm disabling the IPS save option to work on it some more.

r11 (2011/08/04)
-[Add]You now have the option of specifying data as an image. The palettes
provided are only provided as a visual aid, and are not saved in the file
-[Add]Multiline comments, as part of the new format. Check readme for details.
-[Add]Now, you can use the Delete key to remove stuff. Yay.
-[Add]For inserting ASM, you can use db and dw to insert bytes (8-bit) and 
words (16-bit, little endian) at specific places.
-[Change]New data format for the label/data/var list. You can still open stuff
in the older format, and whenever you save, they will save in the new format.
Details are in the readme.
-[Change]In the assembling, variables can be used when referring to memory 
-[Fix]Options are saved in 'options.dat'.
-[Fix]Improved the option that searches for calls made.
-[Fix]List loading, and ASM assembling should be a little faster now.
-[Fix]Instructions that start with the 0xCB opcode should print the correct
-[Fix]Changed all '---' instructions to 'db $XX'.
-[Fix]All label positions inside inserted ASM are worked out before
instructions are assembled.
-[Fix]A crash when using a label that has already been defined in the main
function list.
-[Fix]CB instructions had been printing the wrong bytes for most of the

r10 (2011/07/06)
-[Fix] Some more instructions I missed. Went through the whole list, the
following ones were mistyped originally:
ldd [hl],a and ldd a,[hl]
as well as numbers written wrongly. Sorry for those affected by these
instructions which were written differently.
-[Add] Added some assembling capability based a little off xASM. Can insert
data at specific parts of the file, from hand-typed code, or from an external
binary file.
-[Add] Added ability to save changes to the file, whether by saving a whole
file, or an IPS patch.
-[Change] Moved around some options to increase visibility.

r9 (2011/5/4)
-[Change]Made GB/GBC files a single option instead of 2. Hmm, should have done 
this before.
-[Change]Resizable window...
-[Change]Commas should be alright with comments now.
-[Fix]Functions didn't rename properly.
-[Fix]Vars weren't being shown by name in certain situations.
-[Fix]Edge condition in a certain function inside the program.
-[Fix]I only considered ret, and forgot about reti...

r8 (2011/2/11)
-[Add]Variables (of the sort used in ld ($xxxx),a) can now be defined, and
searched for.
-[Fix]Removal of some redundant code.
-[Fix]Fixed the code for instruction "ldhl sp,"
-[Change]: A bit of a change to the code used to find calls, to help find more 
calls and eliminate some bad functions.
-[Fix]Whoops, spelling error made a function act up in a certain situation.

r7 (2010/11/21) 
-[Add]Added ability to search for bank changes in functions.
-[Fix]Fixed bug where function list is not closed after reading it for the first

r6: ????
Lost forever

r5: 2010/10/10
-[Fix]Made the header info less ambiguous.
-[Add]You can specify which bank you want to change to, instead of always
assuming "1" is loaded. This still needs mbc-specific work, though.
-[Change]By default, ASM-style instructs will be printed. The option to append
extended instructions as comments is in the Options menu.

r4: 2010/10/7
-[Fix]Various ambiguous areas in the code
-[Add]Export Data Sections to .bin File (On the Right Click Menu)
-[Change] The way instructions are displayed. Now, ASM instructions are
default, and extended instructions are added on as comments at the end
of the line.

r3: 2010/10/4
-[Fix]Some logic concerning data length and division
-[Fix]Added more catches for faulty data.
-[Add]Data labels (labels for sections of binary data)
-[Add]A few extra options in the options menu
-[Change]The format of the Function List:
label,xxxxxxxx,name       <--For code labels
data,xxxxxxxx,name,length <--For data labels

r2: 2010/10/3
-[Fix]accidentally reversed byte order on some asm calls.
-[Add]Function labels

r1: 2010/10/01
Initial Release