1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-09-27 03:54:31 +00:00

Update for v1.5.0

Andy McFadden 2020-01-27 16:22:59 -08:00
parent af0807493d
commit 603cf3c926

@ -29,10 +29,6 @@ Contents:
## Tier 1 ##
* Expand set of symbol definitions. Need C64, Atari, others; what's there
now is very Apple II-specific, because that's what I know. (Frankly,
the Apple II definitions could use a little work too.)
* Improve generated output
* Aggregation of adjacent elements. ".dd1 $00 / .dd1 $01" can be
output as ".dd1 $00,$01".
@ -68,14 +64,11 @@ Contents:
dense-hex items are shown. Can be toggled with a keyboard shortcut.
* Labeling improvements.
* Support non-unique local address labels. The label localizer can generate these,
but we want to be able to enter them into the code list directly.
One possibility is to allow specific names, like "loop" or "loop[0-9]"
to be entered even when they're not unique. The assembler would
decide what to do with them -- uniquify or localize.
* Auto-detection of loop labels. Rename auto labels from "L1234" to
"]LOOP" if the only references to it are short backward conditional
branches. Should be fast enough to do in the on-screen list.
* Support for "anonymous" labels, like "3b" or "--". Assemblers vary
widely in what they support, so this may be hard to define.
* Add "file format recognizers".
Simplest form looks at filename and bits of files, and sets default
@ -93,8 +86,7 @@ Contents:
is outside the ASCII range. Could be global, could be custom.
* Extension script enhancements.
* Scripted viewers: runtime scripts that format data is text or
graphics when requested by the main app. Useful for viewing sprites,
* Add 2D line vector and 3D mesh visualizers. Useful for 3D games,
Atari DVG, etc.
* Define file access primitives so scripts have limited access to files
outside the sandbox. Only useful if something needs data beyond
@ -202,9 +194,6 @@ Contents:
* Better integration of Help, e.g. help buttons on editor dialogs. (I
started out doing this, but stopped because things get weird when you
try to shell-open a web page with an anchor string under Windows.)
* Move the view to the last change when undo or redo is hit. Alternatively,
have a key that jumps to the location of the last thing you changed.
(See https://github.com/fadden/6502bench/issues/25 for discussion.)
* IntelliSense-style completion for symbols and constants. Might be best
with more detailed annotation of constants.
(See https://github.com/fadden/6502bench/issues/28)
@ -237,8 +226,8 @@ Contents:
* Code generation improvements.
* 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. This situation could be detected automatically,
and appropriate "re-org" directives issued.
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.
* 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.
@ -279,10 +268,6 @@ Contents:
* Use a non-JSON format for project files. A custom format would be more
compact, easier to hand-edit, and yield better diffs.
* User-specifiable formatting for bitmaps and other chunks of data that
are a multiple of N bytes (essentially just a byte-per-line setting for
the "dense hex" format).
## Tier 3 ##
* Support Apple IIgs OMF.
@ -386,15 +371,12 @@ Contents:
for an arbitrary selection. (A keyboard shortcut that rotates through
the various numeric forms might be sufficient.)
* Some sort of "disassembly progress" indicator in the status bar. Maybe an
indication of code%, data%, inline-data%, uncategorized data%.
* Provide a way to define generated data. This is mostly useful when the
target assembler supports the concept, e.g. Merlin's LUP directive. This
might be too assembler-specific, although it's okay if the code list shows
an expression and the assembled output has a dense-hex dump.
* Add a revision number to a platform symbol files, which are copied into
* Add a revision number to platform symbol files, which are copied into
the project file. That way the user can know if they're using the
correct version of RuntimeData symbol files. (Not convinced a single
version number is the answer here.)