Skip to content

improve rp6502_xram and add CI - #19

Merged
rumbledethumps merged 8 commits into
mainfrom
citest
Sep 22, 2026
Merged

rumbledethumps merged 8 commits into
mainfrom
citest

Conversation

@rumbledethumps

Copy link
Copy Markdown
Contributor

No description provided.

rumbledethumps and others added 8 commits September 21, 2026 18:49
Every commit to main builds the examples with cc65 from the official
repository and publishes rp6502-<commit>-examples.zip, holding one ROM
per example and a README saying what they are.

The generated programs rp6502_xram() leaves in the build tree are named
for the function now. One of them was a plain stub.rp6502, which reads
like a ROM anyone would ship.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
They sit in CMakeFiles/<header>.xram, which already says whose they are,
so xram_stub.c reads better than rp6502_xram_stub.c. The extern in the
check program and the custom target keep the longer prefix, because both
of those names are shared with code and targets we do not own.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The archive was built from outside the staging directory, so everything
landed one folder down. GitHub zips an artifact on the way out as well,
so uploading the zip gave a zip holding a zip; the artifact is now the
directory.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The declaration shares a translation unit with the layout header, and a
leading underscore at file scope is the one namespace a name there cannot
take from the header. rp6502_ stays on the CMake target, where the names
are ours and global.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub appends .zip when an artifact is downloaded, so the name it lists
can never carry the extension without doubling it. The release asset is
the one that ships and it is named for what it is, so the artifact was
only a second thing with almost the same name.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A pull request publishes nothing, so the artifact is the only way to open
what it built. It is named for the run rather than the commit, because a
pull request's HEAD is a merge commit nobody can look up, and because two
downloads called rp6502-<something>-examples.zip should not be the same
name for a release and a trial build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub serves an artifact download under the artifact's own name, adding
.zip only when it is not already there, so the name may carry it and the
file still arrives as one archive of loose ROMs. This is what rp6502 does
with its own build artifacts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rumbledethumps
rumbledethumps merged commit 0249e8f into main Sep 22, 2026
1 check passed
@rumbledethumps
rumbledethumps deleted the citest branch September 22, 2026 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant