1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-06-12 23:29:32 +00:00

Update for v1.8.0-dev2

Andy McFadden 2021-10-16 15:10:47 -07:00
parent b242acf942
commit ec1b0a7b47

@ -84,10 +84,11 @@ Contents:
Only applies to on-screen display, though we could add it to comment
field in generated asm code.
* Add signed decimal as a format, so we can `LDY #-1` instead of `LDY #$ff`.
* Allow greater flexibility on long-comment placement (e.g. let it appear
after an instruction instead of always coming before it). Allow more
than one long comment per offset. Allow blank lines in long comments to
appear without a leading ';' (i.e. let blank lines be blank lines).
* Allow greater flexibility in long comments. (See issue #111 for ideas
on making it look like you can have multiple comments per offset, insert
blank lines between statements, etc.)
* Make the box character for long comments configurable. Provide a
way to generate a row of asterisks (or whatever) in a non-boxed comment.
* In-place editing of data items in the GUI, so you can edit a label
without having a dialog pop up. This would be hard to make work for
anything but labels and comments.
@ -95,7 +96,7 @@ Contents:
can be viewed in adjacent windows.
* Add a command that changes all default-format AND/OR/EOR operands to binary.
* Need a way to display control chars in operand that shows the letter,
e.g. "#Ctrl+R" vs. "#$92"
e.g. "#Ctrl+R" or "#^R" vs. "#$92"
* Figure out why renaming a label is blowing out DisplayList virtualization
(WPF-specific).
* Replace WPF ListView with custom control. Some advantages:
@ -104,9 +105,6 @@ Contents:
* Avoid CodeListItemStyle shenanigans.
* No weird item generator event focus stuff.
* "Find top line" doesn't need flaky ScrollIntoView().
* Allow multiple notes and long comments per offset, e.g. one above and
one below.
* Provide a way to insert blank lines.
* Provide a way to identify modified vs. unmodified operands at a glance,
e.g. by showing them in different colors.
* Add RTS-style numbered bookmarks (e.g. Shift+5 to set position, Ctrl+5
@ -133,8 +131,7 @@ Contents:
### Info Window ###
* Show the original load address for relocated code. Helpful when
trying to develop patches.
* (nothing?)
### Actions and Editors ###
@ -147,14 +144,14 @@ Contents:
* Streamline instruction operand editor: don't open a separate dialog
to edit a line label. Maybe just show the operand target line and
invite them to update the label in place?
* Enable "define project symbol" for constants.
* Intellisense-style auto-complete of symbol names.
* Improve the "find" feature. Case-sensitivity, regex, incremental
searching, "you have wrapped" dialog disable. Normalize string
delimiters so searching for "'A'" finds 'A', "A", A, etc.
Should be a floating window.
* Add a Visual Studio-style "find all" that displays the results in
a double-clickable table.
* Enable "define project symbol" for constants.
* Intellisense-style auto-complete of symbol names.
* Proper handling of MVN/MVP double-operand editing. (We can tuck a
format descriptor for the second operand inside, attaching it to the
offset of the first operand byte.)
@ -183,8 +180,6 @@ Contents:
* When a local variable table item is double-clicked on, open the editor
with that item selected and focused.
* Add a multi-line "reset operand format to default". Works for code
and data, ignores notes and comments.
* Support expressions.
* Start with simple expressions, such as ORing of multiple constants
or defining an offset as the difference between two symbols.
@ -210,8 +205,6 @@ Contents:
* Add internal "see also" links in comments and notes.
* Create tooltips for data operand editor items, especially when they're
disabled ("you don't have an even number of items selected").
* Make the box character for long comments configurable. Provide a
way to generate a row of asterisks (or whatever) in a non-boxed comment.
* "Navigate to last change" jumps to offset 0 for things like project
property changes that don't have an offset. Should probably jump
to the previous change instead.
@ -265,9 +258,9 @@ Contents:
### Code Analysis ###
* Finish W65C02 support (currently ignores the ZP arg for BBR/BBS).
* Add support for the HuC6280 CPU, used in the TurboGrafx-16.
(See https://github.com/fadden/6502bench/issues/106 )
* Finish W65C02 support (currently ignores the ZP arg for BBR/BBS).
* Try to improve "smart PLP".
* Incremental code analysis. Changes that potentially affect the code flow
require the code analysis pass to be repeated. For a large 65816 project
@ -302,16 +295,6 @@ Contents:
operand, assume that it's part of self-modifying code, and disable
the related clever heuristics (e.g. ORA #$80 sets the N flag and
clears the Z flag).
* Some programs have short segments that are meant to be relocated, so you
want to .ORG to the new address, and then a little while later .ORG back
to the main code flow. We currently do this with two .ORGs, but it would
be better to do it with a "restore previous" assembler operation (where
available).
* There's often code that copies the relocated area, so we need labels
for the original address and the destination address. This is awkward
because both labels are associated with the same file offset. We could
create an automatic project symbol for the "before" address, since that
becomes an external address after the .ORG is added.
* Allow different pseudo-ops for constants and addresses. Some assemblers
support this, e.g. cc65 has "=" for constants and ":=" for labels. If
nothing else it makes the equate list easier to comprehend.
@ -324,7 +307,8 @@ Contents:
recognize 6502 code. The computer should be able to manage it with a
reasonable degree of success. The result would need to be displayed in a
way that is useful rather than distracting.
* Propagate status flags back from RTS during code analysis. Rarely useful.
* Propagate status flags back from RTS during code analysis. Rarely useful,
and can be hard to identify call sites in certain situations.
* Recognize and disassemble SWEET-16 code.
* Support disassembly of relocatable object files (Merlin REL, CC65 .o).
* Auto-detection of compiled code. For certain popular compilers we
@ -358,11 +342,8 @@ Contents:
### Cross-Assembler Source Code ###
* Aggregation of adjacent elements. ".dd1 $00 / .dd1 $01" can be
output as ".dd1 $00,$01".
* Handle address map edges better. If I copy code from $1020-1050
to $2000, then the code at $1000 that references $1020 should get
a "before" label of some sort. (It currently gets a hex addr because
it's not contained by the file.)
output as ".dd1 $00,$01". This is really just for assembler output; on screen
you want them to be independently addressable.
* Improve output of equates at the top of the file.
* Group .EQ items by tag, so similar constants get grouped together.
Maybe insert a full-line comment above a group? Can also group
@ -416,7 +397,8 @@ Contents:
* Add an alternate HTML anchor that sits on the first line associated
with an offset, rather than on the label itself. That way URLs
can jump to the comment above the code rather than the code.
* Show modified status flags in color in HTML.
* Show modified status flags in color in HTML. (Low priority since we don't
normally show the status flag column in HTML.)
* Add URL linkification for comments.
* Change AnimatedGifEncoder to use a global color table when possible.