1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-05-31 22:41:37 +00:00
Commit Graph

876 Commits

Author SHA1 Message Date
Andy McFadden
f46d8f4920 Merge branch 'master' of https://github.com/fadden/6502bench 2023-02-14 14:04:52 -08:00
Andy McFadden
d22d35c4df Version 1.8.5-dev1 2023-02-14 14:04:30 -08:00
Andy McFadden
31d4bf8bfa Fix transparency in C64 visualizer
GIF only allows for one transparent palette entry.

(issue #145)
2023-02-14 14:03:38 -08:00
Andy McFadden
3ffca60066
Update README.md 2023-01-30 16:20:50 -08:00
Andy McFadden
edc92cf5d6 Version 1.8.4 2023-01-09 09:14:28 -08:00
Andy McFadden
a83b0e73da Version 1.8.4-dev2 2023-01-05 08:57:51 -08:00
Andy McFadden
7adec9f725 Increase JSON size limit for project files
The JavaScriptSerializer class throws an exception if the JSON data
exceeds a certain size.  The default limit is 2MB, which is relatively
easy to hit because of the verbosity of the serialized data.

Super Mario Bros needs about 1MB of JSON for a binary with 32KB + gfx.
Using that as a guide, we need 32x the source file size for a
thoroughly-documented project.  We currently limit the max binary size
to 1MB for practical reasons, so a cap of 32MB should cover us.

This change raises the limit to 64MB, with a slightly higher limit on
the deserialization side because we add newlines for readability.

This is more of a workaround than a fix, but it should do for now.

(issue #137)
2023-01-05 08:45:26 -08:00
Andy McFadden
58d794f535 Increase C64 font char count limit to 512 2023-01-04 10:09:28 -08:00
Andy McFadden
4f64a936ed Add URL to NOTICE file 2022-12-31 16:04:54 -08:00
Andy McFadden
426db27b5a Version 1.8.4-dev1 2022-07-31 09:44:35 -07:00
Andy McFadden
5d7503686c Minor regression test fix 2022-07-31 09:41:37 -07:00
Andy McFadden
c1a8ce519e
Merge pull request #133 from absindx/symbol-snes-coprocessor
Added SNES coprocessor symbol file
2022-07-09 11:04:24 -07:00
absindx
0e2d190d28 Add SNES coprocessor symbol file 2022-07-10 01:56:44 +09:00
absindx
f3d255c1a9 Fix SNES symbol file
Added an address mask to support mirroring of I/O registers.
Changed to specify the access direction of address.
Fixed a definition with different addresses but duplicate label names.
(`OAMDATA`, `VMDATAL`, `VMDATAH`, `CGDATA`)
2022-07-10 01:37:28 +09:00
Andy McFadden
dcab984f3b Fix formatting 2022-05-23 15:45:25 -07:00
Andy McFadden
072c66bc8c
Update README.md 2022-05-22 13:13:42 -07:00
Andy McFadden
80ffd5f534
Update README.md 2022-05-22 12:59:04 -07:00
Andy McFadden
4c60f329c7 Tweak SourceNotes 2022-05-22 12:48:41 -07:00
Andy McFadden
ce1a6d0109 Version 1.8.3 2022-05-18 08:23:32 -07:00
Andy McFadden
b8314b7f30 Version 1.8.3-dev3 2022-05-01 11:10:37 -07:00
Andy McFadden
8b1e70fa58 Expand C64 sprite visualizer
Added fonts and sprite sheets.  Updated documentation.
2022-05-01 11:09:41 -07:00
Andy McFadden
663a3d0230 Version 1.8.3-dev2 2022-05-01 09:03:46 -07:00
Andy McFadden
0878854759 Fix crash in font picker
It's possible to have multiple fonts with the same font family.
Don't use the list add method that throws an exception when it
finds a duplicate key.
2022-04-29 09:00:01 -07:00
Andy McFadden
6e52f9986c Version 1.8.3-dev1 2022-04-06 14:24:53 -07:00
Andy McFadden
d9fe0b5471 Fix crash in OMF converter tool
The OMF converter calls some of the project update routines at a
point where the data file hasn't been fully formed, making it a bit
fragile.
2022-04-06 14:20:11 -07:00
Andy McFadden
0ad30521ec Version 1.8.2 2022-03-07 14:57:28 -08:00
Andy McFadden
42fe037b55 Update copyright date in "about" 2022-03-02 09:37:18 -08:00
Andy McFadden
13dca8b78c More tweaks to def sym editing
If you edit an existing symbol, the "is the label unique" test will
always false-positive match itself, so we have to explicitly handle
that case.  Dialogs like Edit Instruction Operand make things a bit
more complicated because they don't flush results to the symbol
table immediately, which means the symbol we pass into the Edit Def
Symbol dialog to edit isn't necessarily the one we need to exclude
from the label uniqueness test.

The dialog was using the initial value as both "original" and
"initial", which caused some issues.  We now pass both values in.

Also, removed some dead code identified by VS.
2022-03-02 08:13:46 -08:00
Andy McFadden
1e8205159e Version 1.8.2-dev1 2022-02-28 15:12:50 -08:00
Andy McFadden
ca3b6a9adb Fix crash when editing project symbol
The recent tweaks to improve operand editing broke a common case
when creating a project symbol.

Also, tweaked the operand edit case a little more, for the case where
the operand's symbol was entered manually.
2022-02-28 15:03:09 -08:00
Andy McFadden
ef6173fba6 Migrate to Visual Studio Community 2022
Minor change to solution.  Removed CodeLab project stub, which was
still targeting .NET Framework 4.6.1.

The other projects with WPF code target 4.6.2, and I haven't updated
them to 4.8 out of a fear that it might make 6502bench harder to
install on older systems.  The down side is that it requires an
extra "dev pack" download to build the source code.  4.8 is the end
of the line for .NET Framework, so at some point we should make that
the official target.
2022-02-27 10:42:43 -08:00
Andy McFadden
16cbe5b108 Version 1.8.1 2022-01-22 20:43:00 -08:00
Andy McFadden
740eeff843 Fix display of non-addressable symbols in HTML export
If a symbol is marked as "exported", it is added to the symbol table
generated at the end of the HTML output.  If the symbol identifies a
non-addressable location, we need to show that.

Also, added a header row.
2022-01-12 15:44:29 -08:00
Andy McFadden
55c80fb642 Improve double-click handling in symbols window
Double-clicking on an entry in the symbols window is supposed to take
you to the place where that symbol is defined.  This worked for code
labels but not for project/platform symbols.  We now jump to the
appropriate EQU statement, if one exists.
2022-01-12 15:28:59 -08:00
Andy McFadden
60b024d24e Improve instruction operand edit edge case
The instruction operand editor has a shortcut button for editing a
project symbol.  Attempting to change the comment field twice
without closing the operand editor in between would result in a
complaint about duplicate symbol names.
2022-01-12 14:17:28 -08:00
Andy McFadden
50a954cf4d Change default for "comma-separated bulk data"
The setting determines whether bulk data is displayed as an unbroken
string of hex digits, or as "$xx,$xx,...".  The latter is easier to
read and should be the default.

One place in the code did consider it to be the default, so if the
config file didn't have a value for the setting, the settings UI would
incorrectly show it as enabled.
2022-01-12 13:33:45 -08:00
Andy McFadden
75ccffe393 Update visualization bitmap API
The existing API was better suited to direct color than indexed
color.  The NES visualizer was using a slightly silly hack to avoid
duplicate colors; this has been removed.
2022-01-12 11:48:20 -08:00
Andy McFadden
92f304a030 Minor fixes
Escape '_' in filenames for the recents menu.

Fix status flag update for ROL.
2021-12-23 11:29:29 -08:00
Andy McFadden
27b47b9783 Version 1.8.1-dev1 2021-12-02 11:22:00 -08:00
Andy McFadden
865a5e58f7 Highlight local variable uses
When a single line is selected in a local variable table, highlight
the operands of every instruction that references that variable.
2021-11-25 13:53:25 -08:00
Andy McFadden
b942c24ef2 Tweak web site 2021-11-21 11:23:24 -08:00
Andy McFadden
4ac8d32b7c
Update README.md 2021-11-21 11:22:08 -08:00
Andy McFadden
2513a017c5 Add 6502disassembly.com to the README 2021-11-21 11:20:07 -08:00
Andy McFadden
cf4086ae26 Add GetPixelIndex() to VisBitmap8 2021-11-17 21:37:41 -08:00
Andy McFadden
5a400ab738 Change highlight region
The ListView style was using "Stretch" for TextBoxes in the code list,
which caused the background of the entire address / label / operand
field to be drawn in the highlight color, rather than just the area
covered by the text.  This is fine for address and label, but it just
felt weird for the operand field because that tends to be very wide
(to accommodate strings, bulk hex data, etc).

There doesn't seem to be a way to specify HorizontalContentAlignment
per-column in WPF.  (Note this is different from HorizontalAlignment,
which *is* is a per-column property.)

This changes the style to use HorizontalContentAlignment=Left, so
the highlight just covers the text.  The only time this causes a
functional change is when you highlight an operand for a line that
doesn't have a label, because instead of highlighting an empty
rectangle you now see nothing at all.  (The address field is still
highlighted though.)
2021-11-17 11:40:36 -08:00
Andy McFadden
33aa0ff004 Add operand highlighting
When a code or data line is selected in the code list, if the operand
is an address inside the file, we highlight the address and label.
It's also useful to highlight the other way: when a code or data line
is selected, find all lines whose operands reference it, and highlight
the operand field.

This is a little trickier because there can be multiple references,
but all of the information we need is in the cross-reference table.
2021-11-17 11:18:23 -08:00
Andy McFadden
8c5509d69d Update "digging deeper" tutorial
The tutorial was creating a new address region at +000002 without
removing the previous one, which leaves the 16-bit file load address
sitting at $1000 when it should be non-addressable.  The text now
shows the correct procedure.  Some screen shots had to be recaptured
to show the greyed-out address field.

This doesn't change anything meaningful about the disassembly -- the
PRG optimization hides the region start/end markers either way -- but
it's more correct this way, and it's an opportunity to introduce
the use of non-addressable regions for file headers.
2021-11-14 11:20:48 -08:00
Andy McFadden
399d799ce8 Version 1.8.0 2021-11-14 09:24:40 -08:00
Andy McFadden
399a54efa7 Fix bit rot in sample
Also, use the "uninitialized data" feature in the amper-fdraw
project.
2021-11-14 09:21:15 -08:00
Andy McFadden
4537f24958 Rework tutorial for changes in v1.8
Biggest changes were to the address region handling in Tutorial1
and the use of StdInline.cs for the inline strings in Tutorial4.

Also, fixed the off-by-one error in Tutorial1.
2021-11-14 09:02:53 -08:00