Commit Graph

901 Commits

Author SHA1 Message Date
absindx 64c7ce28f9 Fixes that reflect feedback.
* Remove excess MULTI_MASK
* Delete placeholder message
2021-07-29 23:46:05 +09:00
absindx 363c2eef76 Added SNES symbol 2021-07-29 22:51:41 +09:00
Andy McFadden eeac6db441 Update 8x8 font used by visualizers
Added 'G' through 'Z'.  Rounded 'D' a bit.
2021-07-27 14:22:34 -07:00
Andy McFadden 594c22a6fd Merge branch 'master' of https://github.com/fadden/6502bench 2021-07-20 13:20:52 -07:00
Andy McFadden 8487508740 Version 1.7.5-dev2 2021-07-20 13:20:32 -07:00
Andy McFadden 03a0fc13fd Expand max local variable width to 257
Code generated by one of the C compilers sets up the stack frame and
then maps the direct page on top of it.  If the value at the top of
the stack is 16 bits, it will be referenced via address $ff.  The
local variable editor was regarding this as illegal, because lvars are
currently only defined for direct page data, and the value doesn't
entirely fit there (unless you're doing an indirect JMP on an NMOS
6502, in which case it wraps around to $00... but let's ignore that).

The actual max width of a local variable is 257 because of the
possibility of a 16-bit access at $ff.

Older versions of SourceGen don't seem to have an issue when they
encounter this situation, as worrying about (start+width) is really
just an editor affectation.  The access itself is still a direct-page
operation.  You won't be able to edit the entry without reducing the
length, but otherwise everything works.  I don't think there's a need
to bump the file version.
2021-07-20 13:08:19 -07:00
Andy McFadden bc7a225080 Expand 20152-local-variables test
Added a compiled C implementation of strlen().  The most interesting
part about this is that it references a 16-bit value via direct-page
address $ff, which means you'd want a local variable with
address=$ff and width=2.  The current UI prevents this.
2021-07-20 11:28:26 -07:00
Andy McFadden 909bdb1fa4 Tweak web page include structure
Renamed from "*-incl.html" to "incl-*.html" so they sort together.

Moved <div> for all but incl-head inside include file.

Overall this shouldn't do anything but move the magic comments around
inside the HTML files.
2021-07-10 18:48:42 -07:00
Andy McFadden e42bb2d262 Version 1.7.5-dev1 2021-07-04 09:40:47 -07:00
Andy McFadden 05833b12b1
Merge pull request #95 from club-europe-oric/master
Adding Oric system
2021-07-03 14:47:18 -07:00
Didier fc1b328fb4
Merge branch 'fadden:master' into master 2021-07-03 23:00:26 +02:00
dma-coco-pc ee25373a43 Modifying errors after feedback
Compiling errors corrected
2021-07-03 22:57:33 +02:00
Andy McFadden 1472609d15 Improve label validation for platform symbol files
We were using a very simple regex pattern for the label part, and
not performing additional validation checks later.  This allowed
a symbol that started with a number (e.g. "4ALL") to get much farther
than it should have.

This change modifies the regex pattern to match only valid label
syntax.
2021-07-03 12:32:02 -07:00
dma-coco-pc 4ae22e1752 Adding Oric system
SystemDefs modified, and Oric system files added
2021-07-03 08:02:55 +02:00
Andy McFadden 210723221d Merge branch 'master' of https://github.com/fadden/6502bench 2021-06-28 13:42:38 -07:00
Andy McFadden bc4326c5a4 Add ${ROOT} substitution
Doesn't really affect the pages on the web, but it's easier to
preview them in the filesystem when linked to "../main.css" rather
than "/main.css".

The common portion of the <head> section is now in a separate
"include" file.

Added some indentation to masthead/topnav/sidenav so it looks nicer
in the merged source listing.
2021-06-28 13:39:41 -07:00
Andy McFadden 7fc323cdef Don't strip topnav on narrow devices
The idea is to remove everything but the "HOME" link from the topnav
bar on very narrow devices, so that it doesn't look cramped.  Right
now we don't have a ton of stuff in topnav, and losing the tutorial
link is annoying.

If we want to restore this feature, we should also add a link to the
tutorial in the body of the page.
2021-06-23 13:32:04 -07:00
Andy McFadden 78eafa6100 Improve OMF feature docs 2021-06-15 08:57:00 -07:00
Andy McFadden f451296c5b Fix sidenav highlighting
Some of these files are only having their end-of-line character
changed.
2021-06-11 15:17:05 -07:00
Andy McFadden 27624668db Merge branch 'master' of https://github.com/fadden/6502bench 2021-06-08 14:21:05 -07:00
Andy McFadden 7c5a0dfdb8 Fix web site menu button
A bit of Javascript was used to remove the hamburger icon when a
page doesn't have a #sidenav.  This worked when sidenav-incl was
being loaded with jQuery load(), because that mechanism works
asynchronously, and #sidenav was part of the DOM before it ran.
Once we started merging HTML fragments directly into the pages, the
script got called before #sidenav was defined, so the icon was
always being removed.

One solution would be to move the script to footer-incl.html, to
follow the preferred practice of placing scripts at the bottom of
the <body>.  The better solution was to move the "no-sidenav" class
from #main to <body>, so that all components can see it.  This lets
us use CSS rules to hide the icon.
2021-06-08 14:15:39 -07:00
Andy McFadden ab8853219b Version 1.7.4 2021-06-08 13:15:19 -07:00
Andy McFadden 8df81296cb Merge branch 'master' of https://github.com/fadden/6502bench 2021-06-08 13:14:24 -07:00
Andy McFadden fd74f1f16a Update README 2021-06-08 13:14:14 -07:00
Andy McFadden 537668883c Do text substitution on main page 2021-06-07 18:01:29 -07:00
Andy McFadden c351fa969d Update docs to point to new tutorial
Replaced the link at the top of the manual.  Remove reference to
old tutorial doc.  Added an obsolescence notice to the top of the
old tutorial.  Updated tutorial message and link in README.

Also, fixed sidenav style.
2021-06-07 17:55:51 -07:00
Andy McFadden a4ba60aafc Fix sidenav some more 2021-06-07 17:29:42 -07:00
Andy McFadden 31355b4ea8 Fix HTML validation errors
Correct old-style image border declaration in main page.  Fix
nesting of <ul> in sidenav.
2021-06-07 17:26:39 -07:00
Andy McFadden a37143e9fc Execute scripts
This change applies the substitution scripts on the HTML files,
replacing away the jQuery load() calls with the actual file contents,
and setting the correct URLs to the prev/next buttons.
2021-06-07 17:14:16 -07:00
Andy McFadden 154cff3347 Add prev/next button script
This isn't currently needed anywhere else, so the list of filenames
is just hard-coded into the script.  Instead of making substitutions
in the source data, this just generates the full data.
2021-06-07 17:08:14 -07:00
Andy McFadden 403bcf8518 First cut at HTML block substitution script
Fairly straightfoward in Python.

Also, fixed the sidenav references, which should be using the file
in the sgtutorial subdirectory.

Also, tweaked index.html a bit.
2021-06-07 16:58:27 -07:00
Andy McFadden 287ce3c065 First draft of updated web site
Added a SourceGen tutorial with lots of screen shots.  Uses
"responsive web design" so it works well on mobile devices.

This version is using jQuery load() calls to pull in pieces, but
that causes a lot of blink when loading because the loads are
asynchronous and may not complete until after the initial page
render has finished.

Tutorial prev/next links not yet working.
2021-06-06 14:07:36 -07:00
Andy McFadden 7e8aa1d8dd Add a README 2021-06-05 11:12:41 -07:00
Andy McFadden 84f63845b0 Move web site from gh-pages to master branch 2021-06-05 11:08:36 -07:00
Andy McFadden 735e044158 Create CNAME 2021-06-05 11:07:14 -07:00
Andy McFadden 6ef43a3b1a Fix format/typo errors in tutorial 2021-06-04 18:43:36 -07:00
Andy McFadden 5fb1fb3240 Set owner of status flags edit window
The XAML code specified it to be placed centered on the owner's window,
but we weren't actually setting the owner.
2021-06-03 17:16:07 -07:00
Andy McFadden 011181d848 Work around minor column width update issue
If you changed the width of a column, and then clicked the "toggle
display of cycle counts" button in the toolbar, the column width
would revert.  The problem appears unique to that toolbar button,
so for now the fix is localized there.  The more general fix is to
ensure that column width changes don't get stomped, but that's a
larger change.
2021-06-03 15:03:22 -07:00
Andy McFadden 6db18cc1df Change bookmark link element
Use <span> instead of <a> when defining target.
2021-05-23 15:28:30 -07:00
Andy McFadden 3bda6df786 Update HTML export to use HTML 5
There's no need to use XHTML Transitional.  The only change outside
the template was to use "id" for anchors instead of "name", as the
latter is deprecated.
2021-05-23 11:27:42 -07:00
Andy McFadden 33ccdd91eb Fix lastOffset calculations in Apple II hi-res visualizer
The calculations were wrong for certain situations, generating
answers that were useless or that caused a false-positive overflow
error.

This adds a couple of simple regression tests, modeled after layout
of the Lode Runner sprite sheet (which worked fine before) and the
Empire II EWS3 font (which failed).

This also bumps up some of the arbitrary limits in the visualizer.

(issue #94)
2021-05-17 17:28:13 -07:00
Andy McFadden b415424368 Merge branch 'master' of https://github.com/fadden/6502bench 2020-11-03 13:24:55 -08:00
Andy McFadden d3e00b2342 Add Apple IIgs I/O locations in bank $E1
The $Cxxx I/O locations are mapped into banks $E0/E1, and are usually
configured to appear in banks $00/01 as well.  Direct access to
locations in banks $E0/E1 is common in 16-bit code, but we only had
definitions for $E0.

This adds a clone of definitions for $E1, and renames the symbols
to be _E0/_E1 instead of _GS.

This can also be solved with MULTI_MASK, but that will always use
$E0 as the base address, so references to $E1/Cxxx will have a large
adjustment added ("+$10000"), which is kind of ugly.

Note we still don't have definitions for $01/Cxxx.  I'll add those
if I run into them in 16-bit code.  (That might be a reasonable use
of MULTI_MASK; feels less ugly somehow.)
2020-11-03 11:54:25 -08:00
Andy McFadden 9321f15052 Minor fix for 24-bit MULTI_MASK
The test for max allowed value was assuming 16-bit addresses.

We had no tests for 24-bit values, so this adds a 65816-specific
version of 20170-external-symbols.
2020-11-03 11:47:53 -08:00
Andy McFadden d066b0160d
Update README.md 2020-10-24 08:26:55 -07:00
Andy McFadden 3ddf9d11c4 Version 1.7.3 2020-10-23 10:57:13 -07:00
Andy McFadden 67c713ea7d Change some words
Replace "hint" in a few more places.  Mention W65C02 in main README.
State that new PRG feature is only enabled for 64tass.
2020-10-23 10:50:36 -07:00
Andy McFadden 345dff7765 Clone 20152-local-variables
Generate a 6502 test from the 65816 version by substituting the
16-bit instructions with 8-bit no-ops.  There's a lot of project
edits and weird stuff in the test, so this was much easier than
starting over.

The 65816 variant is largely unchanged, though it could now be
stripped down to the stack-offset instructions.
2020-10-19 17:14:56 -07:00
Andy McFadden 84e3dd3df2 Add 20100-label-dp test
The 20102-label-dp test is "allops-common-65816" with direct-page
labels.  20100-label-dp is the same thing, but with the 6502 version
instead.
2020-10-19 16:02:28 -07:00
Andy McFadden b7d3e3cfdf Refactor 2006x-target-adjustment
Split into 6502/65816 portions.  The 6502 version is the original
with a few in-place substitutions (e.g. JMP for BRL).  The 65816
version is only needed to exercise special handling of PEA/PER.
2020-10-19 15:46:05 -07:00