From ec1b0a7b47bcbb59f117ebee577d46752d5bf028 Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Sat, 16 Oct 2021 15:10:47 -0700 Subject: [PATCH] Update for v1.8.0-dev2 --- TO-DO-List.md | 50 ++++++++++++++++---------------------------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/TO-DO-List.md b/TO-DO-List.md index 47c2b8c..ba4c13d 100644 --- a/TO-DO-List.md +++ b/TO-DO-List.md @@ -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.